14
Mohamed Salah Oracle HRMS Techno Functional Consultant Loan Element The business: We want to give the employee loan and deduct it from him as number of installments. Solution We will create 3 elements: 1- Loan (Recurring information element contains Loan amount and installments)

Mohamed Salah Oracle HRMS Techno Functional Consultant · PDF fileMohamed Salah Oracle HRMS Techno Functional Consultant Loan Element The business: We want to give the employee loan

Embed Size (px)

Citation preview

Page 1: Mohamed Salah Oracle HRMS Techno Functional Consultant · PDF fileMohamed Salah Oracle HRMS Techno Functional Consultant Loan Element The business: We want to give the employee loan

Mohamed Salah

Oracle HRMS Techno Functional Consultant

Loan Element

The business:

We want to give the employee loan and deduct it from him as number of installments.

Solution

We will create 3 elements:

1- Loan (Recurring information element contains Loan amount and installments)

Page 2: Mohamed Salah Oracle HRMS Techno Functional Consultant · PDF fileMohamed Salah Oracle HRMS Techno Functional Consultant Loan Element The business: We want to give the employee loan

Mohamed Salah

Oracle HRMS Techno Functional Consultant

Page 3: Mohamed Salah Oracle HRMS Techno Functional Consultant · PDF fileMohamed Salah Oracle HRMS Techno Functional Consultant Loan Element The business: We want to give the employee loan

Mohamed Salah

Oracle HRMS Techno Functional Consultant

2- Loan Payments (Non Recurring earnings element contains pay value)

Page 4: Mohamed Salah Oracle HRMS Techno Functional Consultant · PDF fileMohamed Salah Oracle HRMS Techno Functional Consultant Loan Element The business: We want to give the employee loan

Mohamed Salah

Oracle HRMS Techno Functional Consultant

3- Loan Deductions (Non Recurring Voluntary Deductions element contains pay value)

Page 5: Mohamed Salah Oracle HRMS Techno Functional Consultant · PDF fileMohamed Salah Oracle HRMS Techno Functional Consultant Loan Element The business: We want to give the employee loan

Mohamed Salah

Oracle HRMS Techno Functional Consultant

4- Link these elements to your payroll from Link Form and repeat this step for the remaining elements

Page 6: Mohamed Salah Oracle HRMS Techno Functional Consultant · PDF fileMohamed Salah Oracle HRMS Techno Functional Consultant Loan Element The business: We want to give the employee loan

Mohamed Salah

Oracle HRMS Techno Functional Consultant

5- Create balance Net Loan fed by Loan Deductions subtract ,Loan Payments add with Element Entry

inception to date dimension (ITD)

Page 7: Mohamed Salah Oracle HRMS Techno Functional Consultant · PDF fileMohamed Salah Oracle HRMS Techno Functional Consultant Loan Element The business: We want to give the employee loan

Mohamed Salah

Oracle HRMS Techno Functional Consultant

Page 8: Mohamed Salah Oracle HRMS Techno Functional Consultant · PDF fileMohamed Salah Oracle HRMS Techno Functional Consultant Loan Element The business: We want to give the employee loan

Mohamed Salah

Oracle HRMS Techno Functional Consultant

6- Create balance Gross Loan fed by Loan Payments add with Element Entry inception to date dimension

(ITD)

Page 9: Mohamed Salah Oracle HRMS Techno Functional Consultant · PDF fileMohamed Salah Oracle HRMS Techno Functional Consultant Loan Element The business: We want to give the employee loan

Mohamed Salah

Oracle HRMS Techno Functional Consultant

7- Create Loan Formula

Page 10: Mohamed Salah Oracle HRMS Techno Functional Consultant · PDF fileMohamed Salah Oracle HRMS Techno Functional Consultant Loan Element The business: We want to give the employee loan

Mohamed Salah

Oracle HRMS Techno Functional Consultant

Press edit and write the following code:

Default For ENTRY_START_DATE is '01-jan-1950' (Date) Default For PAY_PROC_PERIOD_END_DATE is '01-jan-1950' (Date)

Default For GROSS_LOAN_ENTRY_ITD is 0 Default For Net_LOAN_ENTRY_ITD is 0

Default For P_Loan is 0

Default For P_Net_Loan is 0 Default For P_Recovery is 0

Default For P_Periods_Paid is 0 Default For P_Stop is 0

Inputs Are Loan_Amount, Installments

/*For First Month We need To pay him the loan and don't deduct the recovery as it starts from next period*/ Message= To_char(ENTRY_START_DATE)||' Test '||To_char(PAY_PROC_PERIOD_END_DATE)

If (GROSS_LOAN_ENTRY_ITD=0) Then ( P_Loan=Loan_Amount

P_Recovery=0

Return P_Loan,P_Recovery,Message )

Else (

P_Net_Loan=Net_LOAN_ENTRY_ITD /* Substract 2 From Get_Periods(formula function that is attached to database function we create ) as 1 for the first pay period which was skipped and second for the current period*/ P_Periods_Paid= Get_Periods(ENTRY_START_DATE,PAY_PROC_PERIOD_END_DATE)-2

If (Installments-P_Periods_Paid<=1) Then

/*Last Period Recover the complete amount*/ ( P_Recovery=Net_LOAN_ENTRY_ITD P_Stop= 1 /*stop element entry after full recover of loan amount*/ Return P_Recovery,P_Stop,Message) Else

(P_Recovery=Net_LOAN_ENTRY_ITD/(Installments-P_Periods_Paid) Return P_Recovery,Message)

)

Page 11: Mohamed Salah Oracle HRMS Techno Functional Consultant · PDF fileMohamed Salah Oracle HRMS Techno Functional Consultant Loan Element The business: We want to give the employee loan

Mohamed Salah

Oracle HRMS Techno Functional Consultant

8- Make the formula results

9- Create formula function

And provide the parameters such as the database function parameters

Page 12: Mohamed Salah Oracle HRMS Techno Functional Consultant · PDF fileMohamed Salah Oracle HRMS Techno Functional Consultant Loan Element The business: We want to give the employee loan

Mohamed Salah

Oracle HRMS Techno Functional Consultant

10- Don’t create formula function before the db function , write this code to create a package that

contains the function

CREATE OR REPLACE package APPS.MSA_PAYROLL_PKG AUTHID DEFINER as FUNCTION GET_PERIODS_NUMBER (

P_Start_Date IN Date

,P_END_Date IN Date) RETURN NUMBER ;

END MSA_PAYROLL_PKG;

/

CREATE OR REPLACE package body APPS.MSA_PAYROLL_PKG as function GET_PERIODS_NUMBER (

P_Start_Date IN Date ,P_END_Date IN Date)

RETURN NUMBER IS

V_COUNT NUMBER; BEGIN

Select count(*) INTO V_COUNT from per_time_periods

where start_date >= to_date (P_Start_Date) and cut_off_date <= To_date(P_END_Date );

RETURN V_COUNT;

END GET_PERIODS_NUMBER ;

end MSA_PAYROLL_PKG; /

Page 13: Mohamed Salah Oracle HRMS Techno Functional Consultant · PDF fileMohamed Salah Oracle HRMS Techno Functional Consultant Loan Element The business: We want to give the employee loan

Mohamed Salah

Oracle HRMS Techno Functional Consultant

11- Make element entry to an employee from assignment entries

Open Entry Values and add the values Loan amount 3500 and installments 2

12- Run Quick Pay 4 times to be sure that it works fine(1 month to give the loan with no deduct,2 months

to deduct the 2 installments, last month for stop the loan element after recover all the loan amount)

First month

Page 14: Mohamed Salah Oracle HRMS Techno Functional Consultant · PDF fileMohamed Salah Oracle HRMS Techno Functional Consultant Loan Element The business: We want to give the employee loan

Mohamed Salah

Oracle HRMS Techno Functional Consultant

Second and third month

Last month

تم بحمد اهلل وفضله

وكتبه أبو عبدالملك المصري

محمد صالح

أسألكم الدعاء