5: /**************************************************************************/
6: /**************************Call_PP_From_Assignments************************/
7: /**************************************************************************/
8:
9: g_debug boolean := hr_utility.debug_enabled;
10:
11: Function dt_del_mode
12: (P_EFFECTIVE_DATE IN DATE
13: ,P_BASE_TABLE_NAME IN VARCHAR2
20: l_delete_next_change Boolean;
21: --
22: Begin
23: --
24: g_debug := hr_utility.debug_enabled;
25: if g_debug then
26: hr_utility.set_location(' DT Mode ',10);
27: hr_utility.set_location(' P_Effective_Date ' || P_Effective_Date, 20);
28: hr_utility.set_location(' P_BASE_TABLE_NAME ' || P_BASE_TABLE_NAME,30);
22: Begin
23: --
24: g_debug := hr_utility.debug_enabled;
25: if g_debug then
26: hr_utility.set_location(' DT Mode ',10);
27: hr_utility.set_location(' P_Effective_Date ' || P_Effective_Date, 20);
28: hr_utility.set_location(' P_BASE_TABLE_NAME ' || P_BASE_TABLE_NAME,30);
29: hr_utility.set_location(' P_BASE_KEY_COLUMN ' || P_BASE_KEY_COLUMN, 40);
30: hr_utility.set_location(' P_BASE_KEY_VALUE ' || P_BASE_KEY_VALUE, 50);
23: --
24: g_debug := hr_utility.debug_enabled;
25: if g_debug then
26: hr_utility.set_location(' DT Mode ',10);
27: hr_utility.set_location(' P_Effective_Date ' || P_Effective_Date, 20);
28: hr_utility.set_location(' P_BASE_TABLE_NAME ' || P_BASE_TABLE_NAME,30);
29: hr_utility.set_location(' P_BASE_KEY_COLUMN ' || P_BASE_KEY_COLUMN, 40);
30: hr_utility.set_location(' P_BASE_KEY_VALUE ' || P_BASE_KEY_VALUE, 50);
31: End If;
24: g_debug := hr_utility.debug_enabled;
25: if g_debug then
26: hr_utility.set_location(' DT Mode ',10);
27: hr_utility.set_location(' P_Effective_Date ' || P_Effective_Date, 20);
28: hr_utility.set_location(' P_BASE_TABLE_NAME ' || P_BASE_TABLE_NAME,30);
29: hr_utility.set_location(' P_BASE_KEY_COLUMN ' || P_BASE_KEY_COLUMN, 40);
30: hr_utility.set_location(' P_BASE_KEY_VALUE ' || P_BASE_KEY_VALUE, 50);
31: End If;
32:
25: if g_debug then
26: hr_utility.set_location(' DT Mode ',10);
27: hr_utility.set_location(' P_Effective_Date ' || P_Effective_Date, 20);
28: hr_utility.set_location(' P_BASE_TABLE_NAME ' || P_BASE_TABLE_NAME,30);
29: hr_utility.set_location(' P_BASE_KEY_COLUMN ' || P_BASE_KEY_COLUMN, 40);
30: hr_utility.set_location(' P_BASE_KEY_VALUE ' || P_BASE_KEY_VALUE, 50);
31: End If;
32:
33: dt_api.find_dt_del_modes
26: hr_utility.set_location(' DT Mode ',10);
27: hr_utility.set_location(' P_Effective_Date ' || P_Effective_Date, 20);
28: hr_utility.set_location(' P_BASE_TABLE_NAME ' || P_BASE_TABLE_NAME,30);
29: hr_utility.set_location(' P_BASE_KEY_COLUMN ' || P_BASE_KEY_COLUMN, 40);
30: hr_utility.set_location(' P_BASE_KEY_VALUE ' || P_BASE_KEY_VALUE, 50);
31: End If;
32:
33: dt_api.find_dt_del_modes
34: (p_effective_date => p_effective_date
65: L_UPDATE_OVERRIDE Boolean;
66: L_UPDATE_CHANGE_INSERT Boolean;
67:
68: Begin
69: g_debug := hr_utility.debug_enabled;
70: if g_debug then
71: hr_utility.set_location(' DT Mode ',10);
72: hr_utility.set_location(' P_Effective_Date ' || P_Effective_Date, 20);
73: hr_utility.set_location(' P_BASE_TABLE_NAME ' || P_BASE_TABLE_NAME,30);
67:
68: Begin
69: g_debug := hr_utility.debug_enabled;
70: if g_debug then
71: hr_utility.set_location(' DT Mode ',10);
72: hr_utility.set_location(' P_Effective_Date ' || P_Effective_Date, 20);
73: hr_utility.set_location(' P_BASE_TABLE_NAME ' || P_BASE_TABLE_NAME,30);
74: hr_utility.set_location(' P_BASE_KEY_COLUMN ' || P_BASE_KEY_COLUMN, 40);
75: hr_utility.set_location(' P_BASE_KEY_VALUE ' || P_BASE_KEY_VALUE, 50);
68: Begin
69: g_debug := hr_utility.debug_enabled;
70: if g_debug then
71: hr_utility.set_location(' DT Mode ',10);
72: hr_utility.set_location(' P_Effective_Date ' || P_Effective_Date, 20);
73: hr_utility.set_location(' P_BASE_TABLE_NAME ' || P_BASE_TABLE_NAME,30);
74: hr_utility.set_location(' P_BASE_KEY_COLUMN ' || P_BASE_KEY_COLUMN, 40);
75: hr_utility.set_location(' P_BASE_KEY_VALUE ' || P_BASE_KEY_VALUE, 50);
76: End If;
69: g_debug := hr_utility.debug_enabled;
70: if g_debug then
71: hr_utility.set_location(' DT Mode ',10);
72: hr_utility.set_location(' P_Effective_Date ' || P_Effective_Date, 20);
73: hr_utility.set_location(' P_BASE_TABLE_NAME ' || P_BASE_TABLE_NAME,30);
74: hr_utility.set_location(' P_BASE_KEY_COLUMN ' || P_BASE_KEY_COLUMN, 40);
75: hr_utility.set_location(' P_BASE_KEY_VALUE ' || P_BASE_KEY_VALUE, 50);
76: End If;
77:
70: if g_debug then
71: hr_utility.set_location(' DT Mode ',10);
72: hr_utility.set_location(' P_Effective_Date ' || P_Effective_Date, 20);
73: hr_utility.set_location(' P_BASE_TABLE_NAME ' || P_BASE_TABLE_NAME,30);
74: hr_utility.set_location(' P_BASE_KEY_COLUMN ' || P_BASE_KEY_COLUMN, 40);
75: hr_utility.set_location(' P_BASE_KEY_VALUE ' || P_BASE_KEY_VALUE, 50);
76: End If;
77:
78: Dt_Api.FIND_DT_UPD_MODES
71: hr_utility.set_location(' DT Mode ',10);
72: hr_utility.set_location(' P_Effective_Date ' || P_Effective_Date, 20);
73: hr_utility.set_location(' P_BASE_TABLE_NAME ' || P_BASE_TABLE_NAME,30);
74: hr_utility.set_location(' P_BASE_KEY_COLUMN ' || P_BASE_KEY_COLUMN, 40);
75: hr_utility.set_location(' P_BASE_KEY_VALUE ' || P_BASE_KEY_VALUE, 50);
76: End If;
77:
78: Dt_Api.FIND_DT_UPD_MODES
79: (P_EFFECTIVE_DATE => P_Effective_Date
214: and Ler.Effective_End_Date;
215:
216: Begin
217:
218: g_debug := hr_utility.debug_enabled;
219:
220: /* Initialize the Process Log */
221: Savepoint Assgt_Enrolment;
222:
220: /* Initialize the Process Log */
221: Savepoint Assgt_Enrolment;
222:
223: if g_debug then
224: hr_utility.set_location(' Inside Asgt Call ', 10);
225: End If;
226:
227: Open Person_Dtls;
228: Fetch Person_Dtls Into l_Person_Name, l_Last_Name,l_Person_Id, l_Grade_id, l_Pgm_Id;
269: Fetch Strtd_Le_Exits into l_Le_Exists;
270: if Strtd_Le_Exits%FOUND then
271: /* open Life Event already exists for the person */
272: if g_debug then
273: hr_utility.set_location(' leaving Asgt Call ', 20);
274: End If;
275: Close Strtd_Le_Exits;
276: If pqh_process_batch_log.g_module_cd = 'PQH_GSP_ASSIGN_ENTL' Then
277: fnd_message.set_name('PQH','PQH_GSP_LE_STRT');
305: ,P_Date_track_Mode => P_Date_Track_Mode
306: ,P_Elig_Per_Elctbl_Chc_Id => l_Elig_per_Elctbl_Chc_Id);
307:
308: if g_debug then
309: hr_utility.set_location(' Completed Override Eligibility ', 30);
310: End If;
311:
312:
313: If L_Update_Salary_Cd <> 'NO_UPDATE' and l_Elig_per_Elctbl_Chc_Id is NOT NULL Then
319: ,P_Prv_Sal_Chg_Dt => l_Lst_Rt_Chg_Dt);
320: End If;
321:
322: if g_debug then
323: hr_utility.set_location(' Completed Salary Update ', 40);
324: End If;
325:
326: /* Log the Entry in Process Log as Complete */
327:
408: l_VOIDD_DT Date;
409:
410: Begin
411:
412: g_debug := hr_utility.debug_enabled;
413: pqh_process_batch_log.g_module_cd := 'PQH_GSP_BENMNGLE';
414:
415: if P_Elig_per_Elctbl_Chc_Id = NULL then
416: fnd_message.set_name('PQH','PQH_GSP_DFLT_SLCT_ERR');
426: Fetch Pgm_Dtl into L_UPdate_Salary_Cd;
427: Close Pgm_Dtl;
428:
429: if g_debug then
430: hr_utility.set_location(' Inside Benmngle call ', 10);
431: End If;
432:
433: /* Update the Assignment Record with the new grade , Step */
434:
436: (P_Elig_Per_Elctbl_Chc_Id => P_Elig_per_Elctbl_Chc_Id
437: ,P_Effective_Date => P_Effective_Date);
438:
439: if g_debug then
440: hr_utility.set_location(' Completed Asgt Update ', 30);
441: End If;
442:
443: /* Update the Salary */
444:
448: ,P_Effective_Date => P_Effective_Date);
449: End If;
450:
451: if g_debug then
452: hr_utility.set_location(' Completed Sal Update ', 40);
453: End If;
454:
455: Ben_Person_Life_Event_api.UPDATE_PERSON_LIFE_EVENT
456: (P_PER_IN_LER_ID => l_PER_IN_LER_ID
461: ,P_OBJECT_VERSION_NUMBER => L_Pil_Ovn
462: ,P_EFFECTIVE_DATE => P_Effective_Date);
463:
464: if g_debug then
465: hr_utility.set_location(' Completed PIL Update ', 20);
466: End if;
467:
468: pqh_process_batch_log.g_module_cd := NULL;
469: Exception
548: l_business_group_id Number;
549:
550: Begin
551:
552: g_debug := hr_utility.debug_enabled;
553:
554: L_Effective_Date := Fnd_Date.CANONICAL_TO_DATE(P_Effective_Date);
555: l_business_group_id := hr_General.get_Business_group_id;
556:
553:
554: L_Effective_Date := Fnd_Date.CANONICAL_TO_DATE(P_Effective_Date);
555: l_business_group_id := hr_General.get_Business_group_id;
556:
557: hr_utility.set_location(' Entering ', 10);
558: hr_utility.set_location(' L_Effective_Date'||L_Effective_Date, 20);
559:
560:
561: L_Concurrent_Req_Id := fnd_global.conc_request_id;
554: L_Effective_Date := Fnd_Date.CANONICAL_TO_DATE(P_Effective_Date);
555: l_business_group_id := hr_General.get_Business_group_id;
556:
557: hr_utility.set_location(' Entering ', 10);
558: hr_utility.set_location(' L_Effective_Date'||L_Effective_Date, 20);
559:
560:
561: L_Concurrent_Req_Id := fnd_global.conc_request_id;
562:
590: and Ler.Effective_End_Date;
591:
592: If l_Cnt > 0 then
593: if g_debug then
594: hr_utility.set_location(' leaving Asgt Call ', 20);
595: End If;
596: Else
597:
598: l_assignment_id := Asgt_Rec.assignment_id;
624: (P_EFFECTIVE_DATE => L_Effective_Date
625: ,P_BASE_TABLE_NAME => 'PER_ALL_ASSIGNMENTS_F'
626: ,P_BASE_KEY_COLUMN => 'ASSIGNMENT_ID'
627: ,P_BASE_KEY_VALUE => L_Assignment_id);
628: hr_utility.set_location('L_date_track_mode:'||L_DATE_TRACK_MODE,90);
629: IF l_date_track_mode = 'CORRECTION' OR l_date_track_mode = 'UPDATE' THEN
630: Hr_Assignment_Api.Update_Emp_Asg_Criteria
631: (p_effective_date => L_Effective_Date
632: ,p_datetrack_update_mode => L_Date_Track_Mode
680: ,p_module_cd => 'PQH_GSP_BATCH_ENRL'
681: ,p_message_type_cd => 'E'
682: ,p_message_text => Nvl(fnd_Message.get,sqlerrm)
683: ,P_Effective_Date => L_Effective_Date);
684: hr_utility.set_location('Erro:'|| l_Error_Exists,120);
685: End;
686: End Loop;
687:
688: If L_Error_Exists = 'N' Then
694: fnd_Message.Set_Token('MODULE',Hr_general.Decode_lookup('PQH_PROCESS_LOG_TREE','PQH_GSP_BATCH_ENRL'));
695: fnd_file.put_line(fnd_file.log,Fnd_Message.get);
696: l_conc_status := fnd_concurrent.set_completion_status(status => 'ERROR'
697: ,message=>SQLERRM);
698: hr_utility.set_location('Some Error:'|| SQLERRM,120);
699: End If;
700: hr_utility.set_location(' Leaving ', 10);
701: PQH_PROCESS_BATCH_LOG.END_LOG;
702: Commit;
696: l_conc_status := fnd_concurrent.set_completion_status(status => 'ERROR'
697: ,message=>SQLERRM);
698: hr_utility.set_location('Some Error:'|| SQLERRM,120);
699: End If;
700: hr_utility.set_location(' Leaving ', 10);
701: PQH_PROCESS_BATCH_LOG.END_LOG;
702: Commit;
703: End Call_PP_For_Batch_Enrl;
704:
957: l_max_lf_evt_date Date;
958:
959: Begin
960:
961: g_debug := hr_utility.debug_enabled;
962:
963: Open Person_Info;
964: Fetch Person_Info Into L_Person_Id, L_BG_Id , L_Grade_Id, L_pay_basis_id, l_Pgm_Id, l_New_Enrlmt_Dt;
965: Close Person_Info;
964: Fetch Person_Info Into L_Person_Id, L_BG_Id , L_Grade_Id, L_pay_basis_id, l_Pgm_Id, l_New_Enrlmt_Dt;
965: Close Person_Info;
966:
967: if g_debug then
968: hr_utility.set_location(' Inside Override Eligibility ', 10);
969: End if;
970:
971: If L_Grade_Id is NULL then
972: /* Grade Not defined for the assignment
1027:
1028:
1029:
1030: if g_debug then
1031: hr_utility.set_location(' Pgm_Id : ' || l_Pgm_Id, 20);
1032: hr_utility.set_location(' Grade Id : ' || L_Grade_Id, 30);
1033: End if;
1034:
1035: Open Ben_Grd_Dtls(l_Pgm_Id, L_Grade_Id);
1028:
1029:
1030: if g_debug then
1031: hr_utility.set_location(' Pgm_Id : ' || l_Pgm_Id, 20);
1032: hr_utility.set_location(' Grade Id : ' || L_Grade_Id, 30);
1033: End if;
1034:
1035: Open Ben_Grd_Dtls(l_Pgm_Id, L_Grade_Id);
1036: Fetch Ben_Grd_Dtls into L_Pl_id, l_plip_Id , l_Prog_style, L_Update_Salary_Cd, l_Dflt_Element_typ_Id;
1051: End If;
1052:
1053: If l_Prog_style = 'PQH_GSP_GP' and l_PL_Id = Nvl(L_Curr_Pl_Id, -999) and nvl(l_prev_assgt_id,p_assignment_id) = p_assignment_id Then --4125962
1054: if g_debug then
1055: hr_utility.set_location(' Enrollment Exists 1 .. leaving ' || l_Prog_style, 40);
1056: End if;
1057: P_Elig_Per_Elctbl_Chc_Id := NULL;
1058: Return;
1059: End If;
1107: Open Opt_Bas_rt(l_Opt_Id);
1108: Fetch Opt_Bas_Rt into l_ACTY_BASE_RT_ID, l_Rt_Typ_cd, l_Entr_Ann_Val_Flag;
1109: Close Opt_Bas_Rt;
1110: if g_debug then
1111: hr_utility.set_location(' l_Pgm_Id ' || l_Pgm_Id, 50);
1112: hr_utility.set_location(' L_Pl_id ' || L_Pl_id, 60);
1113: hr_utility.set_location(' l_Oipl_Id ' || l_Oipl_Id, 70);
1114: hr_utility.set_location(' L_Person_Id ' || L_Person_Id, 80);
1115: End if;
1108: Fetch Opt_Bas_Rt into l_ACTY_BASE_RT_ID, l_Rt_Typ_cd, l_Entr_Ann_Val_Flag;
1109: Close Opt_Bas_Rt;
1110: if g_debug then
1111: hr_utility.set_location(' l_Pgm_Id ' || l_Pgm_Id, 50);
1112: hr_utility.set_location(' L_Pl_id ' || L_Pl_id, 60);
1113: hr_utility.set_location(' l_Oipl_Id ' || l_Oipl_Id, 70);
1114: hr_utility.set_location(' L_Person_Id ' || L_Person_Id, 80);
1115: End if;
1116: If L_PL_Id = Nvl(l_Curr_PL_Id,-999) and l_Oipl_id = Nvl(l_Curr_oipl_Id,-9999) and nvl(l_prev_assgt_id,p_assignment_id) = p_assignment_id Then --4125962
1109: Close Opt_Bas_Rt;
1110: if g_debug then
1111: hr_utility.set_location(' l_Pgm_Id ' || l_Pgm_Id, 50);
1112: hr_utility.set_location(' L_Pl_id ' || L_Pl_id, 60);
1113: hr_utility.set_location(' l_Oipl_Id ' || l_Oipl_Id, 70);
1114: hr_utility.set_location(' L_Person_Id ' || L_Person_Id, 80);
1115: End if;
1116: If L_PL_Id = Nvl(l_Curr_PL_Id,-999) and l_Oipl_id = Nvl(l_Curr_oipl_Id,-9999) and nvl(l_prev_assgt_id,p_assignment_id) = p_assignment_id Then --4125962
1117: if g_debug then
1110: if g_debug then
1111: hr_utility.set_location(' l_Pgm_Id ' || l_Pgm_Id, 50);
1112: hr_utility.set_location(' L_Pl_id ' || L_Pl_id, 60);
1113: hr_utility.set_location(' l_Oipl_Id ' || l_Oipl_Id, 70);
1114: hr_utility.set_location(' L_Person_Id ' || L_Person_Id, 80);
1115: End if;
1116: If L_PL_Id = Nvl(l_Curr_PL_Id,-999) and l_Oipl_id = Nvl(l_Curr_oipl_Id,-9999) and nvl(l_prev_assgt_id,p_assignment_id) = p_assignment_id Then --4125962
1117: if g_debug then
1118: hr_utility.set_location(' Enrollment Exists 2 .. leaving ' || l_Prog_style, 90);
1114: hr_utility.set_location(' L_Person_Id ' || L_Person_Id, 80);
1115: End if;
1116: If L_PL_Id = Nvl(l_Curr_PL_Id,-999) and l_Oipl_id = Nvl(l_Curr_oipl_Id,-9999) and nvl(l_prev_assgt_id,p_assignment_id) = p_assignment_id Then --4125962
1117: if g_debug then
1118: hr_utility.set_location(' Enrollment Exists 2 .. leaving ' || l_Prog_style, 90);
1119: End If;
1120: P_Elig_Per_Elctbl_Chc_Id := NULL;
1121: Return;
1122: End If;
1160: ,P_OBJECT_VERSION_NUMBER => l_Ptnl_Ovn
1161: ,P_EFFECTIVE_DATE => l_New_Enrlmt_Dt);
1162:
1163: if g_debug then
1164: hr_utility.set_location(' Created Potential Life Event records ', 100);
1165: hr_utility.set_location(' L_PTNL_LER_FOR_PER_ID : ' || L_PTNL_LER_FOR_PER_ID, 110);
1166: End If;
1167:
1168: /* Create Life Event for the Above created Potential Life Event */
1161: ,P_EFFECTIVE_DATE => l_New_Enrlmt_Dt);
1162:
1163: if g_debug then
1164: hr_utility.set_location(' Created Potential Life Event records ', 100);
1165: hr_utility.set_location(' L_PTNL_LER_FOR_PER_ID : ' || L_PTNL_LER_FOR_PER_ID, 110);
1166: End If;
1167:
1168: /* Create Life Event for the Above created Potential Life Event */
1169: Ben_Person_Life_Event_api.CREATE_PERSON_LIFE_EVENT_PERF
1180: ,P_OBJECT_VERSION_NUMBER => L_Pil_Ovn
1181: ,P_EFFECTIVE_DATE => l_New_Enrlmt_Dt);
1182:
1183: if g_debug then
1184: hr_utility.set_location(' Created PIL ', 120);
1185: hr_utility.set_location(' l_PER_IN_LER_ID : ' || l_PER_IN_LER_ID, 130);
1186: End If;
1187:
1188: /* Create Electable Choice Records */
1181: ,P_EFFECTIVE_DATE => l_New_Enrlmt_Dt);
1182:
1183: if g_debug then
1184: hr_utility.set_location(' Created PIL ', 120);
1185: hr_utility.set_location(' l_PER_IN_LER_ID : ' || l_PER_IN_LER_ID, 130);
1186: End If;
1187:
1188: /* Create Electable Choice Records */
1189: /* For Grade */
1188: /* Create Electable Choice Records */
1189: /* For Grade */
1190:
1191: if g_debug then
1192: hr_utility.set_location(' Attempting to create Elig_per ', 140);
1193: hr_utility.set_location(' Business_Group_Id :' || l_Bg_Id, 150);
1194: end if;
1195: -- sgoyal plan year period should be in place now, please give it a try
1196: /*
1189: /* For Grade */
1190:
1191: if g_debug then
1192: hr_utility.set_location(' Attempting to create Elig_per ', 140);
1193: hr_utility.set_location(' Business_Group_Id :' || l_Bg_Id, 150);
1194: end if;
1195: -- sgoyal plan year period should be in place now, please give it a try
1196: /*
1197: Open Yr_prd(L_Pl_Id, l_Bg_Id);
1225:
1226: L_Rt_Elig_Per_Elctbl_Chc_Id := L_Elig_Per_Elctbl_Chc_Id;
1227:
1228: if g_debug then
1229: hr_utility.set_location(' Created Elig_per ', 160);
1230: hr_utility.set_location(' L_Elig_Per_Elctbl_Chc_Id : ' || L_Elig_Per_Elctbl_Chc_Id, 170);
1231: End If;
1232:
1233: If l_Prog_style in ('PQH_GSP_SP','PQH_GSP_GSP','MINSALINCR','MINSTEP','NOSTEP') Then
1226: L_Rt_Elig_Per_Elctbl_Chc_Id := L_Elig_Per_Elctbl_Chc_Id;
1227:
1228: if g_debug then
1229: hr_utility.set_location(' Created Elig_per ', 160);
1230: hr_utility.set_location(' L_Elig_Per_Elctbl_Chc_Id : ' || L_Elig_Per_Elctbl_Chc_Id, 170);
1231: End If;
1232:
1233: If l_Prog_style in ('PQH_GSP_SP','PQH_GSP_GSP','MINSALINCR','MINSTEP','NOSTEP') Then
1234:
1261: fnd_message.raise_error;
1262: End If;
1263: If P_Called_From <> 'BM' Then
1264: if g_debug then
1265: hr_utility.set_location('L_Update_Salary_Cd :' || L_Update_Salary_Cd, 180);
1266: End If;
1267: If L_Update_Salary_Cd in ('SALARY_BASIS','SALARY_ELEMENT') Then
1268:
1269: /* Not Batch Mode and Salary Update is Set for the Grade ladder */
1267: If L_Update_Salary_Cd in ('SALARY_BASIS','SALARY_ELEMENT') Then
1268:
1269: /* Not Batch Mode and Salary Update is Set for the Grade ladder */
1270: if g_debug then
1271: hr_utility.set_location(' Determine Rates ', 190);
1272: End If;
1273:
1274: ben_env_object.init(p_business_group_id => l_Bg_Id,
1275: p_effective_date => l_New_Enrlmt_Dt,
1289: ,p_elig_per_elctbl_chc_id => L_Rt_Elig_Per_Elctbl_Chc_Id);
1290: End If;
1291:
1292: if g_debug then
1293: hr_utility.set_location(' Determined Rates ', 200);
1294: End if;
1295:
1296: Else
1297:
1316: End If;
1317:
1318: /* Close the person Life Event as Processed */
1319: if g_debug then
1320: hr_utility.set_location(' Close Life Event ', 210);
1321: End if;
1322:
1323: Ben_Person_Life_Event_api.UPDATE_PERSON_LIFE_EVENT
1324: (P_PER_IN_LER_ID => l_PER_IN_LER_ID
1329: ,P_OBJECT_VERSION_NUMBER => L_Pil_Ovn
1330: ,P_EFFECTIVE_DATE => l_New_Enrlmt_Dt);
1331:
1332: if g_debug then
1333: hr_utility.set_location(' Closed Life Event ', 220);
1334: End If;
1335:
1336: P_Elig_Per_Elctbl_Chc_Id := L_Rt_Elig_Per_Elctbl_Chc_Id;
1337: Exception
1371: L_DPNT_ACTN_WARNING Boolean;
1372: L_BNF_ACTN_WARNING Boolean;
1373: L_CTFN_ACTN_WARNING Boolean;
1374: begin
1375: g_debug := hr_utility.debug_enabled;
1376:
1377: For Enrl_Rec in Enrolment
1378: Loop
1379:
1557: Begin
1558: --
1559: -- Find the current per_in_ler and person_id.
1560: --
1561: hr_utility.set_location('Starting end dating prev payment',5);
1562: hr_utility.set_location('Elctbl chc = '||to_char(P_Elig_per_Elctbl_Chc_Id),5);
1563: hr_utility.set_location('le occrd dt = '||to_char(p_effective_date,'dd-mon-yyyy'),5);
1564: Open csr_curr_le;
1565: Fetch csr_curr_le into l_curr_per_in_ler_id, l_person_id;
1558: --
1559: -- Find the current per_in_ler and person_id.
1560: --
1561: hr_utility.set_location('Starting end dating prev payment',5);
1562: hr_utility.set_location('Elctbl chc = '||to_char(P_Elig_per_Elctbl_Chc_Id),5);
1563: hr_utility.set_location('le occrd dt = '||to_char(p_effective_date,'dd-mon-yyyy'),5);
1564: Open csr_curr_le;
1565: Fetch csr_curr_le into l_curr_per_in_ler_id, l_person_id;
1566: If csr_curr_le%found then
1559: -- Find the current per_in_ler and person_id.
1560: --
1561: hr_utility.set_location('Starting end dating prev payment',5);
1562: hr_utility.set_location('Elctbl chc = '||to_char(P_Elig_per_Elctbl_Chc_Id),5);
1563: hr_utility.set_location('le occrd dt = '||to_char(p_effective_date,'dd-mon-yyyy'),5);
1564: Open csr_curr_le;
1565: Fetch csr_curr_le into l_curr_per_in_ler_id, l_person_id;
1566: If csr_curr_le%found then
1567: -- Found current life event and person id.
1568: Close csr_curr_le;
1569: --
1570: -- Find when the salary change was made for the last GSP run.
1571: --
1572: hr_utility.set_location('Found current life event and person id = '||to_char(l_curr_per_in_ler_id),5);
1573: Open csr_prev_le;
1574: Fetch csr_prev_le into l_Last_Per_In_ler_Id;
1575: Close csr_prev_le;
1576: If l_Last_Per_In_ler_Id is not null then
1575: Close csr_prev_le;
1576: If l_Last_Per_In_ler_Id is not null then
1577: --
1578: --
1579: hr_utility.set_location('Found previous per_in_ler = '||to_char(l_Last_Per_In_ler_Id),5);
1580: -- Get the grade ladder, sal change date and rate value for the prev run.
1581: --
1582: Open csr_prev_sal;
1583: Fetch csr_prev_sal into l_prev_grade_ladder_id,l_prev_sal_change_dt,l_prev_sal;
1582: Open csr_prev_sal;
1583: Fetch csr_prev_sal into l_prev_grade_ladder_id,l_prev_sal_change_dt,l_prev_sal;
1584: If csr_prev_sal%notfound then
1585: --
1586: hr_utility.set_location('No Previous ladder',10);
1587: Close csr_prev_sal;
1588: Else
1589: Close csr_prev_sal;
1590: --
1587: Close csr_prev_sal;
1588: Else
1589: Close csr_prev_sal;
1590: --
1591: hr_utility.set_location('Found previous ladder',5);
1592: -- Find the max rate change date. Ignore rate change date for current change.
1593: --
1594: Open csr_max_rt_change;
1595: Fetch csr_max_rt_change into l_max_rt_change_dt;
1597: --
1598: If (l_prev_sal_change_dt <= p_current_rate_change_dt AND
1599: l_prev_sal_change_dt = l_max_rt_change_dt) then
1600: --
1601: hr_utility.set_location('Last sal change happened just bef current',5);
1602: --
1603: -- Get the grade ladder salary update details
1604: --
1605: OPen Pgm_Dtl(l_prev_grade_ladder_id,l_prev_sal_change_dt);
1608:
1609: If L_Update_Salary_Cd = 'SALARY_ELEMENT' AND
1610: l_prev_sal is not null Then
1611: --
1612: hr_utility.set_location('Sal Element used to pay previously',5);
1613: If L_DFLT_INPUT_VALUE_ID is NULL or L_DFLT_ELEMENT_TYPE_ID is NULL Then
1614: fnd_message.set_name('PQH','PQH_GSP_DFLY_ELMNT_NOT_LNKD');
1615: fnd_message.raise_error;
1616: End If;
1617: --
1618: Open Elmt_Entry(p_Assignment_Id, p_Business_Group_Id, l_prev_sal_change_dt);
1619: Fetch Elmt_Entry into L_Element_Entry_ID, L_Ele_Ovn;
1620: If Elmt_Entry%Found Then
1621: hr_utility.set_location('Found previous element entry',5);
1622:
1623: If l_prev_sal_change_dt = p_current_rate_change_dt then
1624: --
1625: hr_utility.set_location('Zap element entry',5);
1621: hr_utility.set_location('Found previous element entry',5);
1622:
1623: If l_prev_sal_change_dt = p_current_rate_change_dt then
1624: --
1625: hr_utility.set_location('Zap element entry',5);
1626: --
1627: hr_entry_api.delete_element_entry
1628: ('ZAP'
1629: ,p_current_rate_change_dt
1656: --
1657: ElsIf L_Update_Salary_Cd = 'SALARY_BASIS' AND
1658: l_prev_sal is not null Then
1659: --
1660: hr_utility.set_location('Sal Basis used to pay previously',5);
1661: -- End date salary proposal
1662: Open Proposal_Dtls(p_assignment_Id,l_prev_sal_change_dt);
1663: Fetch proposal_Dtls into l_Del_Proposal_Id, l_Del_Proposal_Ovn,l_proposal_date_to; -- bug 6856664
1664: Close Proposal_Dtls;
1664: Close Proposal_Dtls;
1665: --
1666: if l_Del_Proposal_Id is Not NULL then
1667: --
1668: hr_utility.set_location('Found previous pay proposal',5);
1669: Open csr_prev_sp_element;
1670: Fetch csr_prev_sp_element into L_Element_Entry_ID;
1671: If csr_prev_sp_element%notfound then
1672: hr_utility.set_location('Cannot find sal proposal element ! ',5);
1668: hr_utility.set_location('Found previous pay proposal',5);
1669: Open csr_prev_sp_element;
1670: Fetch csr_prev_sp_element into L_Element_Entry_ID;
1671: If csr_prev_sp_element%notfound then
1672: hr_utility.set_location('Cannot find sal proposal element ! ',5);
1673: end if;
1674: Close csr_prev_sp_element;
1675:
1676: -- Previous change happened on same date as current change.
1676: -- Previous change happened on same date as current change.
1677: --
1678: If l_prev_sal_change_dt = p_current_rate_change_dt then
1679: --
1680: hr_utility.set_location('previous proposal date same as curr change date',5);
1681: Hr_Maintain_Proposal_Api.DELETE_SALARY_PROPOSAL
1682: (P_PAY_PROPOSAL_ID => l_Del_proposal_Id
1683: ,P_BUSINESS_GROUP_ID => p_business_Group_Id
1684: ,P_OBJECT_VERSION_NUMBER => l_Del_Proposal_Ovn
1684: ,P_OBJECT_VERSION_NUMBER => l_Del_Proposal_Ovn
1685: ,P_SALARY_WARNING => l_Del_Warn);
1686: --
1687: /**
1688: hr_utility.set_location('Zap element entry',5);
1689: --
1690: hr_entry_api.delete_element_entry
1691: ('ZAP'
1692: ,p_current_rate_change_dt - 1
1697: --
1698: -- End date Salary proposal
1699: --
1700: --
1701: hr_utility.set_location('previous proposal date before curr change date',5);
1702: --
1703: hr_maintain_proposal_api.update_salary_proposal(
1704: p_validate => false,
1705: p_pay_proposal_id => l_Del_proposal_Id,
1709: p_proposed_salary_warning => l_proposed_salary_warning,
1710: p_approved_warning => l_approved_warning,
1711: p_payroll_warning => l_payroll_warning);
1712: --
1713: hr_utility.set_location('End dating element entry',5);
1714: --
1715: /* bug 6914468 and bug 6880958
1716: commenting this part as the deleting or end dating of element entries
1717: will be taken care by the Sal admin api's
1726: End if; --if l_Del_Proposal_Id is Not NULL then
1727: --
1728: End if; -- L_Update_Salary_Cd = 'SALARY_ELEMENT'
1729: Else
1730: hr_utility.set_location('Do nothing',99);
1731: hr_utility.set_location('Prev Salary change date ='||to_char(l_prev_sal_change_dt,'dd/mm/yyyy'),99);
1732: hr_utility.set_location('Last Salary change date ='||to_char(l_max_rt_change_dt,'dd/mm/yyyy'),99);
1733: End if; --If (l_prev_sal_change_dt <= p_current_rate_change_dt AND
1734: End if; --If csr_prev_sal%notfound then
1727: --
1728: End if; -- L_Update_Salary_Cd = 'SALARY_ELEMENT'
1729: Else
1730: hr_utility.set_location('Do nothing',99);
1731: hr_utility.set_location('Prev Salary change date ='||to_char(l_prev_sal_change_dt,'dd/mm/yyyy'),99);
1732: hr_utility.set_location('Last Salary change date ='||to_char(l_max_rt_change_dt,'dd/mm/yyyy'),99);
1733: End if; --If (l_prev_sal_change_dt <= p_current_rate_change_dt AND
1734: End if; --If csr_prev_sal%notfound then
1735: --
1728: End if; -- L_Update_Salary_Cd = 'SALARY_ELEMENT'
1729: Else
1730: hr_utility.set_location('Do nothing',99);
1731: hr_utility.set_location('Prev Salary change date ='||to_char(l_prev_sal_change_dt,'dd/mm/yyyy'),99);
1732: hr_utility.set_location('Last Salary change date ='||to_char(l_max_rt_change_dt,'dd/mm/yyyy'),99);
1733: End if; --If (l_prev_sal_change_dt <= p_current_rate_change_dt AND
1734: End if; --If csr_prev_sal%notfound then
1735: --
1736: Else
1735: --
1736: Else
1737: -- No other salary change happened through GSP.
1738: -- Do nothing.
1739: hr_utility.set_location('No previous salary change by GSP',10);
1740: End if; -- If csr_prev_le%found then
1741: Else
1742: hr_utility.set_location('Error: No Person and Per in ler',10);
1743: Close csr_curr_le;
1738: -- Do nothing.
1739: hr_utility.set_location('No previous salary change by GSP',10);
1740: End if; -- If csr_prev_le%found then
1741: Else
1742: hr_utility.set_location('Error: No Person and Per in ler',10);
1743: Close csr_curr_le;
1744: End if; --csr_curr_le%found
1745: --
1746: End; -- Change by SR
1908: -- bug 6880958 for updateoverride mode
1909: --
1910: Begin
1911:
1912: g_debug := hr_utility.debug_enabled;
1913:
1914: --
1915: -- Get enrollment details for the current change.
1916: --
1913:
1914: --
1915: -- Get enrollment details for the current change.
1916: --
1917: hr_utility.set_location(' p_Effective_date :' || p_Effective_date, 30);
1918:
1919: Open Enroll_Info;
1920: Fetch Enroll_Info into L_Enroll_Info;
1921: Close Enroll_Info;
1920: Fetch Enroll_Info into L_Enroll_Info;
1921: Close Enroll_Info;
1922:
1923: if g_debug then
1924: hr_utility.set_location(' Inside Salary Update: Elec_id :' || P_Elig_Per_Elctbl_Chc_Id, 10);
1925: hr_utility.set_location(' L_Enroll_Info.Business_Group_Id :' || L_Enroll_Info.Business_Group_Id, 20);
1926: hr_utility.set_location(' L_Enroll_Info.OVN :' || L_Enroll_Info.Object_version_number, 30);
1927: End If;
1928:
1921: Close Enroll_Info;
1922:
1923: if g_debug then
1924: hr_utility.set_location(' Inside Salary Update: Elec_id :' || P_Elig_Per_Elctbl_Chc_Id, 10);
1925: hr_utility.set_location(' L_Enroll_Info.Business_Group_Id :' || L_Enroll_Info.Business_Group_Id, 20);
1926: hr_utility.set_location(' L_Enroll_Info.OVN :' || L_Enroll_Info.Object_version_number, 30);
1927: End If;
1928:
1929: --
1922:
1923: if g_debug then
1924: hr_utility.set_location(' Inside Salary Update: Elec_id :' || P_Elig_Per_Elctbl_Chc_Id, 10);
1925: hr_utility.set_location(' L_Enroll_Info.Business_Group_Id :' || L_Enroll_Info.Business_Group_Id, 20);
1926: hr_utility.set_location(' L_Enroll_Info.OVN :' || L_Enroll_Info.Object_version_number, 30);
1927: End If;
1928:
1929: --
1930: -- Get the grade ladder salary update details
1973: -- If P_Dt_Mode = 'CORRECTION' and P_Called_From = 'A' Then
1974: If P_Called_From = 'A' Then
1975: -- If there is a salary proposal that was created either on current date
1976: -- or during last GSP run,
1977: hr_utility.set_location(' L_Change_Dt:' || L_Change_Dt, 30);
1978:
1979: If L_Change_Dt is NOT NULL then
1980: --
1981: -- Get the last pay proposal creation date.
1986: --
1987: -- If pay proposal already exists as of current date, then delete
1988: -- i.e. If Correction
1989: --
1990: hr_utility.set_location(' P_Prv_Sal_Chg_Dt :' || P_Prv_Sal_Chg_Dt, 31);
1991: hr_utility.set_location(' L_Enroll_Info.RT_Strt_Dt :' || L_Enroll_Info.RT_Strt_Dt, 32);
1992:
1993: If ((L_Change_Dt = L_Enroll_Info.RT_Strt_Dt) or
1994: (L_Change_Dt = P_Prv_Sal_Chg_Dt)) Then
1987: -- If pay proposal already exists as of current date, then delete
1988: -- i.e. If Correction
1989: --
1990: hr_utility.set_location(' P_Prv_Sal_Chg_Dt :' || P_Prv_Sal_Chg_Dt, 31);
1991: hr_utility.set_location(' L_Enroll_Info.RT_Strt_Dt :' || L_Enroll_Info.RT_Strt_Dt, 32);
1992:
1993: If ((L_Change_Dt = L_Enroll_Info.RT_Strt_Dt) or
1994: (L_Change_Dt = P_Prv_Sal_Chg_Dt)) Then
1995:
2009: --
2010: -- fix for bug 6880958 starts here .. deleting all the pay proposals as we are performing
2011: -- update replace operation.
2012: --
2013: hr_utility.set_location(' P_Dt_Mode :' || P_Dt_Mode, 1);
2014: hr_utility.set_location(' L_Enroll_Info.Assignment_Id :' || L_Enroll_Info.Assignment_Id, 2);
2015:
2016: if P_Dt_Mode = 'UPDATE_OVERRIDE' THEN
2017:
2010: -- fix for bug 6880958 starts here .. deleting all the pay proposals as we are performing
2011: -- update replace operation.
2012: --
2013: hr_utility.set_location(' P_Dt_Mode :' || P_Dt_Mode, 1);
2014: hr_utility.set_location(' L_Enroll_Info.Assignment_Id :' || L_Enroll_Info.Assignment_Id, 2);
2015:
2016: if P_Dt_Mode = 'UPDATE_OVERRIDE' THEN
2017:
2018: open csr_count_pay_det(L_Enroll_Info.Assignment_Id);
2026: OPEN next_change_date(L_Enroll_Info.Assignment_Id) ;
2027: FETCH next_change_date INTO l_change_date,l_Del_Proposal_Id, l_Del_Proposal_Ovn;
2028: EXIT WHEN next_change_date%NOTFOUND;
2029:
2030: hr_utility.set_location(' l_change_date :' || l_change_date, 10);
2031: hr_utility.set_location(' l_Del_Proposal_Id :' || l_Del_Proposal_Id, 20);
2032: hr_utility.set_location(' l_Del_Proposal_Ovn :' || l_Del_Proposal_Ovn, 30);
2033:
2034: -- NOW DELETE ALL THE PROPOSALS AS WE ARE PERFORMING A UPDATE REPLACE OPERATION
2027: FETCH next_change_date INTO l_change_date,l_Del_Proposal_Id, l_Del_Proposal_Ovn;
2028: EXIT WHEN next_change_date%NOTFOUND;
2029:
2030: hr_utility.set_location(' l_change_date :' || l_change_date, 10);
2031: hr_utility.set_location(' l_Del_Proposal_Id :' || l_Del_Proposal_Id, 20);
2032: hr_utility.set_location(' l_Del_Proposal_Ovn :' || l_Del_Proposal_Ovn, 30);
2033:
2034: -- NOW DELETE ALL THE PROPOSALS AS WE ARE PERFORMING A UPDATE REPLACE OPERATION
2035:
2028: EXIT WHEN next_change_date%NOTFOUND;
2029:
2030: hr_utility.set_location(' l_change_date :' || l_change_date, 10);
2031: hr_utility.set_location(' l_Del_Proposal_Id :' || l_Del_Proposal_Id, 20);
2032: hr_utility.set_location(' l_Del_Proposal_Ovn :' || l_Del_Proposal_Ovn, 30);
2033:
2034: -- NOW DELETE ALL THE PROPOSALS AS WE ARE PERFORMING A UPDATE REPLACE OPERATION
2035:
2036: Hr_Maintain_Proposal_Api.DELETE_SALARY_PROPOSAL
2038: ,P_BUSINESS_GROUP_ID => L_Enroll_Info.Business_Group_Id
2039: ,P_OBJECT_VERSION_NUMBER => l_Del_Proposal_Ovn
2040: ,P_SALARY_WARNING => l_Del_Warn);
2041: --
2042: hr_utility.set_location(' after calling delete Proposal ' || l_Del_Proposal_Id, 20);
2043:
2044:
2045: CLOSE next_change_date;
2046:
2058: from pay_element_entries_f
2059: where assignment_id=L_Enroll_Info.Assignment_Id
2060: and creator_type='SP';
2061:
2062: hr_utility.set_location(' Max Element entry date: ' ||L_entry_date,1);
2063: --
2064: -- fix for bug 6880958 ends..
2065:
2066: hr_utility.set_location('Calling end_prev_gsp_payment 0',99);
2062: hr_utility.set_location(' Max Element entry date: ' ||L_entry_date,1);
2063: --
2064: -- fix for bug 6880958 ends..
2065:
2066: hr_utility.set_location('Calling end_prev_gsp_payment 0',99);
2067: end_prev_gsp_payment(
2068: p_assignment_id => L_Enroll_Info.Assignment_Id
2069: ,p_business_group_id => L_Enroll_Info.Business_Group_Id
2070: ,P_Effective_Date => p_effective_date
2069: ,p_business_group_id => L_Enroll_Info.Business_Group_Id
2070: ,P_Effective_Date => p_effective_date
2071: ,P_Elig_per_Elctbl_Chc_Id => P_Elig_per_Elctbl_Chc_Id
2072: ,p_current_rate_change_dt => L_Enroll_Info.RT_Strt_Dt);
2073: hr_utility.set_location('After end_prev_gsp_payment 0',99);
2074: --
2075: End if;
2076: --
2077: Else
2074: --
2075: End if;
2076: --
2077: Else
2078: hr_utility.set_location('Calling end_prev_gsp_payment 1',99);
2079: end_prev_gsp_payment(
2080: p_assignment_id => L_Enroll_Info.Assignment_Id
2081: ,p_business_group_id => L_Enroll_Info.Business_Group_Id
2082: ,P_Effective_Date => p_effective_date
2081: ,p_business_group_id => L_Enroll_Info.Business_Group_Id
2082: ,P_Effective_Date => p_effective_date
2083: ,P_Elig_per_Elctbl_Chc_Id => P_Elig_per_Elctbl_Chc_Id
2084: ,p_current_rate_change_dt => L_Enroll_Info.RT_Strt_Dt);
2085: hr_utility.set_location('After end_prev_gsp_payment 1',99);
2086:
2087: End If;
2088:
2089: --
2186: (P_EFFECTIVE_DATE => L_Enroll_Info.RT_Strt_Dt
2187: ,P_BASE_TABLE_NAME => 'PAY_ELEMENT_ENTRIES_F'
2188: ,P_BASE_KEY_COLUMN => 'ELEMENT_ENTRY_ID'
2189: ,P_BASE_KEY_VALUE => L_Element_Entry_ID);
2190: hr_utility.set_location('Sal = '||to_char(L_Salary)||',DT_Mode = '||L_DATE_TRACK_MODE,99);
2191:
2192: Pay_Element_Entry_Api.UPDATE_ELEMENT_ENTRY
2193: (P_DATETRACK_UPDATE_MODE => L_DATE_TRACK_MODE
2194: ,P_EFFECTIVE_DATE => L_Enroll_Info.RT_Strt_Dt
2206: -- If the element entry is not found for current element, it maybe due to 2 reasons
2207: -- 1) old grade ladder used a diff element, in which case we have to end date that element
2208: -- 2) old grade ladder used salary basis, in which case we have to end date the proposal.
2209:
2210: hr_utility.set_location('Calling end_prev_gsp_payment 2',99);
2211: end_prev_gsp_payment(
2212: p_assignment_id => L_Enroll_Info.Assignment_Id
2213: ,p_business_group_id => L_Enroll_Info.Business_Group_Id
2214: ,P_Effective_Date => p_effective_date
2213: ,p_business_group_id => L_Enroll_Info.Business_Group_Id
2214: ,P_Effective_Date => p_effective_date
2215: ,P_Elig_per_Elctbl_Chc_Id => P_Elig_per_Elctbl_Chc_Id
2216: ,p_current_rate_change_dt => L_Enroll_Info.RT_Strt_Dt);
2217: hr_utility.set_location('After end_prev_gsp_payment 2',99);
2218:
2219: Pay_Element_Entry_Api.CREATE_ELEMENT_ENTRY
2220: (P_EFFECTIVE_DATE => L_Enroll_Info.RT_Strt_Dt
2221: ,P_BUSINESS_GROUP_ID => L_Enroll_Info.Business_Group_Id
2347: l_Asgt_Grdldr_Id Per_all_Assignments_F.Grade_Ladder_Pgm_Id%TYPE;
2348: Begin
2349:
2350: if g_debug then
2351: hr_utility.set_location(' Inside Update_Assgmt_Info ', 10);
2352: End If;
2353:
2354: Open Enrlmt_Dtls;
2355: Fetch Enrlmt_Dtls into l_pl_Id , l_Pgm_Id ,l_Oipl_id , L_Business_group_Id, l_Enrt_Cvg_Strt_Dt,
2370: ,P_BASE_KEY_COLUMN => 'ASSIGNMENT_ID'
2371: ,P_BASE_KEY_VALUE => L_Assignment_id);
2372:
2373: if g_debug then
2374: hr_utility.set_location(' L_DATE_TRACK_MODE : ' || L_DATE_TRACK_MODE, 20);
2375: End If;
2376:
2377: If Nvl(l_DFLT_STEP_CD,'XX') = 'NOSTEP' Then
2378: Open Plcmt_Dtls(l_Assignment_Id, l_Enrt_Cvg_Strt_Dt);
2463: End If;
2464: Close Step_Dtls;
2465:
2466: if g_debug then
2467: hr_utility.set_location(' Leaving Assigmt Updates ', 30);
2468: End If;
2469:
2470: End If;
2471: Exception
2471: Exception
2472: When Others then
2473:
2474: if g_debug then
2475: hr_utility.set_location(' Error ', 40);
2476: End if;
2477:
2478: Raise;
2479: End Update_Assgmt_Info;
2567: Loop
2568: Begin
2569:
2570: if g_debug then
2571: hr_utility.set_location(' Inside Apprival UI Call ' , 10);
2572: hr_utility.set_location(' Elctbl_Chc_Id : ' || Elctbl_Rec.ELIG_PER_ELCTBL_CHC_ID, 20);
2573: End if;
2574:
2575: Savepoint Start_Enrlmnt;
2568: Begin
2569:
2570: if g_debug then
2571: hr_utility.set_location(' Inside Apprival UI Call ' , 10);
2572: hr_utility.set_location(' Elctbl_Chc_Id : ' || Elctbl_Rec.ELIG_PER_ELCTBL_CHC_ID, 20);
2573: End if;
2574:
2575: Savepoint Start_Enrlmnt;
2576: /* Start Enrollment process */
2587: If Elctbl_Rec.Approval_Status_Cd = 'PQH_GSP_A' Then
2588:
2589: /* Update Employee Salary */
2590: if g_debug then
2591: hr_utility.set_location(' Approve ', 30);
2592: end if;
2593:
2594: pqh_gsp_Post_Process.Update_Assgmt_Info
2595: (P_ELIG_PER_ELCTBL_CHC_ID => Elctbl_Rec.ELIG_PER_ELCTBL_CHC_ID
2595: (P_ELIG_PER_ELCTBL_CHC_ID => Elctbl_Rec.ELIG_PER_ELCTBL_CHC_ID
2596: ,P_Effective_Date => Elctbl_Rec.Enrt_Cvg_Strt_Dt);
2597:
2598: if g_debug then
2599: hr_utility.set_location(' Update Salary ', 40);
2600: End If;
2601:
2602: /* If Update_Salary_Cd is NO_UPDATE -- Salary Updateis not required.
2603: Hence will not make a call to Salary Update */
2650: Rollback to Start_Enrlmnt;
2651: l_Error_Exists := 'Y';
2652: -- l_Error_Message := Fnd_Message.Get;
2653: if g_debug then
2654: hr_utility.set_location(' Error in AUI ', 50);
2655: hr_utility.set_location(' Error : ' || l_Error_Message, 60);
2656: End If;
2657:
2658: Pqh_Gsp_process_Log.Log_process_Dtls
2651: l_Error_Exists := 'Y';
2652: -- l_Error_Message := Fnd_Message.Get;
2653: if g_debug then
2654: hr_utility.set_location(' Error in AUI ', 50);
2655: hr_utility.set_location(' Error : ' || l_Error_Message, 60);
2656: End If;
2657:
2658: Pqh_Gsp_process_Log.Log_process_Dtls
2659: (P_Master_txn_Id => L_Concurrent_Req_Id
2817: l_grade_plip ben_plip_f.plip_id%type := NULL;
2818: --
2819: Begin
2820: --
2821: hr_utility.set_location(' Entering get_persons_gl_and_grade', 10);
2822: p_persons_pgm_id := NULL;
2823: p_persons_plip_id := NULL;
2824: p_prog_style := NULL;
2825: --
2831: --
2832: -- No grade ladder on assignment.
2833: If l_asg_gl is null then
2834: --
2835: hr_utility.set_location(' No grade ladder on assignment', 20);
2836: Open csr_get_default_gl;
2837: Fetch csr_get_default_gl into l_def_gl,l_dflt_step_cd;
2838: Close csr_get_default_gl;
2839: --
2838: Close csr_get_default_gl;
2839: --
2840: If l_def_gl IS NOT NULL then
2841: -- Default found. check if the persons grade belongs to the default GL.
2842: hr_utility.set_location(' Default GL found: '||to_char(l_def_gl), 30);
2843: If l_asg_grade IS NOT NULL then
2844: -- Find the plan corresponding to the grade and check if it belongs to the pgm.
2845: hr_utility.set_location('Assignment has grade:'||to_char(l_asg_grade), 40);
2846: Open csr_grade_pl(l_asg_grade);
2841: -- Default found. check if the persons grade belongs to the default GL.
2842: hr_utility.set_location(' Default GL found: '||to_char(l_def_gl), 30);
2843: If l_asg_grade IS NOT NULL then
2844: -- Find the plan corresponding to the grade and check if it belongs to the pgm.
2845: hr_utility.set_location('Assignment has grade:'||to_char(l_asg_grade), 40);
2846: Open csr_grade_pl(l_asg_grade);
2847: Fetch csr_grade_pl into l_grade_pl;
2848: Close csr_grade_pl;
2849: -- Find the plip for the plan
2848: Close csr_grade_pl;
2849: -- Find the plip for the plan
2850: If l_grade_pl is not null then
2851: --
2852: hr_utility.set_location('Found plan for grade:'||to_char(l_grade_pl), 50);
2853: Open csr_grade_plip (p_pgm_id => l_def_gl,p_pl_id => l_grade_pl);
2854: Fetch csr_grade_plip into l_grade_plip;
2855: Close csr_grade_plip;
2856: --
2855: Close csr_grade_plip;
2856: --
2857: If l_grade_plip is not null then
2858: --
2859: hr_utility.set_location('plip for grade is linked to default GL', 60);
2860: p_persons_pgm_id := l_def_gl;
2861: p_persons_plip_id := l_grade_plip;
2862: p_prog_style := l_dflt_step_cd;
2863: --
2868: End if; /** l_def_gl IS NOT NULL **/
2869: --
2870: Else
2871: -- Persons assignment has a grade ladder.
2872: hr_utility.set_location('Person has grade ladder on assignment:'||to_char(l_asg_gl), 70);
2873: p_persons_pgm_id := l_asg_gl;
2874:
2875: If l_asg_grade is not null then
2876: -- Find the plan corresponding to the grade and check if it belongs to the pgm.
2873: p_persons_pgm_id := l_asg_gl;
2874:
2875: If l_asg_grade is not null then
2876: -- Find the plan corresponding to the grade and check if it belongs to the pgm.
2877: hr_utility.set_location('Assignment has grade:'||to_char(l_asg_grade), 80);
2878: Open csr_grade_pl(l_asg_grade);
2879: Fetch csr_grade_pl into l_grade_pl;
2880: Close csr_grade_pl;
2881: -- Find the plip for the plan
2880: Close csr_grade_pl;
2881: -- Find the plip for the plan
2882: If l_grade_pl is not null then
2883: --
2884: hr_utility.set_location('Found plan for grade:'|| to_char(l_grade_pl), 90);
2885: Open csr_grade_plip (p_pgm_id => l_asg_gl,p_pl_id => l_grade_pl);
2886: Fetch csr_grade_plip into l_grade_plip;
2887: Close csr_grade_plip;
2888: --
2887: Close csr_grade_plip;
2888: --
2889: If l_grade_plip is not null then
2890: --
2891: hr_utility.set_location('plip for grade found:'|| to_char(l_grade_plip),100);
2892: p_persons_plip_id := l_grade_plip;
2893: --
2894: Open csr_pgm_details(p_pgm_id => l_asg_gl);
2895: Fetch csr_pgm_details into l_dflt_step_cd;
2902: End if; /** If l_asg_grade is not null then **/
2903: --
2904: End if; /** If l_asg_gl is null then **/
2905: --
2906: hr_utility.set_location('Leaving get_persons_gl_and_grade',110);
2907: --
2908: End get_persons_gl_and_grade;
2909:
2910: /**************************************************************************/
3097:
3098:
3099: Begin
3100:
3101: g_debug := hr_utility.debug_enabled;
3102: if g_debug then
3103: hr_utility.set_location(' Entering pqh_gsp_post_process.gsp_rate_sync ', 5);
3104: hr_utility.set_location(' Assgt_Id : ' || p_assignment_id, 10);
3105: hr_utility.set_location(' Person Id : ' || p_person_id, 20);
3099: Begin
3100:
3101: g_debug := hr_utility.debug_enabled;
3102: if g_debug then
3103: hr_utility.set_location(' Entering pqh_gsp_post_process.gsp_rate_sync ', 5);
3104: hr_utility.set_location(' Assgt_Id : ' || p_assignment_id, 10);
3105: hr_utility.set_location(' Person Id : ' || p_person_id, 20);
3106: hr_utility.set_location(' Per_In_Ler_Id : ' || p_per_in_ler_id, 30);
3107: hr_utility.set_location(' Effective_Date : ' || P_Effective_Date, 40);
3100:
3101: g_debug := hr_utility.debug_enabled;
3102: if g_debug then
3103: hr_utility.set_location(' Entering pqh_gsp_post_process.gsp_rate_sync ', 5);
3104: hr_utility.set_location(' Assgt_Id : ' || p_assignment_id, 10);
3105: hr_utility.set_location(' Person Id : ' || p_person_id, 20);
3106: hr_utility.set_location(' Per_In_Ler_Id : ' || p_per_in_ler_id, 30);
3107: hr_utility.set_location(' Effective_Date : ' || P_Effective_Date, 40);
3108: End if;
3101: g_debug := hr_utility.debug_enabled;
3102: if g_debug then
3103: hr_utility.set_location(' Entering pqh_gsp_post_process.gsp_rate_sync ', 5);
3104: hr_utility.set_location(' Assgt_Id : ' || p_assignment_id, 10);
3105: hr_utility.set_location(' Person Id : ' || p_person_id, 20);
3106: hr_utility.set_location(' Per_In_Ler_Id : ' || p_per_in_ler_id, 30);
3107: hr_utility.set_location(' Effective_Date : ' || P_Effective_Date, 40);
3108: End if;
3109:
3102: if g_debug then
3103: hr_utility.set_location(' Entering pqh_gsp_post_process.gsp_rate_sync ', 5);
3104: hr_utility.set_location(' Assgt_Id : ' || p_assignment_id, 10);
3105: hr_utility.set_location(' Person Id : ' || p_person_id, 20);
3106: hr_utility.set_location(' Per_In_Ler_Id : ' || p_per_in_ler_id, 30);
3107: hr_utility.set_location(' Effective_Date : ' || P_Effective_Date, 40);
3108: End if;
3109:
3110: open per_in_ler_dtls;
3103: hr_utility.set_location(' Entering pqh_gsp_post_process.gsp_rate_sync ', 5);
3104: hr_utility.set_location(' Assgt_Id : ' || p_assignment_id, 10);
3105: hr_utility.set_location(' Person Id : ' || p_person_id, 20);
3106: hr_utility.set_location(' Per_In_Ler_Id : ' || p_per_in_ler_id, 30);
3107: hr_utility.set_location(' Effective_Date : ' || P_Effective_Date, 40);
3108: End if;
3109:
3110: open per_in_ler_dtls;
3111: fetch per_in_ler_dtls into L_Lee_Rsn_Id,l_Pgm_Id,l_bg_id;
3110: open per_in_ler_dtls;
3111: fetch per_in_ler_dtls into L_Lee_Rsn_Id,l_Pgm_Id,l_bg_id;
3112: close per_in_ler_dtls;
3113: if g_debug then
3114: hr_utility.set_location(' Ler_Id : ' || L_Lee_Rsn_Id, 50);
3115: hr_utility.set_location(' Pgm Id : ' || l_pgm_id, 60);
3116: hr_utility.set_location(' bg_Id : ' || l_bg_id, 70);
3117: End if;
3118:
3111: fetch per_in_ler_dtls into L_Lee_Rsn_Id,l_Pgm_Id,l_bg_id;
3112: close per_in_ler_dtls;
3113: if g_debug then
3114: hr_utility.set_location(' Ler_Id : ' || L_Lee_Rsn_Id, 50);
3115: hr_utility.set_location(' Pgm Id : ' || l_pgm_id, 60);
3116: hr_utility.set_location(' bg_Id : ' || l_bg_id, 70);
3117: End if;
3118:
3119: Open Person_Info;
3112: close per_in_ler_dtls;
3113: if g_debug then
3114: hr_utility.set_location(' Ler_Id : ' || L_Lee_Rsn_Id, 50);
3115: hr_utility.set_location(' Pgm Id : ' || l_pgm_id, 60);
3116: hr_utility.set_location(' bg_Id : ' || l_bg_id, 70);
3117: End if;
3118:
3119: Open Person_Info;
3120: Fetch Person_Info Into L_BG_Id , L_Grade_Id, L_pay_basis_id, l_Pgm_Id;
3120: Fetch Person_Info Into L_BG_Id , L_Grade_Id, L_pay_basis_id, l_Pgm_Id;
3121: Close Person_Info;
3122:
3123: if g_debug then
3124: hr_utility.set_location(' Pgm_Id : ' || l_Pgm_Id, 20);
3125: hr_utility.set_location(' Pay_basis_Id : ' || l_pay_basis_id, 80);
3126: hr_utility.set_location(' Grade Id : ' || l_grade_id, 90);
3127: hr_utility.set_location(' bg_Id : ' || l_bg_id, 100);
3128: End if;
3121: Close Person_Info;
3122:
3123: if g_debug then
3124: hr_utility.set_location(' Pgm_Id : ' || l_Pgm_Id, 20);
3125: hr_utility.set_location(' Pay_basis_Id : ' || l_pay_basis_id, 80);
3126: hr_utility.set_location(' Grade Id : ' || l_grade_id, 90);
3127: hr_utility.set_location(' bg_Id : ' || l_bg_id, 100);
3128: End if;
3129:
3122:
3123: if g_debug then
3124: hr_utility.set_location(' Pgm_Id : ' || l_Pgm_Id, 20);
3125: hr_utility.set_location(' Pay_basis_Id : ' || l_pay_basis_id, 80);
3126: hr_utility.set_location(' Grade Id : ' || l_grade_id, 90);
3127: hr_utility.set_location(' bg_Id : ' || l_bg_id, 100);
3128: End if;
3129:
3130: Open Ben_Grd_Dtls(l_Pgm_Id, L_Grade_Id);
3123: if g_debug then
3124: hr_utility.set_location(' Pgm_Id : ' || l_Pgm_Id, 20);
3125: hr_utility.set_location(' Pay_basis_Id : ' || l_pay_basis_id, 80);
3126: hr_utility.set_location(' Grade Id : ' || l_grade_id, 90);
3127: hr_utility.set_location(' bg_Id : ' || l_bg_id, 100);
3128: End if;
3129:
3130: Open Ben_Grd_Dtls(l_Pgm_Id, L_Grade_Id);
3131: Fetch Ben_Grd_Dtls into L_Pl_id, l_plip_Id , l_Prog_style, L_Update_Salary_Cd, l_Dflt_Element_typ_Id;
3198: Open Opt_Bas_rt(l_Opt_Id);
3199: Fetch Opt_Bas_Rt into l_ACTY_BASE_RT_ID, l_Rt_Typ_cd, l_Entr_Ann_Val_Flag;
3200: Close Opt_Bas_Rt;
3201: if g_debug then
3202: hr_utility.set_location(' l_Pgm_Id ' || l_Pgm_Id, 50);
3203: hr_utility.set_location(' L_Pl_id ' || L_Pl_id, 60);
3204: hr_utility.set_location(' l_Oipl_Id ' || l_Oipl_Id, 70);
3205: hr_utility.set_location(' L_Person_Id ' || p_Person_Id, 80);
3206: End if;
3199: Fetch Opt_Bas_Rt into l_ACTY_BASE_RT_ID, l_Rt_Typ_cd, l_Entr_Ann_Val_Flag;
3200: Close Opt_Bas_Rt;
3201: if g_debug then
3202: hr_utility.set_location(' l_Pgm_Id ' || l_Pgm_Id, 50);
3203: hr_utility.set_location(' L_Pl_id ' || L_Pl_id, 60);
3204: hr_utility.set_location(' l_Oipl_Id ' || l_Oipl_Id, 70);
3205: hr_utility.set_location(' L_Person_Id ' || p_Person_Id, 80);
3206: End if;
3207: Else
3200: Close Opt_Bas_Rt;
3201: if g_debug then
3202: hr_utility.set_location(' l_Pgm_Id ' || l_Pgm_Id, 50);
3203: hr_utility.set_location(' L_Pl_id ' || L_Pl_id, 60);
3204: hr_utility.set_location(' l_Oipl_Id ' || l_Oipl_Id, 70);
3205: hr_utility.set_location(' L_Person_Id ' || p_Person_Id, 80);
3206: End if;
3207: Else
3208:
3201: if g_debug then
3202: hr_utility.set_location(' l_Pgm_Id ' || l_Pgm_Id, 50);
3203: hr_utility.set_location(' L_Pl_id ' || L_Pl_id, 60);
3204: hr_utility.set_location(' l_Oipl_Id ' || l_Oipl_Id, 70);
3205: hr_utility.set_location(' L_Person_Id ' || p_Person_Id, 80);
3206: End if;
3207: Else
3208:
3209: L_Elctbl_Flag := 'Y';
3221: /* Create Electable Choice Records */
3222: /* For Grade */
3223:
3224: if g_debug then
3225: hr_utility.set_location(' Attempting to create Elig_per ', 140);
3226: hr_utility.set_location(' Business_Group_Id :' || l_Bg_Id, 150);
3227: end if;
3228:
3229: Open Yr_Prd;
3222: /* For Grade */
3223:
3224: if g_debug then
3225: hr_utility.set_location(' Attempting to create Elig_per ', 140);
3226: hr_utility.set_location(' Business_Group_Id :' || l_Bg_Id, 150);
3227: end if;
3228:
3229: Open Yr_Prd;
3230: Fetch Yr_Prd into l_Yr_Perd_Id;
3256: L_Rt_Elig_Per_Elctbl_Chc_Id := L_Elig_Per_Elctbl_Chc_Id;
3257:
3258:
3259: if g_debug then
3260: hr_utility.set_location(' Created Elig_per for PLIP', 160);
3261: hr_utility.set_location(' L_Elig_Per_Elctbl_Chc_Id : ' || L_Elig_Per_Elctbl_Chc_Id, 170);
3262: End If;
3263:
3264: elsif l_Prog_style in ('PQH_GSP_SP','PQH_GSP_GSP','MINSALINCR','MINSTEP','NOSTEP') Then
3257:
3258:
3259: if g_debug then
3260: hr_utility.set_location(' Created Elig_per for PLIP', 160);
3261: hr_utility.set_location(' L_Elig_Per_Elctbl_Chc_Id : ' || L_Elig_Per_Elctbl_Chc_Id, 170);
3262: End If;
3263:
3264: elsif l_Prog_style in ('PQH_GSP_SP','PQH_GSP_GSP','MINSALINCR','MINSTEP','NOSTEP') Then
3265:
3286: ,P_EFFECTIVE_DATE => P_Effective_Date);
3287:
3288: L_Rt_Elig_Per_Elctbl_Chc_Id := L_Oipl_Elig_Per_Elctbl_Chc_Id;
3289: if g_debug then
3290: hr_utility.set_location(' Created Elig_per for OIPL', 160);
3291: hr_utility.set_location(' L_Elig_Per_Elctbl_Chc_Id : ' || L_Elig_Per_Elctbl_Chc_Id, 170);
3292: End If;
3293:
3294: End If;
3287:
3288: L_Rt_Elig_Per_Elctbl_Chc_Id := L_Oipl_Elig_Per_Elctbl_Chc_Id;
3289: if g_debug then
3290: hr_utility.set_location(' Created Elig_per for OIPL', 160);
3291: hr_utility.set_location(' L_Elig_Per_Elctbl_Chc_Id : ' || L_Elig_Per_Elctbl_Chc_Id, 170);
3292: End If;
3293:
3294: End If;
3295: If L_Update_Salary_Cd is NULL Then
3296: fnd_message.set_name('PQH','PQH_GSP_POSTSTYL_NOT_SET');
3297: fnd_message.raise_error;
3298: End If;
3299: if g_debug then
3300: hr_utility.set_location(' Determine Rates ', 190);
3301: End If;
3302:
3303: ben_env_object.init(p_business_group_id => l_Bg_Id,
3304: p_effective_date => P_Effective_Date,
3481: l_gl_ann_factor ben_pgm_extra_info.pgi_information5%TYPE;
3482:
3483: Begin
3484:
3485: g_debug := hr_utility.debug_enabled;
3486: if g_debug then
3487: hr_utility.set_location(' Entering pqh_gsp_post_process.update_rate_sync_salary ', 5);
3488: hr_utility.set_location(' Per_In_Ler_Id : ' || p_per_in_ler_id, 10);
3489: hr_utility.set_location(' Effective_Date : ' || P_Effective_Date, 20);
3483: Begin
3484:
3485: g_debug := hr_utility.debug_enabled;
3486: if g_debug then
3487: hr_utility.set_location(' Entering pqh_gsp_post_process.update_rate_sync_salary ', 5);
3488: hr_utility.set_location(' Per_In_Ler_Id : ' || p_per_in_ler_id, 10);
3489: hr_utility.set_location(' Effective_Date : ' || P_Effective_Date, 20);
3490: End if;
3491:
3484:
3485: g_debug := hr_utility.debug_enabled;
3486: if g_debug then
3487: hr_utility.set_location(' Entering pqh_gsp_post_process.update_rate_sync_salary ', 5);
3488: hr_utility.set_location(' Per_In_Ler_Id : ' || p_per_in_ler_id, 10);
3489: hr_utility.set_location(' Effective_Date : ' || P_Effective_Date, 20);
3490: End if;
3491:
3492:
3485: g_debug := hr_utility.debug_enabled;
3486: if g_debug then
3487: hr_utility.set_location(' Entering pqh_gsp_post_process.update_rate_sync_salary ', 5);
3488: hr_utility.set_location(' Per_In_Ler_Id : ' || p_per_in_ler_id, 10);
3489: hr_utility.set_location(' Effective_Date : ' || P_Effective_Date, 20);
3490: End if;
3491:
3492:
3493: for i in csr_elct_chcs loop
3514: Fetch Enroll_Info into L_Enroll_Info;
3515: Close Enroll_Info;
3516:
3517: if g_debug then
3518: hr_utility.set_location(' Inside Salary Update: Elec_id :' ||l_def_elct_chc_id , 10);
3519: hr_utility.set_location(' L_Enroll_Info.Business_Group_Id :' || L_Enroll_Info.Business_Group_Id, 20);
3520: hr_utility.set_location(' L_Enroll_Info.OVN :' || L_Enroll_Info.Object_version_number, 30);
3521: End If;
3522:
3515: Close Enroll_Info;
3516:
3517: if g_debug then
3518: hr_utility.set_location(' Inside Salary Update: Elec_id :' ||l_def_elct_chc_id , 10);
3519: hr_utility.set_location(' L_Enroll_Info.Business_Group_Id :' || L_Enroll_Info.Business_Group_Id, 20);
3520: hr_utility.set_location(' L_Enroll_Info.OVN :' || L_Enroll_Info.Object_version_number, 30);
3521: End If;
3522:
3523: open csr_pil_dtls;
3516:
3517: if g_debug then
3518: hr_utility.set_location(' Inside Salary Update: Elec_id :' ||l_def_elct_chc_id , 10);
3519: hr_utility.set_location(' L_Enroll_Info.Business_Group_Id :' || L_Enroll_Info.Business_Group_Id, 20);
3520: hr_utility.set_location(' L_Enroll_Info.OVN :' || L_Enroll_Info.Object_version_number, 30);
3521: End If;
3522:
3523: open csr_pil_dtls;
3524: fetch csr_pil_dtls into l_per_in_ler_ovn, l_PTNL_LER_FOR_PER_ID;
3553:
3554:
3555: l_gl_ann_factor := pqh_gsp_utility.get_gl_ann_factor(p_pgm_id => l_pgm_id);
3556:
3557: hr_utility.set_location('l_gl_ann_factor is:' ||l_gl_ann_factor , 40);
3558:
3559: if l_gl_ann_factor is not null then
3560:
3561: l_ANN_VAL :=L_Enroll_Info.Val *to_number(l_gl_ann_factor);
3763: Where Elig_per_Elctbl_Chc_Id = P_Elig_Per_Elctbl_Chc_id;
3764:
3765: Begin
3766: if g_debug then
3767: hr_utility.set_location(' Entering call_from_webadi',10);
3768: hr_utility.set_location(' P_Elig_Per_Elctbl_Chc_id ' || P_Elig_Per_Elctbl_Chc_id, 20);
3769: hr_utility.set_location(' P_PROGRESSION_DATE ' || P_PROGRESSION_DATE,30);
3770: hr_utility.set_location(' P_Sal_Chg_Dt ' || P_Sal_Chg_Dt, 40);
3771: hr_utility.set_location(' p_assignment_id ' || p_assignment_id, 50);
3764:
3765: Begin
3766: if g_debug then
3767: hr_utility.set_location(' Entering call_from_webadi',10);
3768: hr_utility.set_location(' P_Elig_Per_Elctbl_Chc_id ' || P_Elig_Per_Elctbl_Chc_id, 20);
3769: hr_utility.set_location(' P_PROGRESSION_DATE ' || P_PROGRESSION_DATE,30);
3770: hr_utility.set_location(' P_Sal_Chg_Dt ' || P_Sal_Chg_Dt, 40);
3771: hr_utility.set_location(' p_assignment_id ' || p_assignment_id, 50);
3772: hr_utility.set_location(' p_proposed_rank ' || p_proposed_rank, 60);
3765: Begin
3766: if g_debug then
3767: hr_utility.set_location(' Entering call_from_webadi',10);
3768: hr_utility.set_location(' P_Elig_Per_Elctbl_Chc_id ' || P_Elig_Per_Elctbl_Chc_id, 20);
3769: hr_utility.set_location(' P_PROGRESSION_DATE ' || P_PROGRESSION_DATE,30);
3770: hr_utility.set_location(' P_Sal_Chg_Dt ' || P_Sal_Chg_Dt, 40);
3771: hr_utility.set_location(' p_assignment_id ' || p_assignment_id, 50);
3772: hr_utility.set_location(' p_proposed_rank ' || p_proposed_rank, 60);
3773: hr_utility.set_location(' p_life_event_dt ' || p_life_event_dt,70);
3766: if g_debug then
3767: hr_utility.set_location(' Entering call_from_webadi',10);
3768: hr_utility.set_location(' P_Elig_Per_Elctbl_Chc_id ' || P_Elig_Per_Elctbl_Chc_id, 20);
3769: hr_utility.set_location(' P_PROGRESSION_DATE ' || P_PROGRESSION_DATE,30);
3770: hr_utility.set_location(' P_Sal_Chg_Dt ' || P_Sal_Chg_Dt, 40);
3771: hr_utility.set_location(' p_assignment_id ' || p_assignment_id, 50);
3772: hr_utility.set_location(' p_proposed_rank ' || p_proposed_rank, 60);
3773: hr_utility.set_location(' p_life_event_dt ' || p_life_event_dt,70);
3774: hr_utility.set_location(' p_grade_ladder_id ' || p_grade_ladder_id, 80);
3767: hr_utility.set_location(' Entering call_from_webadi',10);
3768: hr_utility.set_location(' P_Elig_Per_Elctbl_Chc_id ' || P_Elig_Per_Elctbl_Chc_id, 20);
3769: hr_utility.set_location(' P_PROGRESSION_DATE ' || P_PROGRESSION_DATE,30);
3770: hr_utility.set_location(' P_Sal_Chg_Dt ' || P_Sal_Chg_Dt, 40);
3771: hr_utility.set_location(' p_assignment_id ' || p_assignment_id, 50);
3772: hr_utility.set_location(' p_proposed_rank ' || p_proposed_rank, 60);
3773: hr_utility.set_location(' p_life_event_dt ' || p_life_event_dt,70);
3774: hr_utility.set_location(' p_grade_ladder_id ' || p_grade_ladder_id, 80);
3775: hr_utility.set_location(' p_pl_id ' || p_pl_id, 90);
3768: hr_utility.set_location(' P_Elig_Per_Elctbl_Chc_id ' || P_Elig_Per_Elctbl_Chc_id, 20);
3769: hr_utility.set_location(' P_PROGRESSION_DATE ' || P_PROGRESSION_DATE,30);
3770: hr_utility.set_location(' P_Sal_Chg_Dt ' || P_Sal_Chg_Dt, 40);
3771: hr_utility.set_location(' p_assignment_id ' || p_assignment_id, 50);
3772: hr_utility.set_location(' p_proposed_rank ' || p_proposed_rank, 60);
3773: hr_utility.set_location(' p_life_event_dt ' || p_life_event_dt,70);
3774: hr_utility.set_location(' p_grade_ladder_id ' || p_grade_ladder_id, 80);
3775: hr_utility.set_location(' p_pl_id ' || p_pl_id, 90);
3776: hr_utility.set_location(' p_oipl_id ' || p_oipl_id, 100);
3769: hr_utility.set_location(' P_PROGRESSION_DATE ' || P_PROGRESSION_DATE,30);
3770: hr_utility.set_location(' P_Sal_Chg_Dt ' || P_Sal_Chg_Dt, 40);
3771: hr_utility.set_location(' p_assignment_id ' || p_assignment_id, 50);
3772: hr_utility.set_location(' p_proposed_rank ' || p_proposed_rank, 60);
3773: hr_utility.set_location(' p_life_event_dt ' || p_life_event_dt,70);
3774: hr_utility.set_location(' p_grade_ladder_id ' || p_grade_ladder_id, 80);
3775: hr_utility.set_location(' p_pl_id ' || p_pl_id, 90);
3776: hr_utility.set_location(' p_oipl_id ' || p_oipl_id, 100);
3777: End If;
3770: hr_utility.set_location(' P_Sal_Chg_Dt ' || P_Sal_Chg_Dt, 40);
3771: hr_utility.set_location(' p_assignment_id ' || p_assignment_id, 50);
3772: hr_utility.set_location(' p_proposed_rank ' || p_proposed_rank, 60);
3773: hr_utility.set_location(' p_life_event_dt ' || p_life_event_dt,70);
3774: hr_utility.set_location(' p_grade_ladder_id ' || p_grade_ladder_id, 80);
3775: hr_utility.set_location(' p_pl_id ' || p_pl_id, 90);
3776: hr_utility.set_location(' p_oipl_id ' || p_oipl_id, 100);
3777: End If;
3778:
3771: hr_utility.set_location(' p_assignment_id ' || p_assignment_id, 50);
3772: hr_utility.set_location(' p_proposed_rank ' || p_proposed_rank, 60);
3773: hr_utility.set_location(' p_life_event_dt ' || p_life_event_dt,70);
3774: hr_utility.set_location(' p_grade_ladder_id ' || p_grade_ladder_id, 80);
3775: hr_utility.set_location(' p_pl_id ' || p_pl_id, 90);
3776: hr_utility.set_location(' p_oipl_id ' || p_oipl_id, 100);
3777: End If;
3778:
3779: if p_progression_date < p_life_event_dt then
3772: hr_utility.set_location(' p_proposed_rank ' || p_proposed_rank, 60);
3773: hr_utility.set_location(' p_life_event_dt ' || p_life_event_dt,70);
3774: hr_utility.set_location(' p_grade_ladder_id ' || p_grade_ladder_id, 80);
3775: hr_utility.set_location(' p_pl_id ' || p_pl_id, 90);
3776: hr_utility.set_location(' p_oipl_id ' || p_oipl_id, 100);
3777: End If;
3778:
3779: if p_progression_date < p_life_event_dt then
3780: fnd_message.set_name('PQH','PQH_GSP_APPRVL_PRGS_DT_CHK_ERR');
3804: Update Ben_Enrt_Rt
3805: Set Rt_Strt_Dt = P_Sal_Chg_Dt
3806: Where Enrt_Rt_Id = L_Enrt_Rt_Id;
3807: End If;
3808: hr_utility.set_location(' Leaving call_from_webadi',10);
3809: commit;
3810: exception when others then
3811: rollback;
3812: raise;