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

Similar Messages

  • 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

  • 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

  • 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

  • Single File to multiple IDoc

    I am working on single XML file input to multiple IDoc scenario. Single file contains multiple set of data for Customer and Vendor for example 20 Customer and 40 vendor together in one file between <CMData>...</CMdata> tag individually. I have to map Customer and Vendor based on one of the tag value. I seen the IDoc structure does not allow multiple records and occurrence shows only one. What is the best way to establish this scenario. I know ccBPM is required and Transformation Step picks respective mapping based on XML tag value for Customer or Vendor, but I have doubt how can I send one by one IDoc by identifying correct mapping based on XML tag. Thanks and appreciate your help.
    --PKT

    Thanks Paul for prompt response and support.
    I changed the Occurrence of both IDOC TAG to "9999" through "xsd" and upload the same in XI and I created two mapping one for Customer and one for Vendor i.e.
    File--->Customer with multiple IDoc tag attribute
    File--->Vendor with multiple IDoc tag attribute
    Now in BPM I have to apply loop and look to the tag XMLType and where it is "C" I have to call Customer mapping and where it is "V" I have to call Vendor mapping. How I can do this . Please help me on this. Thanks.

  • 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

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

  • Configuration scenario of file to multiple IDOCs in XI

    I have to configure a scenario of file to multiple IDOCs in XI.
          I have XML file in MDM server. And it contains multiple segments. Each Segment is  a combination of DEBMAS and ADRMAS.
    So in XI configuration I have to separate the mapping for DEBMAS and ADRMAS. And my ADRMAS idoc should post first in R3 and then DEBMAS should post.
    These IDOCs are multiple because each segment in XML file will be a IDOC.
    Does BPM process is mandatory here or we can do in any other way.
        Could you please suggest how to do this configuration. If you have any documents pls share with me.
    Regards,
    Venkat

    Hi,
    First you need to split the messages into multiple IDOC types. As you are going to send this to IDOC adapter, it is required to have BPM to split the message.
    These 2 docs may help u:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/cdded790-0201-0010-6db8-beb9bb2b2660
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/877c0d53-0801-0010-3bb0-e38d5ecd352c
    Regards,
    Moorthy

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

  • FILE TO MULTIPLE IDOC QUERY

    Hi,
    I have a file (PO details)from which i create multiple idoc. The structure of file and idoc is as follows
    --BATCH   
       ---HEADER
    ITEM
    --/BATCH
    IDOC IS
    --IDOC
         ---BATCH
    HEADER
    ITEM
    now in order to get multiple idoc from the file structure i changed the idoc segment cardanility to 0-unbounded and mapped
    HEADER of file to IDOC node of idoc so that idoc gets created for each header,
    my requirement is that for each idoc
    1) the batch segment should also get populated
    2) there is a feild batchid in the batch of file value of that feild should be populated in one of the header feilds
    Presently suppose the file has 10 POs, then it creates 10 IDOCS where in only the first idoc has the batch segment populated and the header of first idoc has batch id populated , rest 9 IDOCS the batch segment is blank and even i am not getting the batchid value in the header.
    Edited by: Sudhakar Gongloor on Jun 21, 2010 4:12 PM

    exactly.
    so in your case if source field A has 5 values and you need there values to go into 5 IDocs, you will use
    Source field A -> Split by value -> Idoc field
    Also note that you will have to similarly maintain a context mapping for the parent node of the target field.

  • File to multiple IDOC(message)

    Hi
    I need to map file to multiple IDoc type  that means on source message have two target message . Any ideas how to achieve that
    Thanks in advance
    Regards
    Swatantra

    refer these weblogs that will give you an idea;
    Multi Mapping -
    BPM involved:
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    /people/narendra.jain/blog/2005/12/30/various-multi-mappings-and-optimizing-their-implementation-in-integration-processes-bpm-in-xi
    Without BPM:
    /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible

  • Problems with multiple idocs in one file ( Inbound file )

    HI,
    Thanks in Advance for your suggestions.. Highly appreciated.
    We have problems with multiple IDocs in one file.
    We are using XIB ( Amtrix ) as Middleware to receive the files.
    Curretenly When the file contains one IDoc then there is no problem. IDoc is created and everything is ok.
    If file contains two IDocs ( for example two messages ORDERS and DELVERY ) then it is creating two IDocs but both IDocs contains ORDERS plus DELIVERY segements information. That is the problem. Some how SAP unable to differentiate the IDocs in the file.. But it knows that how many idocs are there in the file..because it is creating exact number of idocs.
    We are using TRFC port ... Do I need to change it to File port..
    When we have more than one idoc do we need set any parameter in the file ...

    Thanks for the swift response. Always ideas are useful.
    As of now , Middleware cannot split the file.
    Thing is SAP is creating two Idocs with different message types. Problem is First IDoc contains ORDERS message type but also DELIVERY segments as well. Second IDoc with DELIVERY message tyoe but ORDERS segments as well... This is the problem... I think we are missing some field activation in file for EDIDC record.
    As far as I know file port supports the number of IDocs in one file.. Hope TRFC port also supports that

Maybe you are looking for

  • IPhone sound and call issues

    I am a bit frusturated with my iPhone and here's why; most times when I receive a call I miss it as my phone won't ring on my end, it will be out on my counter let's say and all settings are set appropriately so that I should hear an incoming call. T

  • Setting Path and Classpath in Linux environnement

    Hello, I use to develop with JAVA under Windows platform, now i am using j2sdk under Mandrake 8.0 , i dunno how to set my PATH end Classpath variables, could you show me how? Thanks

  • Idoc with error message when coming from middleware but not in we19

    Hi Experts I am facing a very strange issue ! I have a  Z - Idoc type and corresponding inbound function module for creating schedule lines i.e. doing something what me38 does. When my middleware i.e. Mercator Websphere is sending the idocs, they fai

  • Compare two tables and log the difference

    Hi, I want to compare two tables and log the difference in new table with the fields as (old value,new value, column name). The column name should be the changes value column

  • Execute Process chain after infopackage run for a PC file

    Hello all. The scenario I need to solve is the following. I have several files to be load to ODS from P users PC. I will do this with an info package. But after this load there are some more process that have to be run whoch are created in a process