REPORT
ZHR_D220_AS03_YTD.
TABLES PERNR.
DATA IT_RGDIR TYPE PC261 OCCURS 0 WITH
HEADER LINE.
PARAMETERS P_FILE TYPE STRING
OBLIGATORY.
DATA
IT_RESULT TYPE PAYIN_RESULT.
DATA : WA_CRT TYPE PC208,
WA_RT TYPE PC207,
G_SEQNR TYPE PC261-SEQNR.
DATA: BEGIN OF ITAB OCCURS 0,
PERNR TYPE PERNR-PERNR,
GROSS TYPE PC208-BETRG,
NETPAY TYPE PC207-BETRG,
TAX TYPE PC207-BETRG,
END OF ITAB.
AT SELECTION-SCREEN ON
VALUE-REQUEST FOR P_FILE.
CALL METHOD CL_RSAN_UT_FILES=>F4
EXPORTING
I_APPLSERV = SPACE
I_TITLE = 'CHOOSE
FILE PATH...'
I_GUI_EXTENSION = 'TXT'
I_GUI_EXT_FILTER = SPACE
*
I_GUI_INITIAL_DIRECTORY =
*
I_APPLSERV_LOGICAL = 'X'
*
I_APPLSERV_AL11 = 'X'
*
IMPORTING
*
E_CANCELED =
*
E_LOGICAL_FILE =
*
E_AL11_CHOSEN =
CHANGING
C_FILE_NAME = P_FILE.
START-OF-SELECTION.
GET PERNR.
CALL FUNCTION 'CU_READ_RGDIR'
EXPORTING
PERSNR =
PERNR-PERNR
*
BUFFER =
*
NO_AUTHORITY_CHECK = ' '
* IMPORTING
*
MOLGA =
TABLES
IN_RGDIR =
IT_RGDIR.
* CALL FUNCTION 'CD_READ_LAST'
*
EXPORTING
*
BEGIN_DATE = PN-BEGDA
*
END_DATE = PN-ENDDA
*
IMPORTING
*
OUT_SEQNR = G_SEQNR
*
TABLES
*
RGDIR = IT_RGDIR
*
EXCEPTIONS
*
NO_RECORD_FOUND = 1
*
OTHERS = 2.
*
IF SY-SUBRC <> 0.
*
MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3
SY-MSGV4.
*
ENDIF.
LOOP AT IT_RGDIR WHERE FPPER EQ PN-PAPER.
CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
EXPORTING
*
CLUSTERID
=
EMPLOYEENUMBER
= PERNR-PERNR
SEQUENCENUMBER
= IT_RGDIR-SEQNR
*
READ_ONLY_BUFFER
= ' '
*
READ_ONLY_INTERNATIONAL
= ' '
*
ARC_GROUP
= ' '
*
CHECK_READ_AUTHORITY
= 'X'
*
FILTER_CUMULATIONS
= 'X'
*
CLIENT
=
* IMPORTING
*
VERSION_NUMBER_PAYVN =
*
VERSION_NUMBER_PCL2
=
CHANGING
PAYROLL_RESULT
= IT_RESULT.
ENDLOOP.
LOOP AT IT_RESULT-INTER-CRT INTO WA_CRT WHERE CUMTY = 'Y'.
CASE WA_CRT-LGART.
WHEN '/101'.
MOVE: PERNR-PERNR TO ITAB-PERNR,
WA_CRT-BETRG TO ITAB-GROSS.
WHEN '/460'.
MOVE: WA_CRT-BETRG TO ITAB-TAX.
ENDCASE.
ENDLOOP.
LOOP AT IT_RESULT-INTER-RT INTO WA_RT.
CASE WA_RT-LGART.
WHEN '/560'.
MOVE: WA_RT-BETRG TO ITAB-NETPAY.
ENDCASE.
ENDLOOP.
APPEND ITAB.
CLEAR ITAB.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
EXPORTING
*
BIN_FILESIZE =
FILENAME = P_FILE
*
FILETYPE = 'ASC'
*
APPEND = SPACE
WRITE_FIELD_SEPARATOR = 'X'
*
HEADER = '00'
*
TRUNC_TRAILING_BLANKS = SPACE
*
WK1_T_SIZE = SPACE
*
IMPORTING
*
FILELENGTH =
CHANGING
DATA_TAB = ITAB[].
.