Creating Delivery based on the Inbound IDOC received.

Hi all,
I have a requirement where in, Outbound Delivery for Sales order is to be created based on the inbound IDOC received from a third party.  The standard idoc type DELIVERY03, requires the Delivery Number for updating the order but it cannot create a delivery number.
Can any one suggest which IDOC type can be used for this or if there is any alternative solution?

Hi,
You can use FM IDOC_INBOUND_WRITE_TO_DB to create an inbound IDoc.
CALL FUNCTION 'IDOC_INBOUND_WRITE_TO_DB'
    EXPORTING
      PI_STATUS_MESSAGE       = I_EDIDS
    IMPORTING
      PE_IDOC_NUMBER          = DOCNUM
      PE_STATE_OF_PROCESSING  = STPROC
      PE_INBOUND_PROCESS_DATA = I_TEDE2
    TABLES
      T_DATA_RECORDS          = I_EDIDD
    CHANGING
      PC_CONTROL_RECORD       = I_EDIDC
    EXCEPTIONS
      IDOC_NOT_SAVED          = 1
      OTHERS                  = 2.
Check the following link:
http://www.sapbrain.com/TUTORIALS/TECHNICAL/IDOC_tutorial.html
<b>Reward points</b>
Regards

Similar Messages

  • Some Data Missing in the inbound Idoc received from Gentran

    Hi,
    We are receing one custom message type with the basic type ORDER05 in SAP from Gentran. When we checked the destination file generated in Gentran, its showing data for all the segments. However in SAP when we checked the corresponding idoc we find the segment E1EDP05 is missing. The Gentran team says they are placing the destination file in the unix server of SAP. However we dont find these files in the SAP Unix server. Could anybody advise what could be the problem and where we need to check further ?

    Gentran will never be able to create an IDOC within SAP. Here is what happens:
    > Gentran creates a flatfile/XML which is in the IDOC format (the one which you can see in WE60).
    > Gentran then places this flat file/XML in a folder on Application server. This can be UNIX, Windows NT, etc..
    > Gentran then triggers the Startrfc.exe which will trigger EDI_DATA_INCOMING function module.
    > This FM will parse the data, check it for consistency of the defined standards, then write the control record into EDIDC and corresponding data records into EDID4 and updates the relevant statuses (i.e. 01 - added, etc). It'll then look into the partner profile setup, look for process code and moves the status to 64 and calls the inbound FM which will post the application document.
    In you case, you need to find out what file is coming in and where E1EDP05 has missed. The data will only be sent by Gentran. The inbound function modules will never update IDOC data records (unless there is a customization). The status records are updated.
    If E1EDP05 is not mapped and sent by Gentran and you still used to see it, then there should have been a customization in place to add values to IDOC segment fields. Try to get the final file that is mapped from either X12/EDIFACT and then see if E1EDP05 segment is present in there. If it is present then upload the same file into AL11 using CG3Z and call EDI_DATA_INCOMING or WE19 to process it. Once processed, you'll can observe if E1EDP05 is being created or not.

  • How to get the inbound idoc for the newly created inbound Idoc FM

    Hi,
    I have created a new function module to process the Inbound idoc.  I need to have a idoc to check my function module, whether it is working fine or not.  How I can get the data.  Do I need to have the idoc from the partner ?  Please help me ASAP.
    Thanks,
    sreenivas.

    Hi Sreenivas,
    Go to WE19 and get any of the your present idoc  with the idoc type
    then go to BD20...execute the same idoc...and there you can create the IDoc, and process the same with the Inbound function module tab..( give the FM you are using as the process code.)
    from there you can do the debugging aswell of that FM
    Thanks

  • Find the Inbound IDOC

    Hi Experts,
    I have a requirement to get the Inbound IDOC for particular PO. I have used the following method:
    http://forums.sdn.sap.com/thread.jspa?threadID=1082790
    That means using tables:
    A) SRRELROLES
    B) IDOCREL
    This is working for most of the cases except if the inbound IDOC is amended by the sender ( ex:- requested quantity changed ).
    1. If inbound IDOC received without any changes, it will be there in SRRELROLES as roletype = 'INBELEG'.
    2. If inbound IDOC received with changes it is not there in SRRELROLES.
    Could you please help me to resolve this issue?
    Thanks,
    Chaminda

    Hi,
    Thanks for your help.
    anyway, finally i had to use the time consuming way as there is no any other way.
    1. Get all the ORDRSP Idocs from EDIDC based on the selected date range
    select docnum status
          into table lt_edidc
          from edidc
         where credat in p_date1 and
               mestyp = 'ORDRSP'.
        if sy-subrc eq 0.
          sort lt_edidc.
    2. Get all segment data records for the control records
          select mandt docnum counter segnum segnam psgnum hlevel dtint2 sdata
            from edid4
            into table lt_edid4
             for all entries in lt_edidc
           where docnum = lt_edidc-docnum and
                 segnam = 'E1EDK02'.
    3. to imporve the performance, i have used BINARY SEARCH when search back the IDOC from PO.
    Thanks,
    Chaminda
    Edited by: chamindakrat on Feb 17, 2012 12:07 AM

  • RCVPOR is missing the Inbound IDoc

    Hi all,
    I am getting IDoc from the XI with the status code 56.
    I found that receipt port is missing in the control record.
    If I use sender partner type as LS, it is working fine. When I use the sender partner type as KU IDocs are not getting posted successfully, the port for the recipient information in the control record of the inbound IDoc is empty and all other filled are filled.
    Any suggestions please
    Thank you
    Regards
    Harsha

    Dear Harsha,
    can you explain how you solved the issue - I am experiencing exactly the same problem. I am receiving the same Message type from several other systems (not LI, but LS), and we are receiving other message types for the same partner. -> in all other cases the RCVPOR is filled correctly.
    We are using webMethods and not XI, the RCVPOR is sent correctly by the middleware.
    brg Karl

  • Need to launch specific document and wave file based on the inbound Route Point

    I am having issues using CDA in terms of creating the appropriate WF to launch both a wave file and specific Word document based on the inbound DNIS.  I have UCCX 8.0(2) SU3 enhanced so I can't use HTTP.  I really need a solution today.  Thanks.

    I did script to play the file to the agent as a whisper then hang up and ring the line again to connect the caller to the agent but the customer didn't like that at all so i just created the WF to launch from the same filepath on all machines to point the the appropriate wave files based on the DNIS.  Because the customer has enhanced I'm not launching the Word docs as PDFs in a integrated browser like I'd prefer but as an external application.  Again, based on the DNIS. 

  • Creating Work Flow Item for inbound Idocs

    Hi experts,
    I'm just trying to create a work item in sap inbox when inbound idoc fails and gets the status 51 .Documentation says no need for any extra setup,it works with standard SAP tasks & Idoc system process codes which are all preconfigured.
    I'm assiginig a user id in the partner profile.I do get a work item when there is syntax error in the inbound idoc segments(like wrong sequence of segments...), but not when idoc fails,due to idoc errors.Am i missing something.Users want a workitem when it fails,so they can reprocee/edit etc.Please help.
    Thanks in advance,
    Rajj

    Thanks for the response.I know this task and i could see a event triggered in the event log,but no work item created in my inbox.What should i do to get the work item in my inbox.should i change this task or assign this to some thing else.
    Thanks,
    Rajj

  • Create credit memo request using inbound IDOC

    Hi Experts,
    I want to create credit memo request using inbound IDOC, currently I am using GSVERF03 basic type and process code GSVE, I am getting below error:
    No records exist in T661W for vendor XXXXX, plant, unloading point
    Anyone suggest me is this correct message type to create credit memo request or suggest me the correct one. because we are working with customer sales order and invoice not with vendor purchase order.
    Thanks for your help.

    ah, apologies i read outbound! I think you are using the correct message type i.e. GSVERF.
    Can you not simply create the missing entry in T661W? i.e. for the missing records?

  • Problem Creating VirtualProviders Based on the DTP

    Problem Creating VirtualProviders Based on the Data Transfer Process .
    (1) I have created an Data Source(extract structure and extractor) on SYS1. Tested the extractor. It returns data as desired.
    (2) Then I replicated this Data Source to SYS2.
    (3) In SYS1 I created InfoCube(VirtualProvider based on data transfer process for direct access) .
    Till this point I have no issues .
    (4) But after that I am not able to "Create Data Transfer Process"  for this Virtual Infoprovider . When I try to create DTP the DTP type available for selection is "Scheduled" where as per the documentation I need to create DTP of DTP type "DTP for Direct Access".This DTP type I donot see.
    Is it a problem with the BW configuration or some user error.Any suggestions which may help would be realy appreciated.
    Thanks & Regards,
    priyadarshi

    Corrected some typo in my earlier update...
    Problem Creating VirtualProviders Based on the Data Transfer Process .
    (1) I have created an Data Source(extract structure and extractor) on SYS1. Tested the extractor. It returns data as desired.
    (2) Then I replicated this Data Source to SYS2.
    (3) In SYS2 I created InfoCube(VirtualProvider based on data transfer process for direct access) .
    Till this point I have no issues .
    (4) But after that I am not able to "Create Data Transfer Process" for this Virtual Infoprovider . When I try to create DTP the DTP type available for selection is "Standard(Scheduled)" where as per the documentation I need to create DTP of DTP type "DTP for Direct Access".This DTP type I donot see.
    Is it a problem with the BW configuration or some user error.Any suggestions which may help would be realy appreciated.
    Thanks & Regards,
    priyadarshi

  • Delay in the Inbound Idoc Posting Process

    Dear Friends,
    We have an scenario in the Inbound Idoc Posting Process, when we process the Idocs through the standard Inbound Program - RBDAPP01, we face the delay of 3hrs to 12 hrs, approx.
    When we try to re-process the same through the manual process, we could successfully post the Idocs, immediately.
    When the same happens, through the background job - the delay is happening.
    As we see, there is no problem with the program - RBDAPP01, but can't able to trace the delay in the process.
    Any suggestions / advises are welcome.
    Thanks in advance.

    Hi Prasanna,
    The update will happen only if a value already exists with the same unit of measure in the system. If the quantity is left blank in the system and if you are trying to update, the update might not happen. Even if the value is Zero in the system, provide the same unit of measure as the data used in the BAPI.
    Regards,
    Yogesh

  • Segment E1IDBW1 is missing for the inbound idoc type PAYEXT

    Hello,
    the above segment is missing in the inbound idoc - basic type pexr2002.
    I have checked in TC-we30 and its available there.
    but still the idoc is getting generated without this segment.
    can someone suggest.
    thanks
    Arun

    Hi All,
    I have a similar query to that of Penny. We are able to get the standard IDOC to generate with segment E1IDBW1. It contains the standard fields INPWEEMP, INPWTXT1, INPWTXT2. However, we have a requirement to manipulate the standard contents of these fields. We wanted to use user exit EXIT_SAPLIEDP_002 to do this.
    I have maintained user exit EXIT_SAPLIEDP_002 but when we enter this on creation of the IDOC the segment E1IDBW1 does not seem to be available in table EDIDD_TABLE for manipulation. Can you advise please if (1) you were able to get E1IDBW1 available to edit in exit EXIT_SAPLIEDP_002  and (2) were you able to manipulate the contents of INPWTXT1, INPWTXT2 etc?
    We have done the following steps:
    - BTE 2441 is available on our release
    - house bank has been setup as an In House Cash Center which allows E1IDBW1 to be generated
    - entry has been maintained in table FEDICUS with Message Type = PAYEXT, BasicType = PEXR2002, Extension = Blank, Seg Type = E1IDBW1
    - code maintained in ZXF08U04
    The system enters ZXF08U04 but E1IDBW1 is not available there for manipulation.
    Can you advise what we might be missing please?
    Thanks and regards
    Mike

  • How to write processing code for the Inbound IDOC to the R/3 ??

    i m having a file -> XI-->R/3 scenario,
    IDOC is being sent from XI to R/3,
    can u guide to me to write a processing code for the Inbound IDOC to the R/3,
    since i m new to ABAP and ALE technology, can we provide me any blog for doing that.......or guide me....

    Hi Sudeep
    Simple File to Idoc scenarion blog
    /people/ravikumar.allampallam/blog/2005/06/24/convert-any-flat-file-to-any-idoc-java-mapping - Any flat file to any Idoc
    Also see the blog
    <a href="/people/ravikumar.allampallam/blog/2005/02/23/configuration-steps-required-for-posting-idocsxi Steps for Posting IDOC's</a> by Ravikumar.
    Configuration of IDOC adapter
    http://help.sap.com/saphelp_nw04/helpdata/en/96/791c42375d5033e10000000a155106/frameset.htm
    Regards
    Santhosh
    *Reward points if useful*

  • Where to put break point when debugging the inbound IDOC processing

    Hi, Dear Experts,
    If IDOC has error and want to debug, which program or function module  to put break point when debugging the inbound IDOC processing
    Thank you so much!
    Helen

    It depends on if you have the custom FM or standard FM...Is it MM invoice or FI invoice? ... You can find out your FM by going to partner profile (WE20) for your sender partner and partner function.. Drill down to your partner and the message type and find the inbound process code.. Double clicking on the process code will help you find the FM...
    If you don't have access to WE20, You can also put BP into any of the IDOC_INPUT_INVOIC* FM and see if it is getting triggered (assuming your IDOC is standard FM)...

  • IDOc creating and postinng in the inbound system.

    i one requirement. i will get sales orders in flat file from legacy system. i need to consolidate the sales orders and post in the syatem as debit memo request.here i need to create the idoc with consolidate sales order and post in the same system.i need to use only IDOC.
    i am confused in one step.
    1. we will read the data from flat file and consolidate the orders.
    2. for one consolidate order we will create IDOC .which function module we should use to create IDOC?
    3.what kind of mapping we should do for this?
    4.after creating IDOC.i need to post from the same custom program? how can i do this?
    5.if i use IDOC_INBOUND_SINGLE. will it create IODC and also POST?
    if anybody got this type of requirement plese help me.

    hi
    THIS SAMPLE PROG MAY HELP YOU
    constants:   c_doctyp type edidc-idoctp value 'ZUSRDET01', IDOC TYPE
                 c_segnam type edidd-segnam value 'Z1USRDET01', SEGMENT TYPE
                 c_mestyp type edidc-mestyp value 'ZUSRDET'. MESSAGE TYPE
      data:      it_zusr02 type usr02 occurs 10,
                 it_edidc type edidc occurs 0,
                 it_edidd type edidd occurs 0,
                 wa_zusr02 type usr02,
                 wa_edidc type edidc,
                 wa_edidd type edidd,
                 wa_z1usrdet01 type z1usrdet01,
                 v_occmax type idocsyn-occmax,
                 v_nbseg type i.
                clear wa_zusr02.
                clear wa_edidc.
                Save the message type and the basic IDoc type in the control segment.
                move c_mestyp to wa_edidc-mestyp.
                move c_doctyp to wa_edidc-idoctp.
                Retrieve the maximum number of segments in the basic IDoc type.
                select min( occmax )  from idocsyn  into v_occmax  where idoctyp eq c_doctyp and segtyp eq c_segnam.
                Save the whole USR02 table content in the IT_ZUSR02 internal table.
                select * from usr02 into corresponding fields of table it_zusr02.
                Create a data segment for each line of IT_ZUSR02.
                loop at it_zusr02 into wa_zusr02 .
                  move-corresponding wa_zusr02  to wa_z1usrdet01.
                  clear wa_edidd.
                  move c_segnam to wa_edidd-segnam.
                  move wa_z1usrdet01 to wa_edidd-sdata.
                  append wa_edidd to it_edidd.
                  clear wa_zusr02.
                 clear wa_z1usrdet01.
                endloop.
               Count the number of data segments.
                  describe table it_edidd lines v_nbseg.
               If the number of data segments exceeds the maximum allowed number,then display an error message.
                  if v_nbseg gt v_occmax.
                  write:/ 'ERROR'.
                  endif.
                  call function <b>'MASTER_IDOC_DISTRIBUTE'</b>
                    exporting
                      master_idoc_control                  = wa_edidc
                    OBJ_TYPE                             = ''
                    CHNUM                                = ''
                    tables
                      communication_idoc_control           = it_edidc
                      master_idoc_data                     = it_edidd
                   exceptions
                     error_in_idoc_control                = 1
                     error_writing_idoc_status            = 2
                     error_in_idoc_data                   = 3
                     sending_logical_system_unknown       = 4
                     others                               = 5
                  if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
             with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
                  endif.
    <b>reward points for useful ans</b>
    <i>Regards
    Ankit</i>

  • Inbound IDOC receiver port not getting filled in

    Hi All,
    I checked the WE20 configuration and it is fine. Just wanted to check if there is any other sap configuration which might be missing.
    The IDOC is coming from a web server and they confirmed that they are filling the receiver port information while sending, but in the IDOC that we receive in SAP the receiver port is coming as blank.
    Any pointers will be appreciated.
    Thanks,
    Anil

    Hello Anil,
    When they say they are filling receiver port that means they filling EDIDC-RCVPRT, please note with out receiver port you will not be able to receive the Idoc.
    It means this value might be cleared somewhere in SAP. may be user exit or BADI or enhancement. what you can do is try to create inbound idocs by populating receiver  port using WE19 and check whether the created idoc contains this value or not.By doing the you can get an idea where this value is disappered.

Maybe you are looking for