Splitting to multiple IDoc

hi,
  my scenrio is flie to idoc.
i recevie the file and i want to split the message coming from the file to different idoc based on a field(e.g doc. number).
i am using BPM..plz suggest me the steps type that is necessary for this process...
thanks....

please have the steps in bpm as
1. Receive step ( message received form the file content conversion )
2. Transformation step with I:N mapping with AP and AR as target message types
3. A fork without end condition
4. A Block in each of the branches of folk
5. A Send step in each of the blocks
/people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
File->different type of mesages->split->IDOCs
also we can achieve this with XSLT see the below link may be useful..
/people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping

Similar Messages

  • File Split to Multiple IDocs

    Hi all
    I have a problem with splitting an flat file into multiple IDocs. My attempt was to do this without BPM as mentioned in some similar posts, but I am not sure about how to get the file splitted. The flat file has multiple orders with multiple line items and each order should create a single IDoc of type ORDERS.ORDERS05. I have imported the IDoc as external definition with IDOC being 0...unbounded. My input file looks as following:
    ORDER1|LINE1|SOMETHING
    ORDER1|LINE2|SOMETHING
    ORDER1|LINE3|SOMETHING
    ORDER2|LINE1|SOMETHING
    ORDER2|LINE2|SOMETHING
    I have been getting this into the appropriate PI XML structure like:
    MT_Order
    ...OrderRecordSet  (0...unbounded)
    ......OrderRecord    (1...1)
    How do I get this into multiple IDocs for each ORDERx with its n LINE items? I was thinking of SplitByValue with value change on PO, but this doesn't seem to work.
    Any feedback appreciated. Thanks,
    Daniel

    Dear Daniel,
    You can achieve the required by using MultiMapping without BPM. Pls refer to the following blog for the same,
    /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
    Apart from the above, if allowd you can changed the IDOC occurrence and change the XSD of the IDOC and you can achieve the requirement with the simple message mapping.
    Thanks
    Prasanna

  • 1:N mapping - One EDI document (ST-SE) to be split into multiple idocs

    Hello Experts,
    I am working on a scenario where the source is an EDI 204 document. Now in this document, the L11 segment has a count of the total number of items in the source EDI document.
    ISA
    ST
    L111110BC   <------- 2 is the number of OIDs that can appear
    OID*1
    LADCAS3****BL84985197CGZZAM000521*122
    LAD******CCCC12345678COCO12345678PMPM123456
    OID*2
    OID*910
    OID*911
    OID*1110
    SE148744
    IEA
    Now both the OIDs are in a single ST-SE EDI document. The requirement is that if the number of OID segments exceed 910 in a single document, then the output needs to be split with one idoc containing 910 items (OID, LAD, LAD...). The next set of 910 OIDs (from OID*911 onwards)need to be output into a new idoc.
    The header part for both the idocs would be the same. Only the detail part would differ for the next set of OID, LAD segments.
    I do not intend to use BPM. I want to achieve this using using graphical mapping.
    Awaiting your replies.
    Thank you
    Vincent

    Hi Vincent,
    1:n Multi mapping can be used for that. Please refer to the following link for how to implement a message split using multi mapping.
    http://help.sap.com/saphelp_nw04/helpdata/en/26/9e97b0f525d743882936c2d6f375c7/frameset.htm
    Honestly speaking, I have never tried using that myself. But after seeing your post I am now keen to develope a similar interface. Will let you know if I am successful.
    Regards,
    Suddha

  • One IDOC split to multiple IDOC's

    Scenario is in ECC 6.0 and SAP PI 7.0 .
    SAP is sending Custom IDOC to PI 7 and PI 7 is sending that to receiver system.
    The custom IDOC sometimes contains more than 250 segments and receiver system is not able to process IDOC's with more than 250 segments. Receiver system is having this limitation.
    QNS :
    (1) What are options to restrict IDOC's creation to 250 segments in SAP 
    OR
    (2) Can it be taken care at SAP PI 7.0 end. Like 1 doc is coming to PI with more than 250 segments and Can PI break this into multiple idoc's of max 250 segment length so that no data loss is there.
    Your suggestions are needed for both options.
    Thanks in advance..

    Try out this mapping-
    You need use 1:n mapping by making the occurance of target MT to unbounded.
    Idoc -> Index(context,increment1)-> Division by n(250)->floor->SplitByValue->collapseContext->TargetMT
    Segment ->Index(context,increment1)-> Division by n(250)->floor->SplitByValue->Target Segment
    Iam not sure on how to build this logic in SAP.But the effective way is to implement this restriction in SAP before IDoc reaching PI.

  • Splitting multiple IDoc XML files into single IDoc messages for R/3

    Hi all. I have a problem splitting IDoc XML files coming in to XI. I currently have an interface that takes in single store sale IDoc transactions (type WPUBON01) in an IDoc XML file. I then have some complex graphical mapping on the IDoc before sending to R/3 via the IDoc adapter. This works fine. However, we now wish to include multiple sales in one file i.e. many WPUBON01 IDocs. I could use message splitting to do this BUT the mapping is so complex, I do not wish to have to change it to enable the processing of many IDocs in one file instead of just one.
    What I want to do: have one mapping splitting a multiple IDoc XML file into single IDoc messages and then another taking these single messages as before and performing the mapping. I cannot find a way to do this in one interface; the main problem I'm having is getting XI to split the multiple IDocs into many single IDoc messages within XI itself. I'd be very grateful for any advice on the best way to do this.
    Thankyou.
    Stuart Richards (Halfords, UK)

    Bhavesh,
    Thanks again for a clear explanation... I'm moving forwards but still struggling. I've been on this all afternoon today (after a break on other things) and just cannot get my message to split properly (though the SOAP adapter problem I had earlier is now fixed!). If my initial IDoc XML file contains this format:
    <WPUBON01><IDOC>....</IDOC>
                          <IDOC>....</IDOC>
                          <IDOC>....</IDOC></WPUBON01>
    .. I'm not sure what the cardinaility on the first message mapping and interface mapping should be. I'd have thought the source interface would be 1 and the target would be 0..unbounded but this isn't working. I'm trying different things but I get different errors each time. Currently, I have the above cardinality in my first interface and I'm passing in the following data:
    <WPUBON01><IDOC><EDI_DC40><TABNAM>EDI_DC40</TABNAM><MANDT /><DOCNUM /><DOCREL>620</DOCREL><DIRECT>2</DIRECT><IDOCTYP>WPUBON01</IDOCTYP><MESTYP>WPUBON</MESTYP><MESCOD>ST6</MESCOD><SNDPOR>WPUX</SNDPOR><SNDPRT>KU</SNDPRT><SNDPRN>0518</SNDPRN><RCVPOR /><RCVPRT>KU</RCVPRT><RCVPRN>0518</RCVPRN><REFINT>00000003832292</REFINT></EDI_DC40><E1WPB01 SEGMENT="1"><POSKREIS>0518</POSKREIS><KASSID>29</KASSID><VORGDATUM>20071029</VORGDATUM><VORGZEIT>160633</VORGZEIT><BONNUMMER>1001</BONNUMMER><KASSIERER>100</KASSIERER><CSHNAME> </CSHNAME><BELEGWAERS>GBP</BELEGWAERS><E1WPB02 SEGMENT="2"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="3"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="4"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="5"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="6"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="7"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="8"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="9"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="10"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="11"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="12"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="13"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="14"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="15"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="16"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB06 SEGMENT="17"><VORZEICHEN></VORZEICHEN><ZAHLART>PTCS</ZAHLART><SUMME> </SUMME><KARTENNR /><ZUONR>1001</ZUONR></E1WPB06></E1WPB01></IDOC><IDOC><EDI_DC40><TABNAM>EDI_DC40</TABNAM><MANDT /><DOCNUM /><DOCREL>620</DOCREL><DIRECT>2</DIRECT><IDOCTYP>WPUBON01</IDOCTYP><MESTYP>WPUBON</MESTYP><MESCOD>ST6</MESCOD><SNDPOR>WPUX</SNDPOR><SNDPRT>KU</SNDPRT><SNDPRN>0518</SNDPRN><RCVPOR /><RCVPRT>KU</RCVPRT><RCVPRN>0518</RCVPRN><REFINT>00000003832293</REFINT></EDI_DC40><E1WPB01 SEGMENT="1"><POSKREIS>0518</POSKREIS><KASSID>29</KASSID><VORGDATUM>20071029</VORGDATUM><VORGZEIT>160634</VORGZEIT><BONNUMMER>1002</BONNUMMER><KASSIERER>100</KASSIERER><CSHNAME> </CSHNAME><BELEGWAERS>GBP</BELEGWAERS><E1WPB02 SEGMENT="2"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="3"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="4"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="5"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="6"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="7"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="8"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="9"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="10"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="11"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="12"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="13"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="14"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="15"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="16"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB06 SEGMENT="17"><VORZEICHEN></VORZEICHEN><ZAHLART>PTCS</ZAHLART><SUMME> </SUMME><KARTENNR /><ZUONR>1002</ZUONR></E1WPB06></E1WPB01></IDOC><IDOC><EDI_DC40><TABNAM>EDI_DC40</TABNAM><MANDT /><DOCNUM /><DOCREL>620</DOCREL><DIRECT>2</DIRECT><IDOCTYP>WPUBON01</IDOCTYP><MESTYP>WPUBON</MESTYP><MESCOD>ST6</MESCOD><SNDPOR>WPUX</SNDPOR><SNDPRT>KU</SNDPRT><SNDPRN>0518</SNDPRN><RCVPOR /><RCVPRT>KU</RCVPRT><RCVPRN>0518</RCVPRN><REFINT>00000003832294</REFINT></EDI_DC40><E1WPB01 SEGMENT="1"><POSKREIS>0518</POSKREIS><KASSID>29</KASSID><VORGDATUM>20071029</VORGDATUM><VORGZEIT>160634</VORGZEIT><BONNUMMER>1003</BONNUMMER><KASSIERER>100</KASSIERER><CSHNAME> </CSHNAME><BELEGWAERS>GBP</BELEGWAERS><E1WPB02 SEGMENT="2"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="3"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="4"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="5"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="6"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="7"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="8"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="9"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="10"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="11"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="12"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="13"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB02 SEGMENT="14"><VORGANGART /><QUALARTNR>ARTN</QUALARTNR><ARTNR>000000065601301390</ARTNR><VORZEICHEN>-</VORZEICHEN><MENGE>1</MENGE><AKTIONSNR>0000000000</AKTIONSNR><REFBONNR> </REFBONNR><E1WPB03 SEGMENT="15"><VORZEICHEN /><KONDITION>PN10</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03><E1WPB03 SEGMENT="16"><VORZEICHEN></VORZEICHEN><KONDITION>ZPN1</KONDITION><KONDVALUE>1.00</KONDVALUE><CONDID /><QUALCONDID /></E1WPB03></E1WPB02><E1WPB06 SEGMENT="17"><VORZEICHEN></VORZEICHEN><ZAHLART>PTCS</ZAHLART><SUMME> </SUMME><KARTENNR /><ZUONR>1003</ZUONR></E1WPB06></E1WPB01></IDOC></WPUBON01>
    In the message monitor, I get a chequered flag. Great. However, I get the dreaded error 500 in the SOAP receiver comm channel:
    SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 500 Internal Server Error
    Exception caught by adapter framework: SOAP Error
    Delivery of the message to the application using connection AFW failed, due to: SOAP Error.
    Any ideas as to what this might be?! I'm getting there.... if I get a solution out of this, I promise to write the blog myself!
    Cheers
    Stuart

  • Split the IDOC into multiple IDOC if the IDOC has more than 500 records

    Hi All,
    I developed an outbound IDOC in which we are facing an issue.
    There is some limitation on the maximum idoc size it can handle.
    If number of records is more than 500, split the idoc into multiple iDoc's, e.g. if it would have 1300 records , the result would be 2 iDoc's with 500 records, and the last one would have 300 records
    How can i acheive this.
    Regards
    Jai

    Hi,
    1) first you need to know which message type/Idoc type you are triggering.
    2) Get the Corresponding processcode from Partner profiles(WE20/ WE41).
    3) Then the look for prper user-exit in the related processing FM.
    4) write logic to split the IDoc accordingly.
    if no proper user exit available then copy the standard processing FM and need to all ALE related configurations.
    Catch hold any ABAP expert in your team to do all these.
    Suresh

  • Split Single IDOC into Multiple IDOC's Based on Segment Type

    Hi Experts,
    I have a scenario IDOC to FILE ,  Split Single IDOC into Multiple IDOC's based on Segment Type
    Outbound:
    ZIdocName
    Control Record
    Data Record
    Segment 1
    Segment 2
    Segment 3
    Status Record
    I should get output like below
    Inbound:
    ZIdocName
    Control Record
    Data Record
    Segment 1
    Status Record
    ZIdocName
    Control Record
    Data Record
    Segment 2
    Status Record
    ZIdocName
    Control Record
    Data Record
    Segment 3
    Status Record
    Please suggest me step by step process to achieve this task.
    Thanks.

    Thanks a lot Harish for reply.
    I have small doubt. According to your reply , If we have N number of segments in single IDOC with same fields in all segments then for splitting Single IDOC into Multiple IDOC's based on Segment Type we need to duplicate N number of target IDOC tree structure.
    Is that possible to Split single IDOC into Multiple IDOC's based on Segment Type using only one Target IDOC structure without duplicating the Target IDOC structure tree.

  • How can I split an Orders05 iDoc into multiple iDocs?

    Hello,
    Can one of you experts please tell me how I can split an ORDERS05 iDoc into multiple iDocs based upon Delivery addresses? 
    For example, if the iDoc contains 3 different Delivery Addresses then I need to split it into 3 iDocs.
    It has been suggested to me that I can Create a custom function module. In this custom fm split the idoc into 3 based on the delivery address and create it using the FM MASTER_IDOC_DISTRIBUTE.
    Problem is I don't know how to do this.  Any help is greatly appreciated.  Thanks.
    Dan

    Hi Dan Avis
    Write a Custom  Z program .
    1 get order05 idoc number....
    2 get the segment details...(Based on you condition...)
    3 In a loop  send the data to the FM MASTER_IDOC_DISTRIBUTE  (Based on you condition...)
    4 IDOC will generated,,,every loop and
    5 Change the status of original idoc .
    or
    Create Function module and use the FM as process code to create 3 idocs...and processs...new generated idoc and block original idocs...
    Call me if you have questions  @ 302 290 5677
    Thanks
    Ramesh

  • How to Split Single Outbound Idoc into Multiples

    Hi guys
    Hope you all are doing good.
    Can you please let me know , How to Split Single Outbound IDOC into multiples.
    I am looking for some sought of configuration in IDOC/from SHIPMENT Configuration level.  Because this needs to be implemented for Shipment IDOCS.  Please let me know if this can be done through configurations apart from implementing  User exit or copying the outbound shipment function module.
    Awaiting for your valuable replies.
    Best Regards
    Shiva

    Hello,
    1. Routes
    2. Packaging used
    3. Shipment Type
    Regards
    Waza

  • File to multiple IDOC split without BPM

    Hi expert,
    I have a flat file to IDOC scenario. In flat file, I have thousands of rows. Each row need to create one IDOC. In IDOC, I have 3 segments(seg2 is the child of seg1, seg3 is the child of seg2). Each field in flat file will be mapped to the same name in IDOC. Here is my example structure:
    MT_Flatfile
    row--0:unbounded
    seg1a --0:1
    seg1b --0:1
    seg2a - 0:1
    seg2b - 0:1
    seg3a - 0:1
    seg3b - 0:1
    Sample_IDOC_name
    IDOC - 0:unbounded
      EDI_DC40
      seg1 - 1:1
        seg1a - 0:1
        seg1b - 0:1
        seg2 - 0:unbounded
          seg2a - 0:1
          seg2b - 0:2
          seg3 - 0:unbounded
          seg3a - 0:1
          seg3b - 0:1
    I mapped row to IDOC. It did create multiple IDOCs. But each IDOC only contain seg1. Then I mapped row to seg2 and seg3 node. The first IDOC has three segments and the rest still only have seg1. And in first IDOC, the seg1 is filled correct. seg2 and seg3 have multiple records. Can anyone tell me how I do mapping without using BPM for this case to make each IDOC has one seg1, one seg2 and one seg3?
    Thanks a lot.
    Charles
    Edited by: Charles M  Gates on Nov 22, 2011 4:08 PM
    Edited by: Charles M  Gates on Nov 22, 2011 4:09 PM

    Hi,
    Your issue come from certainly to the fact that in source file, for at least one row, there is a segN which is missing (see occurence "0..1").
    And so after that, you have a bad behavior to the target Idoc segment, due to the fact you did not manage properly the Context. In Message Mapping, use the right click to display your context, and you will see a difference of context between your source and the desired target.
    the error certainly appears for a sub-segment which exist whereas its highest level is missing (in your source).
    regards
    Mickael

  • Message Split -- File to Idoc Scenario  -  ( Without BPM )

    I have multiple records coming to XI in a File and I have to create Multiple Idocs to R/3.
    Due to Complexity of mapping I'm splitting Maaping step into 2 message Mappings.
    A-->B
    B-->C
    In the 2nd Mapping step  I'm doing message Split meaning for each Source record I'm creating multiple Idocs ( To be precise each record on the source becomes 4 idocs in the Target.
    2nd Mapping step is as follows
    Source 1..1
      Sourcerecord 0.. Unbounded
        field1  0..1
        field2  0..1
        filed3  0..1
    Target
    Message 1
        Idoc   1.. Unbounded
          Idoc Structure..
    Message 2
          Idoc   1.. Unbounded
    Message 3
          Idoc   1.. Unbounded
    Message 4
          Idoc   1.. Unbounded
    So based on some criteria each record of Source will be mapped to 4 Messages (  1 each under each Message )
    Is it possible to do this without BPM?. Iam sending all these Idocs to same R/3 System.
    Thanks for any help..RK

    Hi,
    See the blog
    /people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change
    <i>Basicly we have 2 ways of handling such scenarios:
    - we can use a block step and send multiple IDOCs from our BPM
    - we can also do a little trick and send multiple IDOCs from the XI without a BPM
    The first approach is a standard XI approach. It involves the use of a BPM
    so the speed of this transfer many not be very good in case you'd like to send
    hundreds or thousands of IDOCs in just one call.
    The second approach uses a little trick that was mentioned several times
    on the XI Froum by a number of XI developers but is still not very clear to the XI newbies.
    It allows us to send multiple IDOCs without the use of a BPM. Most probably this will be your choice
    if you'd like to use such 1:N (IDOCs) scenarios effectively.</i>
    Please see the bwlow threads also..
    IDOC Splitting
    File To IDOC Thru XI
    Multi-Mappings in BPM (XI 3.0)
    Please let me know , your prob..is solcev or not..
    Regards
    Chilla..

  • Post multiple IDOCs from a single inbound file

    Hi.
    I have an inbound file with a single record structure. Each record has a field "DocumentNumber". There may be multiple records with the same DocumentNumber. The Document Number will increment to 2, 3 etc. Each set of records with the same DocumentNumber relates to a single IDOC that I want to post.
    IE
    1, various fields   <- IDOC 1
    1, various fields   <- IDOC 1
    2, various fields   <- IDOC 2
    2, various fields   <- IDOC 2
    3, etc
    I plan to use the BPM to split (transform) the file message into multiple IDOCs, using a message mapping defined in the Designer. I have done all this, and defined my Source Message as Single Occurrence (1) and my Target Message as 1:Unbounded. I therefore have a mapping within the target "Message1" structure.
    Can anybody tell me how to define my mapping flow to create a new target structure IDOC when the DocumentNumber field increments?   I was wondering about "createif" where DocumentNumber <> a global field set tot he previous value....
    Any help would be very much appreciated.
    JW
    [email protected]

    Hi Tony,
    first you have to change the occurens - look in this Blog:
    /people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change
    Mapping - you need to use node funktions if you use graphical mapping (f.e. SplitByValue, CerateIf and so on)
    Good for that is this blog:
    /people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii
    If you need more - keep on asking
    Regards Matt

  • Multiple IDOCs based on multiple fields in File to IDOC mapping

    Hello Experts,
         I have a requirement to create multiple IDOCs based on multiple fields.
         Earlier my requirement is to create IDOCs based on ShipID (i.e., for every ShipID new IDOC...I achieved this).
         But now the requirement was to create IDOC based on two more fields like
    Source:
         ShipID1
         FieldA with value1 
         FieldB with value1
    Target :
         1 IDOC to create
    and If
    Source:
         ShipID1
         FiledA with Value2
         FiledB with Value2
         ShipID1
         FiledA with Value1
         FiledB with Value2
    Target:
         2 IDOCs based on FiledA
    Like wise IDOC should create for every change in FiledA and FieldB.
    If FiledA and FiledB has no changes then create IDOC based on ShipID
    please help me in achieving this as this is an urgent requirement.

    Hi Prasad -
    Just concat all the three fields - shipID1, FieldA and FieldB and
    remove contexts
    split by value (value changed)
    collapse contexts
    This way whenever there is a change in any of the above fields you'll have separate IDOC..

  • File to Multiple Idocs, Error: Tag MESSAGE1 found instead of tag IDOC BEGIN

    Hi,
    I have configured my file to multiple idocs scenario using the following blog -
    /people/claus.wallacher/blog/2006/06/29/message-splitting-using-the-graphical-mapping-tool
    Now when i try to execute this scenario it is scenario it is giving me the following error at "Call Adapter" Stage in runtime-
    "Tag MESSAGE1 found instead of tag IDOC BEGIN="
    My message looks like this at "Request Message Mapping" Stage in runtime -
      <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
    - <ns0:Message1>
    - <ZDR009>
    - <IDOC BEGIN="1">
    - <Z100901 SEGMENT="1">
      <RUNDATE>20080220</RUNDATE>
      <RUNTIME>0037</RUNTIME>
      <CONSTANT1>PYRLINCST</CONSTANT1>
      <CONSTANT2>CSC</CONSTANT2>
    - <Z100902 SEGMENT="1">
      <RECTYP>2</RECTYP>
      <SSN>641381239</SSN>
    Kindly assist me in solving this error, Thanks in Advance!!
    Regards.
    Sudheer

    Hi Sudheer,
    Just the check the message mapping. Check the parant node mappings to create two different messages.
    It seems that the mapping done on IDOC Node to create the IDOCs is getting failed.
    Copy the content from inbound payload and test it in message mapping.
    Remember, when you load the test data into your test tab you will get the error of structure mismatch coz in your mapping you have additional message.
    Do the change with original data as shown below befor testing.
    <?xml version="1.0" encoding="UTF-8" ?>
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1>
    Original message will be here.
    </ns0:Message1>
    </ns0:Messages>
    Regards,
    Sarvesh

  • File to multiple idoc

    Scenario is Fileu2013TOu2013Idoc. We have a requirement where we need to produce multiple idocs from one file.
    The input file is something similar to this:
    HEADER;XYZ;123;123456
    DETAIL;XYZ;123;123456
    DETAIL;XYZ;123;123456
    DETAIL;XYZ;123;123456
    DETAIL;XYZ;123;123456
    TRAILER;XYZ;123;456
    Now for every 1000 "DETAIL" records from the above structure it should create MULTIPLE IDOC's in SAP.
    In PI, Integration directory, under "File Content Conversion" added 2 lines as below:
    Recordset Structure=DETAIL,1
    Recordset per Message=1000
    This splits the FILE to many messages (each 1000 DETAIL) in PI (SXMB_MONI) and creates many IDOC (only if FILE has DETAIL records).
    However this works only if the FILE has all DETAIL records (no HEADER, no TRAILER).
    Can someone suggest how to use "Recordset per Message" if there are more NODEs in the input FILE?
    Thank you very much.

    Suraj
    Thanks.
    I got your point. I also read Enhanced (Mapping-Based) Interface Determination http://help.sap.com/saphelp_nw04/helpdata/en/42/ed364cf8593eebe10000000a1553f7/content.htm.
    It appears target IDOC message splits are not supported since the IDOC adapter is not part of the AE. /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
    So I will use your approach in two steps. Please let me know if my understanding is correct.
    Step 1:
    FILE to FILE
    1. Read the source file and do a FCC.
    2. Write splitting logic (per 1000) in udf
    3. Use multimapping and enhanced interface determination
    4. Write source file to multiple target files. FILE1,2..N
    Step 2:
    FILE1,2,3..N to IDOC
    1. Normal mapping. (Note: no change of IDOC occurrence of idoc to 1 ot unbounded is needed as original message is split to multiple files in step 1)
    Appreciate the input.

Maybe you are looking for