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

Similar Messages

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

    Hi,
    problem in maping.
    i mapped all elements.i could not mapped one element.
    Deletionflag value mapped with decription.
    hear we used valumapping.
    The requirement is     If delete flag is on à u201Cstatus = Inactiveu201D else u201Cstatus = activeu201D.
    i mapped as the requirement but while i do testing in mapping...have to get the inavtive.. but i could not get inactive.
    have to change any thing in mapping part.
    Thans and regards,
    Kesava.

    Hi,
    I have just checked and it will for sure work the following way:
    1. Use "if" function of Boolean group.
    2. Use your source field (delete flag) passed to "exists" function from Node Functions as the left-side value of your "if".
    3. Use a constant "Inactive" as the top-side value.
    4. Use a constant "Active" as the bottom-side value.
    5. Map the "if" function result to your result field.
    6. Save and activate to test, or test in your message mapping directly.
    Hope this helps,
    Greg

  • Flat file to idoc mapping issue

    Hi Gurus,
    i had a flat file format in sender side as below:
    H_ID     TYP_CODE    line_elemet      Quantity
    5896  STANDARD                       1.transmitter    1
    5896                  STANDARD       2.xxxxxxxxx           1
    5896                   STANDARD      3.yyyyyyyyy  2
    6895                  STANDARD       1.aaaaaaaaa        1
    9436                  STANDARD       1.bbbbbbbbb          4
    9436                  STANDARD       2.ggggggggg          3
    The above file need to be send to an Idoc.
    for which same header_ID values should create only one header segment, under that many a line segments should create as many line items appear on that header_id value.
    Here my query is how to suppress the repetetive header values to create onlyone header segment. And how to create as many line_item segments as the number of line items appear.
    points obvoius for the response
    Thanks in advance,
    Sekhar.

    About map problem I suggest youn to see the following link that are really helpful to improve knowledge about mapping:
    /people/sravya.talanki2/blog/2005/08/16/message-mapping-simplified--part-i
    /people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii
    I suggest you to see the following link to learn more about mapping:
    Mapping functionality in XI
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9202d890-0201-0010-1588-adb5e89a6638
    SAP Exchange Infrastructure - Graphical_Mapping
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/6658bd90-0201-0010-fbb6-afe25fb398d3
    SAP Exchange Infrastructure - Graphical Mapping Exercise
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/fd5ebd90-0201-0010-d697-91374d5b5190
    SAP Exchange Infrastructure - Graphical Mapping - Advanced
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/be05e290-0201-0010-e997-b6e55f9548dd
    SAP Exchange Infrastructure: Mapping Patterns - Understand Context Handling in Message Mapping - Webinar Powerpoint
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f59730fa-0901-0010-df97-c12f071f7d3b
    SAP NetWeaver Exchange Infrastructure Mapping Troubleshooting - Webinar Powerpoint
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e01e9400-9e81-2910-20a5-a862945a5e98
    Mapping Lookups a RFC API
    Mapping lookups - RFC API
    XI 3.0 New Mapping Features
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8a57d190-0201-0010-9e87-d8f327e1dba7
    I hope these links will be usefull.
    Regards,
    Salvatore

  • Flat file to idoc - mapping

    Gurus,
    I have a flat txt file of following format
    Doc#         Whse        Item          Matnr         date                       code
    3256999     WH20     1001     861927     09/12/200713:24     9596     2
    3256999     WH20     1002     861928     09/12/200713:24     9596     2
    3256999     WH20     1003     861929     09/12/200713:24     9596     2
    3257169     WH20     2000     861964     09/12/200713:24     9596     2
    The first 2 columns are header fields rest all are item fields. How do i map this to an Idoc, so as to move doc# and whse to header segment and rest of columns to add multiple item segments on the same idoc ? So for above file i should get 2 idocs only.

    You can navigate thru these links to get more information:
    /people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii
    http://help.sap.com/saphelp_nw04/helpdata/en/ef/df564b6aa24fc9ab0d685460747de5/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/ee/bf9640dc522f28e10000000a1550b0/frameset.htm
    Do your want the source and target structures to resemble the structures below?
    Source:-
    <source_file>
    <row_1>
    <item_a>
    <item_b>
    <item_c>
    </row_1>
    <row_2>
    <item_p>
    <item_q>
    <item_r>
    </row_2>
    <row_3>
    <item_x>
    <item_y>
    <item_z>
    </row_3>
    </source_file>
    Target:-
    <target_idoc>
    <item_a>
    <item_b>
    <item_c>
    <item_p>
    <item_q>
    <item_r>
    <item_x>
    <item_y>
    <item_z>
    </target_idoc>
    If so, then all you need to do is to use the node function: "remove context" for all the items under your rows. In other words,do the following mapping:-
    *source_file mapped to target_idoc
    *map each of the items under all the three rows in the following way:-
    "source item" mapped to "remove context" (node function) mapped to (corresponding) "target item".
    Also check the occurences for each of your variables in both source and target structures.
    /people/ravikumar.allampallam/blog/2005/03/03/creating-purchase-order-idoc-through-xi
    Regard's
    -Prabhakar.A

  • JDBC to Idoc mapping - create multiple Idocs from 1 JDBC input

    I am importing data using JDBC and I want to put the data in an IDoc on a SAP system.  my data is about 100,000 rows, but my Idoc (ZIDOC) is defined as 1-35,000 for the segments.  I have followed Ossnote 814393, and also set up my Interface Mapping to use my JDBC source and the Idoc as the target.  In my Message Mapping, i use the source as my JDBC Message Type, and the target is my External Definition Idoc (changed to be 1 to unbounded). 
    My incoming JDBC mapping is:
    JDBCinput     (1:1)
      -row            (0...Unbounded)
          -part        (1:1)
          -unit        (1:1)
          -type       (1:1)
    my outgoing Idoc (from external definition) is:
    ZIDOC           (1:1)
      -IDOC          (1...Unbounded)
         -Begin       (required)
         -EDI_DC40  (1:1)
         -Zsegment   (1...35,000)
            -part        (1:1)
            -unit        (1:1)
            -type       (1:1)
    I currently map JDBCinput = ZIDOC and IDOC,  row = Zsegment, and the rest of the rows match. 
    When I use this mapping, my first 35,000 rows from my JDBC input gets mapped to ZIDOC with 35,000 segments, but the remaining 65,00 rows from my JDBC input just seem to be lost, as only this one ZIDOC is created.  I would expect to see 3 Idocs created, 2 with 35,000 segments each, and the 3rd Idoc created with 30,000 segments.
    Does anyone know what I need to change to get this mapping to work and create the extra needed Idocs?  Can this be done with out using a BPM?
    Any guidance? 
    Thanks
    Jake

    HI,
    Just try out with context change and check if it works
    In this type of case, it is easy to use Java mapping so that you can generate target structures as you like.
    Hope this helps,
    Regards,
    moorthy

  • Idocs mapping

    Hi All,
    I have a question here.
    Whenever we Syndicate from MDM an XML file which is using the MATMAS05 structure,we can view only the data segments and their fields in the destination preview that means,we are not syndicating the control and status segment.Will this not cause the idocs to fail as the control seg contains some required fields.
    If we are using XI in the scenario,will it be able to do the control and status segment mapping without MDM syndicating those segments to XI in the xml file.
    How do we take care of this?
    Useful answers will be rewarded
    Regards
    Simona

    Becky/Simona,
    If you have gone through the blog provided by Maheswri, then please see the first method of sending Idoc, it says if dont click checkbox and disable the segment, the control record will go with default values.
    I think Simona is sending data segment only from MDM not control segment. so just do mapping and try according to that blog.
    Please also read this from help.sap.com:
    Apply Control Record Values from Payload or not:
    If you set the indicator, the conversion of communication parties to the IDoc partner is only possible for systems that are not logical systems.
    If you do not set the indicator, all combinations of communication parties and services are handled as services without party.
    If the IDoc XML structure contains a control record during outbound processing on the Integration Server, it is rejected and created again by the IDoc adapter. If you want to include additional values in the control record, set the indicator and provide an appropriate mapping for the values. See also: Fields of the IDoc Control Record.
    So i think the scenario should work without control record .
    BR,
    Alok

  • Plz , need help on IDOC mapping

    Hi friends
    I need help on mapping IDOC (invoic02) to a customer fields to be sent to a printhouse .
    The idoc contains several Item lines , from 1  and up after for instance
    The fields  E1EDP01-MENGE and E1EDP26-BETRG  could be repeated many times , the customer wants  eah line item (quantity , price and subtotal )  in separate  lines.
    What is the best approach to do the mapping , and how can I loop in the idoc segments in order to get each line separetly.
    Many thanks in advance.

    Hi
    Thanks again , plz bear with me as i am new to this kind of assignment.
    This is a part of my requirement, so i suppose that I have to create a Data type as node for the customer fields corresponding to the node in IDOC and just map the source node to the target node , and it will repeat it self as many times as there is line items in the sales order.
    Customer fields              Idoc fields.
                        segment E1EDP01
    DETAIL_ANTAL     E1EDP01-MENGE  -  LOOP
                         segment E1EDP26
    DETAIL_STK_PRIS     E1EDP26-BETRG - QUALIFIER = 001- LOOP
    DETAIL_SUBTOTAL     E1EDP26-BETRG - QUALIFIER = 003 LOOP
    If I change the context of the source, will it not affect the source node at all.
    best regrads.

  • Query on Context Handling ( File to IDOC mapping )

    Hi All,
       I've a scenario from file to IDOC. The structure of file is as follows.
    Struct ( occurs unbounded times )
    |
    - Name
    Str. of IDOC
    Node
    |
    - name1
    - name2
    - name3
    - name4
    The problem is that the name in file can occur many times.
    So if say name occurs 2 times in the file then it has to be mapped to name1 and name2 in IDOC.
    If Name in file occurs 3 times it'll be mapped to name1, name2 and name3 in IDOC.
    Am looking for some help.
    Thanks,
    Joe.

    Hi Joe,
    For every name in the file, you will have to map the value to the name field in the IDoc. Use SplitByValue node function available in the graphical editor. You will be able to achieve this mapping. For more about the usage, here's the documenation and a blog(where an example has been given):-
    http://help.sap.com/saphelp_nw04/helpdata/en/21/3bb8c495125e4eb5969f0377885fe0/frameset.htm
    /people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii
    Regards,
    Sushumna

  • Issue in segment creation for File to IDOC mapping

    Hi,
    I have file with many feilds, i need to create a segment in IDOC for unique combination of 2 feilds.
    eg:
    408
    430050
    segment
    208
    430050
    segment
    208
    430050
    208
    460100
    segment
    208
    452010
    segment
    408
    432000
    segment
    208
    432000
    segment
    the value for the combination of first column and 2nd column are equal it should trigger one segment instead of 2segments else(for different combination) trigger the segment
    eg from table:
    in table for 208,430050 is occuring twice but it should trigger only one segment(unique combinations of 2 columns), for all other combinations it should trigger one segment for each.

    Hi Swapna,
    You can use below mapping.
    UDF:
    Execution type : All Values Of Context
    public void removeDuplicates(String[] context, ResultList result, Container container) throws StreamTransformationException{
    HashSet<String> hashSet = new HashSet<String>();      
            for (int i = 0; i < context.length; i++) {
                if (hashSet.add(context[i]))
                   result.addValue(context[i]);             
                else {
                   result.addSuppress();              
    Reards,
    Praveen.

  • IDOC mapping 1 to 0..unbounded problem in PI 7.1

    All,
    We've recently implemented SAP PI 7.1 but we face an issue at the moment. Let me describe the case
    We have a Source message which is the DEBMAS IDOC.
    Within the IDOC we use mappings for Header data and for Detail Data.
    Mapping the header data is no issue that is a 1 to 1 message mapping to our canonical data.
    BUT
    When we want to use the message split mapping in order to extract the detail data PER line we have discovered a problem.
    When within  a message mapping or within the operation mapping we use as Source the IDOC ( occurancy 1 ) and the target we take our detail canonical message (occurancy 0..unbounded) we are getting the message in our mapping that the IDOC cannot be resolved.
    When we change the target occurancy to 1 then the mapping works well.
    Is there any one facing the same issues as we do.
    thanks in advance

    This is an issue with queues with different length. You should always avoid this, as you cannot be sure, what happens.
    Instead of assigning a single entry queue to a target that expects a multiple entry queue, you should go for a generating function. A generating function delivers as many queue entries as requested.
    In your scenario, just use an empty constant. Of you have a value to be repeated, use CopyValue.
    Regards
    Stefan

  • Help required in Idoc mapping!!

    Hi,
    I have an idoc to file scenario:
    Idoc looks like this
    Idoc
    Header
    E1BPE1WLMV (0.....999)
         field1
    E1BPE1MALG (0.....999)
          field2
    Target
    Details
         field3
    My requirement is that :
    field 3 should b mapped to only the first occurence of field1. (and not the subsequent occurences).
         Please suggest how can i proceed ?

    Thanks guys...but I have got some more inputs for my requirement now:
    Source:
    Idoc
    Header
    E1BPE1WLMV (0.....999)
    field1
    E1BPE1MALG (0.....999)
    field2
    Target:
    Details
    field3 (= field1)
    field4 (=field2)
    The Details should be created for unique combination of field1 and field 2. For e.g.
    Field 1 comes 2,3,4
    Field 2 comes 1,5
    Then detail should be created 6 times for
    field1= 2 & field2= 1
    field1= 2 & field2= 5
    field1= 3 & field2= 1
    field1= 3 & field2= 5
    field1= 4 & field2= 1
    field1= 4 & field2= 5
    Could you please help ?
    Edited by: jayagupta21 on Apr 14, 2011 7:24 AM

  • 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

  • Automatic (EDI) vendor posting fails - can I update the IDOC mapping?

    Hi -- I am testing a new intercompany sales process and having trouble with returns. The INVOIC01 IDOC for the vendor posting (document type VC - Vendor Credit FI) is failing because text is required on the line item (field SGTXT on BSEG). So it appears that the IDOC doesn't have this text field mapped.
    If I can identify a field in the existing IDOC to use for the text, is there a way that I can add that mapping? For example, let's say I want to populate the BSEG text with field BELNR on segment E1EDP01, is there a way to specify in the INVOIC01 idoc that this field should be plugged into BSEG-SGTXT? I don't have EDI experience, so this is all new to me!
    Thanks
    Allison

    Hi Allison,
    Since it's just for testing, just change the Text field on FI field status group become optional entry. It will solve your problem rather than modifying the standard IDOC
    Regards,
    Gumanti

Maybe you are looking for

  • Setting the Bleed in Adobe Photoshop Cs4 Extended

    I have been to the page in support where it points to the window that pops up after you click the print button. I do not see anything on that window that has anything to do with a bleed. Any help with this would be greatly appreciated.

  • Why can't iTunes cue up next song?!

    I've been using iTunes for years now, maybe I'm missing something but I can't understand why you can't simply cue a song to play next from within the main library..?! Surely this must be one of the most basic and useful features you could have in a m

  • Transfering information between Oracle 8 and SQL Server 2000

    I want to transfer some of the data stored in 4 different tables in my Oracle database and easy as possible to my SQL Server 2000 database. I found the import option in SQL2k which uses ODBCconnection to the Oracle but it needs the migration suit as

  • AD object security inheritance getting disabled

    Hi, I am observing few uses are having security inheritance issue and AD administrators are losing their permissions on these user objects. Inheritance is getting removed automatically after some time even after setting it manually as per below scree

  • CO-PA for good issue documents are not created

    Dear All We are using both account & cost based CO-PA , actually the problem is this that when we are doing the sales cycle, after billing my CO-PA document created  but the same when I do delivery COGS document not created  ,actually for sales I am