FAQ: Basic functions of batch management
Q1: Why do errors occur when generating or running batch input sessions for the new batch master transactions MSC1N and MSC2N?
The classification subscreen used in the new batch master is not batch-input-enabled. For batch input, use the old Transactions MSC1 or MSC2, or use BAPIs instead of batch input .
Q2: Why does Transaction MSC1N or MSC2N abend with error 12 126?
The termination may have various reasons.
Check whether at least classification status 'Released' has been defined for the relevant class type 022/023.
Check the batch integrity using Transaction BMCC.
Find more information on SAP ABAP Transaction Codes
Q3: How can batch master data be valuated in goods movement?
Basically, only certain batch master fields can be changed within inventory management. Those fields are: date of manufacture, date of expiry, last goods receipt date, next inspection date, external batch number, batch vendor.
Those data are set (partially automatically) depending on the customizing settings and business-operational processes.
Further batch data such as country of origin, region of origin, and freely available date fields can be changed in user exits only.
To newly create a batch in goods movement, use exit EXIT_SAPMM07M_003.
If Transaction MIGO is used, the exits EXIT_SAPLV01Z_011 through _014 are processed as well when the 'classification' button is pressed.
Q4: Why is user exit EXIT_SAPMM07M_003 processed for some batches but not for all?
User exit EXIT_SAPMM07M_003 is only processed, if the batch is newly created in goods movement. This may have various effects depending on the batch definition level.
A batch is moved in a one-step stock transfer procedure plant to plant. The batch number does not exist in the receiving plant yet.
If the batches are uniquely defined on plant level, this means that batches with the same name for the same material are independent objects with independent attributes in two different plants. The batches may have different expiry dates, status, etc. During the transfer, the batch is newly created in the receiving plant. User exit EXIT_SAPMM07M_003 is processed.
If the batches are uniquely defined on material or client level, the batch exists in the system, and only a plant segment is created for the receiving plant. User exit EXIT_SAPMM07M_003 is not processed.
Q5: What do you need to consider when maintaining batch data or classifying via BAPIs?
BAPIs BAPI_BATCH_CREATE, BAPI_BATCH_CHANGE, and BAPI_BATCH_SAVE_REPLICA can be used for maintaining batch data.
The three BAPIs mentioned above implicitly carry out a separate COMMIT WORK.
If a COMMIT WORK AND WAIT is required, or if batch maintenance is to be included om a transaction, the implicit COMMIT of the BAPIs has to be suppressed.
This is done by calling function module 'TRANSACTION_BEGIN' before calling the individual BAPI. Thus the calling program takes over transaction control. The transaction is terminated by calling function module 'TRANSACTION_END' or 'BAPI_TRANSACTION_COMMIT'.
This BAPI exclusively serves for creating new batches or expanding existing batches by plant or storage location segments.
This BAPI exclusively serves for changing existing batches.
This BAPI creates batches or changes existing batches. It combines the functions of the above-mentioned BAPIs.
Change classification data of a batch
Up to and including Release 4.6C, BAPI BAPI_OBJCL_CHANGE needs to be used.
In later releases, BAPI BAPI_BATCH_SAVE_REPLICA may also be used for that purpose.
Q6: How can you achieve a chronological assignment of batch numbers without any gaps?
A chronological batch number assignment without any gaps is impossible.
Chronological batch numbers are achieved by using the internal batch number assignment. The absence of gaps cannot be guaranteed, however (cancelled entries, termination, /N, etc.).
Gaps in batch number assignment can be eliminated by explicitly searching for them in the user exits for batch number assignment (EXIT_SAPLV01Z_001 through _004) - they can also be determined in a job and stored in a customer-specific table.
Q7: Why can the setting 'automatic batch number assignment active' not be transported?
Up to and including Release 4.6C, this customizing setting is stored in Table TCUCH. This also includes the information about the batch level and the batch status management.
Since this information must not be transported, automatic batch number assignment has to be set manually in each system.
This problem was solved in Release 4.7 (Enterprise).