TABLES : PA0000,
PA0001,
PA0002,
Q0002 ,
RP50G.
INFOTYPES : 0000,
0001,
0002.
DATA:BEGIN OF BDC_TAB OCCURS 5.
INCLUDE STRUCTURE BDCDATA.
DATA: END OF BDC_TAB.
PARAMETER MAPNAME DEFAULT SY-UNAME LIKE RPTAXXXX-MAP_NAME.
DATA: FNAME(128), FTYPE(3), FSIZE TYPE I.
DATA:BEGIN OF REC OCCURS 100 ,
PERNR(8),
BEGDA(10),
* endda(10),
MASSN(2),
* massg(2),
PLANS(8),
WERKS(4),
PERSG(1),
PERSK(2),
*----------------------
BTRTL(4),
ANSVH(2),
END OF REC.
START-OF-SELECTION.
CALL FUNCTION 'UPLOAD'
EXPORTING
FILENAME =
'H:\PHASE2\HRM\TRANSFER\DOWNLOAD\YENIIS\coklu\copy1.TXT'
* 'H:\PHASE2\HRM\TRANSFER\DOWNLOAD\YENIIS\copy1.TXT'
FILETYPE = 'dat'
IMPORTING
FILESIZE = FSIZE
ACT_FILENAME = FNAME
ACT_FILETYPE = FTYPE
TABLES
DATA_TAB = REC
EXCEPTIONS
CONVERSION_ERROR = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3.
WRITE: / 'upload tamam'.
IF SY-SUBRC NE 0. EXIT. ENDIF.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = MAPNAME
USER = SY-UNAME.
LOOP AT REC .
PERFORM BASLA.
ENDLOOP .
CALL FUNCTION 'BDC_CLOSE_GROUP'.
********** FORM BASLA *************
FORM BASLA.
********** PA30 GIRIS EKRANI BILGILERI ************
PERFORM DEG USING 'SAPMP50A' '1000'.
PERFORM YAZ USING 'RP50G-PERNR' REC-PERNR .
PERFORM YAZ USING 'RP50G-CHOIC' '0000'.
* perform yaz using 'RP50G-SELEC(4)' 'X'.
* perform yaz using 'BDC_OKCODE' '/2'.
PERFORM YAZ USING 'BDC_OKCODE' '/6'.
****** INFOTYPE 0000 EKRAN BILGILERI
PERFORM DEG USING 'MP000000' '2000'.
PERFORM YAZ USING 'P0000-BEGDA' REC-BEGDA.
PERFORM YAZ USING 'P0000-MASSN' REC-MASSN.
PERFORM YAZ USING 'P0000-MASSG' ' '.
PERFORM YAZ USING 'PSPAR-PLANS' REC-PLANS.
PERFORM YAZ USING 'PSPAR-WERKS' REC-WERKS.
PERFORM YAZ USING 'PSPAR-PERSG' REC-PERSG.
PERFORM YAZ USING 'PSPAR-PERSK' REC-PERSK.
PERFORM YAZ USING 'BDC_OKCODE' '/11'.
****** INFOTYPE 0001 EKRAN BILGILERI
PERFORM DEG USING 'MP000100' '2000'.
PERFORM YAZ USING 'P0001-BTRTL' REC-BTRTL.
PERFORM YAZ USING 'P0001-ABKRS' 'DE'.
PERFORM YAZ USING 'P0001-ANSVH' REC-ANSVH.
PERFORM YAZ USING 'BDC_OKCODE' '/11'.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'PA30'
TABLES
DYNPROTAB = BDC_TAB.
REFRESH BDC_TAB.
ENDFORM.
****** YENI EKRANA BASLAMA
FORM DEG USING PROGRAM DYNPRO.
CLEAR BDC_TAB.
BDC_TAB-PROGRAM = PROGRAM.
BDC_TAB-DYNPRO = DYNPRO.
BDC_TAB-DYNBEGIN = 'X'.
APPEND BDC_TAB.
ENDFORM.
****** BILGI ISLEME
FORM YAZ USING FNAM FVAL.
CLEAR BDC_TAB.
BDC_TAB-FNAM = FNAM.
BDC_TAB-FVAL = FVAL.
APPEND BDC_TAB.
ENDFORM.
Hiç yorum yok:
Yorum Gönder