ESI calculation for employee leaving on a mid of month

Hi,
Employee left org on 12 th  of month.
When i am calculating ESI it deducted on the basis of Actual ESI i mean Gross of full month, though it should be on gross of only those days when employee served the orgnisation, for 12 days in my case.
I made settings in table V_512w_d for all the wages of ESI basis.
Please suggest the remedies.
regards
Punit

Hi, Durga
I have already checked that the gross  is only for 12 days for those employee was present in the organisation and ESI should be  deducted accordingly but  practically ESI is being deducted for full month.
The basis for my  case is not /112 but /3EA ( The actual basis for ESI)
I think i need to make checks in Table T512W_D for ESI basis.
Pl suggest your experiences in this regards.
thanks in advance
Regds
Punit

Similar Messages

  • PF Calculation for Employee Joined After 15th of the month.

    Hi All,
    I have an issue with the PF calculation where the system is calculating the period the person worked in the month not the full period while running his payroll in the next month.
    Exmp: Basic Salary 10000, PF- 12%=1200
    Emp Joined on 18th of april 2011>>> Basic goes down to --4334 & PF is 520 where as the PF should have been 1200.
    The RT shows the following data.
    /3FA PF basis fo0101                                                 4.333,00
    /3FB PF Basis fo0101                                                 4.333,00
    Is there any rule through i can controll the Calculation on the actual BAsic

    So Vibin ,
    You mean to say that i should tell the client that its SAP standard Practice to Deduct on the Basic for which the employee has worked not on the actual of 10000.
    What are the legal aspect i can face for the same issue of deducting the full PF of 1200.
    IS ther any EXITS or PCRs available, i just checked "User Exit: Override Employer Pension Basis" but that is for Pension ,i dont think it will work for PF.
    Please guide.

  • ESI deduction for mid joining employees

    Hi Friends
    For an employee joined in 05th Feb, master data salary is Rs.14768.77 (sum of wagetypes considered for ESI calculation)  and the actual salary calculated is Rs.12941.43.
    For the purpose of ESI deduction the calculated salary is projected for the full month and arrived at Rs.15098.34 which is higher than ESI limit Rs. 15000.
    Is there any provision to avoid this calculation, since ESI not getting deducted for the first month and from Mar-14 onwards, ESI getting deducted normally.
    regards
    Raghu.

    Hi Raghu,
    Rs.14768.77-- is this ESI Basis(/112) for Feb 2014?
    Rs.12941.43-- what is this amount/wage type?
    Rs.15098.34-- what is this amount/wage type?
    Regards
    Dixit

  • Change infotypes end date when delete leaving action for employee

    Hello,
    I created new infotype and when employee leaves its end date is changed for leaving date.
    When leaving action is deleted ther is some least of infotypes that user can sign so the end date of selected infotypes will be changed to 31.12.9999. How can i add my infotipe to this list?
    Thank you,
    Paulina

    Hi,
    Maintain IT 0041 where in that table maintain employee start date of hiring and leaving date of employee bze in IT 0000 the dates will change as per action lets say if employee hire that date will be in IT 0000 action and if employee gets promotion date or leaving date that will store in IT 0000 by delimiting other actions
    So maintain IT 0041 where you can pull dates from there if you maintain
    End date will always be 31.12.9999 so check action start date you will get in sequence
    Thanks
    Edited by: Vibinsap on Mar 9, 2012 7:12 AM

  • PF calculation for that particular month

    Hi all
    An employee PF is deducted on basic.
    If an employee worked for u201Cxu201D company up to mid of the month say up to15th date (ex: 10.01.2005 joining date and 15.04.2008 is leaving from the company)
    And now he joined u201Cyu201D company on 16.04.2008 and has been working for that company up to 31.12.9999 (our sap hr terminology).
    My question is employee has to pay PF in both companies in that particular month April?
    Thanks & Regards
    MVR

    Hi shyam
    Thanks for ur quick responce.
    if that employee has 2 PF numbers then there is no problem (if i am not wrong)
    if employee has the one number there may be problem
    This is my idea.
    correct me if anything wrong
    MVR

  • Public Holiday calendar not to be taken into account for Sick Leave

    Dear All,
    I need help.
    Public Holiday calendar not to be taken into account for Sick Leave.
    Eg -When I employee applies for sick leave, the public holiday in between the dates shouldnt be considered. How can I configure this requirement.
    Please help.
    Regards,
    Poornima

    For that group, you need 2 counting rules:
    - one for Holiday Class 0 (not a public holiday) and Day Work Schedule Class 0 (not a working day)
    - one for Holiday Class 0 (not a public holiday) and Day Work Schedule Class 1 to 9 (a working day)
    If you want, you can add an other one or two for Holiday Class 1 to 9 (public holiday)
    extract from our T556C
    2       1   10 Q      10 Sick leave deduct from quotas (incl personal/spec) XXXXX   X  X    XXXXXXXXXX  XXXXXXXXX X X        XX XX    100.00  100.00              1     1       10              
    2       1   10 Q      11 Sick leave deduct from quotas (incl personal/spec) XXXXX   X  X    XXXXXXXXXX X          X X        XX XX      0.00    0.00              1     1       10              
    2       1   30 Q      10 Special leave with pay (with quotas deduction)     XXXXX   X  X    XXXXXXXXXX  XXXXXXXXX X X        XX XX    100.00  100.00              1     1       30              
    2       1   30 Q      11 Special leave with pay (with quotas deduction)     XXXXX   X  X    XXXXXXXXXX X          X X        XX XX      0.00    0.00              1     1       30

  • Function Module BAPI_ABSENCE_CREATE for creating leave request.

    Hi Experts,
    I am using FM BAPI_ABSENCE_CREATE for creating leave request. I am passing all the data into this as import parameter. When i am executing this return table gives statement  EPG184Employee/applicant is not locked yet
    Please let me know what i have to follow.
    Thanks And Regards
    Ranjeet Singh

    Use the below function modules in sequence
    1) HR_EMPLOYEE_ENQUEUE'
    2) BAPI_ABSENCE_CREATE
    3) HR_EMPLOYEE_DEQUEUE
    Functionality
    Using this method, an Absences infotype record (2001) can be created.
    Notes
    Messages are returned in the RETURN parameter. The parameter documentation contains the return codes and their meanings.
    The key fields used by this method are described under the parameters.
    This method can only be used if the ENQUEUE method has already been called up for the business object EMPLOYEE. For more information on the ENQUEUE method, please see the documentation on the function module BAPI_EMPLOYEE_ENQUEUE.
    Note: Create absence
    Caution! This API method only writes the Absences infotype (2001). It should no longer be used as it can lead to inconsistent time data. Instead, please use the corresponding 'ManageCreation' API method for business object BUS7007.
    Regards,
    SaiRam

  • Accrual Balance is not getting for particular leave

    on 11.5.10.2
    we have defined four leave in leave management system but on of the leave is not working properly in regards of getting accrual balance while using this function "per_accrual_calc_functions.get_net_accrual", although all plan getting balance but except one is not do this, how can we diagnose the problem for particular leave.
    Could you please advice.

    What is the problem? Is the leave balance zero when you don't expect it to be? Is the leave balance non-zero but calculating the wrong value? Or are you receiving an error message?
    Please provide as much detail as possible.

  • Employee leave details tables

    I'm new to HRMS and Payroll.
    Can any one help me with the employee leave detail tables
    In which table I can find the below details in R12
    Allowed sick / vacation / comp leave for each employee?
    How many days/hours remaining in sick / vacation / comp for each employee?
    Thanks in advance.

    Leave Balance is not stored directly in tables but derived using a formula. You have to create accrual plans to create leave accrual balances. Check HRMS guide to find out how you can set up accrual plans

  • Regarding HR-abap Attendence Sheet for Employee

    Hello Friends,
    i am working on attendence sheet for employee please help me possible send me sample coding ASAP.
    Thanks
    REDDY.

    Check out this report we have created for the Attendence. Reward points if it is useful.
    REPORT  ZHR_ATTENDANCE_RPT MESSAGE-ID ZHR.
                     T Y P E    P O O L S                                *
    TYPE-POOLS : SLIS.
                          T A B L E                                     *
    TABLES : TEVEN,
             PA0000,
             PA0001,
             T503K,
             T500P.
              I N T E R N A L   T A B L E   D E C L A R A T I O N        *
    DATA : BEGIN OF IT_PA0001 OCCURS 0,
           PERNR TYPE PA0001-PERNR,
           ENDDA TYPE PA0001-ENDDA,
           WERKS TYPE PA0001-WERKS,
           BTRTL TYPE PA0001-BTRTL,
           ORGEH TYPE PA0001-ORGEH,
           PERSK TYPE T503T-PERSK,
           ENAME TYPE PA0001-ENAME,
           END OF IT_PA0001.
    DATA : BEGIN OF IT_PA0000 OCCURS 0,
           PERNR TYPE PA0000-PERNR,
           END OF IT_PA0000.
    DATA : BEGIN OF IT_TEVEN OCCURS 0,
           PERNR TYPE TEVEN-PERNR,
           LDATE TYPE TEVEN-LDATE,
           LTIME TYPE TEVEN-LTIME,
           SATZA TYPE TEVEN-SATZA,
           END OF IT_TEVEN.
    DATA : IT_TEVEN1 LIKE IT_TEVEN OCCURS 0 WITH HEADER LINE.
    DATA : BEGIN OF IT_T527X OCCURS 0,
           ORGEH LIKE T527X-ORGEH,
           ORGTX LIKE T527X-ORGTX,
           END OF IT_T527X.
    DATA : BEGIN OF IT_T503T OCCURS 0,
           PERSK TYPE T503T-PERSK,
           PTEXT TYPE T503T-PTEXT,
           END OF IT_T503T.
    DATA : BEGIN OF IT_FINAL OCCURS 0,
           PERNR LIKE PA0001-PERNR,
           ENAME LIKE PA0001-ENAME,
           LDATE LIKE TEVEN-LDATE,
           TPROG LIKE PTPSP-TPROG,
           LTIMEI LIKE TEVEN-LTIME,
           LTIMEO LIKE TEVEN-LTIME,
           ORGTX LIKE T527X-ORGTX,
           PTEXT TYPE T503T-PTEXT,
           ATEXT TYPE ABWTXT,
           END OF IT_FINAL.
    DATA : IT_PTPSP LIKE PTPSP OCCURS 0 WITH HEADER LINE.
    *Table to get Holiday
    DATA : IT_ISCAL_DAY LIKE ISCAL_DAY OCCURS 0 WITH HEADER LINE.
    DATA : IT_T554T TYPE T554T OCCURS 0 WITH HEADER LINE.
    *ALV data declarations
    DATA: FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV,
          X_FIELDCATALOG TYPE SLIS_FIELDCAT_ALV,
          GD_LAYOUT    TYPE SLIS_LAYOUT_ALV,
          GD_REPID     LIKE SY-REPID.
    *For ALV Events
    DATA : IT_EVENT1 TYPE SLIS_T_EVENT.
    *For ALV Events
    DATA : IT_EVENT TYPE SLIS_ALV_EVENT.
    *For ALV top of page
    DATA : IT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
    *For top of page heading
    DATA : IT_LINE TYPE SLIS_LISTHEADER.
    Variables declaration                                         *
    DATA : V_SHIFT LIKE PTPSP-TPROG,
           V_TEMP TYPE I,
           V_DATE TYPE DATUM,
           V_LDATE TYPE SY-DATUM,
           V_MODIF TYPE HIDENT,
           V_SUBTY TYPE PA2002-SUBTY,
           V_ENDDA TYPE CHAR10.
    SELECTION SCREEN                                              *
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS : S_PERNR FOR TEVEN-PERNR,
                     S_DATE  FOR TEVEN-LDATE,
                     S_ORGEH FOR PA0001-ORGEH,
                     S_WERKS FOR PA0001-WERKS,
                     S_BTRTL FOR PA0001-BTRTL,
                     S_PERSK FOR PA0001-PERSK,
                     S_STAT2 FOR PA0000-STAT2.
    SELECTION-SCREEN END OF BLOCK B1.
               A T   S E L E C T I O N   S C R E E N                     *
    *validatating Selection Screen
    AT SELECTION-SCREEN ON S_PERNR.
    *Validate the User entered year
      PERFORM VALIDATE_PERNR.
    AT SELECTION-SCREEN ON S_DATE.
    *Validate the User entered date
      PERFORM VALIDATE_DATE_LOW.
    AT SELECTION-SCREEN ON S_ORGEH.
    *Validate the User entered year
      PERFORM VALIDATE_ORGEH.
    AT SELECTION-SCREEN ON S_PERSK.
    *Validate the User entered year
      PERFORM VALIDATE_PERSK.
    AT SELECTION-SCREEN ON S_WERKS.
    *Validate the User entered Personnel area
      PERFORM VALIDATE_WERKS.
    START OF SELECTION                                             *
    START-OF-SELECTION.
    *Get data
      PERFORM GET_DATA.
    *Process data
      PERFORM PROCESS_DATA.
                  E N D    O F     S E L E C T I O N                    *
    END-OF-SELECTION.
      PERFORM BUILD_FIELDCATALOG.
      PERFORM BUILD_LAYOUT.
    *For ALV Events
      PERFORM ALV_EVENTS.
      PERFORM DISPLAY_ALV_REPORT.
    *&      Form  VALIDATE_YEAR
          Validating the year
    FORM VALIDATE_PERNR .
      IF NOT S_PERNR IS INITIAL.
        SELECT SINGLE * FROM PA0001 WHERE PERNR IN S_PERNR.     "#EC *
        IF SY-SUBRC <> 0.
          MESSAGE E000 WITH 'Enter valid Employee Number'(002).
        ENDIF.
      ENDIF.
    ENDFORM.                    " VALIDATE_pernr
    *&      Form  VALIDATE_YEAR
          Validating the year
    FORM VALIDATE_ORGEH .
      DATA: V_ORGEH LIKE T527X-ORGEH.
      IF NOT S_ORGEH IS INITIAL.
        SELECT SINGLE ORGEH FROM T527X INTO V_ORGEH WHERE ORGEH IN S_ORGEH.
        IF SY-SUBRC <> 0.
          MESSAGE E000 WITH 'Enter Valid Organization Unit'(003).
        ENDIF.
      ENDIF.
    ENDFORM.                    " VALIDATE_orgeh
    *&      Form  GET_DATA
          Get data
    FORM GET_DATA.
      SELECT PERNR
             FROM PA0000
             INTO TABLE IT_PA0000
             WHERE PERNR IN S_PERNR
             AND   ENDDA GE S_DATE-LOW
             AND   BEGDA LE S_DATE-HIGH
             AND   STAT2 IN S_STAT2.
      IF SY-SUBRC = 0.
        DELETE ADJACENT DUPLICATES FROM IT_PA0000 COMPARING PERNR.
        SORT IT_PA0000.
      ENDIF.
      IF NOT IT_PA0000[] IS INITIAL.
        SELECT PERNR
               ENDDA
               WERKS
               BTRTL
               ORGEH
               PERSK
               ENAME
               FROM PA0001
               INTO TABLE IT_PA0001
               FOR ALL ENTRIES IN IT_PA0000
               WHERE PERNR = IT_PA0000-PERNR
               AND   ENDDA GE S_DATE-LOW
               AND   BEGDA LE S_DATE-HIGH
               AND   ORGEH IN S_ORGEH
               AND   WERKS IN S_WERKS
               AND   PERSK IN S_PERSK
               AND   BTRTL IN S_BTRTL.
        IF SY-SUBRC = 0.
          SORT IT_PA0001 BY PERNR ENDDA DESCENDING.
          DELETE ADJACENT DUPLICATES FROM IT_PA0001 COMPARING PERNR.
          SORT IT_PA0001 BY PERNR.
        ENDIF.
      ENDIF.
      IF NOT IT_PA0001[] IS INITIAL.
        SELECT PERNR
               LDATE
               LTIME
               SATZA
               FROM TEVEN
               INTO TABLE IT_TEVEN
               FOR ALL ENTRIES IN IT_PA0001
               WHERE PERNR = IT_PA0001-PERNR
               AND   SATZA = 'P10'
               AND   LDATE IN S_DATE
               AND   STOKZ NE 'X'.
        IF SY-SUBRC = 0.
          SORT IT_TEVEN BY PERNR LDATE.
        ENDIF.
      ENDIF.
      IF NOT IT_PA0001[] IS INITIAL.
        SELECT PERNR
               LDATE
               LTIME
               SATZA
               FROM TEVEN
               INTO TABLE IT_TEVEN1
               FOR ALL ENTRIES IN IT_PA0001
               WHERE PERNR = IT_PA0001-PERNR
               AND   SATZA = 'P20'
               AND   LDATE IN S_DATE
               AND   STOKZ NE 'X'.
        IF SY-SUBRC = 0.
          SORT IT_TEVEN1 BY PERNR LDATE.
        ENDIF.
      ENDIF.
      IF NOT IT_PA0001[] IS INITIAL.
        SELECT ORGEH
               ORGTX
               FROM T527X
               INTO TABLE IT_T527X
               FOR ALL ENTRIES IN IT_PA0001
               WHERE ORGEH = IT_PA0001-ORGEH.
        IF SY-SUBRC = 0.
          SORT IT_T527X BY ORGEH.
        ENDIF.
      ENDIF.
      IF NOT IT_PA0001[] IS INITIAL.
        SELECT PERSK
               PTEXT
               FROM T503T
               INTO TABLE IT_T503T
               FOR ALL ENTRIES IN IT_PA0001
               WHERE PERSK = IT_PA0001-PERSK
               AND   SPRSL = 'E'.
        IF SY-SUBRC = 0.
          SORT IT_T503T BY PERSK.
        ENDIF.
      ENDIF.
      SELECT *
             FROM T554T
             INTO TABLE IT_T554T
             WHERE SPRSL = 'EN'
             AND   MOABW = '40'.
    ENDFORM.                    " GET_DATA
    *&      Form  PROCESS_DATA
          Process data
    FORM PROCESS_DATA .
      V_TEMP = S_DATE-HIGH - S_DATE-LOW.
      V_TEMP = V_TEMP + 1.
      LOOP AT IT_PA0001.
        V_DATE = S_DATE-LOW.
        DO V_TEMP TIMES.
    *Get employee work schedule
          IF IT_PTPSP[] IS INITIAL.
            PERFORM GET_SCHEDULE.
          ENDIF.
    *Get holiday calendar
          IF IT_ISCAL_DAY[] IS INITIAL.
            PERFORM GET_HOLIDAY.
          ENDIF.
          CLEAR : V_SUBTY.
          SELECT SINGLE SUBTY
                        FROM PA2001
                        INTO V_SUBTY
                        WHERE PERNR = IT_PA0001-PERNR
                        AND   ENDDA GE V_DATE
                        AND   BEGDA LE V_DATE.
          IF SY-SUBRC = 0.
            READ TABLE IT_T554T WITH KEY AWART = V_SUBTY.
            IT_FINAL-ATEXT = IT_T554T-ATEXT.
          ENDIF.
          IF V_SUBTY IS INITIAL.
            SELECT SINGLE SUBTY
                          FROM PA2002
                          INTO V_SUBTY
                          WHERE PERNR = IT_PA0001-PERNR
                          AND   ENDDA GE V_DATE
                          AND   BEGDA LE V_DATE.
            IF SY-SUBRC = 0.
              IF V_SUBTY = '1000' OR V_SUBTY = '2000'.
                IT_FINAL-ATEXT = 'Training'.
              ELSEIF V_SUBTY = '3000'.
                IT_FINAL-ATEXT = 'Tour'.
              ENDIF.
            ENDIF.
          ENDIF.
    *Get the employee shift schedule for that date
          CLEAR : V_SHIFT.
          READ TABLE IT_PTPSP WITH KEY DATUM = V_DATE.
          IF SY-SUBRC = 0.
            V_SHIFT = IT_PTPSP-TPROG.
            IF IT_PTPSP-TAGTY = '1'.
              V_SHIFT = 'NOFF'.
            ENDIF.
          ENDIF.
          IF V_SHIFT = ''.
            CLEAR IT_FINAL.
            CONTINUE.
          ENDIF.
    *Check for holiday
          IT_FINAL-TPROG = V_SHIFT.
          READ TABLE IT_ISCAL_DAY WITH KEY DATE = V_DATE.
          IF SY-SUBRC = 0.
            IT_FINAL-TPROG = 'H'.
          ENDIF.
          IT_FINAL-PERNR = IT_PA0001-PERNR.
          IT_FINAL-ENAME = IT_PA0001-ENAME.
          IT_FINAL-LDATE = V_DATE.
    *To get the organization unit
          READ TABLE IT_T527X WITH KEY ORGEH = IT_PA0001-ORGEH
                                       BINARY SEARCH.
          IF SY-SUBRC = 0.
            IT_FINAL-ORGTX = IT_T527X-ORGTX.
          ENDIF.
          CLEAR IT_T503T.
          READ TABLE IT_T503T WITH KEY PERSK = IT_PA0001-PERSK
                                       BINARY SEARCH.
          IF SY-SUBRC = 0.
            IT_FINAL-PTEXT = IT_T503T-PTEXT.
          ENDIF.
    *To get Punch-in.
          READ TABLE IT_TEVEN WITH KEY PERNR = IT_PA0001-PERNR
                                       LDATE = V_DATE
                                       BINARY SEARCH.
          IF SY-SUBRC = 0.
            IT_FINAL-LTIMEI = IT_TEVEN-LTIME.
    *To get Punch-out
            READ TABLE IT_TEVEN1 WITH KEY PERNR = IT_TEVEN-PERNR
                                          LDATE = IT_TEVEN-LDATE
                                          BINARY SEARCH.
            IF SY-SUBRC = 0.
              IF IT_TEVEN1-LTIME > IT_FINAL-LTIMEI.
                IT_FINAL-LTIMEO = IT_TEVEN1-LTIME.
              ELSE.
                SELECT SINGLE LTIME
                              FROM TEVEN
                              INTO IT_FINAL-LTIMEO
                              WHERE PERNR = IT_TEVEN-PERNR
                              AND   LDATE = IT_TEVEN-LDATE
                              AND   LTIME > IT_TEVEN1-LTIME
                              AND   SATZA = 'P20'
                              AND   STOKZ NE 'X'.
              ENDIF.
            ENDIF.
            IF IT_FINAL-LTIMEO IS INITIAL.
              IF V_SHIFT = 'NNIG' OR V_SHIFT = 'NAFT'..
                V_LDATE = IT_TEVEN-LDATE + 1.
                READ TABLE IT_TEVEN1 WITH KEY PERNR = IT_TEVEN-PERNR
                                              LDATE =  V_LDATE
                                              BINARY SEARCH.
                IF SY-SUBRC = 0.
                  IT_FINAL-LTIMEO = IT_TEVEN1-LTIME.
                ENDIF.
              ENDIF.
            ENDIF.
            APPEND IT_FINAL.
          ELSE.
    *If holiday or OFF or Tour or Absent
            IF V_SHIFT = 'NOFF' OR IT_FINAL-TPROG = 'H' .
              APPEND IT_FINAL.
            ELSEIF IT_FINAL-ATEXT IS NOT INITIAL.
              APPEND IT_FINAL.
            ELSE.
              IT_FINAL-ATEXT = 'Absent'.
              APPEND IT_FINAL.
            ENDIF.
          ENDIF.
          CLEAR : IT_FINAL.
          V_DATE = V_DATE + 1.
        ENDDO.
        CLEAR : IT_PTPSP[],
                IT_ISCAL_DAY[].
      ENDLOOP.
      SORT IT_FINAL BY PERNR LDATE.
      LOOP AT IT_FINAL.
        TRANSLATE IT_FINAL-ATEXT TO UPPER CASE.
        MODIFY IT_FINAL INDEX SY-TABIX.
      ENDLOOP.
    ENDFORM.                    " PROCESS_DATA
    *&      Form  GET_SCHEDULE
          Get employee work schedule
    FORM GET_SCHEDULE.
      CALL FUNCTION 'HR_PERSONAL_WORK_SCHEDULE'
        EXPORTING
          PERNR         = IT_PA0001-PERNR
          BEGDA         = S_DATE-LOW
          ENDDA         = S_DATE-HIGH
        TABLES
          PERWS         = IT_PTPSP
        EXCEPTIONS
          ERROR_OCCURED = 1
          ABORT_OCCURED = 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.
    ENDFORM.                    " GET_SCHEDULE
    *&      Form  build_fieldcatalog
    FORM BUILD_FIELDCATALOG .
      X_FIELDCATALOG-COL_POS     = 1.
      X_FIELDCATALOG-FIELDNAME   = 'PERNR'.
      X_FIELDCATALOG-SELTEXT_L   = 'Personnel No'(006).
      X_FIELDCATALOG-DDICTXT = 'L'.
      APPEND X_FIELDCATALOG TO FIELDCATALOG.
      CLEAR  X_FIELDCATALOG.
      X_FIELDCATALOG-COL_POS     = 2.
      X_FIELDCATALOG-FIELDNAME   = 'ENAME'.
      X_FIELDCATALOG-SELTEXT_L   = 'Employee Name'(007).
      X_FIELDCATALOG-DDICTXT = 'L'.
      APPEND X_FIELDCATALOG TO FIELDCATALOG.
      CLEAR  X_FIELDCATALOG.
      X_FIELDCATALOG-COL_POS     = 5.
      X_FIELDCATALOG-FIELDNAME   = 'LDATE'.
      X_FIELDCATALOG-SELTEXT_L   = 'Date'(008).
      X_FIELDCATALOG-DDICTXT = 'L'.
      APPEND X_FIELDCATALOG TO FIELDCATALOG.
      CLEAR  X_FIELDCATALOG.
      X_FIELDCATALOG-COL_POS     = 6.
      X_FIELDCATALOG-FIELDNAME   = 'TPROG'.
      X_FIELDCATALOG-SELTEXT_L   = 'Planned Shift'(009).
      X_FIELDCATALOG-DDICTXT = 'L'.
      APPEND X_FIELDCATALOG TO FIELDCATALOG.
      CLEAR  X_FIELDCATALOG.
      X_FIELDCATALOG-COL_POS     = 7.
      X_FIELDCATALOG-FIELDNAME   = 'LTIMEI'.
      X_FIELDCATALOG-SELTEXT_L   = 'Attended Time-In'(010).
      X_FIELDCATALOG-DDICTXT = 'L'.
      APPEND X_FIELDCATALOG TO FIELDCATALOG.
      CLEAR  X_FIELDCATALOG.
      X_FIELDCATALOG-COL_POS     = 8.
      X_FIELDCATALOG-FIELDNAME   = 'LTIMEO'.
      X_FIELDCATALOG-SELTEXT_L   = 'Attended Time-Out'(011).
      X_FIELDCATALOG-DDICTXT = 'L'.
      APPEND X_FIELDCATALOG TO FIELDCATALOG.
      CLEAR  X_FIELDCATALOG.
      X_FIELDCATALOG-COL_POS     = 3.
      X_FIELDCATALOG-FIELDNAME   = 'ORGTX'.
      X_FIELDCATALOG-SELTEXT_L   = 'Organization Unit'(005).
      X_FIELDCATALOG-DDICTXT = 'L'.
      APPEND X_FIELDCATALOG TO FIELDCATALOG.
      CLEAR  X_FIELDCATALOG.
      X_FIELDCATALOG-COL_POS     = 4.
      X_FIELDCATALOG-FIELDNAME   = 'PTEXT'.
      X_FIELDCATALOG-SELTEXT_L   = 'Emp Subgroup'(016).
      X_FIELDCATALOG-DDICTXT = 'L'.
      APPEND X_FIELDCATALOG TO FIELDCATALOG.
      CLEAR  X_FIELDCATALOG.
      X_FIELDCATALOG-COL_POS     = 9.
      X_FIELDCATALOG-FIELDNAME   = 'ATEXT'.
      X_FIELDCATALOG-SELTEXT_L   = 'Leaves/Tours'(015).
      X_FIELDCATALOG-DDICTXT = 'L'.
      X_FIELDCATALOG-OUTPUTLEN = '25'.
      APPEND X_FIELDCATALOG TO FIELDCATALOG.
      CLEAR  X_FIELDCATALOG.
    ENDFORM.                    " build_fieldcatalog
    *&      Form  build_layout
    FORM BUILD_LAYOUT.
      GD_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
      GD_LAYOUT-ZEBRA = 'X'.
    ENDFORM.                    " build_layout
    *&      Form  ALV_EVENTS
          For ALV Events
    FORM ALV_EVENTS .
      IT_EVENT-NAME = 'TOP_OF_PAGE'.
      IT_EVENT-FORM = 'TOP_OF_PAGE'.
      APPEND IT_EVENT TO IT_EVENT1.
    ENDFORM.                    " ALV_EVENTS
    *&      Form TOP_OF_PAGE
          ALV TOP-OF-PAGE
    FORM TOP_OF_PAGE.                                           "#EC CALLED
      REFRESH : IT_LIST_TOP_OF_PAGE.
      CLEAR : IT_LINE.
      IT_LINE-TYP  = 'H'.
      IT_LINE-INFO = 'Attendance Report for the Period'(013).
      APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
      CONCATENATE S_DATE-LOW6(2) '.' S_DATE-LOW4(2) '.' S_DATE-LOW+0(4)
           INTO IT_LINE-INFO.
      CONCATENATE S_DATE-HIGH6(2) '.'  S_DATE-HIGH4(2) '.' S_DATE-HIGH+0(4) INTO V_ENDDA.
      CONCATENATE IT_LINE-INFO '-' V_ENDDA INTO IT_LINE-INFO SEPARATED BY SPACE.
      APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY = IT_LIST_TOP_OF_PAGE.
    ENDFORM.                               "TOP_OF_PAGE
    *&      Form  display_alv_report
    FORM DISPLAY_ALV_REPORT.
      GD_REPID = SY-REPID.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM = GD_REPID
          IT_EVENTS          = IT_EVENT1
          IS_LAYOUT          = GD_LAYOUT
          IT_FIELDCAT        = FIELDCATALOG
        TABLES
          T_OUTTAB           = IT_FINAL
        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.
    ENDFORM.                    "display_alv_report
    *&      Form  VALIDATE_PERSK
          text
    -->  p1        text
    <--  p2        text
    FORM VALIDATE_PERSK .
      IF NOT S_PERSK IS INITIAL.
        SELECT SINGLE * FROM T503K WHERE PERSK IN S_PERSK.      "#EC *
        IF SY-SUBRC <> 0.
          MESSAGE E000 WITH 'Enter valid Employee subgroup'(012).
        ENDIF.
      ENDIF.
    ENDFORM.                    " VALIDATE_PERSK
    *&      Form  VALIDATE_WERKS
          Validate user Entered Personnel area
    FORM VALIDATE_WERKS .
      IF S_WERKS[] IS NOT INITIAL.
        SELECT SINGLE * FROM T500P WHERE PERSA IN S_WERKS.
        IF SY-SUBRC <> 0.
          MESSAGE E000 WITH 'Enter valid Personnel Area'(014).
        ENDIF.
      ENDIF.
    ENDFORM.                    " VALIDATE_WERKS
    *&      Form  VALIDATE_DATE_LOW
          Validate user Entered Date
    FORM VALIDATE_DATE_LOW .
      IF S_DATE-LOW IS INITIAL.
        MESSAGE E000 WITH 'Enter Date'(004).
      ENDIF.
      IF S_DATE-HIGH IS INITIAL.
        MESSAGE E000 WITH 'Enter Date'(004).
      ENDIF.
    ENDFORM.                    " VALIDATE_DATE_LOW
    *&      Form  GET_HOLIDAY
            Get Holiday
    FORM GET_HOLIDAY .
      CLEAR V_MODIF.
      SELECT SINGLE MOFID
                    FROM T001P
                    INTO V_MODIF
                    WHERE WERKS = IT_PA0001-WERKS
                    AND   BTRTL = IT_PA0001-BTRTL.
      CALL FUNCTION 'HOLIDAY_GET'
        EXPORTING
          HOLIDAY_CALENDAR           = V_MODIF
          DATE_FROM                  = S_DATE-LOW
          DATE_TO                    = S_DATE-HIGH
        TABLES
          HOLIDAYS                   = IT_ISCAL_DAY
        EXCEPTIONS
          FACTORY_CALENDAR_NOT_FOUND = 1
          HOLIDAY_CALENDAR_NOT_FOUND = 2
          DATE_HAS_INVALID_FORMAT    = 3
          DATE_INCONSISTENCY         = 4
          OTHERS                     = 5.
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " GET_HOLIDAY
    Reward points if useful.

  • Eligibility Amount for HRA/CLA/COA is zero for employee 2

    Hi expert,
    HRA  is not calculating properly, in IT581 eligibility value is calculated as zero.
    If suppose if I am changing this Rent amount to 10000, I am gettiing this error message
    Eligibility Amount for HRA/CLA/COA is zero for employee 2324 on 01.04.2011. employee hiring date is 01.07.2009.
    Thanks in advance

    Please find the HRA calculation
      BEGDA      ENDDA   ACC     BASIS         ELIGI         RENT          DIFF
    01112011   30112011   1     22,000.00     11,000.00     10,000.00          0.00
    Finding the Rent for HRA/CLA/COA in the Financial year and the no. of days for HRA/CLA/COA in coming months
      BEGDA      ENDDA   ACC     RENTFY        TOTMONS
    01042011   31032012   1    120,000.00    4.00000E+00
    Finding the annual basis
    Elig (Annual) = Elig(YTD) + Elig (Curr Mon) + Proj Months * Latest Value
    Basis (Annual) = Basis(YTD) + Basis (Curr Mon) + Proj Months * Latest Value
    Non Metro HRA Elig
             129,000.00 =  74,000.00 +  11,000.00 +    4.00E+00 *  11,000.00
    Non Metro HRA Basis
             269,880.00 = 159,880.00 +  22,000.00 +       0.00 +    4.00E+00 *  22,000.00
    Find the annual payments and add to the CLA/COA basis to get Total Basis for the year.
    Basis = Basis + { /134(CRT) + /134(RT) - /133(RT)}  / Total No of Months * CLA/COA Months
    Finding HRA Exemption for METRO and NON-METRO
    Non-Metro HRA Exemption is       0.00
    the minimum of the following three
    107,952.00 =      40.00 * 269,880.00 /     100.00
    129,000.00
      93,012.00 = 120,000.00 - {      10.00 * 269,880.00 / 129,000.00
    Finding Perk value for CLA/COA
    Total HRA Exemption =  93,012.00
    total amount suppose to be   94,200/-
    Please help me to resolve this issue
    Edited by: sheeba01 on Jan 2, 2012 11:26 AM

  • Massive data input for employees Transaction

    Hi experts!
    I need to perform a massive data input for employees. Iu2018ve tried with de Tx PA71 u2013 Fast entry of Time Data - but It needs a document or a manual preselecting.
    Its necessary selecting ranges of personnel number in order to perform a massive data input for employees as a salary benefit or bonus for a group of employees.
    Do you know that kind of transaction?
    Thanks in advanced!

    Hi ,
    You could also use T Code : SCAT/SCEM  for mass upload or deload.
    You may use below method to create SCAT in ECC (This is not a Direct method)
    1) Run transaction SCEM
    2) Enter a CATT name
    3) Click on change, prompt appears saying it doesn't exist, do you want to
    create. Click yes.
    4) Enter the TCODE to record.
    5) Execute the TCODE and save data.
    6) Back out. Click End and copy button.
    7) Double-click the TCD on the left side of screen
    8) Click F5 or Field Inputs Variants
    9) Use black down-arrow to step through screens.
    10) Double click on fields to set variables. (SAP adds leading & to each
    variable name).
    11) Save and back out.
    12) Go to menu path Environment --> Extended CATT.
    13) Click change and change type from (M) Manual Test Case to (C) CATT.
    14) Assign component.
    15) Click save. Back out.
    16) Execute SCAT and Go to --> Variants --> Export Default and save as text
    file.
    17) Edit file with new test data.
    18) Execute CATT.
    After step 6 you can also leave SCEM and run SCAT and perform the
    parameterization there as usual.
    Hope this helps.
    Inputs for Neeraj.

  • To implement new value for sick leave

    hi
    i need to change sick leave(SICK_LEAVE_FULL_PAY_DAYS ) for employees from 6 to 15 ie from 1-march-2010 every employee has to get 15 days sick leave
    for example an employee A has to get sick leaves based on 6 days sick leave for the month of JAN and FEB as well as from march onwards sick leave based on 15 days
    ie say an employee joined on 2nd jan 2010
    his sick leave would be ------sick leave based on 6 days for jan ,feb+sick leave based on 15 days from march onwards
      GLOBAL VALUES DEFINED IN ERP IN UK HRMS-TOTAL COMPENSATION-GLOBAL VALUES ie opening GLOBALS window
      NAME                              DESCRIPTION                                                    TYPE          VALUE    (EFFECTIVE DATES )from DATE   to date
    SICK_LEAVE_25_PERCENT_PAY_DAYS    25% Paid Sick Leave Days Slab                                  Number        24                      01-JAN-1990
    SICK_LEAVE_50_PERCENT_PAY_DAYS    50% Paid Sick Leave Days Slab                                  Number        18                      01-JAN-1990
    SICK_LEAVE_75_PERCENT_PAY_DAYS    75% Paid Sick Leave Days Slab                                  Number        12                      01-JAN-1990
    SICK_LEAVE_DEDUCTIBLE_SLAB1       Sick Leave Deductible Percentage For The First 6 Days          Number         0                        01-JAN-1990
    SICK_LEAVE_DEDUCTIBLE_SLAB2       Sick Leave Deductible Percentage For The Next 6 Days         Number        25                        01-JAN-1990
    SICK_LEAVE_DEDUCTIBLE_SLAB3       Sick Leave Deductible Percentage For The Third  6 Days        Number        50                         01-JAN-1990
    SICK_LEAVE_DEDUCTIBLE_SLAB4       Sick Leave Deductible Percentage For The Fourth 6 Days      Number        75                         01-JAN-1990
    SICK_LEAVE_DEDUCTIBLE_SLAB5       Sick Leave Deductible Percentage Beyond 24 Days              Number        100                        01-JAN-1990
    SICK_LEAVE_FULL_PAY_DAYS          Fully Paid Sick Leave Days Slab                               Number          6                          01-JAN-1990
    SICK_LEAVE_NO_PAY_DAYS              0% Paid Sick Leave Days Slab                               Number         30                          01-JAN-1990could someone pls guide me ,can i change manually in the globals window the value 6 to 15 (needed value)
    thanking in advance
    Edited by: makdutakdu on Sep 15, 2010 2:01 PM
    Edited by: makdutakdu on Sep 15, 2010 2:02 PM
    Edited by: makdutakdu on Sep 15, 2010 2:03 PM
    Edited by: makdutakdu on Sep 15, 2010 2:04 PM
    Edited by: makdutakdu on Sep 15, 2010 2:06 PM
    Edited by: makdutakdu on Sep 15, 2010 2:06 PM
    Edited by: makdutakdu on Sep 15, 2010 2:07 PM
    Edited by: makdutakdu on Sep 15, 2010 2:07 PM
    Edited by: makdutakdu on Sep 15, 2010 2:08 PM
    Edited by: makdutakdu on Sep 15, 2010 2:16 PM

    The jar command's -u option is about as easy as I know.
    See the jar command documentation for the details.

  • CCP deductions for employee turning 18 during tax year

    Can someone confirm how CPP should be calculated for an employee who turns 18 during a given year?  SAP appears to calculate Number of accountable months / 12, for example and employee turns 18 in June so Mamimum contribution for the year is reduced by a factor of .5 (50%).  CRA is telling our payroll department the calculation should reduce the Annual basic exemption before doing the calculation, not the Maximum contribution.

    Hello,
    Even Annual Basic also it is taking only 50% if the employee is turing 18 in June. I have done simulation run for test employee
    Partial Pay Period:... 07/01/2011 - 07/31/2011
    Calculation of CPP contribution
    Annual basic exemption ......................           3500.000 CAD
    Number of pay periods within the year .......  /          12.000
    Basic exemption for the pay period ..........            291.667 CAD
    Pensionable earnings for the pay period .....           3443.180 CAD
    Basic exemption for the pay period ..........  -         291.667 CAD
    Base for calculation ........................           3151.513 CAD
    CPP/QPP contribution rate ...................  *           0.050
    CPP/QPP contribution before limit check .....            156.000 CAD
    CPP/QPP contribution, YTD ...................  +           0.000 CAD
    ............................................            156.000 CAD
    Maximum CPP/QPP contribution for the year ...           2217.600 CAD
    Maximum contribution for the year ...........           2217.600 CAD
    Number of accountable months / 12 ...........  *           0.500
    Maximum contribution after pro-ratio ........           1108.800 CAD
    CPP/QPP contribution for the pay period .....            156.000 CAD
    Basic exemption for month is 291.667 start from July, So for remaining 6 months basic exemption employee gets is 6*291.667 = 1750 which is 50% of Annual Basic Exemption. System is calculating correctly as per CRA requirement. Kindly check in your system.
    With Regards,
    S.Karthik

  • Customizing for Employee Does Not Exist

    Whilst trying to create a Leave Request in ESS, the following warning message appears "customizing for employee 01000000 does not exist".
    Does anyone know why this is happening?
    Thanks
    MN

    Please, could you tell me how did you resolve it??
    Thank you

Maybe you are looking for

  • TABLE - How to set the row in the table

    I have a problem where I have a selection on one view and then call a second view to display the results in a table. The table displays 5 rows. I then go down to the 20th row and select the row. When I have finished processing, I still have row 20 se

  • Lookup in MS Access not working

    I have three tables in my MS Access 1) Employee : having field as - Name , person id 2) Payudds : udds(number) 3) employeeuddslink : contains to lookup fields id (look upto name in employee table and pay (look up to udds in payudds table) When I save

  • SCCM 2012 R2 install client error

    I have installed SCCM 2012 R2 on server 2008 R2. I tried to deploy the SCCM client to a pc. Below is the error i get from the log file of the PC <![LOG[==========[ ccmsetup started in process 2892 ]==========]LOG]!><time="12:21:29.817-120" date="04-1

  • E63 equalizer not working in 400.21.013 software v...

    My e63 had software version number 100.xx.xx when I first bought it and the music equalizer worked well then I updared it to version 200.xx.xx and the equalizer stopped working in headphones.then when the version 400.21.013 was out I thought the equa

  • Undeploying BPEL Process with ant

    Hello, I am trying to undeploy BPEL Process with the ANT Script. I did not wrote it by myself but got it as a sample from http://blogs.oracle.com/rammenon/2007/11/26/#a74 with the admintasks.jar as well. Unfortunately, when I try to undeploy , I reci