Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 8

Default for BASIC_SALARY_AMOUNT_ASG_ENTRY_VALUE is 0

Default for PAY_ASG_TERMINATION_DATE is '0001/01/01 00:00:00'(DATE)


DEFAULT FOR ASG_HR_ASG_ID IS 0
DEFAULT FOR TERM_HR_TERM_ID IS 0
DEFAULT_DATA_VALUE for PER_EXT_CONT_PER_PERSON_ID IS -1
DEFAULT_DATA_VALUE for PER_EXT_CONT_DATE_OF_BIRTH is '0001/01/01 00:00:00'
(DATE)
DEFAULT_DATA_VALUE for PER_EXT_CONT_FIRST_NAME is 'N'
DEFAULT_DATA_VALUE FOR PER_EXT_CONT_CONTACT_TYPE IS 'X'

Inputs are override_amount

monthly_salary =0
per_child_Allowance = 0
l_text = ' '
eligible = ' '
count = 0
monthly_housing = 0
l_amount = 0
grade = ' '
msg= ' '
mesg = ' '
l_age = 0
l_jul_age = 0
l_jul_age1 = 0
l_aug_age1 = 0
allowance = 'yy'
child1 = 0
child2 = 0
child3 = 0
factor = 0

child1_settle = 0
child2_settle = 0
child3_settle = 0

X_OUTPUT_TEXT = 'xx'
l_count = 0
l_eligible_count = 0
X_Count = 'ff'

l_hr_asg_id = ASG_HR_ASG_ID

IF PAY_ASG_TERMINATION_DATE WAS NOT DEFAULTED THEN


(
l_eff_date=least(PAY_EARN_PERIOD_END,PAY_ASG_TERMINATION_DATE)
)
ELSE
(
l_eff_date=PAY_EARN_PERIOD_END
)
I= 1
WHILE (RUN_INCLUDED_PAYROLL_ASGS.EXISTS(I)) LOOP
(
l_asg_arr = RUN_INCLUDED_PAYROLL_ASGS[I]

CHANGE_CONTEXTS(PAYROLL_ASSIGNMENT_ID = l_asg_arr)
(

SET_INPUT ('hr_id', l_hr_asg_id)


SET_INPUT ('eff_date', l_eff_date)
SET_INPUT ('mode', 'PER_ASG_GRADE_NAME')
EXECUTE('XX_GET_HR_DATA')
grade = GET_OUTPUT('X_OUTPUT_TEXT', l_text)

)/* End Change Context */


I= I +1
)

year = to_number(to_char(l_eff_date,'YYYY'))

l_july_date1 = TO_DATE('31/07'||'/'||
to_char(l_eff_date,'YYYY'),'DD/MM/YYYY')
l_aug_date1= TO_DATE('01/08'||'/'||
to_char(l_eff_date,'YYYY'),'DD/MM/YYYY')
msg = msg + 'year ' + to_char(year)
I=1
l_count=0

WHILE (PER_EXT_CONT_PER_PERSON_ID.EXISTS(I)) LOOP


(
l_july_date = TO_DATE('31/07'||'/'||
to_char(l_eff_date,'YYYY'),'DD/MM/YYYY')
l_aug_date = TO_DATE('01/08'||'/'||
to_char(l_eff_date,'YYYY'),'DD/MM/YYYY')
l_contact_person_id=PER_EXT_CONT_PER_PERSON_ID[I]

if (PER_EXT_CONT_CONTACT_TYPE[I]='C') then
(

if(to_number(to_char(PER_EXT_CONT_DATE_OF_BIRTH[I],'MM')) >= 8) then

(
msg = msg + ' month ' +
to_char(PER_EXT_CONT_DATE_OF_BIRTH[I],'MM')
l_july_date =
add_years(l_july_date,1)
l_aug_date =
add_years(l_aug_date,1)
)
)
msg = msg + to_char(l_july_date)

l_jul_age =
ROUND(MONTHS_BETWEEN(l_july_date,PER_EXT_CONT_DATE_OF_BIRTH[I])/12,2)
l_jul_age1 =
ROUND(MONTHS_BETWEEN(l_july_date1,PER_EXT_CONT_DATE_OF_BIRTH[I])/12,2)
l_aug_age =
ROUND(MONTHS_BETWEEN(l_aug_date,PER_EXT_CONT_DATE_OF_BIRTH[I])/12,2)
l_aug_age1 =
ROUND(MONTHS_BETWEEN(l_aug_date1,PER_EXT_CONT_DATE_OF_BIRTH[I])/12,2)
msg = msg + to_char(l_aug_age) + ' AGE ' +
to_char(l_jul_age)
l_age =
ROUND(MONTHS_BETWEEN(l_eff_date,PER_EXT_CONT_DATE_OF_BIRTH[I])/12,2)
X_OUTPUT_TEXT =
X_OUTPUT_TEXT+'-'+PER_EXT_CONT_FIRST_NAME[I]+'AGE:'+TO_CHAR(l_age)

if (PER_EXT_CONT_CONTACT_TYPE[I]='C') then
(
if(l_aug_age1 >=3 AND l_jul_age1 <=22) then
(
if(l_age >=3 and l_jul_age < 4) then
(

if(to_number(to_char(PER_EXT_CONT_DATE_OF_BIRTH[I],'MM')) >= 8 AND


to_number(to_char(PER_EXT_CONT_DATE_OF_BIRTH[I],'MM')) <=12) then
(
l_ref_date =
TO_DATE(to_char(PER_EXT_CONT_DATE_OF_BIRTH[I],'DD')||'/'||
to_char(PER_EXT_CONT_DATE_OF_BIRTH[I],'MM')||'/'||
to_char(l_eff_date,'YYYY'),'DD/MM/YYYY')

factor =
(days_between(greatest(l_july_date,l_ref_date),least(l_july_date,l_ref_date))
+1)/365

l_eligible_count =
l_eligible_count + factor

if(to_number(to_char(PER_EXT_CONT_DATE_OF_BIRTH[I],'MM')) < 8 AND


to_number(to_char(PER_EXT_CONT_DATE_OF_BIRTH[I],'MM')) >= 1) then
(
l_ref_date =
TO_DATE(to_char(PER_EXT_CONT_DATE_OF_BIRTH[I],'DD')||'/'||
to_char(PER_EXT_CONT_DATE_OF_BIRTH[I],'MM')||'/'||to_char(year),'DD/MM/YYYY')

factor =
(days_between(greatest(l_july_date,l_ref_date),least(l_july_date,l_ref_date))
+1)/365

l_eligible_count =
l_eligible_count + factor

else
(
l_eligible_count =
l_eligible_count + 1
)

else if(l_aug_age1 >= 21 AND l_jul_age >= 22


AND l_jul_age < 23) then
(

if(to_number(to_char(PER_EXT_CONT_DATE_OF_BIRTH[I],'MM')) >= 8 AND


to_number(to_char(PER_EXT_CONT_DATE_OF_BIRTH[I],'MM')) <=12) then
(
l_ref_date =
TO_DATE(to_char(PER_EXT_CONT_DATE_OF_BIRTH[I],'DD')||'/'||
to_char(PER_EXT_CONT_DATE_OF_BIRTH[I],'MM')||'/'||
to_char(l_eff_date,'YYYY'),'DD/MM/YYYY')

factor =
(days_between(greatest(l_ref_date,l_aug_date1),least(l_ref_date,l_aug_date1))
+1)/365

l_eligible_count = l_eligible_count
+ factor

if(to_number(to_char(PER_EXT_CONT_DATE_OF_BIRTH[I],'MM')) < 8 AND


to_number(to_char(PER_EXT_CONT_DATE_OF_BIRTH[I],'MM')) >= 1) then
(
l_ref_date =
TO_DATE(to_char(PER_EXT_CONT_DATE_OF_BIRTH[I],'DD')||'/'||
to_char(PER_EXT_CONT_DATE_OF_BIRTH[I],'MM')||'/'||to_char(year+1),'DD/MM/YYYY')

factor =
(days_between(greatest(l_ref_date,l_aug_date1),least(l_ref_date,l_aug_date1))
+1)/365

l_eligible_count = l_eligible_count
+ factor

)
mesg = mesg + 'factor ' + to_char(factor)
I=I+1
)
X_OUTPUT_TEXT=TO_CHAR(l_eligible_count)
count = l_eligible_count

msg = msg + 'Eligible Count: '+ to_char(count)

allowance =
GET_TABLE_VALUE('EDUCATION_ALLOWANCE','Amount',SUBSTR(grade,(INSTR(grade,'.')
+1)),l_eff_date)

per_child_Allowance = to_number(allowance)

if(ChildOne_REL_ITD = 0 AND ChildTwo_REL_ITD = 0 AND


ChildThree_REL_ITD = 0) then
(
if(count > 3) then
(
child1 = 1
child2 = 1
child3 = 1

final_allowance = per_child_Allowance * 3

else if(count > 2 AND count <= 3) then


(
child1 = 1
child2 = 1
child3 = 1

final_allowance = per_child_Allowance * count

else if(count > 1 AND count <= 2) then


(
child1 = 1
child2 = 1
child3 = 0

final_allowance = per_child_Allowance * count

else if(count > 0 AND count <= 1) then


(
child1 = 1
child2 = 0
child3 = 0
final_allowance = per_child_Allowance * count

else
(
child1 = 0
child2 = 0
child3 = 0

final_allowance = 0

)
)

else if(ChildThree_REL_ITD <> 0) then


(

child1 = 0
child2 = 0
child3 = 0
final_allowance = 0

else if(ChildTwo_REL_ITD <> 0) then


(

if(count > 3) then


(
child1 = 0
child2 = 0
child3 = 1

final_allowance = per_child_Allowance

else if(count > 2 AND count <= 3) then


(
child1 = 0
child2 = 0
child3 = 1

final_allowance = per_child_Allowance * (count - 2)

)
else
(
child1 = 0
child2 = 0
child3 = 0
final_allowance = 0
)

)
else if(ChildOne_REL_ITD <> 0) then
(
if(count > 3) then
(
child1 = 0
child2 = 1
child3 = 1

final_allowance = per_child_Allowance * 2

else if(count > 2 AND count <= 3) then


(
child1 = 0
child2 = 1
child3 = 1

final_allowance = per_child_Allowance * (count - 1)


)

else if(count > 1 AND count <= 2) then


(
child1 = 0
child2 = 1
child3 = 0

final_allowance = per_child_Allowance * (count - 1)

else
(
child1 = 0
child2 = 0
child3 = 0
final_allowance = 0
)
)

else
(
child1 = 0
child2 = 0
child3 = 0
final_allowance = 0

if (to_number(to_char(l_eff_date,'MM')) = 7 ) then
(

child1_settle = ChildOne_REL_ITD
child2_settle = ChildTwo_REL_ITD
child3_settle = ChildThree_REL_ITD
)

mssg = to_char(child1) + ' c1' + to_char(child2) + ' c2' +


to_char(child3) + ' c3 Final' + to_char(final_allowance)

msg = msg + 'ONE' + to_char(ChildOne_REL_ITD) + ' TWO' +


to_char(ChildTwo_REL_ITD) + ' THREE' + to_char(ChildThree_REL_ITD)

msg = msg + 'l_amount: '+ allowance

Return
final_allowance,msg,child1,child2,child3,child1_settle,child2_settle,child3_settle,
mssg,mesg

You might also like