Skip to Content
0
Former Member
Jun 02, 2011 at 05:52 PM

ALE - IDOC processing

598 Views

Hello,

we have development a own IDOC for the communicatin with another system.

The InboundProcess is customized via we20 and an inbound function with following paramters

*"*"Lokale Schnittstelle:
*"  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

In this funtion a event for a workflow is created and change the Status of tge IDOC.

With the function "IDOC_STATUS_WRITE_TO_DATABASE" we want set the status. 
The calling of the function looks so:
  CALL FUNCTION 'IDOC_STATUS_WRITE_TO_DATABASE'
    EXPORTING
      idoc_number               = idoc_contrl-docnum
      IDOC_OPENED_FLAG          = 'X'
*     NO_DEQUEUE_FLAG
    IMPORTING
      idoc_control              = idoc_contrl
    TABLES
      idoc_status               = l_idoc_status_tab
    EXCEPTIONS
      idoc_foreign_lock         = 1
      idoc_not_found            = 2
      idoc_status_records_empty = 3
      idoc_status_invalid       = 4
      db_error                  = 5
      OTHERS                    = 6.

We get the error "No status set by the application to pass ALE".

Can anyone help me!?!

Thanks and greets

Florian Reiter