Professional Documents
Culture Documents
procedure XXX_SIT_ELEMT_ENTRY_P AS
V_DATE DATE ;
l_start_date_out date;
l_end_date_out date;
l_element_entry_id number;
l_PROCESS_FLAG CHAR;
NO_OF_INS NUMBER;
BS_AMT NUMBER;
CURSOR CC IS
SELECT
a.ID_FLEX_NUM,
FIS.ID_FLEX_STRUCTURE_CODE,
A.PERSON_ANALYSIS_ID , -- WILL STORE IN Element Entries Dff attribute4 and
attribute5='Y'
C.BUSINESS_GROUP_ID,
C.PERSON_ID,
C.EMPLOYEE_NUMBER,
C.FULL_NAME,
B.SEGMENT1 l_entry_value1 ,
B.SEGMENT2 l_entry_value2 ,
B.SEGMENT3 l_entry_value3 ,
B.SEGMENT4 l_entry_value4 ,
B.SEGMENT5 l_entry_value5 ,
B.SEGMENT6 l_entry_value6 ,
B.SEGMENT7 l_entry_value7 ,
B.SEGMENT8 l_entry_value8 ,
B.SEGMENT9 l_entry_value9 ,
B.SEGMENT10 l_entry_value10,
B.SEGMENT11 l_entry_value11,
B.SEGMENT12 l_entry_value12,
B.SEGMENT13 l_entry_value13,
B.SEGMENT14 l_entry_value14,
B.SEGMENT15 l_entry_value15,
NVL(COUNTRY.MEANING,COUNTRY2.MEANING), --- NATIONALITY DXB
xxhr_oig_payroll_all.GET_HOUSING_ALLOWANCE_V1 (
ASG.assignment_id ,
NVL(COUNTRY.MEANING,COUNTRY2.MEANING),
nvl(nvl(c.ATTRIBUTE23,pg.ATTRIBUTE1),'No'),
pg.name,
xxx_get_basic_sal( c.PERSON_ID,c.BUSINESS_GROUP_ID),
1
) housing_allowance
FROM PER_PERSON_ANALYSES A,
PER_ANALYSIS_CRITERIA B,
PER_ALL_PEOPLE_F C,
per_assignments_f ASG,
FND_ID_FLEX_STRUCTURES FIS,
(select lookup_code ,meaning from HR_LOOKUPS ff where ff.LOOKUP_TYPE =
'NATIONALITY' and ff.ENABLED_FLAG='Y' ) COUNTRY,
(select lookup_code ,meaning from HR_LOOKUPS ff where ff.LOOKUP_TYPE =
'AE_NATIONALITY' and ff.ENABLED_FLAG='Y' ) COUNTRY2,
per_grades pg
WHERE b.ID_FLEX_NUM =FIS.ID_FLEX_NUM
---(select ID_FLEX_NUM from FND_ID_FLEX_STRUCTURES where ID_FLEX_STRUCTURE_CODE =
'OIG_BUSINESS_TRIP')
and a.analysis_criteria_id = b.analysis_criteria_id
AND A.PERSON_ID=C.PERSON_ID
AND C.PERSON_ID=ASG.PERSON_ID
and asg.GRADE_ID=pg.GRADE_ID(+)
and asg.BUSINESS_GROUP_ID=pg.BUSINESS_GROUP_ID(+)
---AND C.EMPLOYEE_NUMBER IN ('800024','200322')
AND ASG.PRIMARY_FLAG='Y'
AND COUNTRY.lookup_code(+)=C.NATIONALITY
AND COUNTRY2.lookup_code(+)=C.PER_INFORMATION18
AND SYSDATE BETWEEN ASG.EFFECTIVE_START_DATE AND ASG.EFFECTIVE_END_DATE
AND SYSDATE BETWEEN c.EFFECTIVE_START_DATE AND c.EFFECTIVE_END_DATE
AND A.PERSON_ANALYSIS_ID NOT IN (SELECT NVL(FF.ATTRIBUTE15,0) PERSON_ANALYSIS_ID
FROM PER_PERSON_ANALYSES FF
WHERE FF.ATTRIBUTE15 IS NOT NULL)
BEGIN
FOR C IN CC LOOP
IF c.ID_FLEX_STRUCTURE_CODE='OIG_BUSINESS_TRIP' THEN
DBMS_OUTPUT.put_line('Start Date:'||C.l_entry_value1||' End Date:'||
C.l_entry_value2||' Region:'||C.l_entry_value8||' Country:'||C.l_entry_value9 );
--- P_ELEMENT_NAME =>'Business Trip Allowance',
XXX_SIT_ELEMENT_ENTRIES
(
P_BUSINESS_GROUP_ID =>C.BUSINESS_GROUP_ID,
P_PERSON_ID =>C.PERSON_ID ,
P_PERSON_ANALYSIS_ID =>C.PERSON_ANALYSIS_ID,
P_ELEMENT_NAME =>'Business Trip Allowance',
p_input_name_1 => 'Trip Start Date',
p_input_name_2 => 'Trip End Date',
p_input_name_7 =>'Country' ,
p_input_name_8 => 'Region Name',
p_input_value_1 => to_char(to_date(C.l_entry_value1,'yyyy/mm/dd
hh24:mi:ss'),'dd-mon-yyyy'),
p_input_value_2 => to_char(to_date(C.l_entry_value2,'yyyy/mm/dd
hh24:mi:ss'),'dd-mon-yyyy'),
p_input_value_8 => C.l_entry_value8,
p_input_value_7 =>C.l_entry_value9,
XXX_SIT_ELEMENT_ENTRIES
(
P_BUSINESS_GROUP_ID =>C.BUSINESS_GROUP_ID,
P_PERSON_ID =>C.PERSON_ID ,
P_PERSON_ANALYSIS_ID =>C.PERSON_ANALYSIS_ID,
P_ELEMENT_NAME =>'Housing Advance Recovery',
p_input_name_1 => 'Amount',
p_input_name_2 => 'Installment Amount',
p_input_name_3 => 'No Of Installments' ,
p_input_name_4 => 'Deduction Start Date',
-- p_input_name_5 => 'Total Recovered',
-- p_input_name_6 => 'Hold',
--- p_input_name_7 => 'Pay Value',
p_input_value_1 => BS_AMT, --- PAY VALUE
p_input_value_2 => c.housing_allowance, --- CHILDREN NAME
p_input_value_3 => NO_OF_INS,
p_input_value_4 => to_char(sysdate,'DD-MON-RRRR'),
dbms_output.put_line('CBOB_RUH_HOWSING_ALLOWANCE');
IF C.l_entry_value1 ='Yes' THEN
-- P_ELEMENT_NAME =>'School Fees Reimbursement'
XXX_SIT_ELEMENT_ENTRIES
(
P_BUSINESS_GROUP_ID =>C.BUSINESS_GROUP_ID,
P_PERSON_ID =>C.PERSON_ID ,
P_PERSON_ANALYSIS_ID =>C.PERSON_ANALYSIS_ID,
P_ELEMENT_NAME =>'Housing Allowance Advance',
-- p_input_name_1 => 'Pay Value',
p_input_name_1 => 'Override Value',
p_input_name_2 => 'Reason' ,
---p_input_name_4 => 'Comments',
p_input_value_1 => C.housing_allowance, --- Override VALUE
p_input_value_2 => C.l_entry_value2,
---p_input_value_3 => C.l_entry_value2,
-- p_input_value_4 => C.l_entry_value4,
XXX_SIT_ELEMENT_ENTRIES
(
P_BUSINESS_GROUP_ID =>C.BUSINESS_GROUP_ID,
P_PERSON_ID =>C.PERSON_ID ,
P_PERSON_ANALYSIS_ID =>C.PERSON_ANALYSIS_ID,
P_ELEMENT_NAME =>'Housing Advance Recovery',
p_input_name_1 => 'Amount',
p_input_name_2 => 'Installment Amount',
p_input_name_3 => 'No Of Installments' ,
p_input_name_4 => 'Deduction Start Date',
-- p_input_name_5 => 'Total Recovered',
-- p_input_name_6 => 'Hold',
--- p_input_name_7 => 'Pay Value',
p_input_value_1 => c.housing_allowance, --- PAY VALUE
p_input_value_2 => c.housing_allowance/12, --- CHILDREN NAME
p_input_value_3 => NO_OF_INS,
p_input_value_4 => to_char(sysdate,'DD-MON-RRRR'),
END LOOP;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('Error 2:'||SQLERRM);
NULL;
END XXX_SIT_ELEMT_ENTRY_P;
procedure XXX_SIT_ELEMT_ENTRY_WOD AS
V_DATE DATE ;
l_start_date_out date;
l_end_date_out date;
l_element_entry_id number;
l_PROCESS_FLAG CHAR;
NO_OF_INS NUMBER;
BS_AMT NUMBER;
CURSOR CC IS
SELECT
a.ID_FLEX_NUM,
FIS.ID_FLEX_STRUCTURE_CODE,
decode (C.BUSINESS_GROUP_ID,101,'Compensatory Leave Plan Carried
Over',162,'Compensatory Leave Plan Carried Over','Compensation Leave Plan Carried
Over') Element_Name,
A.PERSON_ANALYSIS_ID , -- WILL STORE IN Element Entries Dff attribute4 and
attribute5='Y'
C.BUSINESS_GROUP_ID,
C.PERSON_ID,
C.EMPLOYEE_NUMBER,
C.FULL_NAME,
B.SEGMENT1 l_entry_value1 ,
B.SEGMENT2 l_entry_value2 ,
B.SEGMENT3 l_entry_value3 ,
B.SEGMENT4 l_entry_value4 ,
B.SEGMENT5 l_entry_value5 ,
B.SEGMENT6 l_entry_value6 ,
B.SEGMENT7 l_entry_value7 ,
B.SEGMENT8 l_entry_value8 ,
B.SEGMENT9 l_entry_value9 ,
B.SEGMENT10 l_entry_value10,
B.SEGMENT11 l_entry_value11,
B.SEGMENT12 l_entry_value12,
B.SEGMENT13 l_entry_value13,
B.SEGMENT14 l_entry_value14,
B.SEGMENT15 l_entry_value15,
NVL(COUNTRY.MEANING,COUNTRY2.MEANING), --- NATIONALITY DXB
xxhr_oig_payroll_all.GET_HOUSING_ALLOWANCE_V1 (
ASG.assignment_id ,
NVL(COUNTRY.MEANING,COUNTRY2.MEANING),
nvl(nvl(c.ATTRIBUTE23,pg.ATTRIBUTE1),'No'),
pg.name,
xxx_get_basic_sal( c.PERSON_ID,c.BUSINESS_GROUP_ID),
1
) housing_allowance
FROM PER_PERSON_ANALYSES A,
PER_ANALYSIS_CRITERIA B,
PER_ALL_PEOPLE_F C,
per_assignments_f ASG,
FND_ID_FLEX_STRUCTURES FIS,
(select lookup_code ,meaning from HR_LOOKUPS ff where ff.LOOKUP_TYPE =
'NATIONALITY' and ff.ENABLED_FLAG='Y' ) COUNTRY,
(select lookup_code ,meaning from HR_LOOKUPS ff where ff.LOOKUP_TYPE =
'AE_NATIONALITY' and ff.ENABLED_FLAG='Y' ) COUNTRY2,
per_grades pg
WHERE b.ID_FLEX_NUM =FIS.ID_FLEX_NUM
---(select ID_FLEX_NUM from FND_ID_FLEX_STRUCTURES where ID_FLEX_STRUCTURE_CODE =
'OIG_BUSINESS_TRIP')
and a.analysis_criteria_id = b.analysis_criteria_id
AND A.PERSON_ID=C.PERSON_ID
AND C.PERSON_ID=ASG.PERSON_ID
and asg.GRADE_ID=pg.GRADE_ID(+)
and asg.BUSINESS_GROUP_ID=pg.BUSINESS_GROUP_ID(+)
---AND C.EMPLOYEE_NUMBER IN ('800024','200322')
AND ASG.PRIMARY_FLAG='Y'
AND COUNTRY.lookup_code(+)=C.NATIONALITY
AND COUNTRY2.lookup_code(+)=C.PER_INFORMATION18
AND SYSDATE BETWEEN ASG.EFFECTIVE_START_DATE AND ASG.EFFECTIVE_END_DATE
AND SYSDATE BETWEEN c.EFFECTIVE_START_DATE AND c.EFFECTIVE_END_DATE
AND A.PERSON_ANALYSIS_ID NOT IN (SELECT NVL(FF.ATTRIBUTE15,0) PERSON_ANALYSIS_ID
FROM PER_PERSON_ANALYSES FF
WHERE FF.ATTRIBUTE15 IS NOT NULL)
and ID_FLEX_STRUCTURE_CODE in (
'CBOB_DXB_WORK_ON_OFF_DAY_APPRV'
);
BEGIN
FOR C IN CC LOOP
IF c.ID_FLEX_STRUCTURE_CODE='CBOB_DXB_WORK_ON_OFF_DAY_APPRV' THEN
DBMS_OUTPUT.put_line('Expense Date From:'||C.l_entry_value1||' Expense Date
To:'||C.l_entry_value2||' Amount:'||C.l_entry_value3||' Comments:'||
C.l_entry_value4 );
-- P_ELEMENT_NAME =>'School Fees Reimbursement'
xxx_sit_element_entries_new
(
P_BUSINESS_GROUP_ID =>C.BUSINESS_GROUP_ID,
P_PERSON_ID =>C.PERSON_ID ,
p_eff_start_date =>TO_CHAR(TO_DATE(TRIM(C.l_entry_value2),'YYYY/MM/DD
HH24:MI:SS'),'DD-MON-YYYY') ,
P_ELEMENT_NAME => c.Element_Name , ---'Compensation Leave Plan Carried
Over',
p_input_name_1 => 'Entry Effective Date',
p_input_name_2 => 'Expiration Date',
p_input_name_3 => 'Plan Days' ,
p_input_value_1 => TO_CHAR(TO_DATE(TRIM(C.l_entry_value2),'YYYY/MM/DD
HH24:MI:SS')+1,'DD-MON-YYYY') , --- PAY VALUE
p_input_value_2 => TO_CHAR(TO_DATE(TRIM(C.l_entry_value2),'YYYY/MM/DD
HH24:MI:SS')+365,'DD-MON-YYYY') , --- CHILDREN NAME
end if;
UPDATE PER_PERSON_ANALYSES FF
SET FF.ATTRIBUTE15 =c.PERSON_ANALYSIS_ID -- p_PROCESS_FLAG
WHERE
PERSON_ANALYSIS_ID=c.PERSON_ANALYSIS_ID;
END LOOP;
commit;
EXCEPTION
WHEN OTHERS THEN
rollback;
dbms_output.put_line('Error 2:'||SQLERRM);
END XXX_SIT_ELEMT_ENTRY_WOD;