[Home] [Help]
PACKAGE BODY: APPS.HR_IN_PERSONAL_PAY_METHOD_API
Source
1 PACKAGE BODY hr_in_personal_pay_method_api AS
2 /* $Header: peinwrpm.pkb 120.1 2006/04/24 04:01 statkar noship $ */
3
4
5 --
6 g_debug BOOLEAN;
7
8 g_package VARCHAR2(33);
9
10 --
11 -- ----------------------------------------------------------------------------
12 -- |--------------------< create_in_personal_pay_method >---------------------|
13 -- ----------------------------------------------------------------------------
14 --
15 PROCEDURE create_in_personal_pay_method
16 (p_validate IN BOOLEAN DEFAULT false
17 ,p_effective_date IN DATE
18 ,p_assignment_id IN NUMBER
19 ,p_org_payment_method_id IN NUMBER
20 ,p_amount IN NUMBER DEFAULT null
21 ,p_percentage IN NUMBER DEFAULT null
22 ,p_priority IN NUMBER DEFAULT null
23 ,p_comments IN VARCHAR2 DEFAULT null
24 ,p_attribute_category IN VARCHAR2 DEFAULT null
25 ,p_attribute1 IN VARCHAR2 DEFAULT null
26 ,p_attribute2 IN VARCHAR2 DEFAULT null
27 ,p_attribute3 IN VARCHAR2 DEFAULT null
28 ,p_attribute4 IN VARCHAR2 DEFAULT null
29 ,p_attribute5 IN VARCHAR2 DEFAULT null
30 ,p_attribute6 IN VARCHAR2 DEFAULT null
31 ,p_attribute7 IN VARCHAR2 DEFAULT null
32 ,p_attribute8 IN VARCHAR2 DEFAULT null
33 ,p_attribute9 IN VARCHAR2 DEFAULT null
34 ,p_attribute10 IN VARCHAR2 DEFAULT null
35 ,p_attribute11 IN VARCHAR2 DEFAULT null
36 ,p_attribute12 IN VARCHAR2 DEFAULT null
37 ,p_attribute13 IN VARCHAR2 DEFAULT null
38 ,p_attribute14 IN VARCHAR2 DEFAULT null
39 ,p_attribute15 IN VARCHAR2 DEFAULT null
40 ,p_attribute16 IN VARCHAR2 DEFAULT null
41 ,p_attribute17 IN VARCHAR2 DEFAULT null
42 ,p_attribute18 IN VARCHAR2 DEFAULT null
43 ,p_attribute19 IN VARCHAR2 DEFAULT null
44 ,p_attribute20 IN VARCHAR2 DEFAULT null
45 ,p_account_number IN VARCHAR2 DEFAULT null
46 ,p_account_type IN VARCHAR2 DEFAULT null
47 ,p_bank_code IN VARCHAR2 DEFAULT null
48 ,p_branch_code IN VARCHAR2 DEFAULT null
49 ,p_concat_segments IN VARCHAR2 DEFAULT null
50 ,p_payee_type IN VARCHAR2 DEFAULT null
51 ,p_payee_id IN NUMBER DEFAULT null
52 ,p_personal_payment_method_id OUT NOCOPY NUMBER
53 ,p_external_account_id OUT NOCOPY NUMBER
54 ,p_object_version_number OUT NOCOPY NUMBER
55 ,p_effective_start_date OUT NOCOPY DATE
56 ,p_effective_end_date OUT NOCOPY DATE
57 ,p_comment_id out NOCOPY NUMBER
58 ) IS
59 --
60 -- Declare cursors and local variables
61 --
62 l_proc VARCHAR2(72) ;
63
64 l_effective_date DATE;
65
66 CURSOR legsel (p_assignment_id IN NUMBER, p_effective_date IN DATE) IS
67 SELECT pbg.legislation_code
68 FROM per_business_groups pbg,
69 per_assignments_f asg
70 WHERE pbg.business_group_id = asg.business_group_id
71 AND asg.assignment_id = p_assignment_id
72 AND p_effective_date BETWEEN asg.effective_start_date AND asg.effective_END_date;
73
74 l_legislation_code per_business_groups.legislation_code%type;
75 --
76 --
77 BEGIN
78 l_proc := g_package||'create_in_personal_pay_method';
79 g_debug := hr_utility.debug_enabled ;
80
81 pay_in_utils.set_location(g_debug,'Entering:'|| l_proc, 10);
82 --
83 --
84 l_effective_date := trunc(p_effective_date);
85 --
86
87 OPEN legsel(p_assignment_id, trunc(p_effective_date));
88 FETCH legsel
89 INTO l_legislation_code;
90 --
91
92
93 IF legsel%notfound THEN
94 CLOSE legsel;
95 hr_utility.set_message(800, 'HR_7348_PPM_ASSIGNMENT_INVALID');
96 hr_utility.raise_error;
97 END IF;
98
99 IF legsel%found AND l_legislation_code <> 'IN' THEN
100 CLOSE legsel;
101 hr_utility.set_message(801, 'PER_IN_BUS_GRP_INVALID');
102 hr_utility.raise_error;
103 END IF;
104
105 --
106 CLOSE legsel;
107
108
109 --
110 pay_in_utils.set_location(g_debug,l_proc, 20);
111 --
112 -- Call the business process to create the personal payment method
113 --
114 hr_personal_pay_method_api.create_personal_pay_method
115 (p_validate => p_validate
116 ,p_effective_date => l_effective_date
117 ,p_assignment_id => p_assignment_id
118 ,p_org_payment_method_id => p_org_payment_method_id
119 ,p_amount => p_amount
120 ,p_percentage => p_percentage
121 ,p_priority => p_priority
122 ,p_comments => p_comments
123 ,p_attribute_category => p_attribute_category
124 ,p_attribute1 => p_attribute1
125 ,p_attribute2 => p_attribute2
126 ,p_attribute3 => p_attribute3
127 ,p_attribute4 => p_attribute4
128 ,p_attribute5 => p_attribute5
129 ,p_attribute6 => p_attribute6
130 ,p_attribute7 => p_attribute7
131 ,p_attribute8 => p_attribute8
132 ,p_attribute9 => p_attribute9
133 ,p_attribute10 => p_attribute10
134 ,p_attribute11 => p_attribute11
135 ,p_attribute12 => p_attribute12
136 ,p_attribute13 => p_attribute13
137 ,p_attribute14 => p_attribute14
138 ,p_attribute15 => p_attribute15
139 ,p_attribute16 => p_attribute16
140 ,p_attribute17 => p_attribute17
141 ,p_attribute18 => p_attribute18
142 ,p_attribute19 => p_attribute19
143 ,p_attribute20 => p_attribute20
144 ,p_territory_code => 'IN'
145 ,p_segment1 => p_account_number
146 ,p_segment2 => p_account_type
147 ,p_segment3 => p_bank_code
148 ,p_segment4 => p_branch_code
149 ,p_payee_type => p_payee_type
150 ,p_payee_id => p_payee_id
151 ,p_personal_payment_method_id => p_personal_payment_method_id
152 ,p_external_account_id => p_external_account_id
153 ,p_object_version_number => p_object_version_number
154 ,p_effective_start_date => p_effective_start_date
155 ,p_effective_end_date => p_effective_end_date
156 ,p_comment_id => p_comment_id
157 );
158 --
159 pay_in_utils.set_location(g_debug,'Leaving:'|| l_proc, 30);
160
161 END create_in_personal_pay_method;
162
163
164 -- ----------------------------------------------------------------------------
165 -- |--------------------< update_in_personal_pay_method >---------------------|
166 -- ----------------------------------------------------------------------------
167 --
168 PROCEDURE update_in_personal_pay_method
169 (p_validate IN BOOLEAN DEFAULT false
170 ,p_effective_date IN DATE
171 ,p_datetrack_update_mode IN VARCHAR2
172 ,p_personal_payment_method_id IN NUMBER
173 ,p_object_version_number IN OUT NOCOPY NUMBER
174 ,p_amount IN NUMBER DEFAULT hr_api.g_number
175 ,p_comments IN VARCHAR2 DEFAULT hr_api.g_varchar2
176 ,p_percentage IN NUMBER DEFAULT hr_api.g_number
177 ,p_priority IN NUMBER DEFAULT hr_api.g_number
178 ,p_attribute_category IN VARCHAR2 DEFAULT hr_api.g_varchar2
179 ,p_attribute1 IN VARCHAR2 DEFAULT hr_api.g_varchar2
180 ,p_attribute2 IN VARCHAR2 DEFAULT hr_api.g_varchar2
181 ,p_attribute3 IN VARCHAR2 DEFAULT hr_api.g_varchar2
182 ,p_attribute4 IN VARCHAR2 DEFAULT hr_api.g_varchar2
183 ,p_attribute5 IN VARCHAR2 DEFAULT hr_api.g_varchar2
184 ,p_attribute6 IN VARCHAR2 DEFAULT hr_api.g_varchar2
185 ,p_attribute7 IN VARCHAR2 DEFAULT hr_api.g_varchar2
186 ,p_attribute8 IN VARCHAR2 DEFAULT hr_api.g_varchar2
187 ,p_attribute9 IN VARCHAR2 DEFAULT hr_api.g_varchar2
188 ,p_attribute10 IN VARCHAR2 DEFAULT hr_api.g_varchar2
189 ,p_attribute11 IN VARCHAR2 DEFAULT hr_api.g_varchar2
190 ,p_attribute12 IN VARCHAR2 DEFAULT hr_api.g_varchar2
191 ,p_attribute13 IN VARCHAR2 DEFAULT hr_api.g_varchar2
192 ,p_attribute14 IN VARCHAR2 DEFAULT hr_api.g_varchar2
193 ,p_attribute15 IN VARCHAR2 DEFAULT hr_api.g_varchar2
194 ,p_attribute16 IN VARCHAR2 DEFAULT hr_api.g_varchar2
195 ,p_attribute17 IN VARCHAR2 DEFAULT hr_api.g_varchar2
196 ,p_attribute18 IN VARCHAR2 DEFAULT hr_api.g_varchar2
197 ,p_attribute19 IN VARCHAR2 DEFAULT hr_api.g_varchar2
198 ,p_attribute20 IN VARCHAR2 DEFAULT hr_api.g_varchar2
199 ,p_account_number IN VARCHAR2 DEFAULT hr_api.g_varchar2
200 ,p_account_type IN VARCHAR2 DEFAULT hr_api.g_varchar2
201 ,p_bank_code IN VARCHAR2 DEFAULT hr_api.g_varchar2
202 ,p_branch_code IN VARCHAR2 DEFAULT hr_api.g_varchar2
203 ,p_concat_segments IN VARCHAR2 DEFAULT null
204 ,p_payee_type IN VARCHAR2 DEFAULT hr_api.g_varchar2
205 ,p_payee_id IN NUMBER DEFAULT hr_api.g_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 l_effective_date DATE;
216
217 CURSOR legsel IS
218 SELECT pbg.legislation_code
219 FROM per_business_groups pbg,
220 pay_personal_payment_methods_f ppm
221 WHERE pbg.business_group_id = ppm.business_group_id
222 AND ppm.personal_payment_method_id = p_personal_payment_method_id
223 AND p_effective_date BETWEEN ppm.effective_start_date AND ppm.effective_END_date;
224 --
225 l_legislation_code per_business_groups.legislation_code%type;
226 --
227 BEGIN
228 l_proc := g_package||'update_in_personal_pay_method';
229 pay_in_utils.set_location(g_debug,'Entering:'|| l_proc, 10);
230 --
231 --
232 l_effective_date := trunc(p_effective_date);
233 --
234
235 OPEN legsel;
236 FETCH legsel
237 INTO l_legislation_code;
238 --
239 IF legsel%notfound THEN
240 CLOSE legsel;
241 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
242 hr_utility.raise_error;
243 END IF;
244
245 IF legsel%found AND l_legislation_code <> 'IN' THEN
246 CLOSE legsel;
247 hr_utility.set_message(801, 'PER_IN_BUS_GRP_INVALID');
248 hr_utility.raise_error;
249 END IF;
250 --
251 CLOSE legsel;
252
253 pay_in_utils.set_location(g_debug,l_proc, 20);
254 --
255 -- Call the business process to update the personal payment method
256 --
257 hr_personal_pay_method_api.update_personal_pay_method
258 (p_validate => p_validate
259 ,p_effective_date => l_effective_date
260 ,p_datetrack_update_mode => p_datetrack_update_mode
261 ,p_personal_payment_method_id => p_personal_payment_method_id
262 ,p_object_version_number => p_object_version_number
263 ,p_amount => p_amount
264 ,p_comments => p_comments
265 ,p_percentage => p_percentage
266 ,p_priority => p_priority
267 ,p_attribute_category => p_attribute_category
268 ,p_attribute1 => p_attribute1
269 ,p_attribute2 => p_attribute2
270 ,p_attribute3 => p_attribute3
271 ,p_attribute4 => p_attribute4
272 ,p_attribute5 => p_attribute5
273 ,p_attribute6 => p_attribute6
274 ,p_attribute7 => p_attribute7
275 ,p_attribute8 => p_attribute8
276 ,p_attribute9 => p_attribute9
277 ,p_attribute10 => p_attribute10
278 ,p_attribute11 => p_attribute11
279 ,p_attribute12 => p_attribute12
280 ,p_attribute13 => p_attribute13
281 ,p_attribute14 => p_attribute14
282 ,p_attribute15 => p_attribute15
283 ,p_attribute16 => p_attribute16
284 ,p_attribute17 => p_attribute17
285 ,p_attribute18 => p_attribute18
286 ,p_attribute19 => p_attribute19
287 ,p_attribute20 => p_attribute20
288 ,p_territory_code => 'IN'
289 ,p_segment1 => p_account_number
290 ,p_segment2 => p_account_type
291 ,p_segment3 => p_bank_code
292 ,p_segment4 => p_branch_code
293 ,p_concat_segments => p_concat_segments
294 ,p_payee_type => p_payee_type
295 ,p_payee_id => p_payee_id
296 ,p_comment_id => p_comment_id
297 ,p_external_account_id => p_external_account_id
298 ,p_effective_start_date => p_effective_start_date
299 ,p_effective_end_date => p_effective_end_date
300 );
301 --
302 pay_in_utils.set_location(g_debug,'Leaving: '||l_proc, 30);
303
304 END update_in_personal_pay_method;
305
306 BEGIN
307 g_package := 'hr_in_personal_pay_method_api.';
308
309 END hr_in_personal_pay_method_api;