66:
67: EOL VARCHAR2(5);
68:
69: /****************************************************************************
70: Name : HR_UTILITY_TRACE
71: Description : This procedure prints debug messages.
72: *****************************************************************************/
73: PROCEDURE hr_utility_trace ( P_TRC_DATA VARCHAR2) AS
74: BEGIN
69: /****************************************************************************
70: Name : HR_UTILITY_TRACE
71: Description : This procedure prints debug messages.
72: *****************************************************************************/
73: PROCEDURE hr_utility_trace ( P_TRC_DATA VARCHAR2) AS
74: BEGIN
75: IF g_debug THEN
76: hr_utility.trace(p_trc_data);
77: END IF;
72: *****************************************************************************/
73: PROCEDURE hr_utility_trace ( P_TRC_DATA VARCHAR2) AS
74: BEGIN
75: IF g_debug THEN
76: hr_utility.trace(p_trc_data);
77: END IF;
78: END hr_utility_trace;
79:
80:
74: BEGIN
75: IF g_debug THEN
76: hr_utility.trace(p_trc_data);
77: END IF;
78: END hr_utility_trace;
79:
80:
81: /****************************************************************************
82: Name : PRINT_BLOB
201: l_xml VARCHAR2(240);
202:
203: BEGIN
204: l_proc_name := g_proc_name || 'LOAD_XML_INTERNAL';
205: hr_utility_trace ('Entering '||l_proc_name);
206:
207: IF p_node_type = 'CS' THEN
208:
209: l_xml := '<'||p_node||'>'||EOL;
225: END IF;
226:
227: write_to_magtape_lob (l_xml);
228:
229: hr_utility_trace ('Leaving '||l_proc_name);
230:
231: END load_xml_internal;
232:
233: /****************************************************************************
260: BEGIN
261:
262: lv_procedure_name := g_proc_name ||'.get_payroll_action_info';
263:
264: hr_utility.set_location(lv_procedure_name, 10);
265:
266: ln_step := 1;
267:
268: OPEN c_payroll_action_info(p_payroll_action_id);
271: ,ln_legal_er_id;
272: CLOSE c_payroll_action_info;
273:
274: ln_step := 2;
275: hr_utility.set_location(lv_procedure_name, 30);
276:
277: p_end_date := TRUNC(ld_end_date,'Y');
278: p_business_group_id := ln_business_group_id;
279: p_legal_employer_id := ln_legal_er_id;
277: p_end_date := TRUNC(ld_end_date,'Y');
278: p_business_group_id := ln_business_group_id;
279: p_legal_employer_id := ln_legal_er_id;
280:
281: hr_utility.set_location(lv_procedure_name, 50);
282:
283: EXCEPTION
284: WHEN OTHERS THEN
285: lv_error_message := 'Error at step ' || ln_step || ' IN ' ||
284: WHEN OTHERS THEN
285: lv_error_message := 'Error at step ' || ln_step || ' IN ' ||
286: lv_procedure_name;
287:
288: hr_utility.trace(lv_error_message || '-' || SQLERRM);
289:
290: lv_error_message :=
291: pay_emp_action_arch.set_error_message(lv_error_message);
292:
289:
290: lv_error_message :=
291: pay_emp_action_arch.set_error_message(lv_error_message);
292:
293: hr_utility.set_message(801,'HR_ELE_ENTRY_FORMULA_HINT');
294: hr_utility.set_message_token('FORMULA_TEXT', lv_error_message);
295: hr_utility.raise_error;
296:
297: END get_payroll_action_info;
290: lv_error_message :=
291: pay_emp_action_arch.set_error_message(lv_error_message);
292:
293: hr_utility.set_message(801,'HR_ELE_ENTRY_FORMULA_HINT');
294: hr_utility.set_message_token('FORMULA_TEXT', lv_error_message);
295: hr_utility.raise_error;
296:
297: END get_payroll_action_info;
298:
291: pay_emp_action_arch.set_error_message(lv_error_message);
292:
293: hr_utility.set_message(801,'HR_ELE_ENTRY_FORMULA_HINT');
294: hr_utility.set_message_token('FORMULA_TEXT', lv_error_message);
295: hr_utility.raise_error;
296:
297: END get_payroll_action_info;
298:
299: /****************************************************************************
307:
308: BEGIN
309: l_proc_name := g_proc_name || 'RANGE_CURSOR';
310:
311: hr_utility_trace ('Entering '||l_proc_name);
312:
313: hr_utility_trace ('P_PAYROLL_ACTION_ID = '|| p_payroll_action_id);
314:
315: get_payroll_action_info (p_payroll_action_id
309: l_proc_name := g_proc_name || 'RANGE_CURSOR';
310:
311: hr_utility_trace ('Entering '||l_proc_name);
312:
313: hr_utility_trace ('P_PAYROLL_ACTION_ID = '|| p_payroll_action_id);
314:
315: get_payroll_action_info (p_payroll_action_id
316: ,gd_effective_date
317: ,gn_business_group_id
316: ,gd_effective_date
317: ,gn_business_group_id
318: ,gn_legal_er_id);
319:
320: hr_utility_trace ('gd_effective_date = '|| gd_effective_date);
321: hr_utility_trace ('gn_business_group_id = '|| gn_business_group_id);
322: hr_utility_trace ('gn_legal_er_id = '|| gn_legal_er_id);
323:
324: p_sqlstr := '
317: ,gn_business_group_id
318: ,gn_legal_er_id);
319:
320: hr_utility_trace ('gd_effective_date = '|| gd_effective_date);
321: hr_utility_trace ('gn_business_group_id = '|| gn_business_group_id);
322: hr_utility_trace ('gn_legal_er_id = '|| gn_legal_er_id);
323:
324: p_sqlstr := '
325: SELECT DISTINCT to_number(paa_arch.serial_number)
318: ,gn_legal_er_id);
319:
320: hr_utility_trace ('gd_effective_date = '|| gd_effective_date);
321: hr_utility_trace ('gn_business_group_id = '|| gn_business_group_id);
322: hr_utility_trace ('gn_legal_er_id = '|| gn_legal_er_id);
323:
324: p_sqlstr := '
325: SELECT DISTINCT to_number(paa_arch.serial_number)
326: FROM pay_assignment_actions paa_arch
338: AND paa_arch.action_status = ''C''
339: AND :p_payroll_action_id = '||p_payroll_action_id||'
340: ORDER BY 1';
341:
342: hr_utility_trace ('Range cursor query : ' || p_sqlstr);
343: hr_utility_trace ('Leaving '||l_proc_name);
344:
345: END range_cursor;
346:
339: AND :p_payroll_action_id = '||p_payroll_action_id||'
340: ORDER BY 1';
341:
342: hr_utility_trace ('Range cursor query : ' || p_sqlstr);
343: hr_utility_trace ('Leaving '||l_proc_name);
344:
345: END range_cursor;
346:
347:
420: ln_arch_act_id number;
421: ln_asg_count number;
422: BEGIN
423: l_proc_name := g_proc_name || 'ACTION_CREATION';
424: hr_utility_trace ('Entering '||l_proc_name);
425: hr_utility_trace ('Parameters ....');
426: hr_utility_trace ('P_PAYROLL_ACTION_ID = '|| P_PAYROLL_ACTION_ID);
427: hr_utility_trace ('P_START_PERSON_ID = '|| P_START_PERSON_ID);
428: hr_utility_trace ('P_END_PERSON_ID = '|| P_END_PERSON_ID);
421: ln_asg_count number;
422: BEGIN
423: l_proc_name := g_proc_name || 'ACTION_CREATION';
424: hr_utility_trace ('Entering '||l_proc_name);
425: hr_utility_trace ('Parameters ....');
426: hr_utility_trace ('P_PAYROLL_ACTION_ID = '|| P_PAYROLL_ACTION_ID);
427: hr_utility_trace ('P_START_PERSON_ID = '|| P_START_PERSON_ID);
428: hr_utility_trace ('P_END_PERSON_ID = '|| P_END_PERSON_ID);
429: hr_utility_trace ('P_CHUNK = '|| P_CHUNK);
422: BEGIN
423: l_proc_name := g_proc_name || 'ACTION_CREATION';
424: hr_utility_trace ('Entering '||l_proc_name);
425: hr_utility_trace ('Parameters ....');
426: hr_utility_trace ('P_PAYROLL_ACTION_ID = '|| P_PAYROLL_ACTION_ID);
427: hr_utility_trace ('P_START_PERSON_ID = '|| P_START_PERSON_ID);
428: hr_utility_trace ('P_END_PERSON_ID = '|| P_END_PERSON_ID);
429: hr_utility_trace ('P_CHUNK = '|| P_CHUNK);
430:
423: l_proc_name := g_proc_name || 'ACTION_CREATION';
424: hr_utility_trace ('Entering '||l_proc_name);
425: hr_utility_trace ('Parameters ....');
426: hr_utility_trace ('P_PAYROLL_ACTION_ID = '|| P_PAYROLL_ACTION_ID);
427: hr_utility_trace ('P_START_PERSON_ID = '|| P_START_PERSON_ID);
428: hr_utility_trace ('P_END_PERSON_ID = '|| P_END_PERSON_ID);
429: hr_utility_trace ('P_CHUNK = '|| P_CHUNK);
430:
431: ln_prev_person_id := -1;
424: hr_utility_trace ('Entering '||l_proc_name);
425: hr_utility_trace ('Parameters ....');
426: hr_utility_trace ('P_PAYROLL_ACTION_ID = '|| P_PAYROLL_ACTION_ID);
427: hr_utility_trace ('P_START_PERSON_ID = '|| P_START_PERSON_ID);
428: hr_utility_trace ('P_END_PERSON_ID = '|| P_END_PERSON_ID);
429: hr_utility_trace ('P_CHUNK = '|| P_CHUNK);
430:
431: ln_prev_person_id := -1;
432: ln_prev_asg_id := -1;
425: hr_utility_trace ('Parameters ....');
426: hr_utility_trace ('P_PAYROLL_ACTION_ID = '|| P_PAYROLL_ACTION_ID);
427: hr_utility_trace ('P_START_PERSON_ID = '|| P_START_PERSON_ID);
428: hr_utility_trace ('P_END_PERSON_ID = '|| P_END_PERSON_ID);
429: hr_utility_trace ('P_CHUNK = '|| P_CHUNK);
430:
431: ln_prev_person_id := -1;
432: ln_prev_asg_id := -1;
433: ln_prev_arch_pact_id := -1;
450: ,p_report_category => 'RT');
451:
452: IF lb_range_person_on THEN
453:
454: hr_utility_trace ('Person ranges are ON');
455:
456: OPEN c_arch_asg_range( gn_business_group_id
457: ,gn_legal_er_id
458: ,gd_effective_date
460: ,p_payroll_action_id);
461:
462: ELSE
463:
464: hr_utility_trace ('Person ranges are OFF');
465:
466: OPEN c_arch_asg( gn_business_group_id
467: ,gn_legal_er_id
468: ,gd_effective_date
487: END IF;
488:
489: ln_asg_count := ln_asg_count + 1;
490:
491: hr_utility_trace ('-------------');
492: hr_utility_trace('Current archiver asg action = '||ln_arch_act_id);
493: hr_utility_trace('Current person = '||ln_person_id);
494: hr_utility_trace('Previous person = '||ln_prev_person_id);
495:
488:
489: ln_asg_count := ln_asg_count + 1;
490:
491: hr_utility_trace ('-------------');
492: hr_utility_trace('Current archiver asg action = '||ln_arch_act_id);
493: hr_utility_trace('Current person = '||ln_person_id);
494: hr_utility_trace('Previous person = '||ln_prev_person_id);
495:
496: IF (ln_person_id <> ln_prev_person_id) THEN
489: ln_asg_count := ln_asg_count + 1;
490:
491: hr_utility_trace ('-------------');
492: hr_utility_trace('Current archiver asg action = '||ln_arch_act_id);
493: hr_utility_trace('Current person = '||ln_person_id);
494: hr_utility_trace('Previous person = '||ln_prev_person_id);
495:
496: IF (ln_person_id <> ln_prev_person_id) THEN
497:
490:
491: hr_utility_trace ('-------------');
492: hr_utility_trace('Current archiver asg action = '||ln_arch_act_id);
493: hr_utility_trace('Current person = '||ln_person_id);
494: hr_utility_trace('Previous person = '||ln_prev_person_id);
495:
496: IF (ln_person_id <> ln_prev_person_id) THEN
497:
498: SELECT pay_assignment_actions_s.nextval
498: SELECT pay_assignment_actions_s.nextval
499: INTO ln_mag_asg_act_id
500: FROM dual;
501:
502: hr_utility_trace('Creating magtape assignment action '||
503: ln_mag_asg_act_id);
504:
505: hr_nonrun_asact.insact(ln_mag_asg_act_id
506: ,ln_assignment_id
511: ,'U'
512: ,null);
513:
514: -- insert an interlock to this action
515: hr_utility.trace('Locking Action in IF = ' || ln_mag_asg_act_id);
516: hr_utility.trace('Locked Action in IF = ' || ln_arch_act_id);
517:
518: hr_nonrun_asact.insint(ln_mag_asg_act_id,
519: ln_arch_act_id);
512: ,null);
513:
514: -- insert an interlock to this action
515: hr_utility.trace('Locking Action in IF = ' || ln_mag_asg_act_id);
516: hr_utility.trace('Locked Action in IF = ' || ln_arch_act_id);
517:
518: hr_nonrun_asact.insint(ln_mag_asg_act_id,
519: ln_arch_act_id);
520:
520:
521: ELSE
522:
523: -- insert an interlock to this action
524: hr_utility.trace('Locking Action in ELSE = ' || ln_mag_asg_act_id);
525: hr_utility.trace('Locked Action in ELSE = ' || ln_arch_act_id);
526:
527: hr_nonrun_asact.insint(ln_mag_asg_act_id,
528: ln_arch_act_id);
521: ELSE
522:
523: -- insert an interlock to this action
524: hr_utility.trace('Locking Action in ELSE = ' || ln_mag_asg_act_id);
525: hr_utility.trace('Locked Action in ELSE = ' || ln_arch_act_id);
526:
527: hr_nonrun_asact.insint(ln_mag_asg_act_id,
528: ln_arch_act_id);
529:
532: ln_prev_person_id := ln_person_id;
533:
534: END LOOP;
535:
536: hr_utility_trace(ln_asg_count || ' archiver actions processed in chunk '||
537: p_chunk);
538:
539: IF lb_range_person_on THEN
540: CLOSE c_arch_asg_range;
541: ELSE
542: CLOSE c_arch_asg;
543: END IF;
544:
545: hr_utility_trace ('Leaving '||l_proc_name);
546:
547: END action_creation;
548:
549: /****************************************************************************
761:
762: BEGIN
763:
764: l_proc_name := g_proc_name || 'GENERATE_XML';
765: hr_utility_trace ('Entering '||l_proc_name);
766:
767: ln_assignment_action_id := pay_magtape_generic.get_parameter_value
768: ('TRANSFER_ACT_ID');
769:
766:
767: ln_assignment_action_id := pay_magtape_generic.get_parameter_value
768: ('TRANSFER_ACT_ID');
769:
770: hr_utility_trace ('Fetching transactions for magtape asg action '||
771: ln_assignment_action_id);
772: decimal_char := substr(ltrim(to_char(.3,'0D0')),2,1);
773: p_format := '0'||decimal_char||'9999';
774: hr_utility_trace('decimal_char '||decimal_char);
770: hr_utility_trace ('Fetching transactions for magtape asg action '||
771: ln_assignment_action_id);
772: decimal_char := substr(ltrim(to_char(.3,'0D0')),2,1);
773: p_format := '0'||decimal_char||'9999';
774: hr_utility_trace('decimal_char '||decimal_char);
775: hr_utility_trace('p_format '||p_format);
776: dim_xml_tbl.DELETE;
777:
778: gn_success_fail := 0;
771: ln_assignment_action_id);
772: decimal_char := substr(ltrim(to_char(.3,'0D0')),2,1);
773: p_format := '0'||decimal_char||'9999';
774: hr_utility_trace('decimal_char '||decimal_char);
775: hr_utility_trace('p_format '||p_format);
776: dim_xml_tbl.DELETE;
777:
778: gn_success_fail := 0;
779: gn_sep_bal := 0;
1509: ELSE
1510: load_xml_internal('CE','FAIL',NULL);
1511: END IF;
1512:
1513: hr_utility_trace ('Leaving '||l_proc_name);
1514: EXCEPTION
1515: WHEN OTHERS THEN
1516: hr_utility_trace (SQLERRM);
1517: RAISE;
1512:
1513: hr_utility_trace ('Leaving '||l_proc_name);
1514: EXCEPTION
1515: WHEN OTHERS THEN
1516: hr_utility_trace (SQLERRM);
1517: RAISE;
1518: END GENERATE_XML;
1519:
1520:
1527: l_proc_name varchar2(100);
1528: lv_buf varchar2(2000);
1529: BEGIN
1530: l_proc_name := g_proc_name || 'GENERATE_XML_HEADER';
1531: hr_utility_trace ('Entering '||l_proc_name);
1532:
1533: hr_utility_trace ('Root XML tag = '||
1534: pay_magtape_generic.get_parameter_value('ROOT_XML_TAG'));
1535:
1529: BEGIN
1530: l_proc_name := g_proc_name || 'GENERATE_XML_HEADER';
1531: hr_utility_trace ('Entering '||l_proc_name);
1532:
1533: hr_utility_trace ('Root XML tag = '||
1534: pay_magtape_generic.get_parameter_value('ROOT_XML_TAG'));
1535:
1536: lv_buf := pay_magtape_generic.get_parameter_value('ROOT_XML_TAG');
1537:
1536: lv_buf := pay_magtape_generic.get_parameter_value('ROOT_XML_TAG');
1537:
1538: write_to_magtape_lob (lv_buf);
1539:
1540: hr_utility_trace ('Leaving '||l_proc_name);
1541: END generate_xml_header;
1542:
1543:
1544: /****************************************************************************
1559: lr_xml RAW (32767);
1560: ln_amt number;
1561: BEGIN
1562: l_proc_name := g_proc_name || 'GENERATE_XML_FOOTER';
1563: hr_utility_trace ('Entering '||l_proc_name);
1564:
1565: lv_buf := '' ||
1566: SUBSTR(pay_magtape_generic.get_parameter_value('ROOT_XML_TAG'),
1567: 2);
1568:
1569: write_to_magtape_lob (lv_buf);
1570:
1571:
1572: hr_utility_trace ('Leaving '||l_proc_name);
1573: END generate_xml_footer;
1574:
1575: BEGIN
1576: --hr_utility.trace_on(null, 'PAYMXDIM');
1572: hr_utility_trace ('Leaving '||l_proc_name);
1573: END generate_xml_footer;
1574:
1575: BEGIN
1576: --hr_utility.trace_on(null, 'PAYMXDIM');
1577: g_proc_name := 'PAY_MX_DIM_MAG.';
1578: g_debug := hr_utility.debug_enabled;
1579: g_document_type := 'MX_DIM_MAG';
1580: END PAY_MX_DIM_MAG;
1574:
1575: BEGIN
1576: --hr_utility.trace_on(null, 'PAYMXDIM');
1577: g_proc_name := 'PAY_MX_DIM_MAG.';
1578: g_debug := hr_utility.debug_enabled;
1579: g_document_type := 'MX_DIM_MAG';
1580: END PAY_MX_DIM_MAG;