[Home] [Help]
PACKAGE BODY: APPS.HR_FR_PERS_PAY_METHOD_API
Source
1 Package Body hr_fr_pers_pay_method_api as
2 /* $Header: peppmfri.pkb 115.2 2002/11/26 17:28:38 sfmorris noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := 'hr_fr_pers_pay_method_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |--------------------< create_fr_pers_pay_method >---------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_fr_pers_pay_method
13 (p_validate in boolean
14 ,p_effective_date in date
15 ,p_assignment_id in number
16 ,p_org_payment_method_id in number
17 ,p_amount in number
18 ,p_percentage in number
19 ,p_priority in number
20 ,p_comments in varchar2
21 ,p_attribute_category in varchar2
22 ,p_attribute1 in varchar2
23 ,p_attribute2 in varchar2
24 ,p_attribute3 in varchar2
25 ,p_attribute4 in varchar2
26 ,p_attribute5 in varchar2
27 ,p_attribute6 in varchar2
28 ,p_attribute7 in varchar2
29 ,p_attribute8 in varchar2
30 ,p_attribute9 in varchar2
31 ,p_attribute10 in varchar2
32 ,p_attribute11 in varchar2
33 ,p_attribute12 in varchar2
34 ,p_attribute13 in varchar2
35 ,p_attribute14 in varchar2
36 ,p_attribute15 in varchar2
37 ,p_attribute16 in varchar2
38 ,p_attribute17 in varchar2
39 ,p_attribute18 in varchar2
40 ,p_attribute19 in varchar2
41 ,p_attribute20 in varchar2
42 ,p_bank_name in varchar2
43 ,p_bank_code in varchar2
44 ,p_branch_code in varchar2
45 ,p_branch_name in varchar2
46 ,p_account_number in varchar2
47 ,p_account_name in varchar2
48 ,p_3rd_party_payee in varchar2
49 ,p_transmitter_code in varchar2
50 ,p_deposit_type in varchar2
51 ,p_valid_bank_branch in varchar2
52 ,p_payee_type in varchar2
53 ,p_payee_id in number
54 ,p_personal_payment_method_id out nocopy number
55 ,p_external_account_id out nocopy number
56 ,p_object_version_number out nocopy number
57 ,p_effective_start_date out nocopy date
58 ,p_effective_end_date out nocopy date
59 ,p_comment_id out nocopy number
60 ) is
61 --
62 -- Declare cursors and local variables
63 --
64 cursor legsel is
65 select pbg.legislation_code
66 from per_business_groups pbg,
67 per_assignments_f asg
68 where pbg.business_group_id = asg.business_group_id
69 and asg.assignment_id = p_assignment_id
70 and p_effective_date between asg.effective_start_date
71 and asg.effective_end_date;
72
73
74 l_proc varchar2(72) :=
75 g_package||'create_fr_pers_pay_method';
76 l_valid varchar2(150);
77 l_effective_date date;
78 --
79 begin
80 --
81 hr_utility.set_location('Entering:'|| l_proc, 5);
82 --
83 l_effective_date := p_effective_date;
84 --
85 open legsel;
86 fetch legsel
87 into l_valid;
88 --
89 if legsel%notfound then
90 close legsel;
91 hr_utility.set_message(801, 'HR_7348_ASSIGNMENT_INVALID');
92 hr_utility.raise_error;
93 end if;
94 if legsel%found and l_valid <> 'FR' then
95 close legsel;
96 hr_utility.set_message(801, 'HR_7898_PPM_BUS_GRP_INVALID');
97 hr_utility.raise_error;
98 end if;
99 --
100 close legsel;
101 hr_utility.set_location(l_proc, 7);
102 --
103 -- Call the business process to create the personal payment method
104 --
105 hr_personal_pay_method_api.create_personal_pay_method
106 (p_validate => p_validate
107 ,p_effective_date => l_effective_date
108 ,p_assignment_id => p_assignment_id
109 ,p_org_payment_method_id => p_org_payment_method_id
110 ,p_amount => p_amount
111 ,p_percentage => p_percentage
112 ,p_priority => p_priority
113 ,p_comments => p_comments
114 ,p_attribute_category => p_attribute_category
115 ,p_attribute1 => p_attribute1
116 ,p_attribute2 => p_attribute2
117 ,p_attribute3 => p_attribute3
118 ,p_attribute4 => p_attribute4
119 ,p_attribute5 => p_attribute5
120 ,p_attribute6 => p_attribute6
121 ,p_attribute7 => p_attribute7
122 ,p_attribute8 => p_attribute8
123 ,p_attribute9 => p_attribute9
124 ,p_attribute10 => p_attribute10
125 ,p_attribute11 => p_attribute11
126 ,p_attribute12 => p_attribute12
127 ,p_attribute13 => p_attribute13
128 ,p_attribute14 => p_attribute14
129 ,p_attribute15 => p_attribute15
130 ,p_attribute16 => p_attribute16
131 ,p_attribute17 => p_attribute17
132 ,p_attribute18 => p_attribute18
133 ,p_attribute19 => p_attribute19
134 ,p_attribute20 => p_attribute20
135 ,p_territory_code => 'FR'
136 ,p_segment1 => p_bank_name
137 ,p_segment2 => p_bank_code
138 ,p_segment3 => p_branch_code
139 ,p_segment4 => p_branch_name
140 ,p_segment5 => p_account_number
141 ,p_segment6 => p_account_name
142 ,p_segment7 => p_3rd_party_payee
143 ,p_segment8 => p_transmitter_code
144 ,p_segment9 => p_deposit_type
145 ,p_segment10 => p_valid_bank_branch
146 ,p_payee_type => p_payee_type
147 ,p_payee_id => p_payee_id
148 ,p_personal_payment_method_id => p_personal_payment_method_id
149 ,p_external_account_id => p_external_account_id
150 ,p_object_version_number => p_object_version_number
151 ,p_effective_start_date => p_effective_start_date
152 ,p_effective_end_date => p_effective_end_date
153 ,p_comment_id => p_comment_id
154 );
155 --
156 hr_utility.set_location(' Leaving:'||l_proc, 8);
157 end create_fr_pers_pay_method;
158 --
159 -- ----------------------------------------------------------------------------
160 -- |--------------------< update_fr_pers_pay_method >---------------------|
161 -- ----------------------------------------------------------------------------
162 --
163 procedure update_fr_pers_pay_method
164 (p_validate in boolean
165 ,p_effective_date in date
166 ,p_datetrack_update_mode in varchar2
167 ,p_personal_payment_method_id in number
168 ,p_object_version_number in out nocopy number
169 ,p_amount in number
170 ,p_comments in varchar2
171 ,p_percentage in number
172 ,p_priority in number
173 ,p_attribute_category in varchar2
174 ,p_attribute1 in varchar2
175 ,p_attribute2 in varchar2
176 ,p_attribute3 in varchar2
177 ,p_attribute4 in varchar2
178 ,p_attribute5 in varchar2
179 ,p_attribute6 in varchar2
180 ,p_attribute7 in varchar2
181 ,p_attribute8 in varchar2
182 ,p_attribute9 in varchar2
183 ,p_attribute10 in varchar2
184 ,p_attribute11 in varchar2
185 ,p_attribute12 in varchar2
186 ,p_attribute13 in varchar2
187 ,p_attribute14 in varchar2
188 ,p_attribute15 in varchar2
189 ,p_attribute16 in varchar2
190 ,p_attribute17 in varchar2
191 ,p_attribute18 in varchar2
192 ,p_attribute19 in varchar2
193 ,p_attribute20 in varchar2
194 ,p_bank_name in varchar2
195 ,p_bank_code in varchar2
196 ,p_branch_code in varchar2
197 ,p_branch_name in varchar2
198 ,p_account_number in varchar2
199 ,p_account_name in varchar2
200 ,p_3rd_party_payee in varchar2
201 ,p_transmitter_code in varchar2
202 ,p_deposit_type in varchar2
203 ,p_valid_bank_branch in varchar2
204 ,p_payee_type in varchar2
205 ,p_payee_id in number
206 ,p_comment_id out nocopy number
207 ,p_external_account_id out nocopy number
208 ,p_effective_start_date out nocopy date
209 ,p_effective_end_date out nocopy date
210 ) is
211 --
212 -- Declare cursors and local variables
213 --
214 l_proc varchar2(72) :=
215 g_package||'update_fr_pers_pay_method';
216 l_valid varchar2(150);
217 --
218 cursor legsel is
219 select pbg.legislation_code
220 from per_business_groups pbg,
221 pay_personal_payment_methods_f ppm
222 where pbg.business_group_id = ppm.business_group_id
223 and ppm.personal_payment_method_id = p_personal_payment_method_id
224 and p_effective_date between ppm.effective_start_date
225 and ppm.effective_end_date;
226
227 --
228 begin
229 hr_utility.set_location('Entering:'|| l_proc, 5);
230 --
231 -- Ensure that the legislation rule for the employee assignment business
232 -- group is 'FR'.
233 --
234 open legsel;
235 fetch legsel
236 into l_valid;
237 --
238 if legsel%notfound then
239 close legsel;
240 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
241 hr_utility.raise_error;
242 end if;
243 if legsel%found and l_valid <> 'FR' then
244 hr_utility.set_message(801, 'HR_7898_PPM_BUS_GRP_INVALID');
245 hr_utility.raise_error;
246 end if;
247 --
248 close legsel;
249 --
250 hr_utility.set_location(l_proc, 6);
251 --
252 -- Call the business process to update the personal payment method
253 --
254 hr_personal_pay_method_api.update_personal_pay_method
255 (p_validate => p_validate
256 ,p_effective_date => trunc(p_effective_date)
257 ,p_datetrack_update_mode => p_datetrack_update_mode
258 ,p_personal_payment_method_id => p_personal_payment_method_id
259 ,p_object_version_number => p_object_version_number
260 ,p_amount => p_amount
261 ,p_comments => p_comments
262 ,p_percentage => p_percentage
263 ,p_priority => p_priority
264 ,p_attribute_category => p_attribute_category
265 ,p_attribute1 => p_attribute1
266 ,p_attribute2 => p_attribute1
267 ,p_attribute3 => p_attribute1
268 ,p_attribute4 => p_attribute1
269 ,p_attribute5 => p_attribute1
270 ,p_attribute6 => p_attribute1
271 ,p_attribute7 => p_attribute1
272 ,p_attribute8 => p_attribute1
273 ,p_attribute9 => p_attribute1
274 ,p_attribute10 => p_attribute1
275 ,p_attribute11 => p_attribute1
276 ,p_attribute12 => p_attribute1
277 ,p_attribute13 => p_attribute1
278 ,p_attribute14 => p_attribute1
279 ,p_attribute15 => p_attribute1
280 ,p_attribute16 => p_attribute1
281 ,p_attribute17 => p_attribute1
282 ,p_attribute18 => p_attribute1
283 ,p_attribute19 => p_attribute1
284 ,p_attribute20 => p_attribute1
285 ,p_territory_code => 'FR'
286 ,p_segment1 => p_bank_name
287 ,p_segment2 => p_bank_code
288 ,p_segment3 => p_branch_code
289 ,p_segment4 => p_branch_name
290 ,p_segment5 => p_account_number
291 ,p_segment6 => p_account_name
292 ,p_segment7 => p_3rd_party_payee
293 ,p_segment8 => p_transmitter_code
294 ,p_segment9 => p_deposit_type
295 ,p_segment10 => p_valid_bank_branch
296 ,p_payee_type => p_payee_type
297 ,p_payee_id => p_payee_id
298 ,p_comment_id => p_comment_id
299 ,p_external_account_id => p_external_account_id
300 ,p_effective_start_date => p_effective_start_date
301 ,p_effective_end_date => p_effective_end_date
302 );
303 --
304 hr_utility.set_location(' Leaving:'||l_proc, 7);
305 end update_fr_pers_pay_method;
306 --
307 end hr_fr_pers_pay_method_api;