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

Similar Messages

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

  • Inbound Invoice IDOC mapping Required fields

    Hi All,
    Please let me know what need to be mapped for the @begin , @segment , TABNAM , SNDPOR, SNDPRT etc like this elements in the IDOC structure.
    In my scenarion i get Invoices in  XML file so that i can pick that and process it into SAP R/3 by doing correct mapping with the inbound IDOC and post the same into R/3 . Please provide the sample mapping for processing Invoice IDOC.
    Regards,
    Reddy

    Nanda,
    @ Control records
    >>>
    You have two option. One is to fill the control records inside the mapping or else let XI fill it automatically.
    In case you are filling the control records in the mapping, then you will have to enable the option to take those values in the IDOC receiver adapter.
    See option (Apply Control Record Values from Payload) - http://help.sap.com/saphelp_nw04/helpdata/en/96/791c42375d5033e10000000a155106/content.htm
    Control values - http://help.sap.com/saphelp_nw04/helpdata/en/13/95244269625633e10000000a155106/content.htm
    @ Begin, Segment etc
    >>
    you can map any constant value to the same.

  • 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

  • Idoc Mapping

    Hello everybody,
    I have the next scenario Oracle DB-> XI-> Idoc PAYEXT,  now the problem is that I get the error in the message mapping that Mapping not sufficiently defined, my strcutures look fine, so is there a way to know all the required fields for an Idoc, there is no fields in red as in other ocassions indicates mapping required, any suggestions????, thanks in advance.
    Regards,
    Julio Cesar

    Hi Julio,
    As Aamir suggested, you can used TC :WE60 to check the idoc structure and mandatory fields.
    Just in addition to Aamir, In most of the idocs when you assign constant to a idoc segment in order to generate segment you need to populate the mandatory fields of that segment as well.  So you need to assign values  to mandatory fields of segment only if you want to generate that particular segment ( By assigning constant / mapping input element value for repeatation.)
    In you case can you please check if you are trying to generate some segment, but you havent mapped mandatory fields of that segment.
    Hope this will help.
    Let us know if you need more detals.
    Nilesh

  • IDoc - IDoc Mapping part

    Dear friends,
    I have one scenario as below:
    Sender system:  Will have MATMAS05 IDoc structure with many segments.
    Receiver Systems: There will be say 4 R/3 receiver systems.
    The IDoc segments should be distributed to some (all R/3 Receiver system)
    i.e  Based on plant and Logical system some segments of the IDoc MATMAS04 from sndr system should move to particular receiver R/3 system and like wise  some other segments to another Rcvr R/3 System and so on.
    Could you please help me in this regard how to start with this..
    Is BPM required for this scenario..?
    If so then is BPM able to call the Table name which resides in the ABAP stack..?
    then how to proceed for this ..?
    Eagerly waiting for you valuable solutions/approach
    Thank you

    Hi Friend,
    The Source structure MATMAS04.
    I think we need target structure :Many MATMAS04 IDocs is required because some segments of the IDoc MATMAS04 from source system should move to particular receiver R/3 system and like wise some other segments to another Rcvr R/3 System and so on.
    Can I go for Duplication subtree in the target or shall I have to go to message tab in the mapping editor andf enter the IDoc of required numbers...? so that I can have multiple say 4 IDoc structure( if receiver is four).
    Please tell me how to distribute  the source IDoc particular segment to particula receiver based on plant num and logical system details in ABAP stack.
    If I map  the control record EDIDC_40- RCVPOR of the target structure to the receiver (in the Constant standard function)  will it work..?
    Points will be awarded...
    regards
    Sampada

  • IDoc - IDoc Mapping issues

    Hi Friends,
    I am again posting this thread in more ellaborated way since I  did not got the solution...please give me the solution if any one knows...
    I have one scenario as below:
    Sender system: Will have MATMAS05 IDoc structure.
    Receiver Systems: There will be say 4 R/3 receiver systems.
    The IDoc segments should be distributed to some (all R/3 Receiver system)
    i.e Based on plant and Logical system some segments of the IDoc MATMAS04 from sndr system should move to particular receiver R/3 system and like wise some other segments to another Rcvr R/3 System and so on.
    Could you please help me in this regard how to start with this..
    Is BPM required for this scenario..?
    If so then is BPM able to call the Table name which resides in the ABAP stack..?
    then how to proceed for this ..?
    Eagerly waiting for you valuable solutions/approach
    The Source structure MATMAS04.
    I think we need target structure :Many MATMAS04 IDocs is required because some segments of the IDoc MATMAS04 from source system should move to particular receiver R/3 system and like wise some other segments to another Rcvr R/3 System and so on.
    Can I go for Duplication subtree in the target or shall I have to go to message tab in the mapping editor andf enter the IDoc of required numbers...? so that I can have multiple say 4 IDoc structure( if receiver is four).
    Please tell me how to distribute the source IDoc particular segment to particula receiver based on plant num and logical system details in ABAP stack.
    If I map the control record EDIDC_40- RCVPOR of the target structure to the receiver (in the Constant standard function) will it work..?
    Points will be awarded...
    regards
    Sampada

    Sampada,
    You do not need BPM in this case. You can just create different mapping for each receiver system with different segment.
    and in configuration you can specify which mapping rule to be used for each receiver. This way it would be much faster. This is very easy.!!
    Again you do not need BPM for this....
    Let me know if you need more details.
    Nilesh

  • 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

  • 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 for VMI

    Hello,
    We'd like to store the idoc data extracted from EDI 852 inbound transaction in an infocube for DP. SAP Note 154604 suggests that trx <b>/sapapo/map_tser</b> can be used for specifying the infocube.
    However, in SCM 4.1, this trx has a field for PA only, not infocube. I was wondering how to pull the data into infocube.
    Any suggestions would be appreciated.
    Thank you,
    Malli

    Hello,
         I'm afraid that i can not help you.
          I am witting you because i am trying to get information about VMI/ SMI implementation, for ex. IDOC mapping, best practices, etc.
          I will be appreciate if you can provide me this information.
    Thanks&Rgds
    Angélica

  • Need to generate 2 idoc"mapping issue"

    Hi Experts,
    When the Purchase_order_type is coming like HIGH,REGULAR,NEW,BOUNCED. In this case i need to generate 2 idoc, based on HIGH is one and Other than HIGH is one, even though if it's REGULAR,NEW,BOUNCED.
    I can't generate. pl suggest
    rgds
    selvam

    Hi,
    Please make sure you will sort the data in your select query.
    Now, you need to have two idocs in mapping. Click on Duplicate Subtree to have second IDOC. Now lets assume, your first IDOC represents mapping when ORDER TYPE is HIGH and your second IDOC represents mapping when your ORDER TYPE is not equal to HIGH that is NEW, BOUNCED, REGULAR etc.
    I have defined Source and Target data type as follows.
    Source Data Type:
    SDN
       <Row>
          <CQ_NO/>
          <ORDER_TYPE/>
          <LINE_NO/>
       </Row>
    Target Data Type:
    SDNTarget
       <IDOC>
          <Node>
             <CQ_NO/>
             <ORDER_TYPE/>
             <ItemNode>
                <LINENO/>
             </ItemNode>
          </Node>
       </IDOC>
    Mapping for IDOC 1:
    IDOC:
    Order Type -->Fix Values --> remove context
    Fix Values (This should have default u201Cfalseu201D and HIGH = true)
    Concatenate Output of point 1 with CQ_NO (Context of CQ_NO should be at SDN)
    Output of point 3 --> Split by value (value changed) -->collapse context
    Output of point 4 will be first input to u201CStart withu201D function and second input will be constant u201Ctrueu201D
    Output of Point 5 --> create if --> IDOC
    Node:
    Map with constant
    CQ_NO:
    Order Type --> Fix Values --> remove context
    Fix Values (This should have default u201Cfalseu201D and HIGH = true)
    Concatenate Output of point 1 with CQ_NO (Context of CQ_NO should be at SDN)
    Output of point 3 --> Split by value (value changed)
    User Format By example. Pass CQ_NO (Context of CQ_NO should be at Row) as first input and second input should be output of point 4.
    Pass Output of format by example that is point no 5, to collapse context --> Split by value (Each Value) --> CQ_NO
    ORDER_TYPE
    Order Type --> Fix Values --> remove context
    Fix Values (This should have default u201Cfalseu201D and HIGH = true)
    Concatenate Output of point 1 with CQ_NO (Context of CQ_NO should be at SDN)
    Output of point 3 --> Split by value (value changed)
    User Format By example. Pass ORDER_TYPE (Context of CQ_NO should be at Row) as first input and second input should be output of point 4.
    Item Node:
    Order Type --> Fix Values --> remove context
    Fix Values (This should have default u201Cfalseu201D and HIGH = true)
    Concatenate Output of point 1 with CQ_NO (Context of CQ_NO should be at SDN)
    Output of point 3 --> Split by value (value changed)
    Output of point 4 will be first input to u201CStart withu201D function and second input will be constant u201Ctrueu201D
    Output of Point 5 --> create if --> IDOC

  • 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

Maybe you are looking for

  • How to tell Windows to open photos in Lightroom?

    I have Lightroom and Elements 12 on my computer (Windows Vista Home Premium). The computer automatically opens every photo in Elements 12.  However, I want to open my photos in Lightroom.  How can I change this setting?  Thank you.  June E.

  • Working with badge.swf and air.swf (browser api)

    I basically want to install and run my app through the browser so ive been testing but can't manage to figure out how the air.swf api works. i am stuck at loading air.swf. the page below has a tutorial but a downloadable sample code would be perfect,

  • Leave details in custom table

    Hi Experts, When employee will apply a leave through standard ess/mss package that time in SAP backend i want to store the information in custom table with PERNR BEGDA ENDDA. How i can achive

  • Missing subVI NI_AALBase.lvlib:Mean.vi

    This is a duplicate post, but the other was a response to a 4 year old posting.  I have an application that was originally written in LV 8.x that I have just modified with LV2009.  I am now getting the same error reported in this thread, that being "

  • Escape character while doing export and import

    Hi, I am doing a typical exp and imp. Works fine except one table which has rows which has sql in it like SELECT NAME FROM EMPLOYEE E WHERE E.NAME=DEPARTMENT.NAME, SELECT CITY FROM EMPLOYEE E WHERE E.CITY=?. I am not able to import the second row but