Message mapping - createIf issue

Hello everybody,
I have a problem with some message mapping.
A entire node (E1EDL24) should only be transferred if a field (MATKL from node E1EDL26) is unequal to a certain value ('KAL'). So I created following message mapping with the createIf function:
Testing the mapping results in a not quite correct behavior. Only the first node is transferred and the following nodes are not (all fields MATKL within the nodes E1EDL26 are unequal 'KAL'). For example, there are two nodes, the first one has the MATKL value 'PON' and the second one has the MATKL value 'HAU'. The first node is transferred, but the second node is not.
Has anyone an idea why the second node will not be transferred? Did I miss some mapping function for processing all nodes?
Best Regards,
Matthäus

Hi,
Can you please provide more details? what do you mean by second node is not transforming.
regards,
Harish

Similar Messages

  • How do the Message mapping below issue

    Hi all.
            I am doing interface is Siebel to SAP Customer Creation and Update. While mapping source side Siebel pass the Customer Account Group are Sold to Party, Goods Recipient, Payer and Bill to Party based on these parameters .My Target side we want like Z001, Z002, Z003 and Z004.
    1) If Source side Customer Account Group is Sold to Party then my target side is Z001.
    2) If Source side Customer Account Group is Goods Recipient then my target side is Z002
    3) If Source side Customer Account Group is Payer then my target side is Z003
    4) If Source side Customer Account Group is Bill to Party then my target side is Z004
    So each time source Siebel send one Customer Account Group based on that we want target side as Z001, Z002, Z003, and Z004. So pls help to me <b>how do this issue on message mapping or user defined function (UTF)</b>
          please help me out .....
    Regards,
    Ramesh

    the best way to do it will be via value mapping
    http://help.sap.com/saphelp_nw04/helpdata/en/13/ba20dd7beb14438bc7b04b5b6ca300/frameset.htm
    in this case in future any change comes only your value mapping table needs to be altered unlike editing your UDF.
    Also ref: https://www.sdn.sap.com/irj/sdn/developerareas/xi?rid=/webcontent/uuid/a680445e-0501-0010-1c94-a8c4a60619f8 [original link is broken]
    to get value mapping on SDN TV.

  • XI Mapping: createif issue

    Hi,
    There is a node called "item" in my source message which is existing twice or more times.
    I need this node to create an new IDoc segment for each existing item.
    In that case: 2 new segments have to created !
    This is solved with the function createif and it´s working fine.
    - - -[target]
    I have to change this with respect to a second node called "head" in the same source message
    is filled then - (for each existing )
    else
    - - -[target] (for each existing item)
    exampel:
    If the  is existing more than 1.
    Any ideas ?

    Hi Gordon
    <b>CreateIF</b>
    <b>check this for details on how to use</b>
    /people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii
    http://help.sap.com/saphelp_nw04/helpdata/en/d9/cea942ad920c31e10000000a1550b0/frameset.htm
    <b>check here how to use createIF function...</b>
    /people/stefan.grube/blog/2006/01/09/the-use-of-suppress-in-the-xi-30-graphical-mapping-tool
    <b>Read this</b> http://help.sap.com/saphelp_nw04/helpdata/en/d9/3033f96c79674f90e3ab8d101a595b/content.htm
    <b>And check these threads</b>
    Createif node function
    Thanks!

  • Message Mapping  - concatenate issue

    Dear all,
    I am making a message mapping with two structures:
    Source:                
    UF
    CNF
    I am creating a target message that will have a initial tag (  at the end of line if I don´t have this field ?
    Thanks,
    Regards,
    Fernando

    Hi,
    <i>How can I concatenate the fields to only one line without lost the tag control?</i>
    You could use the 'constant' function(from the available list of functions in the mapping editor) to generate the tags.
    <item><cUF>43</cUF><cNF>137530928</cNF></item>.
    1st function concatenate:
    1st input: <item> field
    2nd input: const <cUF>
    2nd function concatenate:
    1st input: output of '1st function concatenate'
    2nd input: substring(0,2)
    3rd function concatenate:
    1st input: output of '2nd function concatenate'
    2nd input: const </cUF>
    4th function concatenate:
    1st input: output of '3rd function concatenate'
    2nd input: const <cNF>
    5th function concatenate:
    1st input: output of '4th function concatenate'
    2nd input: substring(2,10)
    6th function concatenate:
    1st input: output of '5th function concatenate'
    2nd input: const </cNF>
    7th functon concatenate:
    1st input: output of '6th function concatenate'
    2nd input:constant </item>
    Hope this helps.
    Regards,
    Smitha.
    Message was edited by:
            Smitha Rao

  • Graphical Message Mapping - context issue

    Hi experts,
    This is the source structure I have http://www.flickr.com/photos/45449397@N03/4273866518/
    Now, for the target segment, I need to do the following:
    For every block of EAN, I need to check the CHECK fields.
    So for EAN 1111, I see 4 X's. But I need to check the distinct values.
    So, 1 x for CHECK_1, 1 x for CHECK_2 and 1 X for CHECK_5.
    As soon as there is an X, I need to create a target. Even if there are several X values in the same column, I only need it once.
    --> target will be 3 different segment groups.
    For EAN 2222, I only need 1 target segment group.
    Please advice.
    Thanks a lot!
    Dimitri

    I was about to write this that you will face this blank issue.
    You have to remove those blank vaues. We have to choices to do that either we modify the current UDF or we write one more very samll advanced UDF of type "queue".
    If we go for option 2 then the new UDF2 code will be like this..
    while creating the udf just select the type as queue (you will see 3 options: single value, context & queue)
    I guess the default argument will be "var1", if yes you can leave it as it is and the just copy and paset the code.
    for (int i = 0; i < var1.length; i++ )
    if (! var1<i>.equals(""))
    result.addValue( var1<i> );
    Now the mapping will be something like this..
    Source --> old UDF--->RemoveContext--->new UDF --->Target.
    But if you like to go for option 1 then first change the type of UDF to Queue and then in the code modify the "return" statement e.g.
    if (RegTH.equals('X'))
    result.addValue( ExpTH );
    else if (RegHI.equals('X'))
    result.addValue( ExpHI );
    else if (RegLO.equals('X'))
    result.addValue( ExpLO );
    else if (RegPE.equals('X' ))
    result.addValue( ExpPE );
    else if (RegLOW.equals('X'))
    result.addValue( ExpLOW );
    result.addValue( ResultList.SUPPRESS );
    Note: for option 1 you have to set context of source value to their heighest level, so that there shouldn't be a context change. Or you can use RemoveContext.

  • PI Message Map - useOneAsMany issue with more than 10 lines.

    I am having an issue using 'useOnAsMany' .  I am using this to map lines of text from an idoc, specifically the SHPMNT04 idoc.  When there are more than 10 lines of text (i.g. 10 occurances of E1TXTP8) the sytem drops everything after the 10th line.  When I check the context of the fields it appears all occurances are being mapped however when I execute the map it drops the text after the 10 line.  Is this a bug?  Has anyone seen this and know of an answer?
    I am using 'useOneAsMany' with E1TXTH8-TDID as the first argument and E1TXTP8-TDLINE as the second and third arguments.  I am simply moving all the text when TDID = Z001.

    Hi Busse,
    Can you check the occurence of the target field to which you are mapping? If it is 0..10 then you will only 10 lines in outupt, else it should get populated.
    Regards,
    ---Satish

  • Another message mapping complex issue  part 2

    Hi All.
    In addtion to my previous question , thers has been another requirement.
    I have to map one field on the condition of another field
    the new source can be like this
    <Header>
    <seg24>
    <matpos>10</matpos>
    <seg12>
    <matdesc>red</matdesc>
    <length>100</length>
    </seg12>
    <seg12>
    <matdesc>green</matdesc>
    <length>200</length>
    </seg12>
    <seg12>
    <matdesc>black</matdesc>
    <length>300</length>
    </seg12>
    </seg24>
    <seg24>
    <matpos>20</matpos>
    <seg12>
    <matdesc>green</matdesc>
    <length>200</length>
    </seg12>
    <seg12>
    <matdesc>black</matdesc>
    <length>300</length>
    </seg12>
    </seg24>
    <seg24>
    <matpos>30</matpos>
    <seg12>
    <matdesc>red</matdesc>
    <length>500</length>
    </seg12>
    <seg12>
    <matdesc>green</matdesc>
    <length>800</length>
    </seg12>
    <seg12>
    <matdesc>black</matdesc>
    <length>900</length>
    </seg12>
    </seg24>
    <seg24>
    <matpos>80</matpos>
    <seg12>
    <matdesc>red</matdesc>
    <length>400</length>
    </seg12>
    <seg12>
    <matdesc>green</matdesc>
    <length>800</length>
    </seg12>
    <seg12>
    <matdesc>black</matdesc>
    <length>900</length>
    </seg12>
    </seg24>
    <LineItem>
    <Itempos>30</Itempos>
    <Itempos>10</Itempos>
    </LineItem>
    <LineItem>
    <Itempos>20</Itempos>
    <Itempos>80</Itempos>
    <Itempos>90</Itempos>
    </LineItem>
    </Header>
    seg12 is a sub segment of seg 24
    the target can be like this
    <Target>
    <field1></field1>
    <field2></field2>
    <targetitempos></targetitempos>
    <targetlength></targetlength>
    </Target>
    I have to create one <Target> node for each LineItem, in this case 2 <Target> node and map the first found <Itempos> to targetitempos
    I have only to map the <lenght> to <targetlength>.if the <matdesc> is red.
    for this I have to compare the Itempos and matpos.
    first map <LineItem> -
    > <Target>
    then
    <Itempos>  -
    > split value  targetitempos
    so far so good but my problem is when mapping the <length>
    if <matdesc> is red
    and
    if Itempos (sort ascending )eq matpos
    then
    <length> -
    > <targetlength>.
    the result I am getting is 2 <Target> node
    <Target>
    <targetitempos>30</targetitempos>
    <targetlength>500</targetlength>
    </Target>
    which is correct
    but the second one is getting the targetlength from another <matpos> and putting it into the <Target> node with the <targetitempos> 20 , which is the first position of <Target> node 2
    <Target>
    <targetitempos>20</targetitempos>
    <targetlength>400</targetlength>
    </Target>
    now <matpos>20 in seg 24 does nor have any lenght neither any seg12 but it is taking it from  another <matpos>
    I have really tried with many options without help
    Please suggest and many thaks.

    Hi Samer,
    This is due to you haven't check the condition for matdesc = "red" & if it "red" doesn't exists map blank.
    for below iteration where matpos = 20 but there is no matdesc with 'Red'.
    </seg24>
    <seg24>
    <matpos>20</matpos>
    <seg12>
    <matdesc>green</matdesc>
    <length>200</length>
    </seg12>
    <seg12>
    <matdesc>black</matdesc>
    <length>300</length>
    </seg12>
    </seg24>
    Thanks,
    Jyoti

  • Another message mapping complex issue

    Hi All.
    I have to map one field on the condition of another field
    the source can be like this
    <Header>
    <seg24>
    <matpos>10</matpos>
    <seg12>
    <matdesc>red</matdesc>
    <length>100</length>
    </seg12>
    <seg12>
    <matdesc>green</matdesc>
    <length>200</length>
    </seg12>
    <seg12>
    <matdesc>black</matdesc>
    <length>300</length>
    </seg12>
    </seg24>
    <seg24>
    <matpos>20</matpos>
    <seg12>
    <matdesc>red</matdesc>
    <length>100</length>
    </seg12>
    <seg12>
    <matdesc>green</matdesc>
    <length>200</length>
    </seg12>
    <seg12>
    <matdesc>black</matdesc>
    <length>300</length>
    </seg12>
    </seg24>
    <seg24>
    <matpos>30</matpos>
    <seg12>
    <matdesc>red</matdesc>
    <length>500</length>
    </seg12>
    <seg12>
    <matdesc>green</matdesc>
    <length>800</length>
    </seg12>
    <seg12>
    <matdesc>black</matdesc>
    <length>900</length>
    </seg12>
    </seg24>
    <LineItem>
    <Itempos>30</Itempos>
    </LineItem>
    <LineItem>
    <Itempos>10</Itempos>
    </LineItem>
    <LineItem>
    <Itempos>20</Itempos>
    </LineItem>
    </Header>
    seg12 is a sub segment of seg 24
    the target can be like this
    <Target>
    <field1></field1>
    <field2></field2>
    <targetlength></targetlength>
    </Target>
    I have only to map the <lenght> to <targetlength>.if the <matdesc>  is  red.
    for this I have to compare the Itempos and matpos.
    if <matdesc> is red -
    if  Itempos eq matpos -
    <length> -
    > <targetlength>.
    the problem is in <material> node  the <matpos> is in the right sequence (10,20,30) but in <Itempos> it in the opposite order(30,10,20).
    I can not get the the comparison to return true because it is compares 1 --- 1 and comparing (10 to 30) and (20 to 10) .......... will fail and hence the field red is never mapped.
    is there any way I can compare the 2 positions that at some point it will get the comparison to work.
    Thanks in advance

    Hello,
    the problem is in <material> node the <matpos> is in the right sequence (10,20,30) but in <Itempos> it in the opposite order(30,10,20).
    I can not get the the comparison to return true because it is compares 1 --- 1 and comparing (10 to 30) and (20 to 10)
    You can use this mapping to reorder the values in itempos
    Itempos -> removeContext -> sort:ascending -> splitByValue:eachValue -> your comparison logic here
    Hope this helps,
    Mark

  • Problem in message mapping index.

    HI All,
    I am doing idoc to file scenario.
    I have a problem in message mapping.
    Issue is,
    pallet1
      palletheader(here i used counter to increment the value)
      palletline(here i used INDEX to increment the value)
            pallet linenumber1(it should be 1)
            pallet linenumber2(it should be 2)
    so on       )
    so on
    pallet2
      palletheader
      palletline
            pallet linenumber1(here again it should be 1)
            pallet linenumber2(here again it should be 2)
    so on              )
    so on
    In INDEX we have option called reset index in that we have two radio buttons
    one is "reset index to intial value with each new context"
    and next one is "donot reset index to intiak value"
    if i use the first radio button which is working fine in only one pallet and more pallet lines but not more than one pallet.
    If i use the second radio buttton which is working fine in more than one pallet but not satisfying the more pallet lines in one pallet.
    Can you please help me on the issue

    my requirement is like this.
    IF DELVRY05/IDOC/E1EDL20/E1EDL24/POSNR equals to /DELVRY05/IDOC/E1EDL20/E1EDL37/E1EDL44/EXIDV
    then map to 'pallet line' .
    I tried to keep posnr context as E1EDL20 and also IDOC level.
    And at the same way to EXIDV too.
    pallet(1 to unbounded)
       pallet header(1 to 1)
       pallet lines(1 to 1)
            in sub level  pallet line(1 to unbounded) (here i applied the index logic)
    The out put should be pallet line 1,2,3,----- so on
    In the second pallet the pallet lines should be again 1,2,3,4-------so on .
    But when i try to apply thsi logic,
    I am getting only one pallet line instead of two.
    second is not comming .
    please help on this i am facing this problem for the long time back.
    if i solve then i can complete my scenario.

  • Message Mapping Issue with data without namespace

    Hi,
    I have a common xsd imported which has its own target namespace into my SWC namespace. Based on this xsd I have generated a Message Interface and webservice and given the wsdl to third party system for invoking my webservice.
    The problem is I have done the message mapping based on xsd which has namespace but whereas the third party system which is consuming my webservice is sending the xml data without any namespace and because of which my mapping is failing (target structure is not getting generated as expected). I have tested the mapping with namespace and without namespace from IR already. I have explained this below with example.
    I cannot change the xsd as it is a common and even cannot ask the end system to change the data format they are sending as they are sending the same data to some other systems also, which are not complaining.
    How to resolve this issue in XI?
    Actual xml data generated from my imported xsd (with namespace)
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:Root xmlns:ns0="http://employee/types">
       <ns0:EmployeeDetails>
          <ns0:EmployeeId>12</ns0:EmployeeId>
            <ns0:EmployeeName>XYZ</ns0:EmployeeName>
    </ns0:EmployeeDetails>
    </ns0:Root>
    Actual Data coming from third party system (without namespace)
    <?xml version="1.0" encoding="UTF-8"?>
    <Root>
       <EmployeeDetails>
          <EmployeeId>12</EmployeeId>
            <EmployeeName>XYZ</EmployeeName>
    </EmployeeDetails>
    </Root>
    Thanks
    Amit

    Just  wild guess:)
    I am not 100% sure but i guess XSLT mapping does not checks the incoming payload against the sender message type.Within XSLT mapping you can add/remove namespace as you would like,use this XSLT mapping before your actual message mapping in interface mapping.
    I am saying this coz recently i was able to generate XSLT mapping(in altova Map Transform) without even specifying any sender or receiver Message type and it worked just fine.
    Thanx
    Aamir

  • PI 7.1 Operation mapping - Multiple message mapping - one to many issue

    Dear Experts,
    I am facing this issue in PI 7.1 and I beleive i did similar one in PI 7.0 successfully.
    I have an operation mapping with two message mappings.
    The occurence of source message of operation mapping is 1
    The occurence of target message of operation mapping is 0..unbounded
    Corresponding i configured two message mappings
    For message mapping-1
    Source message occurence = 1  and Target message occurence = 1
    For message mapping-2
    Source message occurence = 1  and Target message occurence = 0...unbounded
    When i test message mappings individually they are working good. But when i test it in operation mapping, the operation mapping is not working..as it is not able to convert single occurence output of message mapping -1 to the second message mapping-2.
    Any suggestions?
    Thanks.

    The message that i get when testing in operation mapping:
    Runtime Exception when executing application mapping program com/sap/xi/tf/_MM_MessageMapping_1_; Details: com.sap.aii.mappingtool.tf7.IllegalInstanceException; Cannot create target element /ns0:MT_MessageMapping_1_TargetMessageType/RECORDSET. Values missing in queue context. Target XSD requires a value for this element, but the target-field mapping does not create one. Check whether the XML instance is valid for the source XSD, and whether the target-field mapping fulfils the requirement of the target XSD
    My question is, has somebody mapped similar scenario in your environment? If yes, can you please provide details.
    Operation mapping :  1 to 0..unbounded
    Message Mapping1: 1 to 1
    Message Mapping2: 1 to 0...unbounded

  • Issue with IDOC occurence and SeeBurger message mapping

    Hey Guys
    While developing a EDI 850 to IDOC scenario i came across this issue with pre-delivered Seeburger mapping(A_850_V4010_to_I_ORDERS05).
    I actually need to post multiple IDOC's to SAP system in the same message so i changed the IDOC occurence to unbounded and re-imported that as a .XSD file in Integration repository.
    Earlier the pre-delivered message mappings provided by SeeBurger(under SEEBURGER_HIGH-TECH, 1.7.1 of seeburger) was working fine for me since i was posting only 1 IDOC but now the mapping is failing as the IDOC occurence has changed(unbounded).
    Is there a way we can do some settings on SeeBurger server or Bic so that we can use the pre-delivered mapping for Multiple IDOC's as well?
    I just want to make sure before i start off with doing whole of the mapping manually.
    Thanx
    Aamir

    Thanx for the input guys
    @Deepthi.
    Doing whole of mapping manualy is definitely the last option but i m looking for ways to re-use the pre-delivered SeeBurger mapping.
    >>Seeburger Mapping is only just to convert XML to EDI and EDI to XML.
    Bic mapping designer does this,i m dealing with message mapping of XI(convert source to target) not Bic designer right now,and Bic does more than just XML to EDI and vice versa,it handles other industry standards too.
    @Jens
    >>The XI message mappings from Seeburger in the Industry solutions are mapping templates
    Yeah,but the mapping template i have deals with 850 to ORDERS05,when i change IDOC occurence and re-import it back in Integration repository,it doesn't stays as ORDERS05,it has to be changed to user defined message interface(in my case MI_ORDERS05) so i m unable to use 850 to ORDERS05 template.
    @Seshagiri
    >>Open the Seeburger SWCV From the IR--goto External Def---Select the right one and copy it and paste it in notepad.
    Changing the occurence is not an issue,i want to re-use the pre-delivered mapping in Integration repository,which is not working.
    Looks like i need to do it manually
    Thanx
    Aamir

  • Message Mapping Issue in PI 7.1

    Hi Experts
    I am working on a Message mapping,  and I have the following structures on the Sender and receiver side
    -->InterfaceHeader
    -->DocumentHeader  (1-Unbounded)
    -->DocumentLineItems (1-Unbounded)
    -->InterfaceTrailer -1
    Same structure on the sender and Receiver, I am sending the data as follows
    -->InterfaceHeader
    -->DocumentHeader1
    -->DocumentlineItems1
    -->DocumentHeader2
    -->DocumentlineItems2
    -->InterfaceTrailer -1
    after mapping I am getting the following results
    -->InterfaceHeader
    -->DocumentHeader1
    -->DocumentHeader2
    -->DocumentlineItems1
    -->DocumentlineItems2
    -->InterfaceTrailer -1
    i.e Header 1 and 2 are coming same and then details are coming, I need the result xml the same way which I have sent.
    find the example payload below, please let me know how can I get the structures in the same order of the sender payload.
    results should be
    -->InterfaceHeader
    -->DocumentHeader1
    -->DocumentlineItems1
    -->DocumentHeader2
    -->DocumentlineItems2
    -->InterfaceTrailer -1
    Thanks
    PR

    Check this blog...you have solution for this
    /people/shabarish.vijayakumar/blog/2010/01/14/file-conversion-using-nodeception

  • Issue with message mapping.

    HI All,
    I am working on a JDBC-XI-RFC scenario.
    I have two data types, two message types and two message interfaces.
    now, i have created the message mapping and mapped the fields of both sender and reciever message types.
    To test with sample data now, if i press the "test" tab, in the right side, i can see the "Instance" with the sender message type and its fields.
    Later i entered the values to test the sample.
    Affter this move, i am not able to see anything in the right side of the screen (RESULT)...
    What might be the reason for this....???
    Please help me......
    Regards
    Pavan

    Hi Pavan,
    Start Transformation button is used to execute the object. Its on the left hand bottom of the scrren, near to Trace Level you will find a button named "Start Transformation". Click on this and you will get the output once the transformation is complete.
    There is some problem in the Sender message mapping named: sender_mm | http://jdbcrfcns
    Please check where is the problem.
    Regards,
    Subhasha

  • SQL to BAPI  Message Mapping Issue

    This is my datatype for source, which refered by resultset
    <?xml version="1.0" encoding="UTF-8"?>
    <mt_PhysCountInfo>
       <row>
          <PROCESSED/>
          <TRANS_ID/>
          <TRANS_RFC/>
          <SAPABX_STATUS/>
          <SIGN/>
          <OPTION1/>
          <LOW/>
          <HIGH/>
       </row>
    </mt_PhysCountInfo>
    When  JBDC Sender Adapter polls SQL Database, SQL select statement is written in such way that its picks data from 5 tables among them datatypes in 4 tables is same(SIGN, OPTION1, LOW, HIGH) with different values....which in turn will be mapped to 4 corresponding tables in BAPI.
    Here is my souce once JDBC adapter picks from SQL tables:
    <?xml version="1.0" encoding="utf-8"?>
    <mt_PhysCountInfo>
         <row>
              <PROCESSED>N</PROCESSED>
                    <TRANS_ID>1847201</TRANS_ID>
                    <TRANS_RFC>BAPI_MATPHYSINV_GETITEMS () <b>plant_ra, stge_loc_ra, count_status_ra, phys_inv_no_ra</b>, items, headers, return</TRANS_RFC>
                    <SAPABX_STATUS>x</SAPABX_STATUS>
                    <SIGN><b>I</b></SIGN>
                    <OPTION1><b>EQ</b></OPTION1>
                    <LOW> </LOW>
                    <HIGH></HIGH>
                    <SAPABX_STATUS>x</SAPABX_STATUS>
                    <SIGN><b>I</b></SIGN>
                    <OPTION1><b>BT</b></OPTION1>
                    <LOW></LOW>
                    <HIGH><b>ZZZZZZZZZZZZZZZZ</b></HIGH>
                    <SAPABX_STATUS>x</SAPABX_STATUS>
                    <SIGN><b>I</b></SIGN>
                    <OPTION1><b>EQ</b></OPTION1>
                    <LOW><b>WOIL</b></LOW>
                    <HIGH></HIGH>
                    <SAPABX_STATUS>x</SAPABX_STATUS>
                    <SIGN><b>I</b></SIGN>
                    <OPTION1><b>BT</b></OPTION1>
                    <LOW>    </LOW>
                    <HIGH><b>ZZZZ</b></HIGH>
         </row>
    </mt_PhysCountInfo>
    This is how my target stucture looks like now. But I am not getting right mapping here. If you see values for SIGN, OPTION1, LOW and HIGH they all are same for all tables...means its mapping first set values from source to all tables in target.
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:BAPI_MATPHYSINV_GETITEMS xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
       <b><COUNT_STATUS_RA></b>
          <item>
             <SIGN><b>I</b></SIGN>
             <OPTION><b>EQ</b></OPTION>
             <LOW> </LOW>
             <HIGH/>
          </item>
       <b></COUNT_STATUS_RA></b>
       <HEADERS/>
       <ITEMS/>
       <b><PHYS_INV_NO_RA></b>    
          <item> 
             <SIGN><b>I</b></SIGN>
             <OPTION><b>EQ</b></OPTION>
             <LOW> </LOW>
             <HIGH/>
          </item>
       <b></PHYS_INV_NO_RA></b>  
       <b><PLANT_RA></b>
          <item>
             <SIGN><b>I</b></SIGN>
             <OPTION><b>EQ</b></OPTION>
             <LOW> </LOW>
             <HIGH/>
          </item>
       <b></PLANT_RA></b>
       <RETURN/>
       <b><STGE_LOC_RA></b>
          <item>
             <SIGN><b>I</b></SIGN>
             <OPTION><b>EQ</b></OPTION>
             <LOW> </LOW>
             <HIGH/>
          </item>
       <b></STGE_LOC_RA></b>
    </ns0:BAPI_MATPHYSINV_GETITEMS>
    But target should look like this after mapping:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:BAPI_MATPHYSINV_GETITEMS xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
       <b><COUNT_STATUS_RA></b>     
           <item>
             <SIGN><b>I</b></SIGN>
             <OPTION><b>EQ</b></OPTION>
             <LOW> <b>WOIL</b></LOW>
             <HIGH/>
          </item>
       <b></COUNT_STATUS_RA></b>
       <HEADERS/>
       <ITEMS/>
       <b><PHYS_INV_NO_RA></b>
          <item>
             <SIGN><b>I</b></SIGN>
             <OPTION><b>BT</b></OPTION>
             <LOW> </LOW>
             <HIGH><b>ZZZZ</b></HIGH>
          </item>
       <b></PHYS_INV_NO_RA></b>
       <b><PLANT_RA></b>
          <item>
             <SIGN><b>I</b></SIGN>
             <OPTION><b>EQ</b></OPTION>
             <LOW> </LOW>
             <HIGH/>
          </item>
       <b></PLANT_RA></b>
       <RETURN/>
       <b><STGE_LOC_RA></b>
          <item>
             <SIGN><b>I</b></SIGN>
             <OPTION><b>BT</b></OPTION>
             <LOW> </LOW>
             <HIGH><b>ZZZZZZZZZZZZZZZZ</b></HIGH>
          </item>
       <b></STGE_LOC_RA></b>
    </ns0:BAPI_MATPHYSINV_GETITEMS>
    Can I achieve this by using Message Mapping??? or If I have to do with XSLT or JAVA can anybody provide me code.
    Thank You
    Indrasena

    Hi,
    >>>Can I achieve this by using Message Mapping???
    it depends:)
    do you always get 4 values (one for each target table?)
    if so then you create a few user advanced functions
    that will return values in direct order:
    first function:
    result.addValue(a[0]);
    sencond one:
    result.addValue(a[1]);
    and so on
    then you can use those functions
    to map values to different tables
    if you have more then you can do some if conditions
    in the user advanced function
    Regards,
    michal

Maybe you are looking for

  • Package system does not exist, need help here.. my 2nd program...

    public class UserArgument{ public static void main(String[] args){ System.out.print("Hi, "); Sysmtem.out.print(args[0]); System.out.println(". How are you"); 1 error found: File: C:\introcs\HI\UserArgument.java [line: 4] Error: package Sysmtem does n

  • Extracting clob/blob/long datatypes in delimited file

    I have a few tables in database that have clob/blob/long datatypes. I need to unload this data into delimited file and reload the data into another database. I don't want to use export/import. Currently the code that i have can handle varchar2, numbe

  • Documents stack

    The documents stack opens from the dock with the folders in alphabetical order. Is there any way to alter this so that the folders can be grouped in a custom order, to match the way I have them in Finder? I can see there is a choice of name, date add

  • Why is 2.0.1 so bad.. Isnt this tested before release...

    How can it be so bad for such a minor release. It now takes much longer to do simple tasks.. seems that switching apps is slower. Backing up is taking significantly longer also...

  • Mountain Lion Mail freezing?

    Anyone having this trouble? Archives on Mail freezing goes back to 2005. Has it resurfaced? This annoying thing just started tonight, when I was trying to attach a small eps file, or just now, simply clicking on Reply to a message. Anyone else dealin