TABLES: MCHB.

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.




Serkan AKKAVAK

Computer Engineer

SAP Department Deputy Manager

Contact : serkurumsal@yandex.com