Professional Documents
Culture Documents
TYPES : BEGIN OF str, matnr TYPE matnr, qty TYPE CHAR17, werks TYPE CHAR4, END OF str. DATA : itab TYPE STANDARD TABLE OF str INITIAL SIZE 0, wa TYPE str. DATA : I_COUNT TYPE NUMC2, P_MATNR TYPE STRING, P_QTY TYPE STRING, P_WERKS TYPE STRING. DATA : I_MSG TYPE STRING. DATA : OK_CODE TYPE SY-UCOMM. PARAMETERS ctumode LIKE ctu_params-dismode DEFAULT 'N'. "A: show all dynpros "E: show dynpro on error only "N: do not display dynpro .
SELECTION-SCREEN FUNCTION KEY 1. INITIALIZATION. MOVE 'PROCESS' TO SSCRFIELDS-FUNCTXT_01. P_BUT = 'NO'. AT SELECTION-SCREEN. IF OK_CODE = 'FC01'.
P_BUT = 'THE RECORDING HAS BEEN PROCESSED'. ELSE. CALL TRANSACTION 'SHDB'. P_BUT = 'THE RECORDING HAS BEEN PROCESSED'.
DATA: DATA:
DO 10 TIMES. wa-matnr = '99-110'. wa-qty = 10. wa-werks = '1100'. APPEND wa TO itab. wa-matnr = '99-110'. wa-qty = 2. wa-werks = '1100'. APPEND wa TO itab. wa-matnr = '99-110'. wa-qty = 7. wa-werks = '1100'. APPEND wa TO itab. ENDDO.
LOOP AT ITAB INTO WA. I_COUNT = I_COUNT + 1. CONCATENATE 'EBAN-MATNR(' CONCATENATE 'EBAN-MENGE(' CONCATENATE 'EBAN-WERKS(' PERFORM bdc_dynpro PERFORM bdc_field *PERFORM bdc_field I_COUNT I_COUNT I_COUNT ')' INTO P_matnr. ')' INTO P_QTY. ')' INTO P_WERKS.
'/00'. USING P_MATNR wa-matnr. USING P_QTY wa-QTY. USING P_WERKS wa-werks.
IF I_COUNT = 21. PERFORM bdc_dynpro TRY PAGE DOWN PERFORM bdc_field I_COUNT = 1. ENDIF. CLEAR WA. ENDLOOP. USING 'SAPMM06B' '0106'. "THIS IS THE SCREEN FOR DATA EN USING 'BDC_OKCODE' '=NP'.
CALL TRANSACTION 'ME51' USING bdcdata MODE ctumode UPDATE 'A' MESSAGES INTO messtab. CLEAR BDCDATA. REFRESH BDCDATA[].
LOOP AT messtab. CALL FUNCTION EXPORTING id lang no v1 v2 'FORMAT_MESSAGE' = = = = = messtab-msgid 'E' messtab-msgnr messtab-msgv1 messtab-msgv2
v3 = messtab-msgv3 v4 = messtab-msgv4 IMPORTING msg = P_matnr EXCEPTIONS not_found = 1 OTHERS = 2. IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. WRITE: P_matnr. ENDLOOP. *----------------------------------------------------------------------* * Start new screen * *----------------------------------------------------------------------* form bdc_dynpro using program dynpro. CLEAR bdcdata. bdcdata-program = program. bdcdata-dynpro = dynpro. bdcdata-dynbegin = 'X'. APPEND bdcdata. ENDFORM. " *----------------------------------------------------------------------* * Insert field * *----------------------------------------------------------------------* FORM bdc_field USING fnam fval. CLEAR bdcdata. bdcdata-fnam = fnam. bdcdata-fval = fval. APPEND bdcdata. ENDFORM. "BDC_FIELD