*---tables
TABLES: PERNR ,
PCL1,
PCL2.
*----infotypes
INFOTYPES: 0000, 0001.
*----includes
INCLUDE : RPC2CD00,
RPC2RX00,
RPC2RXX0,
RPPPXD00,
RPPPXD10,
RPPPXM00.
*----Main internal Tables
DATA : BEGIN OF P OCCURS 10,
PERNR LIKE PA0001-PERNR,
ENAME LIKE PA0001-ENAME,
FPPER LIKE RGDIR-FPPER,
END OF P.
*---Data Definitions
DATA : BEGDA LIKE SY-DATUM,
ENDDA LIKE SY-DATUM.
*---parameters
PARAMETERS : FPPER LIKE S001-SPMON.
*----Start-of-selection.
START-OF-SELECTION.
PERFORM SET_INITIAL_VALUES.
GET PERNR.
PERFORM CHECK_HIRE_FIRE.
*---Get Payroll Result
PERFORM GET_PAYROLL_RESULT.
WRITE : / PERNR-PERNR,
PERNR-ENAME.
*---
*&---------------------------------------------------------------------*
*& Form SET_INITIAL_VALUES
*&---------------------------------------------------------------------*
FORM SET_INITIAL_VALUES.
*----
MOVE : FPPER TO BEGDA+0(6),
'01' TO BEGDA+6(2).
*---
CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
EXPORTING
DAY_IN = BEGDA
IMPORTING
LAST_DAY_OF_MONTH = ENDDA.
ENDFORM. " SET_INITIAL_VALUES
*&---------------------------------------------------------------------*
*& Form CHECK_HIRE_FIRE
*&---------------------------------------------------------------------*
FORM CHECK_HIRE_FIRE.
LOOP AT P0000 WHERE STAT2 NE 0 AND
BEGDA LE ENDDA AND
ENDDA GE BEGDA.
ENDLOOP.
CHECK SY-SUBRC NE 0.
REJECT.
ENDFORM. " CHECK_HIRE_FIRE
*&---------------------------------------------------------------------*
*& Form GET_PAYROLL_RESULT
*&---------------------------------------------------------------------*
FORM GET_PAYROLL_RESULT.
CD-KEY-PERNR = PERNR-PERNR.
RP-IMP-C2-CD.
IF RP-IMP-CD-SUBRC NE 0. EXIT. ENDIF.
READ TABLE RGDIR WITH KEY FPPER = FPPER.
CHECK SY-SUBRC EQ 0.
REJECT.
ENDFORM. " GET_PAYROLL_RESULT
Hiç yorum yok:
Yorum Gönder