JDBC to IDoc (ORDERS05) IDoc

Hi,
My scenario is JDBC (from 2 tables) to single IDoc ORDERS05.
There are 2 source tables , HEAD, ROW. For every row in HEAD I need to create one Sales order through IDoc in R3.
I am doing inner join on HEAD, ROW and say for example I am getting the following rows:
HEAD.ID   ROW.ITEM
1                     ABC
1                     XYZ
1                     PQR
2                     ABC              
2                     JKL
3                     IOP
Now for each unique HEAD.ID, I need to map to ORDERS05  IDoc. ( In our example I need to create 3 orders).
How do i do this?
And also, I need to map only (ABC,XYZ,PQR) in the first occurrence of ORDERS05, then (ABC,JKL) in the second occurrence and (IOP) in the third occurence.
Could you please help me, how to do this?

Now for each unique HEAD.ID, I need to map to ORDERS05 IDoc. ( In our example I need to create 3 orders).
How do i do this?
-->write a  UDF on HEAD.ID field to strip duplicates and map this to IDOC header.
    your UDF shd take 1,1,1,2,2,3, and give you 1,2,3.
And also, I need to map only (ABC,XYZ,PQR) in the first occurrence of ORDERS05, then (ABC,JKL) in the second occurrence and (IOP) in the third occurence.
Could you please help me, how to do this?
-->you can use the same UDF in remaining fields. use IF statement and check with the UDF output to the HEAD.ID

Similar Messages

  • Error while ORDERS05 IDoc transfer from R3 - PI - SNC

    Hi Friends,
    I am facing error in PI SXMB_MONI for ORDERS05 IDoc transfer from R3 - PI - SNC.
    I have done all the configuration setup in Integration Directory for the Scenario, I am able to successfully send the IDOC for PO from R3 to PI but faced the following Error in PI.
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Message Split According to Receiver List
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="INTERNAL">PARTY_SERVICE</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      *<SAP:Stack>Party and service not defined</SAP:Stack>*
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Also I am unable to Configure Sender/Receiver ID in PI > SXMB_ADMIN > Configuration, as while defining Sender/Receiver  unable to add the Interface for Sender(ORDERS.ORDERS05)/Reciever(ReplenishmentOrderNotificatio_Out) although I am able to see the same in Integration Repository.
    Also In Main message(Part of the message) as shown below, I am able to see Vendor in PARTY Element of xml message for which I have created the PO
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Message Split According to Receiver List
      -->
    - <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <SOAP:Header>
    - <SAP:Main xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7">
      <SAP:MessageClass>ApplicationMessage</SAP:MessageClass>
      <SAP:ProcessingMode>asynchronous</SAP:ProcessingMode>
      <SAP:MessageId>0050568F-24A0-1DDD-B9F5-3F6DD541FF93</SAP:MessageId>
      <SAP:TimeSent>2009-01-21T10:55:20Z</SAP:TimeSent>
    - <SAP:Sender>
      <SAP:Service>SAPECC6</SAP:Service>
      <SAP:Interface namespace="urn:sap-com:document:sap:idoc:messages">ORDERS.ORDERS05</SAP:Interface>
      </SAP:Sender>
    - <SAP:Receiver>
      <SAP:Party agency="SAPECC6" scheme="ALE#LI#LF">0000000006</SAP:Party>
      <SAP:Service />
      <SAP:Interface namespace="urn:sap-com:document:sap:idoc:messages">ORDERS.ORDERS05</SAP:Interface>
      <SAP:Mapping notRequired="Y" />
      </SAP:Receiver>
    Please Suggest the steps needs to be done for resolving the Issue.
    Thanks all...
    Regards,
    Nitin
    Edited by: Nitin Patil on Jan 21, 2009 12:18 PM

    Hi Nitin,
       I completed the configuraiton but the PO came in PI successfully but stuck in PI with error
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIAdapter</SAP:Category>
      <SAP:Code area="PLAINHTTP_ADAPTER">ATTRIBUTE_SERVER</SAP:Code>
      <SAP:P1>500</SAP:P1>
      <SAP:P2>Internal Server Error</SAP:P2>
      <SAP:P3>Error during parsing of SOAP header</SAP:P3>
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:Stack>HTTP server code 500 reason Internal Server Error explanation Error during parsing of SOAP header</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    can you please help what is the problem , I am not able to find out.
    Thanks,
    Menaga

  • Segment management in ORDERS05 IDOC.

    Hi there.
    I have two questions, one is very focused on text management in ORDERS05, the other one is more generally speaking.
    1 - Text management in ORDERS05 IDoc:
    I have texts in my purchase order that I fill in, and then generate my IDoc. When looking at IDoc detail through WE05 or WE02, my texts are not visible neither in E1EDKT1 nor E1EDPT1 segments. Basically, those segments are not even created in my IDoc. Why? Anything to do in PO and/or ALE customizing?
    2 - More general:
    I need to have, in my E1EDS01 segment, the total quantity I order in my PO. So, I need a segment with qualifier '004' in SUMID, then my quantities. Currently, I only have SUMID='002' and my total value amount. How can I define (or it is defined by the system) the type of information I have in my segments, or segments themselves?
    Please tell me if not clear at all.
    Thanks for your answers.
    Chris.

    Thanks Dani.
    I checked the T166A table and found that the following entries are missing for my cases: EKPO and EKKO for my ZNB PO type.
    Shall I just put an entry for those two things in that table and this will allow me to get my texts in my ORDERS05 IDoc?
    For point 2, as I am not an ABAP developper, I do not understand what to do. I can deal with customizing, but not with ABAP programming on that subject.
    Thanks anyway at least for the first part of the answer.

  • Need help in populating Text ID using IDOC ORDERS05

    I have following scenario.
    PO is being send from ECC to EDI partner.
    and we received the PO feedback from the EDI partner
    For PO feed back, we are using ORDERS05 idoc type and ORDRSP message type.
    Custom Text Id(F01)  has been added to the Text tab of the header section of the Purchase order screen (ME23N).
    Custom Text id (F02)  has been added to the Text tab of the Item section of the purchase order screen.
    (Text ID F01 and F02 are in object EKKO - checked in transaction se75)
    Now, I m posting idoc with the following value but Text field (in header and item level) is not updating while displaying PO.
    Header - E1EDKT1                                   
         TDID -   F01
         TSSPRAS- E     
                         TDOBJECT - EKKO
                  E1EDKT2                                   
         TDLINE   -  "My Header Text"
    Item Level - E1EDKT1                                   
         TDID -   F02
         TSSPRAS- E     
                         TDOBJECT - EKKO
                  E1EDKT2                                   
         TDLINE   -  "My Item level Text"
    Can we update the Text Id in PO using IDOC ORDRSP.ORDERS05?  I have tried but it is not updating
    Any suggestion.
    Edited by: Chetankumar Patel on Mar 14, 2011 10:17 PM

    Have you tried with updating other Long texts ? While going through the code of inbound function module IDOC_INPUT_ORDRSP, it is mentioned that only limited fields are available for updation.  See remarks in line no : 88 of include LEINMF2O.
    read document and prepare for update P.O. Item fields
    * possible Update fields of EKPO: LABNR, IDNLF, NETPR

  • Creating a Purchase Order using ORDERS05 Idoc

    Hi Experts,
    I need to create a purchase order using ORDERS05 Idoc, with the data I am using a sales order is gettig created but I need to create a PO insted of SO.
    Please let me know what is difference between a PO and SO while using ORDERS05. Also please let me know what are all the fields that needs to chaged in the Idoc.
    Thanks,
    Suma

    Hi,
       I'm looking at a similar problem, can we use ORDERS05 IDOC basic type to create a Purchase Order?
       What is the inbound processing FM?  I tried IDOC_INPUT_ORDRSP, but it seem to only allow changes to a PO, and not creation of a PO.
       For IDOC_INPUT_ORDERS FM this one seem to only create Sales Orders?
       Which inbound FM should i be using?
    Regards.

  • Problems with idoc ORDERS05

    Hi experts,
    I created a new Z segment for idoc ORDERS05 and it works fine. This idoc is generated whenever a PO is created or modified. But if the PO has locked or deleted items, there is no segment for this items in the IDOC. Should I modify any code or something in SPRO??
    Thanks in advance,
    Maria

    Hi again...
    I'm trying to make a copy of the standr FM IDOC_OUTPUT_ORDERS because I think it may be easier to add the segments I need. I have also created in tx. WE41a new operation code ZME10 with my new fm. An in tx. WE20 I have assigned ZME10.
    The problem is when I run ME9F i get this error:
    An exception occurred. This exception is dealt with in more detail below
    . The exception, which is assigned to the class 'CX_SY_DYN_CALL_ILLEGAL_FUNC',
    was neither
    caught nor passed along using a RAISING clause, in the procedure
    "NEW_DYN_PERFORM" "(FORM)"
    Since the caller of the procedure could not have expected this exception
    to occur, the running program was terminated.
    The reason for the exception is:
    The program "RSNASTED" contains the CALL FUNCTION statement.
    The name of the function module to be called is "ZIDOC_OUTPUT_ORDERS".
    but "ZIDOC_OUTPUT_ORDERS" cannot be found in its function group.
    Any idea ??
    thanks in advance !

  • Creation of a line item in the existing PO by inbound idoc (ORDERS05)

    Hi friends,
       I have the following requirement.This is for the  inbound idoc ( orders05).
    If there is an extra item line in the confirmation idoc, for which no corresponding purchase order line is found, check if the extra line's NOB-number is found in the new NOB-number check -table.
    Fetch NOB-number check table with database keys:
    E1EDP19-IDTNR (when E1EDP19-QUALF = ZNO) = NOB-number in the table
    EKPO-WERKS (from 1st purchase order item line) = site number in the table.
    If the NOB-number + WERKS is found in the control table, create a new item line in the purchase order.
    If the NOB-number + WERKS is not found in the control table, put the idoc into error.
    Can you please tell me that how to create a new item line in the purchase order.
    Waiting for your help.
    With Regards,
    Ajit Prasad.

    You like to add new line item in existing purchase order or new po.
    Thanks,
    Narayan

  • PO no of customer in ORDERS05 IDoc with 3rd party scenario

    Hello experts,
    we have the scenario where we are getting purchase orders from our customer (which is in the same system like we are). Then we create SO for the customer and a PO to the external vendor. The goods should be delivered directly to the customer.
    In that 3rd party scenario we will send our PO via ORDERS05 IDoc to the vendor. Once the vendor is shipping the goods, he sends us an ASN and we create a statistical GR.
    Now our target is to give our customer somehow the information, that the delivery shipped from the vendor will be based on his PO to us. Do you know a way how we can give his PO no. to the vendor in the SAP standard ORDERS05 IDoc? Otherwise, is there a standard process to send our customer also the information that we received the ASN from vendor and transfer this information (maybe also as an ASN) to the customer with his PO no., so he can create an inbound delivery already?
    Thanks.

    Follow this Procedure... it works....
    Procedure
    1. Review the number ranges that have been created: The number ranges for the business partner in the Best Practices are defined as follows:
    IMG u2192 Cross Application Components u2192 SAP Business Partner u2192 Business Partner u2192 Basic Settings u2192 Number Ranges and Groupings u2192 Define Number Ranges
    01: The Regular business partner uses this number range: 2100000000 to 2199999999 and 03: 7100000000 to 7199999999 is used in the setting above for the ship-to party. Both are internal number ranges.
    XX is the external number assignment used to create the SD reference customer.
    2. The account group DEBI must temporarily be assigned to this external number assignment for the creation of this business partner:
    IMG u2192 Financial Accounting u2192 Accounts Receivable and Accounts Payable u2192 Customer Accounts u2192 Master Data u2192 Preparations for creation customer master data u2192 Assign Number Ranges to Customer Account Groups:
    Set account group: DEBI to external number range XX for the Business Partner creation step.
    3. Create an SD customer:
    Call transaction XD01: Easy Access u2192 Logistics u2192 Sales and Distribution u2192 Master Data u2192 Business Partner u2192 Customer u2192 Create u2192 Complete
    u2022 Select account group: Customer (general)
    u2022 Enter the Customer key: MUST_ALL
    u2022 Enter company code (1000)
    u2022 Enter sales area as follows:
    u2022 Sales organization: 1000,
    u2022 Distribution channel: 01
    u2022 Division: 10.
    u2022 Select Continue.
    Assign MUST_ALL in Master data>bp>settings for creating standard customers.

  • Problem in message mapping (outbound IDOC ORDERS05 from SAP R/3)

    Hi to all,
    I have an outbound interface from sap r3
    sap r3 --> XI --> ftp server
    idoc --> XI --> text file
    Using IDOC orders05
    The problem is in segment E1EDP01/E1EDP19
    Segment E1EDP01 is unbounded and i map it well. If it contains E1EDP19, works fine. But in some cases, E1EDP19 not appears at E1EDP01segments. So then XI fails at mapping:
    IDOC OUTPUT (OK)
    1-E1EDP01/E1EDP19
    2-E1EDP01
    3-E1EDP01/E1EDP19
    4-E1EDP01
    XI WRITES (FAILURE)
    1-E1EDP01/E1EDP19
    2-E1EDP01/E1EDP19 (INFORMATION FROM LINE 3)
    3-E1EDP01 (WRONG)
    4-E1EDP01 (WRONG)
    You can take a look of Mapping mode here:
    <a href="http://img505.imageshack.us/my.php?image=orders05mappingcj8.jpg">[IMG]http://img505.imageshack.us/img505/1536/orders05mappingcj8.th.jpg[/IMG]</a>
    We don't use BPM and wanna use a solution without it.
    Pls ask me for more information if necessary.
    Thanks a lot for your help; Regards

    Hi all,
    The mapping function includes an exists and a mapwithdefault.
    Now the creation of the segment is handled ok, but not as well its fields. Its unable to determine the write of the second E1EDP19 segment and it does:
    1- OK
    2- OK
    3- Writes E1EDP20 but not the 19
    4- OK
    Thanks for your interesting

  • Inbound Function module to process ORDERS05 IDOC

    Hi,
    My requirement is to create pre-booked Purchase order.
    I have to extend the ORDERS05 IDoc for this requirement. It is an inbound IDoc.
    I found the function module IDOC_INPUT_ORDERS. But I have a doubt will it work for Purchase orders because i found most of the data inside the function module are relevant for Sales order creation.
    Can you please suggest me a suitable function module to process this Inbound Idoc and create purchase order.
    Regards,
    Balaji. R

    Hi,
    The message type and basic idoc type for the processing of purchase orders:
    PORDCH                 PORDCH01                -- For change
    PORDCR1               PORDCR101              -- For Create
    Regards,
    Ginu Litta Raj

  • Bundling ORDERS05 IDOC

    Hi all,
    We have a problem with bundling the IDOCS in Message Mapping. We have a requirement to convert more than one ORDERS05 IDOCS to one ‘flat’ XML file.
    When the IDOC has the following data, the mapping works well:
    Input IDOC:
    IDOC 1:                   
    ORDERS05
    - E1EDP01          
    ---  POSEX 0010
    - E1EDP01          
    ---  POSEX     0020
    - E1CUCFG          
    ---  POSEX     0010     
    E1CUVAL     10-1
    E1CUVAL     10-2
    - E1CUCFG
    ---  POSEX     0020
    E1CUVAL     20-1
    E1CUVAL     20-2
    IDOC 2:     
    ORDERS05
    - E1EDP01          
    ---  POSEX     0010
    - E1EDP01          
    ---  POSEX     0020
    - E1CUCFG          
    ---  POSEX     0010     
    E1CUVAL     10-1
    E1CUVAL     10-2
    - E1CUCFG
    ---  POSEX     0020
    E1CUVAL     20-1
    E1CUVAL     20-2
    Output Message:
    IDOC 1:----
    IDOC 2:
    Position number:      0010----
    Position number:      0010
    Configuration1:     10-1----
    Configuration1:     10-1
    Configuration2:     10-2----
    Configuration2:     10-2
    Position number:      0020----
    Position number:      0020
    Configuration1:     20-1----
    Configuration1:     20-1
    Configuration2:     20-2----
    Configuration2:     20-2
    However when you miss one E1CUCFG node, you will get a confusing result: 
    Input IDOC:
    IDOC 1:     
    ORDERS05
    - E1EDP01          
    ---  POSEX     0010
    - E1EDP01          
    ---  POSEX     0020
    - E1CUCFG
    ---  POSEX     0020
    E1CUVAL     20-1
    E1CUVAL     20-2
    IDOC 2:     
    ORDERS05
    - E1EDP01          
    ---  POSEX     0010
    - E1EDP01          
    ---  POSEX     0020
    - E1CUCFG          
    ---  POSEX     0010     
    E1CUVAL     10-1
    E1CUVAL     10-2
    - E1CUCFG
    ---  POSEX     0020
    E1CUVAL     20-1
    E1CUVAL     20-2
    Output Message:
    IDOC 1:----
    IDOC 2:
    Position number:      0010----
    Position number:      0010
    Configuration1:     20-1----
    Configuration1:     20-1
    Configuration2:     20-2----
    Configuration2:     20-2
    Position number:      0020----
    Position number:      0020
    Configuration1:     10-1----
    Configuration1:     10-1
    Configuration2:     10-2----
    Configuration2:     10-2
    We have tried standard functions like: useOneAsMany, CreateIf, if, ifWithoutElse, collapseContext, etc. in the graphical mapping tool but it doesn’t work.
    Could you please take a look at this problem?
    Appreciate any help on this,
    Kind regards
    Kamran Vakili

    Ive solved this problem

  • Help on ORDERS05 IDoc mapping..

    Hi Experts,
       Please help me out in finding out the IDoc Segment fields(ORDERS05) equivalent to the following SAP fields.
      20  Quantity             VBAP  KWMENG  Num(6)
      21  Unit of Measure  VBAP  VRKME      Char(3)
      22  Gross Price       KONV  KBETR       Curr(11.2)
      23  Discount           KONV  KBETR       Curr(11.2)
      24  Surcharge         KONV  KBETR       Curr(11.2)
      25  Net Value         KONV  KBETR       Curr(11.2)
      26  Cost Object 
      31 Payment Terms  VBKD  ZTERM      Char                E1EDK01 -ZTERM
      32 Footer Msg1      STXI     n/a             Char
      33 Footer Msg2      STXI     n/a             Char
      34 Footer Msg3      STXI     n/a             Char
      35 Total                 KONV  KBETR       Curr                E1EDS01 -SUMID (004)
           I thought for
               Quantity               :  E1EDP01-MENGE
               Unit of Measure    :  E1EDP01-MENEE
               Gross Price          :  E1EDP01-PREIS
               But when i went to WE19 and posted the idoc by populating the above segment fields its not getting updated in the sales order, instead in the created sales order it shows quantity as 0 and its not getting updated.
         so iam not sure whether these segment fields (in ORDERS05 IDoc) are the right fit for quantity, UoM and Gross price. Please provide me the correct segment fields mapping for the above SAP fields.
         Actually Gross price, surcharge, discount and Net value are calculated automatically by SAP while creating the sales order based on the amount and quantity entered - right..? Then do i need to populate the values for these fields also in IDoc for testing using WE19.
         Please reply me.
        Thanks in advance,
        karthik.

    In sales order,these quantity updating in Tatget quantity,look at VBAP Table ..
    You will get good idea..
    Reward Points if it is helpful
    Thanks
    Seshu

  • Inbound IDoc ORDERS05

    HI,
    I have to design an Inbound IDoc for create an Sales Order from a plain file
    The Idoc I use is ORDERS05
    Can anybody help me with some easy example???
    I have some problem when I tried to match the fields in the segments of the Idoc and the fields in the transaction VA01....

    Hi,
    Please check this links for inbound IDOC ORDERS05 data mapping.
    http://www.erpgenie.com/sapgenie/docs/sapedi/ordersin.xls
    http://www.erpgenie.com/sapgenie/docs/sapedi/ordedi.xls
    http://www.erpgenie.com/sapgenie/docs/sapedi/ordi1.doc
    If the above links do not work for you, then please try to use WE19 (IDoc testing tool) for data mapping and simulate the inbound sales order. You can also use this tool for testing purposes as well.
    Once done, then you can try to process your inbound IDoc file using standard program RSEINB00 to read the file and generate IDoc(s). Please ensure all your ALE and IDoc configuration are done such as distrribution model (BD64), partner profile (WE20), IDoc Port Processing (WE21) and so on.
    Hope this will help to start with.
    Regards,
    Ferry Lianto

  • How to trigger a sales order Idoc ORDERS05 when ever we create or change it

    Hello Experts,
    What are all the configuratons that we need to do on SAP to configure triggering of sales order when ever its created or changed.
    It will be very helpfull if you give in step - step process to do it.
    If any have any documentation please sendme
    Please Help,

    If i understand your message correctly, You want to trigger an ORDERS05 IDOC with message type ORDRSP from the sales order right. You can configure the output type in transaction NACE under application V1 and assign it to you output determination procedure. You need to check the box Multiple issueing if you want the output to be proposed every time you change the order. You also need to create partner profile for the customer in WE20.

  • How to post idoc ORDERS05 from ABAP standalone program to the same R3 syst?

    Hi Masterminds,
    I need to post IDoc from ECC to same R/3 system. For that i need to develop a standalone program which will post Idoc 'ORDERS05'.
    I had the following data:
    E1EDKA1                         - PARTN
    E1EDK02; QUALF = 001        - BELNR
    E1EDP19; QUALF = 003     - IDTNR
    E1EDP02; QUALF = 997        - BELNR
    E1EDP01     MENGE               - Space
    E1EDP02; QUALF = 999        - BELNR
    E1EDK01     BSART               - Space
    E1EDP19; QUALF = 002        - IDTNR
    E1EDP01     ABGRU              - Space
    E1EDKA1     PARVW              - Space
    Please provide me details how to write the program and what necessary steps do i need to follow.
    Thanks......

    Hi,
    Do ALE settings and Fill two tables of type EDIDD and structure of type  EDIDC
    and pass it to function module 
    CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
        EXPORTING
          MASTER_IDOC_CONTROL                  = P_WA_EDIDC
      OBJ_TYPE                                              = ''
      CHNUM                                                   = ''
        TABLES
          COMMUNICATION_IDOC_CONTROL           = P_I_EDIDC
          MASTER_IDOC_DATA                                = P_I_EDIDD
       EXCEPTIONS
         ERROR_IN_IDOC_CONTROL                        = 1
         ERROR_WRITING_IDOC_STATUS               = 2
         ERROR_IN_IDOC_DATA                              = 3
         SENDING_LOGICAL_SYSTEM_UNKNOWN       = 4
         OTHERS                                                            = 5.

Maybe you are looking for