HRMS Employee's Absence (Leave) Accrual Days
Hello,
I have implemented Oracle Global HRMS. I have created reports for leave balances and I need to show the current accrual for leave balances. The path for the leave value is:- On the People window, click on others, then select absence, Select Annual Leave for the type field then click on the Accruals button, then select the End of Plan tab, the leave balance value is stored in the PROJECT ENTITLEMENT field. I need to display that field on my report but Im unable to find it on the table which it is related to.
Can anyone please help me out with this as soon as possible...
Thanking you in advance,
Tasneem.
Hi,
I was referring to the accrual bands button only. So if you cannot find any values under accrual bands button, then tell us what is the accrual formula your are using. Open the accrual formula to see from where it takes the entitlement value. If no value is found in accrual bands button, then the value should either be hard coded inside the formula (very unlikely) or it would have defined in user tables (Other Definitons > Table Values). From where it picks the entitlement value depends upon the type of accrual formula you use.
Regards.
KK
Similar Messages
-
Absence Quota Accruals from days to hrs
Hi Guys,
I need to change the Absence Quota Accruals process in SAP ERP ECC 6.0 system from Accruing time in days to hours. All necessary configuration changes are to be made in the development system (including Time and Payroll Schema changes for absence quota accrual, year-end transfer of unused balance and payout) and upon approval be transported and tested to the Quality Assurance system and Production. All past historic/archive transactions and records must be changed and reflect the absence quotas in hours.
Pls. let me know the steps for doing the same.
Tnx
SKRGo to the table V_T556A and change days to hours for your quota.
Ccheck the deduction rule attached to the absence(which is related to quota) and change the units to hours.
You may have to run the time evaluation in the update mode from the retro date (past date).But I wouldn't suggest you to run the time eval from the past date untill it is tested regurously in the QA system,because retroing may cause some issues. -
Employee cant take leaves same date
Hi,
How to restick that employee cant take leaves same date .Hi,
We can do this by following configuration .
In SPRO transaction by following path.
Personnel Management Personnel Administration Personnel Data Employee self service Service Specific settings Working Times Leave Request Processing Process Define processing Processes for Each Rule Group.
In "Take Account of Ongoing request"
Tick mark on "Check includes Unposted Requests". -
Employee master Absence record
Hello freind
I want to know about employee master form
i want to create as like absence button in my form. for that i want to open one form which has matrix on button as like in employee master absence button for that i want to know
(1) is absence form table is master row table of employee master
(2)is it yes then how sap update on absence form
if yu have any solution for that than pls help me for thati am find the solution
-
Get all Iso Weeks when an employee had at least 5 days holliday
Hi all,
I'm trying to query to get all Iso Weeks (Calendar weeks) when an employee had at least 5 days hollidays.
select HOLLIDAY_FROM,HOLLIDAY_TILL,to_char(HOLLIDAY_FROM,'iw') from_week,to_char(HOLLIDAY_TILL,'iw') till_week from HOLLIDAY;
HOLLIDAY_FROM HOLLIDAY_TILL FR TI
12-SEP-11 26-SEP-11 37 39
In this example an employee had holliday from Monday in the week # 37 till Monday in the week # 39.
So I would need to get the weeks 37 and 38 as a result, because in this weeks the employee had 5 days hollidays (saturday and sunday are weekend and are not counted)
Any help would be appreciated!It looks like I misunderstood your question. To get IW weeks where all 5 weekdays were holidays/vacation use:
SELECT TO_CHAR(HOLLIDAY_FROM + LEVEL - 1,'IW') week
FROM HOLLIDAY
WHERE TO_CHAR(HOLLIDAY_FROM + LEVEL - 1,'DY','NLS_DATE_LANGUAGE=ENGLISH') NOT IN (
'SAT',
'SUN'
CONNECT BY HOLLIDAY_FROM + LEVEL - 1 <= HOLLIDAY_TILL
GROUP BY TO_CHAR(HOLLIDAY_FROM + LEVEL - 1,'IW')
HAVING COUNT(*) = 5
/Based on your example:
WITH HOLLIDAY AS (
SELECT DATE '2011-09-12' HOLLIDAY_FROM, DATE '2011-09-26' HOLLIDAY_TILL FROM DUAL
-- end of on-the-fly data sample
SELECT TO_CHAR(HOLLIDAY_FROM + LEVEL - 1,'IW') week
FROM HOLLIDAY
WHERE TO_CHAR(HOLLIDAY_FROM + LEVEL - 1,'DY','NLS_DATE_LANGUAGE=ENGLISH') NOT IN (
'SAT',
'SUN'
CONNECT BY HOLLIDAY_FROM + LEVEL - 1 <= HOLLIDAY_TILL
GROUP BY TO_CHAR(HOLLIDAY_FROM + LEVEL - 1,'IW')
HAVING COUNT(*) = 5
WE
37
38
SQL> SY.
Edited by: Solomon Yakobson on Sep 19, 2011 12:14 PM -
Help with a numbers formula to call up employee schedules for a particular day / hour of day
So my goal is to be able to use a drop-down menu on Sheet-1 with "day of week" and a 2nd one with "hour of day" to pull up a list of employees working on a particular day at a particular time.
So far I've got Sheet-1 where the magic will happen
Sheet 2-8 are different days of the week each displaying an employees hourly schedule and what hours of the day it corresponds with
Here's a visual example of my thoughts:
http://imgur.com/a/45ZZr#1
If anyone can help point me in the right direction that woul be helpful!Here is another approach that takes advantage of the Numbers 3 native filtering interface.
Have a simple data input table like this (no formulas) and set up a filter as shown:
When the filter box is checked the list shrinks to show employees working on Monday at 10a:
Typing new values into the filter rule boxes changes the results instantly.
And if you have the data input table arranged as shown, you can not only filter it but you can easily view it in multiple ways.
Here's Monday:
The one formula in the table, in B2 copied right and down, is:
=IF(COUNTIFS(Hours Input::$A,$A2,Hours Input::$B,$A$1,Hours Input::$C,B$1)>0,"x","")
And here's A's schedule:
The formula in B2, copied right and down, is:
=IF(COUNTIFS(Hours Input::$A,$A$1,Hours Input::$B,$A2,Hours Input::$C,B$1)>0,"x","")
etc.
SG -
Fastformula to Identify employee on Particular leave
Dear Friends,
I have scenario in Accruals, Where I need to identify the employee who were on particular leave on the pay period to calculate different accrual rate for the days on that particular leave..
Can any 1 pls help me out...
GuruHi Guru,
There is an issue with the way you are using GET_ABSENCE. If you see the definition in Formula function definition this function has two context parameter and two input parameters p_calculation_date and p_start_date. If you want to use GET_ABSENCE in fast formula you wil have to use it as below
GET_ABSENCE(p_calculation_date, p_start_date) else it will raise error.
As per your requirement it would be better if you create a custom formula function with one input parameter p_absence_attendance_type_id.
1. Define a database function which will get the absence name for your
CREATE OR REPLACE FUNCTION get_absence_type_name(
p_business_group_id NUMBER ,
p_absence_attendance_type_id number)
RETURN VARCHAR2
as
l_absence_name varchar2(250);
begin
select name
into l_absence_name
from per_absence_attendance_types
where 1 = 1
and business_group_id = p_business_group_id
and absence_attendance_type_id = p_absence_attendance_type_id;
return l_absence_name;
exception
when others then
l_absence_name := 'XXXXX';
return l_absence_name;
end get_absence_type_name;
2. Define the formula function: example Name - XX_GET_ABSENCE_NAME
Definition - get_absence_type_name
Contex usage - Business_group_id
Parameters - p_absence_attendance_type_id, Type as Number and Class as Input Only.
Save the definition
3. Now in your BG_ABSENCE_DURATION use the condition as below:
IF XX_GET_ABSENCE_NAME(p_absence_attendance_type_id) = 'XXXXXXX' THEN
Accrual_Rate = get_number('ACCRUAL_RATE')
Annual_Rate = get_number('ANNUAL_RATE')
Accrual_Rate = ((Annual_Rate / Payroll_Year_Number_Of_Periods) *60)/100
Assignment_Inactive_Days = GET_ASG_INACTIVE_DAYS(Period_SD, Period_ED)
Hope it helps. Please feel free to let me know in case of any issues.
Thanks,
Sanjay -
Adhoc Query: Absence Leave report
Hi All,
I am trying to create a Query in Adhoc query for ABSENCE LIST.
so i have added few columns:
PERNR Value
PERNR TEXT
Personnel area Value
Personnel area Text
Personnel sub-area Value
Personnel sub-area Text
Company code Value
Company code Text
Postion name Text
Attendance or absence type value
Attendance or absence type Text
1. Here when i pick the Position from infotype 0001 it is displaying some default position along with the position
2. I need the list of employee who has taken leaves, and leave types are picked from infotype 2001. Here i am getting complete list of employees(employees who has not taken leaves)
So can we prepare a report employees who went on leaves based on the above requirement.
Please find the attachment.
Regards,
PrasadOn a more serious note,
A query is a simple spitting out of all the data, based on the fields you have selected, So if atleast one field has a valid value, and "Personnel Number" is one such field, you will get an output in the report.
What you will have to do is to assign certain key fields as selection fields as well as output fields, when designing the Ad-Hoc query.
Then use selection criteria to get out only the results you want, for example Absence Type = Annual Leave( don't want to type the abbreviation here), date range of BEGDA - 01.01.2014 - 30.04.2014, for example. Using Employment Status as a Selection field but not an Output field can help with ensuring inactive employees (i.e people with default positions) are not selected.
I often find that in any case, one always has to download the query output into Excel and do some final manipulations using filters and pivots etc.
Also, play around with the Key Date field, in the query design screen - see what happens if you use "Today" rather than a wider date range.
Hope this helps. -
No Quota for employee in EP- Leave Request error
I am facing an issue with one employee.
This employee is having a lot of quotas for all the absence types in R/3. However in EP when he goes to 'Quota Overview', it shows that the table is empty, and the dropdown list also does not contain any leave.
When he clicks on 'Leave Request' there comes an error
Critical Error
+A critical error has occured. Processing of the service had to be terminated. Unsaved data has been lost. +
+Please contact your system administrator. +
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:507)
at java.util.ArrayList.get(ArrayList.java:324)
at com.sap.aii.proxy.framework.core.JcoBaseList.get(JcoBaseList.java:268)
at com.sap.aii.proxy.framework.core.AbstractList.get(AbstractList.java:230)
at com.sap.tc.webdynpro.modelimpl.dynamicrfc.DynamicRFCList.get(DynamicRFCList.java:281)
at com.sap.tc.webdynpro.progmodel.context.Node$ModelElementList.getElement(Node.java:2549)
at com.sap.tc.webdynpro.progmodel.context.Node.getElementAtInternal(Node.java:621)
at com.sap.tc.webdynpro.progmodel.context.Node.setLeadSelection(Node.java:753)
at com.sap.xss.hr.lea.form.FcForm.setLeadSelectionForSubtype(FcForm.java:700)
at com.sap.xss.hr.lea.form.FcForm.setVisibility(FcForm.java:943)
at com.sap.xss.hr.lea.form.FcForm.prepareCommand(FcForm.java:308)
at com.sap.xss.hr.lea.form.wdp.InternalFcForm.prepareCommand(InternalFcForm.java:2041)
at com.sap.xss.hr.lea.form.FcFormInterface.prepareCommand(FcFormInterface.java:116)
at com.sap.xss.hr.lea.form.wdp.InternalFcFormInterface.prepareCommand(InternalFcFormInterface.java:1887)
at com.sap.xss.hr.lea.form.wdp.InternalFcFormInterface$External.prepareCommand(InternalFcFormInterface.java:1983)
at com.sap.xss.hr.lea.form.edit.VcFormEdit.onInit(VcFormEdit.java:299)
at com.sap.xss.hr.lea.form.edit.wdp.InternalVcFormEdit.onInit(InternalVcFormEdit.java:1084)
at com.sap.xss.hr.lea.form.edit.VcFormEditInterface.onInit(VcFormEditInterface.java:165)
at com.sap.xss.hr.lea.form.edit.wdp.InternalVcFormEditInterface.onInit(InternalVcFormEditInterface.java:204)
at com.sap.xss.hr.lea.form.edit.wdp.InternalVcFormEditInterface$External.onInit(InternalVcFormEditInterface.java:280)
at com.sap.pcuigp.xssfpm.wd.FPMComponent.doProcessEvent(FPMComponent.java:564)
at com.sap.pcuigp.xssfpm.wd.FPMComponent.doEventLoop(FPMComponent.java:438)
at com.sap.pcuigp.xssfpm.wd.FPMComponent.wdDoInit(FPMComponent.java:196)
at com.sap.pcuigp.xssfpm.wd.wdp.InternalFPMComponent.wdDoInit(InternalFPMComponent.java:110)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:108)
at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:430)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:362)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:756)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:291)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingPortal(ClientSession.java:733)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:668)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:73)
at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.sendDataAndProcessActionInternal(AbstractApplicationProxy.java:860)
at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.create(AbstractApplicationProxy.java:220)
at com.sap.portal.pb.PageBuilder.updateApplications(PageBuilder.java:1288)
at com.sap.portal.pb.PageBuilder.createPage(PageBuilder.java:355)
at com.sap.portal.pb.PageBuilder.init(PageBuilder.java:548)
at com.sap.portal.pb.PageBuilder.wdDoRefresh(PageBuilder.java:592)
at com.sap.portal.pb.PageBuilder$1.doPhase(PageBuilder.java:864)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processPhaseListener(WindowPhaseModel.java:755)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doPortalDispatch(WindowPhaseModel.java:717)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:136)
at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:321)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:684)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
Any suggestion regarding this?When Quotas table is empty then customisation is missing for his ESG AND PSG in v_t556a_web
check his groupings from It2006 overview and maintain those in above for his rule group
java dump :
Please can you check if the Pernr used
has correct information like It0105 etc, also the rules are
correctly defined.
For the Employee, First of all check the Period Work Schedule also
the Quotas of the pernr needs to maintained in 2006, Please do
this customisation and it should solve the issue.
Maintain the absence quota in the IT2006 and then try once.
Also make sure that the Settings in Webmo and PTARQ etc all is done
The pernr belongs to the a Rule and have absences defined for him. -
How to get Leave Accrual Balance in Report
We can see the accrual balance on SSHR page as well as on Fastpath-> Accruals -> Net Entitlement.
But I want to display a report which will display all accruals as on a aprticular date.
Can we get that? Is there any seeded funnction/procedure?Hi DR,
To develop a report you will need help of a technical consultant in your team. You can use XML Publisher to develope your report, what Vigneshwar has provided you is the function which you/technical guy can use to easilt get the balance value as of any date.
As a function person get the Report defination signed of from business users and share the requirments with the technical team. If you are interested to develop the report on you own then please refer the site which will give you the basics of developing an XML publisher report:
http://www.apps2fusion.com/at/ps/51-prabhakar/262-xml-publisher-and-data-template-sql-query-to-develop-bi-publisher-reports
http://imdjkoch.wordpress.com/2010/11/12/steps-to-create-a-xml-publisher-report/
Hope it helps.
Thanks,
Sanjay -
SCA files fro Absences (Leave request)
Hi.
Can any one tell me the name of the SCA file which includes the source code for leave request?
I downloaded SAP_ESS release 600 SP13, however i was not able to find the source code related to leave request applications.
Regards,
Bharath Mohan Bthe name of the SCA file is ess/lea
-
HRMS - Employee Supervisor Change
Hi Guys,
I wonder if you can help in 11.5.10.2 when changing a supervisor for an employee is there any concurrent job that should be run after this change so that workflows now go to the new supervisor? Its seems that when this change is made some workflow are still erroring with message "no performer found". I thought once we made a change to a supervisor oracle would do the rest ?
Any help would be great.
BalI got it.
Thanks. -
I'm sure that other organizations have some policy for this. In our case, we want to keep the mailbox available for others to still access, but disable the user account and remove it from OWA.
In this case, I've disabled the AD object, disabled OWA from the features, and set the mailbox to only receive emails from a dummy mailbox (so that no new emails are accepted).
This all works fine and senders receive a NDR that their mail was rejected, however I'd also like to set a friendlier custom NDR to call the office instead when any sender attempts to send email to that recipient.
What would best practices, suggestions be for this behavior?Hi,
According to your description, the user object in AD has been disabled.
In this case, the mailbox cannot mostly likely be accessed. Thus, maybe OOF couldn’t help you.
If I misunderstand your meaning, please feel free to let me know.
And we can depend on transport rule:
The recipient is
send rejection message to sender with enhanced status code:
http://technet.microsoft.com/en-us/library/bb123506(v=exchg.141).aspx
Thanks,
Angela Shi
TechNet Community Support -
R12 SSHR - Leave of Absence page error
HI,
I am filling the leave details like "From" & "To" date, selecting leave type etc. When I click "Next" button, I am getting an error message like "A compiled version of the formula 324 cannot be found.. Check that it exists and compiled..."
I just copied the formula from "TEMPLATE ABSENCE DURATION" into "BG_ABSENCE_DURATION" (created new formula name with "Quickpaint" type)
How to overcome this error?
Thanks in advance.Dear All,
This is the formula I am using for Absence. In form It is working fine. But in SSHR it is throwing the error. Please check and help me in resolving this issue.
FORMULA NAME: TEMPLATE_ABSENCE_DURATION
FORMULA TYPE: Quickpaint
DESCRIPTION: Calculates the Employee's Absence
Duration in days or hours. The profile
'HR: Absence Duration Auto Overwrite'
determines if an existing duration value
can change automatically or not.
INPUTS:
- days_or_hours: the units of the absence
- date_start: the absence start date
- date_end: the absence end date
- time_start: the absence start time
- time_end: the absence end time
DBI Required:
- asg_start_time : the assignment start time
- asg_end_time: the assignment end time
- asg_pos_start_time: the positon start time
- asg_pos_end_time: the position end time
Change History
01 Sep 99 jmoyano Created
10 Oct 01 dcasemor end_day was being set to
asg_start_time. Also allowed
hours to be defaulted if no
UOM is set and hours have been
entered.
alias emp_hire_date as hire_date
default for per_sex is 'X'
/* Main Body of Formula */
INPUTS ARE days_or_hours(text),
date_start (date),
date_end (date),
time_start (text),
time_end (text),absence_attendance_type_id
/* default values */
default for per_emp_number is ' '
default for MARRIAGE_LEAVE_CUM_BALANCE is 0
default for PER_SEX_CODE is 'X'
default for hire_date is '01-jan-1951'(date)
DEFAULT FOR days_or_hours IS 'D'
DEFAULT FOR time_start IS '09:00'
DEFAULT FOR time_end IS '17:00'
DEFAULT FOR date_start IS '0001/01/01 00:00:00' (DATE)
DEFAULT FOR date_end IS '4712/12/31 00:00:00' (DATE)
/* database items */
DEFAULT FOR asg_start_time IS '09:00'
DEFAULT FOR asg_end_time IS '17:00'
DEFAULT FOR asg_pos_start_time IS '09:00'
DEFAULT FOR asg_pos_end_time IS '17:00'
v_business_group_id=81
/* local variables */
error_or_warning = ' '
invalid_msg = ' '
duration = '0'
number_of_days = 0
first_day_hours = 0
last_day_hours = 0
/* Defaults Section */
/* default values for working day, these are only used if no
working conditions can be found */
begin_day = '09:00'
end_day = '17:00'
IF ((date_start WAS DEFAULTED) or (date_end WAS DEFAULTED)) then
duration = '0'
else
number_of_days = days_between(date_end,date_start)
/* absence in hours */
IF days_or_hours = 'H'
OR (days_or_hours WAS DEFAULTED
AND time_start WAS NOT DEFAULTED
AND time_end WAS NOT DEFAULTED) THEN
/* look for the assignment values*/
If ((asg_start_time WAS NOT DEFAULTED) and
(asg_end_time WAS NOT DEFAULTED)) then
begin_day = asg_start_time
end_day = asg_end_time
else
/* look for the position values */
if ((asg_pos_start_time WAS NOT DEFAULTED) and
(asg_pos_end_time WAS NOT DEFAULTED)) then
begin_day = asg_pos_start_time
end_day = asg_pos_end_time
/* compute hours per day */
hours_per_day = ((to_num(substr(end_day,1,2))*60 +
to_num(substr(end_day,4,2))) -
(to_num(substr(begin_day,1,2))*60 +
to_num(substr(begin_day,4,2)))) / 60
/* absence takes place during the same day */
IF number_of_days = 0 THEN
duration = to_char(((to_num(substr(time_end,1,2))*60 +
to_num(substr(time_end,4,2))) -
(to_num(substr(time_start,1,2))*60 +
to_num(substr(time_start,4,2)))) / 60)
/* more than one day */
ELSE
/* Changes for bug3093970 starts here */
first_day_hours =((to_num(substr(end_day,1,2))*60 +
to_num(substr(end_day,4,2))) -
(to_num(substr(time_start,1,2))*60 +
to_num(substr(time_start,4,2))) ) / 60
last_day_hours = ((to_num(substr(time_end,1,2))*60 +
to_num(substr(time_end,4,2))) -
(to_num(substr(begin_day,1,2))*60 +
to_num(substr(begin_day,4,2))))/60
if first_day_hours <=0
OR first_day_hours > hours_per_day
OR last_day_hours <= 0
OR last_day_hours > hours_per_day THEN
/* Leave timings are out off standard timings*/
/* So use 24 hours rule */
first_day_hours = (24*60 -
(to_num(substr(time_start,1,2))*60 +
to_num(substr(time_start,4,2))))/60
last_day_hours = (to_num(substr(time_end,1,2))*60 +
to_num(substr(time_end,4,2)))/60
duration = to_char(first_day_hours+last_day_hours)
duration = to_char(to_num(duration) +
(DAYS_BETWEEN(date_end,date_start) - 1)* hours_per_day)
/* Changes for bug3093970 ends here */
/* absence in days */
ELSE
duration = to_char(DAYS_BETWEEN(date_end,date_start) + 1)
/* use of error messages:
if to_num(duration) = 0 then
duration = 'FAILED'
invalid_msg = 'HR_ABSENCE_CANNOT_BE_ZERO'
v_duration=to_number(duration)
length_of_service=(days_between(date_start,hire_date)+1)/365
v_leave_type=XXAQ_LEAVE_TYPE(v_business_group_id,absence_attendance_type_id)
if v_leave_type='HAJJ LEAVE' then
if length_of_service<=aq_los_for_hajj_leave then
duration = 'FAILED'
invalid_msg = 'Length of Service Should be more than '||to_char(aq_los_for_hajj_leave)|| ' years'
else
if v_duration+XXAQLEAVEAVAILED(per_emp_number,
v_leave_type)>aq_hajj_leave_entitlement then
duration = 'FAILED'
invalid_msg = 'Maximum Entitlement Should Be '||to_char(aq_hajj_leave_entitlement)
/*Marriage Leave*/
if v_leave_type='MARRIAGE LEAVE' then
if v_duration+XXAQLEAVEAVAILED(per_emp_number,
v_leave_type)>aq_marriage_leave_entitlement then
duration = 'FAILED'
invalid_msg = 'Maximum Entitlement Should Be '||to_char(aq_marriage_leave_entitlement)
/*Paternity Leave*/
if v_leave_type='PATERNITY LEAVE' then
if v_duration+XXAQLEAVEAVAILED(per_emp_number,
v_leave_type)>aq_paternity_leave_entitlement then
duration = 'FAILED'
invalid_msg = 'Maximum Entitlement Should Be '||to_char(aq_paternity_leave_entitlement)
/*Maternity Leave*/
if v_leave_type='MATERNITY LEAVE' then
if PER_SEX<>'Female' then
duration = 'FAILED'
invalid_msg = 'Only Female Employees are Eligible for Maternity Leave'
/*unpaid leave hours begin*/
/*if v_leave_type='UNPAID LEAVE HOURS' then
if v_duration>8 then
duration = 'FAILED'
invalid_msg = TO_CHAR(v_duration)||'Duration Should not Exceed 8 Hours for This Leave Type'
/*unpaid leave hours end*/
return duration, invalid_msg
Regards,
Jithin -
Personnel Subarea groupings for a multiple country system
We have more than 70 countries in our SAP system and more coming to be rolled out. We mainly use the HR funtionality for time recording. So, for the configuration of personnel subarea groupings in Time Recording we used the country grouping: e.g. Singapore Molga = 25, MOABW = 25, MOVER = 25, etc. For the 'SAP-countries (countries for which SAP has a template) we use MOLGA as personnel subarea grouping, for the NON-SAP countries (countries for which SAP has no template) we use a 2 digit number downwards from 98. Now we are running out of 'numbers'.
Has anybody similar problems and can you please share with me possible solutions?
Thank you very much and looking forward to your replies,
DorisDear Doris,
Several other possibilities exist for the grouping (not only PSG),
for example :
A) the "Employee subgroup grouping for time quotas" (ESG)
which is a char1 field (so you can use many more then the ones you
use at the moment)
B) field "Quota type selection group" (Quomo), from the documentation
of this field in V_T559L:
"Quota type selection rule group
You can use the quota type selection rule group to control absence
quota type selection based on the employee's organizational assignment.
Using different quota type selection rule groups, you can set specific
rules for quota generation.
Use
Quota generation is carried out in the schema using function QUOTA.
There are three ways of setting the quota type selection rule group:
1. Using function MOD in the time evaluation schema
Function MOD calls a personnel calculation rule that has been modified
to suit the respective schema (for example, XMOD, MODT, or TMOD). The
employee subgroup grouping for personnel calculation rules is queried
in the rule using operation PAYTP. Using operation MODIF Q=xx,
you can determine (for ach grouping) which quota type selection rule
group shoulde be used in time evaluation to access the entries
for the relevant employees in the Leave Accrual table.
2. Using a personnel calculation rule you have written yourself in the
time evaluation schema
In this case, you also set the quota type selection rule group using
operation MODIF Q=xx.
3. Using feature QUOMO
You can use the feature to set the quota type selection rule group based
on other organizational assignments. It is queried by the system during
time evaluation."
As your main issue seems to be the use of several different quota
requirements, you can define, via the use of field QUOMO in V_T559L,
for quota type 10 (just as an example) several different generation
rules (one for each Quomo).
Please note that quota 10 does not need to be always generated in the
same way, it can have a different generation rule for each key
combination of V_T559L.
The most flexible way to select which quomo should be used is via the
feature QUOMO. There you will have the following decision fields
BUKRS Company Code
WERKS Personnel Area
BTRTL Personnel Subarea
PERSG Employee Group
PERSK Employee Subgroup
MOLGA Country Grouping
MOURA Personnel Subarea Grouping for Leave Types
TRFAR Pay scale type
TRFGB Pay Scale Area
TRFGR Pay Scale Group
TRFST Pay Scale Level
SCHKZ Work Schedule Rule
PERNR Personnel Number
ANSVH Work Contract
CTTYP Contract type
Hope this helps,
Regards,
Shree
Maybe you are looking for
-
Cube to Open Hub DB destination - Aggregation of records
Hi Folks, I am puzzled with BW 7.0 open hub DB destination in regards to aggregation. In BW 3.5 open hub DB destination I got from the cube already aggregated records depending what which fields I select. E.g. cube has cal week/ cal month but in in
-
"Failed to Send the HTTP Message..." - HTTPSupport problem
Hello, We're having a few difficulties when the HTTPServer in UDS5.0.3 running on Solaris 8. Basically, we have a pair of MS .NET servers using some XML Webservices that we reside on the UDS server. The symptoms of the problem are that a lot of "Fail
-
I can not burn my playlist. Everyone keeps talking about this magic "burn playlist, or "burn cd option, but I can not find it anywhere. I have a playlist ready to go and a cd in, and ready to burn. I am at a loss for what I am not doing, or missing.
-
Hello Experts, I have an issue with inbound delievry. When I try to PGR the inbound delivery in VL32N it gives error "PGI not possible. Release Status is 01". The respective PO for the inbound delievry is in released status. Kindly help me to underdt
-
Alternatives to Layout mode?
I'm currently doing an internship for a small company that expects me to create a website in a couple more weeks. I had virtually no experience with any web editing software initally, but I jumped right in anyway, and hoped I could learn dreamweaver