23 Ocak 2012 Pazartesi

Çalışmayan Bordrolar - Örnek ABAP Uygulaması 5

REPORT ZHRRMISB.
*---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