[Home] [Help]
PACKAGE BODY: APPS.PAY_NO_PAYPROC_UTILITY
Source
1 PACKAGE BODY pay_no_payproc_utility AS
2 /* $Header: pynopprocu.pkb 120.0 2005/05/29 10:52:25 appldev noship $ */
3
4 l_package CONSTANT VARCHAR2(20):= 'PAY_NO_PAYPROC.';
5
6 FUNCTION get_payment_method_id (
7 p_payroll_id IN number,
8 p_effective_date in date
9 ) return number IS
10
11 cursor csr_payment_method_id
12 is
13 select paf.DEFAULT_PAYMENT_METHOD_ID
14 from pay_payrolls_f paf
15 where paf.payroll_id = p_payroll_id
16 and p_effective_date between paf.effective_start_date and paf.effective_end_date;
17
18 l_payment_method_id pay_payrolls_f.DEFAULT_PAYMENT_METHOD_ID%TYPE;
19
20 begin
21
22 open csr_payment_method_id;
23 fetch csr_payment_method_id into l_payment_method_id;
24 close csr_payment_method_id;
25
26 RETURN l_payment_method_id;
27
28 end get_payment_method_id;
29 -------------------------------------------------------------------------------------------------------------------------------------------------------------
30 FUNCTION get_account_no (
31 p_personal_method_id in number,
32 p_payroll_id in number,
33 p_effective_date in date
34 ) return number
35 IS
36
37 cursor csr_payment
38 is
39 select ppm.external_account_id
40 from pay_personal_payment_methods_f ppm
41 where ppm.personal_payment_method_id=p_personal_method_id
42 and p_effective_date between ppm.effective_start_date and ppm.effective_end_date;
43
44 cursor csr_payment_method_id
45 is
46 select paf.DEFAULT_PAYMENT_METHOD_ID
47 from pay_payrolls_f paf
48 where paf.payroll_id = p_payroll_id
49 and p_effective_date between paf.effective_start_date and paf.effective_end_date;
50
51 l_payment pay_personal_payment_methods_f.external_account_id%TYPE;
52 l_personal_method_id pay_payrolls_f.DEFAULT_PAYMENT_METHOD_ID%TYPE;
53 l_account_id pay_personal_payment_methods_f.external_account_id%TYPE;
54
55
56
57 begin
58
59 if p_personal_method_id is null then
60
61 open csr_payment;
62 fetch csr_payment into l_payment;
63 close csr_payment;
64 return l_payment;
65 else
66 open csr_payment_method_id;
67 fetch csr_payment_method_id into l_personal_method_id;
68 close csr_payment_method_id;
69
70 select ppm.external_account_id into l_account_id
71 from pay_personal_payment_methods_f ppm
72 where ppm.personal_payment_method_id=l_personal_method_id
73 and p_effective_date between ppm.effective_start_date and ppm.effective_end_date;
74
75 RETURN l_account_id;
76 end if;
77
78 end get_account_no;
79 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------
80
81 FUNCTION get_payment_invoice_or_mass (
82 p_personal_method_id in number,
83 p_payroll_id in number,
84 p_effective_date in date
85 ) return number
86 IS
87
88 cursor csr_payment
89 is
90 select ppm.external_account_id
91 from pay_personal_payment_methods_f ppm
92 where ppm.personal_payment_method_id=p_personal_method_id
93 and p_effective_date between ppm.effective_start_date and ppm.effective_end_date;
94
95
96 l_payment pay_personal_payment_methods_f.external_account_id%TYPE;
97
98
99 begin
100
101 if p_personal_method_id is not null then
102
103 open csr_payment;
104 fetch csr_payment into l_payment;
105 close csr_payment;
106
107 if l_payment is null then
108 RETURN 2; -- invoice
109 else
110 RETURN 1; -- Mass
111 end if;
112
113 else
114 RETURN 2; -- invoice
115 end if;
116
117 end get_payment_invoice_or_mass;
118 ----------------------------------------------------------------------------------------------------------------------------------------------------------
119
120 FUNCTION get_parameter(
121 p_payroll_action_id NUMBER
122 ,p_token_name VARCHAR2) RETURN VARCHAR2 AS
123
124 CURSOR csr_parameter_info(p_pact_id IN NUMBER) IS
125 SELECT legislative_parameters
126 FROM pay_payroll_actions
127 WHERE payroll_action_id = p_pact_id;
128
129 l_token_value VARCHAR2(50);
130 l_parameter pay_payroll_actions.legislative_parameters%TYPE ;
131 l_delimiter varchar2(1);
132 l_start_pos NUMBER;
133
134 BEGIN
135 --
136 l_parameter := NULL;
137 l_delimiter :=' ';
138
139 hr_utility.set_location('p_token_name = ' || p_token_name,20);
140 OPEN csr_parameter_info(p_payroll_action_id);
141 FETCH csr_parameter_info INTO l_parameter;
142 CLOSE csr_parameter_info;
143 l_start_pos := instr(' '||l_parameter,l_delimiter||p_token_name||'=');
144 IF l_start_pos = 0 THEN
145 l_delimiter := '|';
146 l_start_pos := instr(' '||l_parameter,l_delimiter||p_token_name||'=');
147 end if;
148 IF l_start_pos <> 0 THEN
149 l_start_pos := l_start_pos + length(p_token_name||'=');
150 l_token_value := substr(l_parameter,
151 l_start_pos,
152 instr(l_parameter||' ',
153 l_delimiter,l_start_pos)
154 - l_start_pos);
155 end if;
156 --
157 l_token_value := trim(l_token_value);
158 --
159 hr_utility.set_location('l_token_value = ' || l_token_value,20);
160 hr_utility.set_location('Leaving ' || 'get_parameters',30);
161
162 RETURN l_token_value;
163
164 END get_parameter;
165 --------------------------------------------------------------------------------------------------------
166
167 end PAY_NO_PAYPROC_UTILITY;