hrreport downupload

22
*&---------------------------------------------------------------------* *& Report ZEMPBANKDETAILS *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT ZEMPBANKDETAILS. TYPE -POOLS:SLIS. INFOTYPES : 0000 , 0001 , 0009 , 0041 . TABLES :PERNR. NODES :PERAS. TYPES : BEGIN OF TY_ALL, PERNR TYPE PERNR-PERNR, "Personnel number ENAME TYPE P0001-ENAME, "Employee’s full name ESTATUS TYPE CHAR30, "Employee’s Employment Status DATE TYPE SY-DATUM, "Employee’s current hire date EMPGRP TYPE CHAR30, "Employee’s group EMPSGRP TYPE CHAR30, "Employee’s subgroup EPAREA TYPE CHAR30, "Employee’s Personnel Area EPSAREA TYPE CHAR30, "Employee’s Personnel Subarea PAREA TYPE P0001-ABKRS, "Employee’s Payroll Area BEGDA TYPE P0009-BEGDA, "Bank Details Start Date ENDDA TYPE P0009-ENDDA, "Bank Details To Date BNKSA TYPE CHAR30, "Bank Details subtype AEDTM TYPE P0009-AEDTM, "Bank Details Change Date UNAME TYPE P0009-UNAME, "Bank Details Change By PAYMET TYPE CHAR30, "Bank Details Payment Method BNKCTRY TYPE P0009-BANKS, "Bank Details Bank Country BNKKEY TYPE P0009-BANKL, "Bank Details Bank Key SUBTY TYPE P0009-SUBTY, END OF TY_ALL. TYPES : BEGIN OF TY_MIS, PERNR TYPE PERNR-PERNR, "Personnel number ENAME TYPE P0001-ENAME, "Employee’s full name END OF TY_MIS.

Upload: vijay-vegesana

Post on 05-Sep-2014

119 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HRREPORT DOWNUPLOAD

*&---------------------------------------------------------------------**& Report  ZEMPBANKDETAILS*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*

REPORT  ZEMPBANKDETAILS.TYPE-POOLS:SLIS.INFOTYPES:0000,0001,0009,0041.TABLES:PERNR.NODES:PERAS.

TYPES:BEGIN OF TY_ALL,      PERNR      TYPE PERNR-PERNR, "Personnel number      ENAME      TYPE P0001-ENAME, "Employee’s full name      ESTATUS    TYPE CHAR30,      "Employee’s Employment Status      DATE       TYPE SY-DATUM,    "Employee’s current hire date      EMPGRP     TYPE CHAR30,      "Employee’s group      EMPSGRP    TYPE CHAR30,      "Employee’s subgroup      EPAREA     TYPE CHAR30,      "Employee’s Personnel Area      EPSAREA    TYPE CHAR30,      "Employee’s Personnel Subarea      PAREA      TYPE P0001-ABKRS, "Employee’s Payroll Area      BEGDA      TYPE P0009-BEGDA, "Bank Details Start Date      ENDDA      TYPE P0009-ENDDA, "Bank Details To Date      BNKSA      TYPE CHAR30,      "Bank Details subtype      AEDTM      TYPE P0009-AEDTM, "Bank Details Change Date      UNAME      TYPE P0009-UNAME, "Bank Details Change By      PAYMET     TYPE CHAR30,      "Bank Details Payment Method      BNKCTRY    TYPE P0009-BANKS, "Bank Details Bank Country      BNKKEY     TYPE P0009-BANKL, "Bank Details Bank Key      SUBTY      TYPE P0009-SUBTY,      END OF TY_ALL.

TYPES:BEGIN OF TY_MIS,      PERNR      TYPE PERNR-PERNR, "Personnel number      ENAME      TYPE P0001-ENAME, "Employee’s full name      END OF TY_MIS.

TYPES:BEGIN OF TY_CDATE,      PERNR      TYPE PERNR-PERNR, "Personnel number      BEGDA      TYPE P0009-BEGDA, "Bank Details Start Date      ENDDA      TYPE P0009-ENDDA, "Bank Details To Date      BNKSA      TYPE CHAR30,      "Bank Details subtype      AEDTM      TYPE P0009-AEDTM, "Bank Details Change Date      UNAME      TYPE P0009-UNAME, "Bank Details Change By      PAYMET     TYPE CHAR30,      "Bank Details Payment Method

Page 2: HRREPORT DOWNUPLOAD

      BNKCTRY    TYPE P0009-BANKS, "Bank Details Bank Country      BNKKEY     TYPE P0009-BANKL, "Bank Details Bank Key      END OF TY_CDATE.

DATA: BEGIN OF TY_DATE,        DAR01 TYPE PA0041-DAR01,        DAT01 TYPE PA0041-DAT01,        DAR02 TYPE PA0041-DAR02,        DAT02 TYPE PA0041-DAT02,        DAR03 TYPE PA0041-DAR03,        DAT03 TYPE PA0041-DAT03,        DAR04 TYPE PA0041-DAR04,        DAT04 TYPE PA0041-DAT04,        DAR05 TYPE PA0041-DAR05,        DAT05 TYPE PA0041-DAT05,        DAR06 TYPE PA0041-DAR06,        DAT06 TYPE PA0041-DAT06,        DAR07 TYPE PA0041-DAR07,        DAT07 TYPE PA0041-DAT07,        DAR08 TYPE PA0041-DAR08,        DAT08 TYPE PA0041-DAT08,        DAR09 TYPE PA0041-DAR09,        DAT09 TYPE PA0041-DAT09,        DAR10 TYPE PA0041-DAR10,        DAT10 TYPE PA0041-DAT10,        DAR11 TYPE PA0041-DAR11,        DAT11 TYPE PA0041-DAT11,        DAR12 TYPE PA0041-DAR12,        DAT12 TYPE PA0041-DAT12,      END OF TY_DATE.

DATA:IT_ALL   TYPE TABLE OF TY_ALL,     IT_MIS   TYPE TABLE OF TY_MIS, "Employees missing Main Bank Detail record     IT_CDATE TYPE TABLE OF TY_CDATE,"Bank Detail Records recently changed*     IT_DATE  TYPE TABLE OF TY_DATE,"TO DISPLAY CHANGE DATE FROM PA0041     IT_ALL1 TYPE TABLE OF TY_ALL,  "ALL BANK DETAILS     WA_ALL   TYPE TY_ALL,     WA_MIS   TYPE TY_MIS,     WA_CDATE TYPE TY_CDATE,     DATE     TYPE CHAR2,     DATE1      TYPE SY-DATUM,*     WA_DATE  TYPE TY_DATE,     WA_ALL1 TYPE TY_ALL,     FIELDCATALOG  TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,     FIELDCATALOG1 TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,     FIELDCATALOG2 TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.

Page 3: HRREPORT DOWNUPLOAD

DATA: STEXT        TYPE T591S, "BANK SUBTYPE TEXT      PAYMETTXT    TYPE T042Z, "BANK PAYMENT METHOD TEXT      EMPGRPTXT    TYPE T501T, "EMPLOYEE GROUP TEXT      EMPSGRPTXT   TYPE T503T, "EMPLOYEE SUB GROUP TEXT      EPAREATXT    TYPE T500P, "EMPLOYEE PERSONAL AREA TEXT      EPSUBAREATXT TYPE T001P, "EMPLOYEE  PERSONAL SUB AREA TEXT      STATTXT      TYPE T529U, "EMPLOYEE STATUS TEXT      BNKTYPE      TYPE T591S,      variant type disvariant. "TO SAVE ALVS

DATA: download type string,      UPLOAD TYPE STRING.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

  PARAMETERS: P_OUT1 RADIOBUTTON GROUP G1 USER-COMMAND T1 DEFAULT 'X',              P_OUT2 RADIOBUTTON GROUP G1,              P_OUT3 RADIOBUTTON GROUP G1 .

SELECTION-SCREEN BEGIN OF LINE. PARAMETERS:  P_UPLOAD  RADIOBUTTON GROUP G1 .

SELECTION-SCREEN COMMENT 8(21) text-034 FOR FIELD P_UPLOAD.

PARAMETERS: E_UPLOAD TYPE RLGRAP-FILENAME.

SELECTION-SCREEN END OF LINE.SELECTION-SCREEN END OF BLOCK B1.

SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.

SELECT-OPTIONS :S_AEDTM FOR P0009-AEDTM NO-EXTENSION  MODIF ID B1  .

SELECTION-SCREEN END OF BLOCK B2.

SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-003.

PARAMETERS:P_EMPALL    TYPE STRING,           P_EMPMIS    TYPE STRING,           P_ECDATE    TYPE STRING.

SELECTION-SCREEN END OF BLOCK B3.

***********************************************************************AT SELECTION-SCREEN ON VALUE-REQUEST FOR E_UPLOAD.

Page 4: HRREPORT DOWNUPLOAD

  CALL FUNCTION 'F4_FILENAME'   EXPORTING*     PROGRAM_NAME        = SYST-CPROG*     DYNPRO_NUMBER       = SYST-DYNNR     FIELD_NAME          = 'E_UPLOAD'   IMPORTING     FILE_NAME           = E_UPLOAD            .

MOVE E_UPLOAD TO UPLOAD.AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_EMPALL.

   CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_BROWSE*     EXPORTING*       WINDOW_TITLE         =*       INITIAL_FOLDER       =     CHANGING       SELECTED_FOLDER      = P_EMPALL     EXCEPTIONS       CNTL_ERROR           = 1       ERROR_NO_GUI         = 2       NOT_SUPPORTED_BY_GUI = 3       others               = 4           .   IF SY-SUBRC = 0.CONCATENATE  P_EMPALL '\'              'BANKREPORT'              sy-datum+4(2)              sy-datum+6(2)              sy-datum+0(4)'.XLS' INTO P_EMPALL.   ENDIF.

******************************************************************AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_EMPMIS.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_BROWSE*  EXPORTING*    WINDOW_TITLE         =*    INITIAL_FOLDER       =  CHANGING    SELECTED_FOLDER      = P_EMPMIS  EXCEPTIONS    CNTL_ERROR           = 1    ERROR_NO_GUI         = 2

Page 5: HRREPORT DOWNUPLOAD

    NOT_SUPPORTED_BY_GUI = 3    others               = 4        .IF SY-SUBRC = 0.

    CONCATENATE P_EMPMIS '\'              'BANKREPORT'              sy-datum+4(2)              sy-datum+6(2)              sy-datum+0(4)'.XLS' INTO P_EMPMIS.ENDIF.

************************************************************** AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_ECDATE.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_BROWSE*  EXPORTING*    WINDOW_TITLE         =*    INITIAL_FOLDER       =  CHANGING    SELECTED_FOLDER      = P_ECDATE  EXCEPTIONS    CNTL_ERROR           = 1    ERROR_NO_GUI         = 2    NOT_SUPPORTED_BY_GUI = 3    others               = 4        .IF SY-SUBRC = 0.      CONCATENATE P_ECDATE '\'              'BANKREPORT'              sy-datum+4(2)              sy-datum+6(2)              sy-datum+0(4)'.XLS' INTO P_ECDATE.

ENDIF.

* CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG*   EXPORTING*     WINDOW_TITLE            = 'Select File'*     DEFAULT_FILENAME        = '*.TXT'*     INITIAL_DIRECTORY       = 'C:\DESKTOP\'*     MULTISELECTION          = ' '*   CHANGING*     FILE_TABLE              = IT2_TABEMP

Page 6: HRREPORT DOWNUPLOAD

*     RC                      = ERR2*         .**  LOOP AT IT2_TABEMP INTO P_ECDATE.*  ENDLOOP.

AT SELECTION-SCREEN OUTPUT.   IF P_OUT3 NE 'X'.       LOOP AT SCREEN.       IF SCREEN-GROUP1 = 'B1'.       SCREEN-ACTIVE = 0.       MODIFY SCREEN.       ENDIF.       ENDLOOP.ENDIF.

START-OF-SELECTION.

GET PERAS.

     RP_PROVIDE_FROM_LAST P0009 '0' PN-BEGDA PN-ENDDA.        IF PNP-SW-FOUND = 1.     MOVE PERNR-PERNR TO WA_ALL-PERNR.     MOVE P0009-SUBTY TO WA_ALL-SUBTY.     MOVE P0009-BEGDA TO WA_ALL-BEGDA.     MOVE P0009-ENDDA TO WA_ALL-ENDDA.

     CALL METHOD CL_HR_T591S=>READ       EXPORTING         SPRSL  = SY-LANGU         INFTY  = '0009'         SUBTY  = P0009-BNKSA       RECEIVING         T591S  = BNKTYPE.

     MOVE BNKTYPE-STEXT TO WA_ALL-BNKSA.     MOVE P0009-AEDTM TO WA_ALL-AEDTM.     MOVE P0009-UNAME TO WA_ALL-UNAME.

     SELECT SINGLE TEXT1 FROM T042Z INTO PAYMETTXT WHERE LAND1 = P0009-BANKS.     MOVE PAYMETTXT   TO WA_ALL-PAYMET.     MOVE P0009-BANKS TO WA_ALL-BNKCTRY .     MOVE P0009-BANKL TO WA_ALL-BNKKEY.

    RP_PROVIDE_FROM_LAST P0001 SPACE PN-BEGDA PN-ENDDA.     IF PNP-SW-FOUND = 1.     MOVE P0001-ENAME TO WA_ALL-ENAME.*     MOVE P0001-ENAME TO WA_MIS-ENAME1.     SELECT SINGLE PTEXT FROM T501T INTO EMPGRPTXT WHERE PERSG = P0001-PERSG A

Page 7: HRREPORT DOWNUPLOAD

ND SPRSL = 'EN'.     MOVE EMPGRPTXT  TO WA_ALL-EMPGRP.

     SELECT SINGLE PTEXT FROM T503T INTO EMPSGRPTXT WHERE PERSK = P0001-PERSK AND SPRSL = 'EN'.     MOVE EMPSGRPTXT TO WA_ALL-EMPSGRP .

     CALL METHOD CL_HR_T500P=>READ       EXPORTING         PERSA  = P0001-WERKS       RECEIVING         T500P  = EPAREATXT.

     MOVE EPAREATXT-NAME1 TO WA_ALL-EPAREA.

         CALL METHOD CL_HR_T001P=>READ           EXPORTING             WERKS  = P0001-WERKS             BTRTL  = P0001-BTRTL           RECEIVING             T001P  = EPSUBAREATXT.

     MOVE EPSUBAREATXT-BTEXT TO WA_ALL-EPSAREA.     MOVE P0001-ABKRS TO WA_ALL-PAREA.ENDIF.     RP_PROVIDE_FROM_LAST P0000 SPACE PN-BEGDA PN-ENDDA.     IF PNP-SW-FOUND = 1.

     CALL METHOD CL_HR_T529U=>READ       EXPORTING        SPRSL  = SY-LANGU         STATN  = '2'         STATV  = P0000-STAT2       RECEIVING         T529U  = STATTXT.

    MOVE STATTXT-TEXT1 TO WA_ALL-ESTATUS.ENDIF.   RP_PROVIDE_FROM_LAST P0041 SPACE PN-BEGDA PN-ENDDA.       IF PNP-SW-FOUND = 1.    MOVE-CORRESPONDING p0041 to TY_DATE.

   DO 12 TIMES VARYING DATE FROM TY_DATE-DAR01 NEXT TY_DATE-DAR02              VARYING DATE1 FROM TY_DATE-DAT01 NEXT TY_DATE-DAT02.     IF DATE = '40'.       MOVE DATE1 TO WA_ALL-DATE.    ENDIF.    EXIT.    enddo.

Page 8: HRREPORT DOWNUPLOAD

    APPEND WA_ALL TO IT_ALL.    ENDIF.    ELSE.   RP_PROVIDE_FROM_LAST P0009 '0' PN-BEGDA PN-ENDDA.         IF PNP-SW-FOUND = 0.           RP_PROVIDE_FROM_LAST P0001 SPACE PN-BEGDA PN-ENDDA.     MOVE PERNR-PERNR TO WA_MIS-PERNR.     MOVE P0001-ENAME TO WA_MIS-ENAME.     APPEND WA_MIS TO IT_MIS.     ENDIF.     ENDIF.

END-OF-SELECTION.

     IF P_OUT1 = 'X'.        PERFORM BUILDFIELDCATALOG.        PERFORM DISPLAY_ALL.        PERFORM DOWNLOAD_ALL. ELSEIF P_OUT2 = 'X'.       PERFORM BUILDFIELDCATALOG1.       PERFORM DISPLAY_MIS.       PERFORM DOWNLOAD_MIS.ELSEIF P_OUT3 = 'X'.

      LOOP AT IT_ALL INTO WA_ALL .        IF WA_ALL-AEDTM IN S_AEDTM.           IF S_AEDTM[] IS NOT INITIAL.           MOVE-CORRESPONDING WA_ALL TO WA_CDATE.           APPEND WA_CDATE TO IT_CDATE.           ENDIF.           ENDIF.     ENDLOOP.

       PERFORM BUILDFIELDCATALOG2.       PERFORM DISPLAY_CDATE.       PERFORM DOWNLOAD_CDATE.

ELSE. P_UPLOAD = 'X' .PERFORM UPLOAD.

ENDIF.

*&---------------------------------------------------------------------**&      Form  BUILDFIELDCATALOG*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------*

Page 9: HRREPORT DOWNUPLOAD

*  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM BUILDFIELDCATALOG .FIELDCATALOG-FIELDNAME   = 'PERNR'.FIELDCATALOG-SELTEXT_M   = 'PERSONALNO'.FIELDCATALOG-OUTPUTLEN   = '10'.APPEND FIELDCATALOG TO FIELDCATALOG.CLEAR  FIELDCATALOG.

FIELDCATALOG-FIELDNAME   = 'ENAME'.FIELDCATALOG-SELTEXT_M   = 'EMPNAME'.FIELDCATALOG-OUTPUTLEN   = '10'.APPEND FIELDCATALOG TO FIELDCATALOG.CLEAR  FIELDCATALOG.

FIELDCATALOG-FIELDNAME   = 'ESTATUS'.FIELDCATALOG-SELTEXT_M   = 'EMPLOYEESTATUS'.FIELDCATALOG-OUTPUTLEN   = '15'.APPEND FIELDCATALOG TO FIELDCATALOG.CLEAR  FIELDCATALOG.

FIELDCATALOG-FIELDNAME   = 'DATE'.FIELDCATALOG-SELTEXT_M   = 'DATE'.FIELDCATALOG-OUTPUTLEN   = '10'.APPEND FIELDCATALOG TO FIELDCATALOG.CLEAR  FIELDCATALOG.

FIELDCATALOG-FIELDNAME   = 'EMPGRP'.FIELDCATALOG-SELTEXT_M   = 'EMPGROUP'.FIELDCATALOG-OUTPUTLEN   = '15'.APPEND FIELDCATALOG TO FIELDCATALOG.CLEAR  FIELDCATALOG.

FIELDCATALOG-FIELDNAME   = 'EMPSGRP'.FIELDCATALOG-SELTEXT_M   = 'EMPSUBGROUP'.FIELDCATALOG-OUTPUTLEN   = '10'.APPEND FIELDCATALOG TO FIELDCATALOG.CLEAR  FIELDCATALOG.

FIELDCATALOG-FIELDNAME   = 'EPAREA'.FIELDCATALOG-SELTEXT_M   = 'PERSONALAREA'.FIELDCATALOG-OUTPUTLEN   = '10'.APPEND FIELDCATALOG TO FIELDCATALOG.CLEAR  FIELDCATALOG.

FIELDCATALOG-FIELDNAME   = 'EPSAREA'.FIELDCATALOG-SELTEXT_M   = 'PERSUBAREA'.FIELDCATALOG-OUTPUTLEN   = '10'.

Page 10: HRREPORT DOWNUPLOAD

APPEND FIELDCATALOG TO FIELDCATALOG.CLEAR  FIELDCATALOG.

FIELDCATALOG-FIELDNAME   = 'PAREA'.FIELDCATALOG-SELTEXT_M   = 'PAYROLAREA'.FIELDCATALOG-OUTPUTLEN   = '10'.APPEND FIELDCATALOG TO FIELDCATALOG.CLEAR  FIELDCATALOG.

FIELDCATALOG-FIELDNAME   = 'BEGDA'.FIELDCATALOG-SELTEXT_M   = 'STARTDATE'.FIELDCATALOG-OUTPUTLEN   = '10'.APPEND FIELDCATALOG TO FIELDCATALOG.CLEAR  FIELDCATALOG.

FIELDCATALOG-FIELDNAME   = 'ENDDA'.FIELDCATALOG-SELTEXT_M   = 'ENDDATE'.FIELDCATALOG-OUTPUTLEN   = '10'.APPEND FIELDCATALOG TO FIELDCATALOG.CLEAR  FIELDCATALOG.

FIELDCATALOG-FIELDNAME   = 'BNKSA'.FIELDCATALOG-SELTEXT_M   = 'BANKDETAILS'.FIELDCATALOG-OUTPUTLEN   = '10'.APPEND FIELDCATALOG TO FIELDCATALOG.CLEAR  FIELDCATALOG.

FIELDCATALOG-FIELDNAME   = 'AEDTM'.FIELDCATALOG-SELTEXT_M   = 'CHANGEDDATE'.FIELDCATALOG-OUTPUTLEN   = '10'.APPEND FIELDCATALOG TO FIELDCATALOG.CLEAR  FIELDCATALOG.

FIELDCATALOG-FIELDNAME   = 'UNAME'.FIELDCATALOG-SELTEXT_M   = 'USERNAME'.FIELDCATALOG-OUTPUTLEN   = '10'.APPEND FIELDCATALOG TO FIELDCATALOG.CLEAR  FIELDCATALOG.FIELDCATALOG-FIELDNAME   = 'PAYMET'.FIELDCATALOG-SELTEXT_M   = 'PAYMENTMETHOD'.FIELDCATALOG-OUTPUTLEN   = '12'.APPEND FIELDCATALOG TO FIELDCATALOG.CLEAR  FIELDCATALOG.

FIELDCATALOG-FIELDNAME   = 'BNKCTRY'.FIELDCATALOG-SELTEXT_M   = 'BANKCOUNTRY '.FIELDCATALOG-OUTPUTLEN   = '10'.APPEND FIELDCATALOG TO FIELDCATALOG.CLEAR  FIELDCATALOG.

Page 11: HRREPORT DOWNUPLOAD

FIELDCATALOG-FIELDNAME   = 'BNKKEY'.FIELDCATALOG-SELTEXT_M   = 'BANKKEYS'.FIELDCATALOG-OUTPUTLEN   = '10'.APPEND FIELDCATALOG TO FIELDCATALOG.CLEAR  FIELDCATALOG.ENDFORM.                    " BUILDFIELDCATALOG*&---------------------------------------------------------------------**&      Form  DISPLAY_ALL*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM DISPLAY_ALL .

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'   EXPORTING

     I_CALLBACK_PROGRAM                = SY-CPROG

*     IS_LAYOUT                         =     IT_FIELDCAT                       = FIELDCATALOG[]*     I_DEFAULT                         = 'X'     I_SAVE                            = 'A'     IS_VARIANT                        = VARIANT*     IT_EVENTS                         =    TABLES      T_OUTTAB                          = IT_ALL   EXCEPTIONS     PROGRAM_ERROR                     = 1     OTHERS                            = 2            .

ENDFORM.                    " DISPLAY_ALL

FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMMRS_SELFIELD TYPE SLIS_SELFIELD. READ TABLE IT_ALL INTO WA_ALL INDEX rs_selfield-tabindex.  CASE r_ucomm.WHEN '&IC1'.       " single / double clickCASE rs_selfield-fieldname.

Page 12: HRREPORT DOWNUPLOAD

WHEN 'PERNR'.SET PARAMETER ID 'PER' FIELD WA_ALL-PERNR.CALL TRANSACTION 'PA20' .

ENDCASE.ENDCASE.ENDFORM.*&---------------------------------------------------------------------**&      Form  BUILDFIELDCATALOG1*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM BUILDFIELDCATALOG1 .

FIELDCATALOG1-FIELDNAME   = 'PERNR'.FIELDCATALOG1-SELTEXT_M   = 'PERSONALNO'.FIELDCATALOG1-OUTPUTLEN   = '10'.APPEND FIELDCATALOG1 TO FIELDCATALOG1.CLEAR  FIELDCATALOG1.

FIELDCATALOG1-FIELDNAME   = 'ENAME'.FIELDCATALOG1-SELTEXT_M   = 'EMPNAME'.FIELDCATALOG1-OUTPUTLEN   = '10'.APPEND FIELDCATALOG1 TO FIELDCATALOG1.CLEAR  FIELDCATALOG1.

ENDFORM.                    " BUILDFIELDCATALOG1*&---------------------------------------------------------------------**&      Form  DISPLAY_MIS*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM DISPLAY_MIS .CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING*   I_INTERFACE_CHECK                 = ' '*   I_BYPASSING_BUFFER                = ' '*   I_BUFFER_ACTIVE                   = ' '   I_CALLBACK_PROGRAM                =  SY-CPROG*   I_CALLBACK_PF_STATUS_SET          = ' '   I_CALLBACK_USER_COMMAND           = 'USER_COMMAND1'

   IT_FIELDCAT                       = FIELDCATALOG1[]

Page 13: HRREPORT DOWNUPLOAD

  TABLES    T_OUTTAB                          = IT_MIS EXCEPTIONS   PROGRAM_ERROR                     = 1   OTHERS                            = 2          .

ENDFORM.                    " DISPLAY_MIS

FORM USER_COMMAND1 USING R_UCOMM LIKE SY-UCOMMRS_SELFIELD TYPE SLIS_SELFIELD. READ TABLE IT_MIS INTO WA_MIS INDEX rs_selfield-tabindex.  CASE r_ucomm.WHEN '&IC1'.       " single / double clickCASE rs_selfield-fieldname.WHEN 'PERNR'.SET PARAMETER ID 'PER' FIELD WA_MIS-PERNR.CALL TRANSACTION 'PA30' .

ENDCASE.ENDCASE.ENDFORM.*&---------------------------------------------------------------------**&      Form  BUILDFIELDCATALOG2*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM BUILDFIELDCATALOG2 .FIELDCATALOG2-FIELDNAME   = 'PERNR'.FIELDCATALOG2-SELTEXT_M   = 'PERSONALNO'.FIELDCATALOG2-OUTPUTLEN   = '15'.APPEND FIELDCATALOG2 TO FIELDCATALOG2.CLEAR  FIELDCATALOG2.

FIELDCATALOG2-FIELDNAME   = 'BEGDA'.FIELDCATALOG2-SELTEXT_M   = 'STARTDATE'.FIELDCATALOG2-OUTPUTLEN   = '10'.APPEND FIELDCATALOG2 TO FIELDCATALOG2.CLEAR  FIELDCATALOG2.

FIELDCATALOG2-FIELDNAME   = 'ENDDA'.

Page 14: HRREPORT DOWNUPLOAD

FIELDCATALOG2-SELTEXT_M   = 'ENDDATE'.FIELDCATALOG2-OUTPUTLEN   = '10'.APPEND FIELDCATALOG2 TO FIELDCATALOG2.CLEAR  FIELDCATALOG2.

FIELDCATALOG2-FIELDNAME   = 'BNKSA'.FIELDCATALOG2-SELTEXT_M   = 'BANKDETAILS'.FIELDCATALOG2-OUTPUTLEN   = '15'.APPEND FIELDCATALOG2 TO FIELDCATALOG2.CLEAR  FIELDCATALOG.

FIELDCATALOG2-FIELDNAME   = 'AEDTM'.FIELDCATALOG2-SELTEXT_M   = 'CHANGEDDATE'.FIELDCATALOG2-OUTPUTLEN   = '15'.APPEND FIELDCATALOG2 TO FIELDCATALOG2.CLEAR  FIELDCATALOG2.

FIELDCATALOG2-FIELDNAME   = 'UNAME'.FIELDCATALOG2-SELTEXT_M   = 'USERNAME'.FIELDCATALOG2-OUTPUTLEN   = '10'.APPEND FIELDCATALOG2 TO FIELDCATALOG2.CLEAR  FIELDCATALOG2.

FIELDCATALOG2-FIELDNAME   = 'PAYMET'.FIELDCATALOG2-SELTEXT_M   = 'PAYMENTMETHOD'.FIELDCATALOG2-OUTPUTLEN   = '15'.APPEND FIELDCATALOG2 TO FIELDCATALOG2.CLEAR  FIELDCATALOG2.

FIELDCATALOG2-FIELDNAME   = 'BNKCTRY'.FIELDCATALOG2-SELTEXT_M   = 'BANKCTRY'.FIELDCATALOG2-OUTPUTLEN   = '10'.APPEND FIELDCATALOG2 TO FIELDCATALOG2.CLEAR  FIELDCATALOG2.FIELDCATALOG2-FIELDNAME   = 'BNKKEY'.FIELDCATALOG2-SELTEXT_M   = 'BANKKEY'.FIELDCATALOG2-OUTPUTLEN   = '10'.APPEND FIELDCATALOG2 TO FIELDCATALOG2.CLEAR  FIELDCATALOG2.ENDFORM.                    " BUILDFIELDCATALOG2*&---------------------------------------------------------------------**&      Form  DISPLAY_CDATE*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM DISPLAY_CDATE .

Page 15: HRREPORT DOWNUPLOAD

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING

   I_CALLBACK_PROGRAM                = SY-CPROG

  I_CALLBACK_USER_COMMAND           = 'USER_COMMAND3'   IT_FIELDCAT                       = FIELDCATALOG2[]   TABLES    T_OUTTAB                          = IT_CDATE EXCEPTIONS   PROGRAM_ERROR                     = 1   OTHERS                            = 2          .*

ENDFORM.                    " DISPLAY_CDATE

FORM USER_COMMAND3 USING R_UCOMM LIKE SY-UCOMMRS_SELFIELD TYPE SLIS_SELFIELD. READ TABLE IT_CDATE INTO WA_CDATE INDEX rs_selfield-tabindex.  CASE r_ucomm.WHEN '&IC1'.       " single / double clickSUBMIT RPUAUD00 VIA SELECTION-SCREEN        WITH PERSNR EQ WA_CDATE-PERNR        WITH INFTY EQ '0009'       WITH DATUM IN S_AEDTM        WITH LO_BLG EQ 'X'        WITH SH_BLG EQ 'X'        WITH EXPAND EQ 'X'        AND RETURN .

  ENDCASE.ENDFORM.*&---------------------------------------------------------------------**&      Form  UPLOAD*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM UPLOAD .

  CALL FUNCTION 'GUI_UPLOAD'  EXPORTING   FILENAME                      = UPLOAD   FILETYPE                      = 'ASC'   HAS_FIELD_SEPARATOR           = 'X'*   HEADER_LENGTH                 = 0

Page 16: HRREPORT DOWNUPLOAD

*   READ_BY_LINE                  = 'X'*   DAT_MODE                      = ' '*   CODEPAGE                      = ' '*   IGNORE_CERR                   = ABAP_TRUE*   REPLACEMENT                   = '#'*   CHECK_BOM                     = ' '*   VIRUS_SCAN_PROFILE            =*   NO_AUTH_CHECK                 = ' '* IMPORTING*   FILELENGTH                    =*   HEADER                        =  TABLES    DATA_TAB                      = IT_ALL EXCEPTIONS   FILE_OPEN_ERROR               = 1   FILE_READ_ERROR               = 2   NO_BATCH                      = 3   GUI_REFUSE_FILETRANSFER       = 4   INVALID_TYPE                  = 5   NO_AUTHORITY                  = 6   UNKNOWN_ERROR                 = 7   BAD_DATA_FORMAT               = 8   HEADER_NOT_ALLOWED            = 9   SEPARATOR_NOT_ALLOWED         = 10   HEADER_TOO_LONG               = 11   UNKNOWN_DP_ERROR              = 12   ACCESS_DENIED                 = 13   DP_OUT_OF_MEMORY              = 14   DISK_FULL                     = 15   DP_TIMEOUT                    = 16   OTHERS                        = 17          .IF SY-SUBRC = 0.MESSAGE 'DATA UPOADED SUCCESSFULLY' TYPE 'I'.ENDIF.

ENDFORM.                    " UPLOAD*&---------------------------------------------------------------------**&      Form  DOWNLOAD_ALL*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM DOWNLOAD_ALL .

  IF P_OUT1 = 'X' AND P_EMPALL IS NOT INITIAL.  Download = P_EMPALL.

Page 17: HRREPORT DOWNUPLOAD

  CALL FUNCTION 'GUI_DOWNLOAD'    EXPORTING*     BIN_FILESIZE                    =     FILENAME                        = DOWNLOAD     FILETYPE                        = 'ASC'*     APPEND                          = ' '     WRITE_FIELD_SEPARATOR           = 'X'*    TABLES      DATA_TAB                        = IT_ALL.

  IF SY-SUBRC = 0.    MESSAGE 'SUCCESSFULLY DOWNLOADED' TYPE 'I'.    ELSE.    MESSAGE 'DOWNLOAD UNSUCCESSFUL' TYPE 'I'.  ENDIF.

ENDIF.

ENDFORM.                    " DOWNLOAD_ALL*&---------------------------------------------------------------------**&      Form  DOWNLOAD_CDATE*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM DOWNLOAD_CDATE .

  IF P_OUT3 = 'X' AND P_ECDATE IS NOT INITIAL.  Download = P_ECDATE.  CALL FUNCTION 'GUI_DOWNLOAD'    EXPORTING*     BIN_FILESIZE                    =     FILENAME                        = DOWNLOAD     FILETYPE                        = 'ASC'*     APPEND                          = ' '     WRITE_FIELD_SEPARATOR           = 'X'*    TABLES      DATA_TAB                        = IT_CDATE.

  IF SY-SUBRC = 0.    MESSAGE 'SUCCESSFULLY DOWNLOADED' TYPE'I'.    ELSE.    MESSAGE 'DOWNLOAD UNSUCCESSFUL' TYPE 'I'.  ENDIF.   ENDIF.

Page 18: HRREPORT DOWNUPLOAD

ENDFORM.                    " DOWNLOAD_CDATE*&---------------------------------------------------------------------**&      Form  DOWNLOAD_MIS*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM DOWNLOAD_MIS .

  IF P_OUT2 = 'X' AND P_EMPMIS IS NOT INITIAL.  Download = P_EMPMIS.  CALL FUNCTION 'GUI_DOWNLOAD'    EXPORTING*     BIN_FILESIZE                    =     FILENAME                        = DOWNLOAD     FILETYPE                        = 'ASC'*     APPEND                          = ' '     WRITE_FIELD_SEPARATOR           = 'X'*    TABLES      DATA_TAB                        = IT_MIS.

  IF SY-SUBRC = 0.    MESSAGE 'SUCCESSFULLY DOWNLOADED' TYPE'I'.    ELSE.    MESSAGE 'DOWNLOAD UNSUCCESSFUL' TYPE 'I'.  ENDIF.  ENDIF.

ENDFORM.                    " DOWNLOAD_MIS