* Program Name: ZTBDC00
* Description: Change Sales Empolyee Data Using BDC Program
* Date/Author: 1998/06/10 周庆日
* Table Update:
* Special Logic:
* Include:
*---------------------------------------------------------------
* MODIFICATION LOG
*---------------------------------------------------------------
* ChangeDate Programmer Request Description
* ========== ============= ============ ==========================
* 1998/06/10 Chou NEW PROGRAM
*----------------------------------------------------------------------------
* REPORT NAME
*------------------------------------------------------------------
REPORT ZTBDC00
NO STANDARD PAGE HEADING
MESSAGE-ID ZZ
LINE-COUNT 60
LINE-SIZE 80.
*DATA
*----------------------------------------------------------------
TABLES: RP50G,P002.
DATA: BEGIN OF INT_BDC OCCURS 0.
INCLUDE STRUCTURE BDCDATA.
DATA: END OF INT_BDC.
* Work Internal Table
DATA: BEGIN OF IN_REC,
END OF IN_REC.
DATA: P_FILE(30) VALUE ‘empoly.txt’. “ASCII Text File Name
* INITIALIZATION
*----------------------------------------------------------------
INITIALIZATION.
* AT START SELECTION
*---------------------------------------------------------------
START-OF-SELECTION.
PERFORM READ_DATA.
PERFORM PROCESS_DATA.
* END OF SELECTION
*---------------------------------------------------------------------
END-OF-SELECTION.
PERFORM CLEAN_UP.
* FORM
*-------------------------------------------------------------
* Read Data OPEN ASCII Text File
*-------------------------------------------------------------
FORM READ_DATA.
OPEN DATASET P_FILE FOR INPUT IN TEXT MODE.
IF SY-SUBRC NE 0.
MESSAGE E999 WITH ‘Cannot Open ‘ P_FILE.
ENDIF.
ENDFORM.
* Process Data
*-------------------------------------------------------------
FORM PROCESS_DATA.
DO.
READ DATASET P_FILE INTO IN_REC. “Add Data To Internal Table
IF SY-SUBRC NE 0.
EXIT.
ENDIF.
PERFORM BUILD_BDC. “Add to BDC Table
PERFORM SUBMIT_BDC. “Call Transaction Code To Change Data
ENDDO.
ENDFORM.
*----------------------------------------------------
* Add Data to BDC Table
FORM BUILD_BDC.
PERFORM BDC_SCREEN TABLES INT_BDC
USING ‘SAPMP50A’ ‘1000’.
PERFORM BDC_FIELD TABLES INT_BDC:
USING ‘RP50G-PERNR’ IN_REC-PERNR,
USING ‘RP50G-CHOIL’ IN_REC-CHOIL,
USING ‘BDC_OKCODE’ ‘/00’.
PERFORM BDC_SCREEN TABLES INT_BDC
USING ‘SAPMP50A’ ‘2042’.
PERFORM BDC_FIELD TABLES INT_BDC:
USING ‘P0002-BEGDA’ IN_REC-BEGDA,
USING ‘P0002-ENDDA’ IN_REC-ENDDA,
USING ‘P0002-NACHN’ IN_REC-NACHN,
USING ‘P0002-VORNA’ IN_REC-VORNA,
USING ‘BDC_OKCODE’ ‘/11’.
ENDFORM.
*----------------------------------------------------------------
* Call Transaction Code to Execute Change Data
FORM SUBMIT_BDC.
CALL TRANSACTION ‘PAL3’ USING INT_BDC
MODE ‘N’.
REFRESH INT_BDC. “将BDC Table资料清除
ENDFORM.
*------------------------------------------------------------------
* Close ASCII Text File
FORM CLEAN_UP.
CLOSE DATASET P_NAME.
IF SY-SUBRC NE 0.
MESSAGE E999 WITH ‘Cannot Close ‘ P_FILE.
ENDIF.
ENDFORM.
*------------------------------------------------------------------