XML message mapping issue!!

Hi ipbuff,
Many Thanks for your very quick reply. I have tried the way what explain, but not working . I am attaching both the structures, please guys throw your valuable openions and technical ways how to resolve this. I have 5 segments in Header, more than Lin item repeats more than 50 times. How do I map DTM Segment, <DTM_Y2K_DATE>20100531</DTM_Y2K_DATE> value for all target side node <ProductActivityNotification>ProductActitvity>Item>SalesTimeSeries>Item>Validate-->StartDate field.
This filed generates the same amount of lIn item generates.
Please your quick response.
I will really appreciate your quick and positive response.
http://img837.imageshack.us/img837/7786/mappinghelp.jpg
Many Thanks
Kind Regars
San

Hi Sandhya,
I have 5 segments in Header, more than Lin item repeats more than 50 times. How do I map DTM Segment, <DTM_Y2K_DATE>20100531</DTM_Y2K_DATE> value for all target side node <ProductActivityNotification>ProductActitvity>Item>SalesTimeSeries>Item>Validate-->StartDate field
Upto my understanding, u want to map <DTM_Y2K_DATE>20100531</DTM_Y2K_DATE> to StartDate(as above mentioned path).
Since u have 50 occurences for <DTM_Y2K_DATE>20100531</DTM_Y2K_DATE> parent node, but in target its not..... am i rt?
If yes..
Map from <DTM_Y2K_DATE>20100531</DTM_Y2K_DATE> to StartDate, and u also add a node function collapse contexts.
Collapse context will give the very first value in every context.
<DTM_Y2K_DATE>20100531</DTM_Y2K_DATE> > Collapse Context>StartDate.
I think this should solve ur problem.
If still not let us know...
Babu

Similar Messages

  • XML message mapping considering idoc message variant

    Dear Experts,
    I am very new to PI. I am working on a scenario where I need to map VGON_OUT xml message from SNC system to ORDRSP.ORDERS05 inbound idoc of ECC 6.0 system.
    The issue is :
    In the inbound partner profile in ECC there are two ordersp message types. one with message variant SMI and another without any message variant.
    Both of them are using different process codes for processing.
    So my question is how to map the VGON_out xml message in PI?
    Please note: the key difference is the idoc message variant.
    There is no way to merge both of these message types as their function is serving two different purposes.
    I have attached the xml file and the screenshot of the partner profile here.
    Any suggestion or reference link or document would be deeply appreciated.
    Thanks in advance.
    Praty

    Hi Pratyusa,
    Did you try with different partner profiles for each ORDRSP?
    Regards,
    Krupa

  • 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

  • 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

  • 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

  • Message mapping issue in idoc to jdbc scenario

    We have a scenario of  idoc->XI-JDBC
    the below given segment may get repeated , as shown below ,
    E1EDP19[2]--idoc segment
       QUALF---003
       IDTNR---01000123(Bar Code No)
    E1EDP19[3]--idoc segment
       QUALF---003
       IDTNR---20500000000034(EAN No)
    Reqd mapping
    if QUALF=003
    THEN IDTNR----->Bar_code_Number_EAN
    Now IDTNR has to be mapped with Bar_code_Number_EAN for the segment which comes last
    Pl suggest how to map using graphical mapping for the above scenario.

    Hi Raj ,
    The current mapping works fine if the parent segment E1EDP01 is only one but if that gets repeated then the last value of IDTNR is getting populated in the target side, very clearly i m giving the source and target structure and the mapping done using the UDF
    Source structure
    E1EDP01
           E1EDP19[1]--idoc segment
                  QUALF---002
                  IDTNR---01000123(Bar Code No)
           E1EDP19[2]--idoc segment
                  QUALF---003
                  IDTNR---01000123(Bar Code No)
           E1EDP19[3]--idoc segment
               QUALF---003
               IDTNR---20500000000030(EAN No)
    E1EDP01
         E1EDP19[1]--idoc segment
                    QUALF---002
                    IDTNR---01000123(Bar Code No)
         E1EDP19[2]--idoc segment
                   QUALF---003
                   IDTNR---01000123(Bar Code No)
          E1EDP19[3]--idoc segment
                 QUALF---003
                 IDTNR---20500000000031(EAN No)
    E1EDP01
           E1EDP19[1]--idoc segment
                   QUALF---002
                    IDTNR---01000123(Bar Code No)
          E1EDP19[2]--idoc segment
                  QUALF---003
                  IDTNR---01000123(Bar Code No)
         E1EDP19[3]--idoc segment
              QUALF---003
              IDTNR---20500000000032(EAN No)
    Target mapping
    if QUALF=002
    THEN IDTNR--->Article_No this is the direct mapping so , no issues
    if  QUALF=003
    THEN IDTNR----->Bar_code_Number_EAN, now this IDTNR should get repeated every time  the segment  E1EDP01 gets repeated , currently only the last value form all the  IDTNR is coming to the target side.
    The current mapping works fine if the parent segment E1EDP01 is only one
    Target structure
    Access1
    IDTNR--> Bar_code_Number_EAN( value is 20500000000030)
    Access2
    IDTNR--> Bar_code_Number_EAN( value is 20500000000031)
    Access3
    IDTNR--> Bar_code_Number_EAN( value is 20500000000032)
    Current mapping
    If QUALF = 003
                    Then  QUALF ---->
                                                     mapBarCodeEAN---->Bar_code_Num_EAN
    If QUALF = 003
                    Then  IDTNR ---->
    Context of QUALF is set to E1EDP01
    Context of IDTNR is set to  E1EDP01
    thanks for your personalised help
    rgds
    mojib
    Edited by: mohammad mojib ur rahman on Apr 9, 2010 1:30 PM

  • Message mapping issue

    Hi guys,
    I am facing an issue in mapping.
    it is IDOC to File scenario.
    this is wat i have to perform.
    (MARM-UMREN / MARM-UMREZ) for PC               x                    (MARM-UMREZ / MARM-UMREN) for CAS.
    here PC and CAS both taken from MARM-MARM..which i got from my IDOC.
    How can i get make 2 values for MARM_meinh(PC and CAS).only 1 value comes in idoc.
    please provide me some logic for this.
    Thanks in advance.
    Sahil

    Hi,
    You can use advanced user defined function.
    Give input as Header element.
    add all the elements within header in the result set.
    put splitByvalue at the output of user defined funstion and map it to  sub..
    i assume that sub is unbounded.
    This should work. check this out.
    reply if it works
    thanks and regards
    P.Venkat

  • XI message mapping issue

    Hi,
    I have HTML -> XI -> RFC scenario and I have a problem with maping ...
    HTML outbound interface looks like:
    s_element_1
    s_element_2
    s_element_3
       s_element_3_1
       s_element_3_2
          s_element_3_2_1
          s_element_3_2_2
          s_element_3_2_3
    RFC inbound interface is as follows
    d_element_1
    d_element_2
    d_element_3
    d_element_4
    d_element_5
    d_element_6
    I have following mapping:
    s_element_1        -> d_element_1
    s_element_2        -> d_element_2
    s_element_3_1    -> d_element_3
    s_element_3_2_1 -> d_element_4
    s_element_3_2_2 -> d_element_5
    s_element_3_2_3 -> d_element_6
    mapping of s_element_1, s_element_2 to d_element_1, d_element_2 works correctly. Mapping of other elements does not work ... I have direct mapping without any functions.
    Has anybody an idea, why not?
    Thank you.

    Ask your basis to increase the trace level.
    Go to transaction sxmb_adm.
    Integration engine configuration --> specific configuration
    Category - Runtime
    Parameter - Trace_level
    Parameter TRACE_LEVEL
    Meaning
    The parameter TRACE_LEVEL enables you to locally set the trace level for all pipelines in an Integration Engine.
    However, the diagnostic header of a message can specify the trace level at which it is to be processed. Runtime then uses the higher of the local trace level and the message trace level.
    Usage
    You set this parameter when you want to analyze message processing as it enables you to document either individual steps or all steps in a pipeline.
    Possible Values
    0 Trace deactivated
    1 Document important processing steps
    2 Document important processing steps and details
    3 Document all processing steps and details
    Thanks,
    Beena.

  • Node Function help required in XML message mapping !!

    Hi Brilliants,
    Source Message
        <ROOT>               0..1   
          <OUTPUT>          0..n
             <Group_N1>           0..n     <Header>
                <H02_N1_DTM>                           0..1
          DTM_Y2K_DATE     0..1
             <Group_LIN>          0..n                <Lin Item>
         <Group_ZA>          0..n
              <D02_ZA>     0..n
          </OUTPUT>
    </ROOT>
    The above Source <OUTPUT> tag comes 2 times. In this two time, Header comes once per header and more than 50 times Lin item occurs.
    Target Message
    ProductActivityNotification                                                            0..n
         ProductActivity                                                       1..1
              Item                                                       1..unbound  (Lin Item level on target side)
                 SalesTimeSeries                  0..1
                          Item                                           1..unbound
                        ValidityPeriod              1..1
                        StartDate              0..1
                        EndDate              0..1
    The above source message Lin item, whatever the times it replicates, the same number of times u201CItemu201D tag has to occur and DTM_Y2K_DATE value has to pass to StartDate.
    Could anybody please put your valuable idea on this? I suppose to deliver this interface tomorrow.
    I will highly appreciate your intellectual ability.
    Many Thanks in Advance
    Kind Regards
    San

    HI San,
    Based on your this post, i think u want like this way...
    How many times from source  DTM_Y2K_DATE  or <LinItem>(because DTM_Y2K_DATE   in LinItem ) occurs that many of <Item> in target is required rt??
    Then u map like,
    DTM_Y2K_DATE  (Change context to LineItem(right clich and choose context)) and map  to LineItem of target.
    and also now map directly from DTM_Y2K_DATE  to Start Date(Dont change any context now..)
    If still nt clear do post..
    Babu

  • Message Mapping Issue on header level

    HI all,
    I am doing File to IDOC scenario where I am having issue wiht mapping :
    Flat File
    Row -0Unbound
    FieldA1..1
    FieldB1..1
    IDOC
    --Segment
    ---Field1
    ---Field2
    Segment1
    Field11
    FieldA is Order number.. IDOCs will generate up on order numbers change... FieldB is discount... If Discount is avaliable in any of the order number then I need to Pass YES orelse NO... Segment is a header segment where I need to pass whether discount is YES or NO... Suppose there are 5 rows of same order with discount in 4 row then I need to pass YES if discount doesnt avaliable in all 5 rows then NO..
    Row
    --FieldA<123>
    --FieldB<>
    </Row>
    Row
    --FieldA<123>
    --FieldB<>
    </Row>
    Row
    --FieldA<123>
    --FieldB<10>
    </Row>
    Row
    --FieldA<222>
    --FieldB<>
    </Row>
    Row
    --FieldA<222>
    --FieldB<>
    </Row>
    IDOC
    --Segment
    ---Field1<123>
    ---Field2<YES>
    Segment1
    Field11
    </IDOC>
    IDOC
    --Segment
    ---Field1<222>
    ---Field2<NO>
    Segment1
    Field11
    </IDOC>
    Any inputs how to get value on header level? I tried but I am able to get only first value..not drilling down to each value depending on order number?
    Thanks
    Rajeev.

    Hi Prakasu,
    Its working but there is one issue: 
    If one fo the discount value is 99.00 then I need to pass NO.. How can I achieve this? I used the UDF but it is taking only the highest value which is 99.00 but even if it is 99.00 I need to pass NO..
    Suppose if first row discount is 99.00 and second row its 2,00 then I need to pass YES as it has 2,00 in the second row..
    Row
    --FieldA<123>
    --FieldB
    </Row>
    Row
    --FieldA<123>
    --FieldB<99>
    </Row>
    Row
    --FieldA<123>
    --FieldB<>
    </Row>
    Row
    --FieldA<222>
    --FieldB<8>
    </Row>
    Row
    --FieldA<222>
    --FieldB
    </Row>
    IDOC
    --Segment
    ---Field1<123>
    ---Field2<NO>
    Segment1
    Field11
    </IDOC>
    IDOC
    --Segment
    ---Field1<222>
    ---Field2<YES>
    Segment1
    Field11
    </IDOC>
    First row value is 99 and Null it has to give NO as if discount has 99 then it should pass NO.. in the second order first row is 8 and second row is null.. it should give YES but it is giving NO becuase if is taking only the last value in the Context change..
    Any inputs how to achieve this?
    Thanks
    Rajeev.
    Edited by: rajeev raj on Nov 23, 2009 2:52 PM

  • XML Gateway  Mapping Issue

    Hi All,
    My map has following structure
    -<envelope> -- root element and also level
    -<gdsnItemRegistryResponse> --Level
    -<docException> --Level
    -<docAcknowledgement> --Level
    <docException> and <docAcknowledgement> are siblings
    I dont have any dtd's associated with map
    In payload <docException> and <docAcknowledgement> can be occur in any order
    When I push the payload with following order same as defined in XMG map
    -<docException>
    -<docAcknowledgement>
    its working fine
    but when I push the payload with different order
    -<docAcknowledgement>
    -<docException>
    PL/SQL procedure calling on INPROCESS action on <docAcknowledgement> is
    working fine,
    but
    PL/SQL procedure calling on INPROCESS action on <docException> is being
    performed, but XML Gateway is not passing values to the parameters of that
    procedure.
    When I verified the parameter values in log, all are null
    I am calling same procedure on both tags
    How to overcome above problem ?
    How to enforce that two tags can be in any order without dtd?
    Thanks
    -Praveen

    Just I am confirming my map structure
    -<envelope> -- root element and also level
    ----<gdsnItemRegistryResponse> --Level
    -------<docException> --Level
    -------<docAcknowledgement> --Level                                                                                                                                                                                                                                                                                                                                                                                                   

  • Message Mapping Doubt

    Hi Experts,
    Im stuck up with a message mapping issue. Need your advice if I can handle this in message mapping or should I changed the FCC.
    FILE to RFC scenario.
    Input file sample.
    1|OPENED|153-01-19|T001|005151|0237|20100705|17:35:55|001     |20100705
    101|A005152|1|20100705|11:46:38|001     ||||001||1|N|SALE
    111|WCAKE004|1.000|42.00|42.00||G||0.00|LIQUOR|||N|42.00|0.00|$|0.00|WCAKE004
    111|WCAKE004|-1.000|42.00|42.00||G||0.00|LIQUOR|||N|-42.00|0.00|$|0.00|WCAKE004
    111|WCAKE005|1.000|38.00|38.00||G||0.00|LIQUOR|||N|38.00|0.00|$|0.00|WCAKE005
    121|38.00|0.00|0.00|0.00|0.00|I|N||0.00|0.00
    131|T|CASH|S$|1.0000000|38.00||||38.00
    141|G|0.00
    1|CLOSED|153-01-19|T001|005162|0237|20100705|17:35:55|001     |20100705
    After the FCC the message comes into XI in the format (Source message) .
    GMRSTORES
    --CODE1
    1
    OPENED etc..
    --CODE101
    101
    A005152
    1 etc..
    --CODE111
    111 etc..
    --CODE111
    111 etc..
    --CODE111
    --121
    --131
    --141
    --1
    The problem is on the target side when I try to map the Code111 (line item) to the targert RFC it comes only once or all the Code111 nodes comes under the same "ITEM_LI" The target RFC structure is like.
    --/POSDW/CREATE_TRANSACTIONS_EXT
    IT_TRANSACTION
    ITEM
    RetailLIne Item
    ITEM_LI (here is the problem I expect 3 ITEM_LI nodes for each CODE111)
    Pls advice.
    Thanks
    Prasanna

    The problem is on the target side when I try to map the Code111 (line item) to the targert RFC it comes only once or all the
    Code111 nodes comes under the same "ITEM_LI"
    here is the problem I expect 3 ITEM_LI nodes for each CODE111
    1) Ensure that you have raised the Context of the source node (CODE111) to a higher node.
    2) Is your mapping logic proper..... is the ITEM_LI node or its parent node mapped properly so that when the CODE111 repeats, the target is also able to repeat?
    3) did you check the max occurence of ITEM_LI node.....it should be more than 1
    Regards,
    Abhishek.

  • Message Mapping: Douplicate Nodes of source XML

    Hi,
    I do some message mapping in the design. I've loaded a test XML into the test tab to actually see what's going on in my mapping. A piece of it looks like the following snippet (the REFERENCE element is also embedded in a whole bunch of other elements and yes, its correct, that AUTHOR and YEAR elements appear nested in themselves):
    <REFERENCE>
      <set>
        <AUTHOR>
          <AUTHOR>Test Author 1</AUTHOR>
        </AUTHOR>
        <YEAR>
          <YEAR>2000</YEAR>
        </YEAR>
      </set>
      <set>
        <AUTHOR>
          <AUTHOR>Test Author 2</AUTHOR>
        </AUTHOR>
        <YEAR>
          <YEAR>2001</YEAR>
        </YEAR>
      </set>
    </REFERENCE>
    I've placed the lowest AUTHOR element in the design pane, I right click it, set the context to "AUTHOR" (the surrounding AUTHOR element obviously), an then click on "Show queue" I get all AUTHOR elements double. I.e. I get "Test Author 1" twice and "Test Author 2" twice.
    Ok, I thought probably something I don't understand concerning contexts, so I added "removeContexts" after the AUTHOR node. Surprise: I get "Test Author 1" once and "Test Author 2" twice when I click on "Show queue" on "removeContexts".
    As this behaviour is getting worse, the more mapping steps I arrange in a chain, the mapping becomes quite useless, until I can resolve this issue...
    Anybody an idea, why my "Test Authors" get listed twice and why "removeContexts" doesn't work as expected?
    Tnx,
    Martin.

    You will see the value in queue twice for AUTHOR because the first one in white is the actual value and the second one in gray is the context change. Similarly when you do remove context and see the queue, you will see TestAuthor1 Test Author2 and again TestAuthor2 which is the context.
    Regards,
    Ravi

  • 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

Maybe you are looking for