Advanced mapping requirement!

Hi Crew,
I need the mapping logic to acheive this target structure from the source structure.
Source Structure:
   <Pen>
           <colour>Red</colour>
           <company>Parker</company>
           <type>Refill</type>
   </Pen>
Target Structure:
   <Pen>
           <character>
                  <no>1</no>
                  <name>colour</name>
                  <value>Red</value>
           </character>
           <character>
                  <no>2</no>
                  <name>company</name>
                  <value>Parker</value>
           </character>
           <character>
                  <no>3</no>
                  <name>type</name>
                  <value>Refill</value>
           </character>
   </Pen>
Kindly help!
Thanks in advance
karthik kaveriselvan

Karthik,
First let me confirm your structure.
Source
<Pen> 0..Unbounded
<color/>
<company/>
<type/>
</Pen>
Target
<Pen>0..Unbounded
<character>0..Unbounded
<no/>
<name/>
<value/>
</character>
</Pen>
If you think i'm correct, then proceed with below logic.
In Mapping editor Right click on <character> and click duplicate sub-tree three times.
Now  follow the logic.
Pen -
>Pen.
character(1 occurrence)
Constant[1] -
> no
Constant[colour]----->name
colour -
> value
Character(2 occurrence)
Constant[2] -
>no
Constant[Company]----name
company---->value.
Character(3 occurrence)
Constant[3]---->no
Constant[Type]---->name
type--->value.
Hope it helps!!!!
Best regards,
raj.

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

  • Advanced mapping from IDOC to SOAP with reversed 3 level context change

    Hi everyone.
    I am having a though time mapping the HRMD_A01 IDOC into a SOAP message. The reason is that the reciever expects an xml structure where the root node is cost center instead of employee which is the case in the IDOC.
    Mapping from:
    IDOC (1..1)
       E1PLOGI (1..unb)
         SEGMENT (String)
         OBJID (String)
         E1PITYP (1..unb)
           E1P0001 (1..unb)
             SEGMENT (String)
             KOSTL (String)
    To this structure:
    List (1..1)
      CostCenters (1..unb)
        KOSTL (String)   ----> Mapped against KOSTL above
        Employees (1..unb)
          OBJID (String)   ----> Mapped against OBJID above  
    I expect several occurances of E1PLOGI which states multiple employees sent in the IDOC. I also expect several occurences of E1P0001 containing cost centers.
    My conclusion is that I need an advanced mapping and I have created one which collects all KOSTL for the IDOC context, deletes duplicates, and creates the CostCenters segment. This is now working. But my problem is that I can't create the employees segment in the right place. They are only created once under the first CostCenters node.
    Here's the java-code for mapping between KOSTL and CostCenters/KOSTL:
    public void costCenters(String[] var1, ResultList result, Container container) throws StreamTransformationException{
      Set set = new HashSet(Arrays.asList(var1));
      String[] array2 = (String[])(set.toArray(new String[set.size()]));
      Arrays.sort(array2);
      for (int i = 0; i < array2.length; i++) {
        result.addValue(array2<i>);
    Any ideas on how to proceed?
    Best Regards

    Hi,
      Do the mapping like below.
      UDF should be select as context.
    List (1..1)
      CostCenters (1..unb)
        KOSTL (String)   ----> Mapped against KOSTL above
        Employees (1..unb)
          OBJID (String)   ----> Mapped against OBJID above
    Mapping:
    KOSTL(RightSelectChange the context to E1PITYP)--UDF--Removecontext--CostCenters
    KOSTL(RightSelectChange the context to E1PITYP)--UDF--SplitbyValue(Each Value)--KOSTL
    constant---Employees
    OBJID----------------------------------------------Use One As Many---SplitByValue (EachValue)----------OBJID
    KOSTL(RightSelectChange the context to E1PITYP)--UDF---
    KOSTL(RightSelectChange the context to E1PITYP)--UDF---
    Regards,
    Prakasu.M
    Edited by: prakasu on May 20, 2009 3:28 PM

  • 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

  • Advance  intimated required

    Suppose i am GRN for today, at the time of checking or saving the GRN, a popup for advance  intimated required which help us to plan the next GRN accordingly.
    Regard
    Nabil

    In MIGO , there is a search Icon (binocular)  , its labelled "Search for PO" .  if you use that search, then  you can search for all expected receipts w.r.t delivery dates  for that plant. 
    if that report isnt sufficient, then you will have to go for a development , use the BADI MB_MIGO_BADI   , and add your logic w.r.t the Tables EKPO and EKET .

  • "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.

  • 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.

  • 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.

Maybe you are looking for