A sample ABAP program to understand how to use MB1B call transaction in ABAP.
REPORT YMBIE096 LINE-SIZE 80.
*----------------------------------------------------------------------*
* Program: YMBIE096
* Author: Sheila Titchener
* Date: Mar 1999
* Purpose: To move stock to new plant
*----------------------------------------------------------------------*
TABLES: MCHB.
* internal table
DATA: BEGIN OF I_MCHB OCCURS 0,
MATNR LIKE MCHB-MATNR,
LGORT LIKE MCHB-LGORT,
CHARG LIKE MCHB-CHARG,
J_2CTRNR LIKE MCHB-J_2CTRNR,
J_2CELNG LIKE MCHB-J_2CELNG,
CLABS LIKE MCHB-CLABS,
END OF I_MCHB.
*-----------------------new code smt nov 98-----------------------------
* batch input tables
DATA BEGIN OF BDCDATA OCCURS 100.
INCLUDE STRUCTURE BDCDATA.
DATA END OF BDCDATA.
DATA BEGIN OF MESSTAB OCCURS 10.
INCLUDE STRUCTURE BDCMSGCOLL.
DATA END OF MESSTAB.
*
SELECT-OPTIONS S_MATNR FOR MCHB-MATNR.
PARAMETERS: P_DISP AS CHECKBOX.
DATA W_MODE.
DATA W_MESSAGE LIKE MESSAGE.
*----------------------------------------------------------------------*
START-OF-SELECTION.
*----------------------------------------------------------------------*
SELECT MATNR LGORT J_2CELNG CHARG CLABS J_2CTRNR FROM MCHB
INTO CORRESPONDING FIELDS OF TABLE I_MCHB
WHERE MATNR IN S_MATNR
AND WERKS = 'BT'.
*----------------------------------------------------------------------*
END-OF-SELECTION.
*----------------------------------------------------------------------*
LOOP AT I_MCHB.
CHECK I_MCHB-J_2CELNG NE 0.
CHECK I_MCHB-J_2CELNG = I_MCHB-CLABS.
PERFORM MOVE_STOCK.
ENDLOOP.
*&---------------------------------------------------------------------*
*& Form MOVE_STOCK
*&---------------------------------------------------------------------*
* Call transaction MB1B to transfer stock
*----------------------------------------------------------------------*
FORM MOVE_STOCK.
DATA: W_QTY(10).
WRITE I_MCHB-J_2CELNG TO W_QTY DECIMALS 0.
REFRESH: BDCDATA, MESSTAB.
PERFORM DYNPRO USING:
'X' 'SAPMM07M' '0400',
' ' 'RM07M-BWARTWA' '301',
' ' 'RM07M-WERKS' 'BT',
' ' 'RM07M-LGORT' I_MCHB-LGORT,
' ' 'BDC_OKCODE' '/0',
'X' 'SAPMM07M' '0421',
' ' 'MSEGK-UMWRK' '94',
' ' 'MSEGK-UMLGO' I_MCHB-LGORT,
' ' 'BDC_OKCODE' 'NLE',
*CODING BLOCK
'X' 'SAPLKACB' '0002',
' ' 'BDC_OKCODE' '/0',
'X' 'SAPMM07M' '0421',
' ' 'MSEG-MATNR(1)' I_MCHB-MATNR,
' ' 'MSEG-ERFMG(1)' W_QTY,
' ' 'MSEG-CHARG(1)' I_MCHB-CHARG,
' ' 'BDC_OKCODE' '/0',
*CODING BLOCK
'X' 'SAPLKACB' '0002',
' ' 'BDC_OKCODE' '/0',
*CODING BLOCK
'X' 'SAPLKACB' '0002',
' ' 'BDC_OKCODE' '/0',
* 'X' 'SAPMM07M' '0410',
* ' ' 'BDC_OKCODE' '/0',
*CODING BLOCK
* 'X' 'SAPLKACB' '0002',
* ' ' 'BDC_OKCODE' '/8',
*CODING BLOCK
* 'X' 'SAPLKACB' '0002',
* ' ' 'BDC_OKCODE' '/8',
'X' 'SAPLJ2CW' '0190',
' ' 'J_5C7-UMCHA' I_MCHB-CHARG,
' ' 'BDC_OKCODE' '/7',
'X' 'SAPMM07M' '0421',
' ' 'BDC_OKCODE' '/11',
*CODING BLOCK
'X' 'SAPLKACB' '0002',
' ' 'BDC_OKCODE' '/0'.
IF P_DISP = 'X'.
W_MODE = 'A'.
ELSE.
W_MODE = 'N'.
ENDIF.
CALL TRANSACTION 'MB1B' USING BDCDATA MODE W_MODE UPDATE 'S'
MESSAGES INTO MESSTAB.
WRITE: / I_MCHB-MATNR, I_MCHB-CHARG, I_MCHB-LGORT,
I_MCHB-J_2CTRNR, I_MCHB-J_2CELNG.
IF SY-SUBRC NE 0.
* what to do if there's an error????
LOOP AT MESSTAB.
SY-MSGNO = MESSTAB-MSGNR.
CALL FUNCTION 'WRITE_MESSAGE'
EXPORTING
MSGID = MESSTAB-MSGID
MSGNO = SY-MSGNO
MSGTY = MESSTAB-MSGTYP
MSGV1 = MESSTAB-MSGV1
MSGV2 = MESSTAB-MSGV2
MSGV3 = MESSTAB-MSGV3
MSGV4 = MESSTAB-MSGV4
MSGV5 = MESSTAB-MSGV4
IMPORTING
* error =
MESSG = W_MESSAGE
* msgln =
EXCEPTIONS
OTHERS = 1.
WRITE: / W_MESSAGE.
* message id messtab-msgid type 'I' number messtab-msgnr.
ENDLOOP.
ENDIF.
ENDFORM. " CHANGE_BILLING_TYPE
*-----------------------------------------------------------------------
* FORM DYNPRO - new form smt nov 1998
*-----------------------------------------------------------------------
* > DYNBEGIN
* > NAME
* > VALUE
*-----------------------------------------------------------------------
*
FORM DYNPRO USING DYNBEGIN NAME VALUE.
IF DYNBEGIN = 'X'.
CLEAR BDCDATA.
MOVE: NAME TO BDCDATA-PROGRAM,
VALUE TO BDCDATA-DYNPRO,
'X' TO BDCDATA-DYNBEGIN.
APPEND BDCDATA.
ELSE.
CLEAR BDCDATA.
MOVE: NAME TO BDCDATA-FNAM,
VALUE TO BDCDATA-FVAL.
APPEND BDCDATA.
ENDIF.
ENDFORM.
*
Related 10 Sample Programs Tutorials
- ABAP Program of FTP Function Module
- ABAP Program for Module Pool containing screen loop processing
- ABAP Program to DIALOGUE FLOW LOGIC
- ABAP Program to Upload table using new function GUI_UPLOAD
- ABAP Program for Submitting report with selection table
- ABAP program to send a report to an external mail-id
- ABAP Program for Lock All Users
- ABAP Program for Sending SAP Mail
- ABAP Program to Get Output in EXCEL
- ABAP Program for Create IDOC
Most readed SAP Tutorials
- WRITE - Output to a list ( SAP ABAP Keyword)
WRITE ( Output to a list ) is a keyword used in SAP ABAP programming.This tutorial covers its introduction & syntax details. - List of SAP HR TABLES and Infotypes tables
Detailed full list of tables and infotypes used in SAP HR module. - List of SAP MM Transaction codes
This documentation covers the details of SAP MM Transaction codes - SELECT-OPTIONS ( SAP ABAP Keyword)
SELECT-OPTIONS is a keyword used in SAP ABAP programming.This tutorial covers its introduction & syntax details. - FI Accounts Receivable and Accounts Payable | SAP FI PDF manual
The following topics are an introduction to the Accounts Receivable and Accounts Payable application components. - SAP MM Process Flow
The typical procurement cycle for a service or material consists of the following phases: - SELECT clause ( SAP ABAP Keyword)
SELECT clause is a keyword used in SAP ABAP programming.This tutorial covers its introduction & syntax details.
Latest Added SAP documents
- 9KE9 Transaction code
Details about SAP transaction code 9KE9 - 9KE8 Transaction code
Details about SAP transaction code 9KE8 - 9KE7 Transaction code
Details about SAP transaction code 9KE7 - 9KE6 Transaction code
Details about SAP transaction code 9KE6 - 9KE5 Transaction code
Details about SAP transaction code 9KE5 - 9KE4 Transaction code
Details about SAP transaction code 9KE4 - 9KE3 Transaction code
Details about SAP transaction code 9KE3 - 9KE2 Transaction code
Details about SAP transaction code 9KE2 - 9KE1 Transaction code
Details about SAP transaction code 9KE1 - 9KE0 Transaction code
Details about SAP transaction code 9KE0