• March 27, 2026
  • Kishore Thutaram
  • 0

Create Material Batch during Sales Order creation

Business Requirement: Create a Material Batch if it is not available during sales order creation

Steps: User Exit MV45AFZZ

Form routine – MOVE_FIELD_TO_VBAP


 DATA: lt_return TYPE TABLE OF bapiret2,
       lv_matnr TYPE char18,
       ls_mcha TYPE mcha. 
IF vbap-charg = space.
          SELECT SINGLE * FROM mchb INTO ls_mchb WHERE
            matnr = vbap-matnr AND
            werks = vbap-werks AND
            lvorm = space.
          IF sy-subrc = 0.
            vbap-charg = ls_mchb-charg.
          ELSE.
* check to see if the batch exists for just that material
            SELECT SINGLE * FROM mchb INTO ls_mchb WHERE
              matnr = vbap-matnr AND
              lvorm = space.
* create the batch
            IF sy-subrc = 0.
              vbap-charg = ls_mchb-charg.
            ELSE.
              lv_matnr = vbap-matnr(18).
              CALL FUNCTION 'BAPI_BATCH_CREATE'
                EXPORTING
                  material = lv_matnr
                  plant    = vbap-werks
                IMPORTING
                  batch    = vbap-charg
                TABLES
                  return   = lt_return.
            ENDIF.
         ENDIF.
    ENDIF.
   
    

Kishore Thutaram

SAP Solution Architect | 16+ Years' Experience in SAP | Sharing Practical SAP Knowledge | Engineering Graduate with Expertise in SAP Architecture

https://fiowelt.com