This article covers the first group of BAdIs, the ones whose names start with /SCWM/. The purpose of this overview is mostly to get acquainted with them. I did not describe in detail how each BAdI works; I only wanted to understand in which areas the standard logic can be changed. For several BAdIs I never did work out what they are for; I highlighted those in colour so as to come back to them later and look at them more closely in the debugger. I will cover the most frequently used BAdIs in detail in separate articles.
So, here we go:
Composite Enhancement Spot /SCWM/ES_PRODUCT_MASS_CHANGE
|
|
| /SCWM/EX_PROD_MASS_CHANGE | A BAdI that makes it possible to add new product attributes for changing in the mass product change function of the warehouse monitor. You can add fields from the «Warehouse Data» and «Storage Type Data» tabs |
Composite Enhancement Spot /SCWM/ESC_ARCH
|
|
| /SCWM/EX_ARCH_WME_HU | Intended for archiving your own Z tables together with the HU tables. |
|
|
| /SCWM/EX_ARCH_WME_TO | Intended for archiving your own Z tables together with the warehouse task tables. |
|
|
| /SCWM/EX_ARCH_WME_TU | Intended for archiving your own Z tables together with the TU activity tables. |
|
|
| /SCWM/EX_ARCH_WME_WAVE | Intended for archiving your own Z tables together with the wave tables. |
|
|
| /SCWM/EX_ARCH_WME_WO | Intended for archiving your own Z tables together with the warehouse order tables. |
Composite Enhancement Spot /SCWM/ESC_ASR
|
|
| /SCWM/EX_ASR_ERROR_IN | Intended for changing the error messages that appear as a result of processing an inbound IDoc. |
| /SCWM/EX_ASR_WMBBIN_IN | If EWM is connected to an external system, this BAdI can be used to process the inbound IDoc that blocks a storage bin |
| /SCWM/EX_ASR_WMCATO_IN | If EWM is connected to an external system, this BAdI can be used to process the inbound IDoc that cancels a warehouse task. |
| /SCWM/EX_ASR_WMCATO_OUT | If EWM is connected to an external system, this BAdI can be used to process the outbound IDoc that sends the warehouse task cancellation event to the external system. |
| /SCWM/EX_ASR_WMPIHU_IN | If EWM is connected to an external system, this BAdI can be used to process the inbound IDoc that creates a pick HU for a warehouse order. |
| /SCWM/EX_ASR_WMPIHU_OUT | If EWM is connected to an external system, this BAdI can be used to process the outbound IDoc that sends the pick HU creation event to the external system. |
| /SCWM/EX_ASR_WMRREF_OUT | If EWM is connected to an external system, this BAdI can be used to process the outbound IDoc that sends the result of a wave release to the external system. |
| /SCWM/EX_ASR_WMSUMO_IN | If EWM is connected to an external system, this BAdI can be used to process the inbound IDoc that moves an HU. |
| /SCWM/EX_ASR_WMTOCO_IN | If EWM is connected to an external system, this BAdI can be used to process the inbound IDoc that confirms a warehouse task. |
| /SCWM/EX_ASR_WMTORD_IN | If EWM is connected to an external system, this BAdI can be used to process the inbound IDoc that creates a warehouse task. |
| /SCWM/EX_ASR_WMTORD_OUT | If EWM is connected to an external system, this BAdI can be used to process the outbound IDoc that is sent on the warehouse task creation event in EWM. |
Composite Enhancement Spot /SCWM/ESC_BASIS
|
|
| /SCWM/EX_BASIS_CHECK_UOM | The BAdI is active by default; I did not find where it is called. |
| /SCWM/EX_BASIS_SERID_CONV | The BAdI is intended for converting a serial number when it is displayed on the screen. The database record itself is not changed. |
| /SCWM/EX_BASIS_SH_ENTITLED | The BAdI is used to call your own search help when selecting the party entitled to dispose. |
Composite Enhancement Spot /SCWM/ESC_CD
|
|
| /SCWM/EX_CD_OPP_INBOUND | The BAdI is active by default – it is the implementation of opportunistic inbound cross-docking itself. |
| /SCWM/EX_CD_OPP_OUTBOUND | The BAdI is active by default – it is the implementation of opportunistic outbound cross-docking itself. |
Composite Enhancement Spot /SCWM/ESC_CHM
|
|
| /SCWM/EX_CHM_ADAPTER_CHK | A BAdI for adding your own checks to the check monitor; it works together with the next BAdI. All the standard checks are implemented as BAdI implementations. |
| /SCWM/EX_CHM_ADAPTER_SEL | A BAdI for adding your own selections in the check monitor. |
Composite Enhancement Spot /SCWM/ESC_CORE
|
|
| /SCWM/EX_CAP_ALGORITHM | The BAdI is used to write the algorithm for creating planned shipping HUs. By default the BAdI implementation with the minimum number of HUs algorithm is active. This BAdI is used together with /SCWM/EX_CAP_PROCESS. |
| /SCWM/EX_CAP_CUST_PROCESS | The BAdI is used to change the cartonization process profile that the system determined according to the SPRO settings. |
| /SCWM/EX_CAP_PROCESS |
This BAdI is called before and after the cartonization algorithm is determined in the BAdI /SCWM/EX_CAP_ALGORITHM. It consists of two methods: GROUP_ITEMS – used to regroup the order items that have to be packed together into an HU. ADJUST_CAP_RESULT – called after the system has planned the planned HUs. In this BAdI the result of the system's work can be changed, up to completely reshuffling the HUs in your own way. |
|
|
| /SCWM/EX_CORE_AA_SORT | This BAdI is used to change the storage bin sorting that the system generated according to the standard settings. |
|
|
| /SCWM/EX_CORE_CO_AQUA_UPD | |
| /SCWM/EX_CORE_CO_CHECK_CONF | The BAdI is called when a warehouse task is confirmed. In the BAdI you can run your own checks and stop the confirmation of the task. |
| /SCWM/EX_CORE_CO_HU_SAVE | The BAdI is called when a warehouse task is confirmed. In the BAdI you can change the data of the source or destination HU, including nested ones, at the moment of confirmation. According to the SAP help, only customer data may be changed. |
| /SCWM/EX_CORE_CO_IMPORT |
The BAdI is called when a warehouse task is confirmed. In this BAdI you can change the data of the warehouse task being confirmed. Keep in mind, though, that not all data can be changed. The data changed in the BAdI is then checked in /SCWM/LL03BF0M- quittierung_pruefen |
| /SCWM/EX_CORE_CO_POST | The BAdI is called when a warehouse task is confirmed, but at the point where the task data can no longer be changed and all the checks have passed. It is used to trigger your own follow-on operations. |
| /SCWM/EX_CORE_CO_QUAN_UPD |
The BAdI is called when a warehouse task is confirmed. With the BAdI method SOURCE_CHANGE you can change the alternative unit of measure for the source quant and the customer fields in the task structure - CS_QUAN_CUST With the BAdI method DESTINATION_CHANGE you can also change the data of the destination quant, namely the AUoM, Country of Origin, GRD, SLED and CS_QUAN_CUST. |
| /SCWM/EX_CORE_CO_SN_FORCE | This BAdI is called when a product warehouse task is confirmed. It is used to force the serial number entry window to be called when the task is confirmed. |
| /SCWM/EX_CORE_CO_UNP_OUTHU | This BAdI is called when an HU task is confirmed. It is used to specify how many HU levels are to be unpacked when the task is confirmed (there is a sample implementation) |
|
|
| /SCWM/EX_CORE_CONS | This BAdI is called when the consolidation group is determined and is used to change it. |
|
|
| /SCWM/EX_CORE_CR_ABORT | The BAdI is called when a warehouse task is created. In the BAdI you can run your own checks and as a result stop the creation of the task. |
| /SCWM/EX_CORE_CR_AQUA_DATA | |
| /SCWM/EX_CORE_CR_DEL_ITM | This BAdI is called when temporarily created warehouse tasks are deleted. It is used to prevent such a deletion. |
| /SCWM/EX_CORE_CR_INT_CR | The BAdI is called when a warehouse task is created. It is used to update your own customer data in the warehouse task (/SCWM/INCL_EEW_S_ORDIM) at creation time. |
| /SCWM/EX_CORE_CR_POST | The BAdI is called when a warehouse task is created, at the point where changes are no longer possible and all the checks have passed. It is used to trigger your own follow-on actions based on the tasks that were created. |
| /SCWM/EX_CORE_CR_SCRAP_ZERO | |
| /SCWM/EX_CORE_CR_SN_COMBINE | |
| /SCWM/EX_CORE_CR_STOCK_ID | This BAdI is called when a warehouse task is created, at the moment the stock identification (SI) is assigned. This BAdI is used to apply your own algorithm for building the stock identification number. |
| /SCWM/EX_CORE_CR_UPD_TAB_DI | This BAdI is called when temporarily created warehouse tasks are deleted. It is used to change the customer data in the task structure (/SCWM/INCL_EEW_S_ORDIM) |
|
|
| /SCWM/EX_CORE_CW_LABEL_PRNT | This BAdI is called when the valuation quantity for a catch weight product is entered, and is used to trigger the printing of a label with the quantity. There is an example of its use. |
|
|
| /SCWM/EX_CORE_GM_CAT | This BAdI is called when goods are put away into a storage type. It is used to determine the stock type of the goods being put away when the standard stock type determination settings do not fit. |
| /SCWM/EX_CORE_GM_STOCK | This BAdI is called when a goods movement is posted (GM). It is used for your own checks and, if need be, to stop the posting. |
| /SCWM/EX_CORE_GM_UPDATE | This BAdI is called when a goods movement is posted, but at the point where all the checks have passed and changes are no longer possible. It is used to trigger your own follow-on operations resulting from the posting. |
|
|
| /SCWM/EX_CORE_PROD_STOCK | The BAdI is called when goods issue from a PSA is posted. It is used to sort and filter the quants that may be issued. There is a fallback class. |
|
|
| /SCWM/EX_CORE_PTS_BTSQ | The BAdI is called when a putaway warehouse task is created. It is used to change the storage bin type search sequence that was determined according to the standard settings. |
| /SCWM/EX_CORE_PTS_CAPACHECK | The BAdI is called when a putaway warehouse task is created, in various situations that are listed in detail in the BAdI documentation. Two methods are called:
|
| /SCWM/EX_CORE_PTS_DET_PRIO | The BAdI is called when a putaway warehouse task is created. It is used to change the priority of the storage type, storage section or bin type that was determined according to the standard SPRO settings. |
| /SCWM/EX_CORE_PTS_EMPTY_BIN |
There is a fallback class and a sample implementation. The BAdI is called when a putaway warehouse task is created for an empty bin. This BAdI has two methods:
|
| /SCWM/EX_CORE_PTS_FILT_SORT |
There is a sample implementation. The BAdI is called when a putaway warehouse task is created. In this BAdI you can filter and sort the available bins that the system determined according to the standard SPRO settings. |
| /SCWM/EX_CORE_PTS_MD_ADDBIN |
There is a fallback class and a sample implementation. The BAdI is called when a putaway warehouse task is created, at the moment the destination bin is determined for the addition to existing stock strategy. It is used to determine the bin the stock can be added to. |
| /SCWM/EX_CORE_PTS_MIX | The BAdI is called when a putaway warehouse task is created. It consists of two methods:
|
| /SCWM/EX_CORE_PTS_NBIN_BLK | The BAdI is called when a putaway warehouse task is created for a bulk storage type. It is used for:
|
| /SCWM/EX_CORE_PTS_NBIN_NRM | The BAdI is called when a putaway warehouse task is created for a standard storage type. It is used for:
|
| /SCWM/EX_CORE_PTS_NBIN_PAL | The BAdI is called when a putaway warehouse task is created for a pallet storage type. It is used for:
|
| /SCWM/EX_CORE_PTS_NEAR_FB |
The BAdI is called when a putaway warehouse task is created for a storage type with fixed bins using the nearest fixed bin strategy. This BAdI is used to determine the list of fixed bins by your own logic. |
| /SCWM/EX_CORE_PTS_SECSQ |
There is a sample implementation. The BAdI is called when a putaway warehouse task is created, at the moment the destination storage section is determined. It is used to determine the storage section search sequence by your own logic. |
| /SCWM/EX_CORE_PTS_SMAQ |
There is a fallback class. The BAdI is called when a putaway warehouse task is created. There are two methods:
|
| /SCWM/EX_CORE_PTS_SRTSQ | The BAdI is called when a putaway warehouse task is created. It is used to change the putaway sequence (EVALPOS) of each bin that the system determined according to the standard settings. |
| /SCWM/EX_CORE_PTS_TYPSQ | The BAdI is called when a putaway warehouse task is created, at the moment the destination storage type is determined. It is used to change the storage type search sequence and the putaway rule that the system determined according to the standard settings. |
| /SCWM/EX_CORE_PTS_UPD_TAB |
This BAdI is called when a putaway warehouse task is created, at the moment a product is assigned to a new fixed bin. Used to trigger your own follow-on operations. |
| /SCWM/EX_CORE_PTS_VERIF | This BAdI is called when a putaway warehouse task is created for a specific bin. In this BAdI you can check whether putaway into this bin is possible and forbid it if necessary. |
|
|
The order in which the BAdIs are called from the function module /SCWM/REM_BIN_DET_INT:
|
|
| /SCWM/EX_CORE_RMS_QCLA_STR | The BAdI is called when a stock removal warehouse task is created. In this BAdI the quantity classification of the requested stock removal quantity, determined according to the standard system settings, is changed or determined. This field influences the choice of the storage type search sequence. |
| /SCWM/EX_CORE_RMS_STRATEGY | The BAdI is called when a stock removal warehouse task is created. In this BAdI you can change the storage type search sequence that the system determined according to the standard settings. |
| /SCWM/EX_CORE_RMS_DELETE |
Called before the BAdI /SCWM/EX_CORE_RMS_DETERMINE in FORM 300 /SCWM/LREM_BIN_DETF13-QMAT_CREATE, for each storage type in which an available quant is determined. If you return X, all the quants of this storage type are removed from the internal structure CT_QMAT, but this happens after the quantity for the current requirement has already been reserved. Any further effect on the process is unclear. |
| This BAdI is called when available stock is searched for in goods issue operations. It is used to sort and filter the quants that the system determined according to the standard system settings. There are sample implementations. There is a fallback class (for MFS) | |
| /SCWM/EX_CORE_RMS_NEGATIVE |
The BAdI is called when a stock removal warehouse task is created, after the source bin has already been determined by the system. It is used to allow the use of negative stock. The customer data in the warehouse task structure can also be changed. |
| /SCWM/EX_CORE_RMS_QUANTITY | The BAdI is called when a stock removal warehouse task is created, after the source bin, the requested quantity rounded according to the standard settings, the alternative unit of measure and the HU type have already been determined. This BAdI is intended primarily for changing the quantity that will be picked from the bin (cs_ltap-vsolm), but alongside that you can also change the alternative unit of measure (cs_ltap-altme) and the HU type in the task (CS_LTAP-LETYP). |
| /SCWM/EX_CORE_RMS_HUTYP | The BAdI is called when a stock removal warehouse task is created. It is used to change the HU type in the warehouse task (cs_ltap-letyp). The HU type is normally determined from the packaging specification by the function module /SCWM/HUTYP_QUANTITY_DET. |
| /SCWM/EX_CORE_RMS_HU_QUAN | This BAdI is called when a stock removal warehouse task is created, after the top-level source HU has already been determined. In this BAdI you can:
|
| /SCWM/EX_CORE_RMS_VERIFY | The BAdI is called when a warehouse task is created in goods issue processes. Two methods:
|
| /SCWM/EX_CORE_RMS_OPUNIT | The BAdI is called when a stock removal warehouse task is created, after all the source data has already been determined. It is used to change the alternative unit of measure of the warehouse task being created (cs_ltap-altme). |
|
|
| /SCWM/EX_CORE_SB_CREATE_ADD | The BAdI is called when storage bins are created. It is used to trigger your own follow-on operations. |
| /SCWM/EX_CORE_SB_DELETE_ADD | The BAdI is called when storage bins are deleted. It is used to trigger your own follow-on operations. |
| /SCWM/EX_CORE_SB_FB_BLOCK | Can only be implemented inside SAP. |
| /SCWM/EX_CORE_SB_FB_EEW | Can only be implemented inside SAP. |
| /SCWM/EX_CORE_SB_UPDATE_ADD | The BAdI is called when storage bins are changed. It is used to trigger your own follow-on operations. |
| /SCWM/EX_CORE_SB_VERIFY | This BAdI is used to fill the verification field. It is called from the report /SCWM/RLVERIFY (transaction /SCWM/LX45) |
|
|
| /SCWM/EX_CORE_TR |
The BAdI is active by default. There are three methods: DOC_ASSIG_CHANGE – the method is called only from /SCWM/GM_POST when goods are picked into an HU or picking into an HU is cancelled. The system then updates the assignment of the HU to the TU accordingly. HU_CONTENT_CHANGED – this method updates the assignment of the HU to the TU at the moment the content of the HU changes. HU_LOADING – this method is empty; it is triggered when an HU is loaded or unloaded. |
|
|
| /SCWM/EX_CORE_TW_ADJ_CTLIST | This BAdI is called only for transit warehousing, when the destination bin for an HU is determined. In this BAdI you can change the determination procedure that was determined according to the standard settings. |
|
|
| /SCWM/EX_CORE_TW_CONSGRP | There is a fallback class. It is used to determine the consolidation group for transit HUs. |
| /SCWM/EX_CORE_TW_DET_DEST | This BAdI is used to change the sequence of the destination storage bins determined by the system for transit HUs. |
| /SCWM/EX_CORE_TW_ENRICH | This BAdI is used to change the data of the so-calledcommunication structure, which is used when the destination bin for a transit HU is determined. The structure is called CS_TWP_COM_I and contains a huge, exhaustive amount of information about that transit HU. |
|
|
| /SCWM/EX_CORE_WRKL_WT_CR | The BAdI is called when a warehouse task is created and is used to change the field «Planned completion date for the process step», which is passed into the planned workload table /SCWM/WRKL. |
|
|
| /SCWM/EX_CORE_WT_RT | This BAdI is called when a warehouse task is created and is used to change the field «Extract Time Determination», which is calculated from the standard settings in SPRO and written into the warehouse task tables /scwm/ordim_*. This field is used when planning the warehouse workload; it means the planned time needed to prepare for executing the warehouse task. |