[Home] [Help]
PACKAGE BODY: APPS.PAY_FI_TAX_CARD_PKG
Source
1 package body PAY_FI_TAX_CARD_PKG as
2 /* $Header: pyfitaxr.pkb 120.0 2005/05/29 04:54:28 appldev noship $ */
3 g_package varchar2(33) := 'PAY_FI_TAX_CARD_PKG.';
4
5 -- Global Variables
6 -----------------------------------------------------------------------------
7 -- GET_PARAMETER used in SQL to decode legislative parameters
8 -----------------------------------------------------------------------------
9 FUNCTION get_parameter(
10 p_parameter_string IN VARCHAR2
11 ,p_token IN VARCHAR2
12 ,p_segment_number IN NUMBER DEFAULT NULL ) RETURN VARCHAR2
13 IS
14 l_parameter pay_payroll_actions.legislative_parameters%TYPE:=NULL;
15 l_start_pos NUMBER;
16 l_delimiter varchar2(1):=' ';
17 l_proc VARCHAR2(60):= g_package||'get_parameter ';
18 BEGIN
19 l_start_pos := instr(' '||p_parameter_string,l_delimiter||p_token||'=');
20 IF l_start_pos = 0 THEN
21 l_delimiter := '|';
22 l_start_pos := instr(' '||p_parameter_string,l_delimiter||p_token||'=');
23 end if;
24 IF l_start_pos <> 0 THEN
25 l_start_pos := l_start_pos + length(p_token||'=');
26 l_parameter := substr(p_parameter_string,
27 l_start_pos,
28 instr(p_parameter_string||' ',
29 ',',l_start_pos)
30 - l_start_pos);
31 IF p_segment_number IS NOT NULL THEN
32 l_parameter := ':'||l_parameter||':';
33 l_parameter := substr(l_parameter,
34 instr(l_parameter,':',1,p_segment_number)+1,
35 instr(l_parameter,':',1,p_segment_number+1) -1
36 - instr(l_parameter,':',1,p_segment_number));
37 END IF;
38 END IF;
39 RETURN l_parameter;
40 END get_parameter;
41 --
42
43 PROCEDURE range_code(p_payroll_action_id IN NUMBER,
44 p_sqlstr OUT NOCOPY VARCHAR2)
45
46 IS
47 BEGIN
48
49 p_sqlstr := 'SELECT DISTINCT person_id
50 FROM per_people_f ppf
51 ,pay_payroll_actions ppa
52 WHERE ppa.payroll_action_id = :payroll_action_id
53 AND ppa.business_group_id = ppf.business_group_id
54 ORDER BY ppf.person_id';
55
56 END range_code;
57
58 FUNCTION get_employment_status(
59 p_assignment_id IN NUMBER
60 ,p_effective_date IN DATE) RETURN VARCHAR2
61 IS
62
63 CURSOR csr_primary_employment( l_assignment_id NUMBER, l_effective_date DATE) IS
64 select peev.SCREEN_ENTRY_VALUE
65 from
66 pay_element_types_f pet
67 ,pay_element_entries_f pee
68 ,pay_input_values_f piv
69 ,pay_element_entry_values_f peev
70 where pee.element_type_id = pet.element_type_id
71 and pet.element_name = 'Tax'
72 and pet.legislation_code='FI'
73 and l_effective_date between pet.effective_start_date and pet.effective_end_date
74 and l_effective_date between pee.effective_start_date and pee.effective_end_date
75 and pet.element_type_id = piv.element_type_id
76 and l_effective_date between piv.effective_start_date and piv.effective_end_date
77 and piv.name = 'Primary Employment'
78 and piv.input_value_id = peev.input_value_id
79 and peev.element_entry_id = pee.element_entry_id
80 and l_effective_date between peev.effective_start_date and peev.effective_end_date
81 and assignment_id = l_assignment_id;
82
83 l_primary_employment VARCHAR2(1) := 'X';
84
85 BEGIN
86
87 OPEN csr_primary_employment( p_assignment_id, p_effective_date);
88
89 IF csr_primary_employment%NOTFOUND THEN
90 l_primary_employment := 'X';
91 CLOSE csr_primary_employment;
92 ELSE
93
94 FETCH csr_primary_employment INTO l_primary_employment;
95 CLOSE csr_primary_employment;
96 END IF;
97
98 RETURN l_primary_employment;
99 END get_employment_status;
100
101
102 PROCEDURE assignment_action_code(
103 pactid IN NUMBER,
104 stperson IN NUMBER,
105 endperson IN NUMBER,
106 chunk IN NUMBER)
107 IS
108 BEGIN
109
110 null;
111
112 END assignment_action_code;
113 --
114 END PAY_FI_TAX_CARD_PKG;