30:
31: l_procedure VARCHAR2(100):= g_package||'get_exclusion_rule_id';
32: l_message VARCHAR2(1000);
33: BEGIN
34: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
35:
36: IF p_exclusion_tag IS NULL THEN
37: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
38:
33: BEGIN
34: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
35:
36: IF p_exclusion_tag IS NULL THEN
37: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
38:
39: RETURN TO_NUMBER(NULL);
40: END IF ;
41:
44: LOOP
45:
46: IF p_template_rec.er_setup(i).tag = p_exclusion_tag
47: THEN
48: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,30);
49:
50: RETURN p_template_rec.er_setup(i).rule_id;
51: END IF ;
52:
50: RETURN p_template_rec.er_setup(i).rule_id;
51: END IF ;
52:
53: END LOOP;
54: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,40);
55:
56: RETURN TO_NUMBER(NULL);
57:
58: EXCEPTION
56: RETURN TO_NUMBER(NULL);
57:
58: EXCEPTION
59: WHEN OTHERS THEN
60: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,50);
61: l_message := pay_in_utils.get_pay_message
62: ('PER_IN_ORACLE_GENERIC_ERROR',
63: 'FUNCTION:'||l_procedure,
64: 'SQLERRMC:'||SQLERRM);
57:
58: EXCEPTION
59: WHEN OTHERS THEN
60: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,50);
61: l_message := pay_in_utils.get_pay_message
62: ('PER_IN_ORACLE_GENERIC_ERROR',
63: 'FUNCTION:'||l_procedure,
64: 'SQLERRMC:'||SQLERRM);
65: pay_in_utils.trace('SQLERRM',l_message);
61: l_message := pay_in_utils.get_pay_message
62: ('PER_IN_ORACLE_GENERIC_ERROR',
63: 'FUNCTION:'||l_procedure,
64: 'SQLERRMC:'||SQLERRM);
65: pay_in_utils.trace('SQLERRM',l_message);
66: RAISE ;
67:
68: END get_exclusion_rule_id;
69:
86: l_procedure VARCHAR2(100):= g_package||'get_iv_id';
87: l_message VARCHAR2(1000);
88:
89: BEGIN
90: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
91:
92: FOR i IN p_template_rec.iv_setup.FIRST
93: ..p_template_rec.iv_setup.LAST
94: LOOP
94: LOOP
95: IF p_template_rec.iv_setup(i).input_value_name
96: = p_input_value
97: THEN
98: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
99:
100: RETURN p_template_rec.iv_setup(i).input_value_id;
101: END IF ;
102:
100: RETURN p_template_rec.iv_setup(i).input_value_id;
101: END IF ;
102:
103: END LOOP;
104: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,30);
105:
106: RETURN TO_NUMBER(NULL);
107:
108: EXCEPTION
106: RETURN TO_NUMBER(NULL);
107:
108: EXCEPTION
109: WHEN OTHERS THEN
110: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,40);
111: l_message := pay_in_utils.get_pay_message
112: ('PER_IN_ORACLE_GENERIC_ERROR',
113: 'FUNCTION:'||l_procedure,
114: 'SQLERRMC:'||SQLERRM);
107:
108: EXCEPTION
109: WHEN OTHERS THEN
110: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,40);
111: l_message := pay_in_utils.get_pay_message
112: ('PER_IN_ORACLE_GENERIC_ERROR',
113: 'FUNCTION:'||l_procedure,
114: 'SQLERRMC:'||SQLERRM);
115: pay_in_utils.trace('SQLERRM',l_message);
111: l_message := pay_in_utils.get_pay_message
112: ('PER_IN_ORACLE_GENERIC_ERROR',
113: 'FUNCTION:'||l_procedure,
114: 'SQLERRMC:'||SQLERRM);
115: pay_in_utils.trace('SQLERRM',l_message);
116: RAISE ;
117:
118: END get_iv_id;
119:
137: l_procedure VARCHAR2(100):= g_package||'get_aet_id';
138: l_message VARCHAR2(1000);
139:
140: BEGIN
141: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
142:
143: FOR i IN p_template_rec.ae_setup.FIRST
144: ..p_template_rec.ae_setup.LAST
145: LOOP
145: LOOP
146: IF p_template_rec.ae_setup(i).element_name
147: = p_element_name
148: THEN
149: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,20);
150:
151: RETURN p_template_rec.ae_setup(i).element_id;
152: END IF ;
153:
151: RETURN p_template_rec.ae_setup(i).element_id;
152: END IF ;
153:
154: END LOOP;
155: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,30);
156:
157: RETURN TO_NUMBER(NULL);
158:
159: EXCEPTION
157: RETURN TO_NUMBER(NULL);
158:
159: EXCEPTION
160: WHEN OTHERS THEN
161: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,40);
162: l_message := pay_in_utils.get_pay_message
163: ('PER_IN_ORACLE_GENERIC_ERROR',
164: 'FUNCTION:'||l_procedure,
165: 'SQLERRMC:'||SQLERRM);
158:
159: EXCEPTION
160: WHEN OTHERS THEN
161: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,40);
162: l_message := pay_in_utils.get_pay_message
163: ('PER_IN_ORACLE_GENERIC_ERROR',
164: 'FUNCTION:'||l_procedure,
165: 'SQLERRMC:'||SQLERRM);
166: pay_in_utils.trace('SQLERRM',l_message);
162: l_message := pay_in_utils.get_pay_message
163: ('PER_IN_ORACLE_GENERIC_ERROR',
164: 'FUNCTION:'||l_procedure,
165: 'SQLERRMC:'||SQLERRM);
166: pay_in_utils.trace('SQLERRM',l_message);
167: RAISE ;
168: END get_aet_id;
169:
170: --------------------------------------------------------------------------
187: l_procedure VARCHAR2(100):= g_package||'get_aiv_id';
188: l_message VARCHAR2(1000);
189:
190: BEGIN
191: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
192:
193: FOR i IN p_template_rec.ae_setup.FIRST
194: ..p_template_rec.ae_setup.LAST
195: LOOP
201: LOOP
202: IF p_template_rec.ae_setup(i).iv_setup(j).input_value_name
203: = p_input_value
204: THEN
205: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,20);
206:
207: RETURN p_template_rec.ae_setup(i).iv_setup(j).input_value_id;
208: END IF ;
209: END LOOP ;
209: END LOOP ;
210: END IF ;
211: END LOOP;
212:
213: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,30);
214:
215: RETURN TO_NUMBER(NULL);
216:
217: EXCEPTION
215: RETURN TO_NUMBER(NULL);
216:
217: EXCEPTION
218: WHEN OTHERS THEN
219: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,40);
220: l_message := pay_in_utils.get_pay_message
221: ('PER_IN_ORACLE_GENERIC_ERROR',
222: 'FUNCTION:'||l_procedure,
223: 'SQLERRMC:'||SQLERRM);
216:
217: EXCEPTION
218: WHEN OTHERS THEN
219: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,40);
220: l_message := pay_in_utils.get_pay_message
221: ('PER_IN_ORACLE_GENERIC_ERROR',
222: 'FUNCTION:'||l_procedure,
223: 'SQLERRMC:'||SQLERRM);
224: pay_in_utils.trace('SQLERRM',l_message);
220: l_message := pay_in_utils.get_pay_message
221: ('PER_IN_ORACLE_GENERIC_ERROR',
222: 'FUNCTION:'||l_procedure,
223: 'SQLERRMC:'||SQLERRM);
224: pay_in_utils.trace('SQLERRM',l_message);
225: RAISE ;
226:
227: END get_aiv_id;
228:
243: l_procedure CONSTANT VARCHAR2(100):= g_package||'get_text';
244: l_message VARCHAR2(1000);
245:
246: BEGIN
247: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
248:
249: FOR i IN 1..pay_in_etw_struct.g_formula_obj.COUNT
250: LOOP
251:
250: LOOP
251:
252: IF pay_in_etw_struct.g_formula_obj(i).NAME = p_formula_name
253: THEN
254: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,20);
255:
256: RETURN pay_in_etw_struct.g_formula_obj(i).text;
257: END IF;
258:
256: RETURN pay_in_etw_struct.g_formula_obj(i).text;
257: END IF;
258:
259: END LOOP;
260: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,30);
261:
262: RETURN NULL;
263:
264: EXCEPTION
262: RETURN NULL;
263:
264: EXCEPTION
265: WHEN OTHERS THEN
266: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,40);
267: l_message := pay_in_utils.get_pay_message
268: ('PER_IN_ORACLE_GENERIC_ERROR',
269: 'FUNCTION:'||l_procedure,
270: 'SQLERRMC:'||SQLERRM);
263:
264: EXCEPTION
265: WHEN OTHERS THEN
266: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,40);
267: l_message := pay_in_utils.get_pay_message
268: ('PER_IN_ORACLE_GENERIC_ERROR',
269: 'FUNCTION:'||l_procedure,
270: 'SQLERRMC:'||SQLERRM);
271: pay_in_utils.trace('SQLERRM',l_message);
267: l_message := pay_in_utils.get_pay_message
268: ('PER_IN_ORACLE_GENERIC_ERROR',
269: 'FUNCTION:'||l_procedure,
270: 'SQLERRMC:'||SQLERRM);
271: pay_in_utils.trace('SQLERRM',l_message);
272: RAISE ;
273:
274: END get_text;
275:
373: WHERE template_id = p_template_id
374: FOR UPDATE OF template_id;
375:
376: BEGIN
377: pay_in_utils.set_location(g_debug, 'Entering: '||l_procedure,10);
378:
379: OPEN csr_element_template(p_template_id);
380: FETCH csr_element_template INTO p_element_template;
381: CLOSE csr_element_template;
379: OPEN csr_element_template(p_template_id);
380: FETCH csr_element_template INTO p_element_template;
381: CLOSE csr_element_template;
382:
383: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,20);
384: EXCEPTION
385: WHEN OTHERS THEN
386: IF csr_element_template%ISOPEN THEN
387: CLOSE csr_element_template;
385: WHEN OTHERS THEN
386: IF csr_element_template%ISOPEN THEN
387: CLOSE csr_element_template;
388: END IF;
389: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,40);
390: l_message := pay_in_utils.get_pay_message
391: ('PER_IN_ORACLE_GENERIC_ERROR',
392: 'FUNCTION:'||l_procedure,
393: 'SQLERRMC:'||SQLERRM);
386: IF csr_element_template%ISOPEN THEN
387: CLOSE csr_element_template;
388: END IF;
389: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,40);
390: l_message := pay_in_utils.get_pay_message
391: ('PER_IN_ORACLE_GENERIC_ERROR',
392: 'FUNCTION:'||l_procedure,
393: 'SQLERRMC:'||SQLERRM);
394: pay_in_utils.trace('SQLERRM',l_message);
390: l_message := pay_in_utils.get_pay_message
391: ('PER_IN_ORACLE_GENERIC_ERROR',
392: 'FUNCTION:'||l_procedure,
393: 'SQLERRMC:'||SQLERRM);
394: pay_in_utils.trace('SQLERRM',l_message);
395: RAISE ;
396:
397: END get_element_template;
398:
414: l_procedure CONSTANT VARCHAR2(100):= g_package||'get_template';
415: l_message VARCHAR2(1000);
416:
417: BEGIN
418: pay_in_utils.set_location(g_debug,'Entering : '||l_procedure,10);
419:
420: FOR i IN 1..pay_in_etw_struct.g_template_obj.COUNT
421: LOOP
422:
421: LOOP
422:
423: IF pay_in_etw_struct.g_template_obj(i).template_name = p_template_name THEN
424:
425: pay_in_utils.set_location(g_debug,l_procedure,20);
426:
427: p_template_rec := pay_in_etw_struct.g_template_obj(i);
428:
429: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure,30);
425: pay_in_utils.set_location(g_debug,l_procedure,20);
426:
427: p_template_rec := pay_in_etw_struct.g_template_obj(i);
428:
429: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure,30);
430:
431: RETURN ;
432:
433: END IF;
432:
433: END IF;
434:
435: END LOOP;
436: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure,40);
437:
438: EXCEPTION
439: WHEN OTHERS THEN
440: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,50);
436: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure,40);
437:
438: EXCEPTION
439: WHEN OTHERS THEN
440: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,50);
441: l_message := pay_in_utils.get_pay_message
442: ('PER_IN_ORACLE_GENERIC_ERROR',
443: 'FUNCTION:'||l_procedure,
444: 'SQLERRMC:'||SQLERRM);
437:
438: EXCEPTION
439: WHEN OTHERS THEN
440: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,50);
441: l_message := pay_in_utils.get_pay_message
442: ('PER_IN_ORACLE_GENERIC_ERROR',
443: 'FUNCTION:'||l_procedure,
444: 'SQLERRMC:'||SQLERRM);
445: pay_in_utils.trace('SQLERRM',l_message);
441: l_message := pay_in_utils.get_pay_message
442: ('PER_IN_ORACLE_GENERIC_ERROR',
443: 'FUNCTION:'||l_procedure,
444: 'SQLERRMC:'||SQLERRM);
445: pay_in_utils.trace('SQLERRM',l_message);
446: RAISE ;
447:
448: END get_template;
449:
487: g_debug := hr_utility.debug_enabled;
488:
489:
490: hr_utility.trace('l_procedure: '||l_procedure);
491: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
492:
493: l_template_exists := 'N';
494:
495: BEGIN
502: EXCEPTION
503: WHEN OTHERS THEN
504: NULL;
505: END;
506: pay_in_utils.set_location(g_debug,l_procedure,20);
507:
508: IF (l_template_exists = 'Y')
509: THEN
510: pay_in_utils.set_location(g_debug,l_procedure,25);
506: pay_in_utils.set_location(g_debug,l_procedure,20);
507:
508: IF (l_template_exists = 'Y')
509: THEN
510: pay_in_utils.set_location(g_debug,l_procedure,25);
511:
512: BEGIN
513:
514: DELETE FROM pay_ele_tmplt_class_usages
523: NULL;
524: END;
525: END IF;
526:
527: pay_in_utils.set_location(g_debug,l_procedure,30);
528:
529: IF NOT hr_utility.chk_product_install('Oracle Human Resources','IN') OR
530: l_template_exists = 'Y'
531: THEN
528:
529: IF NOT hr_utility.chk_product_install('Oracle Human Resources','IN') OR
530: l_template_exists = 'Y'
531: THEN
532: pay_in_utils.set_location(g_debug,l_procedure,35);
533: RETURN;
534: END IF;
535:
536: SELECT enabled_flag
542: SET enabled_flag = 'Y'
543: WHERE currency_code = pay_in_etw_struct.g_currency_code
544: AND enabled_flag <> 'Y';
545:
546: pay_in_utils.set_location(g_debug,l_procedure,40);
547:
548: pay_in_etw_struct.init_code;
549: pay_in_etw_struct.init_formula;
550:
547:
548: pay_in_etw_struct.init_code;
549: pay_in_etw_struct.init_formula;
550:
551: pay_in_utils.set_location(g_debug,l_procedure,50);
552:
553: get_template
554: (p_template_name => p_template_name
555: ,p_template_rec => l_template_rec
555: ,p_template_rec => l_template_rec
556: );
557:
558: IF g_debug THEN
559: pay_in_utils.trace('Template Name ',l_template_rec.template_name);
560: pay_in_utils.trace('Category ',l_template_rec.category);
561: pay_in_utils.trace('Priority ',l_template_rec.priority);
562: END IF;
563:
556: );
557:
558: IF g_debug THEN
559: pay_in_utils.trace('Template Name ',l_template_rec.template_name);
560: pay_in_utils.trace('Category ',l_template_rec.category);
561: pay_in_utils.trace('Priority ',l_template_rec.priority);
562: END IF;
563:
564: --
557:
558: IF g_debug THEN
559: pay_in_utils.trace('Template Name ',l_template_rec.template_name);
560: pay_in_utils.trace('Category ',l_template_rec.category);
561: pay_in_utils.trace('Priority ',l_template_rec.priority);
562: END IF;
563:
564: --
565: -- PAY_ELEMENT_TEMPLATES row.
563:
564: --
565: -- PAY_ELEMENT_TEMPLATES row.
566: --
567: pay_in_utils.set_location(g_debug,l_procedure,60);
568: pay_etm_ins.ins
569: (p_template_id => l_template_rec.template_id
570: ,p_effective_date => l_effective_date
571: ,p_template_type => pay_in_etw_struct.g_template_type
579:
580: --
581: -- EXCLUSION RULES.
582: --
583: pay_in_utils.set_location(g_debug,l_procedure,70);
584: FOR i IN 1..l_template_rec.er_setup.COUNT
585: LOOP
586: pay_ter_ins.ins
587: (p_exclusion_rule_id => l_template_rec.er_setup(i).rule_id
595:
596: --
597: -- USER FORMULAS
598: --
599: pay_in_utils.set_location(g_debug,l_procedure,80);
600: IF l_template_rec.uf_setup.formula_name IS NOT NULL THEN
601: BEGIN
602:
603: SELECT formula_id, object_version_number
616: );
617:
618: EXCEPTION
619: WHEN NO_DATA_FOUND THEN
620: pay_in_utils.set_location(g_debug,l_procedure,90);
621: pay_sf_ins.ins
622: (p_formula_id => l_template_rec.uf_setup.formula_id
623: ,p_template_type => pay_in_etw_struct.g_template_type
624: ,p_legislation_code => pay_in_etw_struct.g_legislation_code
629: ,p_effective_date => l_effective_date
630: );
631: END ;
632: ELSE
633: pay_in_utils.set_location(g_debug,l_procedure,100);
634:
635: l_template_rec.uf_setup.formula_id := NULL ;
636: END IF ;
637: --
636: END IF ;
637: --
638: -- BASE Element
639: --
640: pay_in_utils.set_location(g_debug,l_procedure,110);
641: pay_set_ins.ins
642: (p_element_type_id => l_template_rec.base_element_id
643: ,p_template_id => l_template_rec.template_id
644: ,p_element_name => null
668:
669: --
670: -- BASE Element - Input Values
671: --
672: pay_in_utils.set_location(g_debug,l_procedure,120);
673: FOR i IN 1..l_template_rec.iv_setup.COUNT
674: LOOP
675: l_db_items_flag := 'N';
676: IF l_template_rec.iv_setup(i).input_value_name = 'Pay Value'
698: ,p_effective_date => l_effective_date
699: );
700:
701: IF l_template_rec.iv_setup(i).balance_name IS NOT NULL THEN
702: pay_in_utils.set_location(g_debug,l_procedure,125);
703:
704: pay_sbf_ins.ins
705: (p_balance_feed_id => l_balance_feed_id
706: ,p_balance_name => l_template_rec.iv_setup(i).balance_name
717:
718: --
719: -- BASE Element - Balance Feeds
720: --
721: pay_in_utils.set_location(g_debug,l_procedure,130);
722: FOR i IN 1..l_template_rec.bf_setup.COUNT
723: LOOP
724: pay_sbf_ins.ins
725: (p_balance_feed_id => l_balance_feed_id
736: --
737: -- Additional Elements
738: --
739:
740: pay_in_utils.set_location(g_debug,l_procedure,140);
741: FOR i IN 1..l_template_rec.ae_setup.COUNT
742: LOOP
743:
744: --
753: WHERE template_type = pay_in_etw_struct.g_template_type
754: AND legislation_code= pay_in_etw_struct.g_legislation_code
755: AND formula_name = l_template_rec.ae_setup(i).uf_setup.formula_name;
756:
757: pay_in_utils.set_location(g_debug,l_procedure,150);
758:
759: pay_sf_upd.upd
760: (p_formula_id => l_template_rec.ae_setup(i).uf_setup.formula_id
761: ,p_description => l_template_rec.ae_setup(i).uf_setup.description
765: );
766:
767: EXCEPTION
768: WHEN NO_DATA_FOUND THEN
769: pay_in_utils.set_location(g_debug,l_procedure,160);
770:
771: pay_sf_ins.ins
772: (p_formula_id => l_template_rec.ae_setup(i).uf_setup.formula_id
773: ,p_template_type => pay_in_etw_struct.g_template_type
779: ,p_effective_date => l_effective_date
780: );
781: END ;
782: ELSE
783: pay_in_utils.set_location(g_debug,l_procedure,170);
784:
785: l_template_rec.ae_setup(i).uf_setup.formula_id := NULL ;
786: END IF ;
787:
788:
789:
790:
791:
792: pay_in_utils.set_location(g_debug,l_procedure,180);
793: pay_set_ins.ins
794: (p_element_type_id => l_template_rec.ae_setup(i).element_id
795: ,p_template_id => l_template_rec.template_id
796: ,p_element_name => l_template_rec.ae_setup(i).element_name
820:
821: --
822: -- Additional Elements - Input Values
823: --
824: pay_in_utils.set_location(g_debug,l_procedure,190);
825: FOR j IN 1..l_template_rec.ae_setup(i).iv_setup.COUNT
826: LOOP
827:
828: l_db_items_flag := 'N';
829: IF l_template_rec.ae_setup(i).iv_setup(j).input_value_name = 'Pay Value'
830: THEN
831: l_db_items_flag := 'Y';
832: END IF;
833: pay_in_utils.set_location(g_debug,l_procedure,200);
834:
835: pay_siv_ins.ins
836: (p_input_value_id => l_template_rec.ae_setup(i).iv_setup(j).input_value_id
837: ,p_element_type_id => l_template_rec.ae_setup(i).element_id
853: );
854:
855: IF l_template_rec.ae_setup(i).iv_setup(j).balance_name IS NOT NULL
856: THEN
857: pay_in_utils.set_location(g_debug,l_procedure,210);
858:
859: pay_sbf_ins.ins
860: (p_balance_feed_id => l_balance_feed_id
861: ,p_balance_name => l_template_rec.ae_setup(i).iv_setup(j).balance_name
872:
873: --
874: -- Additional Elements - Balance Feeds
875: --
876: pay_in_utils.set_location(g_debug,l_procedure,220);
877: FOR j IN 1..l_template_rec.ae_setup(i).bf_setup.COUNT
878: LOOP
879:
880: pay_sbf_ins.ins
895:
896: --
897: -- User Defined Formula Result Rules for Base Elements
898: --
899: pay_in_utils.set_location(g_debug,l_procedure,230);
900: FOR i IN 1..l_template_rec.uf_setup.frs_setup.COUNT
901: LOOP
902: pay_in_utils.set_location(g_debug,l_procedure,240);
903:
898: --
899: pay_in_utils.set_location(g_debug,l_procedure,230);
900: FOR i IN 1..l_template_rec.uf_setup.frs_setup.COUNT
901: LOOP
902: pay_in_utils.set_location(g_debug,l_procedure,240);
903:
904: IF l_template_rec.uf_setup.frs_setup(i).result_rule_type = 'D' THEN
905: pay_in_utils.set_location(g_debug,l_procedure,250);
906: pay_sfr_ins.ins
901: LOOP
902: pay_in_utils.set_location(g_debug,l_procedure,240);
903:
904: IF l_template_rec.uf_setup.frs_setup(i).result_rule_type = 'D' THEN
905: pay_in_utils.set_location(g_debug,l_procedure,250);
906: pay_sfr_ins.ins
907: (p_formula_result_rule_id => l_result_rule_id
908: ,p_shadow_element_type_id => l_template_rec.base_element_id
909: ,p_result_name => l_template_rec.uf_setup.frs_setup(i).result_name
915: ,p_object_version_number => l_object_version_number
916: ,p_effective_date => l_effective_date
917: );
918: ELSIF l_template_rec.uf_setup.frs_setup(i).result_rule_type = 'M' THEN
919: pay_in_utils.set_location(g_debug,l_procedure,260);
920: pay_sfr_ins.ins
921: (p_formula_result_rule_id => l_result_rule_id
922: ,p_shadow_element_type_id => l_template_rec.base_element_id
923: ,p_result_name => l_template_rec.uf_setup.frs_setup(i).result_name
928: ,p_object_version_number => l_object_version_number
929: ,p_effective_date => l_effective_date
930: );
931: ELSIF l_template_rec.uf_setup.frs_setup(i).result_rule_type = 'I' THEN
932: pay_in_utils.set_location(g_debug,l_procedure,270);
933: l_aet_id := get_aet_id(l_template_rec
934: ,l_template_rec.uf_setup.frs_setup(i).element_name);
935: pay_sfr_ins.ins
936: (p_formula_result_rule_id => l_result_rule_id
954:
955: --
956: -- User Defined Formula Result Rules for Additional Elements
957: --
958: pay_in_utils.set_location(g_debug,l_procedure,280);
959: FOR j IN 1..l_template_rec.ae_setup.COUNT
960: LOOP
961: pay_in_utils.set_location(g_debug,l_procedure,290);
962: FOR i IN 1..l_template_rec.ae_setup(j).uf_setup.frs_setup.COUNT
957: --
958: pay_in_utils.set_location(g_debug,l_procedure,280);
959: FOR j IN 1..l_template_rec.ae_setup.COUNT
960: LOOP
961: pay_in_utils.set_location(g_debug,l_procedure,290);
962: FOR i IN 1..l_template_rec.ae_setup(j).uf_setup.frs_setup.COUNT
963: LOOP
964: pay_in_utils.set_location(g_debug,l_procedure,300);
965: IF l_template_rec.ae_setup(j).uf_setup.frs_setup(i).result_rule_type = 'D' THEN
960: LOOP
961: pay_in_utils.set_location(g_debug,l_procedure,290);
962: FOR i IN 1..l_template_rec.ae_setup(j).uf_setup.frs_setup.COUNT
963: LOOP
964: pay_in_utils.set_location(g_debug,l_procedure,300);
965: IF l_template_rec.ae_setup(j).uf_setup.frs_setup(i).result_rule_type = 'D' THEN
966: pay_in_utils.set_location(g_debug,l_procedure,310);
967: pay_sfr_ins.ins
968: (p_formula_result_rule_id => l_result_rule_id
962: FOR i IN 1..l_template_rec.ae_setup(j).uf_setup.frs_setup.COUNT
963: LOOP
964: pay_in_utils.set_location(g_debug,l_procedure,300);
965: IF l_template_rec.ae_setup(j).uf_setup.frs_setup(i).result_rule_type = 'D' THEN
966: pay_in_utils.set_location(g_debug,l_procedure,310);
967: pay_sfr_ins.ins
968: (p_formula_result_rule_id => l_result_rule_id
969: ,p_shadow_element_type_id => l_template_rec.ae_setup(j).element_id
970: ,p_result_name => l_template_rec.ae_setup(j).uf_setup.frs_setup(i).result_name
978: ,p_object_version_number => l_object_version_number
979: ,p_effective_date => l_effective_date
980: );
981: ELSIF l_template_rec.ae_setup(j).uf_setup.frs_setup(i).result_rule_type = 'M' THEN
982: pay_in_utils.set_location(g_debug,l_procedure,320);
983: pay_sfr_ins.ins
984: (p_formula_result_rule_id => l_result_rule_id
985: ,p_shadow_element_type_id => l_template_rec.ae_setup(j).element_id
986: ,p_result_name => l_template_rec.ae_setup(j).uf_setup.frs_setup(i).result_name
991: ,p_object_version_number => l_object_version_number
992: ,p_effective_date => l_effective_date
993: );
994: ELSIF l_template_rec.ae_setup(j).uf_setup.frs_setup(i).result_rule_type = 'I' THEN
995: pay_in_utils.set_location(g_debug,l_procedure,330);
996: l_aet_id := get_aet_id(l_template_rec
997: ,l_template_rec.ae_setup(j).uf_setup.frs_setup(i).element_name);
998:
999: pay_sfr_ins.ins
1015: END IF;
1016: END LOOP ;
1017: END LOOP;
1018:
1019: pay_in_utils.set_location(g_debug,l_procedure,340);
1020:
1021: UPDATE fnd_currencies
1022: SET enabled_flag = l_enabled_flag
1023: WHERE currency_code = pay_in_etw_struct.g_currency_code;
1024:
1025: --
1026: -- PAY_ELE_TMPLT_CLASS_USAGES row.
1027: --
1028: pay_in_utils.set_location(g_debug,l_procedure,350);
1029: create_template_association( l_template_rec.template_id, l_template_rec.category );
1030:
1031: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,360);
1032:
1027: --
1028: pay_in_utils.set_location(g_debug,l_procedure,350);
1029: create_template_association( l_template_rec.template_id, l_template_rec.category );
1030:
1031: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,360);
1032:
1033: EXCEPTION
1034: WHEN OTHERS THEN
1035: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,370);
1031: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,360);
1032:
1033: EXCEPTION
1034: WHEN OTHERS THEN
1035: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,370);
1036: l_message := pay_in_utils.get_pay_message
1037: ('PER_IN_ORACLE_GENERIC_ERROR',
1038: 'FUNCTION:'||l_procedure,
1039: 'SQLERRMC:'||SQLERRM);
1032:
1033: EXCEPTION
1034: WHEN OTHERS THEN
1035: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,370);
1036: l_message := pay_in_utils.get_pay_message
1037: ('PER_IN_ORACLE_GENERIC_ERROR',
1038: 'FUNCTION:'||l_procedure,
1039: 'SQLERRMC:'||SQLERRM);
1040: pay_in_utils.trace('SQLERRM',l_message);
1036: l_message := pay_in_utils.get_pay_message
1037: ('PER_IN_ORACLE_GENERIC_ERROR',
1038: 'FUNCTION:'||l_procedure,
1039: 'SQLERRMC:'||SQLERRM);
1040: pay_in_utils.trace('SQLERRM',l_message);
1041: RAISE ;
1042:
1043: END create_template;
1044:
1064: l_message VARCHAR2(1000);
1065:
1066: BEGIN
1067: g_debug := hr_utility.debug_enabled;
1068: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1069:
1070: SELECT classification_id
1071: INTO l_classification_id
1072: FROM pay_element_classifications
1072: FROM pay_element_classifications
1073: WHERE legislation_code = pay_in_etw_struct.g_legislation_code
1074: AND classification_name = p_classification;
1075:
1076: pay_in_utils.set_location(g_debug,l_procedure,20);
1077: SELECT count(*)
1078: INTO l_exists
1079: FROM pay_ele_tmplt_class_usages
1080: WHERE classification_id = l_classification_id
1079: FROM pay_ele_tmplt_class_usages
1080: WHERE classification_id = l_classification_id
1081: AND template_id = p_template_id;
1082:
1083: pay_in_utils.set_location(g_debug,l_procedure,30);
1084: IF l_exists = 0 THEN
1085:
1086: pay_in_utils.set_location(g_debug,l_procedure,40);
1087: SELECT pay_ele_tmplt_class_usg_s.nextval
1082:
1083: pay_in_utils.set_location(g_debug,l_procedure,30);
1084: IF l_exists = 0 THEN
1085:
1086: pay_in_utils.set_location(g_debug,l_procedure,40);
1087: SELECT pay_ele_tmplt_class_usg_s.nextval
1088: INTO l_ele_tmplt_class_id
1089: FROM dual;
1090:
1087: SELECT pay_ele_tmplt_class_usg_s.nextval
1088: INTO l_ele_tmplt_class_id
1089: FROM dual;
1090:
1091: pay_in_utils.set_location(g_debug,l_procedure,50);
1092: INSERT INTO pay_ele_tmplt_class_usages
1093: ( ele_template_classification_id
1094: ,classification_id
1095: ,template_id
1101: ,'Y'
1102: ,null);
1103:
1104: END IF;
1105: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,60);
1106:
1107: EXCEPTION
1108: WHEN OTHERS THEN
1109: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,70);
1105: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,60);
1106:
1107: EXCEPTION
1108: WHEN OTHERS THEN
1109: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,70);
1110: l_message := pay_in_utils.get_pay_message
1111: ('PER_IN_ORACLE_GENERIC_ERROR',
1112: 'FUNCTION:'||l_procedure,
1113: 'SQLERRMC:'||SQLERRM);
1106:
1107: EXCEPTION
1108: WHEN OTHERS THEN
1109: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,70);
1110: l_message := pay_in_utils.get_pay_message
1111: ('PER_IN_ORACLE_GENERIC_ERROR',
1112: 'FUNCTION:'||l_procedure,
1113: 'SQLERRMC:'||SQLERRM);
1114: pay_in_utils.trace('SQLERRM',l_message);
1110: l_message := pay_in_utils.get_pay_message
1111: ('PER_IN_ORACLE_GENERIC_ERROR',
1112: 'FUNCTION:'||l_procedure,
1113: 'SQLERRMC:'||SQLERRM);
1114: pay_in_utils.trace('SQLERRM',l_message);
1115: RAISE ;
1116:
1117: END create_template_association;
1118:
1133: l_procedure CONSTANT VARCHAR2(100):= g_package||'delete_template_association';
1134: l_message VARCHAR2(1000);
1135: BEGIN
1136: g_debug := hr_utility.debug_enabled;
1137: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1138:
1139: DELETE FROM pay_ele_tmplt_class_usages
1140: WHERE ele_template_classification_id
1141: IN (SELECT petcu.ele_template_classification_id
1148: AND pec.classification_name = p_classification
1149: AND pec.legislation_code = pay_in_etw_struct.g_legislation_code
1150: AND pet.legislation_code = pay_in_etw_struct.g_legislation_code);
1151:
1152: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
1153: EXCEPTION
1154: WHEN NO_DATA_FOUND THEN
1155: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,30);
1156: NULL;
1151:
1152: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
1153: EXCEPTION
1154: WHEN NO_DATA_FOUND THEN
1155: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,30);
1156: NULL;
1157: WHEN OTHERS THEN
1158: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,40);
1159: l_message := pay_in_utils.get_pay_message
1154: WHEN NO_DATA_FOUND THEN
1155: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,30);
1156: NULL;
1157: WHEN OTHERS THEN
1158: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,40);
1159: l_message := pay_in_utils.get_pay_message
1160: ('PER_IN_ORACLE_GENERIC_ERROR',
1161: 'FUNCTION:'||l_procedure,
1162: 'SQLERRMC:'||SQLERRM);
1155: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,30);
1156: NULL;
1157: WHEN OTHERS THEN
1158: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,40);
1159: l_message := pay_in_utils.get_pay_message
1160: ('PER_IN_ORACLE_GENERIC_ERROR',
1161: 'FUNCTION:'||l_procedure,
1162: 'SQLERRMC:'||SQLERRM);
1163: pay_in_utils.trace('SQLERRM',l_message);
1159: l_message := pay_in_utils.get_pay_message
1160: ('PER_IN_ORACLE_GENERIC_ERROR',
1161: 'FUNCTION:'||l_procedure,
1162: 'SQLERRMC:'||SQLERRM);
1163: pay_in_utils.trace('SQLERRM',l_message);
1164: RAISE ;
1165: END delete_template_association;
1166:
1167: --------------------------------------------------------------------------
1185:
1186: BEGIN
1187:
1188: g_debug := hr_utility.debug_enabled;
1189: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1190:
1191: l_template_obj := p_template_obj;
1192:
1193: IF g_debug THEN
1191: l_template_obj := p_template_obj;
1192:
1193: IF g_debug THEN
1194:
1195: pay_in_utils.trace('Classification ',l_template_obj.element_classification);
1196: pay_in_utils.trace('Processing Type ',l_template_obj.processing_type);
1197: pay_in_utils.trace('Conf Info Catg ',l_template_obj.configuration_info_category);
1198: pay_in_utils.trace('Conf Info 1 ',l_template_obj.configuration_information1);
1199: pay_in_utils.trace('Conf Info 2 ',l_template_obj.configuration_information2);
1192:
1193: IF g_debug THEN
1194:
1195: pay_in_utils.trace('Classification ',l_template_obj.element_classification);
1196: pay_in_utils.trace('Processing Type ',l_template_obj.processing_type);
1197: pay_in_utils.trace('Conf Info Catg ',l_template_obj.configuration_info_category);
1198: pay_in_utils.trace('Conf Info 1 ',l_template_obj.configuration_information1);
1199: pay_in_utils.trace('Conf Info 2 ',l_template_obj.configuration_information2);
1200: pay_in_utils.trace('Conf Info 3 ',l_template_obj.configuration_information3);
1193: IF g_debug THEN
1194:
1195: pay_in_utils.trace('Classification ',l_template_obj.element_classification);
1196: pay_in_utils.trace('Processing Type ',l_template_obj.processing_type);
1197: pay_in_utils.trace('Conf Info Catg ',l_template_obj.configuration_info_category);
1198: pay_in_utils.trace('Conf Info 1 ',l_template_obj.configuration_information1);
1199: pay_in_utils.trace('Conf Info 2 ',l_template_obj.configuration_information2);
1200: pay_in_utils.trace('Conf Info 3 ',l_template_obj.configuration_information3);
1201: pay_in_utils.trace('Conf Info 4 ',l_template_obj.configuration_information4);
1194:
1195: pay_in_utils.trace('Classification ',l_template_obj.element_classification);
1196: pay_in_utils.trace('Processing Type ',l_template_obj.processing_type);
1197: pay_in_utils.trace('Conf Info Catg ',l_template_obj.configuration_info_category);
1198: pay_in_utils.trace('Conf Info 1 ',l_template_obj.configuration_information1);
1199: pay_in_utils.trace('Conf Info 2 ',l_template_obj.configuration_information2);
1200: pay_in_utils.trace('Conf Info 3 ',l_template_obj.configuration_information3);
1201: pay_in_utils.trace('Conf Info 4 ',l_template_obj.configuration_information4);
1202: pay_in_utils.trace('Conf Info 5 ',l_template_obj.configuration_information5);
1195: pay_in_utils.trace('Classification ',l_template_obj.element_classification);
1196: pay_in_utils.trace('Processing Type ',l_template_obj.processing_type);
1197: pay_in_utils.trace('Conf Info Catg ',l_template_obj.configuration_info_category);
1198: pay_in_utils.trace('Conf Info 1 ',l_template_obj.configuration_information1);
1199: pay_in_utils.trace('Conf Info 2 ',l_template_obj.configuration_information2);
1200: pay_in_utils.trace('Conf Info 3 ',l_template_obj.configuration_information3);
1201: pay_in_utils.trace('Conf Info 4 ',l_template_obj.configuration_information4);
1202: pay_in_utils.trace('Conf Info 5 ',l_template_obj.configuration_information5);
1203: pay_in_utils.trace('Conf Info 6 ',l_template_obj.configuration_information6);
1196: pay_in_utils.trace('Processing Type ',l_template_obj.processing_type);
1197: pay_in_utils.trace('Conf Info Catg ',l_template_obj.configuration_info_category);
1198: pay_in_utils.trace('Conf Info 1 ',l_template_obj.configuration_information1);
1199: pay_in_utils.trace('Conf Info 2 ',l_template_obj.configuration_information2);
1200: pay_in_utils.trace('Conf Info 3 ',l_template_obj.configuration_information3);
1201: pay_in_utils.trace('Conf Info 4 ',l_template_obj.configuration_information4);
1202: pay_in_utils.trace('Conf Info 5 ',l_template_obj.configuration_information5);
1203: pay_in_utils.trace('Conf Info 6 ',l_template_obj.configuration_information6);
1204: pay_in_utils.trace('Conf Info 7 ',l_template_obj.configuration_information7);
1197: pay_in_utils.trace('Conf Info Catg ',l_template_obj.configuration_info_category);
1198: pay_in_utils.trace('Conf Info 1 ',l_template_obj.configuration_information1);
1199: pay_in_utils.trace('Conf Info 2 ',l_template_obj.configuration_information2);
1200: pay_in_utils.trace('Conf Info 3 ',l_template_obj.configuration_information3);
1201: pay_in_utils.trace('Conf Info 4 ',l_template_obj.configuration_information4);
1202: pay_in_utils.trace('Conf Info 5 ',l_template_obj.configuration_information5);
1203: pay_in_utils.trace('Conf Info 6 ',l_template_obj.configuration_information6);
1204: pay_in_utils.trace('Conf Info 7 ',l_template_obj.configuration_information7);
1205: pay_in_utils.trace('Conf Info 8 ',l_template_obj.configuration_information8);
1198: pay_in_utils.trace('Conf Info 1 ',l_template_obj.configuration_information1);
1199: pay_in_utils.trace('Conf Info 2 ',l_template_obj.configuration_information2);
1200: pay_in_utils.trace('Conf Info 3 ',l_template_obj.configuration_information3);
1201: pay_in_utils.trace('Conf Info 4 ',l_template_obj.configuration_information4);
1202: pay_in_utils.trace('Conf Info 5 ',l_template_obj.configuration_information5);
1203: pay_in_utils.trace('Conf Info 6 ',l_template_obj.configuration_information6);
1204: pay_in_utils.trace('Conf Info 7 ',l_template_obj.configuration_information7);
1205: pay_in_utils.trace('Conf Info 8 ',l_template_obj.configuration_information8);
1206: pay_in_utils.trace('Conf Info 9 ',l_template_obj.configuration_information9);
1199: pay_in_utils.trace('Conf Info 2 ',l_template_obj.configuration_information2);
1200: pay_in_utils.trace('Conf Info 3 ',l_template_obj.configuration_information3);
1201: pay_in_utils.trace('Conf Info 4 ',l_template_obj.configuration_information4);
1202: pay_in_utils.trace('Conf Info 5 ',l_template_obj.configuration_information5);
1203: pay_in_utils.trace('Conf Info 6 ',l_template_obj.configuration_information6);
1204: pay_in_utils.trace('Conf Info 7 ',l_template_obj.configuration_information7);
1205: pay_in_utils.trace('Conf Info 8 ',l_template_obj.configuration_information8);
1206: pay_in_utils.trace('Conf Info 9 ',l_template_obj.configuration_information9);
1207: pay_in_utils.trace('Conf Info 10 ',l_template_obj.configuration_information10);
1200: pay_in_utils.trace('Conf Info 3 ',l_template_obj.configuration_information3);
1201: pay_in_utils.trace('Conf Info 4 ',l_template_obj.configuration_information4);
1202: pay_in_utils.trace('Conf Info 5 ',l_template_obj.configuration_information5);
1203: pay_in_utils.trace('Conf Info 6 ',l_template_obj.configuration_information6);
1204: pay_in_utils.trace('Conf Info 7 ',l_template_obj.configuration_information7);
1205: pay_in_utils.trace('Conf Info 8 ',l_template_obj.configuration_information8);
1206: pay_in_utils.trace('Conf Info 9 ',l_template_obj.configuration_information9);
1207: pay_in_utils.trace('Conf Info 10 ',l_template_obj.configuration_information10);
1208:
1201: pay_in_utils.trace('Conf Info 4 ',l_template_obj.configuration_information4);
1202: pay_in_utils.trace('Conf Info 5 ',l_template_obj.configuration_information5);
1203: pay_in_utils.trace('Conf Info 6 ',l_template_obj.configuration_information6);
1204: pay_in_utils.trace('Conf Info 7 ',l_template_obj.configuration_information7);
1205: pay_in_utils.trace('Conf Info 8 ',l_template_obj.configuration_information8);
1206: pay_in_utils.trace('Conf Info 9 ',l_template_obj.configuration_information9);
1207: pay_in_utils.trace('Conf Info 10 ',l_template_obj.configuration_information10);
1208:
1209: END IF;
1202: pay_in_utils.trace('Conf Info 5 ',l_template_obj.configuration_information5);
1203: pay_in_utils.trace('Conf Info 6 ',l_template_obj.configuration_information6);
1204: pay_in_utils.trace('Conf Info 7 ',l_template_obj.configuration_information7);
1205: pay_in_utils.trace('Conf Info 8 ',l_template_obj.configuration_information8);
1206: pay_in_utils.trace('Conf Info 9 ',l_template_obj.configuration_information9);
1207: pay_in_utils.trace('Conf Info 10 ',l_template_obj.configuration_information10);
1208:
1209: END IF;
1210:
1203: pay_in_utils.trace('Conf Info 6 ',l_template_obj.configuration_information6);
1204: pay_in_utils.trace('Conf Info 7 ',l_template_obj.configuration_information7);
1205: pay_in_utils.trace('Conf Info 8 ',l_template_obj.configuration_information8);
1206: pay_in_utils.trace('Conf Info 9 ',l_template_obj.configuration_information9);
1207: pay_in_utils.trace('Conf Info 10 ',l_template_obj.configuration_information10);
1208:
1209: END IF;
1210:
1211: l_template_obj.configuration_information1 := NVL(l_template_obj.configuration_information1,'N');
1238: ----------------------------------------------------------------
1239: */
1240:
1241: IF l_template_obj.element_classification = 'Allowances' THEN
1242: pay_in_utils.set_location(g_debug,l_procedure,20);
1243:
1244: IF l_template_obj.configuration_info_category = 'IN Fixed Allowance' THEN
1245: --
1246: -- CI1 - Allowance Name
1248: -- CI3 - Is CEA or HEA
1249: -- CI4 - Enable Advances
1250: --
1251: /* Set Projection exclusion rule as per the Processing Type */
1252: pay_in_utils.set_location(g_debug,l_procedure,30);
1253: IF l_template_obj.processing_type = 'R' THEN
1254: pay_in_utils.set_location(g_debug,l_procedure,70);
1255: l_template_obj.configuration_information2 := 'Y'; -- Projections
1256: END IF ;
1250: --
1251: /* Set Projection exclusion rule as per the Processing Type */
1252: pay_in_utils.set_location(g_debug,l_procedure,30);
1253: IF l_template_obj.processing_type = 'R' THEN
1254: pay_in_utils.set_location(g_debug,l_procedure,70);
1255: l_template_obj.configuration_information2 := 'Y'; -- Projections
1256: END IF ;
1257:
1258: /* For CEA/HEA, set the Claim Exemption u/s 10 Exclusion Rule */
1259: IF l_template_obj.configuration_information1
1260: IN ('Children Education Allowance',
1261: 'Hostel Expenditure Allowance')
1262: THEN
1263: pay_in_utils.set_location(g_debug,l_procedure,40);
1264: l_template_obj.configuration_information3 := 'Y';
1265: END IF ;
1266:
1267: END IF;
1265: END IF ;
1266:
1267: END IF;
1268:
1269: pay_in_utils.set_location(g_debug,l_procedure,60);
1270: IF l_template_obj.configuration_info_category = 'IN Actual Expense Allowances' THEN
1271: --
1272: -- CI1 - Allowance Name
1273: -- CI2 - Nature of Expense
1286:
1287: /* Set Projection exclusion rule as per the Processing Type */
1288: IF l_template_obj.processing_type = 'R' THEN
1289:
1290: pay_in_utils.set_location(g_debug,l_procedure,70);
1291: l_template_obj.configuration_information4 := 'Y'; -- Projection
1292:
1293: IF (l_template_obj.configuration_information2 = 'N') THEN
1294: l_template_obj.configuration_information5 := 'Y'; -- Create Exp Element
1295: END IF ;
1296:
1297:
1298: ELSE /* Non recurring Allowance */
1299: pay_in_utils.set_location(g_debug,l_procedure,75);
1300: l_template_obj.configuration_information2 := 'Y';-- Create Exp Input
1301: l_template_obj.configuration_information5 := 'N';-- Create Exp Element
1302: END IF ;
1303:
1303:
1304: IF l_template_obj.configuration_information1 = 'House Rent Allowance'
1305: THEN
1306:
1307: pay_in_utils.set_location(g_debug,l_procedure,90);
1308: l_template_obj.configuration_information2 := 'N'; -- No Exp Projections
1309: l_template_obj.configuration_information5 := 'N'; -- No Exp Element
1310: l_template_obj.configuration_information6 := 'Y'; -- Is HRA
1311: l_template_obj.configuration_information8 := l_template_obj.configuration_information3;
1328: defaulted to ALL
1329: */
1330:
1331:
1332: pay_in_utils.set_location(g_debug,l_procedure,130);
1333:
1334: IF l_template_obj.element_classification = 'Perquisites' THEN
1335: pay_in_utils.set_location(g_debug,l_procedure,140);
1336: /* Set Projection exclusion rule as per the Processing Type */
1331:
1332: pay_in_utils.set_location(g_debug,l_procedure,130);
1333:
1334: IF l_template_obj.element_classification = 'Perquisites' THEN
1335: pay_in_utils.set_location(g_debug,l_procedure,140);
1336: /* Set Projection exclusion rule as per the Processing Type */
1337: IF l_template_obj.processing_type = 'R' and l_template_obj.configuration_information2 = 'Y' THEN
1338: pay_in_utils.set_location(g_debug,l_procedure,150);
1339: l_template_obj.configuration_information2 := 'Y'; -- Projections
1334: IF l_template_obj.element_classification = 'Perquisites' THEN
1335: pay_in_utils.set_location(g_debug,l_procedure,140);
1336: /* Set Projection exclusion rule as per the Processing Type */
1337: IF l_template_obj.processing_type = 'R' and l_template_obj.configuration_information2 = 'Y' THEN
1338: pay_in_utils.set_location(g_debug,l_procedure,150);
1339: l_template_obj.configuration_information2 := 'Y'; -- Projections
1340: ELSE
1341: pay_in_utils.set_location(g_debug,l_procedure,160);
1342: l_template_obj.configuration_information2 := 'N'; -- No Projections
1337: IF l_template_obj.processing_type = 'R' and l_template_obj.configuration_information2 = 'Y' THEN
1338: pay_in_utils.set_location(g_debug,l_procedure,150);
1339: l_template_obj.configuration_information2 := 'Y'; -- Projections
1340: ELSE
1341: pay_in_utils.set_location(g_debug,l_procedure,160);
1342: l_template_obj.configuration_information2 := 'N'; -- No Projections
1343: END IF ;
1344:
1345: IF l_template_obj.configuration_information1 IN ('Club Expenditure','Credit Cards') --Club and Car Perqs will have an additional input Official Purpose Expense
1360: END IF ;
1361:
1362:
1363: END IF ;
1364: pay_in_utils.set_location(g_debug,l_procedure,170);
1365: IF l_template_obj.element_classification = 'Earnings' THEN
1366: pay_in_utils.set_location(g_debug,l_procedure,180);
1367: /* For Recurring Earnings if Processing Type is Recurring,
1368: Projections are enabled */
1362:
1363: END IF ;
1364: pay_in_utils.set_location(g_debug,l_procedure,170);
1365: IF l_template_obj.element_classification = 'Earnings' THEN
1366: pay_in_utils.set_location(g_debug,l_procedure,180);
1367: /* For Recurring Earnings if Processing Type is Recurring,
1368: Projections are enabled */
1369:
1370: IF l_template_obj.configuration_info_category = 'IN Earnings' THEN
1367: /* For Recurring Earnings if Processing Type is Recurring,
1368: Projections are enabled */
1369:
1370: IF l_template_obj.configuration_info_category = 'IN Earnings' THEN
1371: pay_in_utils.set_location(g_debug,l_procedure,190);
1372:
1373: IF l_template_obj.processing_type = 'R' THEN
1374: l_template_obj.configuration_information1 := 'Y';
1375: IF l_template_obj.configuration_information5 = 'Y' THEN
1385:
1386: IF l_template_obj.configuration_info_category = 'IN Leave Travel Concession'
1387: THEN
1388: /* LTC is always non-recurring element entry */
1389: pay_in_utils.set_location(g_debug,l_procedure,190);
1390: l_template_obj.processing_type := 'N';
1391: END IF;
1392:
1393: END IF ;
1396: For Medical Fringe Benefits we need to set the Exclusion Rule
1397: */
1398: g_debug := hr_utility.debug_enabled;
1399:
1400: pay_in_utils.set_location(g_debug,l_procedure,200);
1401: IF l_template_obj.element_classification = 'Fringe Benefits' THEN
1402: pay_in_utils.set_location(g_debug,l_procedure,210);
1403:
1404: IF l_template_obj.configuration_information1 = 'Superannuation Fund' THEN
1398: g_debug := hr_utility.debug_enabled;
1399:
1400: pay_in_utils.set_location(g_debug,l_procedure,200);
1401: IF l_template_obj.element_classification = 'Fringe Benefits' THEN
1402: pay_in_utils.set_location(g_debug,l_procedure,210);
1403:
1404: IF l_template_obj.configuration_information1 = 'Superannuation Fund' THEN
1405: pay_in_utils.set_location(g_debug,l_procedure,215);
1406: l_template_obj.configuration_information5 := 'Y';
1401: IF l_template_obj.element_classification = 'Fringe Benefits' THEN
1402: pay_in_utils.set_location(g_debug,l_procedure,210);
1403:
1404: IF l_template_obj.configuration_information1 = 'Superannuation Fund' THEN
1405: pay_in_utils.set_location(g_debug,l_procedure,215);
1406: l_template_obj.configuration_information5 := 'Y';
1407: END IF ;
1408:
1409: /* Set Medical exclusion rule as per the user input */
1406: l_template_obj.configuration_information5 := 'Y';
1407: END IF ;
1408:
1409: /* Set Medical exclusion rule as per the user input */
1410: pay_in_utils.set_location(g_debug,l_procedure,220);
1411: IF l_template_obj.configuration_information1 <> 'Employees Welfare Expense' THEN
1412: pay_in_utils.set_location(g_debug,l_procedure,230);
1413: l_template_obj.configuration_information3 := 'N'; -- Override Medical
1414: ELSE
1408:
1409: /* Set Medical exclusion rule as per the user input */
1410: pay_in_utils.set_location(g_debug,l_procedure,220);
1411: IF l_template_obj.configuration_information1 <> 'Employees Welfare Expense' THEN
1412: pay_in_utils.set_location(g_debug,l_procedure,230);
1413: l_template_obj.configuration_information3 := 'N'; -- Override Medical
1414: ELSE
1415: IF l_template_obj.configuration_information3 = 'Y' THEN
1416: IF l_template_obj.processing_type = 'R' THEN
1413: l_template_obj.configuration_information3 := 'N'; -- Override Medical
1414: ELSE
1415: IF l_template_obj.configuration_information3 = 'Y' THEN
1416: IF l_template_obj.processing_type = 'R' THEN
1417: pay_in_utils.set_location(g_debug,l_procedure,231);
1418: l_template_obj.configuration_information4 := 'Y';
1419: END IF ;
1420: END IF ;
1421: END IF ;
1421: END IF ;
1422:
1423: END IF ;
1424:
1425: pay_in_utils.set_location(g_debug,l_procedure,240);
1426:
1427: IF l_template_obj.element_classification = 'Employer Charges' THEN
1428: pay_in_utils.set_location(g_debug,l_procedure,250);
1429: /* For Employer Charges if Processing Type is Recurring,
1424:
1425: pay_in_utils.set_location(g_debug,l_procedure,240);
1426:
1427: IF l_template_obj.element_classification = 'Employer Charges' THEN
1428: pay_in_utils.set_location(g_debug,l_procedure,250);
1429: /* For Employer Charges if Processing Type is Recurring,
1430: Projections are enabled*/
1431: pay_in_utils.set_location(g_debug,l_procedure,260);
1432: IF l_template_obj.processing_type = 'R' THEN
1427: IF l_template_obj.element_classification = 'Employer Charges' THEN
1428: pay_in_utils.set_location(g_debug,l_procedure,250);
1429: /* For Employer Charges if Processing Type is Recurring,
1430: Projections are enabled*/
1431: pay_in_utils.set_location(g_debug,l_procedure,260);
1432: IF l_template_obj.processing_type = 'R' THEN
1433: l_template_obj.configuration_information1 := 'Y';
1434: ELSE
1435: l_template_obj.configuration_information1 := 'N';
1438:
1439:
1440:
1441: IF g_debug THEN
1442: pay_in_utils.trace('Classification ',l_template_obj.element_classification);
1443: pay_in_utils.trace('Processing Type ',l_template_obj.processing_type);
1444: pay_in_utils.trace('Conf Info Catg ',l_template_obj.configuration_info_category);
1445: pay_in_utils.trace('Conf Info 1 ',l_template_obj.configuration_information1);
1446: pay_in_utils.trace('Conf Info 2 ',l_template_obj.configuration_information2);
1439:
1440:
1441: IF g_debug THEN
1442: pay_in_utils.trace('Classification ',l_template_obj.element_classification);
1443: pay_in_utils.trace('Processing Type ',l_template_obj.processing_type);
1444: pay_in_utils.trace('Conf Info Catg ',l_template_obj.configuration_info_category);
1445: pay_in_utils.trace('Conf Info 1 ',l_template_obj.configuration_information1);
1446: pay_in_utils.trace('Conf Info 2 ',l_template_obj.configuration_information2);
1447: pay_in_utils.trace('Conf Info 3 ',l_template_obj.configuration_information3);
1440:
1441: IF g_debug THEN
1442: pay_in_utils.trace('Classification ',l_template_obj.element_classification);
1443: pay_in_utils.trace('Processing Type ',l_template_obj.processing_type);
1444: pay_in_utils.trace('Conf Info Catg ',l_template_obj.configuration_info_category);
1445: pay_in_utils.trace('Conf Info 1 ',l_template_obj.configuration_information1);
1446: pay_in_utils.trace('Conf Info 2 ',l_template_obj.configuration_information2);
1447: pay_in_utils.trace('Conf Info 3 ',l_template_obj.configuration_information3);
1448: pay_in_utils.trace('Conf Info 4 ',l_template_obj.configuration_information4);
1441: IF g_debug THEN
1442: pay_in_utils.trace('Classification ',l_template_obj.element_classification);
1443: pay_in_utils.trace('Processing Type ',l_template_obj.processing_type);
1444: pay_in_utils.trace('Conf Info Catg ',l_template_obj.configuration_info_category);
1445: pay_in_utils.trace('Conf Info 1 ',l_template_obj.configuration_information1);
1446: pay_in_utils.trace('Conf Info 2 ',l_template_obj.configuration_information2);
1447: pay_in_utils.trace('Conf Info 3 ',l_template_obj.configuration_information3);
1448: pay_in_utils.trace('Conf Info 4 ',l_template_obj.configuration_information4);
1449: pay_in_utils.trace('Conf Info 5 ',l_template_obj.configuration_information5);
1442: pay_in_utils.trace('Classification ',l_template_obj.element_classification);
1443: pay_in_utils.trace('Processing Type ',l_template_obj.processing_type);
1444: pay_in_utils.trace('Conf Info Catg ',l_template_obj.configuration_info_category);
1445: pay_in_utils.trace('Conf Info 1 ',l_template_obj.configuration_information1);
1446: pay_in_utils.trace('Conf Info 2 ',l_template_obj.configuration_information2);
1447: pay_in_utils.trace('Conf Info 3 ',l_template_obj.configuration_information3);
1448: pay_in_utils.trace('Conf Info 4 ',l_template_obj.configuration_information4);
1449: pay_in_utils.trace('Conf Info 5 ',l_template_obj.configuration_information5);
1450: pay_in_utils.trace('Conf Info 6 ',l_template_obj.configuration_information6);
1443: pay_in_utils.trace('Processing Type ',l_template_obj.processing_type);
1444: pay_in_utils.trace('Conf Info Catg ',l_template_obj.configuration_info_category);
1445: pay_in_utils.trace('Conf Info 1 ',l_template_obj.configuration_information1);
1446: pay_in_utils.trace('Conf Info 2 ',l_template_obj.configuration_information2);
1447: pay_in_utils.trace('Conf Info 3 ',l_template_obj.configuration_information3);
1448: pay_in_utils.trace('Conf Info 4 ',l_template_obj.configuration_information4);
1449: pay_in_utils.trace('Conf Info 5 ',l_template_obj.configuration_information5);
1450: pay_in_utils.trace('Conf Info 6 ',l_template_obj.configuration_information6);
1451: pay_in_utils.trace('Conf Info 7 ',l_template_obj.configuration_information7);
1444: pay_in_utils.trace('Conf Info Catg ',l_template_obj.configuration_info_category);
1445: pay_in_utils.trace('Conf Info 1 ',l_template_obj.configuration_information1);
1446: pay_in_utils.trace('Conf Info 2 ',l_template_obj.configuration_information2);
1447: pay_in_utils.trace('Conf Info 3 ',l_template_obj.configuration_information3);
1448: pay_in_utils.trace('Conf Info 4 ',l_template_obj.configuration_information4);
1449: pay_in_utils.trace('Conf Info 5 ',l_template_obj.configuration_information5);
1450: pay_in_utils.trace('Conf Info 6 ',l_template_obj.configuration_information6);
1451: pay_in_utils.trace('Conf Info 7 ',l_template_obj.configuration_information7);
1452: pay_in_utils.trace('Conf Info 8 ',l_template_obj.configuration_information8);
1445: pay_in_utils.trace('Conf Info 1 ',l_template_obj.configuration_information1);
1446: pay_in_utils.trace('Conf Info 2 ',l_template_obj.configuration_information2);
1447: pay_in_utils.trace('Conf Info 3 ',l_template_obj.configuration_information3);
1448: pay_in_utils.trace('Conf Info 4 ',l_template_obj.configuration_information4);
1449: pay_in_utils.trace('Conf Info 5 ',l_template_obj.configuration_information5);
1450: pay_in_utils.trace('Conf Info 6 ',l_template_obj.configuration_information6);
1451: pay_in_utils.trace('Conf Info 7 ',l_template_obj.configuration_information7);
1452: pay_in_utils.trace('Conf Info 8 ',l_template_obj.configuration_information8);
1453: pay_in_utils.trace('Conf Info 9 ',l_template_obj.configuration_information9);
1446: pay_in_utils.trace('Conf Info 2 ',l_template_obj.configuration_information2);
1447: pay_in_utils.trace('Conf Info 3 ',l_template_obj.configuration_information3);
1448: pay_in_utils.trace('Conf Info 4 ',l_template_obj.configuration_information4);
1449: pay_in_utils.trace('Conf Info 5 ',l_template_obj.configuration_information5);
1450: pay_in_utils.trace('Conf Info 6 ',l_template_obj.configuration_information6);
1451: pay_in_utils.trace('Conf Info 7 ',l_template_obj.configuration_information7);
1452: pay_in_utils.trace('Conf Info 8 ',l_template_obj.configuration_information8);
1453: pay_in_utils.trace('Conf Info 9 ',l_template_obj.configuration_information9);
1454: pay_in_utils.trace('Conf Info 10 ',l_template_obj.configuration_information10);
1447: pay_in_utils.trace('Conf Info 3 ',l_template_obj.configuration_information3);
1448: pay_in_utils.trace('Conf Info 4 ',l_template_obj.configuration_information4);
1449: pay_in_utils.trace('Conf Info 5 ',l_template_obj.configuration_information5);
1450: pay_in_utils.trace('Conf Info 6 ',l_template_obj.configuration_information6);
1451: pay_in_utils.trace('Conf Info 7 ',l_template_obj.configuration_information7);
1452: pay_in_utils.trace('Conf Info 8 ',l_template_obj.configuration_information8);
1453: pay_in_utils.trace('Conf Info 9 ',l_template_obj.configuration_information9);
1454: pay_in_utils.trace('Conf Info 10 ',l_template_obj.configuration_information10);
1455:
1448: pay_in_utils.trace('Conf Info 4 ',l_template_obj.configuration_information4);
1449: pay_in_utils.trace('Conf Info 5 ',l_template_obj.configuration_information5);
1450: pay_in_utils.trace('Conf Info 6 ',l_template_obj.configuration_information6);
1451: pay_in_utils.trace('Conf Info 7 ',l_template_obj.configuration_information7);
1452: pay_in_utils.trace('Conf Info 8 ',l_template_obj.configuration_information8);
1453: pay_in_utils.trace('Conf Info 9 ',l_template_obj.configuration_information9);
1454: pay_in_utils.trace('Conf Info 10 ',l_template_obj.configuration_information10);
1455:
1456: END IF;
1449: pay_in_utils.trace('Conf Info 5 ',l_template_obj.configuration_information5);
1450: pay_in_utils.trace('Conf Info 6 ',l_template_obj.configuration_information6);
1451: pay_in_utils.trace('Conf Info 7 ',l_template_obj.configuration_information7);
1452: pay_in_utils.trace('Conf Info 8 ',l_template_obj.configuration_information8);
1453: pay_in_utils.trace('Conf Info 9 ',l_template_obj.configuration_information9);
1454: pay_in_utils.trace('Conf Info 10 ',l_template_obj.configuration_information10);
1455:
1456: END IF;
1457: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,240);
1450: pay_in_utils.trace('Conf Info 6 ',l_template_obj.configuration_information6);
1451: pay_in_utils.trace('Conf Info 7 ',l_template_obj.configuration_information7);
1452: pay_in_utils.trace('Conf Info 8 ',l_template_obj.configuration_information8);
1453: pay_in_utils.trace('Conf Info 9 ',l_template_obj.configuration_information9);
1454: pay_in_utils.trace('Conf Info 10 ',l_template_obj.configuration_information10);
1455:
1456: END IF;
1457: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,240);
1458: RETURN l_template_obj;
1453: pay_in_utils.trace('Conf Info 9 ',l_template_obj.configuration_information9);
1454: pay_in_utils.trace('Conf Info 10 ',l_template_obj.configuration_information10);
1455:
1456: END IF;
1457: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,240);
1458: RETURN l_template_obj;
1459: EXCEPTION
1460: WHEN OTHERS THEN
1461: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,250);
1457: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,240);
1458: RETURN l_template_obj;
1459: EXCEPTION
1460: WHEN OTHERS THEN
1461: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,250);
1462: l_message := pay_in_utils.get_pay_message
1463: ('PER_IN_ORACLE_GENERIC_ERROR',
1464: 'FUNCTION:'||l_procedure,
1465: 'SQLERRMC:'||SQLERRM);
1458: RETURN l_template_obj;
1459: EXCEPTION
1460: WHEN OTHERS THEN
1461: pay_in_utils.set_location(g_debug, 'Leaving: '||l_procedure,250);
1462: l_message := pay_in_utils.get_pay_message
1463: ('PER_IN_ORACLE_GENERIC_ERROR',
1464: 'FUNCTION:'||l_procedure,
1465: 'SQLERRMC:'||SQLERRM);
1466: pay_in_utils.trace('SQLERRM',l_message);
1462: l_message := pay_in_utils.get_pay_message
1463: ('PER_IN_ORACLE_GENERIC_ERROR',
1464: 'FUNCTION:'||l_procedure,
1465: 'SQLERRMC:'||SQLERRM);
1466: pay_in_utils.trace('SQLERRM',l_message);
1467: RAISE ;
1468:
1469: END element_template_pre_process;
1470:
1621:
1622: BEGIN
1623: g_debug := hr_utility.debug_enabled;
1624:
1625: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1626:
1627: OPEN csr_set;
1628: FETCH csr_set INTO l_element;
1629: CLOSE csr_set;
1627: OPEN csr_set;
1628: FETCH csr_set INTO l_element;
1629: CLOSE csr_set;
1630:
1631: pay_in_utils.set_location(g_debug,l_procedure,20);
1632: get_element_template(p_template_id, l_template);
1633:
1634: IF l_element.classification_name = 'Allowances' THEN
1635:
1632: get_element_template(p_template_id, l_template);
1633:
1634: IF l_element.classification_name = 'Allowances' THEN
1635:
1636: pay_in_utils.set_location(g_debug,l_procedure,30);
1637: OPEN csr_alwn_details(l_template.configuration_information1);
1638: FETCH csr_alwn_details
1639: INTO l_alwn_details;
1640: CLOSE csr_alwn_details;
1655: l_exp_nature := l_template.configuration_information2;
1656:
1657: END IF;
1658:
1659: pay_in_utils.set_location(g_debug,l_procedure,40);
1660: pay_element_types_api.update_element_type
1661: (
1662: p_effective_date => l_element.effective_start_date
1663: , p_datetrack_update_mode => hr_api.g_correction
1678: );
1679:
1680: IF l_template.configuration_information1 = 'House Rent Allowance' THEN
1681:
1682: pay_in_utils.del_form_res_rule
1683: (p_element_type_id => l_element.element_type_id
1684: ,p_effective_date => l_element.effective_start_date
1685: );
1686:
1686:
1687: --
1688: -- Delete Balance Feeds
1689: --
1690: pay_in_utils.delete_balance_feeds
1691: (p_balance_name => 'Taxable Allowances for Projection'
1692: ,p_element_name => l_element.element_name
1693: ,p_input_value_name => 'Standard Taxable Value'
1694: ,p_effective_date => l_element.effective_start_date
1693: ,p_input_value_name => 'Standard Taxable Value'
1694: ,p_effective_date => l_element.effective_start_date
1695: );
1696:
1697: pay_in_utils.delete_balance_feeds
1698: (p_balance_name => 'Taxable Allowances'
1699: ,p_element_name => l_element.element_name
1700: ,p_input_value_name => 'Taxable Value'
1701: ,p_effective_date => l_element.effective_start_date
1712: END IF ;
1713:
1714: ELSIF l_element.classification_name = 'Perquisites' THEN
1715:
1716: pay_in_utils.set_location(g_debug,l_procedure,50);
1717: pay_element_types_api.update_element_type
1718: (
1719: p_effective_date => l_element.effective_start_date
1720: , p_datetrack_update_mode => hr_api.g_correction
1736: OPEN csr_sec_class(l_element.element_type_id, l_element.effective_start_date);
1737: LOOP
1738: FETCH csr_sec_class INTO l_sec_class;
1739: EXIT WHEN csr_sec_class%NOTFOUND ;
1740: pay_in_utils.trace('Secondary Classification',l_sec_class);
1741:
1742: IF l_sec_class = 'Monetary Perquisite' THEN
1743: pay_balance_feeds_api.create_balance_feed
1744: (
1742: IF l_sec_class = 'Monetary Perquisite' THEN
1743: pay_balance_feeds_api.create_balance_feed
1744: (
1745: p_effective_date => l_element.effective_start_date
1746: ,p_balance_type_id => pay_in_utils.get_balance_type_id
1747: ('ER Taxable Monetary Perquisite')
1748: ,p_input_value_id => pay_in_utils.get_input_value_id
1749: (l_element.effective_start_date,
1750: l_element.element_type_id,
1744: (
1745: p_effective_date => l_element.effective_start_date
1746: ,p_balance_type_id => pay_in_utils.get_balance_type_id
1747: ('ER Taxable Monetary Perquisite')
1748: ,p_input_value_id => pay_in_utils.get_input_value_id
1749: (l_element.effective_start_date,
1750: l_element.element_type_id,
1751: 'Employer Taxable Amount')
1752: ,p_scale => 1
1761: ELSIF l_sec_class = 'Non Monetary Perquisite' THEN
1762: pay_balance_feeds_api.create_balance_feed
1763: (
1764: p_effective_date => l_element.effective_start_date
1765: ,p_balance_type_id => pay_in_utils.get_balance_type_id
1766: ('ER Taxable Non Monetary Perquisite')
1767: ,p_input_value_id => pay_in_utils.get_input_value_id
1768: (l_element.effective_start_date,
1769: l_element.element_type_id,
1763: (
1764: p_effective_date => l_element.effective_start_date
1765: ,p_balance_type_id => pay_in_utils.get_balance_type_id
1766: ('ER Taxable Non Monetary Perquisite')
1767: ,p_input_value_id => pay_in_utils.get_input_value_id
1768: (l_element.effective_start_date,
1769: l_element.element_type_id,
1770: 'Employer Taxable Amount')
1771: ,p_scale => 1
1844: END IF;
1845:
1846: END IF ;
1847:
1848: pay_in_utils.set_location(g_debug,l_procedure,60);
1849: pay_in_etw_struct.init_code;
1850:
1851: pay_in_utils.set_location(g_debug,l_procedure,70);
1852: get_template
1847:
1848: pay_in_utils.set_location(g_debug,l_procedure,60);
1849: pay_in_etw_struct.init_code;
1850:
1851: pay_in_utils.set_location(g_debug,l_procedure,70);
1852: get_template
1853: (p_template_name => l_template.template_name
1854: ,p_template_rec => l_template_rec
1855: );
1853: (p_template_name => l_template.template_name
1854: ,p_template_rec => l_template_rec
1855: );
1856:
1857: pay_in_utils.set_location(g_debug,l_procedure,80);
1858:
1859: IF (l_template.template_name = 'Leave Travel Concession')
1860: THEN
1861: l_input_value_id := pay_in_utils.get_input_value_id(l_element.effective_start_date
1857: pay_in_utils.set_location(g_debug,l_procedure,80);
1858:
1859: IF (l_template.template_name = 'Leave Travel Concession')
1860: THEN
1861: l_input_value_id := pay_in_utils.get_input_value_id(l_element.effective_start_date
1862: ,l_element.element_type_id
1863: ,'LTC Journey Block'
1864: );
1865:
1868: FROM fnd_flex_value_sets
1869: WHERE flex_value_set_name = 'PER_IN_LTC_BLOCK';
1870:
1871: IF g_debug THEN
1872: pay_in_utils.trace('Input Value Id ',TO_CHAR(l_input_value_id));
1873: pay_in_utils.trace('Flex Value Set ID ',TO_CHAR(l_flx_val_set_id));
1874: END IF;
1875:
1876: UPDATE pay_input_values_f
1869: WHERE flex_value_set_name = 'PER_IN_LTC_BLOCK';
1870:
1871: IF g_debug THEN
1872: pay_in_utils.trace('Input Value Id ',TO_CHAR(l_input_value_id));
1873: pay_in_utils.trace('Flex Value Set ID ',TO_CHAR(l_flx_val_set_id));
1874: END IF;
1875:
1876: UPDATE pay_input_values_f
1877: SET value_set_id = l_flx_val_set_id
1881: END IF;
1882:
1883: IF l_template_rec.sf_setup.formula_name IS NOT NULL THEN
1884:
1885: pay_in_utils.set_location(g_debug,l_procedure,90);
1886: pay_status_processing_rule_api.create_status_process_rule
1887: (
1888: p_effective_date => l_element.effective_start_date
1889: ,p_element_type_id => l_element.element_type_id
1887: (
1888: p_effective_date => l_element.effective_start_date
1889: ,p_element_type_id => l_element.element_type_id
1890: ,p_business_group_id => l_element.business_group_id
1891: ,p_formula_id => pay_in_utils.get_formula_id(l_element.effective_start_date,
1892: l_template_rec.sf_setup.formula_name)
1893: ,p_status_processing_rule_id => l_template_rec.sf_setup.status_rule_id
1894: ,p_effective_start_date => l_st_start_date
1895: ,p_effective_end_date => l_st_end_date
1898: );
1899:
1900: FOR i IN 1..l_template_rec.sf_setup.frs_setup.COUNT
1901: LOOP
1902: pay_in_utils.set_location(g_debug,l_procedure,100);
1903:
1904:
1905: IF (l_template.template_name = 'Other Perquisites' OR
1906: l_template.template_name = 'Free Education' OR
1913: END IF;
1914:
1915:
1916: IF g_debug THEN
1917: pay_in_utils.trace('===================================','================');
1918: pay_in_utils.trace('result_name ',l_template_rec.sf_setup.frs_setup(i).result_name);
1919: pay_in_utils.trace('result_rule_type ',l_template_rec.sf_setup.frs_setup(i).result_rule_type);
1920: pay_in_utils.trace('input_value_name ',l_template_rec.sf_setup.frs_setup(i).input_value_name);
1921: pay_in_utils.trace('element_name ',l_template_rec.sf_setup.frs_setup(i).element_name);
1914:
1915:
1916: IF g_debug THEN
1917: pay_in_utils.trace('===================================','================');
1918: pay_in_utils.trace('result_name ',l_template_rec.sf_setup.frs_setup(i).result_name);
1919: pay_in_utils.trace('result_rule_type ',l_template_rec.sf_setup.frs_setup(i).result_rule_type);
1920: pay_in_utils.trace('input_value_name ',l_template_rec.sf_setup.frs_setup(i).input_value_name);
1921: pay_in_utils.trace('element_name ',l_template_rec.sf_setup.frs_setup(i).element_name);
1922: pay_in_utils.trace('severity_level ',l_template_rec.sf_setup.frs_setup(i).severity_level);
1915:
1916: IF g_debug THEN
1917: pay_in_utils.trace('===================================','================');
1918: pay_in_utils.trace('result_name ',l_template_rec.sf_setup.frs_setup(i).result_name);
1919: pay_in_utils.trace('result_rule_type ',l_template_rec.sf_setup.frs_setup(i).result_rule_type);
1920: pay_in_utils.trace('input_value_name ',l_template_rec.sf_setup.frs_setup(i).input_value_name);
1921: pay_in_utils.trace('element_name ',l_template_rec.sf_setup.frs_setup(i).element_name);
1922: pay_in_utils.trace('severity_level ',l_template_rec.sf_setup.frs_setup(i).severity_level);
1923: pay_in_utils.trace('exclusion_tag ',l_template_rec.sf_setup.frs_setup(i).exclusion_tag);
1916: IF g_debug THEN
1917: pay_in_utils.trace('===================================','================');
1918: pay_in_utils.trace('result_name ',l_template_rec.sf_setup.frs_setup(i).result_name);
1919: pay_in_utils.trace('result_rule_type ',l_template_rec.sf_setup.frs_setup(i).result_rule_type);
1920: pay_in_utils.trace('input_value_name ',l_template_rec.sf_setup.frs_setup(i).input_value_name);
1921: pay_in_utils.trace('element_name ',l_template_rec.sf_setup.frs_setup(i).element_name);
1922: pay_in_utils.trace('severity_level ',l_template_rec.sf_setup.frs_setup(i).severity_level);
1923: pay_in_utils.trace('exclusion_tag ',l_template_rec.sf_setup.frs_setup(i).exclusion_tag);
1924: pay_in_utils.trace('===================================','================');
1917: pay_in_utils.trace('===================================','================');
1918: pay_in_utils.trace('result_name ',l_template_rec.sf_setup.frs_setup(i).result_name);
1919: pay_in_utils.trace('result_rule_type ',l_template_rec.sf_setup.frs_setup(i).result_rule_type);
1920: pay_in_utils.trace('input_value_name ',l_template_rec.sf_setup.frs_setup(i).input_value_name);
1921: pay_in_utils.trace('element_name ',l_template_rec.sf_setup.frs_setup(i).element_name);
1922: pay_in_utils.trace('severity_level ',l_template_rec.sf_setup.frs_setup(i).severity_level);
1923: pay_in_utils.trace('exclusion_tag ',l_template_rec.sf_setup.frs_setup(i).exclusion_tag);
1924: pay_in_utils.trace('===================================','================');
1925: END IF;
1918: pay_in_utils.trace('result_name ',l_template_rec.sf_setup.frs_setup(i).result_name);
1919: pay_in_utils.trace('result_rule_type ',l_template_rec.sf_setup.frs_setup(i).result_rule_type);
1920: pay_in_utils.trace('input_value_name ',l_template_rec.sf_setup.frs_setup(i).input_value_name);
1921: pay_in_utils.trace('element_name ',l_template_rec.sf_setup.frs_setup(i).element_name);
1922: pay_in_utils.trace('severity_level ',l_template_rec.sf_setup.frs_setup(i).severity_level);
1923: pay_in_utils.trace('exclusion_tag ',l_template_rec.sf_setup.frs_setup(i).exclusion_tag);
1924: pay_in_utils.trace('===================================','================');
1925: END IF;
1926:
1919: pay_in_utils.trace('result_rule_type ',l_template_rec.sf_setup.frs_setup(i).result_rule_type);
1920: pay_in_utils.trace('input_value_name ',l_template_rec.sf_setup.frs_setup(i).input_value_name);
1921: pay_in_utils.trace('element_name ',l_template_rec.sf_setup.frs_setup(i).element_name);
1922: pay_in_utils.trace('severity_level ',l_template_rec.sf_setup.frs_setup(i).severity_level);
1923: pay_in_utils.trace('exclusion_tag ',l_template_rec.sf_setup.frs_setup(i).exclusion_tag);
1924: pay_in_utils.trace('===================================','================');
1925: END IF;
1926:
1927: -- Check for Exclusions
1920: pay_in_utils.trace('input_value_name ',l_template_rec.sf_setup.frs_setup(i).input_value_name);
1921: pay_in_utils.trace('element_name ',l_template_rec.sf_setup.frs_setup(i).element_name);
1922: pay_in_utils.trace('severity_level ',l_template_rec.sf_setup.frs_setup(i).severity_level);
1923: pay_in_utils.trace('exclusion_tag ',l_template_rec.sf_setup.frs_setup(i).exclusion_tag);
1924: pay_in_utils.trace('===================================','================');
1925: END IF;
1926:
1927: -- Check for Exclusions
1928: l_cr_result := TRUE ;
1926:
1927: -- Check for Exclusions
1928: l_cr_result := TRUE ;
1929: IF l_template_rec.sf_setup.frs_setup(i).exclusion_tag IS NOT NULL THEN
1930: pay_in_utils.set_location(g_debug,l_procedure,110);
1931:
1932: FOR j IN 1..l_template_rec.er_setup.COUNT
1933: LOOP
1934: pay_in_utils.trace('===================================','================');
1930: pay_in_utils.set_location(g_debug,l_procedure,110);
1931:
1932: FOR j IN 1..l_template_rec.er_setup.COUNT
1933: LOOP
1934: pay_in_utils.trace('===================================','================');
1935: pay_in_utils.trace('ff_column',l_template_rec.er_setup(j).ff_column);
1936: pay_in_utils.trace('value',l_template_rec.er_setup(j).value);
1937: pay_in_utils.trace('rule_id=',l_template_rec.er_setup(j).rule_id);
1938: pay_in_utils.trace('===================================','================');
1931:
1932: FOR j IN 1..l_template_rec.er_setup.COUNT
1933: LOOP
1934: pay_in_utils.trace('===================================','================');
1935: pay_in_utils.trace('ff_column',l_template_rec.er_setup(j).ff_column);
1936: pay_in_utils.trace('value',l_template_rec.er_setup(j).value);
1937: pay_in_utils.trace('rule_id=',l_template_rec.er_setup(j).rule_id);
1938: pay_in_utils.trace('===================================','================');
1939:
1932: FOR j IN 1..l_template_rec.er_setup.COUNT
1933: LOOP
1934: pay_in_utils.trace('===================================','================');
1935: pay_in_utils.trace('ff_column',l_template_rec.er_setup(j).ff_column);
1936: pay_in_utils.trace('value',l_template_rec.er_setup(j).value);
1937: pay_in_utils.trace('rule_id=',l_template_rec.er_setup(j).rule_id);
1938: pay_in_utils.trace('===================================','================');
1939:
1940: IF l_template_rec.er_setup(j).tag = l_template_rec.sf_setup.frs_setup(i).exclusion_tag
1933: LOOP
1934: pay_in_utils.trace('===================================','================');
1935: pay_in_utils.trace('ff_column',l_template_rec.er_setup(j).ff_column);
1936: pay_in_utils.trace('value',l_template_rec.er_setup(j).value);
1937: pay_in_utils.trace('rule_id=',l_template_rec.er_setup(j).rule_id);
1938: pay_in_utils.trace('===================================','================');
1939:
1940: IF l_template_rec.er_setup(j).tag = l_template_rec.sf_setup.frs_setup(i).exclusion_tag
1941: THEN
1934: pay_in_utils.trace('===================================','================');
1935: pay_in_utils.trace('ff_column',l_template_rec.er_setup(j).ff_column);
1936: pay_in_utils.trace('value',l_template_rec.er_setup(j).value);
1937: pay_in_utils.trace('rule_id=',l_template_rec.er_setup(j).rule_id);
1938: pay_in_utils.trace('===================================','================');
1939:
1940: IF l_template_rec.er_setup(j).tag = l_template_rec.sf_setup.frs_setup(i).exclusion_tag
1941: THEN
1942: pay_in_utils.set_location(g_debug,l_procedure,120);
1938: pay_in_utils.trace('===================================','================');
1939:
1940: IF l_template_rec.er_setup(j).tag = l_template_rec.sf_setup.frs_setup(i).exclusion_tag
1941: THEN
1942: pay_in_utils.set_location(g_debug,l_procedure,120);
1943:
1944: l_excl_def_value := l_template_rec.er_setup(j).value;
1945: l_ff_column := l_template_rec.er_setup(j).ff_column;
1946: pay_in_utils.trace('l_excl_def_value',l_excl_def_value);
1942: pay_in_utils.set_location(g_debug,l_procedure,120);
1943:
1944: l_excl_def_value := l_template_rec.er_setup(j).value;
1945: l_ff_column := l_template_rec.er_setup(j).ff_column;
1946: pay_in_utils.trace('l_excl_def_value',l_excl_def_value);
1947:
1948: EXIT ;
1949: END IF ;
1950: END LOOP ;
1948: EXIT ;
1949: END IF ;
1950: END LOOP ;
1951:
1952: pay_in_utils.set_location(g_debug,l_procedure,130);
1953: SELECT DECODE(l_ff_column,
1954: 'CONFIGURATION_INFORMATION2',l_template.configuration_information2,
1955: 'CONFIGURATION_INFORMATION3',l_template.configuration_information3,
1956: 'CONFIGURATION_INFORMATION4',l_template.configuration_information4,
1961: 'CONFIGURATION_INFORMATION9',l_template.configuration_information9,
1962: 'CONFIGURATION_INFORMATION10',l_template.configuration_information10)
1963: INTO l_excl_set_value
1964: FROM dual ;
1965: pay_in_utils.trace('l_excl_set_value',l_excl_set_value);
1966:
1967: IF l_excl_set_value = l_excl_def_value THEN
1968: /* if the two values are different, then we need to create the result */
1969: l_cr_result := FALSE;
1972: END IF ;
1973:
1974: /* At this stage we are aware of whether we want to create the result or not */
1975: IF l_cr_result THEN
1976: pay_in_utils.set_location(g_debug,l_procedure,140);
1977:
1978: IF (l_template_rec.sf_setup.frs_setup(i).result_rule_type = 'I' AND
1979: l_template_rec.sf_setup.frs_setup(i).element_name IS NULL) THEN
1980: NULL;
1978: IF (l_template_rec.sf_setup.frs_setup(i).result_rule_type = 'I' AND
1979: l_template_rec.sf_setup.frs_setup(i).element_name IS NULL) THEN
1980: NULL;
1981: ELSE
1982: pay_in_utils.ins_form_res_rule
1983: (
1984: p_business_group_id => l_element.business_group_id
1985: ,p_effective_date => l_element.effective_start_date
1986: ,p_status_processing_rule_id => l_template_rec.sf_setup.status_rule_id
1998: END LOOP ;
1999:
2000: END IF ;
2001:
2002: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,170);
2003: END element_template_post_process;
2004:
2005: --------------------------------------------------------------------------
2006: -- Name : DELETE_PRE_PROCESS --
2027: l_procedure CONSTANT VARCHAR2(100) := g_package ||'delete_pre_process';
2028:
2029: BEGIN
2030: g_debug := hr_utility.debug_enabled;
2031: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2032:
2033: FOR i IN csr_et
2034: LOOP
2035: pay_in_utils.set_location(g_debug,l_procedure,20);
2031: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2032:
2033: FOR i IN csr_et
2034: LOOP
2035: pay_in_utils.set_location(g_debug,l_procedure,20);
2036: IF g_debug THEN
2037: pay_in_utils.trace('Element Type Id ',i.element_type_id);
2038: pay_in_utils.trace('Effective Date ',to_char(i.effective_start_date,'DD-Mon-YYYY'));
2039: END IF ;
2033: FOR i IN csr_et
2034: LOOP
2035: pay_in_utils.set_location(g_debug,l_procedure,20);
2036: IF g_debug THEN
2037: pay_in_utils.trace('Element Type Id ',i.element_type_id);
2038: pay_in_utils.trace('Effective Date ',to_char(i.effective_start_date,'DD-Mon-YYYY'));
2039: END IF ;
2040:
2041: pay_in_utils.del_form_res_rule(i.element_type_id, i.effective_start_date);
2034: LOOP
2035: pay_in_utils.set_location(g_debug,l_procedure,20);
2036: IF g_debug THEN
2037: pay_in_utils.trace('Element Type Id ',i.element_type_id);
2038: pay_in_utils.trace('Effective Date ',to_char(i.effective_start_date,'DD-Mon-YYYY'));
2039: END IF ;
2040:
2041: pay_in_utils.del_form_res_rule(i.element_type_id, i.effective_start_date);
2042:
2037: pay_in_utils.trace('Element Type Id ',i.element_type_id);
2038: pay_in_utils.trace('Effective Date ',to_char(i.effective_start_date,'DD-Mon-YYYY'));
2039: END IF ;
2040:
2041: pay_in_utils.del_form_res_rule(i.element_type_id, i.effective_start_date);
2042:
2043: END LOOP ; -- csr_et ends
2044:
2045: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,100);
2041: pay_in_utils.del_form_res_rule(i.element_type_id, i.effective_start_date);
2042:
2043: END LOOP ; -- csr_et ends
2044:
2045: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,100);
2046:
2047:
2048: EXCEPTION
2049: WHEN OTHERS THEN
2046:
2047:
2048: EXCEPTION
2049: WHEN OTHERS THEN
2050: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,120);
2051: pay_in_utils.trace('SQL Code ',SQLCODE);
2052: pay_in_utils.trace('SQL Code ',SQLERRM);
2053: RAISE ;
2054: END delete_pre_process;
2047:
2048: EXCEPTION
2049: WHEN OTHERS THEN
2050: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,120);
2051: pay_in_utils.trace('SQL Code ',SQLCODE);
2052: pay_in_utils.trace('SQL Code ',SQLERRM);
2053: RAISE ;
2054: END delete_pre_process;
2055:
2048: EXCEPTION
2049: WHEN OTHERS THEN
2050: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,120);
2051: pay_in_utils.trace('SQL Code ',SQLCODE);
2052: pay_in_utils.trace('SQL Code ',SQLERRM);
2053: RAISE ;
2054: END delete_pre_process;
2055:
2056: END pay_in_element_template_pkg;