Message Mapping Suppress

Hi Experts,
I'm struggling with following task:
IDoc structure to IDoc structure (source and target are the same)
DELLVRY05      1
-IDOC          1
-E1EDL20     1-unbounded
-E1EDL24     0-unbounded
       |-POSNR     0-1
       |-CHARG     0-1
       |-E1EDL410-2
E1EDL24 should NOT appear if CHARG or E1EDL41 do not exist!
Thx,
Udo

Do the mapping as
POSNR --->removeContext--> exists \        E1EDL24-----> then
                                  --------> AND ---> IF without Else --> E1EDL24
CHARG---> removeContext--->exists  / 
exists: Use this function to determine whether a particular source field exists in the XML instance to be processed. If it does, exists() returns the value true, otherwise it returns the value false.
Edited by: Kubra fatima on Sep 24, 2009 10:26 AM

Similar Messages

  • Message Mapping(Display queue and Suppress Value)

    Hi Experts,
    In Message Mapping(graphical mapping), upon checking the properties of the nodes,there's one property display queue, in which suppress is there??
    What does it mean?? Which queue it points and what value is suppressed??
    Thanks & Regards,
    Sushama

    Hi Sushama,
    SUPPRESS means no value.
    suppose we are checking one condition (tdid = "RE" then pass tdline) based on the condition we will send one output. if the condition fails then suppress value goes to the target.
    > What does it mean?? Which queue it points and what value is suppressed??
    es:  if(tdid.equals("WE") ifwithoutelse pass tdline value as output.    [tdid is in E1EDKA1 segment and this segment occurance is multiple]
    In this case if the condition is satisfied once and failed once (means E1EDKT1 segment comes 2 times) then first time it sends the corresponding tdline value and second time it sends the SUPPRESS value.
    Regards
    Ramesh

  • Regarding Message Mapping in JDBC Scenario

    Hello Experts,
            I got struct up in message mapping. In message mapping we can able to see different types of Functions. So I need some clarifications on it. Functions are available like...
    Conversions
    Boolean
    Node Functions
    Constants
    Date
    Text
    Static
    Arithmetic
    So please explain in simple for each functions.
    Points will be rewarded.
    Thank you

    Hi
    *Boolean*:-
    And -- checks for 2condition, return a true value if both condition are satisfied
    Or --checks for 2condition, return a true value if one condition is true.
    Not - checks if the condition is not equal to.
    Equals - Check whether 2 Boolean values are equal
    NotEquals
    If u2013 Returns second value if the first argument is true. otherwise returns third argument
    If WithoutElse u2013 Returns value of second argument, if first argument is true.
    Node Functions:-
    createIf - Produces empty value if argument is true; Resultlist.SUPPRESS otherwise
    removeContexts u2013 Produces plain stream of values with No context changes
    replaceValue u2013 replaces value of source field to value specified in Function Properties.
    Exists u2013 Returns true, if Node exists otherwise false
    SplitByValue u2013 inserts context changes after event specified
    collapseContexts u2013 Produces one empty string value out of each arguments context. All arguments are in one context
    useOneAsMany u2013 Use First Argument as IS on same level as third argument. second argument defines when next value of first argument is used
    sort u2013 sorts values in each context
    sortByKey u2013 Sorts values in second queue by keys from first queue
    mapwithDefault u2013 Inserts default values specified in the function properties into empty contexts
    formatByExample u2013 Takes values from the first queue and inserts them in the structure of second queue.
    Constants:-
    Constant u2013 Generates constant value
    CopyValue u2013 Takes specified value in argument stream and copies it an infinite number of times
    Sender u2013 Sender System
    Receiver u2013 Receiver System
    Date:-
    CurrentDate u2013 Return current date in specified format
    DateTrans u2013 Transforms date from input format to output format
    Dateafter u2013 Returns True if first date is after second otherwise false
    DAteBefore - Returns True if first date is before second otherwise false
    CompareDates u2013 Compares two dates
    Text:-
    Substring u2013 Returns substring depending upon the given parameters
    Concat u2013 concatenates 2 strings inserting delimiter string parameter between them
    Equals u2013 Check whether Strings are equal
    indexOf2 u2013 returns the index where the second string is found for the first time in the first string
    indexOf3 u2013 As with indexOf with 2 parameters, But starting search at the specified position
    lastindexOf2 u2013 Returns the index where the second string is found for the last time in the first string
    lastIndexOf3 u2013 As with lastIndexOf with 2 parameters starting search at the specified position
    compare u2013 compares 2 strings lexicographically
    replaceString u2013 Replaces each occurrence of pattern(2nd argument ) of source string(1st arg). By third string
    length u2013 returns length of string
    endsWith u2013 Tests whether string ends with specified suffix
    startsWith2 u2013 Tests whether string starts with specified prefix
    startsWith3 u2013 Tests whether string starts with specified prefix beginning at specified location
    toUpperCase u2013 Converts all characters in string to upper case
    trim u2013 Removes white space from both ends of string
    toLowerCase u2013 Converts all characters in String to Lower case
    Statistic:-
    sum u2013 calculates sum of all numbers in each context
    average u2013 calculates the average of all numbers in each context
    count u2013 Counts number of values in each context
    Index u2013 For each incoming value, this Function returns the index number of the incoming value in the context, String from the initial index and increasing by the increment defined in the parameters.
    Arithmetic:-
    Add u2013 add two values
    Subtract u2013 subtracts second value from the first value
    equalsA u2013 Returns true; If float numbers represented by argument strings are equal otherwise returns false
    abs u2013 returns Absolute value of argument
    sqrt u2013 Returns square root of the number
    sqr u2013 Returns square of the number
    sign u2013 Returns -1 if number is negative, +1 if positive, 0 if 0
    neg u2013 Multiplies number to -1
    1/x u2013 calculates 1/x
    Power u2013 Returns value of the first argument to the power of the second argument
    Less u2013 Returns true if the first number is less than the second number otherwise false
    Greater - Returns true if the first number is greater than the second number otherwise false
    Multiply u2013 Multiplies 2 values
    Divide u2013 Divides first value by the second value
    Max u2013 Returns maximum of 2 numbers
    Min u2013 Returns Minimum of the 2 numbers
    Ceil u2013 Returns the smallest (closest to the negative infinity) initial value that is not less than the argument and it is equal to the mathematical integer.
    Floor - Returns the largest (closest to the negative infinity) initial value that is not Greater than the argument and it is equal to the mathematical integer.
    Round u2013 Returns closest initial value to the argument
    Counter u2013 Counts number of invocations. Initial value and increment defined by Parameters.
    FormatNum u2013 Formats Number with given pattern.
    Conversions:-
    FixValues u2013 Creates a Local Table to perform a value Mapping
    ValueMapping u2013 Define jump to Value Mapping table of Integration Directory.
    Message Mapping(Node Function) Part-1
    Message Mapping Simplified - Part I
    Sravaya Talanki- Message Mapping(Node Function) Part-2
    /people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii
    Standard Functions
    http://help.sap.com/saphelp_nw04/helpdata/en/43/c4cdfc334824478090739c04c4a249/frameset.htm
    Advanced mapping function(mapwithdefault,formatbyexample,sort,sortbykey)
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9202d890-0201-0010-1588-adb5e89a6638
    Hope this is useful
    Saiyog
    Edited by: Saiyog Gonsalves on Jul 11, 2008 1:14 PM

  • Runtime Exception in Message mapping

    Hi Experts,
    I have a scenario of  IDoc to  <third party adapter> cXML.
    The message caught the below error
    RuntimeException in Message-Mapping transformation : Runtime exception during processing target field mapping ......./ShipTo[2]/Address/PostalAddress/DeliverTo (suppressed field). The message is: Exception:[java.lang.ArrayIndexOutOfBoundsException: 7] in class com.sap.xi.tf._M_IDOC_to_cXML_ method getShipToContact$[, , com.sap.aii.mappingtool.tf3.rt.Q2QFunctionWrapper@253fdd8a]
    Please suggest on what went wrong, as everything is working fine before.
    Thanks in advance.
    MK

    Mk:
    Please check if the source fields which are mapped to the target are all generated by the SAP Script and make sure that they have data so that when they are mapped to the target. If they are mapped and source fields don't have data then it may error out. Sometimes SAP Script might not generate a node if there is not data for it, make sure you handle that condition also.
    RuntimeException in Message-Mapping transformation is
    due to the missing TEXT_LINE element in the segment Z1VOBTH for the TEXT_ID 'INVOICE_TO_LOCATION'
    I am not able to understand this. is Text_ID subelement of Text_Line?? Could you please post the complete error message as it is.

  • Message Mapping vs Interface Mapping test tabs giving different results.

    Hi all,
    I am developing an interface that always requires an output file to be created (even if there is no data).  I have found a way to change my select statement in the JDBC sender to initiate the message even if there isn't any data (using UNION select -1 ID, '' col1, '' col2, etc.) and that seems to work fine.  I then put logic in the message mapping to suppress the row that contains the -1 ID value, which would result in an empty file when there is no other data, and should result in a file containing only the correct data when there is data.
    So, my problem: I am always getting empty files with this logic.  I tested the logic in the message mapping test tab and it worked perfectly, however when I test it using the interface mapping test tab it results in what becomes an empty file!
    My source and destination structures are fairly simple:
    Root
    --row
    ID
    col1
    col2
    The logic I use to suppress the ID = -1 row is:
    =removeContexts([]ifWithoutElse([keepss=true]Not([]equalsS([]ID, Constant([value=-1]))), SplitByValue([type=Each value]row)))
    Obviously, I'm stumped - any help would be appreciated!
    Edited by: Mike Morrison on Sep 23, 2010 5:04 PM

    Hi Mike,
    Can you quote the error log..u r getting error in message mappin or interface mapping?
    Please suggest the test results for both the mappings.
    Thanks,
    Sushama

  • Problem in Graphical message mapping

    Hi all,
                I am doing an HR file to file interface.I am struck in message mapping.Actually my source message type contain four structures i.e infotype00 ;infotype01;infotype02;infotype05;every infotype has one PERNNO,BEGDA&ENDDA along with other fields.in target i have to extact employee recors from these 4infotypes.Target structre is :EMPLOYEE
                                     fields...
    Now I had to generate as many employee as many unique PERNNO i.e if all four infotype has same PERNN then it is considered detail of one employee if any infotype has diff.PERNNO then we have to create one more employee record for that infotype.I used a custom functionUNIQUE and get all unique infotype then on the basis i was creating employee.i.e if 3 unique PERNNO then 3 employee record has to be created.It was working fine,But one new requirement came that I have to compare BEGDA of all infotype and if any infotype has BEGDA more than current date then for that PERNNO i dont have to create Employee records.i.e suppose for PERNNO 8 infotype0 has BEGDA more than current date then i dont have to create employeerecord for PERNO 8.This new requirement i am unable to implement.please guide me how to proceed further i.e after getting the unique PERNO.Please do the needful as its very urgent.
    regards,
    Saurabh

    Hey saurabh,
           once you are able to obtain unique PERNNO,
        you need to use two date functions.
    CurrentDate: It will return the system date(todays date).
    CompareDate: It will take as input two values(as dates) and gives output based on their values.
    output of comparedate funtion will be:
    -1 if second value is greater than 1st value.
    0 if second value is equal to the first.
    1 if second value is less than the first value.
    what you can do is take currentdate function as first input for comparedate.
    BEGDA as second input for comparedate.
    if the value is -1(i.e BEGDA is greater than current date SUPPRESS the node or else create the node)
    make sure the format of current date and BEGDA are same.

  • Conversion condition problem in message mapping

    Dear Friends,
    I am sending the ORDERDS02 Idoc from one ECC to another ECC using PI7.0.
    In receiver system my condittion is:
    1) IF E1EDK01-BSART = DVBFand E1EDKA1-PAORG = MF20  then E1EDKA1 PARTN = 50057 & A59991
    2) IF E1EDK01-BSART = DNBFand E1EDKA1-PAORG = MG20 then E1EDKA1 PARTN = 50055 & A59990
    In first condtion I am receiving the result as per the requirement(50057 &  A59991)
    but in second condition I am getting only 50055 , I am not getting A59990 .
    I am checking the Queues in message mapping it is showing 50055 & A59990, but it is updating  only 50055.
    In queues it is showing like:
    sender:                target:
    50055                 50055
    A59990              SUPPRESS
    Please suugest me any thing I  have to do in message mapping.

    Hi,
    Can you tell me how it has been mapped now.  Since you are using header segment, it should contain only one value. So, I would not suspect that it might not be an issue with context.

  • How to handle the source text length exceed more than target text length size in Message mapping  PI 7.31

    I have a File to IDOC Message Mapping Scenario:
    Source Field                         Targefield
    Communiication Address-(Email ID)                                    E1EDK2 - TDLINE
    Source Field length: 1/80                                                                               target Field length: Char\70
    Mapping Condition:
    Note: TDFORMAT =  ‘=’ (Long Line), may need to create 2 TDLINE fields depending on length of text
    So give the Solution for handling text Length exceed than target field lenght Using TDLNE and TDFORMAT......
    Guide me  and give Suggestions to achive this.

    Hi ,
    Below is the generic sol for your problem .Graphical mappings wont workout for your problem while using sub string .
    Input -->Input string
    Length -->length of TDLINE
    MESSAGE_V1,V2,V3,V4....depends on how many TDLINES you expect .Here I have taken 4 .
    public void SplitbyLength(String[] Input, String[] Length, ResultList MESSAGE_V1, ResultList MESSAGE_V2, ResultList MESSAGE_V3, ResultList MESSAGE_V4, Container container) throws StreamTransformationException{
    int lengthVal = Integer.parseInt(Length[0]);
    int InpLenVal ;
    for(int i=0;i<Input.length;i++)
    InpLenVal  =Input[i].length() ;
    if (InpLenVal<=lengthVal)
    MESSAGE_V1.addValue(Input[i].substring(0));
    MESSAGE_V2.addValue(ResultList.SUPPRESS);  
    MESSAGE_V3.addValue(ResultList.SUPPRESS);  
    MESSAGE_V4.addValue(ResultList.SUPPRESS);  
    else if ((InpLenVal>lengthVal) && (InpLenVal <= (lengthVal*2)))
    MESSAGE_V1.addValue(Input[i].substring(0,lengthVal));
    MESSAGE_V2.addValue(Input[i].substring(lengthVal,InpLenVal));
    MESSAGE_V3.addValue(ResultList.SUPPRESS);  
    MESSAGE_V4.addValue(ResultList.SUPPRESS);  
    else if ((InpLenVal>(lengthVal*2)) && (InpLenVal <= (lengthVal*3)))
    MESSAGE_V1.addValue(Input[i].substring(0,lengthVal));
    MESSAGE_V2.addValue(Input[i].substring(lengthVal,(lengthVal*2)));
    MESSAGE_V3.addValue(Input[i].substring((lengthVal*2),InpLenVal));
    MESSAGE_V4.addValue(ResultList.SUPPRESS);  
    else if (Input[i].length()>(lengthVal*3)  && (InpLenVal <= (lengthVal*4)))
    MESSAGE_V1.addValue(Input[i].substring(0,lengthVal));
    MESSAGE_V2.addValue(Input[i].substring(lengthVal,(lengthVal*2)));
    MESSAGE_V3.addValue(Input[i].substring((lengthVal*2),(lengthVal*3)));
    MESSAGE_V4.addValue(Input[i].substring((lengthVal*3),InpLenVal));
    else if (Input[i].length()>(lengthVal*4) )
    MESSAGE_V1.addValue(Input[i].substring(0,lengthVal));
    MESSAGE_V2.addValue(Input[i].substring(lengthVal,(lengthVal*2)));
    MESSAGE_V3.addValue(Input[i].substring((lengthVal*2),(lengthVal*3)));
    MESSAGE_V4.addValue(Input[i].substring((lengthVal*3),(lengthVal*4)));
    Regards
    Venkat

  • Message Mapping Error : "already dropped from buffer"

    Hi,
    today we have a new strange error in a simple message mapping File2IDoc thats results in SYSFAIL.
    Maybe a buffer or memory error?
    In short:
    +/ARTMAS05/IDOC/E1BPE1MARART[2]/DELN_DATE(suppressed field); root message: Index 2147483647 is already dropped from buffer. Cur offset is 2147483636+
    In detail:
    #2.#2010 08 18 10:49:51:619#+0200#Error#/Applications/ExchangeInfrastructure#
    #BC-XI#com.sap.xi.util.misc#0026557C6A4004B6000000000000120D#229073650000000872#sap.com/com.sap.xi.services#com.sap.aii.ib.server.mapping.execution.JavaMapping#J2EE_GUEST#0#SAP J2EE Engine JTA Transaction : #0A1BAF81AA0111DF82D40026557C6A40#0a1baf81aa0111df82d40026557c6a40#0a1baf81aa0111df82d40026557c6a40#0#output#Java##
    RuntimeException during appliction Java mapping com/sap/xi/tf/_xxxxx_Out_To_ARTMAS_ARTMAS05_A1_
    Thrown:
    com.sap.aii.mappingtool.tf7.MessageMappingException: Runtime exception when processing target-field mapping /ARTMAS05/IDOC/E1BPE1MARART[2]/DELN_DATE(suppressed field); root message: Index 2147483647 is already dropped from buffer. Cur offset is 2147483636
    #2.#2010 08 18 10:52:45:149#+0200#Error#/Applications/ExchangeInfrastructure#
    #BC-XI#com.sap.xi.util.misc#0026557C6A4004BA000000000000120D#229073650000000872#sap.com/com.sap.xi.services#com.sap.aii.ib.server.mapping.execution.JavaMapping#J2EE_GUEST#0#SAP J2EE Engine JTA Transaction : #0A1BAF81AA0111DF82D40026557C6A40#0a1baf81aa0111df82d40026557c6a40#0a1baf81aa0111df82d40026557c6a40#0#output#Java##
    RuntimeException during appliction Java mapping com/sap/xi/tf/_xxxxx_Out_To_ARTMAS_ARTMAS05_A1_
    Thrown:
    com.sap.aii.mappingtool.tf7.MessageMappingException: Runtime exception when processing target-field mapping /ARTMAS05/IDOC/E1BPE1MARART[2]/DELN_DATE(suppressed field); root message: Index 2147483647 is already dropped from buffer. Cur offset is 2147483636
    Thanks in advance,
    André

    Hi André, did you try to re-create de Message Mapping with the same source/target structures?
    Regards,
    Juan.

  • BPM Message Mapping: "Cannot produce target element /ns1:BAPI...."

    Hi,
    A scenario File - BPM - BAPI call was developed, as described in blog 'RFC scenario using BPM' cfr. link
    /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
    The Mapping is as follows:
    MT_EDB_MATERIAL_REQ (1:1) --> BAPI_MATERIAL_EXISTENCE_CHECK (1:1)
    MATNR (1:1) -
    > MATERIAL (1:1)
    When executing the scenario, an error appears in the trace of SXMB_MONI, step 'Request Message Mapping'
    Cannot produce target element /ns1:BAPI_MATERIAL_EXISTENCECHECK. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd....
    I tried the following:
    1) import the XML-file into the testmapping: executed successfully
    File:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_EDB_MATERIAL_REQ xmlns:ns0="http://agfa.com/SD_EDB">
    <MATNR>15P6X</MATNR>
    </ns0:MT_EDB_MATERIAL_REQ>
    2) Removed the mapping on node level and left mapping only on element level (material): same error
    3) Activated the message mapping, interface mapping, determinations, etc again...:same error
    4) Removed the Interface Mapping and created it again: same error
    5) Compared the version ID of the Interface Mapping/message mapping in the Monitor trace with the version ID of the IR and saw that there was a difference.
    After the CPA full cache, SXI_CACHE full refresh and object refresh in the IB Administration, the differences remain, and also the error....
    Anybody an idea ?

    Hi
    >>>Cannot produce target element /ns1:BAPI_MATERIAL_EXISTENCECHECK. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd....
    The error clearly says that one of the occurrence value  for the target node mentioned is not coming from the source during mapping. The easiest way to solve the problem is as follows
    <b>
    First Execute the mapping as pointed out by "Raj" and the following steps.
    </b>
    1. Goto the Mapping Editor
    2. Double click on the target node that is causing the problem here BAPI_MATERIAL_EXISTENCECHECK.
    3.  Right click on the same node and select "DisplayQueue".
    4. View the Queue.
    5. YOu will find "Suppress" entries, which means a value is expected but no value is coming in.
    6.Go from right to left and check each node in the mapping and you will be able to trace where the suppress node comes from and take appropriate action
    regards
    krishna

  • DeletionIndicatior in Message Mapping

    Hi Experts,
    I have an requirement like i need to suppress the field and its value in the output structure. the file i need to drop at the output is an xml file.
    the requirement is to drop a file with variable substitution method with
    input file looks like this:
    Field0 -- 000001
    Field1 -- Sai
    Field2 -- Krishna
    Field3 -- AppleSystems
    Field4 -- Bangalore
    all are one to one mapping, in the output fille i require
    Field1 -- Sai
    Field2 -- Krishna
    Field3 -- AppleSystems
    Field4 -- Bangalore
    Field0 is used for variable substitution for generating the file dynamically, so how could i suppress this field.
    I can go with dynamic file naming but i am using multimapping here so i cannot use dynamic configuration i should go ahead with varibale substitution..
    Second Clarification :
    In the data type decleration we have Deletable Option check box across the field decleration
    when we check it, In the message mapping we can see the DeletionIndicator,
    May i know the purpose of this option
    Your inputs are really appreciated..
    Thanks,
    --Sai
    Edited by: sai krishna on Oct 28, 2010 5:14 PM

    BABU,
    In your message mapping correct the UDF code.
    There is a problem in your textarea and you have missed to place semi colon ";".
    Regards,
    Sarvesh

  • How to use Variable in message mapping

    Hi Experts,
    I have some problem using variable in message mapping.
    In one message mapping, since a block of logic is repeated for several fields, then i tried to use a variable instead.
    the repeated logic is: first if condition, then use a udf to form a queue which will be suppressed by its father node.
    i tried to assign the result queue to a variable after the UDF execution. (this variable is created after the father node)
    I am wondering is there any restriction of using variable?
    Can we assign the whole queue to a variable?
    Can we use UDF during the process of assigning value to variable?
    thanks in advance.

    I dont think you can assign a queue to a variable,I am not 100% sure, . and there is no restriction to useing a Zvariable, only u can use it after you declare at some parent level.
    Yes you can use a UDF in the process of assigning to a Zvariable.
    Check out this link and read the comments of the blog.
    SAP PI 7.1 Mapping Enhancements Series: Using Graphical Variable
    /people/william.li/blog/2008/02/13/sap-pi-71-mapping-enhancements-series-using-graphical-variable
    Edited by: Saiyog Gonsalves on Nov 6, 2010 6:40 PM

  • Display queue for Target field in Message Mapping

    Hi Folks,
    If i check my Target Field (DT_Req) (Display queue) in Message Mapping, I am getting 2 values like ie [] that means ....in my test result in MM, i should get 2 times DT_Req field.
    Is it right?
    Plz give some idea how this display queue works on each field?
    Thanks
    Prabaharan
    Edited by: Prabaharan on Sep 10, 2008 12:22 AM
    Edited by: Prabaharan on Sep 10, 2008 12:24 AM

    Hi,
    In my scenario occurrence of that
    target field is    0...unbounded
    and in my display queue.. Initially it is
    suppress, [], suppress, suppress, suppress,suppress,suppress,suppress,suppress,suppress, [],suppress
    in my result i could get only one DT_req field.
    Plz throw some idea on this?
    thanks

  • File to IDOC Senario (Message Mapping)

    Hi Experts,
    I am a fresher.
    This is "  File to IDOC Senario  ".
    I have Doubt on  this: ( In Message Mapping)
    Source field : MSG
    Length : 1/264
    Taget field : E1EDKT2 - TDLINE
    Legth : CHAR/70
    Mapping Condition :
    Note: TDFORMAT =  ‘=’ (Long Line), until next line of MSG. When new line occurs in MSG, then use TDFORMAT = ‘/’
    How to Make the Mapping for this?
    Anyone Can help me to get it Quickly.
    give your Suggestions and Show some Example Mappings......

    Hi ,
    Below is the generic sol for your problem .Graphical mappings wont workout for your problem while using sub string .
    Input -->Input string
    Length -->length of TDLINE
    MESSAGE_V1,V2,V3,V4....depends on how many TDLINES you expect .Here I have taken 4 .
    public void SplitbyLength(String[] Input, String[] Length, ResultList MESSAGE_V1, ResultList MESSAGE_V2, ResultList MESSAGE_V3, ResultList MESSAGE_V4, Container container) throws StreamTransformationException{
    int lengthVal = Integer.parseInt(Length[0]);
    int InpLenVal ;
    for(int i=0;i<Input.length;i++)
    InpLenVal  =Input[i].length() ;
    if (InpLenVal<=lengthVal)
    MESSAGE_V1.addValue(Input[i].substring(0));
    MESSAGE_V2.addValue(ResultList.SUPPRESS); 
    MESSAGE_V3.addValue(ResultList.SUPPRESS); 
    MESSAGE_V4.addValue(ResultList.SUPPRESS); 
    else if ((InpLenVal>lengthVal) && (InpLenVal <= (lengthVal*2)))
    MESSAGE_V1.addValue(Input[i].substring(0,lengthVal));
    MESSAGE_V2.addValue(Input[i].substring(lengthVal,InpLenVal));
    MESSAGE_V3.addValue(ResultList.SUPPRESS); 
    MESSAGE_V4.addValue(ResultList.SUPPRESS); 
    else if ((InpLenVal>(lengthVal*2)) && (InpLenVal <= (lengthVal*3)))
    MESSAGE_V1.addValue(Input[i].substring(0,lengthVal));
    MESSAGE_V2.addValue(Input[i].substring(lengthVal,(lengthVal*2)));
    MESSAGE_V3.addValue(Input[i].substring((lengthVal*2),InpLenVal));
    MESSAGE_V4.addValue(ResultList.SUPPRESS); 
    else if (Input[i].length()>(lengthVal*3)  && (InpLenVal <= (lengthVal*4)))
    MESSAGE_V1.addValue(Input[i].substring(0,lengthVal));
    MESSAGE_V2.addValue(Input[i].substring(lengthVal,(lengthVal*2)));
    MESSAGE_V3.addValue(Input[i].substring((lengthVal*2),(lengthVal*3)));
    MESSAGE_V4.addValue(Input[i].substring((lengthVal*3),InpLenVal));
    else if (Input[i].length()>(lengthVal*4) )
    MESSAGE_V1.addValue(Input[i].substring(0,lengthVal));
    MESSAGE_V2.addValue(Input[i].substring(lengthVal,(lengthVal*2)));
    MESSAGE_V3.addValue(Input[i].substring((lengthVal*2),(lengthVal*3)));
    MESSAGE_V4.addValue(Input[i].substring((lengthVal*3),(lengthVal*4)));
    Regards
    Venkat

  • Message Mapping - Dump

    I got the following dump, when I executed the Message Mapping. Eventhough I have fixed the problem, I am not quite sure to read the dump, i.e by reading the dump I was not sure which FIELD has caused the Dump. could some one help me , how I can read a Dump and Pin point the Field that has caused the error.  Thanks Friends.
    Dump
    Messages:
        Exception:[java.lang.IllegalArgumentException: Cannot cast sUpPresSeD to float. ] in class com.sap.aii.mappingtool.flib3.Stat method sum[com.sap.aii.mappingtool.flib3.Plainer@2c2f6468]
        com.sap.aii.utilxi.misc.api.BaseRuntimeException: Exception:[java.lang.IllegalArgumentException: Cannot cast sUpPresSeD to float. ] in class com.sap.aii.mappingtool.flib3.Stat method sum[com.sap.aii.mappingtool.flib3.Plainer@2c2f6468]
             at com.sap.aii.mappingtool.tf3.rt.C2CFunctionWrapper.cacheContext(C2CFunctionWrapper.java:95)
             at com.sap.aii.mappingtool.tf3.rt.C2CFunctionWrapper.gotoNextContext(C2CFunctionWrapper.java:45)
             at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java(Compiled Code))
             at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java(Compiled Code))
             at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java(Compiled Code))
             at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java(Compiled Code))
             at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java(Compiled Code))
             at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java(Compiled Code))
             at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:287)
             at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:63)
             at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:232)
             at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:432)
             at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:170)
             at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52)
             at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.execute(MapServiceRemoteObjectImpl0.java:259)
             at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:146)
             at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java(Compiled Code))
             at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java(Inlined Compiled Code))
             at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java(Compiled Code))
             at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java(Compiled Code))
             at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java(Compiled Code))
             at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java(Compiled Code))
             at java.security.AccessController.doPrivileged1(Native Method)
             at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))
             at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java(Compiled Code))
             at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java(Compiled Code))

    Karen,
      I don't think these dumps are going to ever give you your answers directly. It's a good start. All you know from here is that the sum function broke. Where? Which one? Who knows? What I would do is go into SXMB_MONI and copy the data that was sent and broke this mapping. Then I would copy into the Integration Repository Message Mapping. I would click on the test tab in my Message Mapping and put the data in that I copied from SXMB_MONI and execute. I should get the same error. Then I would by process of elimination change the data in each of the mappings that use the sum function until I found the problem. XI tries to give smart messages, but sometimes you have to dig for your answers.
      Hope that gives you at least one method of debugging.
                      - Emmett

Maybe you are looking for

  • Can/how do i use a 2nd ipod with same itunes account? please help

    I dont use itunes/ipod. My husband is in Afghanistan and he would like me to buy him a 2nd ipod perhaps a nano so i can download his music and send that 2nd one to him. I dont know much of this but when i connect the new ipod nano to his itunes, wont

  • How can I avoid Thunderbird timeouts when switching network connections?

    I'm using Thunderbird 24.4.0 but this problem goes back many releases. This problem happens when I switch from an external WiFi network to my company's internal LAN (ethernet). I'm connected to the company's email server via WiFi from home and can ge

  • Itunes 7, compatible w/ windows vista?

    i just bought a new laptop that has Windows Vista as the operating system & i was wondering if itunes 7 was compatible w/ Vista? i looked on the download page & it only said Windows 98, 2000, XP, or better. i don't want to install it & mess up my com

  • Not breaking out of loop

    I've written this piece of code to search through a file until it finds:           BufferedReader in = new BufferedReader (new FileReader(outputFile));           String name = null;           String data = in.readLine();           while (name == null

  • App Store screen

    My screen at the App Store froze yesterday when trying to install the genius section to it. I can use everything else on the iPad, except for now, I can not download any apps because of that frozen screen. Any suggestions or help?