ABAP Program for MB1B Call Transaction

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.
*

Most readed SAP Tutorials

Latest Added SAP documents

Custom Search
ABAP Tutorials ABAP Syntax BAPI SAP Jobs SAP Glossary SAP Netweaver SAP XI SAP Download SAP Interview questions

Complete SAP Study materials | SAP JOBS | PDF Tutorials   List of SAP Companies India

Google-Translate-Chinese (Simplified) BETA Google-Translate-English to French Google-Translate-English to German Google-Translate-English to Italian Google-Translate-English to Japanese BETA Google-Translate-English to Korean BETA Google-Translate-English to Russian BETA Google-Translate-English to Spanish

All of the product names here are trademarks of their respective companies. The site sapbrainsonline.com no way affiliated with SAP AG. Use information on this site at your own risk. Information furnished in the site is collected from various sites and posts from users. This site does not host any files on its server. If any compliants about the posts please contact us at sapbrain.support@gmail.com

Sitemap
web counter