SAP EWM Blog

In this article I have described all the BAdIs used in the standard integration with SAP ERP. Most of them come up often in practice, and they are all extremely simple and straightforward. 

Composite Enhancement Spot /SCWM/ESC_ERP

  • /SCWM/ES_ERP_BP_LOC            Handle Missing Business Partner and Location During Mapping

/SCWM/EX_ERP_BP_LOC

The BAdI is called when deliveries are transferred from the ERP system and is used to create partners and locations on the fly if they do not exist in the system.

  • /SCWM/ES_ERP_ERROR_HANDLING      EWM: Error Handling - ERP Integration for Delivery

/SCWM/EX_ERP_ERROR_QUEUE

The BAdI is called when a delivery is transferred from the ERP system and could not be processed. It is used to trigger follow-on operations, for example sending an e-mail.

  • /SCWM/ES_ERP_GOODSMVT   BAdI: ERP Interface for Goods Movement

/SCWM/EX_ERP_GOODSMVT_EXT

The BAdI is called at the moment information about various goods movement postings in EWM that are not related to goods receipt or goods issue is transferred to the ERP system.  It is used to change the data being sent.

  • /SCWM/ES_ERP_INT_CONF       BAdI: ERP - WME Integration of Delivery and Item Types

/SCWM/EX_ERP_CONF_MFG

The BAdI is called when production deliveries are transferred from the ERP system. It is used to map the document type and the item type. There is a fallback class.

/SCWM/EX_ERP_INT_CONF

The BAdI is called when a delivery is received from the ERP system   or when a delivery is sent to the ERP system if it was created manually in EWM.  There is a fallback class implementing three methods:

  • DET_DOCTYPE – determines the document type of the delivery transferred from ERP
  • DET_ITEMTYPE – determines the item type of the delivery transferred from ERP
  • DET_ERP_DLVTYPE – determines the document type of the delivery transferred from EWM   to the ERP system.
 
  • /SCWM/ES_ERP_MAPIN         BAdI for Inbound Messages from the ERP System to the EWM System

/SCWM/EX_ERP_MAPIN_ID_REPLACE

The BAdI is called when a replacement of an inbound delivery is transferred to EWM.  The processing happens in function module /SCWM/INB_DELIVERY_REPLACE. It is used to substitute the data that arrived from the ERP system.

/SCWM/EX_ERP_MAPIN_ID_SAVEREPL

The BAdI is called when an inbound delivery is transferred to EWM. It is used to substitute the data that arrived from the ERP system.

/SCWM/EX_ERP_MAPIN_MFG

The BAdI is called when a production order is transferred to EWM. It is used to substitute the data that arrived from the ERP system.

/SCWM/EX_ERP_MAPIN_OD_CHANGE

The BAdI is called when an outbound delivery is changed in SAP ERP. It receives all the data from the ERP delivery as input and returns the EWM delivery data as output. In other words, when an ERP delivery is changed you can add your own data to the EWM delivery.

/SCWM/EX_ERP_MAPIN_OD_SAVEREPL

The BAdI is called when an outbound delivery is transferred to EWM. It is used to substitute the data that arrived from the ERP system.

/SCWM/EX_ERP_MFG_DATE_CMP

The BAdI is called when a production order is transferred to EWM. It is used to determine the dates:

•SCMPREQ Start of Requirements Date for Component

•ECMPREQ End of Requirements Date for Component

There is a fallback class implementing the method GET_STAGING_DATE.

/SCWM/EX_MAPIN_ID_SAVEREPL_SAP

BAdI for internal use

/SCWM/EX_MAPIN_OD_SAVEREPL_SAP

BAdI for internal use

  • /SCWM/ES_ERP_MAPOUT         BAdI  for Outbound Messages from the EWM System to the ERP System

/SCWM/EX_ERP_MAPOUT_DELINFO

The BAdI is called when a non-standard, customer-specific message is sent to the ERP system. It is used to determine the class that will process this message type.

/SCWM/EX_ERP_MAPOUT_ID_CONFDEC

The BAdI is called when the confirmation message for an inbound delivery (IBDLV_CONF*) is sent to the ERP system, and is used to adjust the data being sent.

/SCWM/EX_ERP_MAPOUT_ID_REPLACE

The BAdI is called when the message for replacing an inbound delivery is sent to the ERP system.  It is used to adjust the data being sent.

/SCWM/EX_ERP_MAPOUT_ID_REPLICA

The BAdI is called when the message for creating an inbound delivery is sent to the ERP system.  It is used to adjust the data being sent.

/SCWM/EX_ERP_MAPOUT_ID_SPLIT

The BAdI is called when the message for splitting an inbound delivery is sent to the ERP system.  It is used to adjust the data being sent.

/SCWM/EX_ERP_MAPOUT_OD_CHANGE

The BAdI is called when the message for changing an outbound delivery is sent to the ERP system.  It is used to adjust the data being sent.

/SCWM/EX_ERP_MAPOUT_OD_CONFDEC

The BAdI is called when the confirmation message for an outbound delivery is sent to the ERP system.  It is used to adjust the data being sent.

/SCWM/EX_ERP_MAPOUT_OD_REPLICA

The BAdI is called when the message for creating an outbound delivery is sent to the ERP system.  It is used to adjust the data being sent.

/SCWM/EX_ERP_MAPOUT_OD_SPLIT

The BAdI is called when the message for splitting an outbound delivery is sent to the ERP system.  It is used to adjust the data being sent.

/SCWM/EX_MSL_FILL_FD

The BAdI is called when the type of the message being sent to the ERP system for the «outbound delivery» document is determined. It is used to override it with your own type.

/SCWM/EX_MSL_FILL_PRD_INB

The BAdI is called when the type of the message being sent to the ERP system for the «inbound delivery» document is determined. It is used to override it with your own type.

/SCWM/EX_MSL_FILL_PRD_OUTB

The BAdI is called when the type of the message being sent to the ERP system for the «outbound delivery order» document is determined. It is used to override it with your own type.

/SCWM/EX_MSL_FILL_SPC

The BAdI is called when the type of the message being sent to the ERP system for the «posting change» document is determined. It is used to override it with your own type.

/SCWM/EX_MSL_MESSAGE_SORT

The BAdI is called when the messages being sent to the ERP system are sorted. It is used to override the sorting.

/SCWM/EX_VAL_PROD_REF

The BAdI is called when an inbound delivery from production is created in EWM and the reference documents for the production order are checked. There is a fallback class   implementing the check method CHECK_REFERENCE.

  • /SCWM/ES_ERP_OD_CHANGE BAdI for Change Management in the Outbound Delivery Process
/SCWM/EX_ERP_OD_CHANGEABLE

The BAdI is called when an outbound delivery is changed in SAP ERP. 

  • MODIFY_CHANGEABLE – you can forbid changes to fields that SAP allows to be changed.
  • GET_START_WH_PROCESSING – controls which date and time is returned to ERP as the expected start of picking. If it is empty, the process has already started and changes are impossible. By default the time is taken from the header, from the DWA warehouse activity status.
  • PREVENT_NEW_ITEM – you can forbid the creation of new outbound delivery items in ERP once the delivery has been distributed.
/SCWM/EX_ERP_OD_PREDICT_ORDRED  The BAdI is called at the moment the quantity in a sales order item is reduced in SAP ERP. It is used to determine whether the quantity in the outbound delivery order item can be reduced in SAP EWM.
  • /SCWM/ES_ERP_PRIOP Update Priority Score in Follow-On Documents

/SCWM/EX_ERP_PRIOP

Used only in the integration with APO. Called when priority scores of some kind are set for the follow-on operations of a document.

  • /SCWM/ES_ERP_PSA    Enhancement Spot with Reference to the Production Supply Area

/SCWM/EX_ERP_PSA_NAME

Called when a PSA is transferred to EWM   and used to rename it. There is a fallback class with an implementation of the method.

  • /SCWM/ES_ERP_SN      EWM: Serial Number in ERP Integration

/SCWM/EX_ERP_SN

Used to reconvert serial numbers when they are received from the ERP system or sent from EWM. There is a fallback class with implementations of the methods.

  • /SCWM/ES_ERP_WBS   Internal/External Representation of the WBS Element

/SCWM/EX_ERP_WBS

Used to determine the internal and external numbers of WBS elements, but only when one warehouse is mapped to several ERP systems and project stock is used. There is a fallback class.