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