Message mapping Segments concatenations at same level

There are n number of segments repeating at the same level. We need to concatenate the all these fields and map it to the target field description.Right now only one segment text is displaying in the description field at target .

Hi,
you could use a UDF of type context with input param a:
String returnValue = "";
for (int index = 0; index < a.length; index++) {
returnValue += a\[index\];
result.addValue(returnValue);
Regards
Patrick

Similar Messages

  • How to "get" message mapping from XI scenario

    Hi guys!
    Is there a way, how to export message mapping description in some way from PI? In XI 3.0 it was possible, but what about PI 7.0? Hope you understand me:)
    We need it to save this mm description as documentation.
    Thanx a lot!
    Olian

    Hey Oilan,
    with the message mapping open, hold ctrl + shift and right-click in the data-flow editor (the part of the screen where the function boxes and links go).
    a different menu will pop-up. just follow "export tools, export" or something like that. It is pretty straightforward.
    It will save the mapping in a .mte (or something like that) extension file. It is nothing but an XML. Good thing is that you can also import this .mte file in another message mapping (of course, with same source and target messages, or it won't be able to reference the links).
    Regards,
    Henrique.

  • Remove segment in Message Mapping

    Hello,
    I am sending the ORDRSP.ORDERS05 to an external message ORDERS05 which is based on the
    same structure as the ORDERS05.
    However I should not be sending all E1EDP01 segments. If the item belongs to a higher level item, then it should not be sent. If the item belongs to a higher level item then the field E1EDP01-UEPOS exists and has a value. In that case I should not transfer the E1EDP01 segment.
    See example for what I mean. This would be the source message:
    - <E1EDP01 SEGMENT="1">
      <POSEX>000010</POSEX>
      <ACTION>000</ACTION>
      <MENGE>1.000</MENGE>
      <MENEE>PCE</MENEE>
      <PMENE>PCE</PMENE>
    - <E1EDP01 SEGMENT="1">
      <POSEX>000020</POSEX>
      <ACTION>000</ACTION>
      <MENGE>1.000</MENGE>
      <MENEE>PCE</MENEE>
      <PMENE>PCE</PMENE>
      <UEPOS>000010</UEPOS>
    - <E1EDP01 SEGMENT="1">
      <POSEX>000030</POSEX>
      <ACTION>000</ACTION>
      <MENGE>1.000</MENGE>
      <MENEE>PCE</MENEE>
      <PMENE>PCE</PMENE>
      <UEPOS>000010</UEPOS>
    This first item is the header item and does not contain the field UEPOS.
    The next two items belongs to item 000010 and should not be sent.
    In this case only the POSEX 000010 should be sent.
    The target message should then look like this:
    <E1EDP01 SEGMENT="1">
      <POSEX>000010</POSEX>
      <ACTION>000</ACTION>
      <MENGE>1.000</MENGE>
      <MENEE>PCE</MENEE>
      <PMENE>PCE</PMENE>
    I think this should be possible with the standard functions in Message Mapping, and I have been playing around with CREATEIF and EXISTS, but have had no success. Anybody has any idea what to do?
    Regards,
    Per Rune

    Hi Per,
    If I understood correctly ,Do like this and let us know.
    UEPOS---> Exists -----------> 
                                                and------>Not------->  IfWithoutElse --> E1EDP01----->E1EDP01
    UEPOS-> Equals -> POSEX
    Thanks!

  • IDOC Segment not getitng populated during message mapping

    Hi,
    In my scenario when i am testing, I send IDOC to XI and getting following message
    <Trace level="1" type="T">com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ns0:I805_Abstr_CustOutlet_MT/Records/AMA_E1KNA1M_STATUS.
    When I checked th IDOC xsd, it doesn't show the segment  which mapped to above status field.
    Can anyone of you please let me know what it is and how it can be resolved.
    Regards
    Edited by: ria sen on Jun 30, 2008 5:15 AM

    Hi Amit,
    Following is the payload from SXMB_MONI
    <?xml version="1.0" encoding="UTF-8" ?>
    - <_-AMA_-DEBMAS06E11>
    - <IDOC BEGIN="1">
    - <EDI_DC40 SEGMENT="1">
      <TABNAM>EDI_DC40</TABNAM>
      <MANDT>110</MANDT>
      <DOCNUM>0000000000415387</DOCNUM>
      <DOCREL>700</DOCREL>
      <STATUS>30</STATUS>
      <DIRECT>1</DIRECT>
      <OUTMOD>2</OUTMOD>
      <IDOCTYP>DEBMAS06</IDOCTYP>
      <CIMTYP>/AMA/DEBMAS06E11</CIMTYP>
      <MESTYP>/AMA/DEBMAS</MESTYP>
      <STDMES>/AMA/D</STDMES>
      <SNDPOR>SAPDAR</SNDPOR>
      <SNDPRT>LS</SNDPRT>
      <SNDPRN>DARCLNT110</SNDPRN>
      <RCVPOR>DAX_001</RCVPOR>
      <RCVPRT>LS</RCVPRT>
      <RCVPRN>CCABASIS</RCVPRN>
      <CREDAT>20080630</CREDAT>
      <CRETIM>133535</CRETIM>
      <SERIAL>20080627162157</SERIAL>
      </EDI_DC40>
    - <E1KNA1M SEGMENT="1">
      <MSGFN>018</MSGFN>
      <KUNNR>0001231235</KUNNR>
      <BBBNR>0000000</BBBNR>
      <BBSNR>00000</BBSNR>
      <BUBKZ>0</BUBKZ>
      <KTOKD>S</KTOKD>
      <KUKLA>S</KUKLA>
      <LAND1>AU</LAND1>
      <NAME1>Drew Smith again</NAME1>
      <ORT01>Ashfield</ORT01>
      <PSTLZ>2193</PSTLZ>
      <REGIO>NSW</REGIO>
      <SORTL>DREW</SORTL>
      <SPRAS>E</SPRAS>
      <STRAS>29 Hardy Street</STRAS>
      <UMJAH>0000</UMJAH>
      <JMZAH>000000</JMZAH>
      <JMJAH>0000</JMJAH>
      <UMSA1>0</UMSA1>
      <HZUOR>00</HZUOR>
      <SPRAS_ISO>EN</SPRAS_ISO>
    - <_-AMA_-E1KNA1M SEGMENT="1">
      <_-AMA_-REF_KUNNR>200</_-AMA_-REF_KUNNR>
      </_-AMA_-E1KNA1M>
    - <_-SCL_-E1ADRMAS SEGMENT="1">
      <QUALF>ADRMAS02</QUALF>
      <OBJ_TYPE>KNA1</OBJ_TYPE>
      <OBJ_ID>0001231235</OBJ_ID>
      <CONTEXT>0001</CONTEXT>
      <IV_CHECK_ADDRESS>X</IV_CHECK_ADDRESS>
      <IV_TIME_DEPENDENT_COMM_DATA>X</IV_TIME_DEPENDENT_COMM_DATA>
    - <_-SCL_-E1BPAD1VL SEGMENT="1">
      <FROM_DATE>00010101</FROM_DATE>
      <TO_DATE>99991231</TO_DATE>
      <NAME>Drew Smith again</NAME>
      <CITY>Ashfield</CITY>
      <POSTL_COD1>2193</POSTL_COD1>
      <STREET>29 Hardy Street</STREET>
      <COUNTRY>AU</COUNTRY>
      <COUNTRYISO>AU</COUNTRYISO>
      <LANGU>E</LANGU>
      <LANGU_ISO>EN</LANGU_ISO>
      <REGION>NSW</REGION>
      <SORT1>DREW</SORT1>
      <TIME_ZONE>AUSNSW</TIME_ZONE>
    - <_-SCL_-E1BPAD1VL1 SEGMENT="1">
      <LANGU_CR>E</LANGU_CR>
      <LANGUCRISO>EN</LANGUCRISO>
      <ADDR_GROUP>BP</ADDR_GROUP>
      <COUNTRY>AU</COUNTRY>
      <COUNTRYISO>AU</COUNTRYISO>
      <REGION>NSW</REGION>
      <TIME_ZONE>AUSNSW</TIME_ZONE>
      </_-SCL_-E1BPAD1VL1>
      </_-SCL_-E1BPAD1VL>
      </_-SCL_-E1ADRMAS>
      <_-SCL_-DSD_FIELDS SEGMENT="1" />
      <_-SCL_-E1KNA1M SEGMENT="1" />
      <E1KNA11 SEGMENT="1" />
    - <E1KNVVM SEGMENT="1">
      <MSGFN>018</MSGFN>
      <VKORG>AU01</VKORG>
      <VTWEG>Z2</VTWEG>
      <SPART>Z0</SPART>
      <KALKS>1</KALKS>
      <BZIRK>AU4</BZIRK>
      <PLTYP>02</PLTYP>
      <AWAHR>100</AWAHR>
      <ANTLF>9</ANTLF>
      <LPRIO>00</LPRIO>
      <PERFK>AU</PERFK>
      <PERRL>AU</PERRL>
      <WAERS>AUD</WAERS>
      <KTGRD>01</KTGRD>
      <ZTERM>Z060</ZTERM>
      <VWERK>1005</VWERK>
      <VKBUR>A4TT</VKBUR>
      <BOKRE>X</BOKRE>
      <UEBTO>0.0</UEBTO>
      <UNTTO>0.0</UNTTO>
      <PODTG>0</PODTG>
    - <_-SCL_-E1KNVVM SEGMENT="1">
      <_-SCL_-CU_KZREG>000000</_-SCL_-CU_KZREG>
      <_-SCL_-CU_KZPLP>000000</_-SCL_-CU_KZPLP>
      <_-SCL_-CU_FBDWE>0000</_-SCL_-CU_FBDWE>
      <_-SCL_-CU_VBDG1>0000</_-SCL_-CU_VBDG1>
      <_-SCL_-CU_VBDG2>0000</_-SCL_-CU_VBDG2>
      <_-SCL_-CU_VBDG3>0000</_-SCL_-CU_VBDG3>
      <_-SCL_-CU_FEDWE>0000</_-SCL_-CU_FEDWE>
      <_-SCL_-CU_VEDG1>0000</_-SCL_-CU_VEDG1>
      <_-SCL_-CU_VEDG2>0000</_-SCL_-CU_VEDG2>
      <_-SCL_-CU_VEDG3>0000</_-SCL_-CU_VEDG3>
      <_-SCL_-CU_MTPST>0000000000</_-SCL_-CU_MTPST>
      <_-SCL_-CU_MXHUB>0000000000</_-SCL_-CU_MXHUB>
      <_-SCL_-CU_SORTR>0</_-SCL_-CU_SORTR>
      <_-SCL_-PO_ZFHMG>0.000</_-SCL_-PO_ZFHMG>
      <_-SCL_-PO_MXSTH>0</_-SCL_-PO_MXSTH>
      <_-SCL_-PO_TWPLUS>000000</_-SCL_-PO_TWPLUS>
      <_-SCL_-GC_LONGITUD>0.000000000000</_-SCL_-GC_LONGITUD>
      <_-SCL_-GC_LATITUDE>0.000000000000</_-SCL_-GC_LATITUDE>
      <_-SCL_-GC_REFID>0000000000</_-SCL_-GC_REFID>
      </_-SCL_-E1KNVVM>
    - <E1KNVPM SEGMENT="1">
      <MSGFN>009</MSGFN>
      <PARVW>YM</PARVW>
      <KUNN2>0001231235</KUNN2>
      <KNREF>00000038</KNREF>
      <PARZA>0</PARZA>
      </E1KNVPM>
    - <E1KNVPM SEGMENT="1">
      <MSGFN>009</MSGFN>
      <PARVW>RE</PARVW>
      <KUNN2>0001231235</KUNN2>
      <PARZA>0</PARZA>
      </E1KNVPM>
    - <E1KNVPM SEGMENT="1">
      <MSGFN>009</MSGFN>
      <PARVW>RG</PARVW>
      <KUNN2>0001231235</KUNN2>
      <PARZA>0</PARZA>
      </E1KNVPM>
    - <E1KNVPM SEGMENT="1">
      <MSGFN>009</MSGFN>
      <PARVW>WE</PARVW>
      <KUNN2>0001231235</KUNN2>
      <PARZA>0</PARZA>
      </E1KNVPM>
      </E1KNVVM>
      </E1KNA1M>
      </IDOC>
      </_-AMA_-DEBMAS06E11>

  • MM DELFOR IDoc segments are all at same level - no sub-segments.

    Greetings.
    I am trying for the first time to set up outbound releases (830) and JIT's (862) for MM Scheduling Agreements.  I want to make it as standard as possible and only use User Exits if necessary, so I am using Output Types LPH1 and LPJ1.
    In WE20, if I use Message Type DELFOR for LPH1 with Process Code ME14, the resulting IDoc is "flat" - i.e., all the segments are there, but they are all at the same level (0), so SAP stops processing with a syntax error saying that the segments which should be under their parent segments are missing.  I tried both DELFOR01 and DELFOR02 for the Basic Type.
    I discovered that I can us DELINS and make this work, so this is not an emergency.  But can someone tell me how to make DELFOR work?
    Thank you in advance.

    Hello Vikrama, thank you for your response.
    DELFOR is also a Message Type, which allows DELFOR01 and DELFOR02 as choices for the Basic Type in the IDoc Type block of the first Outbound parameter window in WE20.
    The description for DELFOR is "Delivery schedule for component supplier", which seems more appropriate than "Delivery schedule/JIT schedule" which is the description for DELINS.
    I think it would be more clear if you could use DELFOR when all you want is forecast schedules, and both DELFOR and DELJIT if you want both forecasts and JIT's.
    Thanks again,
    Dave

  • Combining occurences of different segments at same level

    Hi All,
    I have two different segments(VOL1 & VOL2) at same level on source side.
    Say first segment repeats two times and second segment repeat three times.
    I need to produce a single queue having combined occurences of  these two segments which has five occurences in a single queue.
    Please provide inputs how to achieve this.
    Thanks,
    Marz

    Hi,
    This is not possible without using UDF. What you can do is to use a mapping like this:
    All UDF's must be of Context type, the simplified version would be:
    VOL1 --> removeContext --> UDF1 --> concat: / --> UDF2 --> Target
    VOL2 --> removeContext --> UDF1 -
    > /
    UDF1 is a UDF that concats all values of VOL1 or VOL2, while UDF2 is a UDF that splits the combined values of VOL1 and VOL2 that has undergone the transformation
    For UDF1, you can use this code: input argument is a
    StringBuffer e = new StringBuffer();
    String b = null;
    for (int i=0;i<a.length;i+){e = e.append("/"a<i>);}
    b = e.toString();
    b = b.substring(1,b.length());
    result.addValue(b);
    For UDF2, you can use this code: input argument is input
    String b[] = input[0].split("/");
    for (int a=0;a<b.length;a++){result.addValue(b[a]);}
    Hope this helps,

  • Message mapping: Passing data at the node level

    Hi,
    I have a question/requirement, XI Message Mapping program need to read the incoming xml and map to a diffrerent target structure. Incoming xml has a parent node called Description and it has a value "Frauen Hemd Shoes", we need to map this value to target LongText Field but message mapping is ignoring this data while mapping.
    A parent node can't hold the value/data while a child node is present. So is there any workaround to read this data to target str?
    <Description>
    <ShortName>Shoes</ShortName>
    Frauen Hemd Shoes
    </Description>
    Expected result:
    <Comments>
    <ShortText>Shoes</ShortText>
    <LongText>Frauen Hemd Shoes</LongText>
    </Comments>
    Please let me any clues to resolve the issue.
    thanks,
    Laxman

    I agree , the soruce structure is not a valid one..
    The source structure should look like the below:
    <Description ShortName='Shoes'>
    Frauen Hemd Shoes
    </Description>
    where ShortName is attribute for the Element "Description".
    You add attribute to the element the same way you add subElement, Just choose attribute instead of subelement.
    In this case the Mapping would be
    Descriprion -
    > LongText (target)
    ShortName -
    > ShortText (target)
    This Should work.
    Regards.
    Jeet.

  • Is it possible to copy segment mapping in message mapping??

    Hii Experts,
    I want to duplicate one segment and I want to copy all the mappings of one segment into the other in message mapping.
    Mapping Templete does not work here.
    Anyone knows any other work around ?? The segment contains hell lot of mapping rules and it is difficult to copy each and every rule.
    Thanks in advance.
    Shri

    Hi shripad
    just try one thing right click on target field which you want to copy and select option copy node ..if it is work then it may.....otherwise i donot think its possible..
    Thanks
    Kunaal

  • Message Mapping for multiple item levels

    Hi,
    My query is regarding message mapping
    Example of source data structure & Target data structure
    Source data Structure
    <item>
          --<no>1</no>
          --<address/>
          --<ITEMS>
            ----<item>
              ------<Name>a</Name>
            ----<item>
              ------<Name>b</Name>
    <item>
          --<no>2</no>
          --<address/>
          --<ITEMS>
            ----<item>
              ------<Name>c</Name>
            ----<item>
              ------<Name>d</Name>
    Expected  Target data structure
    <Item>
      -- <no>1</no>
      -- <name>a</name>
    <Item>
      -- <no>1</no>
      -- <name>b</name>
    <Item>
      -- <no>2</no>
      -- <name>c</name>
    <Item>
      -- <no>2</no>
      -- <name>d</name>
    How I can map the '<no>' field to target '<no>' field to repeat value until to second sub item level occurance complete ?
    Thank you
    Sateesh

    Hi Sateesh,
    Please see the solution below.
    The are 2 contect changes you need to do on field level. Right click and go to context and select your context you need.
    Context on ITEMS - Should be on Root Structure(In my mapping it is MT_Multiple_Item_Level_Source)
    Context on Name - Should be on Item (The first Item Tag)
    Good Luck.
    Regards,
    Jannus Botha

  • Message Mapping - same structure

    I have the Source and Target Structures are the SAME XML format.
    Should I need a Message Mapping?
    Should I need an Interface Mapping?
    Please help me.
    Thanks.

    Bhavesh, to be precise the Source and Target Structures are cXML(We are doing this for a testing purpose). The cXML has been imported into the External Definitions.
    >> Rohini, if your idea is just to sent the same file to the target system, i guess your solution is the same as the approach i have followed in this weblog.
    it doesnt even mattter if you have imported your XSD, any dummy type created will do.
    Ref:
    /people/shabarish.vijayakumar/blog/2006/04/03/xi-in-the-role-of-a-ftp

  • Message Mapping: button "map fields of same structure" is inactive

    Hi!
    Can some one please explain why the option within message mapping "map the same structure..." is inactive in my case?
    Is that a bug?
    I am on SAP NetWeaver 7.0 SP 14 .
    Thank you!

    Hi,
    It is because your JAVA jdk version.
    Install jdk 1.4.17.
    Carlos

  • PI Message Mapping One Source to create two of the same Target Nodes.

    Hi,
    I have a source node that contacts the following.
    "1234-5678".
    When there is a "-" in the source node then I need to create two target nodes.
    When there is no "-" in the source node then only create one node.
    Since the source structure is a flat structure by on the target side as you can see I am trying to achieve a diep structure.
    Please can you assist in how to do this with PI message mapping.
    Regards
    Willie Hugo

    Hi,
    "1234-5678" only occurs once in the source. There is no source xml node that will occur more that once. The whole structure only occurs once. But on the target side I need one of the node to occur more than once if a hyphen is found in the source field.
    Source Message                      - Always only one data node.
    ==============
    <root>
    <OnceOnlyNode>1234-5678</OnceOnlyNode>                   [1..1]
    </root>
    Target Message                      - Only two text node when "-" in source, else only one text node.
    =============
    <msg>
    <text>1234</text>
    <text>6789</text>
    </msg>
    How can this be done using standard PI message mapping functions. Can it be done?
    Regards
    Willie Hugo

  • Loop in message mapping

    Hi all,
    I have a requirement and have been breaking my head on this .
    Source                              Target
    PO1 - 0 to 999999                   Idoc Segment(E1EDK2)
       Item No(field)
       SCH 0 to 999999 (Node)                    
    Here I have a Parent node PO1 which needs to be looped
    and within that I have SCH segemet which gets repeated
    the requirement is first I need to check the if the values in the SCH exist , If it exist then I need to take the two values from SCH and item number from PO1 segment an create a traget segment. If the SCH does not exist then i need to take the item level values and create a segment. The challenge here is, I have a loop within a loop and the target segment is only one.
    Kindly help me with this scenario.
    Regards
    Venu

    hi,
    this is possible
    which sp are you running on?
    if you can define global variables
    you can define global arrays in which you'll store the results
    then you need to put all values in one advanced function
    and put them in map for example and do the looping
    in your java function (with all values at once)
    then put the result in the global array
    from which you can take it out in any other function
    (for all the rest of the tags)
    but I don't know about the performance of this ...
    maybe you can do the same in java mapping?
    but I'm sure it can be done in message mapping too
    Regards,
    michal

  • Message Mapping using UseOneAsMoney

    Hi Experts,
    I am doing the Message Mapping as mentioned in the below blog. I am getting the Error as
    05:15:46 Start of test
    Exception:[com.sap.aii.mappingtool.tf7.FunctionException: Too few values in the first queue in function useOneAsMany. It must have the same number of contexts as the second queue] in class com.sap.aii.mappingtool.flib7.NodeFunctions method useOneAsMany[[Ljava.lang.String;@478d13c, [Ljava.lang.String;@17f0bc6f, [Ljava.lang.String;@3de327b0, com.sap.aii.mappingtool.tf7.rt.ResultListImpl@c42b38e, com.sap.aii.mappingtool.tf7.rt.Context@6f1a35eb]
    com.sap.aii.utilxi.misc.api.BaseRuntimeException: Exception:[com.sap.aii.mappingtool.tf7.FunctionException: Too few values in the first queue in function useOneAsMany. It must have the same number of contexts as the second queue] in class
    I have searched in other blog also and ended up with the same error. Please check and do the needful.
    The Basic Problem
    We have an IDoc ORDERS05 with purchase order information where each purchase order line item (represented by segment .<E1EDP01>) can contain multiple schedule lines (represented by segment <E1EDP20>). For example, we have 2 line items with 3, resp. 2 schedule lines. Then the corresponding portion of message ORDERS05 can look as follows:
       <E1EDP01>
          <POSEX>00010</POSEX>
          <E1EDP20 SEGMENT="1">
             <WMENG>15</WMENG>
          </E1EDP20>
          <E1EDP20 SEGMENT="1">
             <WMENG>44</WMENG>
          </E1EDP20>
          <E1EDP20 SEGMENT="1">
             <WMENG>3</WMENG>
          </E1EDP20>
       </E1EDP01>
       <E1EDP01>
          <POSEX>00020</POSEX>
          <E1EDP20 SEGMENT="1">
             <WMENG>32</WMENG>
          </E1EDP20>
          <E1EDP20 SEGMENT="1">
             <WMENG>12</WMENG>
          </E1EDP20>
       </E1EDP01>
    We want to map the information of the IDoc ORDERS05 to the message OrderCreate of the CIDX v4.0 standard. This message uses a more flat
    structure where the purchase order line items and the corresponding schedule lines are on the same level. The corresponding portion of the
    message OrderCreate (for the same information as in the IDoc) looks as follows:
       <OrderCreateProductLineItem>
    <PurchaseOrderLineItemNumber>00010</PurchaseOrderLineItemNumber>
          <ProductQuantity>15</ProductQuantity>
       </OrderCreateProductLineItem>
       <OrderCreateProductLineItem>
          <PurchaseOrderLineItemNumber>00010</PurchaseOrderLineItemNumber>
          <ProductQuantity>44</ProductQuantity>
       </OrderCreateProductLineItem>
       <OrderCreateProductLineItem>
          <PurchaseOrderLineItemNumber>00010</PurchaseOrderLineItemNumber>
          <ProductQuantity>3</ProductQuantity>
       </OrderCreateProductLineItem>
       <OrderCreateProductLineItem>
          <PurchaseOrderLineItemNumber>00020</PurchaseOrderLineItemNumber>
          <ProductQuantity>32</ProductQuantity>
       </OrderCreateProductLineItem>
       <OrderCreateProductLineItem>
          <PurchaseOrderLineItemNumber>00020</PurchaseOrderLineItemNumber>
          <ProductQuantity>12</ProductQuantity>
       </OrderCreateProductLineItem>
    The data in red correspond to data of the segment <E1EDP01>, while the information in blue correspond to data of the segment <E1EDP20> of the original IDoc. Note that the data in red need to be duplicated based on the occurence of segment <E1EDP20>.
    Solution 1
    A simple solution of this mapping problem exists under the assumption that in the IDoc ORDERS05 each segment <E1EDP01> contains at least one segment <E1EDP20>. Luckily this assumption holds true for IDocs created via the purchase order creation process in ERP.
    1. Mapping of <OrderCreateProductLineItem>
    The segment <OrderCreateProductLineItem> of the target structure needs to be created once for each occurrence of segment <E1EDP20> of our source structure. This can easily be achieved via the following mapping:
    Remember to change the context to IDOC.
    2. Mapping of <PurchaseOrderLineItemNumber>
    Since the information for the node <PurchaseOrderLineItemNumber> comes from the IDoc segment <E1EDP01>, this node needs to be replicated based on the occurrence of segment <E1EDP20> under each segment <E1EDP01>. This can be achieved using the node function useOneAsMany as follows:
    I will not describe the functionality of the node function useOneAsMany in detail since there is a lot of excellent documentation available on this function, for example in the SAP help . In our scenario you only need to change the context of the second input parameter to E1EDP01.
    With the sample input from above, the function useOneAsMany will give the following result:
    3. Mapping of <ProductQuantity>
    Since the <ProductQuantity> is derived from a value of the IDoc segment <E1EDP20> the mapping for this field is trivial (remember that <ProductQuantity> must occur once per <E1EDP20> segment):
    Please check the error and guide me how to proceed further.
    Regards,
    GIRIDHAR

    Hi
    The problem is that you the first and second input queue of UseOneAsMany function does not have the same number of context changes.
    Do your mapping like this
    E1EDP20(set context to Idoc level )----> OrderCreateProductLineItem
    First input of UseOneAsMany   --->POSEX ( set context to E1EDP01)
    Second input of UseOneAsMany--->  E1EDP20 ( set context to E1EDP01 )
    Third  input of UseOneAsMany--->  E1EDP20 ( set context to E1EDP01 )
    Then after UseOneAsMany use removeContext--->SplitByEachValue--->PurchaseOrderLineItemNumber
    WMENG ( set context to E1EDP20) ----> ProductQuantity
    This will give you the output in the format you are asked for.
    Let me know if any issues.

  • Download & Upload message mapping in PI 7.1

    Hi experts,
    I have a Web Service -> PI -> Idoc interface configured in PI 7.1. The mapping is quite complex and they've decided to add 2 fields to the scenario. To do this they've created a new Idoc with different segment names (before they were something like "SEGMENT01" and now they are "SEGMENT02"). The field names are exactly the same. When I changed the structure the system told me that it was impossible to match the field names due to the change in the segment name and all mappings were skipped. This is no good, the mapping is huge. Is there a way to download the mapping to a text file, change the segment name manually and then upload it again? Please help....
    Thank you all!
    Pablo

    Hi,
    U can use the mapping templates, and save the templates.
    So when they add extra fields modify ur mapping only for those 2 fields.
    Better create multiple mapping templates, for different level of hierarchy, so that u can reuse the templates in mapping again.
    Also There is a option called Text Preview in message mapping, through which u can view the mapped fields, source and target.
    Babu

Maybe you are looking for

  • Problem with storing and retriving a different langauge font in mysql

    hi, i have problem with storing and retriving a different character set in mysql database ( for example storing kannada font text in database) it simply store what ever typed in JTextField in database in the formate ??????????? and it showing ???????

  • Finder Crashing after update

    Hey Guys I have an old Macbook (2009) runing 10.6.8 that I recently ran some software updates on it and now everytime I try to open the utilities folder finder locks up and then closes and restart. The mac is bogged down, and adding more ram doesnt m

  • How to make "SAP&MY" show up in txn DSWP

    On screen 27 of  the following SAP Tutor: https://websmp202.sap-ag.de/~sapidb/011000358700005479212006E.sim we see a "SAP&MY"  next to the button "NEW". 1) I cannot find  this "SAP&MY" in my SM7.0SP16. Why? 2) If use other existing entries (e.g. "Not

  • Any Workaround for unsupported rpc/literal wsdl feature in weblogic8.1.6.

    I need to call the service which expects the rpc/literal format of soap request using weblogic workshop. But the problem is the current verison of weblogic server(8.1.6) that i am using to build won't support this WSDL feature. The generated request

  • Service error when installing OO4O

    I get an error telling me to shut down the service OracleOra9i_HOMEAgent when trying to install OO4O in XP. I can't see anything relating to this in my processes. Does anyone know how to shut this down? thanks very much... Brian....