130: g_debug boolean;
131: g_document_type varchar2(50);
132:
133: /****************************************************************************
134: Name : HR_UTILITY_TRACE
135: Description : This procedure prints debug messages.
136: *****************************************************************************/
137: PROCEDURE HR_UTILITY_TRACE
138: (
133: /****************************************************************************
134: Name : HR_UTILITY_TRACE
135: Description : This procedure prints debug messages.
136: *****************************************************************************/
137: PROCEDURE HR_UTILITY_TRACE
138: (
139: P_TRC_DATA varchar2
140: ) AS
141: BEGIN
139: P_TRC_DATA varchar2
140: ) AS
141: BEGIN
142: IF g_debug THEN
143: hr_utility.trace(p_trc_data);
144: END IF;
145: END HR_UTILITY_TRACE;
146:
147:
141: BEGIN
142: IF g_debug THEN
143: hr_utility.trace(p_trc_data);
144: END IF;
145: END HR_UTILITY_TRACE;
146:
147:
148: /****************************************************************************
149: Name : PRINT_BLOB
210:
211: l_proc_name varchar2(100);
212: BEGIN
213: l_proc_name := g_proc_name || 'GET_PACT_INFO';
214: hr_utility_trace ('Entering '||l_proc_name);
215:
216: OPEN csr_get_mag_pact_info;
217: FETCH csr_get_mag_pact_info INTO p_gre_id,
218: p_start_date,
219: p_end_date,
220: p_mode;
221: CLOSE csr_get_mag_pact_info;
222:
223: hr_utility_trace ('Leaving '||l_proc_name);
224: END GET_PACT_INFO;
225:
226:
227: /****************************************************************************
270: l_proc_name varchar2(100);
271:
272: BEGIN
273: l_proc_name := g_proc_name || 'GET_START_DATE';
274: hr_utility_trace ('Entering '||l_proc_name);
275: hr_utility_trace ('Parameters ...');
276: hr_utility_trace ('P_MODE = '||P_MODE);
277: hr_utility_trace ('P_GRE_ID = '||P_GRE_ID);
278:
271:
272: BEGIN
273: l_proc_name := g_proc_name || 'GET_START_DATE';
274: hr_utility_trace ('Entering '||l_proc_name);
275: hr_utility_trace ('Parameters ...');
276: hr_utility_trace ('P_MODE = '||P_MODE);
277: hr_utility_trace ('P_GRE_ID = '||P_GRE_ID);
278:
279: -- GET LEGAL EMPLOYER ID FROM GRE ID
272: BEGIN
273: l_proc_name := g_proc_name || 'GET_START_DATE';
274: hr_utility_trace ('Entering '||l_proc_name);
275: hr_utility_trace ('Parameters ...');
276: hr_utility_trace ('P_MODE = '||P_MODE);
277: hr_utility_trace ('P_GRE_ID = '||P_GRE_ID);
278:
279: -- GET LEGAL EMPLOYER ID FROM GRE ID
280:
273: l_proc_name := g_proc_name || 'GET_START_DATE';
274: hr_utility_trace ('Entering '||l_proc_name);
275: hr_utility_trace ('Parameters ...');
276: hr_utility_trace ('P_MODE = '||P_MODE);
277: hr_utility_trace ('P_GRE_ID = '||P_GRE_ID);
278:
279: -- GET LEGAL EMPLOYER ID FROM GRE ID
280:
281: OPEN c_get_bus_grp_id;
302: FETCH c_get_last_run_date INTO lv_start_date;
303: CLOSE c_get_last_run_date;
304: END IF;
305:
306: hr_utility_trace ('Start date = '|| lv_start_date);
307: hr_utility_trace ('Leaving '||l_proc_name);
308: RETURN lv_start_date ;
309:
310: END GET_START_DATE;
303: CLOSE c_get_last_run_date;
304: END IF;
305:
306: hr_utility_trace ('Start date = '|| lv_start_date);
307: hr_utility_trace ('Leaving '||l_proc_name);
308: RETURN lv_start_date ;
309:
310: END GET_START_DATE;
311:
323: l_proc_name varchar2(100);
324:
325: BEGIN
326: l_proc_name := g_proc_name || 'RANGE_CURSOR';
327: hr_utility_trace ('Entering '||l_proc_name);
328:
329: hr_utility_trace ('P_PAYROLL_ACTION_ID = '|| p_payroll_action_id);
330:
331: get_pact_info (p_payroll_action_id,
325: BEGIN
326: l_proc_name := g_proc_name || 'RANGE_CURSOR';
327: hr_utility_trace ('Entering '||l_proc_name);
328:
329: hr_utility_trace ('P_PAYROLL_ACTION_ID = '|| p_payroll_action_id);
330:
331: get_pact_info (p_payroll_action_id,
332: g_mag_gre_id,
333: g_mag_start_date,
353: AND ppa_arch.action_status = ''C''
354: AND :p_payroll_action_id = '||p_payroll_action_id||'
355: ORDER BY 1';
356:
357: hr_utility_trace ('Range cursor query : ' || p_sqlstr);
358: hr_utility_trace ('Leaving '||l_proc_name);
359:
360: END RANGE_CURSOR;
361:
354: AND :p_payroll_action_id = '||p_payroll_action_id||'
355: ORDER BY 1';
356:
357: hr_utility_trace ('Range cursor query : ' || p_sqlstr);
358: hr_utility_trace ('Leaving '||l_proc_name);
359:
360: END RANGE_CURSOR;
361:
362:
525: ln_arch_act_id number;
526: ln_asg_count number;
527: BEGIN
528: l_proc_name := g_proc_name || 'ACTION_CREATION';
529: hr_utility_trace ('Entering '||l_proc_name);
530: hr_utility_trace ('Parameters ....');
531: hr_utility_trace ('P_PAYROLL_ACTION_ID = '|| P_PAYROLL_ACTION_ID);
532: hr_utility_trace ('P_START_PERSON_ID = '|| P_START_PERSON_ID);
533: hr_utility_trace ('P_END_PERSON_ID = '|| P_END_PERSON_ID);
526: ln_asg_count number;
527: BEGIN
528: l_proc_name := g_proc_name || 'ACTION_CREATION';
529: hr_utility_trace ('Entering '||l_proc_name);
530: hr_utility_trace ('Parameters ....');
531: hr_utility_trace ('P_PAYROLL_ACTION_ID = '|| P_PAYROLL_ACTION_ID);
532: hr_utility_trace ('P_START_PERSON_ID = '|| P_START_PERSON_ID);
533: hr_utility_trace ('P_END_PERSON_ID = '|| P_END_PERSON_ID);
534: hr_utility_trace ('P_CHUNK = '|| P_CHUNK);
527: BEGIN
528: l_proc_name := g_proc_name || 'ACTION_CREATION';
529: hr_utility_trace ('Entering '||l_proc_name);
530: hr_utility_trace ('Parameters ....');
531: hr_utility_trace ('P_PAYROLL_ACTION_ID = '|| P_PAYROLL_ACTION_ID);
532: hr_utility_trace ('P_START_PERSON_ID = '|| P_START_PERSON_ID);
533: hr_utility_trace ('P_END_PERSON_ID = '|| P_END_PERSON_ID);
534: hr_utility_trace ('P_CHUNK = '|| P_CHUNK);
535:
528: l_proc_name := g_proc_name || 'ACTION_CREATION';
529: hr_utility_trace ('Entering '||l_proc_name);
530: hr_utility_trace ('Parameters ....');
531: hr_utility_trace ('P_PAYROLL_ACTION_ID = '|| P_PAYROLL_ACTION_ID);
532: hr_utility_trace ('P_START_PERSON_ID = '|| P_START_PERSON_ID);
533: hr_utility_trace ('P_END_PERSON_ID = '|| P_END_PERSON_ID);
534: hr_utility_trace ('P_CHUNK = '|| P_CHUNK);
535:
536: ln_prev_person_id := -1;
529: hr_utility_trace ('Entering '||l_proc_name);
530: hr_utility_trace ('Parameters ....');
531: hr_utility_trace ('P_PAYROLL_ACTION_ID = '|| P_PAYROLL_ACTION_ID);
532: hr_utility_trace ('P_START_PERSON_ID = '|| P_START_PERSON_ID);
533: hr_utility_trace ('P_END_PERSON_ID = '|| P_END_PERSON_ID);
534: hr_utility_trace ('P_CHUNK = '|| P_CHUNK);
535:
536: ln_prev_person_id := -1;
537: ln_prev_asg_id := -1;
530: hr_utility_trace ('Parameters ....');
531: hr_utility_trace ('P_PAYROLL_ACTION_ID = '|| P_PAYROLL_ACTION_ID);
532: hr_utility_trace ('P_START_PERSON_ID = '|| P_START_PERSON_ID);
533: hr_utility_trace ('P_END_PERSON_ID = '|| P_END_PERSON_ID);
534: hr_utility_trace ('P_CHUNK = '|| P_CHUNK);
535:
536: ln_prev_person_id := -1;
537: ln_prev_asg_id := -1;
538: ln_prev_arch_pact_id := -1;
555:
556: IF lv_future_magtape_exists = 'Y' THEN
557: /* Currently we are not supporting FULL mode magtape runs. So, this
558: portion of code will never execute. */
559: --hr_utility.set_message(801, 'PAY_FUTURE_SUA_MAG_EXISTS');
560: --hr_utility.raise_error;
561: NULL;
562: END IF;
563: END IF;
556: IF lv_future_magtape_exists = 'Y' THEN
557: /* Currently we are not supporting FULL mode magtape runs. So, this
558: portion of code will never execute. */
559: --hr_utility.set_message(801, 'PAY_FUTURE_SUA_MAG_EXISTS');
560: --hr_utility.raise_error;
561: NULL;
562: END IF;
563: END IF;
564:
570: ,p_report_qualifier => 'SUA_MAG'
571: ,p_report_category => 'RT');
572:
573: IF lb_range_person_on THEN
574: hr_utility_trace ('Person ranges are ON');
575: OPEN c_arch_asg_range;
576: ELSE
577: hr_utility_trace ('Person ranges are OFF');
578: OPEN c_arch_asg;
573: IF lb_range_person_on THEN
574: hr_utility_trace ('Person ranges are ON');
575: OPEN c_arch_asg_range;
576: ELSE
577: hr_utility_trace ('Person ranges are OFF');
578: OPEN c_arch_asg;
579: END IF;
580:
581: LOOP
594: END IF;
595:
596: ln_asg_count := ln_asg_count + 1;
597:
598: hr_utility_trace ('-------------');
599: hr_utility_trace('Current archiver asg action = '||ln_arch_act_id);
600: hr_utility_trace('Current person = '||ln_person_id);
601: hr_utility_trace('Previous person = '||ln_prev_person_id);
602:
595:
596: ln_asg_count := ln_asg_count + 1;
597:
598: hr_utility_trace ('-------------');
599: hr_utility_trace('Current archiver asg action = '||ln_arch_act_id);
600: hr_utility_trace('Current person = '||ln_person_id);
601: hr_utility_trace('Previous person = '||ln_prev_person_id);
602:
603: IF (ln_person_id <> ln_prev_person_id) THEN
596: ln_asg_count := ln_asg_count + 1;
597:
598: hr_utility_trace ('-------------');
599: hr_utility_trace('Current archiver asg action = '||ln_arch_act_id);
600: hr_utility_trace('Current person = '||ln_person_id);
601: hr_utility_trace('Previous person = '||ln_prev_person_id);
602:
603: IF (ln_person_id <> ln_prev_person_id) THEN
604: SELECT pay_assignment_actions_s.nextval
597:
598: hr_utility_trace ('-------------');
599: hr_utility_trace('Current archiver asg action = '||ln_arch_act_id);
600: hr_utility_trace('Current person = '||ln_person_id);
601: hr_utility_trace('Previous person = '||ln_prev_person_id);
602:
603: IF (ln_person_id <> ln_prev_person_id) THEN
604: SELECT pay_assignment_actions_s.nextval
605: INTO ln_mag_asg_act_id
604: SELECT pay_assignment_actions_s.nextval
605: INTO ln_mag_asg_act_id
606: FROM dual;
607:
608: hr_utility_trace('Creating magtape assignment action '||
609: ln_mag_asg_act_id);
610: hr_nonrun_asact.insact(ln_mag_asg_act_id,
611: ln_assignment_id,
612: p_payroll_action_id,
617: null);
618: ln_prev_person_id := ln_person_id;
619: lt_arch_act.DELETE(); -- Bug 6004485
620: ELSE
621: hr_utility_trace('Magtape assignment action not created');
622: END IF;
623:
624: hr_utility_trace ('Current payroll action id = '||ln_arch_pact_id);
625: hr_utility_trace ('Prev payroll action id = '||ln_prev_arch_pact_id);
620: ELSE
621: hr_utility_trace('Magtape assignment action not created');
622: END IF;
623:
624: hr_utility_trace ('Current payroll action id = '||ln_arch_pact_id);
625: hr_utility_trace ('Prev payroll action id = '||ln_prev_arch_pact_id);
626: hr_utility_trace ('Current assignment_id = '||ln_assignment_id);
627: hr_utility_trace ('Previous assignment_id = '||ln_prev_asg_id);
628:
621: hr_utility_trace('Magtape assignment action not created');
622: END IF;
623:
624: hr_utility_trace ('Current payroll action id = '||ln_arch_pact_id);
625: hr_utility_trace ('Prev payroll action id = '||ln_prev_arch_pact_id);
626: hr_utility_trace ('Current assignment_id = '||ln_assignment_id);
627: hr_utility_trace ('Previous assignment_id = '||ln_prev_asg_id);
628:
629: IF ln_arch_pact_id = ln_prev_arch_pact_id AND
622: END IF;
623:
624: hr_utility_trace ('Current payroll action id = '||ln_arch_pact_id);
625: hr_utility_trace ('Prev payroll action id = '||ln_prev_arch_pact_id);
626: hr_utility_trace ('Current assignment_id = '||ln_assignment_id);
627: hr_utility_trace ('Previous assignment_id = '||ln_prev_asg_id);
628:
629: IF ln_arch_pact_id = ln_prev_arch_pact_id AND
630: ln_assignment_id = ln_prev_asg_id THEN
623:
624: hr_utility_trace ('Current payroll action id = '||ln_arch_pact_id);
625: hr_utility_trace ('Prev payroll action id = '||ln_prev_arch_pact_id);
626: hr_utility_trace ('Current assignment_id = '||ln_assignment_id);
627: hr_utility_trace ('Previous assignment_id = '||ln_prev_asg_id);
628:
629: IF ln_arch_pact_id = ln_prev_arch_pact_id AND
630: ln_assignment_id = ln_prev_asg_id THEN
631: hr_utility_trace ('Action interlock not created.');
627: hr_utility_trace ('Previous assignment_id = '||ln_prev_asg_id);
628:
629: IF ln_arch_pact_id = ln_prev_arch_pact_id AND
630: ln_assignment_id = ln_prev_asg_id THEN
631: hr_utility_trace ('Action interlock not created.');
632: ELSE
633: IF lt_arch_act.EXISTS(ln_arch_act_id) THEN -- Bug 6004485
634: hr_utility_trace('Interlock for archiver action '||
635: ln_arch_act_id||' already exists.');
630: ln_assignment_id = ln_prev_asg_id THEN
631: hr_utility_trace ('Action interlock not created.');
632: ELSE
633: IF lt_arch_act.EXISTS(ln_arch_act_id) THEN -- Bug 6004485
634: hr_utility_trace('Interlock for archiver action '||
635: ln_arch_act_id||' already exists.');
636: ELSE
637: hr_nonrun_asact.insint (ln_mag_asg_act_id,
638: ln_arch_act_id);
635: ln_arch_act_id||' already exists.');
636: ELSE
637: hr_nonrun_asact.insint (ln_mag_asg_act_id,
638: ln_arch_act_id);
639: hr_utility_trace('Archiver asg action '||ln_arch_act_id||
640: ' locked by magtape asg action '||ln_mag_asg_act_id);
641: ln_prev_asg_id := ln_assignment_id;
642: ln_prev_arch_pact_id := ln_arch_pact_id;
643: lt_arch_act(ln_arch_act_id) := 0;
641: ln_prev_asg_id := ln_assignment_id;
642: ln_prev_arch_pact_id := ln_arch_pact_id;
643: lt_arch_act(ln_arch_act_id) := 0;
644: END IF;
645: hr_utility_trace (lt_arch_act.COUNT()||' interlocks exist for '||
646: 'SUA asg action '||ln_mag_asg_act_id);
647: END IF;
648: END LOOP;
649:
646: 'SUA asg action '||ln_mag_asg_act_id);
647: END IF;
648: END LOOP;
649:
650: hr_utility_trace(ln_asg_count || ' archiver actions processed in chunk '||
651: p_chunk);
652:
653: IF lb_range_person_on THEN
654: CLOSE c_arch_asg_range;
655: ELSE
656: CLOSE c_arch_asg;
657: END IF;
658:
659: hr_utility_trace ('Leaving '||l_proc_name);
660: END ACTION_CREATION;
661:
662: /****************************************************************************
663: Name : GENERATE_XML
897: ln_business_group NUMBER;
898:
899: BEGIN
900: l_proc_name := g_proc_name || 'GENERATE_XML';
901: hr_utility_trace ('Entering '||l_proc_name);
902: lv_per_do_not_report := 'N';
903: ln_prev_payroll_action_id := -1;
904:
905: ln_assignment_action_id := pay_magtape_generic.get_parameter_value
903: ln_prev_payroll_action_id := -1;
904:
905: ln_assignment_action_id := pay_magtape_generic.get_parameter_value
906: ('TRANSFER_ACT_ID');
907: hr_utility_trace ('Processing asg action '|| ln_assignment_action_id);
908: OPEN c_get_bus_grp_id;
909: FETCH c_get_bus_grp_id INTO ln_business_group;
910: CLOSE c_get_bus_grp_id;
911:
911:
912: ln_legal_er := hr_mx_utility.get_legal_employer(ln_business_group,
913: g_mag_gre_id);
914:
915: hr_utility_trace ('Fetching start date from legal employer.'|| ln_legal_er);
916: OPEN c_get_imp_date (ln_legal_er);
917: FETCH c_get_imp_date INTO ld_imp_date;
918: CLOSE c_get_imp_date;
919: hr_utility_trace ('ld_imp_date '|| ld_imp_date);
915: hr_utility_trace ('Fetching start date from legal employer.'|| ln_legal_er);
916: OPEN c_get_imp_date (ln_legal_er);
917: FETCH c_get_imp_date INTO ld_imp_date;
918: CLOSE c_get_imp_date;
919: hr_utility_trace ('ld_imp_date '|| ld_imp_date);
920:
921: SELECT fnd_date.date_to_canonical(MIN(creation_date))
922: INTO ld_event_strt_date
923: FROM pay_process_events ppe
931: IF fnd_date.canonical_to_date(ld_event_strt_date) >= fnd_date.canonical_to_date(NVL(ld_imp_date,ld_event_strt_date)) THEN
932: ld_imp_date := ld_event_strt_date;
933: END IF;
934:
935: hr_utility_trace ('ld_event_strt_date '|| ld_event_strt_date);
936: hr_utility_trace ('ld_imp_date '|| ld_imp_date);
937:
938: IF ld_imp_date IS NULL THEN
939: ld_imp_date := pay_mx_utility.get_default_imp_date;
932: ld_imp_date := ld_event_strt_date;
933: END IF;
934:
935: hr_utility_trace ('ld_event_strt_date '|| ld_event_strt_date);
936: hr_utility_trace ('ld_imp_date '|| ld_imp_date);
937:
938: IF ld_imp_date IS NULL THEN
939: ld_imp_date := pay_mx_utility.get_default_imp_date;
940: END IF;
937:
938: IF ld_imp_date IS NULL THEN
939: ld_imp_date := pay_mx_utility.get_default_imp_date;
940: END IF;
941: hr_utility_trace ('Actual Implementation Date is : '|| ld_imp_date);
942: OPEN csr_person(ln_assignment_action_id);
943: FETCH csr_person INTO lv_person_id;
944: CLOSE csr_person;
945:
949: FETCH csr_asg_actions INTO ln_assignment_action_id,
950: ld_effective_date;
951:
952: EXIT WHEN csr_asg_actions%NOTFOUND OR lb_person_processed;
953: hr_utility_trace ('Processing magtape asg action '||
954: ln_assignment_action_id);
955:
956: OPEN get_emp_details (ln_assignment_action_id);
957: --LOOP
959: ln_action_context_id,
960: ln_action_information_id,
961: lv_per_do_not_report;
962: IF get_emp_details%NOTFOUND AND NOT lb_person_processed THEN
963: hr_utility_trace('No archived worker information found for '||
964: 'magtape asg action '||ln_assignment_action_id||
965: '. Going back in asg actions history.');
966: --END IF;
967: --EXIT WHEN get_emp_details%NOTFOUND;
966: --END IF;
967: --EXIT WHEN get_emp_details%NOTFOUND;
968:
969: ELSIF lv_per_do_not_report <> 'Y' THEN
970: hr_utility_trace('Archived worker information found '||
971: 'for magtape asg action '||
972: ln_assignment_action_id);
973: hr_utility_trace('Current archiver payroll action id = '||
974: ln_payroll_action_id);
969: ELSIF lv_per_do_not_report <> 'Y' THEN
970: hr_utility_trace('Archived worker information found '||
971: 'for magtape asg action '||
972: ln_assignment_action_id);
973: hr_utility_trace('Current archiver payroll action id = '||
974: ln_payroll_action_id);
975: hr_utility_trace('Prev archiver payroll action id = '||
976: ln_prev_payroll_action_id);
977:
971: 'for magtape asg action '||
972: ln_assignment_action_id);
973: hr_utility_trace('Current archiver payroll action id = '||
974: ln_payroll_action_id);
975: hr_utility_trace('Prev archiver payroll action id = '||
976: ln_prev_payroll_action_id);
977:
978: IF ln_payroll_action_id <> ln_prev_payroll_action_id THEN
979: hr_utility_trace('Worker record processed');
975: hr_utility_trace('Prev archiver payroll action id = '||
976: ln_prev_payroll_action_id);
977:
978: IF ln_payroll_action_id <> ln_prev_payroll_action_id THEN
979: hr_utility_trace('Worker record processed');
980: lt_act_info_id(lt_act_info_id.count() + 1) :=
981: ln_action_information_id;
982: ln_prev_payroll_action_id := ln_payroll_action_id;
983: lb_person_processed := TRUE;
981: ln_action_information_id;
982: ln_prev_payroll_action_id := ln_payroll_action_id;
983: lb_person_processed := TRUE;
984: ELSE
985: hr_utility_trace('Worker record NOT processed');
986: END IF;
987: /*ELSE
988: hr_utility_trace('No archived person information found for '||
989: 'asg action '||ln_assignment_action_id||
984: ELSE
985: hr_utility_trace('Worker record NOT processed');
986: END IF;
987: /*ELSE
988: hr_utility_trace('No archived person information found for '||
989: 'asg action '||ln_assignment_action_id||
990: '. Looking for past asg actions now.');
991: EXIT;*/
992: END IF;
996: CLOSE csr_asg_actions;
997:
998: ln_assignment_action_id := pay_magtape_generic.get_parameter_value
999: ('TRANSFER_ACT_ID');
1000: hr_utility_trace ('Fetching transactions for magtape asg action '||
1001: ln_assignment_action_id);
1002:
1003: IF lv_per_do_not_report <> 'Y' THEN
1004: OPEN get_emp_trans (ln_assignment_action_id,ld_imp_date);
1013: ln_idw,
1014: lv_tran_dt;
1015: EXIT WHEN get_emp_trans%NOTFOUND;
1016: IF lv_tran_do_not_report <> 'Y' THEN
1017: hr_utility_trace ('Transaction type = '||lv_tran_type||'('||
1018: lv_tran_dt||')');
1019:
1020: IF lv_tran_type IN ('02', '07', '08') THEN
1021: ln_count := lt_tran.COUNT();
1039: FETCH csr_prev_idw INTO ln_prev_idw;
1040: CLOSE csr_prev_idw;
1041: END IF;
1042:
1043: hr_utility_trace('Previous IDW reported for person '||
1044: lv_person_id||' is :'||ln_prev_idw);
1045: IF ln_prev_idw IS NOT NULL THEN
1046: IF ln_prev_idw <> ln_idw THEN
1047: lt_act_info_id(lt_act_info_id.count() + 1) :=
1047: lt_act_info_id(lt_act_info_id.count() + 1) :=
1048: ln_action_information_id;
1049: ln_prev_idw := ln_idw;
1050: ELSE
1051: hr_utility_trace ('IDW has not changed. Skipping'||
1052: ' this transaction.');
1053: END IF;
1054: ELSE
1055: ln_prev_idw := -1;
1068: NULL);
1069: FETCH csr_tran_exists INTO ld_tran_dt;
1070: CLOSE csr_tran_exists;
1071:
1072: hr_utility_trace('Above transaction was reported on '||
1073: fnd_date.date_to_canonical(ld_tran_dt));
1074:
1075: IF ld_tran_dt IS NOT NULL THEN
1076: ld_tran_dt := NULL;
1088:
1089: FETCH csr_tran_exists INTO ld_tran_dt;
1090: CLOSE csr_tran_exists;
1091:
1092: hr_utility_trace('Counter transaction of above '||
1093: 'transaction was reported on '||
1094: fnd_date.date_to_canonical(ld_tran_dt));
1095: IF ld_tran_dt IS NULL THEN
1096: hr_utility_trace('Suppressing above transaction');
1092: hr_utility_trace('Counter transaction of above '||
1093: 'transaction was reported on '||
1094: fnd_date.date_to_canonical(ld_tran_dt));
1095: IF ld_tran_dt IS NULL THEN
1096: hr_utility_trace('Suppressing above transaction');
1097: lv_show_curr_trans := 'N';
1098: END IF;
1099: END IF;
1100:
1128: -- Bug 4541979
1129: IF lt_act_info_id.count() = 0 AND
1130: lt_act_info_id_exc_wd.count() = 0 AND
1131: lt_act_info_id_exc_trans.count() = 0 THEN
1132: hr_utility_trace ('Nothing to write to BLOB for magtape asg action '||
1133: ln_assignment_action_id);
1134: ELSE
1135: pay_payroll_xml_extract_pkg.generate(lt_act_info_id,
1136: NULL,
1149: g_document_type,
1150: l_xml);
1151: write_to_magtape_lob (l_xml);
1152:
1153: hr_utility_trace ('BLOB contents for magtape assignment action '||
1154: ln_assignment_action_id);
1155: print_blob (pay_mag_tape.g_blob_value);
1156: END IF;
1157:
1154: ln_assignment_action_id);
1155: print_blob (pay_mag_tape.g_blob_value);
1156: END IF;
1157:
1158: hr_utility_trace ('Leaving '||l_proc_name);
1159: EXCEPTION
1160: WHEN OTHERS THEN
1161: hr_utility_trace (SQLERRM);
1162: RAISE;
1157:
1158: hr_utility_trace ('Leaving '||l_proc_name);
1159: EXCEPTION
1160: WHEN OTHERS THEN
1161: hr_utility_trace (SQLERRM);
1162: RAISE;
1163: END GENERATE_XML;
1164:
1165:
1172: l_proc_name varchar2(100);
1173: lv_buf varchar2(2000);
1174: BEGIN
1175: l_proc_name := g_proc_name || 'GEN_XML_HEADER';
1176: hr_utility_trace ('Entering '||l_proc_name);
1177:
1178: hr_utility_trace ('Root XML tag = '||
1179: pay_magtape_generic.get_parameter_value('ROOT_XML_TAG'));
1180:
1174: BEGIN
1175: l_proc_name := g_proc_name || 'GEN_XML_HEADER';
1176: hr_utility_trace ('Entering '||l_proc_name);
1177:
1178: hr_utility_trace ('Root XML tag = '||
1179: pay_magtape_generic.get_parameter_value('ROOT_XML_TAG'));
1180:
1181: lv_buf := pay_magtape_generic.get_parameter_value('ROOT_XML_TAG');
1182:
1181: lv_buf := pay_magtape_generic.get_parameter_value('ROOT_XML_TAG');
1182:
1183: write_to_magtape_lob (lv_buf);
1184:
1185: hr_utility_trace ('BLOB contents after appending header information');
1186: print_blob (pay_mag_tape.g_blob_value);
1187:
1188: hr_utility_trace ('Leaving '||l_proc_name);
1189: END GEN_XML_HEADER;
1184:
1185: hr_utility_trace ('BLOB contents after appending header information');
1186: print_blob (pay_mag_tape.g_blob_value);
1187:
1188: hr_utility_trace ('Leaving '||l_proc_name);
1189: END GEN_XML_HEADER;
1190:
1191:
1192: /****************************************************************************
1226: lr_xml RAW (32767);
1227: ln_amt number;
1228: BEGIN
1229: l_proc_name := g_proc_name || 'GEN_XML_FOOTER';
1230: hr_utility_trace ('Entering '||l_proc_name);
1231: ln_chars := 2000;
1232: ln_offset := 1;
1233:
1234: OPEN get_arch_pact_id (1);
1240: CLOSE get_action_info_id;
1241:
1242: -- Bug 4541979
1243: IF lt_act_info_id.count() = 0 THEN
1244: hr_utility_trace('GRE Information not found for magtape payroll action '
1245: || pay_magtape_generic.get_parameter_value('PAYROLL_ACTION_ID'));
1246: ELSE
1247: pay_payroll_xml_extract_pkg.generate(lt_act_info_id,
1248: NULL,
1279: 2);
1280:
1281: write_to_magtape_lob (lv_buf);
1282:
1283: hr_utility_trace ('BLOB contents after appending footer information');
1284: print_blob (pay_mag_tape.g_blob_value);
1285:
1286: hr_utility_trace ('Leaving '||l_proc_name);
1287: END GEN_XML_FOOTER;
1282:
1283: hr_utility_trace ('BLOB contents after appending footer information');
1284: print_blob (pay_mag_tape.g_blob_value);
1285:
1286: hr_utility_trace ('Leaving '||l_proc_name);
1287: END GEN_XML_FOOTER;
1288:
1289: /****************************************************************************
1290: Name : INIT
1296: ) AS
1297: l_proc_name VARCHAR2(100);
1298: BEGIN
1299: l_proc_name := g_proc_name || 'INIT';
1300: hr_utility_trace ('Entering '||l_proc_name);
1301:
1302: get_pact_info (p_payroll_action_id,
1303: g_mag_gre_id,
1304: g_mag_start_date,
1304: g_mag_start_date,
1305: g_mag_end_date,
1306: g_mag_mode);
1307:
1308: hr_utility_trace ('Leaving '||l_proc_name);
1309: END INIT;
1310:
1311: BEGIN
1312: --hr_utility.trace_on(null, 'MX_IDC');
1308: hr_utility_trace ('Leaving '||l_proc_name);
1309: END INIT;
1310:
1311: BEGIN
1312: --hr_utility.trace_on(null, 'MX_IDC');
1313: g_proc_name := 'PAY_MX_SUA_MAG.';
1314: g_debug := hr_utility.debug_enabled;
1315: g_document_type := 'MX_SUA_MAG';
1316: END PAY_MX_SUA_MAG;
1310:
1311: BEGIN
1312: --hr_utility.trace_on(null, 'MX_IDC');
1313: g_proc_name := 'PAY_MX_SUA_MAG.';
1314: g_debug := hr_utility.debug_enabled;
1315: g_document_type := 'MX_SUA_MAG';
1316: END PAY_MX_SUA_MAG;