Common mapping requirement

A common requirement is sending a table from SAP to be output into a file. So if this is done using the RFC sender adapter and File receiver adapter (with content conversion), the only thing required is a mapping to remove the extraneous <item> node that is inserted when a table is sent in a RFC parameter.
For example, if I send a table say ZTEST, the data coming into XI will be like this..
<RFCname>
    <ZTEST>
         <item>
             <fld1>hello</fld1>
             <fld2>world</fld2>
         </item>
         <item>
             <fld1>second</fld1>
             <fld2>time</fld2>
        </item>
    </ZTEST>
But since for the file adapter content conversion we require up to two hierarchical levels at the most, we have to drop the <ZTEST> node and get to
<RFCname>
       <item>
             <fld1>hello</fld1>
             <fld2>world</fld2>
        </item>
        <item>
             <fld1>second</fld1>
             <fld2>time</fld2>
        </item>
and then the receiver FILE adapter can handle to display these rows in tabular comma separated format.
The question is::  Is it possible to drop the node like above without doing any mapping in the IR i.e in that case we would only need a ID scenario where somehow (maybe by some simple existing adapter module usage) the input message (RFC type) is directly output in a flat file.

Hi James,
          Please check the following link, which will resolve your problem.
/people/shabarish.vijayakumar/blog/2007/08/03/file-adapter-receiver--are-we-really-sure-about-the-concepts
i hope, for your structure the FCC parameters for receiver file adapter as mentioned below.
Ztest.fieldSepartor :'nl'
item.fieldnames:fld1,fld2
item.fieldFixedlengths:5,5
item.fieldSeparator:' '
regards
mahesh.

Similar Messages

  • XSLT mapping requirement.. Only numbers need to be picked..!!

    Hi ,
    XSLT mapping requirement.
    I will be getting the value as mix of numbers and alphabets like " 1343: -BIZ USA ".
    I need to pick only number '1343' from the input field.
    Is there any function in XSLT to pick only numbers and ignore alphabets?
    Thanks
    Deepthi

    Hi There,
    The below piece of code could cater your requirement, for flltering the non digit chars from your field,
    <xsl:value-of select="translate(<your field name>, translate(<your field name>, '0123456789', ''), '')"/>
    This would separate the non numeric chars from your field in mapping.
    Let me know this works.
    Regards,
    Rajesh Kumar T

  • Mapping requirement about grouping with restriction

    Hi,experts:
      There is a complex mapping requirement.
      There are 2 document types(A and B) in the source records.
      I need collect the amount with the document which is type A.
      The source records are as follows:
      Doc_No    Doc_Type   Doc_Itm_No    Amount
       0001        A          0010         3
       0001        A          0020         4
       0002        B          0010         5
       0002        B          0020         6
       0003        A          0010         11
       0003        A          0020         22
       The target records should be:
       Doc_No    Doc_Type   Amount
       0001        A          7
       0003        A          33
       The source and the target data type are the same as follows:
       Documents      1...unbound
       ---Doc_No      1...1
       ---Doc_Type    1...1
       ---Doc_Itm_No  1...1
       ---Amount      1...1
       Q1: How to create the target top node(Documents) with restriction(Doc_Type = 'A')?
           Without the restriction,i can handle it well as follows:
           removecontext(Doc_No)->sort->splitbyvalue(value changed)->collapsecontexts->Documents
       Q2:How to collect the amount?
    Regards
    Ming

    hi ming,
    do this mapping
    Q1: How to create the target top node(Documents) with restriction(Doc_Type = "A")?
    Doc_type-->(if equals "A")>(remove context)-->(createif)----->Documents
    q2. How to collect the amount?
    Doc_type(Documents context) + Amount(Document's context)--->UDF1>(SplitByValue)->Doc_type
    Doc_type(Documents context) + Amount(Document's context)--->UDF2>(SplitByValue)-->Amount
    //****************************UDF1***********************//
    public void get_batch_name(String[] Doc_type,String[] Amount,ResultList result,Container container){  
    //write your code here
         Hashmap myHashmap=new Hashmap();
         for(int i=0; Doc_type.length(), Amount.length())
              if(myHashmap.get(Doc_type<i>==null))
                   {myHashmap.add(Doc_type<i>, Amount<i>);}
              else
                   String amt= amt+myHashmap.get(Doc_type<i>);
                   myHashmap.put(Doc_type<i>,amt);
         Set s=myHashmap.keySet();
         Iterator i=s.iterator();
         while(i.hasNext())
              result.addValue(i.next());
    //********************UDF2***************************//
    public void get_batch_name(String[] Doc_type,String[] Amount,ResultList result,Container container){  
    //write your code here
         Hashmap myHashmap=new Hashmap();
         for(int i=0; Doc_type.length(), Amount.length())
              if(myHashmap.get(Doc_type<i>==null))
                   {myHashmap.add(Doc_type<i>, Amount<i>);}
              else
                   String amt= amt+myHashmap.get(Doc_type<i>);
                   myHashmap.put(Doc_type<i>,amt);
         Arraylist s=myHashmap.values();
         String array[]=s.toArray();     
         while(int i=0;i<array.length();i++)
              result.addValue(array<i>);
    Message was edited by: self
            sudeep dhar

  • Mapping requirment based on field value

    Hi All,
    I have a mapping requirement
    where in the file i have a 2 AM records as shown
    AM U  00000000000010000C                                                    
    AM X  00000000000120000
    Based on AM-03 field i..e,, AM-03 = 'C'
    then to the target field i need to pass the value(00000000000120000) of next AM02 record.
    so when ever AM03 filed is 'C' then i need to pass the value of next AM record.
    can any body suggest me how i it can be acheived.
    Thanks
    Sai_SHA

    i am not sure whether i have understood ur req correctly or not..
    but u can chk this UDF in ur mapping:
    execution type: all values of a context
    if(var1[0].equals("C"))
    result.addValue(var2[1]);
    filed3---removecontext
    UDF----target
    field2---removecontext

  • Mapping Requirement for File to IDOC

    Hi All,
    I have a requirement related to Mapping and need your help on this. There is a financial posting Interface and the data is being fetched from database using strored procedure.
    The source file is having structure like as shown below
    <FIExport>
        <resultset>
             <row>
               <headerid>12345</header id>
                <field2>5</field2>
               <field3>1</field3>
               <field4>29</field4>
               <field5>3</field5>
              </row>
             <row>
               <headerid>12345</header id>
                <field2>5</field2>
               <field3>1</field3>
               <field4>48</field4>
               <field5>3</field5>
              </row>
             <row>
               <headerid>12345</header id>
                <field2>5</field2>
               <field3>1</field3>
               </field4>
               <field5>3</field5>
              </row>
              <row>
               <headerid>12346</header id>
                <field2>5</field2>
               <field3>1</field3>
               <field4>2</field4>
               <field5>3</field5>
              </row>
             <row>
               <headerid>12347</header id>
                <field2>5</field2>
               <field3>1</field3>
               <field4>2</field4>
               <field5>3</field5>
              </row>
          </resultset>
        </FIExport>
    Condition:
    For creating target structure follwoing conditions are required
    1) IDOC at receiver side will be created as per unique header id  therefore in the current source structure 3 Idocs will be created for 3 unique header id like 12345 , 12346 , 12347
    2) Target EIFISEG which is line item will be created based on per row per unique header id under each IDOC and there has to be 2 SEGMENTS (2A & 2B ) per row based on the VAT amount presence and also two additional E1FISEG has to be created statically per idoc for BSCHL = 34
    so for the above source structure the target should have number of EIFISEG as follows:
    As there are 3 rows for header id 12345, therefore under IDOC1 the number of EIFISEG will be
    since VAT Amount(field 4) is present therefore for 2rows of 12345 header id IDOC it will generate 2X2=4 , E1FISEG segments (each for 2A & 2B) and 1 E1FISEG for 3 row of header id IDOC 12345.
    In addition to this 2 additional segment will be created for BSCHL=34( it's duplicate segment of E1FISEG, so no issues in this)
    Total number of E1FISEG segments in IDOC for header id(12345) will be = 4 + 1 + 2 = 7 segments
    Similarly for IDOC  with header id (12346) the total number of EIFISEG will be = 2( 2A & 2B as vat amount (field 4) is present + 2(bschl =34) = 4 segments
    Similarly for IDOC with header id(12347) the total number of E1FISEG will be = 2( 2A & 2B as vat amount (field 4) is present + 2(bschl =34) = 4 segments
    So the target strcuture should look like:
    Target Structure
    IDOC1 for header id= 12345
        E1FIKPF
            field 1
              E1FISEG1
                field 2
              E1FISEG2
                field 2
              E1FISEG3
                field 2
              E1FISEG4
                 field 2
              E1FISEG5
                 field 2
              E1FISEG6
                  field 2      
              E1FISEG7
                  field 2
    IDOC1 for header id= 12346
        E1FIKPF
            field 1
              E1FISEG1
                field 2
              E1FISEG2
                field 2
              E1FISEG3
                field 2
              E1FISEG4
                 field 2
    IDOC1 for header id= 12347
        E1FIKPF
            field 1
              E1FISEG1
                field 2
              E1FISEG2
                field 2
              E1FISEG3
                field 2
              E1FISEG4
                 field 2
    Please help me to complete this mapping requirement as it seems to be complex.
    Thanks & Regards
    Prabhat

    Hi,
    There was one typo mistake, the TARGET structure will be
    Target Structure
    IDOC1 for header id= 12345
       E1FIKPF
         field 1
             E1FISEG1
               field 2
             E1FISEG2
               field 2
             E1FISEG3
               field 2
             E1FISEG4
                field 2
             E1FISEG5
                field 2
             E1FISEG6
                field 2
             E1FISEG7
                field 2
    IDOC2 for header id= 12346
          E1FIKPF
            field 1
               E1FISEG1
                  field 2
               E1FISEG2
                  field 2
               E1FISEG3
                  field 2
               E1FISEG4
                  field 2
    IDOC3 for header id= 12347
               E1FIKPF
                   field 1
                     E1FISEG1
                        field 2
                     E1FISEG2
                        field 2
                     E1FISEG3
                        field 2
                     E1FISEG4
                        field 2
    Thanks & Regards
    Prabhat

  • IS Mapping required in JDBC to PROXY asynchronous scenario?

    Hi,
    I am working on JDBC to PROXY asynchronous scenario. The scheduled stored procedure fetches the data from database tables and stores them in staging table in the same database. XI will fetch the records via JDBC adapter. Now these records are to be posted into SAP custom table via proxy without any transformation. Now is Message mapping and Interface mapping required in this case?

    Hi
    I assume that your source and traget structure will be different as you are using JDBC.
    SO you will need to create message mapping and operation mapping.
    -Deepak.

  • IDOC mapping requirment

    Dear all,
    I have a mapping requirment based on IDOC Segment to SOAP.
    My  IDOC Structue is like this:
    Source               Target
    segement1:         
       itemA
       itemB
       itemC                 ID
       itemD
    Segement2:
      itemD
      itemE                 Description
      itemF                 Value
    Based on ItemF ,if  its value is 00  then get itemC from Segement1 and itemE  from Segement2 and map to target  as ID and Desciption .
    Please provide me the  graphical mapping design.
    Regards
    Vsantosh

    can u provide me some more information like
    if ItemF value is 00 then ur trying to get the data from the two fields from the source side ,
    what do u want to do with those two values (means u want concatnate or what) and
    if itemf value is not queals to 00 then what to do .......

  • Mapping Requirment

    Hi All,
    I am having a mapping requirement. A comma separated string is coming in the source field and i have to split the value
    and map the target fields.
    For example:
    Source:
    <Row>123,BOFA,Success,True</Row>
    Output
    <Target>
    <A>123</A>
    <B>BOFA</B>
    <C>Success</C>
    <D>True</D>
    </Target>
    I am using UDF for the same but getting an exception.
    Please help.
    Thanks!!

    Hi,
          Are there only one row or multiple rows in source XML? Then mapping the root is also necessary. Secondly if we look at this XML
    <Target>
    123 BOFA <C>Success</C>
    <D>True</D>
    </Target>
    The value "123 BOFA" is expected to be within XML tag as shown below
    <Target>
    <A>123 BOFA</A>
    <C>Success</C>
    <D>True</D>
    </Target>
    Could you please kindly mention the version of PI you are working in.
    Anyways you can use the following UDF to meet your requirements. For each field in target, u need separete UDF. The value of variable "i" is only to be altered for each target field.
    public String UDF(String a,Container container)
              String s[]=new String[3];
              int i=0;
              try
                   String tgt[]=a.split(",");
                   //first field value
                   s[0]=tgt[0]+" "+tgt[1];
                   //second field ("C") value
                   s[1]=tgt[2];
                   //third field ("D") value
                   s[2]=tgt[3];
              catch(Exception e)
                   e.printStackTrace();
              //value of i decides which field you want to populate for first field i=0 so on and so forth
              i=0;
              return s<i>;
    Hope this solves your problem.
    regards
    Anupam

  • "LUN Map requires repair" on re-start

    All,
    I have been having this problem for several months. I work in a facility where shutting down everything over the weekend is required. One of those devices is an XServe RAID. When it comes back up one side always fails with the message "LUN map requires repair". Additionally, the same controller that exhibits this issue is also unable to accept time updates, and displays an extremely odd date (e.g. 1/30/16). I have attempted re-seating the controller (nothing) and swapping controllers (the problem followed). Anyone have any ideas?
    It's an XServe RAID running firmware 1.5.1/1.5.1c
    Thanks.
    Mac OS X (10.3.9) XServe RAID firmware 1.5.1/1.5.1c

    What's your "shut down" process? Are you turning off all attached computers, or at least unmounting the RAID volumes, and the shutting down the RAID using the RAID Admin tool?
    Does the power get physically cut during this down time?
    Why is shutting down necessary? And any chance of getting an exception?
    =Tod

  • Suggestion/opinion in scenario mapping  required-PLEASE

    Hi,
    I have a typical retail scenario and I seek expert suggestion opinion on this.
    In a scenario where materials are purchased from different vendors and received.
    Later they are sold to customer/s through direct selling or mass market  and also sold to other company of the group via ICT process at the cost.
    Goods are also transferred to other company via ICT process.
    These goods are having different combination while they are being sold.
    To give a classic example:
    Company orders for say pens of different size and different colors each defined as a different mat code.
    They are ordered in hugh quantities and sold in the mass market either in several quantity or a single piece.
    Most often what happens is that looking at the market trend company packs different types of pens in one pouch and sell them either through mass market or through consignment.
    Sometimes they create hugh quantity of packs in anticipation that they will get sold.
    However it also happens that some customer is interested in buying those packs in bulk quantities but only thing that he insists is that he wants to have a different type of pen out of several pens in the pouch already created.
    Suppose a pack consists of pens of same type but of colors black,blue,green and all having differerent material codes.
    Customer is intersested in buying this pack in bulk quantity but his only requirement is that instead of balck he would like to have a red pen in each pouch.
    Company does not want to lose this customer at any cost since he has shown interest in buying a very hugh quantity.
    This is one of the typical examples and this type of things are very common in such type of retail business.
    <i><b>Our scope is very limited in the sense that we have to map this business right from procurement to sell with standars MM/SD/FI functionality.</b></i>
    There are hundreads of businesses who run similarly and have implemented SAP.
    In the given context I need opinion from you experts on how to map following scenarios
    1..How to create pouches/value packs
    2..How to change the combinations if a specific customer requirement comes to alter the combination as stated above
    3..how to handle returns.
    Our approach:
    For creating pouches/packs, we are planning to use MM subcontracting functioanality whereby packs will be created inhouse but will be treated as subcontracting by having a logical vendor created in the system.
    <b>We have restricted the creation of packs to one level BOM only</b> and also we will restrict creation of BOM to one instance only so that we will not have any alternate BOM created for the same parent material(separate item code that we will be creating for the entire pack) and child materials(different types of pens with aseparate material code) combination.
    This will ensure that if already a pack has been created with the combination of components mentioned above ,system will not allow if someone tries to create another pack for the same parent child combination.
    Meaning that there are no versions available & tracking becomes easy.
    The only worrying factor is that these types of  pack  creation activity(value packs) is very frequent in this type of business.
    Users will not accept to create a different material for the value pack and subsequently to create bom and then do subcontracting to have the stock <i><b>every now and then</b></i>.
    <u><i><b>Also how to handle the issue of changing the component of an already created pouch.</b></i></u>
    Has anyone mapped  such types of things in standard functionality of MM SD.If so request you all to share your suggestions/views on this.
    Thanks in advance
    arjman

    Hi,
        There are 3 companies i.e., ABC, X123 & Y789.
    1. Create a service contract in ABC for X123 as Service Provider. Prerequisite is Create X123 as the vendor in ABC company.
    2. Create the Service order based on that in ABC.
    3. Create a service contract in X123 for Y789 as Service Provider. Prerequisite is Create Y789 as the vendor in X123 company.
    4. Create the Service order based on that in X123.
    Then do the normal proceedings. Correct me if I am wrong.
    Regards,
    Maheswaran.

  • Sample XSLT mapping required

    Hi,
    I have a requirement where I want to transform the incoming XML from one structure to another (basically dropping the namespaces/prefixes etc but keeping the structure) and have reached the conclusion this can be achieved using an XSLT mapping.
    Hoowever, can you please point me in the irection of some good websites that have good XSLT examples and code snippets ?
    Thanks
    Colin.

    Hi Colin,
    I have done some simple scenario regarding this XSLT mapping.This is the simple piece of code tat i have executed.Hope it will be helpful to you.And refetr to w3schools.com for more info.
    ?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
    <MT_EMP_TARGET>
         <xsl:for-each select="//EMP_DATA">
              <EMP_DATA>
                            <xsl:variable name="fname" select="//EMP_DATA/First_Name"/>
                            <xsl:variable name="lname" select="//EMP_DATA/Last_Name"/>     
                   <Emp_Code><xsl:value-of select="//EMP_DATA/Emp_Code"/></Emp_Code>
                   <Name><xsl:value-of select="concat($fname,' ',$lname)"/></Name>
                   <Join_Dt><xsl:value-of select="//EMP_DATA/Join_Dt"/></Join_Dt>
                   <Designation><xsl:value-of select="//EMP_DATA/Level"/></Designation>
                   <Dept><xsl:value-of select="//EMP_DATA/Dept"/></Dept>
              </EMP_DATA>
         </xsl:for-each>
    </MT_EMP_TARGET>
    </xsl:template>
    </xsl:stylesheet>
    And here is my input data:
    ?xml version="1.0" encoding="UTF-8"?>
    <MT_EMP>
         <EMP_DATA>
              <Emp_Code>2994</Emp_Code>
              <First_Name>Gary</First_Name>
              <Last_Name>Moore</Last_Name>
              <Join_Dt>02/21/05</Join_Dt>
              <Dept>SAP</Dept>
              <Level>P3</Level>
         </EMP_DATA>
         <EMP_DATA>
              <Emp_Code>2995</Emp_Code>
              <First_Name>Dolly</First_Name>
              <Last_Name>Smith</Last_Name>
              <Join_Dt>12/11/06</Join_Dt>
              <Dept>CSD</Dept>
              <Level>P4</Level>
         </EMP_DATA>
         <EMP_DATA>
              <Emp_Code>2996</Emp_Code>
              <First_Name>Sam</First_Name>
              <Last_Name>Brown</Last_Name>
              <Join_Dt>04/01/05</Join_Dt>
              <Dept>Java</Dept>
              <Level>P3</Level>
         </EMP_DATA>
         <EMP_DATA>
              <Emp_Code>2997</Emp_Code>
              <First_Name>Kim</First_Name>
              <Last_Name>Larson</Last_Name>
              <Join_Dt>02/02/06</Join_Dt>
              <Dept>SAP</Dept>
              <Level>P3</Level>
         </EMP_DATA>
    </MT_EMP>
    Cheers,
    Prasanthi.

  • Flat File to IDOC Mapping requirement to generate Multiple Segments

    Hi Experts,
    I got a requirement were i have 2 records in a file and i need to generate 2 IDOCs  with  multiple segments in it.
    FILE :
    10/01/2010     101  KRNA     ic_quantity          30-0257     3526     1     1     ea     110000     10
    10/01/2010     101     KRNA     ic_quantity          90-0005     3526     1     2     ea     110000     10
    Idoc should generate 2 IDOCs with multiple segments as shown below
    I have imported the IDOC and changed the occurrence to " unbounded "
    The Basic  IDOC Type :  WMMBID02
    I need to generate Multiple segments of  E1MBXY1
    i.e..,  First IDOC should contain two  E1MBXY1 segments
             Second IDOC should contain Four  E1MBXY1 segments
    IDOC1 :   WMMBID02
    Segment :   E1MBXY1( 2 segments)                                                       
    10/01/2010     101     KRNA     ic_quantity          30-0257     3526     1     1     ea     110000     10
    10/01/2010     101     KRNA     ic_quantity          90-0005     3526     1     2     ea     110000     10
    IDOC2 : WMMBID02
    Segment :  E1MBXY1 ( 4 segments)                                                  
    10/01/2010     101     KRNA     ic_quantity          30-0257     3526     1     1     ea     110000     10
    10/01/2010     101     KRNA     ic_quantity          30-0257     3521     1     1     ea     110000     10
    10/01/2010     101     KRNA     ic_quantity          90-0005     3526     1     2     ea     110000     10
    10/01/2010     101     KRNA      ic_quantity          90-0005     3521     1     2     ea     110000     10
    Can anyone suggest me how to generate IDOCs with multiple segments
    what are multiple ways of generating it
    Whether it can be achieved using Multi-mapping or I need go for UDF
    If any one has done has done this type of requirement ,please share the points.
    Thanks
    Sai

    Basically you need to generate idoc per record in the flat file. During fcc conversion you convert flat file to xml structure at the sender side. In the mapping use xml file structure source and idoc as receiver structure. You just export idoc and update the idoc segment 1 to unbounded.  Please follow the michael blog for file to idoc multimapping without bpm. Yes without bpm it is possible.
    see this link... This will answer your requirement.
    https://wiki.sdn.sap.com/wiki/display/XI/File%20to%20Multiple%20IDOC%20Splitting%20without%20BPM
    >Whether it can be achieved using Multi-mapping or I need go for UDF
    you dont need udf for this.

  • Mapping Required

    Hi Experts,
    I have a file to IDoc scenario for Goods Receipts.
    I am receiving the good receipts in batch and the incoming  structure is given below-
    DT_SABRE_GoodsReceipts
         GoodsReceiptsData   0.unbounded
             Header                    0.1
                 Posting_Date       0.1
                 Delivery_Note_Date 0.1
             DataRecord        0.unbounded
                 MaterialCode
                 TypeCode
                 TrackingID_Number
                 QTY_Accepted
                 QTY_Received
                 DeliveryNote_Number
                 LineStation_Code
                 PO_LineItem_Number
                 PO_Number
                 QTY_Rejected
    all the fields in the data record are 0.1 occurrence and having String as XSD type.
    A sample example of the incoming XML is given below-
    <GoodsReceiptsData>
          <Header>
             <Posting_Date>1</Posting_Date>
             <Delivery_Note_Date>2</Delivery_Note_Date>
          </Header>
          <DataRecord>
             <MaterialCode>m1</MaterialCode>
             <TypeCode>t1</TypeCode>
             <TrackingID_Number>12</TrackingID_Number>
             <QTY_Accepted>23</QTY_Accepted>
             <QTY_Received>2</QTY_Received>
             <DeliveryNote_Number>111</DeliveryNote_Number>
             <LineStation_Code>wsd</LineStation_Code>
             <PO_LineItem_Number>10</PO_LineItem_Number>
             <PO_Number>111</PO_Number>
             <QTY_Rejected>21</QTY_Rejected>
          </DataRecord>
          <DataRecord>
             <MaterialCode>m2</MaterialCode>
             <TypeCode>t1</TypeCode>
             <TrackingID_Number>12</TrackingID_Number>
             <QTY_Accepted>23</QTY_Accepted>
             <QTY_Received>2</QTY_Received>
             <DeliveryNote_Number>222</DeliveryNote_Number>
             <LineStation_Code>wsd</LineStation_Code>
             <PO_LineItem_Number>10</PO_LineItem_Number>
             <PO_Number>222</PO_Number>
             <QTY_Rejected>21</QTY_Rejected>
          </DataRecord>
          <DataRecord>
             <MaterialCode>m3</MaterialCode>
             <TypeCode>t1</TypeCode>
             <TrackingID_Number>12</TrackingID_Number>
             <QTY_Accepted>23</QTY_Accepted>
             <QTY_Received>2</QTY_Received>
             <DeliveryNote_Number>111</DeliveryNote_Number>
             <LineStation_Code>wsd</LineStation_Code>
             <PO_LineItem_Number>20</PO_LineItem_Number>
             <PO_Number>111</PO_Number>
             <QTY_Rejected>21</QTY_Rejected>
          </DataRecord>
       </GoodsReceiptsData>
       <GoodsReceiptsData>
          <Header>
             <Posting_Date>3</Posting_Date>
             <Delivery_Note_Date>2</Delivery_Note_Date>
          </Header>
          <DataRecord>
             <MaterialCode>m6</MaterialCode>
             <TypeCode>t1</TypeCode>
             <TrackingID_Number>12</TrackingID_Number>
             <QTY_Accepted>23</QTY_Accepted>
             <QTY_Received>2</QTY_Received>
             <DeliveryNote_Number>111</DeliveryNote_Number>
             <LineStation_Code>wsd</LineStation_Code>
             <PO_LineItem_Number>30</PO_LineItem_Number>
             <PO_Number>111</PO_Number>
             <QTY_Rejected>21</QTY_Rejected>
          </DataRecord>
          <DataRecord>
             <MaterialCode>m9</MaterialCode>
             <TypeCode>t1</TypeCode>
             <TrackingID_Number>12</TrackingID_Number>
             <QTY_Accepted>23</QTY_Accepted>
             <QTY_Received>2</QTY_Received>
             <DeliveryNote_Number>33322</DeliveryNote_Number>
             <LineStation_Code>wsd</LineStation_Code>
             <PO_LineItem_Number>90</PO_LineItem_Number>
             <PO_Number>33322</PO_Number>
             <QTY_Rejected>21</QTY_Rejected>
          </DataRecord>
       </GoodsReceiptsData>
    </ns0:MT_SABRE_GoodsReceipts>
    Here, Delivery_Note_Date will be same for all the Header Section for all the GoodReceipts nodes, but the posting date will differ.
    Now at the target side  we have to create the IDOc in the below way-
    for each goodreceipt file we need to check how many number of data records are there. In the example above-
    for the first goodsreceipts we have  2 data records for the same PO number 111, so 1 IDOc will be created and this Idoc will contain two line items for each of this data records. and this IDoc will contain the respective dates from the Header Node.
    Again for the PO number 222 another IDoc will be created with only one detail record and having the same Dates from the Header node.
    Now we have again the PO number 111 in the 2nd goods receipt file, and in this case the header contains the different date.
    considering this goods receipts file we have to create another IDoc with one detail record and date will be taken from the header node of the second goods receipt file.
    As we have another PO 33322 in  2nd goods receipt file so another IDoc should be created with 1 line item. this will also contain the dates from the header of the 2nd good receipt file.
    So as per the example given above we should have-
    4 Idocs at target side.
    1st IDoc- will contain 2 detail record from the first good receipt for PO num 111
    2nd  IDoc- will contain 1 detail record from the first good receipt for PO num 222
    3rd IDoc- will contain 1 detail record from the 2nd good receipt for PO num 111
    4th IDoc- will contain 1 detail record from the 2nd good receipt for PO num 33322.
    The IDoc I am using at target side- as imported XSD and using multiple occurence.  I am usnig -  MBGMCR IDoc having basic type - MBGMCR03
    Below is the mapping rule -
                                                                                    Idoc segment
                                                                                 E1BP2017_GM_ITEM_CREATE
                                                                                 E1BP2017_GM_HEAD_01
                                                                                 E1BP2017_GM_ITEM_CREATE
                                                                                 E1BP2017_GM_ITEM_CREATE1
                                                                                 E1BP2017_GM_HEAD_01
                                                                                  E1BP2017_GM_ITEM_CREATE
                                                                                  E1BP2017_GM_ITEM_CREATE
                                                                                  E1BP2017_GM_ITEM_CREATE1
                                                                                  E1BP2017_GM_ITEM_CREATE
                                                                                  E1BP2017_GM_ITEM_CREATE
                                                                                  E1BP2017_GM_ITEM_CREATE
                                                                                  E1BP2017_GM_ITEM_CREATE
                                                                                  E1BP2017_GM_ITEM_CREATE
    Target IDoc Fields   ( the below fileds can be found in the segments mentioned above)                                                                         
    PLANT
    PSTNG_DATE
    PO_NUMBER
    DELIV_NUMB
    DOC_DATE
    PO_ITEM
    MATERIAL
    QUANTITY
    ENTRY_QNT
    PO_PR_QNT
    STGE_LOC
    ORDERID
    REF_DOC
    Source  fileds                                                                 
    Line station code
    Posting date
    PO  number
    Delivery Note number
    Delivery Note date
    PO line item number
    Material code
    Quantity received (in order UOM)
    Quantity accepted (in order UOM)
    Quantity rejected (in order UOM)
    Type Code
    Reference number
    Tracking Id Number
    I am able to produce the IDoc at target side, using below way-
    POnumber( sting this to upper context)-> sort -> splibyvalue(value change)->co;;apse context--> IDoc
    it is creating  4 IDocs.
    But I am stuck with the other fields and the date fields from the header.
    Request all of you for your help. Any help would be much appreciated.
    please let me know if any information required.
    Thanks
    Sugata B Majumder

    I am sorry, I don't know why the post looks like this,  I have uploaded one file in the below link please download the same where I have written the same query but it looks good.
    [http://www.filefactory.com/file/b55h6c3/n/Mapping_Required.doc]

  • BAPI with RFC enables creation and mapping required settings

    Dear Experts,
    My client is having their old legacy system in .Net .
    Now their requirement is whenever they will create Vendor in their system that created vendor entry should be created automatically in SAP.
    I dont know about BAPI and RFC and how it will work.
    I will try to go up to the creation of BAPI with RFC enabled.
    But to map their requirement what Steps and Setting need to be done in SAP as well as in their Legacy system (.Net).
    Please guide me to solve the issue.
    Regards,
    Sanket.

    closed

  • Mapping requirement

    Hi, experts:
      I have a requirement about creating FI document with XI.
      The scenario is JAVA<=>XI<=>RFC
      If one item is sent from JAVA system with SHKZG = 'S' to XI,
      XI should copy it with SHKZG = 'H'.Then the 2 items are sent to RFC.
      Which function should be used in mapping,thank you very much!
    Regards
    Ming

    hi,
    you can use ifwithoutelse function to map your condition
    if you need to create two nodes from one
    remember to copy the target node twice (right click
    on the target node and copy node)
    this will create two nodes
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

Maybe you are looking for

  • Better control over the creation of thumbnails

    While i have nothing against the current method of generating thumbnails with ADDT, I feel we need better controls as to how our thumbnails are created. By all means, the current option of generating thumbnails on the fly can remain, but I feel we ne

  • JDBC Connector : pool gets depleted

    Hi, we are currently working with SAP EP 6.0 SP2 and trying out some development work with the connector framework. We are writing a component which uses the CF to retrieve information from a Microsoft SQL Server 2000. The portal component works, we

  • TBD4 - Upload Polish rates in OB08 table

    We currently import daily exchange rates from FINISS to a central SAP server and replicate via ALE to other SAP clients throughout our organization.   We currently load the rates at the end of our business day in the US (16:00).  We are now implement

  • Watermark PS programming

    My custom application generates Postscript files that are then distilled to create a PDF file as final output. I know how to program a watermark in Postscript using setpagedevice. However, I cannot find a way to dynamically make the watermark appear

  • Airport is always connected yet internet is only working sporadically

    Sup! I need help! I'm calling upon all MacLovers, Macinado's and Jedi MACsters! So the stupid airport is connected yet the internet is only working when it wants to. I know right! ahhh! It's working then it's not then it's working bah stupid jerk. I