Sie sind auf Seite 1von 4

/******************************************************************************* **** *Formula Name : XXGWC_BASIC_FF * *Description : Formula Basic Salary and Leave salary deductions * *Inputs : NA * *Global

value: NA * ******************************************************************************** **** *Change History * *---------------------------------------------------------------------------------* *Author Date Version Description * *---------------------------------------------------------------------------------* *Ambati Srinath 27-JUL-2011 1.0 Initial Version * ******************************************************************************** ****/ Alias FOOD_ALLOWANCE_MONTHLY_AMOUNT_ENTRY_VALUE as FOA Alias FREEZER_ALLOWANCE_MONTHLY_AMOUNT_ENTRY_VALUE as FREA Alias HARDSHIP_ALLOWANCE_MONTHLY_AMOUNT_ENTRY_VALUE as HA Alias FUEL_ALLOWANCE_MONTHLY_AMOUNT_ENTRY_VALUE as FA Alias TELEPHONE_ALLOWANCE_FIXED_MONTHLY_AMOUNT_ENTRY_VALUE as TA Alias NO_ACCIDENT_BONUS_MONTHLY_AMOUNT_ENTRY_VALUE as NAB Alias BASIC_SALARY_MONTHLY_AMOUNT_ENTRY_VALUE as Basic Alias HOUSING_ALLOWANCE_MONTHLY_AMOUNT_ENTRY_VALUE as HRA Alias TRANSPORT_ALLOWANCE_MONTHLY_AMOUNT_ENTRY_VALUE as TRA Alias COST_OF_LIVING_MONTHLY_AMOUNT_ENTRY_VALUE as COL Alias SOCIAL_SECURITY_ALLOWANCE_MONTHLY_AMOUNT_ENTRY_VALUE as SSA Alias SUPPLEMENTARY_ALLOWANCE_MONTHLY_AMOUNT_ENTRY_VALUE as SA Alias OTHER_ALLOWANCE_MONTHLY_AMOUNT_ENTRY_VALUE as OA Alias FIXED_OVERTIME_MONTHLY_AMOUNT_ENTRY_VALUE as FO DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT Default Default Default Default Default Default FOR FOR FOR FOR FOR FOR FOR FOR FOR FOR FOR FOR FOR FOR for for for for for for HOUSING_ALLOWANCE_MONTHLY_AMOUNT_ENTRY_VALUE is 0 BASIC_SALARY_MONTHLY_AMOUNT_ENTRY_VALUE is 0 TRANSPORT_ALLOWANCE_MONTHLY_AMOUNT_ENTRY_VALUE is 0 COST_OF_LIVING_MONTHLY_AMOUNT_ENTRY_VALUE is 0 SOCIAL_SECURITY_ALLOWANCE_MONTHLY_AMOUNT_ENTRY_VALUE is 0 SUPPLEMENTARY_ALLOWANCE_MONTHLY_AMOUNT_ENTRY_VALUE is 0 OTHER_ALLOWANCE_MONTHLY_AMOUNT_ENTRY_VALUE is 0 FIXED_OVERTIME_MONTHLY_AMOUNT_ENTRY_VALUE is 0 PAY_PROC_PERIOD_START_DATE is '0001/01/01 00:00:00'(date) PAY_PROC_PERIOD_END_DATE IS '4712/12/31 00:00:00' (DATE) BASIC_SALARY_MONTHLY_AMOUNT_ENTRY_VALUE IS 0 EMP_HIRE_DATE IS '0001/01/01 00:00:00'(date) EMP_TERM_DATE IS '4712/12/31 00:00:00' (DATE) Annual_Leave_Salary_ASG_ITD is 0 FOOD_ALLOWANCE_MONTHLY_AMOUNT_ENTRY_VALUE is 0 FREEZER_ALLOWANCE_MONTHLY_AMOUNT_ENTRY_VALUE is 0 HARDSHIP_ALLOWANCE_MONTHLY_AMOUNT_ENTRY_VALUE is 0 FUEL_ALLOWANCE_MONTHLY_AMOUNT_ENTRY_VALUE is 0 TELEPHONE_ALLOWANCE_FIXED_MONTHLY_AMOUNT_ENTRY_VALUE NO_ACCIDENT_BONUS_MONTHLY_AMOUNT_ENTRY_VALUE is 0

is 0

l_absence_days = 0 l_hajj_leave_sal = 0 l_unpaid_retro_days = 0 l_Hajj_retro_days = 0 l_holi_overtime_retro = 0 l_weekend_overtime_retro = 0

l_overtime_retro = 0 l_start_date = Greatest(PAY_PROC_PERIOD_START_DATE,EMP_HIRE_DATE) l_end_date = Least (PAY_PROC_PERIOD_END_DATE,EMP_TERM_DATE) l_working_days = DAYS_BETWEEN(l_end_date,l_start_date) + 1 el_absence_days = XXGWC_GET_LEAVES_AVAILED ('Unpaid Leave',l_start_date,l_end_da te) l_unpaid_retro_days = XXGWC_GET_VALUE('Unpaid Leave Retro',l_end_date,'Days') l_Hajj_retro_days = XXGWC_GET_VALUE('Hajj Leave Retro',l_end_date,'Days') l_holi_overtime_retro = XXGWC_GET_VALUE('Holiday Overtime Retro',l_end_date,'H ours') l_weekend_overtime_retro = XXGWC_GET_VALUE('Week Off Pay Hours Retro',l_end_dat e,'Hours') l_overtime_retro = XXGWC_GET_VALUE('Overtime Hours Retro',l_end_date,'Hours') l_basic_sal = XXGWC_GET_SALARY(l_start_date,l_end_date,'Basic Salary','Monthly A mount',0) l_no_of_days_mnth = DAYS_BETWEEN(PAY_PROC_PERIOD_END_DATE, PAY_PROC_PERIOD_START _DATE)+1 l_basic_salary = XXGWC_GET_BASIC() l_gross_salary = XXGWC_GET_GROSS() l_basic_sal_day = l_basic_sal/l_no_of_days_mnth L_ANNUAL_LV_SAL_REC = 0 L_HOT = l_overtime_retro / 208 * l_basic_sal * 1.5 L_WOT = l_weekend_overtime_retro / 208 * l_basic_sal * 1.5 L_OT = l_overtime_retro / 208 * l_basic_sal * 1.25 /* Leave Salary Deduction */ l_al_days = XXGWC_GET_LEAVES_AVAILED ('Annual Leave',l_start_date,l_end_date) L_AL_SAL_DED = ((FOA + FREA + HA + FA + TA + NAB) / l_no_of_days_mnth) * l_al_da ys /***************** Unpaid Leave Salary Deduction********************/ L_unpaid_days = XXGWC_GET_LEAVES_AVAILED('Unpaid Leave',PAY_PROC_PERIOD_START_DA TE,PAY_PROC_PERIOD_END_DATE) + l_unpaid_retro_days l_unpaid_sal = XXGWC_GET_SALARY(l_start_date,l_end_date,'Basic Salary','Monthly Amount',L_unpaid_days) l_unpaid_sal_ded = L_unpaid_days * l_basic_sal_day /***************** End Unpaid Leave Salary Deduction ***************/ /**** Annual Leave Salary Deduction ***********/ IF Working_Days_Advance_Salary_ASG_ITD > 0 OR Annual_Leave_Salary_ASG_ITD > 0 Then L_ANNUAL_LV_SAL_REC = ((Basic + HRA + TRA + COL + SSA + SA + OA + FO)/ l_no_of_d ays_mnth) * l_al_days L_ALLOWENCE_DEDUCTION = L_AL_SAL_DED L_WORKING_DAYS_SAL_DED = Working_Days_Advance_Salary_ASG_ITD /****************** Hajj Leave Salary Deduction ***********************/ l_hajj_leaves = XXGWC_GET_LEAVES_AVAILED('Hajj Leave',PAY_PROC_PERIOD_START_DATE ,PAY_PROC_PERIOD_END_DATE) + l_Hajj_retro_days

l_hajj_leave_sal = l_hajj_leaves * l_basic_sal_day /****************** End OF Hajj Leave ********************************/ IF L_ANNUAL_LV_SAL_REC > 0 Then ( RETURN l_basic_sal, l_unpaid_sal_ded, l_hajj_leave_sal, L_ANNUAL_LV_SAL_REC, L_H OT, L_WOT, L_OT, L_ALLOWENCE_DEDUCTION, L_WORKING_DAYS_SAL_DED ) Else RETURN l_basic_sal, l_unpaid_sal_ded, l_hajj_leave_sal,L_HOT, L_WOT, L_OT /*************************recover annual leave advance*********************/ /* l_no_of_lvs_taken = 0 l_no_of_lvs_taken = XXGWC_GET_LEAVES_AVAILED('Annual Leave',PAY_PROC_PERIOD_STAR T_DATE,PAY_PROC_PERIOD_END_DATE) L_gross_sal = XXGWC_GET_GROSS() l_per_day_ann_sal = l_gross_sal / l_working_days l_days_wrkd_sal = GWC_AL_ADVANCE_PAY_ASG_ITD l_annual_leave_sal = l_no_of_lvs_taken * l_per_day_ann_sal */ /**** Annual Leave Salary Deduction ***********/ /*l_no_of_lvs_taken = 0 l_no_of_lvs_taken = XXGWC_GET_LEAVES_AVAILED('Annual Leave',PAY_PROC_PERIOD_STAR T_DATE,PAY_PROC_PERIOD_END_DATE) L_gross_sal = XXGWC_GET_GROSS() l_per_day_ann_sal = l_gross_sal / l_working_days l_days_wrkd_sal = GWC_AL_ADVANCE_PAY_ASG_ITD l_annual_leave_sal = l_no_of_lvs_taken * l_per_day_ann_sal RETURN l_annual_leave_sal*/ /* X_WORKING = WORKING_DAYS_ADVANCE_SALARY_ASG_ITD X_LEAVE_ADV = ANNUAL_LEAVE_ADVANCE_SALARY_ASG_ITD IF X_WORKING >0 OR X_LEAVE_ADV >0 THEN ( IF X_WORKING >0 AND X_LEAVE_ADV >0 THEN ( L_annual_leave_days = XXGWC_GET_LEAVES_AVAILED('Annual Leave',PA Y_PROC_PERIOD_START_DATE,PAY_PROC_PERIOD_END_DATE) Y_ANNUAL_LEAVE_REC = (l_gross_salary/l_no_of_days_mnth)*L_annual _leave_days RETURN l_basic_sal, l_unpaid_sal_ded, l_hajj_leave_sal,X_WORKING ,Y_ANNUAL_LEAVE_REC ) ELSE ( L_annual_leave_days = XXGWC_GET_LEAVES_AVAILED('Annual Leave',PA Y_PROC_PERIOD_START_DATE,PAY_PROC_PERIOD_END_DATE) Y_ANNUAL_LEAVE_REC = (l_gross_salary/l_no_of_days_mnth)*L_annual _leave_days RETURN l_basic_sal, l_unpaid_sal_ded, l_hajj_leave_sal,Y_ANNUAL_ LEAVE_REC )

) */

Das könnte Ihnen auch gefallen