Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Idocs status records!!!

Former Member
0 Kudos

Hi,

We have a requirement in which the status records need to be added in the inbound Idoc.

In the present scenario, Idoc status records are being created like : status 52 Inbound delivery/deliveries are created(no's are 000001 to 000005). This is current scenario.

Requirement is like :

we need to have the number of status records depends on Inbound deliveries created.

For ex : If two inbound deliveries gets created in an Inbound Idoc, then In Idoc status records should be like :

Status 52 Inbound delivery created ( no 0000001 to 0000001)

Status 52 Inbound delivery created ( no 0000002 to 0000002)

Status 52 Inbound delivery created ( no 0000003 to 0000003).

and so on.......

Please let us know how can we acheive the above scenario?

Thanks in advance.

Ramesh.

1 ACCEPTED SOLUTION

ian_maxwell2
Active Participant
0 Kudos

The inputs to the IDoc processing function are:

*"*"Local interface:
*"  IMPORTING
*"     REFERENCE(INPUT_METHOD) TYPE  BDWFAP_PAR-INPUTMETHD
*"     REFERENCE(MASS_PROCESSING) TYPE  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_DATA STRUCTURE  EDIDD
*"      IDOC_CONTRL STRUCTURE  EDIDC
*"      *IDOC_STATUS STRUCTURE  BDIDOCSTAT*
*"      RETURN_VARIABLES STRUCTURE  BDWFRETVAR
*"      SERIALIZATION_INFO STRUCTURE  BDI_SER
*"  EXCEPTIONS
*"      WRONG_FUNCTION_CALLED

The status records are returned from the processing function via the parameter IDOC_STATUS which is an internal table so you can append multiple entries to it.

The only restriction is that all records must have the same status code (ex. all must be 51 is there is an error, or all must be 53 if there are no errors). An IDoc processing function executes as a single DB transaction so it is all or nothing.

~Ian

2 REPLIES 2

ian_maxwell2
Active Participant
0 Kudos

The inputs to the IDoc processing function are:

*"*"Local interface:
*"  IMPORTING
*"     REFERENCE(INPUT_METHOD) TYPE  BDWFAP_PAR-INPUTMETHD
*"     REFERENCE(MASS_PROCESSING) TYPE  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_DATA STRUCTURE  EDIDD
*"      IDOC_CONTRL STRUCTURE  EDIDC
*"      *IDOC_STATUS STRUCTURE  BDIDOCSTAT*
*"      RETURN_VARIABLES STRUCTURE  BDWFRETVAR
*"      SERIALIZATION_INFO STRUCTURE  BDI_SER
*"  EXCEPTIONS
*"      WRONG_FUNCTION_CALLED

The status records are returned from the processing function via the parameter IDOC_STATUS which is an internal table so you can append multiple entries to it.

The only restriction is that all records must have the same status code (ex. all must be 51 is there is an error, or all must be 53 if there are no errors). An IDoc processing function executes as a single DB transaction so it is all or nothing.

~Ian

0 Kudos

Hi,

Thanks for the response.