DBA Data[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;