Trigger IDOC LOIPRO: SAP Process Order IDoc in detail is the main topic of the following SAP ABAP Tutorial.
Table of Contents
In SAP, Process Orders are assimilated to a Master Data. So there is no entry in NACE to trigger an Idoc when an order is updated.
Within the different ways to trigger to create an IDoc LOIPRO once a SAP Process Order is created or update is to implement a BADI. I found that it is the best way to do.
Try to implement the BADI WORKORDER_UPDATE (in SAP Tcode SE18)
Actually the BADI WORKORDER_UPDATE is the Business Add-In PM/PP/PS/PI Orders Operation: UPDATE
The others BADI for Process Order are:
BADI | Description |
---|---|
WORKORDER_CONFIRM | Business Add-In PM/PP/PS/PI Orders Operation: Confirm |
WORKORDER_CONFIRM_CUST_SUBSCR | Confirmation: Subscreen with Customer's Own Fields |
WORKORDER_CONFIRM_EA_APPL | Confirmation: Function Calls from EA-APPL |
WORKORDER_DFPS_PIC_ATP | Defense BADI for Availability Check |
WORKORDER_DOCLINKS | BAdI: Document Links (Production Orders) |
WORKORDER_FINANCIALS | Anbindung FIN Add-On an Fertigungs- und Proze aufrag |
WORKORDER_GOODSMVT | Business Add-In PM/PP/PS/PI Orders: Automatic Goods Movement |
WORKORDER_INFOSYSTEM | BAdI: PP and PI Order Information System |
WORKORDER_MODIFY_SCREEN | Screen Adjustments |
WORKORDER_PISHEET | Business Add-In PM/PP/PS/PI Orders Operation: Discarding of |
WORKORDER_REWORK | Business Add-In PP Orders Operation: Rework |
WORKORDER_UPDATE | Business Add-In PM/PP/PS/PI Orders Operation: UPDATE |
The first step is to define the list of BADI WORKORDER_UPDATE methods. Here the full list of the methods available:
Method | Description |
---|---|
ARCHIVE_OBJECTS | Archiving Additional Objects |
AT_DELETION_FROM_DATABASE | Order is deleted from the database (archiving) |
AT_SAVE | Save Order Time: Dialog |
CMTS_CHECK | Check: Configurable Warehouse Order Allowed |
INITIALIZE | Initialization when Importing/Creating Order |
IN_UPDATE | Save Order Time: Update |
NUMBER_SWITCH | Swap Tempory Order Numbers with Final Order Numbers |
BEFORE_UPDATE | Save Order Time: Before Calling Update |
AT_RELEASE | Release Order Time: After SAP Checks Before Release |
REORG_STATUS_ACT_CHECK | Reorganization of Order: Status Check |
REORG_STATUS_ACTIVATE | Reorganization of Order: Follow-Up Action After Status Set |
REORG_STATUS_REVOKE | Reorganization of Order: Follow-Up Action After Status Reset |
To trigger the LOIPRO01 IDoc when SAP Process Order/ Work Order is modified or created, we will rewrite the method AT_SAVE. This method is triggered when the user clicks on SAVE button on PO/WO SAP Tcodes ( COR1/ COR2 ).
The AT_SAVE takes as input IS_HEADER_DIALOG Order Header in Dialog Structure. It is quite enough because it has all the keys to access the SAP PO.
An important point, you must put wrapper you ABAP code in a Function Module and call the processing in BACKGROUND TASK AS SEPARATE UNIT DESTINATION ‘NONE’.
This call will wait until the Main SAP GUI Process for Saving before triggering the IDOC.
The advantages are:
An ABAP Sample for creating LOIPRO in AT_SAVE Method would be:
" Call in Background Task in a separate Unit CALL FUNCTION 'ZIDOC_CREATE_LOIPRO' IN BACKGROUND TASK AS SEPARATE UNIT DESTINATION 'NONE' EXPORTING message_type = 'ZLOIPRO' aufnr = is_header_dialog-aufnr werks = is_header_dialog-werks matnr = is_header_dialog-matnr.
Check this article about Statement SUBMIT is not allowed in this form which explain how to use the IN UPDATE TASK.
SAP ISU Tables for Technical master data, for Billing Master Data, Billing and invoicing Tables?…
SAP Fiori 3 UX and Design of SAP Fiori Apps for SAP S/4HANA, SAP TechEd…
Dunning is the business practice of informing a customer of past due payment. Dunning letters…
SAP AP Tcodes & SAP AR Tcodes: House Banks Tcodes, Advance Payments or Down Payments,…
What are the main SAP Payment Terms Tables ? What are the related Tables in…
Work center consists of master data related to routing of products. It contains data related…