59: --
60: Begin
61: if g_debug then
62: l_proc := g_package||'dt_update_dml';
63: hr_utility.set_location('Entering:'||l_proc, 5);
64: end if;
65: --
66: -- Added by Anirban for bug #5855944
67:
118:
119: -- End Addition by Anirban
120: If (p_datetrack_mode = 'CORRECTION') then
121: if g_debug then
122: hr_utility.set_location(l_proc, 10);
123: end if;
124: --
125: -- Because we are updating a row we must get the next object
126: -- version number.
276: p_rec.effective_end_date := p_validation_end_date;
277: End If;
278: --
279: if g_debug then
280: hr_utility.set_location(' Leaving:'||l_proc, 15);
281: end if;
282: Exception
283: When hr_api.check_integrity_violated Then
284: -- A check constraint has been violated
332: --
333: l_proc varchar2(72);
334: --
335: Begin
336: g_debug := hr_utility.debug_enabled;
337: if g_debug then
338: l_proc := g_package||'update_dml';
339: hr_utility.set_location('Entering:'||l_proc, 5);
340: end if;
335: Begin
336: g_debug := hr_utility.debug_enabled;
337: if g_debug then
338: l_proc := g_package||'update_dml';
339: hr_utility.set_location('Entering:'||l_proc, 5);
340: end if;
341: --
342: dt_update_dml(p_rec => p_rec,
343: p_effective_date => p_effective_date,
345: p_validation_start_date => p_validation_start_date,
346: p_validation_end_date => p_validation_end_date);
347: --
348: if g_debug then
349: hr_utility.set_location(' Leaving:'||l_proc, 10);
350: end if;
351: End update_dml;
352: --
353: -- ----------------------------------------------------------------------------
405: --
406: Begin
407: if g_debug then
408: l_proc := g_package||'dt_pre_update';
409: hr_utility.set_location('Entering:'||l_proc, 5);
410: end if;
411: If (p_datetrack_mode <> 'CORRECTION') then
412: if g_debug then
413: hr_utility.set_location(l_proc, 10);
409: hr_utility.set_location('Entering:'||l_proc, 5);
410: end if;
411: If (p_datetrack_mode <> 'CORRECTION') then
412: if g_debug then
413: hr_utility.set_location(l_proc, 10);
414: end if;
415: --
416: -- Update the current effective end date
417: --
424: p_object_version_number => l_dummy_version_number);
425: --
426: If (p_datetrack_mode = 'UPDATE_OVERRIDE') then
427: if g_debug then
428: hr_utility.set_location(l_proc, 15);
429: end if;
430: --
431: -- As the datetrack mode is 'UPDATE_OVERRIDE' then we must
432: -- delete any future rows,
438: p_validation_start_date => p_validation_start_date,
439: p_validation_end_date => p_validation_end_date);
440: End If;
441: if g_debug then
442: hr_utility.set_location(l_proc, 20);
443: end if;
444: --
445: -- We must now insert the updated row
446: --
524: l_proc varchar2(72) ;
525: begin
526: if g_debug then
527: l_proc := g_package||'update_date_effective' ;
528: hr_utility.set_location('entering'||l_proc,5);
529: end if;
530: if p_rec.date_effective <> hr_psf_shd.g_old_rec.date_effective then
531: -- user has changed date effective in this record
532: if g_debug then
529: end if;
530: if p_rec.date_effective <> hr_psf_shd.g_old_rec.date_effective then
531: -- user has changed date effective in this record
532: if g_debug then
533: hr_utility.set_location('date effective has been changed'||l_proc,10);
534: end if;
535: if p_datetrack_mode ='CORRECTION' then
536: if g_debug then
537: hr_utility.set_location('datetrack mode correction '||l_proc,20);
533: hr_utility.set_location('date effective has been changed'||l_proc,10);
534: end if;
535: if p_datetrack_mode ='CORRECTION' then
536: if g_debug then
537: hr_utility.set_location('datetrack mode correction '||l_proc,20);
538: end if;
539: hr_psf_bus.DE_Update_properties(
540: p_position_id => p_rec.position_id,
541: p_effective_Start_Date => hr_psf_shd.g_old_rec.effective_start_date,
545: if l_updateable and p_rec.date_effective between l_ll and l_ul then
546: -- and the date effective is between the allowed limits
547: -- change date effective for all records
548: if g_debug then
549: hr_utility.set_location('date effective change valid '||l_proc,30);
550: end if;
551: for i in pos_all loop
552: update hr_all_positions_f
553: set date_effective = p_rec.date_effective
554: where current of pos_all ;
555: end loop;
556: if hr_psf_bus.all_proposed_only_position(p_rec.position_id) then
557: if g_debug then
558: hr_utility.set_location('all_proposed only_position '||l_proc,40);
559: end if;
560: open pos_min_esd;
561: fetch pos_min_esd into l_min_esd;
562: close pos_min_esd;
575: end if;
576: elsif hr_psf_bus.first_active_position_row(p_rec.position_id,p_validation_start_date) then
577: -- change effective end_date of previous row
578: if g_debug then
579: hr_utility.set_location('first_active_position_row '||l_proc,50);
580: end if;
581: open pos_prev_row;
582: fetch pos_prev_row into l_prev_eed;
583: if l_prev_eed is not null then
581: open pos_prev_row;
582: fetch pos_prev_row into l_prev_eed;
583: if l_prev_eed is not null then
584: if g_debug then
585: hr_utility.set_location('first_active_position_row '||l_proc,55);
586: end if;
587: update hr_all_positions_f
588: set effective_end_date = p_rec.date_effective - 1
589: where current of pos_prev_row;
603: -- form values are also updated to reflect the change
604: p_validation_start_date := p_rec.date_effective;
605: end if;
606: if g_debug then
607: hr_utility.set_location('p_rec.date_effective:'||to_char(p_rec.date_effective)||l_proc, 90);
608: end if;
609: else
610: if g_debug then
611: hr_utility.set_location('DE changed but either non doable or wrong limits'||l_proc,15);
607: hr_utility.set_location('p_rec.date_effective:'||to_char(p_rec.date_effective)||l_proc, 90);
608: end if;
609: else
610: if g_debug then
611: hr_utility.set_location('DE changed but either non doable or wrong limits'||l_proc,15);
612: end if;
613: end if;
614: else
615: -- raise the error that date_effective cannot be changed in
613: end if;
614: else
615: -- raise the error that date_effective cannot be changed in
616: -- any other datetrack mode
617: hr_utility.set_message(800, 'PER_DE_CHANGE_ONLY_CORRECTION');
618: hr_utility.raise_error;
619: end if;
620: else
621: if g_debug then
614: else
615: -- raise the error that date_effective cannot be changed in
616: -- any other datetrack mode
617: hr_utility.set_message(800, 'PER_DE_CHANGE_ONLY_CORRECTION');
618: hr_utility.raise_error;
619: end if;
620: else
621: if g_debug then
622: hr_utility.set_location('user has not changed date effective'||l_proc,164);
618: hr_utility.raise_error;
619: end if;
620: else
621: if g_debug then
622: hr_utility.set_location('user has not changed date effective'||l_proc,164);
623: end if;
624: end if;
625: if p_rec.availability_status_id <> hr_psf_shd.g_old_rec.availability_status_id then
626: -- user has changed availability_status_id in this record
624: end if;
625: if p_rec.availability_status_id <> hr_psf_shd.g_old_rec.availability_status_id then
626: -- user has changed availability_status_id in this record
627: if g_debug then
628: hr_utility.set_location('Avail_stat changed '||l_proc,60);
629: end if;
630: hr_psf_bus.chk_availability_status_id(p_position_id => p_rec.position_id
631: ,p_business_group_id => p_rec.business_group_id
632: ,p_datetrack_mode => p_datetrack_mode
637: ,p_object_version_number => p_rec.object_version_number
638: ,p_old_avail_status_id => hr_psf_shd.g_old_rec.availability_status_id
639: );
640: if g_debug then
641: hr_utility.set_location('after chk_avail_stat '||l_proc, 70);
642: end if;
643: l_present_stat := hr_psf_shd.get_availability_status(p_rec.availability_status_id,
644: p_rec.business_group_id);
645: l_prev_stat := hr_psf_shd.get_availability_status(
647: p_rec.business_group_id);
648: if (hr_psf_bus.all_proposed_only_position(p_rec.position_id))
649: and l_present_stat = 'ACTIVE' then
650: if g_debug then
651: hr_utility.set_location('all_proposed_position'||l_proc, 90);
652: end if;
653: -- all_proposed row changed into first active
654: if p_datetrack_mode ='CORRECTION' then
655: if g_debug then
652: end if;
653: -- all_proposed row changed into first active
654: if p_datetrack_mode ='CORRECTION' then
655: if g_debug then
656: hr_utility.set_location('correction'||l_proc, 95);
657: end if;
658: -- all proposed position chnaged in correction mode to active
659: -- then date_effective should be equal to effective_start_date of current row
660: if p_rec.date_effective <> p_validation_start_date then
657: end if;
658: -- all proposed position chnaged in correction mode to active
659: -- then date_effective should be equal to effective_start_date of current row
660: if p_rec.date_effective <> p_validation_start_date then
661: hr_utility.set_message(800,'PER_DE_EQ_ESD_CORR');
662: hr_utility.raise_error;
663: end if;
664: end if;
665: if p_datetrack_mode ='UPDATE' then
658: -- all proposed position chnaged in correction mode to active
659: -- then date_effective should be equal to effective_start_date of current row
660: if p_rec.date_effective <> p_validation_start_date then
661: hr_utility.set_message(800,'PER_DE_EQ_ESD_CORR');
662: hr_utility.raise_error;
663: end if;
664: end if;
665: if p_datetrack_mode ='UPDATE' then
666: -- all proposed position chnaged in correction mode to active
665: if p_datetrack_mode ='UPDATE' then
666: -- all proposed position chnaged in correction mode to active
667: -- then date_effective should be equal to effective_start_date of current row
668: if g_debug then
669: hr_utility.set_location('correction'||l_proc, 97);
670: end if;
671: if p_rec.date_effective <> p_effective_date then
672: hr_utility.set_message(800,'PER_DE_EQ_ED_UPD');
673: hr_utility.raise_error;
668: if g_debug then
669: hr_utility.set_location('correction'||l_proc, 97);
670: end if;
671: if p_rec.date_effective <> p_effective_date then
672: hr_utility.set_message(800,'PER_DE_EQ_ED_UPD');
673: hr_utility.raise_error;
674: end if;
675: end if;
676: elsif (hr_psf_bus.first_active_position_row(p_rec.position_id,hr_psf_shd.g_old_rec.effective_start_date)) then
669: hr_utility.set_location('correction'||l_proc, 97);
670: end if;
671: if p_rec.date_effective <> p_effective_date then
672: hr_utility.set_message(800,'PER_DE_EQ_ED_UPD');
673: hr_utility.raise_error;
674: end if;
675: end if;
676: elsif (hr_psf_bus.first_active_position_row(p_rec.position_id,hr_psf_shd.g_old_rec.effective_start_date)) then
677: -- find out the ESD of next active row and make that as Date_effective and the same
676: elsif (hr_psf_bus.first_active_position_row(p_rec.position_id,hr_psf_shd.g_old_rec.effective_start_date)) then
677: -- find out the ESD of next active row and make that as Date_effective and the same
678: -- is to be done for all the records of that position
679: if g_debug then
680: hr_utility.set_location('first_active_position'||l_proc, 80);
681: end if;
682:
683: -- Bug Fix : 3381555
684: if (hr_psf_shd.get_availability_status(p_rec.availability_status_id
695:
696: if l_next_esd is not null then
697: -- There exists an active row after the current row
698: if g_debug then
699: hr_utility.set_location('first_active_position'||l_proc, 85);
700: end if;
701: p_rec.date_effective := l_next_esd;
702: for i in pos_all loop
703: update hr_all_positions_f
707: end if;
708: elsif l_present_stat = 'ACTIVE' and l_prev_stat ='PROPOSED' then
709: -- neither first active nor all proposed but current row becoming first active
710: if g_debug then
711: hr_utility.set_location('making first_active_row'||l_proc, 100);
712: end if;
713: if p_datetrack_mode ='CORRECTION' then
714: if g_debug then
715: hr_utility.set_location('mode correction'||l_proc, 102);
711: hr_utility.set_location('making first_active_row'||l_proc, 100);
712: end if;
713: if p_datetrack_mode ='CORRECTION' then
714: if g_debug then
715: hr_utility.set_location('mode correction'||l_proc, 102);
716: end if;
717: -- a proposed position changed in correction mode to active
718: -- then date_effective should be equal to effective_start_date of current row
719: p_rec.date_effective := p_validation_start_date ;
726: if p_datetrack_mode ='UPDATE_CHANGE_INSERT'
727: or p_datetrack_mode ='UPDATE_OVERRIDE'
728: or p_datetrack_mode ='UPDATE' then
729: if g_debug then
730: hr_utility.set_location('mode update_change_insert'||l_proc, 112);
731: end if;
732: p_rec.date_effective := p_effective_date ;
733: for i in pos_all loop
734: update hr_all_positions_f
738: end if;
739: end if;
740: end if;
741: if g_debug then
742: hr_utility.set_location('leaving '||l_proc, 200);
743: end if;
744: end update_date_effective;
745: -- ----------------------------------------------------------------------------
746: -- |------------------------------< pre_update >------------------------------|
833: Begin
834:
835: if g_debug then
836: l_proc := g_package||'pre_update';
837: hr_utility.set_location('Entering:'|| l_proc, 5);
838: end if;
839:
840: --
841: --
852: -- if effective_date is changed prior to effective_Start_Date of
853: -- first row, effective_start_Date also moves to the same date
854: --
855: if g_debug then
856: hr_utility.set_location('performing validation '||l_proc, 10);
857: end if;
858: /*
859: if p_rec.date_effective <> hr_psf_shd.g_old_rec.date_effective then
860: --
863: --
864: if p_datetrack_mode <> 'CORRECTION' then
865: -- raise the error that date_effective cannot be changed in
866: -- any other datetrack mode
867: hr_utility.set_message(800, 'HR_6153_ALL_PROCEDURE_FAIL');
868: hr_utility.set_message_token('PROCEDURE', l_proc);
869: hr_utility.set_message_token('STEP','15');
870: hr_utility.raise_error;
871: end if;
864: if p_datetrack_mode <> 'CORRECTION' then
865: -- raise the error that date_effective cannot be changed in
866: -- any other datetrack mode
867: hr_utility.set_message(800, 'HR_6153_ALL_PROCEDURE_FAIL');
868: hr_utility.set_message_token('PROCEDURE', l_proc);
869: hr_utility.set_message_token('STEP','15');
870: hr_utility.raise_error;
871: end if;
872: --
865: -- raise the error that date_effective cannot be changed in
866: -- any other datetrack mode
867: hr_utility.set_message(800, 'HR_6153_ALL_PROCEDURE_FAIL');
868: hr_utility.set_message_token('PROCEDURE', l_proc);
869: hr_utility.set_message_token('STEP','15');
870: hr_utility.raise_error;
871: end if;
872: --
873: -- update date_effective of the all rows of the position for the
866: -- any other datetrack mode
867: hr_utility.set_message(800, 'HR_6153_ALL_PROCEDURE_FAIL');
868: hr_utility.set_message_token('PROCEDURE', l_proc);
869: hr_utility.set_message_token('STEP','15');
870: hr_utility.raise_error;
871: end if;
872: --
873: -- update date_effective of the all rows of the position for the
874: -- date_effective
900: set effective_Start_date = p_rec.date_effective
901: where position_id = p_rec.position_id and
902: effective_start_date = hr_psf_shd.g_old_rec.effective_start_date;
903: if sql%rowcount = 0 then
904: hr_utility.set_message(800, 'HR_6153_ALL_PROCEDURE_FAIL');
905: hr_utility.set_message_token('PROCEDURE', l_proc);
906: hr_utility.set_message_token('STEP','5');
907: hr_utility.raise_error;
908: end if;
901: where position_id = p_rec.position_id and
902: effective_start_date = hr_psf_shd.g_old_rec.effective_start_date;
903: if sql%rowcount = 0 then
904: hr_utility.set_message(800, 'HR_6153_ALL_PROCEDURE_FAIL');
905: hr_utility.set_message_token('PROCEDURE', l_proc);
906: hr_utility.set_message_token('STEP','5');
907: hr_utility.raise_error;
908: end if;
909: p_validation_start_date := p_rec.date_effective;
902: effective_start_date = hr_psf_shd.g_old_rec.effective_start_date;
903: if sql%rowcount = 0 then
904: hr_utility.set_message(800, 'HR_6153_ALL_PROCEDURE_FAIL');
905: hr_utility.set_message_token('PROCEDURE', l_proc);
906: hr_utility.set_message_token('STEP','5');
907: hr_utility.raise_error;
908: end if;
909: p_validation_start_date := p_rec.date_effective;
910: p_rec.effective_start_date := p_rec.date_effective;
903: if sql%rowcount = 0 then
904: hr_utility.set_message(800, 'HR_6153_ALL_PROCEDURE_FAIL');
905: hr_utility.set_message_token('PROCEDURE', l_proc);
906: hr_utility.set_message_token('STEP','5');
907: hr_utility.raise_error;
908: end if;
909: p_validation_start_date := p_rec.date_effective;
910: p_rec.effective_start_date := p_rec.date_effective;
911: --
925: open c1;
926: fetch c1 into l_min_esd;
927: close c1;
928: if g_debug then
929: hr_utility.set_location('l_min_esd = ' || to_char(l_min_esd) || l_proc, 100);
930: end if;
931: --
932: -- if esd for the first row is later than new date_Effective
933: if l_min_esd > p_rec.date_effective then
935: -- move esd of the first row to date_Effective
936: --
937: for k in pos_first(l_min_esd) loop
938: if g_debug then
939: hr_utility.set_location('k.effective_start_date = ' ||
940: to_char(k.effective_start_date) || l_proc, 110);
941: hr_utility.set_location('p_rec.effective_start_date = ' ||
942: to_char(p_rec.effective_start_date) || l_proc, 110);
943: end if;
937: for k in pos_first(l_min_esd) loop
938: if g_debug then
939: hr_utility.set_location('k.effective_start_date = ' ||
940: to_char(k.effective_start_date) || l_proc, 110);
941: hr_utility.set_location('p_rec.effective_start_date = ' ||
942: to_char(p_rec.effective_start_date) || l_proc, 110);
943: end if;
944: update hr_All_positions_f
945: set effective_Start_Date = p_rec.date_effective
946: where current of pos_first ;
947:
948: if p_rec.effective_start_date = k.effective_start_date then
949: if g_debug then
950: hr_utility.set_location('In Current Row = First Row ' || l_proc, 115);
951: end if;
952: p_validation_start_date := p_rec.date_effective;
953: p_rec.effective_start_date := p_rec.date_effective;
954: end if;
952: p_validation_start_date := p_rec.date_effective;
953: p_rec.effective_start_date := p_rec.date_effective;
954: end if;
955: if g_debug then
956: hr_utility.set_location('p_rec.effective_start_date = ' ||
957: to_char(p_rec.effective_start_date) || l_proc, 150);
958: end if;
959: end loop;
960:
963:
964: end if;
965: */
966: if g_debug then
967: hr_utility.set_location('p_validation_start_date '
968: || to_char(p_validation_start_date) || ' ' || l_proc, 100);
969: hr_utility.set_location(' Leaving:'||l_proc, 20);
970: end if;
971: End pre_update;
965: */
966: if g_debug then
967: hr_utility.set_location('p_validation_start_date '
968: || to_char(p_validation_start_date) || ' ' || l_proc, 100);
969: hr_utility.set_location(' Leaving:'||l_proc, 20);
970: end if;
971: End pre_update;
972: --
973: -- ----------------------------------------------------------------------------
1013: --
1014: Begin
1015: if g_debug then
1016: l_proc := g_package||'post_update';
1017: hr_utility.set_location('Entering:'||l_proc, 5);
1018: end if;
1019: --
1020: -- User Hook
1021: Begin
1299: , p_eff_start_date => p_rec.effective_start_date
1300: , p_eff_end_date => p_rec.effective_end_date );
1301: --
1302: if g_debug then
1303: hr_utility.set_location(' Leaving:'||l_proc, 10);
1304: end if;
1305: End post_update;
1306: --
1307: -- ----------------------------------------------------------------------------
1355: Begin
1356: --
1357: if g_debug then
1358: l_proc := g_package||'convert_defs';
1359: hr_utility.set_location('Entering:'||l_proc, 5);
1360: end if;
1361: --
1362: -- We must now examine each argument value in the
1363: -- p_rec plsql record structure
1874: End If;
1875:
1876: --
1877: if g_debug then
1878: hr_utility.set_location(' Leaving:'||l_proc, 10);
1879: end if;
1880: --
1881: End convert_defs;
1882: --
1895: l_validation_start_date date;
1896: l_validation_end_date date;
1897: --
1898: Begin
1899: g_debug := hr_utility.debug_enabled;
1900: if g_debug then
1901: l_proc := g_package||'upd (rec)';
1902: hr_utility.set_location('Entering:'||l_proc, 5);
1903: hr_utility.set_location('ovn 1is: '||to_char(p_rec.object_version_number)||l_proc, 5);
1898: Begin
1899: g_debug := hr_utility.debug_enabled;
1900: if g_debug then
1901: l_proc := g_package||'upd (rec)';
1902: hr_utility.set_location('Entering:'||l_proc, 5);
1903: hr_utility.set_location('ovn 1is: '||to_char(p_rec.object_version_number)||l_proc, 5);
1904: end if;
1905: --
1906: -- Ensure that the DateTrack update mode is valid
1899: g_debug := hr_utility.debug_enabled;
1900: if g_debug then
1901: l_proc := g_package||'upd (rec)';
1902: hr_utility.set_location('Entering:'||l_proc, 5);
1903: hr_utility.set_location('ovn 1is: '||to_char(p_rec.object_version_number)||l_proc, 5);
1904: end if;
1905: --
1906: -- Ensure that the DateTrack update mode is valid
1907: --
1924: p_object_version_number => p_rec.object_version_number,
1925: p_validation_start_date => l_validation_start_date,
1926: p_validation_end_date => l_validation_end_date);
1927: if g_debug then
1928: hr_utility.set_location('ovn 2 is: '||to_char(p_rec.object_version_number)||l_proc, 5);
1929: end if;
1930: --
1931: -- 1. During an update system defaults are used to determine if
1932: -- arguments have been defaulted or not. We must therefore
1934: --
1935: -- 2. Call the supporting update validate operations.
1936: --
1937: convert_defs(p_rec);
1938: -- hr_utility.set_location('ovn 3 is: '||to_char(p_rec.object_version_number)||l_proc, 5);
1939: --
1940: -- date effective is changed based on the status change
1941: --
1942: update_date_effective
1945: ,p_effective_date => p_effective_date
1946: ,p_validation_start_date => l_validation_start_date
1947: ,p_validation_end_date => l_validation_end_date);
1948: if g_debug then
1949: hr_utility.set_location('ovn 4 is: '||to_char(p_rec.object_version_number)||l_proc, 5);
1950: end if;
1951: if (not per_refresh_position.refreshing_position) then
1952: if g_debug then
1953: hr_utility.set_location('VALIDATING POSITION :'||l_proc, 5);
1949: hr_utility.set_location('ovn 4 is: '||to_char(p_rec.object_version_number)||l_proc, 5);
1950: end if;
1951: if (not per_refresh_position.refreshing_position) then
1952: if g_debug then
1953: hr_utility.set_location('VALIDATING POSITION :'||l_proc, 5);
1954: end if;
1955: --
1956: -- validations are performed based on the new date effective
1957: --
1962: p_validation_start_date => l_validation_start_date,
1963: p_validation_end_date => l_validation_end_date);
1964: end if;
1965: if g_debug then
1966: hr_utility.set_location('ovn 5 is: '||to_char(p_rec.object_version_number)||l_proc, 5);
1967: end if;
1968: --
1969: -- Call the supporting pre-update operation
1970: --
1974: p_datetrack_mode => p_datetrack_mode,
1975: p_validation_start_date => l_validation_start_date,
1976: p_validation_end_date => l_validation_end_date);
1977: if g_debug then
1978: hr_utility.set_location('ovn 6 is: '||to_char(p_rec.object_version_number)||l_proc, 5);
1979:
1980: hr_utility.set_location('p_validation_start_date '
1981: || to_char(l_validation_start_date) || ' ' || l_proc, 100);
1982: end if;
1976: p_validation_end_date => l_validation_end_date);
1977: if g_debug then
1978: hr_utility.set_location('ovn 6 is: '||to_char(p_rec.object_version_number)||l_proc, 5);
1979:
1980: hr_utility.set_location('p_validation_start_date '
1981: || to_char(l_validation_start_date) || ' ' || l_proc, 100);
1982: end if;
1983: --
1984: -- Update the row.
1989: p_datetrack_mode => p_datetrack_mode,
1990: p_validation_start_date => l_validation_start_date,
1991: p_validation_end_date => l_validation_end_date);
1992: if g_debug then
1993: hr_utility.set_location('ovn 7 is: '||to_char(p_rec.object_version_number)||l_proc, 5);
1994: hr_utility.set_location('p_validation_start_date '
1995: || to_char(l_validation_start_date) || ' ' || l_proc, 110);
1996: end if;
1997: --
1990: p_validation_start_date => l_validation_start_date,
1991: p_validation_end_date => l_validation_end_date);
1992: if g_debug then
1993: hr_utility.set_location('ovn 7 is: '||to_char(p_rec.object_version_number)||l_proc, 5);
1994: hr_utility.set_location('p_validation_start_date '
1995: || to_char(l_validation_start_date) || ' ' || l_proc, 110);
1996: end if;
1997: --
1998: -- Call the supporting post-update operation
2003: p_datetrack_mode => p_datetrack_mode,
2004: p_validation_start_date => l_validation_start_date,
2005: p_validation_end_date => l_validation_end_date);
2006: if g_debug then
2007: hr_utility.set_location('p_validation_start_date '
2008: || to_char(l_validation_start_date) || ' ' || l_proc, 120);
2009: hr_utility.set_location('ovn 8 is: '||to_char(p_rec.object_version_number)||l_proc, 5);
2010: end if;
2011: --
2005: p_validation_end_date => l_validation_end_date);
2006: if g_debug then
2007: hr_utility.set_location('p_validation_start_date '
2008: || to_char(l_validation_start_date) || ' ' || l_proc, 120);
2009: hr_utility.set_location('ovn 8 is: '||to_char(p_rec.object_version_number)||l_proc, 5);
2010: end if;
2011: --
2012: -- If we are validating then raise the Validate_Enabled exception
2013: --
2012: -- If we are validating then raise the Validate_Enabled exception
2013: --
2014: If p_validate then
2015: if g_debug then
2016: hr_utility.set_location('p_validation_start_date '
2017: || to_char(l_validation_start_date) || ' ' || l_proc, 120);
2018: end if;
2019: Raise HR_Api.Validate_Enabled;
2020: else
2018: end if;
2019: Raise HR_Api.Validate_Enabled;
2020: else
2021: if g_debug then
2022: hr_utility.set_location('p_validation_start_date '
2023: || to_char(l_validation_start_date) || ' ' || l_proc, 120);
2024: end if;
2025: End If;
2026: --
2024: end if;
2025: End If;
2026: --
2027: if g_debug then
2028: hr_utility.set_location(' Leaving:'||l_proc, 10);
2029: end if;
2030: Exception
2031: When HR_Api.Validate_Enabled Then
2032: --
2182: --
2183: Begin
2184: if g_debug then
2185: l_proc := g_package||'upd';
2186: hr_utility.set_location('Entering:'||l_proc, 5);
2187: end if;
2188:
2189: --
2190: -- Call conversion function to turn arguments into the
2332: -- business process.
2333: --
2334: upd(l_rec, p_effective_date, p_datetrack_mode, p_validate);
2335: if g_debug then
2336: hr_utility.set_location('l_rec.effective_start_date ' || to_char(l_rec.effective_start_date) || ' ' || l_proc, 100);
2337: end if;
2338: p_object_version_number := l_rec.object_version_number;
2339: p_effective_start_date := l_rec.effective_start_date;
2340: p_effective_end_date := l_rec.effective_end_date;
2338: p_object_version_number := l_rec.object_version_number;
2339: p_effective_start_date := l_rec.effective_start_date;
2340: p_effective_end_date := l_rec.effective_end_date;
2341: if g_debug then
2342: hr_utility.set_location('p_effective_start_date ' || to_char(p_effective_start_date) || ' ' || l_proc, 100);
2343: hr_utility.set_location(' Leaving:'||l_proc, 10);
2344: end if;
2345: --
2346: --
2339: p_effective_start_date := l_rec.effective_start_date;
2340: p_effective_end_date := l_rec.effective_end_date;
2341: if g_debug then
2342: hr_utility.set_location('p_effective_start_date ' || to_char(p_effective_start_date) || ' ' || l_proc, 100);
2343: hr_utility.set_location(' Leaving:'||l_proc, 10);
2344: end if;
2345: --
2346: --
2347: End upd;