216: ll_effective_Date DATE;
217: l_new_element_name VARCHAR2(80);
218: --
219: begin
220: hr_utility.set_location('Entering:'||l_proc, 1);
221: -- Initialization
222: ghr_history_api.get_g_session_var(l_session);
223: ll_effective_date := p_effective_date;
224:
277:
278: END IF;
279: END IF;
280:
281: hr_utility.set_location(' New ELT in GHELEPKG'|| l_new_element_name,10);
282: --
283: -- the p_element_name is replaced with l_new_element_name
284: -- in further calls.
285: --
304: p_object_version_number => p_object_version_number
305: );
306: p_element_entry_id := l_element_entry_id;
307:
308: hr_utility.set_location('Find the uom ' ||l_proc, 2);
309: if p_processing_type = 'R' then -- Recurring element
310: hr_utility.set_location('Find the uom -- Recurring' ||l_proc, 3);
311: for c_rec_ele_info_rec in
312: c_rec_ele_info (l_new_element_name
306: p_element_entry_id := l_element_entry_id;
307:
308: hr_utility.set_location('Find the uom ' ||l_proc, 2);
309: if p_processing_type = 'R' then -- Recurring element
310: hr_utility.set_location('Find the uom -- Recurring' ||l_proc, 3);
311: for c_rec_ele_info_rec in
312: c_rec_ele_info (l_new_element_name
313: ,p_input_value_name
314: ,p_assignment_id
320: end if;
321: exit;
322: end loop;
323: elsif p_processing_type = 'N' then -- Recurring element
324: hr_utility.set_location('Find the uom -- Non Recurring' ||l_proc, 4);
325: for c_nonrec_ele_info_rec in
326: c_nonrec_ele_info (l_new_element_name
327: ,p_input_value_name
328: ,p_assignment_id
337: end loop;
338: end if;
339:
340: Else
341: hr_utility.set_location(' NOT CORRECTION IN ELEPKG; PROCESS TYPE '||p_processing_type,15);
342: hr_utility.set_location(' Element Name ELEPKG ' ||l_new_element_name,1000);
343: hr_utility.set_location(' BG ID ELEPKG'|| nvl(to_char(ll_bg_id),'NULL'),2000);
344: hr_utility.set_location(' Eff date ELEPKG'|| p_effective_date ,3000);
345: hr_utility.set_location(' ASSGID IN ELEPKG ' || to_char(p_assignment_id),3500);
338: end if;
339:
340: Else
341: hr_utility.set_location(' NOT CORRECTION IN ELEPKG; PROCESS TYPE '||p_processing_type,15);
342: hr_utility.set_location(' Element Name ELEPKG ' ||l_new_element_name,1000);
343: hr_utility.set_location(' BG ID ELEPKG'|| nvl(to_char(ll_bg_id),'NULL'),2000);
344: hr_utility.set_location(' Eff date ELEPKG'|| p_effective_date ,3000);
345: hr_utility.set_location(' ASSGID IN ELEPKG ' || to_char(p_assignment_id),3500);
346: hr_utility.set_location(' INPUT VALUE name '|| p_input_value_name,4000);
339:
340: Else
341: hr_utility.set_location(' NOT CORRECTION IN ELEPKG; PROCESS TYPE '||p_processing_type,15);
342: hr_utility.set_location(' Element Name ELEPKG ' ||l_new_element_name,1000);
343: hr_utility.set_location(' BG ID ELEPKG'|| nvl(to_char(ll_bg_id),'NULL'),2000);
344: hr_utility.set_location(' Eff date ELEPKG'|| p_effective_date ,3000);
345: hr_utility.set_location(' ASSGID IN ELEPKG ' || to_char(p_assignment_id),3500);
346: hr_utility.set_location(' INPUT VALUE name '|| p_input_value_name,4000);
347:
340: Else
341: hr_utility.set_location(' NOT CORRECTION IN ELEPKG; PROCESS TYPE '||p_processing_type,15);
342: hr_utility.set_location(' Element Name ELEPKG ' ||l_new_element_name,1000);
343: hr_utility.set_location(' BG ID ELEPKG'|| nvl(to_char(ll_bg_id),'NULL'),2000);
344: hr_utility.set_location(' Eff date ELEPKG'|| p_effective_date ,3000);
345: hr_utility.set_location(' ASSGID IN ELEPKG ' || to_char(p_assignment_id),3500);
346: hr_utility.set_location(' INPUT VALUE name '|| p_input_value_name,4000);
347:
348: if p_processing_type = 'R' then -- Recurring element
341: hr_utility.set_location(' NOT CORRECTION IN ELEPKG; PROCESS TYPE '||p_processing_type,15);
342: hr_utility.set_location(' Element Name ELEPKG ' ||l_new_element_name,1000);
343: hr_utility.set_location(' BG ID ELEPKG'|| nvl(to_char(ll_bg_id),'NULL'),2000);
344: hr_utility.set_location(' Eff date ELEPKG'|| p_effective_date ,3000);
345: hr_utility.set_location(' ASSGID IN ELEPKG ' || to_char(p_assignment_id),3500);
346: hr_utility.set_location(' INPUT VALUE name '|| p_input_value_name,4000);
347:
348: if p_processing_type = 'R' then -- Recurring element
349: p_input_value_id := NULL;
342: hr_utility.set_location(' Element Name ELEPKG ' ||l_new_element_name,1000);
343: hr_utility.set_location(' BG ID ELEPKG'|| nvl(to_char(ll_bg_id),'NULL'),2000);
344: hr_utility.set_location(' Eff date ELEPKG'|| p_effective_date ,3000);
345: hr_utility.set_location(' ASSGID IN ELEPKG ' || to_char(p_assignment_id),3500);
346: hr_utility.set_location(' INPUT VALUE name '|| p_input_value_name,4000);
347:
348: if p_processing_type = 'R' then -- Recurring element
349: p_input_value_id := NULL;
350: p_element_entry_id := NULL;
356: ,p_assignment_id
357: ,p_effective_date
358: ,ll_bg_id)
359: loop
360: hr_utility.set_location(' INSIDE ELE RECURRING ',20);
361: p_input_value_id := c_rec_ele_info_rec.input_value_id;
362: l_uom := c_rec_ele_info_rec.uom;
363: p_element_link_id := c_rec_ele_info_rec.element_link_id;
364: p_element_entry_id := c_rec_ele_info_rec.element_entry_id;
374: p_input_value_id := NULL;
375: p_element_entry_id := NULL;
376: p_value := NULL;
377: p_object_version_number := NULL;
378: hr_utility.set_location('Element Name : '||l_new_element_name,0);
379: IF l_new_element_name like '%Incentive%' AND
380: l_new_element_name not like 'Separation Incentive%' THEN
381: hr_utility.set_location('Inside Incentive Element',10);
382: for c_nonrec_incntv_ele_info_rec in
377: p_object_version_number := NULL;
378: hr_utility.set_location('Element Name : '||l_new_element_name,0);
379: IF l_new_element_name like '%Incentive%' AND
380: l_new_element_name not like 'Separation Incentive%' THEN
381: hr_utility.set_location('Inside Incentive Element',10);
382: for c_nonrec_incntv_ele_info_rec in
383: c_nonrec_incntv_ele_info (l_new_element_name
384: ,p_input_value_name
385: ,p_assignment_id
395: p_multiple_error_flag := c_nonrec_incntv_ele_info_rec.multiple_entries_allowed_flag;
396: if l_uom = 'D' then
397: p_value := fnd_date.date_to_displaydate(fnd_date.canonical_to_date(p_value));
398: end if;
399: hr_utility.set_location('Inside Incentive Element, Value:'||p_Value,10);
400: exit;
401: end loop;
402: ELSE
403: for c_nonrec_ele_info_rec in
420: exit;
421: end loop;
422: END IF;
423: else -- Neither recurring nor nonrecurring element
424: hr_utility.set_message (8301, 'GHR_38035_API_INV_PROC_TYPE');
425: hr_utility.raise_error;
426: end if;
427: hr_utility.set_location(l_proc, 31);
428: End if;
421: end loop;
422: END IF;
423: else -- Neither recurring nor nonrecurring element
424: hr_utility.set_message (8301, 'GHR_38035_API_INV_PROC_TYPE');
425: hr_utility.raise_error;
426: end if;
427: hr_utility.set_location(l_proc, 31);
428: End if;
429: --
423: else -- Neither recurring nor nonrecurring element
424: hr_utility.set_message (8301, 'GHR_38035_API_INV_PROC_TYPE');
425: hr_utility.raise_error;
426: end if;
427: hr_utility.set_location(l_proc, 31);
428: End if;
429: --
430: hr_utility.set_location(' Multiple Error Flag '||p_multiple_error_flag,3);
431: hr_utility.set_location(' Leaving:'||l_proc, 4);
426: end if;
427: hr_utility.set_location(l_proc, 31);
428: End if;
429: --
430: hr_utility.set_location(' Multiple Error Flag '||p_multiple_error_flag,3);
431: hr_utility.set_location(' Leaving:'||l_proc, 4);
432: --
433: exception when others then
434: --
427: hr_utility.set_location(l_proc, 31);
428: End if;
429: --
430: hr_utility.set_location(' Multiple Error Flag '||p_multiple_error_flag,3);
431: hr_utility.set_location(' Leaving:'||l_proc, 4);
432: --
433: exception when others then
434: --
435: -- Reset IN OUT parameters and set OUT parameters
474: order by 1 asc;
475:
476: Begin
477:
478: hr_utility.set_location('Entering ' || l_proc,5);
479: -- get session variables
480:
481: for update_mode in c_update_mode_e loop
482: hr_utility.set_location(l_proc,15);
478: hr_utility.set_location('Entering ' || l_proc,5);
479: -- get session variables
480:
481: for update_mode in c_update_mode_e loop
482: hr_utility.set_location(l_proc,15);
483: l_esd := update_mode.effective_start_date;
484: l_eed := update_mode.effective_end_date;
485: end loop;
486: hr_utility.set_location(l_proc,20);
482: hr_utility.set_location(l_proc,15);
483: l_esd := update_mode.effective_start_date;
484: l_eed := update_mode.effective_end_date;
485: end loop;
486: hr_utility.set_location(l_proc,20);
487: If l_esd = p_effective_date then
488: hr_utility.set_location(l_proc,25);
489: l_mode := 'CORRECTION';
490: Elsif l_esd < p_effective_date and
484: l_eed := update_mode.effective_end_date;
485: end loop;
486: hr_utility.set_location(l_proc,20);
487: If l_esd = p_effective_date then
488: hr_utility.set_location(l_proc,25);
489: l_mode := 'CORRECTION';
490: Elsif l_esd < p_effective_date and
491: to_char(l_eed,'YYYY/MM/DD') = '4712/12/31' then
492: hr_utility.set_location(l_proc,30);
488: hr_utility.set_location(l_proc,25);
489: l_mode := 'CORRECTION';
490: Elsif l_esd < p_effective_date and
491: to_char(l_eed,'YYYY/MM/DD') = '4712/12/31' then
492: hr_utility.set_location(l_proc,30);
493: l_mode := 'UPDATE';
494: Elsif l_esd < p_effective_date then
495: hr_utility.set_location(l_proc,35);
496: for update_mode1 in c_update_mode_e1 loop
491: to_char(l_eed,'YYYY/MM/DD') = '4712/12/31' then
492: hr_utility.set_location(l_proc,30);
493: l_mode := 'UPDATE';
494: Elsif l_esd < p_effective_date then
495: hr_utility.set_location(l_proc,35);
496: for update_mode1 in c_update_mode_e1 loop
497: hr_utility.set_location(l_proc,40);
498: l_exists := true;
499: exit;
493: l_mode := 'UPDATE';
494: Elsif l_esd < p_effective_date then
495: hr_utility.set_location(l_proc,35);
496: for update_mode1 in c_update_mode_e1 loop
497: hr_utility.set_location(l_proc,40);
498: l_exists := true;
499: exit;
500: end loop;
501: If l_exists then
498: l_exists := true;
499: exit;
500: end loop;
501: If l_exists then
502: hr_utility.set_location(l_proc,45);
503: l_mode := 'UPDATE_CHANGE_INSERT';
504: Else
505: IF to_char(l_eed,'YYYY/MM/DD') <> '4712/12/31' then
506: -- This context comes when the separated employee has retro actions
504: Else
505: IF to_char(l_eed,'YYYY/MM/DD') <> '4712/12/31' then
506: -- This context comes when the separated employee has retro actions
507: -- Separation action end dates the elements to the Separation effective date
508: hr_utility.set_location(l_proc,48);
509: l_mode := 'UPDATE';
510: ELSE
511: hr_utility.set_location(l_proc,50);
512: l_mode := 'CORRECTION';
507: -- Separation action end dates the elements to the Separation effective date
508: hr_utility.set_location(l_proc,48);
509: l_mode := 'UPDATE';
510: ELSE
511: hr_utility.set_location(l_proc,50);
512: l_mode := 'CORRECTION';
513: END IF;
514: End if;
515: hr_utility.set_location(l_proc,55);
511: hr_utility.set_location(l_proc,50);
512: l_mode := 'CORRECTION';
513: END IF;
514: End if;
515: hr_utility.set_location(l_proc,55);
516: End if;
517: If l_mode is null then
518: hr_utility.set_message(8301,'GHR_GET_DATE_TRACK_FAILED');
519: hr_utility.set_message_token('TABLE_NAME','pay_element_entries_f');
514: End if;
515: hr_utility.set_location(l_proc,55);
516: End if;
517: If l_mode is null then
518: hr_utility.set_message(8301,'GHR_GET_DATE_TRACK_FAILED');
519: hr_utility.set_message_token('TABLE_NAME','pay_element_entries_f');
520: hr_utility.raise_error;
521: End if;
522: return l_mode;
515: hr_utility.set_location(l_proc,55);
516: End if;
517: If l_mode is null then
518: hr_utility.set_message(8301,'GHR_GET_DATE_TRACK_FAILED');
519: hr_utility.set_message_token('TABLE_NAME','pay_element_entries_f');
520: hr_utility.raise_error;
521: End if;
522: return l_mode;
523: end return_update_mode;
516: End if;
517: If l_mode is null then
518: hr_utility.set_message(8301,'GHR_GET_DATE_TRACK_FAILED');
519: hr_utility.set_message_token('TABLE_NAME','pay_element_entries_f');
520: hr_utility.raise_error;
521: End if;
522: return l_mode;
523: end return_update_mode;
524:
586:
587: -- get the business_group_id from profile
588: --
589: fnd_profile.get('PER_BUSINESS_GROUP_ID',ll_bg_id);
590: hr_utility.trace('Business Grp Id - Under get Inp val Id'||ll_bg_id);
591: --
592: l_input_value_id := NULL;
593: for c_input_value_rec
594: in c_input_value (p_element_name, p_input_value_name, p_effective_date,ll_bg_id)
873: l_cnt NUMBER;
874: --
875: begin
876:
877: hr_utility.set_location('Entering:'||l_proc, 1);
878: hr_utility.set_location('element '||p_element_name,0);
879: hr_utility.trace('Input Value Name1:'||p_input_value_name1);
880: hr_utility.trace('VALUE1 :'||p_value1);
881: hr_utility.trace('L_VALUE1 :'||l_value1);
874: --
875: begin
876:
877: hr_utility.set_location('Entering:'||l_proc, 1);
878: hr_utility.set_location('element '||p_element_name,0);
879: hr_utility.trace('Input Value Name1:'||p_input_value_name1);
880: hr_utility.trace('VALUE1 :'||p_value1);
881: hr_utility.trace('L_VALUE1 :'||l_value1);
882: hr_utility.trace('Input Value Name2:'||p_input_value_name2);
875: begin
876:
877: hr_utility.set_location('Entering:'||l_proc, 1);
878: hr_utility.set_location('element '||p_element_name,0);
879: hr_utility.trace('Input Value Name1:'||p_input_value_name1);
880: hr_utility.trace('VALUE1 :'||p_value1);
881: hr_utility.trace('L_VALUE1 :'||l_value1);
882: hr_utility.trace('Input Value Name2:'||p_input_value_name2);
883: hr_utility.trace('Value2 :'||p_value2);
876:
877: hr_utility.set_location('Entering:'||l_proc, 1);
878: hr_utility.set_location('element '||p_element_name,0);
879: hr_utility.trace('Input Value Name1:'||p_input_value_name1);
880: hr_utility.trace('VALUE1 :'||p_value1);
881: hr_utility.trace('L_VALUE1 :'||l_value1);
882: hr_utility.trace('Input Value Name2:'||p_input_value_name2);
883: hr_utility.trace('Value2 :'||p_value2);
884: hr_utility.trace('L_Value2 :'||l_value2);
877: hr_utility.set_location('Entering:'||l_proc, 1);
878: hr_utility.set_location('element '||p_element_name,0);
879: hr_utility.trace('Input Value Name1:'||p_input_value_name1);
880: hr_utility.trace('VALUE1 :'||p_value1);
881: hr_utility.trace('L_VALUE1 :'||l_value1);
882: hr_utility.trace('Input Value Name2:'||p_input_value_name2);
883: hr_utility.trace('Value2 :'||p_value2);
884: hr_utility.trace('L_Value2 :'||l_value2);
885: If p_element_name like '%Incentive Biweekly%' AND
878: hr_utility.set_location('element '||p_element_name,0);
879: hr_utility.trace('Input Value Name1:'||p_input_value_name1);
880: hr_utility.trace('VALUE1 :'||p_value1);
881: hr_utility.trace('L_VALUE1 :'||l_value1);
882: hr_utility.trace('Input Value Name2:'||p_input_value_name2);
883: hr_utility.trace('Value2 :'||p_value2);
884: hr_utility.trace('L_Value2 :'||l_value2);
885: If p_element_name like '%Incentive Biweekly%' AND
886: p_element_name <> 'Separation Incentive Biweekly' THEN
879: hr_utility.trace('Input Value Name1:'||p_input_value_name1);
880: hr_utility.trace('VALUE1 :'||p_value1);
881: hr_utility.trace('L_VALUE1 :'||l_value1);
882: hr_utility.trace('Input Value Name2:'||p_input_value_name2);
883: hr_utility.trace('Value2 :'||p_value2);
884: hr_utility.trace('L_Value2 :'||l_value2);
885: If p_element_name like '%Incentive Biweekly%' AND
886: p_element_name <> 'Separation Incentive Biweekly' THEN
887: hr_utility.set_location('Inside biweekly element ',0);
880: hr_utility.trace('VALUE1 :'||p_value1);
881: hr_utility.trace('L_VALUE1 :'||l_value1);
882: hr_utility.trace('Input Value Name2:'||p_input_value_name2);
883: hr_utility.trace('Value2 :'||p_value2);
884: hr_utility.trace('L_Value2 :'||l_value2);
885: If p_element_name like '%Incentive Biweekly%' AND
886: p_element_name <> 'Separation Incentive Biweekly' THEN
887: hr_utility.set_location('Inside biweekly element ',0);
888: l_biweekly_end_date := p_value15;
883: hr_utility.trace('Value2 :'||p_value2);
884: hr_utility.trace('L_Value2 :'||l_value2);
885: If p_element_name like '%Incentive Biweekly%' AND
886: p_element_name <> 'Separation Incentive Biweekly' THEN
887: hr_utility.set_location('Inside biweekly element ',0);
888: l_biweekly_end_date := p_value15;
889: l_p_value15 := NULL;
890: ELSE
891: l_p_value15 := p_value15;
899: LOOP
900: l_cnt := curr_incentive_rec.cnt;
901: END LOOP;
902: IF l_cnt > 0 and p_element_name <> 'Separation Incentive Lump Sum' THEN
903: hr_utility.set_message(8301, 'GHR_38129_INCN_ELE_EXISTS');
904: hr_utility.set_message_token('ELEMENT_NAME',p_element_name);
905: hr_utility.set_message_token('EFF_DATE',p_effective_date);
906: hr_utility.raise_error;
907: END IF;
900: l_cnt := curr_incentive_rec.cnt;
901: END LOOP;
902: IF l_cnt > 0 and p_element_name <> 'Separation Incentive Lump Sum' THEN
903: hr_utility.set_message(8301, 'GHR_38129_INCN_ELE_EXISTS');
904: hr_utility.set_message_token('ELEMENT_NAME',p_element_name);
905: hr_utility.set_message_token('EFF_DATE',p_effective_date);
906: hr_utility.raise_error;
907: END IF;
908: END IF;
901: END LOOP;
902: IF l_cnt > 0 and p_element_name <> 'Separation Incentive Lump Sum' THEN
903: hr_utility.set_message(8301, 'GHR_38129_INCN_ELE_EXISTS');
904: hr_utility.set_message_token('ELEMENT_NAME',p_element_name);
905: hr_utility.set_message_token('EFF_DATE',p_effective_date);
906: hr_utility.raise_error;
907: END IF;
908: END IF;
909: END IF;
902: IF l_cnt > 0 and p_element_name <> 'Separation Incentive Lump Sum' THEN
903: hr_utility.set_message(8301, 'GHR_38129_INCN_ELE_EXISTS');
904: hr_utility.set_message_token('ELEMENT_NAME',p_element_name);
905: hr_utility.set_message_token('EFF_DATE',p_effective_date);
906: hr_utility.raise_error;
907: END IF;
908: END IF;
909: END IF;
910: -- End Bug#5045806
916: exit;
917: end loop;
918: --
919: if not l_business_group_found then
920: hr_utility.set_message(8301, 'GHR_38023_API_INV_ASG');
921: hr_utility.raise_error;
922: end if;
923: hr_utility.set_location(l_proc, 2);
924: -- Pick pay basis from PAR
917: end loop;
918: --
919: if not l_business_group_found then
920: hr_utility.set_message(8301, 'GHR_38023_API_INV_ASG');
921: hr_utility.raise_error;
922: end if;
923: hr_utility.set_location(l_proc, 2);
924: -- Pick pay basis from PAR
925: ll_effective_date := p_effective_Date;
919: if not l_business_group_found then
920: hr_utility.set_message(8301, 'GHR_38023_API_INV_ASG');
921: hr_utility.raise_error;
922: end if;
923: hr_utility.set_location(l_proc, 2);
924: -- Pick pay basis from PAR
925: ll_effective_date := p_effective_Date;
926:
927: IF (l_session.pa_request_id is NOT NULL) THEN
973: END IF;
974: END IF;
975: --
976: --
977: hr_utility.trace('old Element Name : ' ||p_element_name);
978: hr_utility.trace('New Element Name : ' ||l_new_element_name);
979: --
980: -- ONLY THIS CURSOR and GET_INPUT_VALUE_ID procedure USE NEW ELEMENT NAME
981: --
974: END IF;
975: --
976: --
977: hr_utility.trace('old Element Name : ' ||p_element_name);
978: hr_utility.trace('New Element Name : ' ||l_new_element_name);
979: --
980: -- ONLY THIS CURSOR and GET_INPUT_VALUE_ID procedure USE NEW ELEMENT NAME
981: --
982: for c_ele_processing_type_rec in
988: l_processing_type := c_ele_processing_type_rec.processing_type;
989: exit;
990: end loop;
991: if not l_ele_proc_type_found then
992: hr_utility.set_message(8301, 'GHR_38035_API_INV_PROC_TYPE');
993: hr_utility.raise_error;
994: end if;
995: hr_utility.set_location(l_proc, 2);
996: --
989: exit;
990: end loop;
991: if not l_ele_proc_type_found then
992: hr_utility.set_message(8301, 'GHR_38035_API_INV_PROC_TYPE');
993: hr_utility.raise_error;
994: end if;
995: hr_utility.set_location(l_proc, 2);
996: --
997:
991: if not l_ele_proc_type_found then
992: hr_utility.set_message(8301, 'GHR_38035_API_INV_PROC_TYPE');
993: hr_utility.raise_error;
994: end if;
995: hr_utility.set_location(l_proc, 2);
996: --
997:
998: -- Retrieve element information if input value name is not null
999: -- Using this p_element_name to pick old ele name under retrieve_element_info
997:
998: -- Retrieve element information if input value name is not null
999: -- Using this p_element_name to pick old ele name under retrieve_element_info
1000: -- anyways. So passing old ele name than new ele name to avoid error.
1001: hr_utility.set_location('l_value1: '||l_value1,10);
1002: hr_utility.set_location('l_value2: '||l_value2,10);
1003: hr_utility.set_location('l_value3: '||l_value3,10);
1004: hr_utility.set_location('l_value4: '||l_value4,10);
1005: hr_utility.set_location('l_multiple_error_flag: '||l_multiple_error_flag,10);
998: -- Retrieve element information if input value name is not null
999: -- Using this p_element_name to pick old ele name under retrieve_element_info
1000: -- anyways. So passing old ele name than new ele name to avoid error.
1001: hr_utility.set_location('l_value1: '||l_value1,10);
1002: hr_utility.set_location('l_value2: '||l_value2,10);
1003: hr_utility.set_location('l_value3: '||l_value3,10);
1004: hr_utility.set_location('l_value4: '||l_value4,10);
1005: hr_utility.set_location('l_multiple_error_flag: '||l_multiple_error_flag,10);
1006: if p_input_value_name1 is not NULL then
999: -- Using this p_element_name to pick old ele name under retrieve_element_info
1000: -- anyways. So passing old ele name than new ele name to avoid error.
1001: hr_utility.set_location('l_value1: '||l_value1,10);
1002: hr_utility.set_location('l_value2: '||l_value2,10);
1003: hr_utility.set_location('l_value3: '||l_value3,10);
1004: hr_utility.set_location('l_value4: '||l_value4,10);
1005: hr_utility.set_location('l_multiple_error_flag: '||l_multiple_error_flag,10);
1006: if p_input_value_name1 is not NULL then
1007: retrieve_element_info(p_element_name => p_element_name
1000: -- anyways. So passing old ele name than new ele name to avoid error.
1001: hr_utility.set_location('l_value1: '||l_value1,10);
1002: hr_utility.set_location('l_value2: '||l_value2,10);
1003: hr_utility.set_location('l_value3: '||l_value3,10);
1004: hr_utility.set_location('l_value4: '||l_value4,10);
1005: hr_utility.set_location('l_multiple_error_flag: '||l_multiple_error_flag,10);
1006: if p_input_value_name1 is not NULL then
1007: retrieve_element_info(p_element_name => p_element_name
1008: ,p_input_value_name => p_input_value_name1
1001: hr_utility.set_location('l_value1: '||l_value1,10);
1002: hr_utility.set_location('l_value2: '||l_value2,10);
1003: hr_utility.set_location('l_value3: '||l_value3,10);
1004: hr_utility.set_location('l_value4: '||l_value4,10);
1005: hr_utility.set_location('l_multiple_error_flag: '||l_multiple_error_flag,10);
1006: if p_input_value_name1 is not NULL then
1007: retrieve_element_info(p_element_name => p_element_name
1008: ,p_input_value_name => p_input_value_name1
1009: ,p_assignment_id => p_assignment_id
1015: ,p_value => l_value1
1016: ,p_object_version_number => l_object_version_number
1017: ,p_multiple_error_flag => l_multiple_error_flag);
1018: end if;
1019: hr_utility.set_location('after fetch l_value1: '||l_value1,20);
1020: --
1021: if p_input_value_name2 is not NULL then
1022: IF p_input_value_name2 = 'Capped Other Pay' THEN
1023: retrieve_element_info(p_element_name => p_element_name
1044: ,p_object_version_number => l_object_version_number
1045: ,p_multiple_error_flag => l_multiple_error_flag);
1046: END IF;
1047: end if;
1048: hr_utility.set_location('after fetch l_value2: '||l_value2,20);
1049: --
1050: if p_input_value_name3 is not NULL then
1051: retrieve_element_info(p_element_name => p_element_name
1052: ,p_input_value_name => p_input_value_name3
1059: ,p_value => l_value3
1060: ,p_object_version_number => l_object_version_number
1061: ,p_multiple_error_flag => l_multiple_error_flag);
1062: end if;
1063: hr_utility.set_location('after fetch l_value3: '||l_value3,20);
1064: --
1065: if p_input_value_name4 is not NULL then
1066: retrieve_element_info(p_element_name => p_element_name
1067: ,p_input_value_name => p_input_value_name4
1074: ,p_value => l_value4
1075: ,p_object_version_number => l_object_version_number
1076: ,p_multiple_error_flag => l_multiple_error_flag);
1077: end if;
1078: hr_utility.set_location('after fetch l_value4: '||l_value4,20);
1079: --
1080: if p_input_value_name5 is not NULL then
1081: retrieve_element_info(p_element_name => p_element_name
1082: ,p_input_value_name => p_input_value_name5
1229: ,p_value => l_value15
1230: ,p_object_version_number => l_object_version_number
1231: ,p_multiple_error_flag => l_multiple_error_flag);
1232: end if;
1233: hr_utility.set_location('l_element_entry_id after retrieve ' || to_char(l_element_entry_id),1);
1234: hr_utility.set_location('l_element_entry_id1 after retrieve ' || to_char(l_element_entry_id1),2);
1235: hr_utility.set_location('l_value1 '||l_value1,3);
1236: hr_utility.set_location('l_value2'||l_value2,4);
1237: hr_utility.set_location('l_inp_val_id1'||to_char(l_input_value_id1),5);
1230: ,p_object_version_number => l_object_version_number
1231: ,p_multiple_error_flag => l_multiple_error_flag);
1232: end if;
1233: hr_utility.set_location('l_element_entry_id after retrieve ' || to_char(l_element_entry_id),1);
1234: hr_utility.set_location('l_element_entry_id1 after retrieve ' || to_char(l_element_entry_id1),2);
1235: hr_utility.set_location('l_value1 '||l_value1,3);
1236: hr_utility.set_location('l_value2'||l_value2,4);
1237: hr_utility.set_location('l_inp_val_id1'||to_char(l_input_value_id1),5);
1238: hr_utility.set_location('l_inp_val_id1'||to_char(l_input_value_id2),6);
1231: ,p_multiple_error_flag => l_multiple_error_flag);
1232: end if;
1233: hr_utility.set_location('l_element_entry_id after retrieve ' || to_char(l_element_entry_id),1);
1234: hr_utility.set_location('l_element_entry_id1 after retrieve ' || to_char(l_element_entry_id1),2);
1235: hr_utility.set_location('l_value1 '||l_value1,3);
1236: hr_utility.set_location('l_value2'||l_value2,4);
1237: hr_utility.set_location('l_inp_val_id1'||to_char(l_input_value_id1),5);
1238: hr_utility.set_location('l_inp_val_id1'||to_char(l_input_value_id2),6);
1239: hr_utility.set_location('l_multiple_error_flag: '||l_multiple_error_flag,7);
1232: end if;
1233: hr_utility.set_location('l_element_entry_id after retrieve ' || to_char(l_element_entry_id),1);
1234: hr_utility.set_location('l_element_entry_id1 after retrieve ' || to_char(l_element_entry_id1),2);
1235: hr_utility.set_location('l_value1 '||l_value1,3);
1236: hr_utility.set_location('l_value2'||l_value2,4);
1237: hr_utility.set_location('l_inp_val_id1'||to_char(l_input_value_id1),5);
1238: hr_utility.set_location('l_inp_val_id1'||to_char(l_input_value_id2),6);
1239: hr_utility.set_location('l_multiple_error_flag: '||l_multiple_error_flag,7);
1240: hr_utility.set_location(l_proc, 3);
1233: hr_utility.set_location('l_element_entry_id after retrieve ' || to_char(l_element_entry_id),1);
1234: hr_utility.set_location('l_element_entry_id1 after retrieve ' || to_char(l_element_entry_id1),2);
1235: hr_utility.set_location('l_value1 '||l_value1,3);
1236: hr_utility.set_location('l_value2'||l_value2,4);
1237: hr_utility.set_location('l_inp_val_id1'||to_char(l_input_value_id1),5);
1238: hr_utility.set_location('l_inp_val_id1'||to_char(l_input_value_id2),6);
1239: hr_utility.set_location('l_multiple_error_flag: '||l_multiple_error_flag,7);
1240: hr_utility.set_location(l_proc, 3);
1241: --
1234: hr_utility.set_location('l_element_entry_id1 after retrieve ' || to_char(l_element_entry_id1),2);
1235: hr_utility.set_location('l_value1 '||l_value1,3);
1236: hr_utility.set_location('l_value2'||l_value2,4);
1237: hr_utility.set_location('l_inp_val_id1'||to_char(l_input_value_id1),5);
1238: hr_utility.set_location('l_inp_val_id1'||to_char(l_input_value_id2),6);
1239: hr_utility.set_location('l_multiple_error_flag: '||l_multiple_error_flag,7);
1240: hr_utility.set_location(l_proc, 3);
1241: --
1242: -- if employee does not have the element entry
1235: hr_utility.set_location('l_value1 '||l_value1,3);
1236: hr_utility.set_location('l_value2'||l_value2,4);
1237: hr_utility.set_location('l_inp_val_id1'||to_char(l_input_value_id1),5);
1238: hr_utility.set_location('l_inp_val_id1'||to_char(l_input_value_id2),6);
1239: hr_utility.set_location('l_multiple_error_flag: '||l_multiple_error_flag,7);
1240: hr_utility.set_location(l_proc, 3);
1241: --
1242: -- if employee does not have the element entry
1243: --
1236: hr_utility.set_location('l_value2'||l_value2,4);
1237: hr_utility.set_location('l_inp_val_id1'||to_char(l_input_value_id1),5);
1238: hr_utility.set_location('l_inp_val_id1'||to_char(l_input_value_id2),6);
1239: hr_utility.set_location('l_multiple_error_flag: '||l_multiple_error_flag,7);
1240: hr_utility.set_location(l_proc, 3);
1241: --
1242: -- if employee does not have the element entry
1243: --
1244: if (l_value1 is NULL and l_input_value_id1 is null and
1372: (p_element_name => l_new_element_name
1373: ,p_input_value_name => p_input_value_name15
1374: ,p_effective_date => p_effective_date);
1375: end if;
1376: hr_utility.set_location(l_proc, 4);
1377: --
1378: begin
1379: savepoint cr_ent;
1380: py_element_entry_api.create_element_entry
1434: else
1435: l_create_element_entry := FALSE;
1436: end if;
1437: */
1438: hr_utility.set_location(l_proc||l_element_entry_id, 5);
1439: Else
1440: --
1441: -- if one of the element entry values changed
1442: --
1505: ,p_effective_end_date => l_effective_end_date
1506: ,p_element_entry_id => l_element_entry_id
1507: ,p_object_version_number => l_object_version_number
1508: ,p_create_warning => l_create_warning);
1509: hr_utility.set_location('elt entry id : '||l_element_entry_id,10);
1510: Exception
1511: when others then
1512: rollback to cr_ent;
1513: raise;
1536: -- Bug 3854447
1537: -- Get the NOA_FAMILCY_CODE by calling the function
1538: l_noa_fam_code := ghr_pa_requests_pkg.get_noa_pm_family(l_noa_id);
1539: --
1540: hr_utility.set_location('l_noa_id is ' || l_noa_id,2);
1541: hr_utility.set_location('l_noa_code is ' || l_noa_code,2);
1542: hr_utility.set_location('l_noa_fam_code is ' || l_noa_fam_code,2);
1543: If l_noa_code = '819' or l_noa_code = '818' or l_noa_code = '810' or
1544: l_noa_fam_code like 'GHR_SAL%' then
1537: -- Get the NOA_FAMILCY_CODE by calling the function
1538: l_noa_fam_code := ghr_pa_requests_pkg.get_noa_pm_family(l_noa_id);
1539: --
1540: hr_utility.set_location('l_noa_id is ' || l_noa_id,2);
1541: hr_utility.set_location('l_noa_code is ' || l_noa_code,2);
1542: hr_utility.set_location('l_noa_fam_code is ' || l_noa_fam_code,2);
1543: If l_noa_code = '819' or l_noa_code = '818' or l_noa_code = '810' or
1544: l_noa_fam_code like 'GHR_SAL%' then
1545: l_value1 := p_value1;
1538: l_noa_fam_code := ghr_pa_requests_pkg.get_noa_pm_family(l_noa_id);
1539: --
1540: hr_utility.set_location('l_noa_id is ' || l_noa_id,2);
1541: hr_utility.set_location('l_noa_code is ' || l_noa_code,2);
1542: hr_utility.set_location('l_noa_fam_code is ' || l_noa_fam_code,2);
1543: If l_noa_code = '819' or l_noa_code = '818' or l_noa_code = '810' or
1544: l_noa_fam_code like 'GHR_SAL%' then
1545: l_value1 := p_value1;
1546: l_value2 := p_value2;
1590: IF p_element_name = 'Retention Allowance' AND p_value2 IS NULL AND p_value1 IS NOT NULL THEN
1591: l_value2 := p_value2;
1592: END IF;
1593:
1594: hr_utility.set_location('l_element_entry_id' || to_char(l_element_entry_id),2);
1595: hr_utility.set_location('p_value1 is ' || p_value1,2);
1596: hr_utility.set_location('l_value1 is ' || l_value1,2);
1597: hr_utility.set_location('p_value2 is ' || p_value2,2);
1598: hr_utility.set_location('l_value2 is ' || l_value2,2);
1591: l_value2 := p_value2;
1592: END IF;
1593:
1594: hr_utility.set_location('l_element_entry_id' || to_char(l_element_entry_id),2);
1595: hr_utility.set_location('p_value1 is ' || p_value1,2);
1596: hr_utility.set_location('l_value1 is ' || l_value1,2);
1597: hr_utility.set_location('p_value2 is ' || p_value2,2);
1598: hr_utility.set_location('l_value2 is ' || l_value2,2);
1599: hr_utility.set_location('p_value3 is ' || p_value3,2);
1592: END IF;
1593:
1594: hr_utility.set_location('l_element_entry_id' || to_char(l_element_entry_id),2);
1595: hr_utility.set_location('p_value1 is ' || p_value1,2);
1596: hr_utility.set_location('l_value1 is ' || l_value1,2);
1597: hr_utility.set_location('p_value2 is ' || p_value2,2);
1598: hr_utility.set_location('l_value2 is ' || l_value2,2);
1599: hr_utility.set_location('p_value3 is ' || p_value3,2);
1600: hr_utility.set_location('l_value3 is ' || l_value3,2);
1593:
1594: hr_utility.set_location('l_element_entry_id' || to_char(l_element_entry_id),2);
1595: hr_utility.set_location('p_value1 is ' || p_value1,2);
1596: hr_utility.set_location('l_value1 is ' || l_value1,2);
1597: hr_utility.set_location('p_value2 is ' || p_value2,2);
1598: hr_utility.set_location('l_value2 is ' || l_value2,2);
1599: hr_utility.set_location('p_value3 is ' || p_value3,2);
1600: hr_utility.set_location('l_value3 is ' || l_value3,2);
1601: hr_utility.set_location('p_value4 is ' || p_value4,2);
1594: hr_utility.set_location('l_element_entry_id' || to_char(l_element_entry_id),2);
1595: hr_utility.set_location('p_value1 is ' || p_value1,2);
1596: hr_utility.set_location('l_value1 is ' || l_value1,2);
1597: hr_utility.set_location('p_value2 is ' || p_value2,2);
1598: hr_utility.set_location('l_value2 is ' || l_value2,2);
1599: hr_utility.set_location('p_value3 is ' || p_value3,2);
1600: hr_utility.set_location('l_value3 is ' || l_value3,2);
1601: hr_utility.set_location('p_value4 is ' || p_value4,2);
1602: hr_utility.set_location('l_value4 is ' || l_value4,2);
1595: hr_utility.set_location('p_value1 is ' || p_value1,2);
1596: hr_utility.set_location('l_value1 is ' || l_value1,2);
1597: hr_utility.set_location('p_value2 is ' || p_value2,2);
1598: hr_utility.set_location('l_value2 is ' || l_value2,2);
1599: hr_utility.set_location('p_value3 is ' || p_value3,2);
1600: hr_utility.set_location('l_value3 is ' || l_value3,2);
1601: hr_utility.set_location('p_value4 is ' || p_value4,2);
1602: hr_utility.set_location('l_value4 is ' || l_value4,2);
1603: hr_utility.set_location('p_value5 is ' || p_value5,2);
1596: hr_utility.set_location('l_value1 is ' || l_value1,2);
1597: hr_utility.set_location('p_value2 is ' || p_value2,2);
1598: hr_utility.set_location('l_value2 is ' || l_value2,2);
1599: hr_utility.set_location('p_value3 is ' || p_value3,2);
1600: hr_utility.set_location('l_value3 is ' || l_value3,2);
1601: hr_utility.set_location('p_value4 is ' || p_value4,2);
1602: hr_utility.set_location('l_value4 is ' || l_value4,2);
1603: hr_utility.set_location('p_value5 is ' || p_value5,2);
1604: hr_utility.set_location('l_value5 is ' || l_value5,2);
1597: hr_utility.set_location('p_value2 is ' || p_value2,2);
1598: hr_utility.set_location('l_value2 is ' || l_value2,2);
1599: hr_utility.set_location('p_value3 is ' || p_value3,2);
1600: hr_utility.set_location('l_value3 is ' || l_value3,2);
1601: hr_utility.set_location('p_value4 is ' || p_value4,2);
1602: hr_utility.set_location('l_value4 is ' || l_value4,2);
1603: hr_utility.set_location('p_value5 is ' || p_value5,2);
1604: hr_utility.set_location('l_value5 is ' || l_value5,2);
1605:
1598: hr_utility.set_location('l_value2 is ' || l_value2,2);
1599: hr_utility.set_location('p_value3 is ' || p_value3,2);
1600: hr_utility.set_location('l_value3 is ' || l_value3,2);
1601: hr_utility.set_location('p_value4 is ' || p_value4,2);
1602: hr_utility.set_location('l_value4 is ' || l_value4,2);
1603: hr_utility.set_location('p_value5 is ' || p_value5,2);
1604: hr_utility.set_location('l_value5 is ' || l_value5,2);
1605:
1606: -- Bug#2759379 Added this condition to facilitate user to make Eligibility Expiration to NULL
1599: hr_utility.set_location('p_value3 is ' || p_value3,2);
1600: hr_utility.set_location('l_value3 is ' || l_value3,2);
1601: hr_utility.set_location('p_value4 is ' || p_value4,2);
1602: hr_utility.set_location('l_value4 is ' || l_value4,2);
1603: hr_utility.set_location('p_value5 is ' || p_value5,2);
1604: hr_utility.set_location('l_value5 is ' || l_value5,2);
1605:
1606: -- Bug#2759379 Added this condition to facilitate user to make Eligibility Expiration to NULL
1607: IF p_element_name = 'FEGLI' and p_value2 is null then
1600: hr_utility.set_location('l_value3 is ' || l_value3,2);
1601: hr_utility.set_location('p_value4 is ' || p_value4,2);
1602: hr_utility.set_location('l_value4 is ' || l_value4,2);
1603: hr_utility.set_location('p_value5 is ' || p_value5,2);
1604: hr_utility.set_location('l_value5 is ' || l_value5,2);
1605:
1606: -- Bug#2759379 Added this condition to facilitate user to make Eligibility Expiration to NULL
1607: IF p_element_name = 'FEGLI' and p_value2 is null then
1608: l_value2 := null;
1708: END IF;
1709: -- END of code to test RRR Technical Feasibility
1710: --
1711:
1712: hr_utility.set_location(' Leaving:'||l_proc, 20);
1713: Exception when others then
1714: --
1715: -- Reset IN OUT parameters and set OUT parameters
1716: --