Monday, 9 November 2015

Employee Leave History Details in ABAP-HR

Employee Leave History Details in HR-ABAP

*USING /SDF/CMO_DATETIME_DIFFERENCE

REPORT  ZHR_D213_TIME.

TABLES PERNR.

DATA DAYS TYPE P.

TYPE-POOLS: SLIS.

DATA: ZES TYPE PC2B6 OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF ITAB OCCURS 0,
        D1(5)   TYPE C,
        D1P(10) TYPE C,
        D2(5)   TYPE C,
        D2P(10) TYPE C,
        D3(5)   TYPE C,
        D3P(10) TYPE C,
        D4(5)   TYPE C,
        D4P(10) TYPE C,
        D5(5)   TYPE C,
        D5P(10) TYPE C,
        D6(5)   TYPE C,
        D6P(10) TYPE C,
        D7(5)   TYPE C,
        D7P(10) TYPE C,
        D8(5)   TYPE C,
        D8P(10) TYPE C,
        D9(5)   TYPE C,
        D9P(10) TYPE C,
        D10(5)   TYPE C,
        D10P(10) TYPE C,
        D11(5)   TYPE C,
        D11P(10) TYPE C,
        D12(5)   TYPE C,
        D12P(10) TYPE C,
        D13(5)   TYPE C,
        D13P(10) TYPE C,
        D14(5)   TYPE C,
        D14P(10) TYPE C,
        D15(5)   TYPE C,
        D15P(10) TYPE C,
        D16(5)   TYPE C,
        D16P(10) TYPE C,
        D17(5)   TYPE C,
        D17P(10) TYPE C,
        D18(5)   TYPE C,
        D18P(10) TYPE C,
        D19(5)   TYPE C,
        D19P(10) TYPE C,
        D20(5)   TYPE C,
        D20P(10) TYPE C,
        D21(5)   TYPE C,
        D21P(10) TYPE C,
        D22(5)   TYPE C,
        D22P(10) TYPE C,
        D23(5)   TYPE C,
        D23P(10) TYPE C,
        D24(5)   TYPE C,
        D24P(10) TYPE C,
        D25(5)   TYPE C,
        D25P(10) TYPE C,
        D26(5)   TYPE C,
        D26P(10) TYPE C,
        D27(5)   TYPE C,
        D27P(10) TYPE C,
        D28(5)   TYPE C,
        D28P(10) TYPE C,
        D29(5)   TYPE C,
        D29P(10) TYPE C,
        D30(5)   TYPE C,
        D30P(10) TYPE C,
        D31(5)   TYPE C,
        D31P(10) TYPE C,
      END OF ITAB.

DATA: VAR(400) TYPE C,
      VAR3 TYPE STRING,
      VAR2 TYPE STRING,
      VAR4 TYPE STRING.

DATA: NUM TYPE I,
     NUM1 TYPE I.

DATA IT_FIELD TYPE SLIS_T_FIELDCAT_ALV.
DATA WA_FIELD TYPE SLIS_FIELDCAT_ALV.

DATA I_PNPPABRP TYPE I.

START-OF-SELECTION.

GET PERNR.

  CALL FUNCTION '/SDF/CMO_DATETIME_DIFFERENCE'
    EXPORTING
      DATE1                  = PN-BEGDA
      TIME1                  = '000000'
      DATE2                  = PN-ENDDA
      TIME2                  = '000000'
 IMPORTING
     DATEDIFF               = DAYS
*   TIMEDIFF               =
*   EARLIEST               =
* EXCEPTIONS
*   INVALID_DATETIME       = 1
*   OTHERS                 = 2
            .
  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 'HR_TIME_RESULTS_GET'
    EXPORTING
      GET_PERNR = PERNR-PERNR
      GET_PABRJ = PN-PABRJ
      GET_PABRP = PN-PABRP
    TABLES
      GET_ZES   = ZES.

  LOOP AT ZES WHERE ZTART = '0050' OR ZTART = '0020'.
    NUM1 = ZES-REDAY - NUM - 1.
    NUM = NUM + 1.
    IF ZES-REDAY NE NUM.
      DO NUM1 TIMES.
        VAR4 = NUM.
        IF NUM >= '23'.
         

    CONCATENATE VAR3  VAR4 'HOLIDAY' INTO VAR3 SEPARATED BY '@'.
        ELSE.
          CONCATENATE VAR VAR4 'HOLIDAY' INTO VAR SEPARATED BY '@'.
          CONDENSE VAR.
        ENDIF.
        NUM = NUM + 1.
      ENDDO.
    ENDIF.

    VAR2 = ZES-ANZHL.

    IF ZES-ZTART = '0020'.
      VAR2 = 'L'.
    ENDIF.

    IF ZES-REDAY >= '23'.
      CONCATENATE VAR3 ZES-REDAY VAR2 INTO VAR3 SEPARATED BY '@'.
    ELSE.
      CONCATENATE VAR ZES-REDAY VAR2 INTO VAR SEPARATED BY '@'.
      CONDENSE VAR.
    ENDIF.

    NUM = ZES-REDAY.
    CLEAR VAR2.
  ENDLOOP.

  CLEAR  ITAB.

  SPLIT VAR AT '@' INTO VAR2 ITAB-D1 ITAB-D1P ITAB-D2 ITAB-D2P
                             ITAB-D3 ITAB-D3P ITAB-D4 ITAB-D4P
                             ITAB-D5 ITAB-D5P ITAB-D6 ITAB-D6P
                             ITAB-D7 ITAB-D7P ITAB-D8 ITAB-D8P
                             ITAB-D9 ITAB-D9P ITAB-D10 ITAB-D10P
                             ITAB-D11 ITAB-D11P ITAB-D12 ITAB-D12P
                             ITAB-D13 ITAB-D13P ITAB-D14 ITAB-D14P
                             ITAB-D15 ITAB-D15P ITAB-D16 ITAB-D16P
                             ITAB-D17 ITAB-D17P ITAB-D18 ITAB-D18P
                             ITAB-D19 ITAB-D19P ITAB-D20 ITAB-D20P
                             ITAB-D21 ITAB-D21P ITAB-D22 ITAB-D22P.

  SPLIT VAR3 AT '@' INTO VAR3 ITAB-D23 ITAB-D23P ITAB-D24 ITAB-D24P
                               ITAB-D25 ITAB-D25P ITAB-D26 ITAB-D26P
                               ITAB-D27 ITAB-D27P ITAB-D28 ITAB-D28P
                               ITAB-D29 ITAB-D29P ITAB-D30 ITAB-D30P
                               ITAB-D31 ITAB-D31P.
  APPEND ITAB.

  DATA DD(4) TYPE C.
  DAYS = DAYS + 1.

DO DAYS TIMES.

  PERFORM FIELD USING DD 'DAY1'.
CONCATENATE 'D' DAYS INTO DD.
ENDDO.
*  PERFORM FIELD USING 'D1' 'DAY1'.
*  PERFORM FIELD USING 'D1P' 'HOURS'.
*
*  PERFORM FIELD USING 'D2' 'DAY2'.
*  PERFORM FIELD USING 'D2P' 'HOURS'.
*
*  PERFORM FIELD USING 'D3' 'DAY3'.
*  PERFORM FIELD USING 'D3P' 'HOURS'.
*
*  PERFORM FIELD USING 'D4' 'DAY4'.
*  PERFORM FIELD USING 'D4P' 'HOURS'.
*
*  PERFORM FIELD USING 'D5' 'DAY5'.
*  PERFORM FIELD USING 'D5P' 'HOURS'.
*
*  PERFORM FIELD USING 'D6' 'DAY6'.
*  PERFORM FIELD USING 'D6P' 'HOURS'.
*
*  PERFORM FIELD USING 'D7' 'DAY7'.
*  PERFORM FIELD USING 'D7P' 'HOURS'.
*  IF DAYS GT '07'.
*
*    PERFORM FIELD USING 'D8' 'DAY8'.
*    PERFORM FIELD USING 'D8P' 'HOURS'.
*
*    PERFORM FIELD USING 'D9' 'DAY9'.
*    PERFORM FIELD USING 'D9P' 'HOURS'.
*
*    PERFORM FIELD USING 'D10' 'DAY10'.
*    PERFORM FIELD USING 'D10P' 'HOURS'.
*
*    PERFORM FIELD USING 'D11' 'DAY11'.
*    PERFORM FIELD USING 'D11P' 'HOURS'.
*
*    PERFORM FIELD USING 'D12' 'DAY12'.
*    PERFORM FIELD USING 'D12P' 'HOURS'.
*
*    PERFORM FIELD USING 'D13' 'DAY13'.
*    PERFORM FIELD USING 'D13P' 'HOURS'.
*
*    PERFORM FIELD USING 'D14' 'DAY14'.
*    PERFORM FIELD USING 'D14P' 'HOURS'.
*
*    PERFORM FIELD USING 'D15' 'DAY15'.
*    PERFORM FIELD USING 'D15P' 'HOURS'.
*
*    PERFORM FIELD USING 'D16' 'DAY16'.
*    PERFORM FIELD USING 'D16P' 'HOURS'.
*
*    PERFORM FIELD USING 'D17' 'DAY17'.
*    PERFORM FIELD USING 'D17P' 'HOURS'.
*
*    PERFORM FIELD USING 'D18' 'DAY18'.
*    PERFORM FIELD USING 'D18P' 'HOURS'.
*
*    PERFORM FIELD USING 'D19' 'DAY19'.
*    PERFORM FIELD USING 'D19P' 'HOURS'.
*
*    PERFORM FIELD USING 'D20' 'DAY20'.
*    PERFORM FIELD USING 'D20P' 'HOURS'.
*
*    PERFORM FIELD USING 'D21' 'DAY21'.
*    PERFORM FIELD USING 'D21P' 'HOURS'.
*
*    PERFORM FIELD USING 'D22' 'DAY22'.
*    PERFORM FIELD USING 'D22P' 'HOURS'.
*
*    PERFORM FIELD USING 'D23' 'DAY23'.
*    PERFORM FIELD USING 'D23P' 'HOURS'.
*
*    PERFORM FIELD USING 'D24' 'DAY24'.
*    PERFORM FIELD USING 'D24P' 'HOURS'.
*
*    PERFORM FIELD USING 'D25' 'DAY25'.
*    PERFORM FIELD USING 'D25P' 'HOURS'.
*
*    PERFORM FIELD USING 'D26' 'DAY26'.
*    PERFORM FIELD USING 'D26P' 'HOURS'.
*
*    PERFORM FIELD USING 'D27' 'DAY27'.
*    PERFORM FIELD USING 'D27P' 'HOURS'.
*
*    PERFORM FIELD USING 'D28' 'DAY28'.
*    PERFORM FIELD USING 'D28P' 'HOURS'.
*    IF DAYS GT '27'.
*      PERFORM FIELD USING 'D29' 'DAY29'.
*      PERFORM FIELD USING 'D29P' 'HOURS'.
*
*      PERFORM FIELD USING 'D30' 'DAY30'.
*      PERFORM FIELD USING 'D30P' 'HOURS'.
*
*      IF DAYS GT '29'.
*
*        PERFORM FIELD USING 'D31' 'DAY31'.
*        PERFORM FIELD USING 'D31P' 'HOURS'.
*
*      ENDIF.
*    ENDIF.
*  ENDIF.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
*   I_INTERFACE_CHECK                 = ' '
*   I_BYPASSING_BUFFER                = ' '
*   I_BUFFER_ACTIVE                   = ' '
*   I_CALLBACK_PROGRAM                = ' '
*   I_CALLBACK_PF_STATUS_SET          = ' '
*   I_CALLBACK_USER_COMMAND           = ' '
*   I_CALLBACK_TOP_OF_PAGE            = ' '
*   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*   I_CALLBACK_HTML_END_OF_LIST       = ' '
*   I_STRUCTURE_NAME                  =
*   I_BACKGROUND_ID                   = ' '
*   I_GRID_TITLE                      =
*   I_GRID_SETTINGS                   =
*   IS_LAYOUT                         =
     IT_FIELDCAT                       = IT_FIELD
*   IT_EXCLUDING                      =
*   IT_SPECIAL_GROUPS                 =
*   IT_SORT                           =
*   IT_FILTER                         =
*   IS_SEL_HIDE                       =
*   I_DEFAULT                         = 'X'
*   I_SAVE                            = ' '
*   IS_VARIANT                        =
*   IT_EVENTS                         =
*   IT_EVENT_EXIT                     =
*   IS_PRINT                          =
*   IS_REPREP_ID                      =
*   I_SCREEN_START_COLUMN             = 0
*   I_SCREEN_START_LINE               = 0
*   I_SCREEN_END_COLUMN               = 0
*   I_SCREEN_END_LINE                 = 0
*   I_HTML_HEIGHT_TOP                 = 0
*   I_HTML_HEIGHT_END                 = 0
*   IT_ALV_GRAPHICS                   =
*   IT_HYPERLINK                      =
*   IT_ADD_FIELDCAT                   =
*   IT_EXCEPT_QINFO                   =
*   IR_SALV_FULLSCREEN_ADAPTER        =
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER           =
*   ES_EXIT_CAUSED_BY_USER            =
    TABLES
      T_OUTTAB                          = ITAB
* EXCEPTIONS
*   PROGRAM_ERROR                     = 1
*   OTHERS                            = 2
            .
  IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
*  LOOP AT ITAB .
*    WRITE:/ ITAB-D1, ITAB-D1P, ITAB-D2, ITAB-D2P,
*                             ITAB-D3, ITAB-D3P, ITAB-D4, ITAB-D4P,
*                             ITAB-D5, ITAB-D5P, ITAB-D6, ITAB-D6P,
*                             ITAB-D7, ITAB-D7P, ITAB-D8, ITAB-D8P,
*                             ITAB-D9, ITAB-D9P, ITAB-D10, ITAB-D10P,
*                             ITAB-D11, ITAB-D11P, ITAB-D12, ITAB-D12P,
*                             ITAB-D13, ITAB-D13P, ITAB-D14, ITAB-D14P,
*                             ITAB-D15, ITAB-D15P, ITAB-D16, ITAB-D16P,
*                             ITAB-D17, ITAB-D17P, ITAB-D18, ITAB-D18P,
*                             ITAB-D19, ITAB-D19P, ITAB-D20, ITAB-D20P,
*                             ITAB-D21, ITAB-D21P, ITAB-D22, ITAB-D22P,
*                             ITAB-D23, ITAB-D23P, ITAB-D24, ITAB-D24P,
*                             ITAB-D25, ITAB-D25P, ITAB-D26, ITAB-D26P,
*                             ITAB-D27, ITAB-D27P, ITAB-D28, ITAB-D28P,
*                             ITAB-D29, ITAB-D29P, ITAB-D30, ITAB-D30P,
*                             ITAB-D31, ITAB-D31P.
*
*  ENDLOOP.
*&---------------------------------------------------------------------*
*&      Form  FIELD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->FNAME      text
*      -->FDESC      text
*      -->TABNAME    text
*----------------------------------------------------------------------*

FORM FIELD USING FNAME
                 FDESC.

CONCATENATE 'DAY' DAYS INTO FDESC.

  WA_FIELD-FIELDNAME = FNAME.
  WA_FIELD-SELTEXT_L = FDESC.

  APPEND WA_FIELD TO IT_FIELD.
  CLEAR WA_FIELD.
ENDFORM.                    " FIELD

Monday, 1 September 2014

IDOC - idoc: Repair and check programs Basis - ALE Integration Technology
WE02 - Display idoc Basis - ALE Integration Technology
IDX2 - Meta Data Overview in idoc Adapter Basis - ALE Integration Technology
IDX1 - Port Maintenance in idoc Adapter Basis - ALE Integration Technology
WE30 - idoc Type Development Basis - ALE Integration Technology
WE05 - idoc Lists Basis - ALE Integration Technology
SXMB_MONI - Integration Engine - Monitoring Basis - Integration Engine
SM59 - RFC Destinations (Display/Maintain) Basis - RFC
SM58 - Asynchronous RFC Error Log Basis - RFC
WE20 - Partner Profiles Basis - ALE Integration Technology
WE19 - Test tool Basis - ALE Integration Technology
BD87 - Status Monitor for ALE Messages Basis - ALE Integration Technology
WE21 - Port definition Basis - ALE Integration Technology
WE31 - Development idoc Segment Basis - ALE Integration Technology
WE82 - Assign Messages for idoc Type Basis - ALE Integration Technology
RBDMIDOC - Variant for RBDMidoc Basis - ALE Integration Technology
IDX5 - idoc Adapter - Monitoring Basis - Integration Server
WTR1 - Request for Additionals idoc Logistics - Additionals Management
WE60 - Documentation for idoc types Basis - ALE Integration Technology
WE09 - Search for idocs by Content Basis - ALE Integration Technology
INOT - Create SM/PM Notification idoc PM - Plant Maintenance
BD59 - Allocation object type -> idoc type Basis - ALE Integration Technology
BD56 - Maintain idoc Segment Filters Basis - ALE Integration Technology
WE07 - idoc statistics Basis - ALE Integration Technology
WE06 - Active idoc monitoring Basis - ALE Integration Technology
BD79 - Maintain idoc Conversion Rules Basis - ALE Integration Technology
BD20 - idoc passed to application Basis - ALE Integration Technology
RSEIDOC2 - idoc List Basis - System Audit Information System


Read more: http://www.tcodesearch.com/tcodes/search?q=idoc#ixzz3C7u0ncTD






WE02 Display IDoc
WE05 IDoc Lists
WE06 Active IDoc monitoring
WE07 IDoc statistics
WE08 Status File Interface
WE09 Search for IDocs by Content
WE10 Search for IDoc in Archive
WE11 Delete IDocs
WE12 Test Modified Inbound File
WE14 Test Outbound Processing
WE15 Test Outbound Processing from MC
WE16 Test Inbound File
WE17 Test Status File
WE18 Generate Status File
WE19 Test tool
WE20 Partner Profiles
WE21 Port definition
WE23 Verification of IDoc processing
WE24 DefaultValuesForOutboundParameters
WE27 DefaultValues for Inbound Parameters
WE30 IDoc Type Development
WE31 Development IDoc Segment
WE32 Development IDoc View
WE34 Object for Display of XML IDocs
WE40 IDoc Administration
WE41 Process codes, outbound
WE42 Process codes, inbound
WE43 Funct.module: Status record display
WE44 Partner Types and Checks
WE45 Forward (inbound) (V3, EDILOGADR)
WE46 Error and Status Processing
WE47 Status Maintenance
WE50 System process codes: Texts
WE51 System process codes: Change texts
WE54 FMs for changing file names
WE55 Function Module for Path Names
WE56 IDoc Administration
WE57 Assignment Messages for Appl. Objs
WE58 Status process codes: Texts
WE59 Change status process codes
WE60 Documentation for IDoc types
WE61 Documentation for IDoc record types
WE62 Documentation for segments
WE63 Documentation
WE64 Documentation message types
WE70 Conversion: Basic types
WE71 Conversion: Extensions
WE72 Conversion: IDoc types
WE73 Conversion: Logical messages
WE81 Logical message types
WE82 Assign Messages for IDoc Type
WE84 Assignment of IDoc and appl. fields