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 BAsicSo 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,
PaulinaHi,
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
MVRHi 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,
PoornimaFor 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 SinghUse 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. -
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 advancePlease 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 PMThe 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
MNPlease, 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