1: package body hr_gbnidir as
2: /* $Header: pygbnicd.pkb 120.1.12000000.2 2007/03/15 16:27:15 ajeyam noship $ */
3: --------------------------------------------------------------------------------
4: --
5: g_defined_director_set boolean := FALSE;
855: RR PAY_RUN_RESULTS_N50,
856: TARGET PAY_RUN_RESULT_VALUES_PK,
857: FEED PAY_BALANCE_FEEDS_F_UK2 )
858: USE_NL(BAL_ASSACT,BACT,BPTP,START_ASS,ASS,ASSACT,PACT,PPTP,RR,TARGET,FEED) +*/
859: nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
860: 'AN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
861: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
862: 'AA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
863: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
857: FEED PAY_BALANCE_FEEDS_F_UK2 )
858: USE_NL(BAL_ASSACT,BACT,BPTP,START_ASS,ASS,ASSACT,PACT,PPTP,RR,TARGET,FEED) +*/
859: nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
860: 'AN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
861: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
862: 'AA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
863: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
864: 'BN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
865: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
859: nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
860: 'AN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
861: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
862: 'AA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
863: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
864: 'BN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
865: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
866: 'BA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
867: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
861: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
862: 'AA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
863: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
864: 'BN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
865: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
866: 'BA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
867: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
868: 'CN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
869: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
863: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
864: 'BN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
865: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
866: 'BA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
867: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
868: 'CN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
869: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
870: 'CC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
871: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
865: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
866: 'BA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
867: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
868: 'CN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
869: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
870: 'CC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
871: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
872: 'DC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
873: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
867: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
868: 'CN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
869: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
870: 'CC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
871: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
872: 'DC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
873: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
874: 'EC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
875: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
869: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
870: 'CC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
871: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
872: 'DC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
873: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
874: 'EC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
875: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
876: 'FM',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
877: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
871: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
872: 'DC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
873: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
874: 'EC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
875: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
876: 'FM',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
877: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
878: 'GM',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
879: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
873: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
874: 'EC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
875: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
876: 'FM',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
877: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
878: 'GM',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
879: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
880: 'JN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
881: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
875: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
876: 'FM',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
877: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
878: 'GM',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
879: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
880: 'JN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
881: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
882: 'JA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
883: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
877: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
878: 'GM',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
879: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
880: 'JN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
881: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
882: 'JA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
883: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
884: 'LC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
885: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
879: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
880: 'JN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
881: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
882: 'JA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
883: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
884: 'LC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
885: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
886: 'SM',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
887: into g_st_ni_a_able , g_st_ni_ap_able , g_st_ni_b_able ,
881: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
882: 'JA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
883: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
884: 'LC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
885: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
886: 'SM',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
887: into g_st_ni_a_able , g_st_ni_ap_able , g_st_ni_b_able ,
888: g_st_ni_bp_able, g_st_ni_c_able , g_st_ni_co_able ,
889: g_st_ni_d_able , g_st_ni_e_able , g_st_ni_f_able ,
1537: per_time_period_types ptpt
1538: where a.person_id = l_person_id
1539: and a.assignment_type = 'E'
1540: and a.payroll_id = p.payroll_id
1541: and nvl(hr_gbnidir.element_entry_value(
1542: a.assignment_id, l_effective_date,
1543: 'NI','Priority Period Type') ,p.period_type)
1544: = ptpt.period_type
1545: and l_effective_date
1627: hr_soft_coding_keyflex FLEX,
1628: per_time_period_types ptpt
1629: where a.person_id = l_person_id
1630: and a.payroll_id = p.payroll_id
1631: and nvl(hr_gbnidir.element_entry_value(a.assignment_id,
1632: l_effective_date,'NI','Priority Period Type'),
1633: p.period_type) = ptpt.period_type
1634: and l_effective_date between a.effective_start_date and a.effective_end_date
1635: and l_effective_date between p.effective_start_date and p.effective_end_date
1905: ELSE
1906: -- The assignment_action_id has changed from the last call or is null,
1907: -- calculate the balances via route-code before calling the global function.
1908: --
1909: l_stat_period_start := hr_gbnidir.STATUTORY_PERIOD_START_DATE(p_assignment_action_id);
1910: g_statutory_period_start_date := l_stat_period_start;
1911: g_assignment_action_id := p_assignment_action_id;
1912: hr_utility.trace('Assignment Action: '||to_char(g_assignment_action_id));
1913: --
1924: RR PAY_RUN_RESULTS_N50,
1925: TARGET PAY_RUN_RESULT_VALUES_PK,
1926: FEED PAY_BALANCE_FEEDS_F_UK2)
1927: USE_NL(BAL_ASSACT,BACT,BPTP,START_ASS,ASS,ASSACT,PACT,PPTP,RR,TARGET,FEED) +*/
1928: nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1929: 'AN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1930: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1931: 'AA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1932: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1926: FEED PAY_BALANCE_FEEDS_F_UK2)
1927: USE_NL(BAL_ASSACT,BACT,BPTP,START_ASS,ASS,ASSACT,PACT,PPTP,RR,TARGET,FEED) +*/
1928: nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1929: 'AN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1930: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1931: 'AA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1932: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1933: 'BN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1934: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1928: nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1929: 'AN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1930: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1931: 'AA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1932: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1933: 'BN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1934: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1935: 'BA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1936: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1930: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1931: 'AA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1932: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1933: 'BN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1934: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1935: 'BA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1936: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1937: 'CN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1938: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1932: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1933: 'BN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1934: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1935: 'BA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1936: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1937: 'CN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1938: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1939: 'CC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1940: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1934: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1935: 'BA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1936: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1937: 'CN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1938: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1939: 'CC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1940: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1941: 'DC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1942: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1936: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1937: 'CN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1938: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1939: 'CC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1940: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1941: 'DC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1942: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1943: 'EC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1944: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1938: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1939: 'CC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1940: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1941: 'DC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1942: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1943: 'EC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1944: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1945: 'FM',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1946: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1940: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1941: 'DC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1942: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1943: 'EC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1944: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1945: 'FM',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1946: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1947: 'GM',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1948: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1942: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1943: 'EC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1944: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1945: 'FM',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1946: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1947: 'GM',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1948: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1949: 'JN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1950: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1944: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1945: 'FM',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1946: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1947: 'GM',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1948: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1949: 'JN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1950: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1951: 'JA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1952: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1946: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1947: 'GM',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1948: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1949: 'JN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1950: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1951: 'JA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1952: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1953: 'LC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1954: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1948: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1949: 'JN',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1950: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1951: 'JA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1952: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1953: 'LC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1954: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1955: 'SM',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1956: into g_st_ni_a_able , g_st_ni_ap_able, g_st_ni_b_able ,
1950: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1951: 'JA',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1952: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1953: 'LC',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1954: ,nvl(sum(decode(hr_gbnidir.NI_ELEMENT_ENTRY_VALUE(ASSACT.assignment_id, PACT.effective_date),
1955: 'SM',fnd_number.canonical_to_number(TARGET.result_value) * FEED.scale,0)),0)
1956: into g_st_ni_a_able , g_st_ni_ap_able, g_st_ni_b_able ,
1957: g_st_ni_bp_able, g_st_ni_c_able , g_st_ni_co_able ,
1958: g_st_ni_d_able , g_st_ni_e_able , g_st_ni_f_able ,
2260: -- L_ET: employers earnings threshold for the period.
2261: -- L_UEL: upper earnings threshold
2262: NI_ABLE NUMBER;
2263: begin
2264: hr_utility.set_location('hr_gbnidir.niable_bands', 10);
2265: NI_ABLE := 0; -- niable up to the UEL for current category
2266: NI_ABLE_LEL := 0; -- niable up to the LEL for current category if niable is >LEL
2267: NI_ABLE_EET := 0; -- Now obsolete, set to zero.
2268: NI_ABLE_ET := 0; -- niable between the LEL and the ET for category
2269: NI_ABLE_UEL := 0; -- niable bwteen the ET and UEL for category
2270: NI_UPPER := 0; -- earnings above the UEL for category, ie Above UEL (AUEL).
2271: NI_LOWER := 0; -- earnings below the LEL for category
2272: if l_ni_cat_able > 0 then
2273: hr_utility.set_location('hr_gbnidir.niable_bands', 20);
2274: NI_LOWER := greatest(0,(least(l_lel,l_niable)
2275: - (l_niable - l_ni_cat_able)));
2276: -- if Employees total earnings subject to NI is over the Lower Earnings limit
2277: -- work out how much of those LEL earnings are for Niable for the category
2279: -- highest priority category will attract the LEL earnings. Subsequent
2280: -- categories start their calculating at higher thresholds as NIABLE already
2281: -- calculated is taken into account.
2282: if l_tot_niable > l_lel then
2283: hr_utility.set_location('hr_gbnidir.niable_bands', 20);
2284: ni_able_lel := ni_lower;
2285: --
2286: ni_able_et := greatest(0,((least(l_et,l_niable)) -
2287: (greatest(l_lel,(l_niable - l_ni_cat_able)))));
2303: return NI_ABLE;
2304: --
2305: end niable_bands;
2306:
2307: end hr_gbnidir;