Batch Management Userexits and BAdIs
Tags:
One important part of any module is the userexits and BAdIs. Sometimes it is not easy to find. In this document, I will provide you the most important objects to use.
Just a few observations:
- Function Modules VB_CREATE_BATCH and VB_CHANGE_BATCH are the responsible for create and change batches internally.
- Standard batch characteristics are those which begins with letters “LOBM_”.
Batch Master
BAdI BATCH_MASTER
It is called in MSC1N and MSC2N to validate user’s input.
EXIT_SAPLV01Z_013
It is called in Function Modules VB_CREATE_BATCH and VB_CHANGE_BATCH to set/change master data. It is also called in transaction MIGO.
EXIT_SAPMM07M_003
It is called in MM coding (MB1A, MB1B, MB1C, etc) but only for new batches.
Batch classification
EXIT_SAPLV01Z_012
It is called in Function Modules VB_CREATE_BATCH and VB_CHANGE_BATCH to determine whether classification and exits should be executed. In other words, it’s possible make the system ignore the classification routines. Just set the parameters TYPE_OF_CLASSIFYING and EXTENDED_CLASSIFYING accordingly.
EXIT_SAPLV01Z_014
It’s called in VB_CREATE_BATCH and VB_CHANGE_BATCH to set/change free characteristics. Free characteristics are those that do not begin with “LOBM_”.
EXIT_SAPMM07M_004
It is used to fill the classification data in MM transactions.
Batch numbering – internal
EXIT_SAPLV01Z_001
Replacement of the number range, decision for internal or external numbering.
EXIT_SAPLV01Z_002
Assignment of customer-specific batch number. Also used to assign an existing batch (allow_existing_batch) via VB_CREATE_BATCH.
EXIT_SAPMM07M_010
Called in MM coding to assign existing batches.
Batch numbering – external
EXIT_SAPLV01Z_003
Replacement of the number range, decision customer-specific check.
EXIT_SAPLV01Z_004
Check of batch number based on customer rules.
Batch status management
EXIT_SAPLV01D_001
Determination of the initial status of a batch.
SLED Management
BAdI VB_SLED_MANAGEMENT
It’s used to set VFDAT/HSDAT and switch off SLED management.
EXIT_SAPLVBMD_001
It has similar functionality as BAdI VB_SLED_MANAGEMENT
Batch Information Cockpit
BIC_ADDITIONAL_DATA
Add additional columns to selection result master and selection result stock.
BIC_FOLLOW_UP_ACTION
Allows defining actions for batches in the selection result (for example, change of batch status).
BIC_SELECTION
Definition of custom selection screen and selection logic.
Batch Where-Used List
BAdI VB_BWUL_EXPLOSION
Allows fine-tuning the selection for each object (batch, PO, production order).
BAdI VB_GET_POS_PLANT
Pre-determines plant for the selection screen of BWUL.
BAdI VB_GET_EXT_BATCHES
Allows reading external batches for a subcontracting process.
EXIT_SAPLCHVW_001
Allows filling additional columns into Batch Where-Used List.
Derivation
BAdI DERIVATION
- Allows to activate/deactivate derivation during goods movement;
- Allows to set parameter ‘current senders only’;
- Changes BWUL explosion and BWUL result;
- Changes values of derived fields/characteristics.
Batch determination
BAdI VB_BD_SELECTION
Can be used instead of the standard selection to select batches from stock. It’s important to point out that the standard batch selection won’t work after the BAdI activation.
BAdI VB_BD_SELECTION_CRITERIA
It is used to change the selection criteria (it will generate a new CUOBJ).
EXIT_SAPLV01F_001
It is used to change the selection criteria (will generate a new CUOBJ)
EXIT_SAPLV01F_002
Allows changing the communication structures BDCOM, KOMKH, KOMPH. These structures are used in function module VB_BATCH_DETERMINATION. For more information you can access document Batch Determination – Debug Tips