Skip to Content
avatar image
Former Member

IDoc status stucked at status 64

Hi gurus,

I have created an custom inbound FM for PO processing, copied from IDOC_INPUT_ORDERS for saving the IDoc details into custom table instead of processing it using any VA transaction, example:

The IDoc is process successfully, however, it stucked at status 64, I had checked we20 'Trigger Immediately', I have tried all notes mentioned in https://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=356423019, this is the current we42 configuration, I also tried putting 'INPUTFINISHED' at end event,

Could any master please enlighten me on whats the mistakes I have made? Thank you very much

capture.png (20.7 kB)
capture.png (5.2 kB)
Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Best Answer
    avatar image
    Former Member
    Aug 18, 2017 at 08:52 AM

    I found the solution, I debug the program using RBDAPP01, since the program was copied form IDOC_INPUT_ORDERS, most of the code was left unmodified except main processing logic, I found that the CALL_TRANSACTION_DONE prevent the status from being updated, my suspect is that when the original main processing block (ex: create sales order) executed, the status is updated elsewhere.

    Just clear the CALL_TRANSACTION_DONE and my custom status is updated to 53.

    Add comment
    10|10000 characters needed characters exceeded

  • Jun 27, 2017 at 03:21 PM

    Hi Yang,

    what has been copied from the standard function module exactly? In the ABAP code there are some statements in the bottom that are setting the IDOC status explicitly. If those are not performed, the status remains unchanged. If you don't find it - I can copy the relevant sections to you when I am at an SAP system again.

    Regards Helmut

    Add comment
    10|10000 characters needed characters exceeded

    • Can you check BD51 if you have switched on "2":

      I am assuming you are passing through the IDOC# in your function module to the batch input data to VA01 - and VA01 is trying to lock the IDOC - so the IDOC layer is not allowed to lock the IDOC again.

      Also possible - what are the settings in WE20? Have you switched on "process immediately" ? In WE19 you can by-pass it by choosing "use function module".

      I guess those are the two most-likely reasons why it have failed.

      Helmut

      untitled.png (7.5 kB)
  • Jun 27, 2017 at 03:40 PM

    Hello,

    If you perform BD20 (RBDAPP01), what is the status of your idocs?

    If there is no change, you probably miss this kind of code in you FM :

    loop at idoc_contrl.
    [...]
        if flag_error = 'X'.
          rollback work.
          clear flag_error.
        else.
          commit work.
          idoc_status-docnum = idoc_contrl-docnum.
          idoc_status-status = c_idoc_status_ok.
          idoc_status-uname = sy-uname.
          idoc_status-repid = sy-datum.
          append idoc_status.
        endif.
    endloop.

    With constants coming from include MBDCONWF

    Best regards

    Bertrand

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hi Bertrand,

      Yes, trace show entry 53. I also checked there are no enhancement or exit being implemented. If I use WE19, the status is updated to 53. Does this problem related Workflow?