Formulas
Formulas
EffectiveEndDate|ParentPositionId(SourceSystemId)|PositionId(SourceSystemId)
MERGE|PositionHierarchy|Vision|1|2015/01/01|4712/12/31|PM_MGR_ACCESS|PM_ACCESS
MERGE|PositionHierarchy|Vision|2|2015/01/01|4712/12/31|PM_MGR_ACCESS|SNR_PM_ACCESS
MERGE|PositionHierarchy|Vision|3|2015/01/01|4712/12/31|PM_MGR_SALES|PM_SALES
MERGE|PositionHierarchy|Vision|4|2015/01/01|4712/12/31|PM_MGR_SALES|SNR_PM_SALES
MERGE|PositionHierarchy|Vision|5|2015/01/01|4712/12/31|PM_DIR|PM_MGR_ACCESS
MERGE|PositionHierarchy|Vision|6|2015/01/01|4712/12/31|PM_DIR|PM_MGR_SALES
MERGE|PositionHierarchy|Vision|7|2015/01/01|4712/12/31|VP|PM_DIR
MERGE|PositionHierarchy|Vision|8|2015/01/01|4712/12/31|EVP|VP
METADATA|PositionHierarchy|EffectiveStartDate|EffectiveEndDate|
ParentBusinessUnitName|ParentPositionCode|BusinessUnitName|PositionCode
MERGE|PositionHierarchy|1951/01/01|4712/12/31|MMRT BU|48|MMRT BU|40
/*
HCM Team
*/
DEFAULT FOR NUMBER_OF_HOURS IS 0
DEFAULT FOR OVERTIME_NUMBER_OF_HOURS_ASG_ENTRY_VALUE IS 0
DEFAULT FOR PAY_EARN_PERIOD_START IS '0001/01/01 00:00:00' (DATE)
DEFAULT FOR PAY_EARN_PERIOD_END IS '4712/12/31 00:00:00' (DATE)
DEFAULT FOR TYPE IS ' '
DEFAULT FOR pay_value is 0
DEFAULT FOR BASIC_SALARY_AMOUNT_ASG_ENTRY_VALUE is 0
DEFAULT FOR HOUSING_ALLOWANCE_AMOUNT_ASG_ENTRY_VALUE is 0
DEFAULT FOR TRANSPORTATION_ALLOWANCE_AMOUNT_ASG_ENTRY_VALUE is 0
l_actual_start_date = PAY_EARN_PERIOD_START
l_actual_end_date = PAY_EARN_PERIOD_END
NUMBER_OF_HOURS = OVERTIME_NUMBER_OF_HOURS_ASG_ENTRY_VALUE
pay_value = OT
RETURN pay_value
/*
HCM Team
Overtime Calculation
04-05-2021
*/
DEFAULT FOR NUMBER_OF_HOURS IS 0
DEFAULT FOR MMRT_OVER_TIME_AMOUNT_ASG_ENTRY_VALUE IS 0
DEFAULT FOR PAY_EARN_PERIOD_START IS '0001/01/01 00:00:00' (DATE)
DEFAULT FOR PAY_EARN_PERIOD_END IS '4712/12/31 00:00:00' (DATE)
DEFAULT FOR OVERTIME_TYPE IS ' '
INPUTS ARE NUMBER_OF_HOURS(NUMBER),OVERTIME_TYPE
DEFAULT FOR pay_value is 0
L_HR_Payment_ID = ASG_HR_ASG_ID
l_eff_date = PAY_EARN_PERIOD_END
CALL_FORMULA
('XXX_HR_GET_GRADE_RATE_VALUE'
,L_HR_Payment_ID > 'hr_id'
,l_eff_date > 'eff_date'
,'GRADE_RATE_VALUE' > 'mode'
,'XXX_HR_Mobile_GRADE_RATE' > 'grade_rate'
,L_G_AMOUNT < 'X_OUTPUT_TEXT' DEFAULT '0'
)L_GRADE_AMOUNT = to_number(L_G_AMOUNT)
L_AMOUMT_MOBILE =(L_GRADE_AMOUNT)
l_actual_start_date = PAY_EARN_PERIOD_START
l_actual_end_date = PAY_EARN_PERIOD_END
NUMBER_OF_HOURS = MMRT_OVER_TIME_AMOUNT_ASG_ENTRY_VALUE
BASIC_SALARY = (BASIC_SALARY_AMOUNT_ASG_ENTRY_VALUE / 12)
HOUSING_AMOUNT = BASIC_SALARY * 0.25
TRANSP_AMOUNT = BASIC_SALARY * 0.10
DAILY_SALARY = (((BASIC_SALARY ) + HOUSING_AMOUNT + TRANSP_AMOUNT + L_AMOUMT_MOBILE
) /30)/8
DAILY_SALARY2 = ((BASIC_SALARY /30)/8)
pay_value = OVERTIME3
RETURN pay_value
/*
HCM Team
Overtime Calculation
04-05-2021
*/
DEFAULT FOR NUMBER_OF_HOURS IS 0
DEFAULT FOR OVER_TIME_COMPENSATION_NUMBER_OF_HOURS_ASG_ENTRY_VALUE IS 0
DEFAULT FOR PAY_EARN_PERIOD_START IS '0001/01/01 00:00:00' (DATE)
DEFAULT FOR PAY_EARN_PERIOD_END IS '4712/12/31 00:00:00' (DATE)
DEFAULT FOR TYPE IS ' '
L_Basic_salary2= 0
L_HR_Payment_ID = ASG_HR_ASG_ID
l_eff_date = PAY_EARN_PERIOD_END
CALL_FORMULA
('XXX_HR_GET_GRADE_RATE_VALUE'
,L_HR_Payment_ID > 'hr_id'
,l_eff_date > 'eff_date'
,'GRADE_RATE_VALUE' > 'mode'
,'XXX_HR_Mobile_GRADE_RATE' > 'grade_rate'
,L_G_AMOUNT < 'X_OUTPUT_TEXT' DEFAULT '0'
)L_GRADE_AMOUNT = to_number(L_G_AMOUNT)
L_AMOUMT_MOBILE =(L_GRADE_AMOUNT)
CALL_FORMULA
('XXX_HR_BASIC_SALARY_INFO'
,L_HR_Payment_ID > 'ASG_ID'
,l_eff_date > 'P_DATE'
,L_Basic_salary2 < 'X_OUTPUT_NUMBER' DEFAULT 0
)
l_actual_start_date = PAY_EARN_PERIOD_START
l_actual_end_date = PAY_EARN_PERIOD_END
NUMBER_OF_HOURS = OVER_TIME_COMPENSATION_NUMBER_OF_HOURS_ASG_ENTRY_VALUE
BASIC_SALARY = L_Basic_salary2
HOUSING_AMOUNT = BASIC_SALARY * 0.25
TRANSP_AMOUNT = BASIC_SALARY * 0.10
pay_value = OVERTIME3
RETURN pay_value
DEFAULT FOR X IS ' '
DEFAULT FOR BUSINESS_TRIP_MMRT_AMOUNT_ASG_ENTRY_VALUE is 0
DEFAULT FOR Amount is 0
DEFAULT FOR mesg is ' '
DEFAULT FOR ENTRY_LEVEL IS 'AP'
DEFAULT FOR PAYROLL_PERIOD_TYPE IS ' '
DEFAULT FOR PAY_EARN_PERIOD_START is '0001/01/01 00:00:00' (date)
DEFAULT FOR PAY_EARN_PERIOD_END is '4712/12/31 00:00:00' (date)
DEFAULT FOR Days_Of_Trip is 0
DEFAULT FOR pay_value is 0
DEFAULT FOR TRIP_TYPE IS ' '
/* Inputs */
INPUTS ARE Amount (number),Days_Of_Trip,TRIP_TYPE
IF((
X = 'SA 6'
OR X = 'SA 7'
OR X = 'SA 8'
OR X = 'SA 9'
OR X = 'SA 10'
OR X = 'SA 11'
OR X = 'SA 12'
OR X = 'SA 13')
AND TRIP_TYPE ='Inside KSA') then
(
Amount = 700 * Days_Of_Trip
)
ELSE IF
((
X = 'SA 6'
OR X = 'SA 7'
OR X = 'SA 8'
OR X = 'SA 9'
OR X = 'SA 10'
OR X = 'SA 11'
OR X = 'SA 12'
OR X = 'SA 13')
AND TRIP_TYPE ='Out Side KSA') then
(
Amount = 1000 * Days_Of_Trip
)
ELSE IF
((
X = 'SA 6'
OR X = 'SA 7'
OR X = 'SA 8'
OR X = 'SA 9'
OR X = 'SA 10'
OR X = 'SA 11'
OR X = 'SA 12'
OR X = 'SA 13'
)
AND TRIP_TYPE ='Europe') then
(
Amount = 1500 * Days_Of_Trip
)
ELSE IF
((
X = 'SA 14'
OR X = 'SA 15'
OR X = 'SA 16'
OR X = 'SA 17'
)
AND TRIP_TYPE ='Inside KSA') then
(
Amount = 1000 * Days_Of_Trip
)
ELSE IF
((
X = 'SA
14'
OR X = 'SA
15'
OR X = 'SA
16'
OR X = 'SA
17'
)
AND TRIP_TYPE ='Out Side KSA') then
(
Amount = 1400 * Days_Of_Trip
)
ELSE IF
((
X = 'SA 14'
OR X = 'SA 15'
OR X = 'SA 16'
OR X = 'SA 17') AND TRIP_TYPE ='Europe') then
(
Amount = 2000 * Days_Of_Trip
)
ELSE IF
( (
X = 'SA 18'
OR X = 'SA 19'
OR X = 'SA 20'
OR X = 'SA 21') AND TRIP_TYPE ='Inside KSA') then
(
Amount = 1500 * Days_Of_Trip
)
ELSE IF
( (
X = 'SA 18'
OR X = 'SA 19'
OR X = 'SA 20'
OR X = 'SA 21') AND TRIP_TYPE ='Out Side KSA') then
(
Amount = 1800 * Days_Of_Trip
)
ELSE IF
( (
X = 'SA 18'
OR X = 'SA 19'
OR X = 'SA 20'
OR X = 'SA 21') AND TRIP_TYPE ='Europe') then
(
Amount = 2200 * Days_Of_Trip
)
pay_value= Amount
RETURN pay_value
/*
HCM Team
Overtime Calculation
04-05-2021
*/
DEFAULT FOR NUMBER_OF_HOURS IS 0
DEFAULT FOR MMRT_N_OVERTIME_NUMBER_OF_HOURS_ASG_ENTRY_VALUE IS 0
DEFAULT FOR PAY_EARN_PERIOD_START IS '0001/01/01 00:00:00' (DATE)
DEFAULT FOR PAY_EARN_PERIOD_END IS '4712/12/31 00:00:00' (DATE)
DEFAULT FOR TYPE IS ' '
DEFAULT FOR pay_value is 0
DEFAULT FOR BASIC_SALARY_AMOUNT_ASG_ENTRY_VALUE is 0
L_Basic_salary2= 0
L_HR_Payment_ID = ASG_HR_ASG_ID
l_eff_date = PAY_EARN_PERIOD_END
CALL_FORMULA
('XXX_HR_GET_GRADE_RATE_VALUE'
,L_HR_Payment_ID > 'hr_id'
,l_eff_date > 'eff_date'
,'GRADE_RATE_VALUE' > 'mode'
,'XXX_HR_Mobile_GRADE_RATE' > 'grade_rate'
,L_G_AMOUNT < 'X_OUTPUT_TEXT' DEFAULT '0'
)L_GRADE_AMOUNT = to_number(L_G_AMOUNT)
L_AMOUMT_MOBILE =(L_GRADE_AMOUNT)
CALL_FORMULA
('XXX_HR_BASIC_SALARY_INFO'
,L_HR_Payment_ID > 'ASG_ID'
,l_eff_date > 'P_DATE'
,L_Basic_salary2 < 'X_OUTPUT_NUMBER' DEFAULT 0
)
l_actual_start_date = PAY_EARN_PERIOD_START
l_actual_end_date = PAY_EARN_PERIOD_END
NUMBER_OF_HOURS = MMRT_N_OVERTIME_NUMBER_OF_HOURS_ASG_ENTRY_VALUE
BASIC_SALARY = L_Basic_salary2
HOUSING_AMOUNT = BASIC_SALARY * 0.25
TRANSP_AMOUNT = BASIC_SALARY * 0.10
pay_value = OVERTIME3
RETURN pay_value
DEFAULT FOR X IS ' '
DEFAULT FOR BUSINESS_TRIP_MMRT_AMOUNT_ASG_ENTRY_VALUE is 0
DEFAULT FOR Amount is 0
DEFAULT FOR mesg is ' '
DEFAULT FOR ENTRY_LEVEL IS 'AP'
DEFAULT FOR PAYROLL_PERIOD_TYPE IS ' '
DEFAULT FOR PAY_EARN_PERIOD_START is '0001/01/01 00:00:00' (date)
DEFAULT FOR PAY_EARN_PERIOD_END is '4712/12/31 00:00:00' (date)
DEFAULT FOR Days_Of_Trip is 0
DEFAULT FOR pay_value is 0
DEFAULT FOR TRIP_TYPE IS ' '
/* Inputs */
INPUTS ARE Amount (number),Days_Of_Trip,TRIP_TYPE
IF((
X = 'SA 6'
OR X = 'SA 7'
OR X = 'SA 8'
OR X = 'SA 9'
OR X = 'SA 10'
OR X = 'SA 11'
OR X = 'SA 12'
OR X = 'SA 13')
AND TRIP_TYPE ='Inside KSA') then
(
Amount = 700 * Days_Of_Trip
)
ELSE IF
((
X = 'SA 6'
OR X = 'SA 7'
OR X = 'SA 8'
OR X = 'SA 9'
OR X = 'SA 10'
OR X = 'SA 11'
OR X = 'SA 12'
OR X = 'SA 13')
AND TRIP_TYPE ='Out Side KSA') then
(
Amount = 1000 * Days_Of_Trip
)
ELSE IF
((
X = 'SA 6'
OR X = 'SA 7'
OR X = 'SA 8'
OR X = 'SA 9'
OR X = 'SA 10'
OR X = 'SA 11'
OR X = 'SA 12'
OR X = 'SA 13'
)
AND TRIP_TYPE ='Europe') then
(
Amount = 1500 * Days_Of_Trip
)
ELSE IF
((
X = 'SA 14'
OR X = 'SA 15'
OR X = 'SA 16'
OR X = 'SA 17'
)
AND TRIP_TYPE ='Inside KSA') then
(
Amount = 1000 * Days_Of_Trip
)
ELSE IF
((
X = 'SA
14'
OR X = 'SA
15'
OR X = 'SA
16'
OR X = 'SA
17'
)
AND TRIP_TYPE ='Out Side KSA') then
(
Amount = 1400 * Days_Of_Trip
)
ELSE IF
((
X = 'SA 14'
OR X = 'SA 15'
OR X = 'SA 16'
OR X = 'SA 17') AND TRIP_TYPE ='Europe') then
(
Amount = 2000 * Days_Of_Trip
)
ELSE IF
( (
X = 'SA 18'
OR X = 'SA 19'
OR X = 'SA 20') AND TRIP_TYPE ='Inside KSA') then
(
Amount = 1500 * Days_Of_Trip
)
ELSE IF
( (
X = 'SA 18'
OR X = 'SA 19'
OR X = 'SA 20') AND TRIP_TYPE ='Out Side KSA') then
(
Amount = 1800 * Days_Of_Trip
)
ELSE IF
( (
X = 'SA 18'
OR X = 'SA 19'
OR X = 'SA 20') AND TRIP_TYPE ='Europe') then
(
Amount = 2200 * Days_Of_Trip
)
ELSE IF
( (
X = 'SA 21'
OR X = 'SA 22'
OR X = 'SA 23'
OR X = 'SA 24') AND TRIP_TYPE ='Inside KSA') then
(
Amount = 1800 * Days_Of_Trip
)
ELSE IF
( (
X = 'SA 21'
OR X = 'SA 22'
OR X = 'SA 23'
OR X = 'SA 24') AND TRIP_TYPE ='Out Side KSA') then
(
Amount = 2100 * Days_Of_Trip
)
ELSE IF
( (
X = 'SA 21'
OR X = 'SA 22'
OR X = 'SA 23'
OR X = 'SA 24') AND TRIP_TYPE ='Europe') then
(
Amount = 2500 * Days_Of_Trip
)
ELSE IF
( (
X = 'SA 25') AND TRIP_TYPE ='Inside KSA') then
(
Amount = 2100 * Days_Of_Trip
)
ELSE IF
( (
X = 'SA 25') AND TRIP_TYPE ='Out Side KSA') then
(
Amount = 2500 * Days_Of_Trip
)
ELSE IF
( (
X = 'SA 25') AND TRIP_TYPE ='Europe') then
(
Amount = 3000 * Days_Of_Trip
)
pay_value= Amount
RETURN pay_value