Wednesday, 7 December 2016

Vacation Rule in Oracle EBiz

Objective:
  • Add Vacation Rule option to User to Set up Vacation Rule for Others.
Step 1:
  • Create Custom Menu

  1. Routing Rules Administrator
  2. Create Routing Rule
  3. Update Routing Rule

Step 2:

  • Create Custom Responsibility and add the EC Workflow Administrator Menu.


Step 3:
  • Go to “Workflow Administrator Web Applications”
  • Administrator Workflow > Administration > Select EC Workflow Administrator > Apply
Step 4:
  • Add the Responsibility to the User.
Note:
  1. Only an Administrator can create Vacation Rule for others. We can set Vacation Rule through the “Workflow Administrator Web Applications” responsibility. 
  2. Workflow System Administrator may be a SYSADMIN, Workflow Administrator (Web Admin).
  3. Usually SYSADMIN Login have the System administrator and Workflow Administrator Role.
  4. If we want to give this rights to Other User, we have to give Admin rights to the User.
  5. Workflow System Administrator is EC Workflow Administrator, then a User who holds EC Workflow Administrator can access the Vacation Rule (Set up for Others).
  6. Workflow System Administrator is System Administrator, then a User should hold System Administrator Role access the Vacation Rule (Set up for Others).
  7. Workflow System Administrator is Workflow Administrator, then a User should hold Workflow Administrator Role access the Vacation Rule (Set up for Others).

Sunday, 6 November 2016

Query to find Current Employee List - Oracle HRMS

SELECT A.PERSON_ID,
A.EMPLOYEE_NUMBER,
A.FULL_NAME,
B.ASSIGNMENT_ID,
A.SEX,
A.ORIGINAL_DATE_OF_HIRE,
A.DATE_OF_BIRTH,
A.EMAIL_ADDRESS
FROM PER_ALL_PEOPLE_F A,
PER_ALL_ASSIGNMENTS_F B
WHERE A.PERSON_ID = B.PERSON_ID
AND A.BUSINESS_GROUP_ID = B.BUSINESS_GROUP_ID
AND SYSDATE BETWEEN A.EFFECTIVE_START_DATE AND A.EFFECTIVE_END_DATE
AND SYSDATE BETWEEN B.EFFECTIVE_START_DATE AND B.EFFECTIVE_END_DATE
AND A.CURRENT_EMPLOYEE_FLAG = 'Y'
--AND A.BUSINESS_GROUP_ID     = 0000
ORDER BY 1;

Edit the Query if you need.

Wednesday, 2 November 2016

Query to find the Employee and his Leave Details

This Query will fetch the Employee Person id, Employee Number, Employee Name, Leave Start Date, Leave End Date, Leave Name, Employee Assignment Id.

Change the Query as Per your Need.


SELECT A.PERSON_ID PersonId,
B.ASSIGNMENT_ID AssignmentId,
A.EMPLOYEE_NUMBER StaffNumber,
A.FULL_NAME StaffName,
Y.NAME AbsenceName,
Y.ABSENCE_ATTENDANCE_TYPE_ID AbsenceId,
X.DATE_NOTIFICATION NotifyDate,
X.CREATION_DATE CreatedDate,
X.DATE_START LeaveStart,
X.DATE_END LeaveEnd,
X.ABSENCE_DAYS TotalDays
FROM   PER_ABSENCE_ATTENDANCES X,
PER_ABSENCE_ATTENDANCE_TYPES Y,
PER_ALL_PEOPLE_F A,
PER_ALL_ASSIGNMENTS_F B
WHERE   X.ABSENCE_ATTENDANCE_TYPE_ID = Y.ABSENCE_ATTENDANCE_TYPE_ID
AND     X.BUSINESS_GROUP_ID = Y.BUSINESS_GROUP_ID
AND     A.BUSINESS_GROUP_ID = Y.BUSINESS_GROUP_ID
AND     A.PERSON_ID = X.PERSON_ID
AND     A.PERSON_ID = B.PERSON_ID
AND     B.BUSINESS_GROUP_ID = Y.BUSINESS_GROUP_ID
AND     B.PERSON_ID = X.PERSON_ID
AND     SYSDATE BETWEEN A.EFFECTIVE_START_DATE AND  A.EFFECTIVE_END_DATE
AND     SYSDATE BETWEEN B.EFFECTIVE_START_DATE AND  B.EFFECTIVE_END_DATE
AND     X.DATE_START BETWEEN '01-JAN-2016' AND '31-JAN-2017' /* Duration */
AND   A.EMPLOYEE_NUMBER = 'XYZ' /* Employee Number */
AND Y.NAME = 'Unpaid Leave' /* Leave Name */
ORDER BY 6, 8; 

Tuesday, 1 November 2016