Vous êtes sur la page 1sur 5

*&---------------------------------------------------------------------* *& Report ZEMAMI_APPRAISAL *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT ZEMAMI_APPRAISAL. TABLES : PA0002, TOA_DARA, ARC_PARAMS.

RANGES : V_PERNR FOR PA0002-PERNR. TYPES : BEGIN OF AS, PERNR TYPE PA0002-PERNR, END OF AS. DATA DATA : ITAB TYPE STANDARD TABLE OF AS INITIAL SIZE 0, WA_ITAB LIKE LINE OF ITAB. : FORMNAME w_cparam ssfcompop GV_PERNR TYPE TYPE TYPE TYPE RS38L_FNAM, ssfctrlop, ssfcompop, PA0002-PERNR.

DATA I TYPE C. data : ITAB_INC type STANDARD TABLE OF PA0008 INITIAL SIZE 0, WA_INC LIKE LINE OF ITAB_INC. data : ITAB_INC1 type STANDARD TABLE OF PA0001 INITIAL SIZE 0, WA_INC1 LIKE LINE OF ITAB_INC, WA_INC2 LIKE LINE OF ITAB_INC. DATA : ITAB_AM TYPE STANDARD TABLE OF PA0008 INITIAL SIZE 0, WA_AM LIKE LINE OF ITAB_AM. DATA : ITAB_SE TYPE STANDARD TABLE OF PA0008 INITIAL SIZE 0, WA_SE LIKE LINE OF ITAB_SE. *************************************************************** SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-E01. PARAMETERS : P_ABKRS TYPE PA0001-ABKRS OBLIGATORY. " payroll area SELECT-OPTIONS: P_PERNR FOR GV_PERNR MATCHCODE OBJECT /OBIZ/PSRC_PERNR NO IN TERVALS. " employee code V_PERNR-SIGN = 'I'. V_PERNR-OPTION = 'BT'. V_PERNR-LOW = P_PERNR-LOW. V_PERNR-HIGH = P_PERNR-HIGH. APPEND V_PERNR. * PARAMETERS : P_DATE TYPE PA0001-BEGDA DEFAULT SY-DATUM OBLIGATORY. " date of report SELECT-OPTIONS : P_DATE FOR PA0002-BEGDA NO INTERVALS NO-EXTENSION . date of report * * * * SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN POSITION 15. PARAMETERS: E RADIOBUTTON GROUP RAD2. SELECTION-SCREEN COMMENT 20(35) text-Gb1. "

* SELECTION-SCREEN End of LINE. * * SELECTION-SCREEN BEGIN OF LINE. * SELECTION-SCREEN POSITION 15. * PARAMETERS: F RADIOBUTTON GROUP RAD2. * SELECTION-SCREEN COMMENT 20(35) text-Hb1. * SELECTION-SCREEN End of LINE. SELECTION-SCREEN END OF BLOCK B1. *************************************************************** SELECTION-SCREEN BEGIN OF BLOCK C1 WITH FRAME TITLE TEXT-F01. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN POSITION 15. PARAMETERS: A RADIOBUTTON GROUP RAD1. SELECTION-SCREEN COMMENT 20(35) text-cb1. SELECTION-SCREEN End of LINE. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN POSITION 15. PARAMETERS: E RADIOBUTTON GROUP RAD1. SELECTION-SCREEN COMMENT 20(45) text-Ib1. SELECTION-SCREEN End of LINE. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN POSITION 15. PARAMETERS: F RADIOBUTTON GROUP RAD1. SELECTION-SCREEN COMMENT 20(60) text-Jb1. SELECTION-SCREEN End of LINE. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN POSITION 15. PARAMETERS: B RADIOBUTTON GROUP RAD1. SELECTION-SCREEN COMMENT 20(45) text-Db1. SELECTION-SCREEN End of LINE. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN POSITION 15. PARAMETERS: C RADIOBUTTON GROUP RAD1. SELECTION-SCREEN COMMENT 20(45) text-Eb1. SELECTION-SCREEN End of LINE. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN POSITION 15. PARAMETERS: D RADIOBUTTON GROUP RAD1. SELECTION-SCREEN COMMENT 20(45) text-Fb1. SELECTION-SCREEN End of LINE. SELECTION-SCREEN END OF BLOCK C1. *************************************************************** IF A = 'X'. SELECT * FROM PA0008 INTO CORRESPONDING FIELDS OF TABLE ITAB_INC WHERE BEGDA = P_DATE-LOW AND PERNR IN P_PERNR. LOOP AT ITAB_INC INTO WA_INC. SELECT SINGLE ABKRS INTO WA_INC-TRFGB FROM PA0001 WHERE PERNR = WA_INC-PERNR . SELECT SINGLE PERSK INTO WA_INC-TRFGR FROM PA0001 WHERE PERNR = WA_INC-PERNR . MODIFY ITAB_INC FROM WA_INC.

CLEAR WA_INC. ENDLOOP. SORT ITAB_INC DESCENDING BY TRFGR. LOOP AT ITAB_INC INTO WA_INC. IF WA_INC-TRFGR = '27'. MOVE-CORRESPONDING WA_INC TO WA_AM. APPEND WA_AM TO ITAB_AM. ELSE. MOVE-CORRESPONDING WA_INC TO WA_SE. APPEND WA_SE TO ITAB_SE. ENDIF. ENDLOOP. * DELETE ITAB_INC WHERE TRFGB NE P_ABKRS. * DELETE ITAB_INC WHERE TRFGR NE '27'. * DELETE ITAB_INC WHERE TRFGR NE '19'. BREAK-POINT. ENDIF. *DELETE ADJACENT DUPLICATES FROM P_PERNR COMPARING ALL FIELDS. w_cparam-preview = 'X'. " Suppressing the dialog box w_cparam-no_dialog = 'X'. LOOP AT P_PERNR . WA_ITAB-PERNR = P_PERNR-LOW. APPEND WA_ITAB TO ITAB. ENDLOOP. DELETE ADJACENT DUPLICATES FROM ITAB COMPARING PERNR. LOOP AT ITAB_INC INTO WA_INC. IF A = 'X'. * IF E = 'X'. * I = 'X'. * ELSE. * I = ''. * ENDIF. CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING FORMNAME = 'ZEMAMI_APPRAISAL' IMPORTING FM_NAME = FORMNAME EXCEPTIONS NO_FORM = 1 NO_FUNCTION_MODULE = 2 OTHERS = 3. IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. CALL FUNCTION FORMNAME EXPORTING I = I P_PERNR = WA_INC-PERNR control_parameters = w_cparam. ELSEIF B = 'X'.

* * * * *

IF E = 'X'. I = 'X'. ELSE. I = ''. ENDIF. CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING FORMNAME = 'ZEMAMI_APPRAISAL_1' IMPORTING FM_NAME = FORMNAME EXCEPTIONS NO_FORM = 1 NO_FUNCTION_MODULE = 2 OTHERS = 3. IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. CALL FUNCTION FORMNAME EXPORTING I = I P_PERNR = P_PERNR-LOW control_parameters = w_cparam. ELSEIF C = 'X'. CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING FORMNAME = 'ZEMAMI_PROMOTION_LETTER' IMPORTING FM_NAME = FORMNAME EXCEPTIONS NO_FORM = 1 NO_FUNCTION_MODULE = 2 OTHERS = 3. IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. CALL FUNCTION FORMNAME EXPORTING P_PERNR = P_PERNR-LOW control_parameters = w_cparam. ELSEIF D = 'X'. CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING FORMNAME = 'ZEMAMI_REDESIGNATION_LETTER' IMPORTING FM_NAME = FORMNAME EXCEPTIONS NO_FORM = 1 NO_FUNCTION_MODULE = 2 OTHERS = 3. IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. CALL FUNCTION FORMNAME EXPORTING P_PERNR = P_PERNR-LOW control_parameters = w_cparam.

ENDIF. ENDLOOP. **************************************************************************** IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.

Vous aimerez peut-être aussi