Idoc Post processing

Dear Experts,
I have a scenario where in once the delivery Idoc is kikked off, I need to kick a custom Idoc, can some one please guide me on how to handle this scenario.
Please guide me on how to find a user exit post processing of an Outbound Idoc
Thanks for your time.
-Amit

Hi Amit,
One suggestion would be to create your custom idoc in a standard user exit called for creating delivery idoc. Another way is to create a workflow and trigger it with event once a change pointer is created for your delivery document. This workflow will be a single step task which will call a business object method which will internally call a custom function module to populate and trigger the idoc.
In case you go for second solution and face any issues please let me know. we had a similar requirement in our project and solved it using solution 2.
KR Jaideep,

Similar Messages

  • 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

  • BADI for post processing of IDOC BOMORD

    Hi experts ,
    I want a BADI for post processing of IDOC BOMORD. Actually after IDOC processing BOM got updated in system and i want to schedule the explosion of BOM in process order after it. Please update me with the solution.
    Thanks
    Nitin kapoor

    Roberto, thanks for your prompt reply (as always). 
    Actually, it seems that the deletion of the prior infopackage request is performed before executing the infopackage again (not after), I apologize.  I will try your suggestion, though.  If this is actually the correct FM, then I will award you full points!
    I must admit, though, understanding the parameters of the FM are difficult.  Can you aor anyone else provide more details?

  • Processes in Inbound IDoc posting

    Hi guys,
    I'm new with IDocs, and I have an object which requires Inbound IDoc posting..
    Can you give me the possible steps/processes including the tcodes on how can I solve this object?
    Please also include FMs that I might possibly used during my development.
    I highly appreciate all your swift responses. Thanks!

    Hi Mel,
    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.
    Regards,
    Chandra Sekhar

  • IDOC Inboun processing success but no record posted to table

    Hi,
       We are performing ALE refresh in RCD221 (development system). The ALE IDOCS are extracted for HR area with Message class as HRMD_A, the IDOCS are processed successfully from the sending system (RCB) and reaches the receving system RCD221. While we process the inbound IDOCS in RCD221 records are not getting posted in the table, however the IDOC status is shown as successful (53). This is happening when we are processing the data for object type 'P'.
    Regards,
    Bharath Mohan B.

    RFC destinations, Logical systems, and then Partner profiles needs to be maintained. and You need to create the Distribution model  in sender system.
    Partner profiles maintained in both the systems, soure Outbound properties
    Target Inbound properties.
    if you have two clients in system it will be easily you can check.

  • Starting new database LUW inside ABAP during IDoc posting

    Hi all,
    During posting of an inbound IDoc, I am trying to update my Z-table in user-exit. I want to do it regardless of the result of IDoc posting. The problem is: if IDoc posted successfully - table is updated because COMMIT WORK is called at the end of the posting, however, if IDoc not posted - ROLLBACK WORK is called and table is not updated. So, my aim now is to commit the update of Z-table in any case, but it is the only thing that should be committed - no other prior update FMu2019s should be committed.
    I'm aware about the following thread
    http://forums.sdn.sap.com/thread.jspa?threadID=1884700
    Author of this thread says that he solved a problem by means of RFC and STARTING NEW TASK. But ABAP help says
    that starting asynchronous RFC triggers immediately a database commit in the calling program (which is unacceptable because all prior update FMu2019s will be committed ). I've checked and it is really the case.
    From my point of view SET UPDATE TASK LOCAL with COMMIT WORK should work in such kind of tasks, but in case of IDoc processing the whole process runs in a local update (see SET UPDATE TASK LOCAL in FM 'IDOC_INPUT'), so writing once again SET UPDATE TASK LOCAL has no effect.
    I tested SUBMIT statement as well. It had no effect and then I found out from ABAP help that SUBMIT ... AND RETURN starts new SAP LUW, but NOT a DB LUW. That is if I update my Z-table in the program called by SUBMIT - all ROLLBACK statements still affect my  Z-table update.
    Is there any simple solution? Please suggest.
    Thanks in advance!

    Hello,
    Try SUBMIT VIA JOB.....
    Sample Code
    call function 'JOB_OPEN'
    exporting
    jobname = name
    importing
    jobcount = number
    exceptions
    cant_create_job = 1
    invalid_job_data = 2
    jobname_missing = 3
    others = 4.
    if sy-subrc = 0.
    submit z_idoc_create_process_order and return
    via job name number number
    with p_aufnr = it_header1-aufnr
    with p_werks = it_header1-werks
    with p_autyp = c_autyp
    with p_auart = it_header1-auart
    with p_dispo = it_header1-dispo
    with p_opt = c_opt
    with p_mestyp = c_mestyp.
    if sy-subrc = 0.
    call function 'JOB_CLOSE'
    exporting
    jobcount = number
    jobname = name
    strtimmed = 'X'
    exceptions
    cant_start_immediate = 1
    invalid_startdate = 2
    jobname_missing = 3
    job_close_failed = 4
    job_nosteps = 5
    job_notex = 6
    lock_failed = 7
    others = 8.
    if sy-subrc 0.
    endif.

  • Error : Pre Settings for IDoc inbound processing are missing error

    Hi Experts,
    There is a CRM job which executes LSMW and I am facing a strange problem during the IDOC posting the error "Pre Settings for IDoc inbound processing are missing error". Can anyone please tell me how to correct this error?
    Thanks in advance.
    Madhurima.

    I'd start with the following document, with one modification. At step 12 after typing GEARAspiWDM press the Enter/Return key once prior to clicking OK. (Pressing Return adds a carriage return in the field and is important.)
    [iTunes for Windows: "Registry settings" warning when opening iTunes|http://support.apple.com/kb/TS3299]

  • IDOC Serialization Processing

    Experts,
    Request your view on this:
    The scenario is File to IDOC via XI. XI picks up the XML files via a file adapter  which is then mapped to idoc ZRMD_A07 (HRMaster Idoc Basic type built as a copy of HRMD_A07 to add additional infotypes) and sent to SAP ECC via IDOC Adapter.
    This interface is live and works well for the partner profile setting in WE20 as Trigger immediately.
    The most important requirement of the scnario is to process the idocs serially as the following IDOCs may depend on the previous one.
    The trigger immediately caused resource issues when there were 45000 idocs hit the system. So we decided to process them in background by chaging the partner profile setting as Triger by background Job. We scheduled the report RBDAPP01 for the same.
    It caused problems as the idocs were not processed serially. So we did the settings in SAP ECC system to have the IDOCs posted in the status 66 which tells the background program to process them serially.
    I followed the following links on help to post idocs with status 66 but still they are getting posted as 64:
    http://help.sap.com/saphelp_nwpi71/helpdata/EN/f8/42d1b5cfa711d6b2ba00508b5d5c51/content.htm
    http://help.sap.com/saphelp_nwpi71/helpdata/EN/5f/45f93b4139b478e10000000a11402f/content.htm
    Any help would be much appreciated.
    Regards,
    Ripple

    How about placing the IDOCs in a queue. If you setup the file adatper as EOIO and provide a queue name, then in your ECC system, the IDOCs will be posted using the same queue name and can be displayed using transaction code WEINBQUEUE.
    You can use program RSEINBQUEUE_PARTNER to post these IDOCs within the queue.
    Queuing up/serializing impacts performance as well because you are not posting IDOCs in parallel. Another round about Idea is to post the IDOCs through a proxy in multiple queues where you can group IDOCs that need to be serialized in a particular queue. I wouldn't know a reason why all the 4500 so IDOCs need to serialized. Normally it is a set of IDOCs within the 4500 that need to serialized.
    KK

  • IDoc Inbound Processing for CREMDM & DEBMDM

    Hi experts,
    I'd like to gather some feedback from you regarding the topic ERP IDoc Inbound Processing for CREMDM & DEBMDM. As you all know, there's currently no option to directly process CREMDM/DEBMDM IDocs in ERP. Currently you have to use PI for splitting the CREMDM/DEBMDM message into its related ADRMAS and CREMAS/DEBMAS IDocs.
    My areas of interest are:
    1) How satisfied are you with the current situation? Does the split work? Are there issues or problems in the current message handling? What are the Pro's and Con's from your point of view?
    2) What would be the requirements for a CREMDM/DEBMDM handler? What would you expect? Maybe you have implemented  something similar on project basis and could post some feedback?
    One painpoint I'd see with a CREMDM/DEBMDM inbound is that you'll lose the IDoc Monitoring capabilities. The message split allows a single record tracing in the IDoc Monitor (as there is a 1:1 relation between IDocs and records). This changes for the mass processing. The monitor would display only the status of the IDoc and you'd need some other monitoring capabilities to check the results on record level. What are your thoughts about that? Is the monitoring important? Would the application log be a feasible solution for that challenge?
    Additional comments are welcome, of course.
    Best regards
    Michael
    PS: @ Matt, please contact me by mail. thanks.

    Hello ,
    Here are some other pain areas regarding the message split :
    1. Complicated monitoring proess & reprocessing error idocs : We have to monitor ADRMAS & CREMAS or ADRMAS & DEBMAS during inbound processing. Also we could not find any best practices to reprocess error idocs. E.g. If ADRMAS fails & CREMAS succeeds what is the impact . Also the impact if it is reveresed. We know for sure that if CREMAS fails , vendor will not be created / updated. But we could not find specific pointers for ADRMAS failures.
    2. It is a tedious process to link CREMAS with corresponding ADRMAS idoc specially when SAP maintains internal number range for vendors.
    3 . The process is complicated if you are managing customer or vendor contact information with contact address . We could succesfully implement the integration but it took us a while to reach end-point.
    4. Splitting really does not seem to support if ERP maintains internal number range.
    5. Another major issue we observed is , if ADRMAS is under process & corresponding DEBMAS or CREMAS is posted , it fails raising the message that Account is locked. Default serialization does work in ERP system . But overlap of few microseconds also cause this error.
    Hope this helps !!
    Please let me know if you need any other specific details since we have used MDM - ECC integration using PI to its maximum extent .
    Regards
    Yogesh

  • Inbound IDoc Posting Function Module

    Give me an example of   how to write "Inbound IDoc Posting Function Module".
    In my IDOC i have 10 segments each containing 1 field.
    How do i create the Inbound IDoc Posting Function Module ??
    Is the following code correct ??
    FUNCTION ZIDOC_INBOUND.
    ""Local interface:
    *"  IMPORTING
    *"     VALUE(INPUT_METHOD) LIKE  BDWFAP_PAR-INPUTMETHD
    *"     VALUE(MASS_PROCESSING) LIKE  BDWFAP_PAR-MASS_PROC
    *"  EXPORTING
    *"     VALUE(WORKFLOW_RESULT) LIKE  BDWFAP_PAR-RESULT
    *"     VALUE(APPLICATION_VARIABLE) LIKE  BDWFAP_PAR-APPL_VAR
    *"     VALUE(IN_UPDATE_TASK) LIKE  BDWFAP_PAR-UPDATETASK
    *"     VALUE(CALL_TRANSACTION_DONE) LIKE  BDWFAP_PAR-CALLTRANS
    *"  TABLES
    *"      IDOC_CONTRL STRUCTURE  EDIDC
    *"      IDOC_DATA STRUCTURE  EDIDD
    *"      IDOC_STATUS STRUCTURE  BDIDOCSTAT
    *"      RETURN_VARIABLES STRUCTURE  BDWFRETVAR
    *"      SERIALIZATION_INFO STRUCTURE  BDI_SER
    *"  EXCEPTIONS
    *"      WRONG_FUNCTION_CALLED
    *DATABASE TABLES
    TABLES:LIKPUK.
    *DATA DECLARATIONS
        DATA: SALES_ORDER_NUM             LIKE Z1VBELN.
        DATA: DEL_TYPE                    LIKE Z1LFART.
        DATA: ACTUAL_GOODS_MOVEMENT_DATE  LIKE Z1WADAT_IST.
        DATA: SHIPPING_POINT              LIKE Z1VSTEL.
        DATA: LOADING_POINT               LIKE Z1LSTEL.
        DATA: ROUTE_PGI                   LIKE Z1ROUTE.
        DATA: PICK_DATA                   LIKE Z1KODAT.
        DATA: CUST_NO                     LIKE Z1KUNNR.
        DATA: LOCAL_DATE                  LIKE Z1STDAT.
        DATA: TOTAL_GOOD_MOV              LIKE Z1WBSTK.
    *INTERNAL TABLE DECLARATION
    DATA:
    IT_LIKP LIKE LIKPUK OCCURS 0 WITH HEADER LINE.
    INITIALIZE WORK FLOW
        WORK_RESULT = C_WF_RESULT_OK.
         LOOP AT IDOC_CONTRL.
    MAKE SURE WE HAVE CORRECT MESSAGE TYPE PASSED.
         IF IDOC_CONTRL-MESTYP NE 'Z_IDOC_PGI'.
         RAISE WRONG_FUNCTION_CALLED.
         ENDIF.
    CLEAR APPLICATION BUFFERS BEFORE READING NEW ENTRY
        CLEAR :IT_LIKP.
      REFRESH IT_LIKP.
    *PROCESS ALL THE DATA RECORDS IN AN IDOC AND TRANSFER THEM TO
    *APPLICATION BUFFERS
    INCLUDE MBDCONWF.
    LOOP AT IDOC_DATA WHERE DOCNUM EQ idoc_contrl-docnum.
    CASE IDOC_DATA-SEGNAM.
    WHEN'Z1VBELN'.
       SALES_ORDER_NUM  =    IDOC_DATA-SDATA.
       MOVE-CORRESPONDING SALES_ORDER_NUM TO IT_LIKP.
    WHEN 'Z1LFART'.
       DEL_TYPE    = IDOC_DATA-SDATA.
       MOVE-CORRESPONDING DEL_TYPE TO IT_LIKP.
    WHEN 'Z1WADAT_IST'.
       ACTUAL_GOODS_MOVEMENT_DATE    = IDOC_DATA-SDATA.
       MOVE-CORRESPONDING ACTUAL_GOODS_MOVEMENT_DATE TO IT_LIKP.
    WHEN 'Z1VSTEL'.
       SHIPPING_POINT    = IDOC_DATA-SDATA.
       MOVE-CORRESPONDING SHIPPING_POINT TO IT_LIKP.
    WHEN 'Z1LSTEL'.
       LOADING_POINT   = IDOC_DATA-SDATA.
       MOVE-CORRESPONDING LOADING_POINT TO IT_LIKP.
    WHEN 'Z1ROUTE'.
       ROUTE_PGI    = IDOC_DATA-SDATA.
       MOVE-CORRESPONDING ROUTE_PGI TO IT_LIKP.
    WHEN 'Z1KODAT'.
       PICK_DATA =   IDOC_DATA-SDATA.
       MOVE-CORRESPONDING PICK_DATA TO IT_LIKP.
    WHEN'Z1KUNNR'.
       CUST_NO  =   IDOC_DATA-SDATA.
       MOVE-CORRESPONDING CUST_NO TO IT_LIKP.
    WHEN'Z1STDAT'.
       LOCAL_DATE  =   IDOC_DATA-SDATA.
       MOVE-CORRESPONDING LOCAL_DATE TO IT_LIKP.
    WHEN'Z1WBSTK'.
       TOTAL_GOOD_MOV  =   IDOC_DATA-SDATA.
       MOVE-CORRESPONDING TOTAL_GOOD_MOV TO IT_LIKP.
    ENDCASE.
    ENDLOOP.
    selecting data from the database
    select * from likp into corresponding fields of table it_likp.
    add status record
        IF SY-SUBRC EQ 0.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '53'.
          IDOC_STATUS-MSGTY = 'I'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '004'.
          IDOC_STATUS-MSGV1 = it_likp-VBELN.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
        ELSE.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '51'.
          IDOC_STATUS-MSGTY = 'E'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '005'.
          IDOC_STATUS-MSGV1 = it_likp-VBELN.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
          RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          CLEAR RETURN_VARIABLES.
        ENDIF.
    IF SY-SUBRC EQ 0.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '53'.
          IDOC_STATUS-MSGTY = 'I'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '004'.
          IDOC_STATUS-MSGV1 = IT_LIKP-LFART.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
        ELSE.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '51'.
          IDOC_STATUS-MSGTY = 'E'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '005'.
          IDOC_STATUS-MSGV1 = IT_LIKP-LFART.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
          RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          CLEAR RETURN_VARIABLES.
        ENDIF.
    IF SY-SUBRC EQ 0.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '53'.
          IDOC_STATUS-MSGTY = 'I'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '004'.
          IDOC_STATUS-MSGV1 = IT_LIKP-WADAT_IST.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
        ELSE.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '51'.
          IDOC_STATUS-MSGTY = 'E'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '005'.
          IDOC_STATUS-MSGV1 = IT_LIKP-WADAT_IST.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
          RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          CLEAR RETURN_VARIABLES.
        ENDIF.
        IF SY-SUBRC EQ 0.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '53'.
          IDOC_STATUS-MSGTY = 'I'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '004'.
          IDOC_STATUS-MSGV1 = IT_LIKP-VSTEL.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
        ELSE.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '51'.
          IDOC_STATUS-MSGTY = 'E'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '005'.
          IDOC_STATUS-MSGV1 = IT_LIKP-VSTEL.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
          RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          CLEAR RETURN_VARIABLES.
        ENDIF.
        IF SY-SUBRC EQ 0.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '53'.
          IDOC_STATUS-MSGTY = 'I'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '004'.
          IDOC_STATUS-MSGV1 = IT_LIKP-LSTEL.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
        ELSE.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '51'.
          IDOC_STATUS-MSGTY = 'E'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '005'.
          IDOC_STATUS-MSGV1 = IT_LIKP-LSTEL.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
          RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          CLEAR RETURN_VARIABLES.
        ENDIF.
        IF SY-SUBRC EQ 0.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '53'.
          IDOC_STATUS-MSGTY = 'I'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '004'.
          IDOC_STATUS-MSGV1 = IT_LIKP-ROUTE.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
        ELSE.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '51'.
          IDOC_STATUS-MSGTY = 'E'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '005'.
          IDOC_STATUS-MSGV1 = IT_LIKP-ROUTE.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
          RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          CLEAR RETURN_VARIABLES.
        ENDIF.
        IF SY-SUBRC EQ 0.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '53'.
          IDOC_STATUS-MSGTY = 'I'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '004'.
          IDOC_STATUS-MSGV1 = IT_LIKP-KODAT.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
        ELSE.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '51'.
          IDOC_STATUS-MSGTY = 'E'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '005'.
          IDOC_STATUS-MSGV1 = IT_LIKP-KODAT.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
          RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          CLEAR RETURN_VARIABLES.
        ENDIF.
        IF SY-SUBRC EQ 0.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '53'.
          IDOC_STATUS-MSGTY = 'I'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '004'.
          IDOC_STATUS-MSGV1 = IT_LIKP-KUNNR.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
        ELSE.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '51'.
          IDOC_STATUS-MSGTY = 'E'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '005'.
          IDOC_STATUS-MSGV1 = IT_LIKP-KUNNR.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
          RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          CLEAR RETURN_VARIABLES.
        ENDIF.
        IF SY-SUBRC EQ 0.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '53'.
          IDOC_STATUS-MSGTY = 'I'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '004'.
          IDOC_STATUS-MSGV1 = SY-DATLO.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
        ELSE.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '51'.
          IDOC_STATUS-MSGTY = 'E'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '005'.
          IDOC_STATUS-MSGV1 = SY-DATLO.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
          RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          CLEAR RETURN_VARIABLES.
        ENDIF.
        IF SY-SUBRC EQ 0.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '53'.
          IDOC_STATUS-MSGTY = 'I'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '004'.
          IDOC_STATUS-MSGV1 = IT_LIKP-WBSTK.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
        ELSE.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '51'.
          IDOC_STATUS-MSGTY = 'E'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '005'.
          IDOC_STATUS-MSGV1 = IT_LIKP-WBSTK.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
          RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          CLEAR RETURN_VARIABLES.
        ENDIF.
    endloop.
    endfunction.

    Hi,
    First goto WE20-> click on the logical system , now select the receiver LS which you are using as your partner. Now in the inbound parameters cehck what is the process code is attached.
    once you get the process code then go to WE42 tcode.. there you give the process code and then double click you will get the function module IDOC_INPUT_FIDCMT.
    Hopw you got my point.
    Regards,
    Nagaraj

  • Error in idoc posting

    We have a scenario where some 20 to 25 Idocs which r at 64 status are processed by the batch program(for rbdapp01) to post them in the system.What happens is some idocs take few extra secs for processing so the the other idocs get posted in 51 status saying material and batch is locked by the batch program....
    what we do is we go reprocess the idocs manually..
    This happens frequently now...
    So whatz the possible solution for this...?
    Pls help...
    Thanks,
    Larry

    Here is the documentation of the program RBDAPP01 which I am sure you might have read. Packet size has a role to play in it, but locking issues are typically due to parallel processing. Also, it could be the time of the day. Say you run this when there is lot of activity, online or background that also has something to do with the material/plant/batch etc. In that case, even if you have your IDocs serialized, you will still be facing the same issue as now the locks are created by other processes.
    <i>
    Short text
    Inbound Processing of IDocs Ready for Transfer
    Description
    Report for processing inbound IDocs not passed to the application immediately.
    This report forwards all IDocs with:
    Status 64 "ready to be passed to application"
    Status 66 "IDoc is waiting for predecessor IDoc (serialization)
    These match the selection criteria to be passed to the application for further processing.
    Essentially there are two groups of IDocs:
    IDocs to be serialized in accordance with the associated object.
    All other IDocs
    There are also two types of processing:
    Serial processing (IDocs are processed one after each other in one process)
    Parallel processing (IDocs are passed in packets to other processes for processing).
    Purpose of parameter 'Packet size': For IDocs to be serialized by object and for activated parallel processing, this parameter specifies the size of a packet to be processed in a task. If applicable, independent objects are processed in a separate task as with serial processing. (Large packet sizes lowers the level of parallel processing).
    For all other IDocs, as far as possible, an appropriately sized document is passed to the application. On the one hand, this supports some applications capable of mass processing.  On the other hand, the number of parallel packets is less as with activated parallel processing. (Lower system load, longer runtime).
    Notes on Program Terminations in Parallel Processing
    In parallel processing, processes containing the IDocs to be processed are started in parallel. If there is a termination (dump/ A message), no message is issued by RBDAPP01. The best way to identify such problems is to run RBDAPP01 without parellel mode after a scheduled RBDAPP01 with parallel mode. Then a termination is logged (dialog message or message in job log).
    Output
    The processed IDocs are output.</i>

  • IDOC Inbound processing error

    Hi Experts
    While IDOC posting i m encountering an error with status 64 (<b>No resources, Immed. processing not possible. Quota for rdispirfc_max_own_used_wp wxceed</b> )
    Can anyone explain the reason behind this.
    Regards
    DhanyaR Nair

    Hi,
    This has nothing to do with your IDOC and ideally should not happen on a production system at all.
    The work processes processes different tasks in the system like executing programs, background jobs. And you need to have enough for the same.
    From a IDOC stand point, you shouldn't be worrying about it.
    Regards,
    Ravi
    Note : Please mark all the helpful answers

  • ALE IDOC Inbound processing using IDOC_INPUT_ORDERS

    Hi experts,
    I am stuck up with IDOC inbound processing.
    Can you please let me know about the process in Receiving Purchase Order from the customer system and creating Sales Order in the SAP system? using FM IDOC_INPUT_ORDERS. I have an Idea about WE20, NACE etc.
    Can you please explain me about the process on how to go about it?
    Kind regards,
    Shiva.

    Hi,
    I have moved this thread from [ABAP, General Forum |ABAP Development; to [Data Transfers Forum|ABAP Connectivity;.
    The forum Data Transfer is the place to discuss LSMW, ALE, BDC, Data Transfer Techniques, Batch Data Communication, Legacy System Migration Workbench, Application Link Enabling, IDOCs, BAPIs.
    Please, the next time check the most appropriated forum category before posting. Thus you have more chance to have your question answered !
    Best Regards.
    Marcelo Ramos

  • Post processing agent in partner profile

    Hi
    Inbound idoc fails. The partner profile has a user (US) in the post processing:permitted agent, both on the actual partner (LS) and on the inbound message type. I would expect to see the error in the inbox of the business workplace, but I see nothing! - what have I done wrong?
    Cheers
    Rob

    Hi,
    I think for this you have to configure the workflow notifications for inbound process.
    Check if they are in place.
    Check this link.
    http://sap-f3.blogspot.com/2009/11/workflow-configuration-of-inbound-idoc.html
    Hope it helps.
    Regards,
    Raj

  • Post Processing Framework

    Hello Everyone,
    I am new to Netweaver 2004s and am working on an outbound interface through IDOC generation. I don't have an idea about the new "Post Processing Framework" concept but do understand that it closely resembles the regular Output Determination Type.
    If someone can help me with any materials towards better understanding of the concept as well as a working template towards the same, I would be highly obliged.
    Looking forward to hear from you all.
    Thanks & Rgds,
    Soumya

    Hi Soumya,
    PPF configuration is basically meant for processing the meesage on the shipment document in GTS.
    There are couple of steps that has to be followed :
    1 .
    Define Techn. Medium for Msgs (PPF Actions) f. Cust. Shipm
    In an action profile, we define all of the permitted actions. We also define general conditions for the actions contained in the profile. For example, we can define the way in which the system performs the action (by method call or Smart Forms).
    In an action Profile we define different Action it could be for EDI or Print as required.
    The Action definition is associated to Processing type
    Where  Actually the action type is defined like the Form and  method get defined here to process the message
    Action Profile is assigned to Custom Document type.
    Kind Regards,
    Sameer
    2. Define Conditions and Output Parameters for Comm. of Cust.Sh
    Here we define the parameter for messages such as printer and spool as required.
    3. Define Messages for Communication Processes
    Here we assign the defined Action definiton to the message so now action def is associated to Processing type so message will ge processed as per processng type.
    Hope this help in better understanding.

Maybe you are looking for

  • Buffer busy waits on UNDO data in Active Dataguard

    Oracle Version: 11.1.0.7.0 Active Dataguard Statspack has been configured for Active Dataguard on Primary database. We got an spike of Buffer busy waits for about 5 min in Active Dataguard, this was causing worse Application SQL's response time durin

  • Issue: Comments not showing correctly on iPhone

    Hi, Please fix the below issue on iPhone App. Summary: If there is a long comment it only shows some of it on the iPhone. Viewing the comment on the iPad allows you to see the whole comment. Details: If the comment is medium length, you can tilt the

  • Firefox 17 randomly crashes and produces an unusable dump file

    Firefox has been crashing on me several times a day. As you can see from the list of installed plugins I've been trying to switch on and off extensions without a great deal of joy, as the crashes are unpredictable - can be an hour or two or can be 5

  • Interworking between Lightroom 5.7 64 bit and Photoshop CS6 extended 64 bit (Raw update 8.7)

    I have recently upgraded my Lightroom 5.6 to 5.7 and my Photoshop CS6 extended 64 bit to Raw Update 8.7. Since this update my Image Edit process going from Lightroom to Photoshop is no longer seamless. Right clicking on the image and selecting "edit

  • HIDE, GETCURSOR , DOUBLECLICK EVENT

    HI TO ALL, 1) EXPLAIN ABOUT HIDE KEYWORD, GET CURSOR AND DOUBLE CLICK EVENT? 2) EXPLAIN ABOUT ALV REPORTS USING CLASS METHODS? REGARDS, VENKAT.