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

Similar Messages

  • IDOC creation issue at XI side - File to IDOC

    Hi Everybody,
    I am working on a File to IDOC scenario (XI 3.0).
    We have to create Orders in the R/3 System using this Interface.
    Mapping used is Java.
    I am using 2 Classes : Group and SendIdoc one below the other in the Interface Mapping:
    Firstly by using Group Class I am Grouping the Records in the file and then creating the IDOCs by using the next class(SendIdoc).
    In the production environment if we drop like 20 files at a time in the source NFS folder the number of IDOCs created are wrong.
    Say for example, for the first file dropped expected IDOCs are 10 but only 8 are created in SXMB_MONI .However in the input payload (in SXMB_MONI) the entire text file is read.
    When we put the files sequentially say one after the other is processed, the number of IDOCs created are fine.
    This is very strange problem.
    I tried changing the polling interval of the channel but was of no help.
    Any parameters we need to set in the channel or XI system to overcome this issue?
    Can someone help me out on this?
    Helpful answers will be rewarded points.
    Thanks & Regards,
    RK

    Hi ,
        When you placing files sequentially its working fine menas there is no problem with Java Code,one morething use synchronize methods or thread programming in Java maps is not advisable.
    as per my knowledge File adapter picking up the recodrs when its giving inout to Java map some thing misisng....
    for one file you need to create multiple IDocs try use QOS EOIO or if its not working then try to use record set per message one like that,let me know.
    Regards,
    Raj

  • IDOC is posting with Errors in File to IDOC scenario

    Hi,
       I did the File  to IDOC scenario for CREMAS  . IDOC is posting with Errors .. i.e. in the status record it was showing  56- EDI: Partner profile inbound not available  ..
    If I manually process that IDOC in WE19 , then it was processing successfully..    and in the  we19 it was showing Inbound Processing : Port Not Maintained    but even though manually it was posting fine...
    any ideas regarding this will be appriciated..... 
    Regards
    Babu

    Please check whether you had done the following assuming your doing File to Idoc
    Settings in your Business service for the receiving system
    Please specify the RFC detination, SAP System and Client of the Receiving System in the adapter specific detials.
    Settings in R/3
    WE20 - Add the partner profile for the particular message type cremas and process code.
    Your statement
    " and that same logical system name  had given as Message Specific Attributes in the Sender Business Sevice parameters in I.D "
    Please do mention R/3 Details in the receiver business service or system.
    Thnz

  • Not sure if IDoc was created or received in file to idoc scenario

    Hi,
    I configured a file to idoc scenario in my test client for idoc MATMAS.MATMAS02 , now after going thru all the phases of design and configuration and creating partner profile using we20 , when I m executing the scenario , I am not sure wht happened to the idoc becz i can't see in the R/3 system using we05/02 or BD87 in the XI system .
    Pl help how to rectify the error and find out where the error has actually occured.
    ans will be rewrded
    rgds
    mojib

    Hi Mojib,
    first check in SXMB_MONI whether you have a success chequered flag for the file messge.................if there is error here, then rectify your this error and re-run your scenario................if you cannnot see your file msg in SXMB_MONI, then go to RWB and in comm channel monitoring, see the error in sender file comm channel status and rectify the error in sender file comm channel in ID and save and activate it and then re-run your scenario............
    then execute SM58 to see in there is anything in tRFC.........if there is not anything here, then it means your IDOC has reached R/3.................
    then in R/3, execute WE05 for the relevant period, then you will see your IDOC there with some status..........
    Regards,
    Rajeev Gupta

  • XI unable to post IDOC to ECC the interface is FILE-to-IDOC scenario

    Hi All,
    The XI interface is a FILE-2-IDOC scenario and some times IDOC's in the receiver system are not posted.  I did see successfully message for that particular messages but the IDOC's were not created in the ECC.  If the messages is reprocessed then IDOC's are posted successfully to the ECC system.  The message has checkered flag in the SXMB_MONI tcode.
    This issue is occurring intermittently so could some point me in the right direction how to trouble shoot the issue.
    Thanks,
    Sarvesh

    Hi,
    Interesting problem...since its intermittant..
    You cannot use any of the traditional RWB or message monitoring or cc chanel monitoring here as the error is in the ecc system, so from an XI standpoint it has left XI succssfully..that explains all the chequered flags..indicating success.
    we19, we12, we14(process all idocs) test out the whole process with a load..use transaction we46..this can tell you why it is failing....in r/3
    from the ecc system to check inbound queue monitoring.
    from there you can select the IDocs or queues which you want to monitor, using the specified selection parameters available.
    Look at the status record for the idoc that should give you more information, processing status of the idoc...that should tell you the status code assigned to it..
    There is one other option here....if you can figure out what sequence they need to be posted in...that might be the reason for the failure..you can specify the sequence to post the idocs in, use qRfc ..
    Hope that helps
    Regards
    Ravi Raman

  • SSIS + split 1 row in multiple rows based on multiple columns

    Hi all,
    I have a flat file 
    Shop ID        Check 1        Check 2            Check 3
    500 OK
    OK NOK
    I want to transform this to staging as 3 rows
    Shop ID       Check number 
    Result
    500 1
    OK
    500 2
    OK
    500 3
    NOK
    Anyone can tell me how to tackle this?

    I basically have a table that has the columns I specified
    Shop Check 1
    Check 2 Check 3
    500 OK
    OK NOK
    I now want to actually have them loaded in another table where I have multiple rows for each shop.
    Shop Check
    Result
    500
    1 ok
    500 2
    ok
    500 3
    nok
    So basically I want to go from a column view to a row view. Is this possible?
    In other words, I do see multiple rows for each shop ID which is awesome! But I would like to have instead of the result that number of the check. (1,2,3) with the result next to it :)
    500  OK
    500 OK
    500 NOK

  • Multiple occurances of lin itm seg based on a field using graphical mapping

    Hi
    I have a scenario where in i have to populate the target segment multiple times based on quantity field LFIMG
    Source structure in IDOC and target structure is XSD. In the following we need to have multiple occurances of S_LIN based on LFIMG. So if the value of LFIMG is 6 we need to have 6 occurances of S_LIN.
    Source structure
    E1EDL24 (segment)
       LFIMG (field)
    Target structure
    ITEM (segment)
      GSHL (segment)
        S_LIN (segment)

    Hello Kalyan,
    You need to write an udf like this.
    LFIMG  (change context Queue)---->UDF ---> S_LIN
    Variable : source and separator(",")
    String[] values = source.split(separator);
    for(int i = 1 ; i < values.length ; i++){
         result.addValue(values<i>);
        result.addValue(ResultList.CC);
    Regards
    Pothana

  • Freight posting in MIRO based upon multiple goods receipt.

    Hi
    In one of the companies they are requesting the freight charge to be broken into multiple lines (based upon multiple goods receipt)  instead of one consolidated balances in the invoice (MIRO).  Right now each time we do a MIGO against the same PO the system creates a seperate material document and the entry is (and that is correct) :
    Inventory  -      XXXX
    GR/IR (Cost)- XXXX
    GR/IR (Freight) XXXX
    PPV                  XXXX
    for example if migo is done 3 times against the same PO the system posts 3 seperate material document and everything is correct. 
    When we do a MIRO the system generates 3 seperate lines for GR/IR (Cost) but it consolidates GR/IR(freight) and posts the entire value in one line. 
    Requirement is : We want the system to break freight cost into 3 seperate in the invoice. 
    Did anyone come across this issue before.
    Thanks
    Joseph

    Hi Joseph,
    I guess you can use MIRO 3 times, and post separated delivery costs into 3 freight invoices.
    During each time, you can choose only 1 line to carry out the posting.
    Thanks and regards,
    Polly

  • File to  idoc mapping

    Hi all
    I dont know much about idocs. I am creating a file to idoc scenario. i have done with(hope so) all the other settings, design and configuration. BUt dont know how to do the mapping.how the control segment fields have to be mapped. what are the mandatory fields in idoc?

    Hi Aarthi,
    You can leave the control records of the Idoc blank since XI fills them up. This is because XI would be the sender for the idoc. If you select "Header mapping" then you have to map control records else not.
    Also in the idoc data segments all fields with a red dot are mandatory. If you do not have a field from the file to map with the mandatory idoc field then either you can suppress it or map it to a constant.
    Hope this helps.
    Regards.

  • BIA file to Idoc Scenario

    Hi,
    I have a requirement of a file to idoc scenario where I need to convert the file in BIA format to an Idoc. Can anyone suggest me a solution on how to use file content conversion? Is there any sample scenario where they have used a BIA format file to be converted as an Idoc?
    Thanks
    Satt

    Dear All,
    For file to idoc scenario is there any possibility to get line items details or xml details i.e the segments and its related field details using reference id, transaction id or interface name or message id in SAP PI 7.0. I know we need to click each and every message in sxi_monitor and look for details.
    For SAP(R3 System) I can create a report and set the job for specific time period so automatically it throws the details(like reference no, document date, invoice no from) in ftp path as .csv file. The same ftp path is maintained in program.
    I wanted to check FTP--->PI postings and I have set the job at r3 system it is working fine and Im monitoring it too.
    Now the end to end scenario is FTP--->PI--->ECC(R3 system). Please help.Many Thanks.

  • FILE RFC IDoc

    The input parameter for the RFC is send through a file and the response from the RFC comes into XI which is then written into a IDoc . The diagram of the following is shown below;
    http://photos1.blogger.com/blogger/3087/1595/1600/RFC.0.jpg
    Mapping 1 ) File >> RFC (getDetail)
    Mapping 2 ) RFC (getDetail-Response) >> IDoc
    Problems : Message Interfaces
    Abstract_synchronous
    Output : File 
    Input   :IDoc
    Activation of the change list canceled
    Check result for Message Interface sync | http://xi/DeltaUpdate2:
    Message interface Message Interface sync | http://xi/DeltaUpdate2 references an IDoc message and a non-IDoc message
    But I need the synchronous step !
    It is possible to use correlation with Asynchronous or the only way to get the return message is use Synchronous RFC?
    And Can you brief me the steps in bpm?
    Regards,
    Fatih

    Hi,
    Easier solution  for this is create one Abstract Message Interface(like dummy) for the RFC response.
    Assumptions- You are doing RFC Req/Resp mapping outside the BPM.
    If so, your RFC response will be stored in the Dummy Repsonse structure. Then send this structre async from BPM. Outside the BPM map this structure with Actual Idoc interface.
    Hope this will work here
    Regards,
    Moorthy

  • Still about field table file.Peter and Scott please..

    hi,Peter and Scott:
    i still don't so clear about it. if i use field_name in my services not
    field_id,then,shall i copy all these field table files into one,and then use
    mkfldhdr32 to build the field table file? from Peter's words,seems i don't
    need copy them to one file,just point them to my FLDTBL* environment is
    ok,but as my sample:
    Fget32((FBFR32 *)recvbuf,SERVICE_ID, i,(char*)vServId, 0)
    if there two field table files, A file and B file,does my application know
    which file my SERVICE_ID is in? and if here both A file and B file has
    SERVICE_ID,which numeric the value will be pointed?
    as Scott said:"Your application will run much more efficiently if you
    compile in the
    field ids from the field header.",do you mean that if i use field ids in my
    application,it's better?
    and another question: if i use mkfldhdr32 many times,will the numeric be the
    same? such as
    once i built, "ROWCOUNT" are 12345678,then second time i build this,will
    "ROWCOUNT" still be 12345678?
    and i think it's not easy to use numeric in my application,cause field names
    is easy to remember than field ids.
    thanks
    fish

    fish,
    The mapping of field names to field ids is held in the field table file. The
    mapping of name to id for any field is a binary combination of the field number
    and type, thus it's a constant.
    The mkfldhdr program takes the field table and converts it into a C header file
    by generating #define for all the fields, so a line
         STATLIN          5     string     -     message to go on status line
    in the field table file becomes
         #define     STATLIN     ((FLDID)40965)     /* number: 5     type: string */
    in the C header file generated by mkfldhdr.
    Now, if you have #include's the generated header file, wherever your C code
    references STATLIN (for this example) the C preprocessor inserts ((FLDID)40965)
    - a numeric constant.
    If all your references to individual fields are made in this way, then you do
    not need the field table file at run time - all the information in it was
    extracted by mkfldhdr at build time, and compiled in to your code.
    In fact, this is precisely the purpose of mkfldhdr - you get the performance of
    using constants rather than dynamic lookups, with the code readability of using
    the field names rather than numeric ids.
    I hope that clears up your understanding. The documentation discusses this
    subject too, here: http://edocs.bea.com/tuxedo/tux80/atmi/fml048.htm
    Regards,
    Peter.
    fish wrote:
    hi,Peter and Scott:
    i still don't so clear about it. if i use field_name in my services not
    field_id,then,shall i copy all these field table files into one,and then use
    mkfldhdr32 to build the field table file? from Peter's words,seems i don't
    need copy them to one file,just point them to my FLDTBL* environment is
    ok,but as my sample:
    Fget32((FBFR32 *)recvbuf,SERVICE_ID, i,(char*)vServId, 0)
    if there two field table files, A file and B file,does my application know
    which file my SERVICE_ID is in? and if here both A file and B file has
    SERVICE_ID,which numeric the value will be pointed?
    as Scott said:"Your application will run much more efficiently if you
    compile in the
    field ids from the field header.",do you mean that if i use field ids in my
    application,it's better?
    and another question: if i use mkfldhdr32 many times,will the numeric be the
    same? such as
    once i built, "ROWCOUNT" are 12345678,then second time i build this,will
    "ROWCOUNT" still be 12345678?
    and i think it's not easy to use numeric in my application,cause field names
    is easy to remember than field ids.
    thanks
    fish

  • File to IDOC - multiple source fields to 1 field

    Hello,
    I implement scenario from file to IDOC.
    In source side I have 2 fields (in different levels) that I want to map to 1 field in the IDOC.
    Is it possible to do it? And how?
    Regards
    Elad

    Hello,
    The sorce file is xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <PLM_Out_MT>
       <Quotation/>
       <TransactionHeader>
          <TransDateTime/>
          <Sender/>
          <Receiver/>
       </TransactionHeader>
       <QuotationHeader>
          <DocTyp/>
          <ContractNo/>
          <PurcNo/>
          <PurcDat/>
          <ValToDate/>
          <GenHeadText/>
          <PlmUser/>
       </QuotationHeader>
       <QuotationLines>
          <QuotationLine>
             <ItemNum/>
             <ItemCat/>
             <Quantity/>
             <ReqDelDate/>
             <OrgReqDate/>
             <Version/>
             <QuotationTexts>
                <QuotationText>
                   <TEXT_ID/>
                   <TEXT_LINE/>
                </QuotationText>
             </QuotationTexts>
          </QuotationLine>
       </QuotationLines>
    </PLM_Out_MT>
    The target is:
    <?xml version="1.0" encoding="UTF-8"?>
    <ZCUSTQUOT_WITH_REF01><IDOC BEGIN="1"><Z1ZCUSTQUOT_WITH_REF SEGMENT="1"><E1BPSDHD1 SEGMENT="1"><DOC_TYPE></DOC_TYPE><PURCH_DATE></PURCH_DATE><PP_SEARCH></PP_SEARCH><REF_DOC></REF_DOC></E1BPSDHD1><E1BPSDITM SEGMENT="1"><ITM_NUMBER></ITM_NUMBER><MATERIAL></MATERIAL></E1BPSDITM><E1BPSCHDL SEGMENT="1"><ITM_NUMBER></ITM_NUMBER><REQ_QTY></REQ_QTY></E1BPSCHDL><E1BPSDTEXT SEGMENT="1"><ITM_NUMBER></ITM_NUMBER><TEXT_ID></TEXT_ID><TEXT_LINE></TEXT_LINE></E1BPSDTEXT></Z1ZCUSTQUOT_WITH_REF></IDOC></ZCUSTQUOT_WITH_REF01>
    I need to map in the first time from <GenHeadText/> to  <TEXT_LINE> and in the second time from <TEXT_LINE/> to <TEXT_LINE>
    Is not possibole to use with concatenate  because i need all the time to map diffrebt field.
    Elad

  • Creating Multiple IDOCs and Line Items based on Posting date from file

    Hi All,
    My scenario is File to IDOC(MBGMCR01)...
    Need your suggestions and help on how to go with this...
    Source file structure is
    DC61|2009-03-15|000000000001200051|00000005.00|200|0001|1234|
    DC61|2009-03-15|000000000001200363|00000001.00|300|0001|1234|
    DC61|2009-03-15|000000000001200334|00000002.00|400|0001|1234|
    DC61|2009-03-16|000000000001201145|00000001.00|200|0001|1234|
    DC61|2009-03-16|000000000001201086|00000002.00|100|0001|1234|
    DC61|2009-03-17|000000000001200051|00000003.00|200|0001|1234|
    DC61|2009-03-17|000000000001200052|00000003.00|200|0001|1234|
    DC61|2009-03-17|000000000001200053|00000003.00|200|0001|1234|
    DC61|2009-03-18|000000000001200056|00000003.00|200|0001|1234|
    And target IDOC(MBGMCR01) is
    IDOC (0u202699999)
    E1BP2017_GM_ITEM_CREATE(0u2026999999)
         Date
    For Each new Posting date(column 2) of the source a new idoc to be created and the corresponding records of each posting date to be added to E1BP2017_GM_ITEM_CREATE
    The out put for the above should be like this
    IDOC(2009-03-15)
    E1BP2017_GM_ITEM_CREATE=2009-03-15
    E1BP2017_GM_ITEM_CREATE=2009-03-15
    E1BP2017_GM_ITEM_CREATE=2009-03-15
    IDOC(2009-03-16)
    E1BP2017_GM_ITEM_CREATE=2009-03-16
    E1BP2017_GM_ITEM_CREATE=2009-03-16
    IDOC(2009-03-17)
    E1BP2017_GM_ITEM_CREATE =2009-03-17
    E1BP2017_GM_ITEM_CREATE=2009-03-17
    E1BP2017_GM_ITEM_CREATE=2009-03-17
    IDOC(2009-03-18)
    E1BP2017_GM_ITEM_CREATE=2009-03-18
    Will be thank ful if any one gives a hint....
    Thanks and regards,
    Sridhar

    I rather meant a picture of your mapping - anyways. Hope this is correct:
    Your souce structure:
    <MT_IAR>
      <IAR_Recordset>
        <IAR_Details>
          <Inv_adj_date>
        </IAR_Details>
        <IAR_Details>
          <Inv_adj_date>
        </IAR_Details>
    Than mapping should be like this:
    <Inv_adj_date>        ==> SplitbyValue        ==> IDOC
    Please confirm this doesn't work.

  • To create multiple files on the receiver side based on key field

    Hi Gurus,
    My scenario is File to File
    My Source structure is as below
    My File looks like
    My file looks like below
    570774          11/26/2008 8:12     6296     xxxxxxx     985-399-5157     1153 Teche Road     Morgan City     United States     Lori Eisenman     Louisiana     70380     0          1153 Teche Road     Morgan City     United States     Lori Eisenman     Louisiana     70380     303     101400100000     3365440332522     ELLE YVES SAINT LAURENT Eau de Parfum Spray          2                    61     78     156     184     184     0
    570774          11/26/2008 8:12     6296     xxxxxxx     985-399-5157     1153 Teche Road     Morgan City     United States     Lori Eisenman     Louisiana     70380               1153 Teche Road     Morgan City     United States     Lori Eisenman     Louisiana     70380     376     106074700JP0     3365440347229     GOLDEN GLOSS N° 27Shimmering Lip Gloss          1                    28     28     28               0
    570775          11/26/2008 8:15     6296     xxxxxxx     985-399-5157     1153 Teche Road     Morgan City     United States     Lori Eisenman     Louisiana     70380     7          1153 Teche Road     Morgan City     United States     Lori Eisenman     Louisiana     70380     284     9000400000     3365440316546     L'HOMME  Eau de Toilette Spray          1                    53     53     53     60     60     0
    for each new order number(key field ex: 570774) a new xml file to be created , from the above example 2 xml files sholud be created(one for 570774 and the other for 570775)
    How can i acheive this functionality?
    Please help me on this, Thanks in advance
    Regards
    Srinivas

    Hi Srinivas,
                   map the key field to the parent record of the target field. Use the split by value and change the source key field level to higher one so that the all occurences of the key field are occuring. The mapping will be like this;
    Source Key Field (change to higher level) --> Spli by value --> Filename creation UDF --> Target header field.
    Try this.
    Regards,
    Murugavel.

Maybe you are looking for

  • Unable to process your request when clicking next page button in web app

    Hi, 1) I'm using CR for VS v13 (13.0.2000.0) 2) .Net 2.0 in IIS6 compiled with TFSBuild on TFS2008 3) Issue ocurs when deployed on QA server 4) Database is SQL server 2005 5) Ado.Net passing data definition thru an xsd with a multiple tables dataset

  • Problem in select statement(urgent)

    hi experts, my ztable structure is, year(key) customer(key) month(key) quan1 quan2 quan3 2006       britania         01          23   12    13 2006       britania         06          34   24    15 2006       britania         09          45   10    22

  • Org structure migration in HR

    Hi All , Whats the best method proceeding with HR migration , I can go for lsmw using recording . Thanks in ADV

  • Not getting sets for jsp:useBean bean when in request scope

    I have a JSF (JSP) page in which I have a bean that I declare using jsp:useBean. The bean implements Map. I have a h:inputText and an h:inputHidden with a value referencing the bean. The odd thing is that if in jsp:useBean, I set the scope to session

  • My bank doesn't see Firefox 5 as being secure, 3.6 was

    My bank does not recognize Firefox 5 as being secure. 3.6 had no problems with this.