[Home] [Help]
PACKAGE BODY: APPS.PAY_EEI_MIG_BUS
Source
1 Package Body pay_eei_mig_bus as
2 /* $Header: pyeeimhi.pkb 120.0 2005/12/16 14:58:55 ndorai noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' pay_eei_mig_bus.'; -- Global package name
9 --
10 -- The following two global variables are only to be
11 -- used by the return_legislation_code function.
12 --
13 g_legislation_code varchar2(150) default null;
14 g_element_type_extra_info_id number default null;
15 --
16 -- ---------------------------------------------------------------------------
17 -- |----------------------< set_security_group_id >--------------------------|
18 -- ---------------------------------------------------------------------------
19 --
20 Procedure set_security_group_id
21 (p_element_type_extra_info_id in number
22 ) is
23 --
24 -- Declare cursor
25 --
26 cursor csr_sec_grp is
27 select pbg.security_group_id
28 from per_business_groups pbg
29 , pay_element_type_extra_info eei
30 , pay_element_types_f pet
31 where eei.element_type_extra_info_id = p_element_type_extra_info_id
32 and pbg.business_group_id = pet.business_group_id
33 and pet.element_type_id = eei.element_type_id;
34
35 --
36 -- Declare local variables
37 --
38 l_security_group_id number;
39 l_proc varchar2(72) := g_package||'set_security_group_id';
40 --
41 begin
42 --
43 hr_utility.set_location('Entering:'|| l_proc, 10);
44 --
45 -- Ensure that all the mandatory parameter are not null
46 --
47 hr_api.mandatory_arg_error
48 (p_api_name => l_proc
49 ,p_argument => 'element_type_extra_info_id'
50 ,p_argument_value => p_element_type_extra_info_id
51 );
52 --
53 open csr_sec_grp;
54 fetch csr_sec_grp into l_security_group_id;
55 --
56 if csr_sec_grp%notfound then
57 --
58 close csr_sec_grp;
59 --
60 -- The primary key is invalid therefore we must error
61 --
62 fnd_message.set_name('PAY','HR_7220_INVALID_PRIMARY_KEY');
63 fnd_message.raise_error;
64 --
65 end if;
66 close csr_sec_grp;
67 --
68 -- Set the security_group_id in CLIENT_INFO
69 --
70 hr_api.set_security_group_id
71 (p_security_group_id => l_security_group_id
72 );
73 --
74 hr_utility.set_location(' Leaving:'|| l_proc, 20);
75 --
76 end set_security_group_id;
77 --
78 -- ---------------------------------------------------------------------------
79 -- |---------------------< return_legislation_code >-------------------------|
80 -- ---------------------------------------------------------------------------
81 --
82 Function return_legislation_code
83 (p_element_type_extra_info_id in number
84 )
85 Return Varchar2 Is
86 --
87 -- Declare cursor
88 --
89 cursor csr_leg_code is
90 select pbg.legislation_code
91 from per_business_groups pbg
92 , pay_element_type_extra_info eei
93 , pay_element_types_f pet
94 where eei.element_type_extra_info_id = p_element_type_extra_info_id
95 and pbg.business_group_id = pet.business_group_id
96 and pet.element_type_id = eei.element_type_id;
97 --
98 -- Declare local variables
99 --
100 l_legislation_code varchar2(150);
101 l_proc varchar2(72) := g_package||'return_legislation_code';
102 --
103 Begin
104 --
105 hr_utility.set_location('Entering:'|| l_proc, 10);
106 --
107 -- Ensure that all the mandatory parameter are not null
108 --
109 hr_api.mandatory_arg_error
110 (p_api_name => l_proc
111 ,p_argument => 'element_type_extra_info_id'
112 ,p_argument_value => p_element_type_extra_info_id
113 );
114 --
115 if ( nvl(pay_eei_mig_bus.g_element_type_extra_info_id, hr_api.g_number)
116 = p_element_type_extra_info_id) then
117 --
118 -- The legislation code has already been found with a previous
119 -- call to this function. Just return the value in the global
120 -- variable.
121 --
122 l_legislation_code := pay_eei_mig_bus.g_legislation_code;
123 hr_utility.set_location(l_proc, 20);
124 else
125 --
126 -- The ID is different to the last call to this function
127 -- or this is the first call to this function.
128 --
129 open csr_leg_code;
130 fetch csr_leg_code into l_legislation_code;
131 --
132 if csr_leg_code%notfound then
133 --
134 -- The primary key is invalid therefore we must error
135 --
136 close csr_leg_code;
137 fnd_message.set_name('PAY','HR_7220_INVALID_PRIMARY_KEY');
138 fnd_message.raise_error;
139 end if;
140 hr_utility.set_location(l_proc,30);
141 --
142 -- Set the global variables so the values are
143 -- available for the next call to this function.
144 --
145 close csr_leg_code;
146 pay_eei_mig_bus.g_element_type_extra_info_id := p_element_type_extra_info_id;
147 pay_eei_mig_bus.g_legislation_code := l_legislation_code;
148 end if;
149 hr_utility.set_location(' Leaving:'|| l_proc, 40);
150 return l_legislation_code;
151 end return_legislation_code;
152 --
153 -- ----------------------------------------------------------------------------
154 -- |-----------------------------< chk_ddf >----------------------------------|
155 -- ----------------------------------------------------------------------------
156 --
157 -- Description:
158 -- Validates all the Developer Descriptive Flexfield values.
159 --
160 -- Prerequisites:
161 -- All other columns have been validated. Must be called as the
162 -- last step from insert_validate and update_validate.
163 --
164 -- In Arguments:
165 -- p_rec
166 --
167 -- Post Success:
168 -- If the Developer Descriptive Flexfield structure column and data values
169 -- are all valid this procedure will end normally and processing will
170 -- continue.
171 --
172 -- Post Failure:
173 -- If the Developer Descriptive Flexfield structure column value or any of
174 -- the data values are invalid then an application error is raised as
175 -- a PL/SQL exception.
176 --
177 -- Access Status:
178 -- Internal Row Handler Use Only.
179 --
180 -- ----------------------------------------------------------------------------
181 procedure chk_ddf
182 (p_rec in pay_eei_mig_shd.g_rec_type
183 ) is
184 --
185 l_proc varchar2(72) := g_package || 'chk_ddf';
186 --
187 begin
188 hr_utility.set_location('Entering:'||l_proc,10);
189 --
190 if ((p_rec.element_type_extra_info_id is not null) and (
191 nvl(pay_eei_mig_shd.g_old_rec.information_type, hr_api.g_varchar2) <>
192 nvl(p_rec.information_type, hr_api.g_varchar2) or
193 nvl(pay_eei_mig_shd.g_old_rec.eei_information_category, hr_api.g_varchar2) <>
194 nvl(p_rec.eei_information_category, hr_api.g_varchar2) or
195 nvl(pay_eei_mig_shd.g_old_rec.eei_information1, hr_api.g_varchar2) <>
196 nvl(p_rec.eei_information1, hr_api.g_varchar2) or
197 nvl(pay_eei_mig_shd.g_old_rec.eei_information2, hr_api.g_varchar2) <>
198 nvl(p_rec.eei_information2, hr_api.g_varchar2) or
199 nvl(pay_eei_mig_shd.g_old_rec.eei_information3, hr_api.g_varchar2) <>
200 nvl(p_rec.eei_information3, hr_api.g_varchar2) or
201 nvl(pay_eei_mig_shd.g_old_rec.eei_information4, hr_api.g_varchar2) <>
202 nvl(p_rec.eei_information4, hr_api.g_varchar2) or
203 nvl(pay_eei_mig_shd.g_old_rec.eei_information5, hr_api.g_varchar2) <>
204 nvl(p_rec.eei_information5, hr_api.g_varchar2) or
205 nvl(pay_eei_mig_shd.g_old_rec.eei_information6, hr_api.g_varchar2) <>
206 nvl(p_rec.eei_information6, hr_api.g_varchar2) or
207 nvl(pay_eei_mig_shd.g_old_rec.eei_information7, hr_api.g_varchar2) <>
208 nvl(p_rec.eei_information7, hr_api.g_varchar2) or
209 nvl(pay_eei_mig_shd.g_old_rec.eei_information8, hr_api.g_varchar2) <>
210 nvl(p_rec.eei_information8, hr_api.g_varchar2) or
211 nvl(pay_eei_mig_shd.g_old_rec.eei_information9, hr_api.g_varchar2) <>
212 nvl(p_rec.eei_information9, hr_api.g_varchar2) or
213 nvl(pay_eei_mig_shd.g_old_rec.eei_information10, hr_api.g_varchar2) <>
214 nvl(p_rec.eei_information10, hr_api.g_varchar2) or
215 nvl(pay_eei_mig_shd.g_old_rec.eei_information11, hr_api.g_varchar2) <>
216 nvl(p_rec.eei_information11, hr_api.g_varchar2) or
217 nvl(pay_eei_mig_shd.g_old_rec.eei_information12, hr_api.g_varchar2) <>
218 nvl(p_rec.eei_information12, hr_api.g_varchar2) or
219 nvl(pay_eei_mig_shd.g_old_rec.eei_information13, hr_api.g_varchar2) <>
220 nvl(p_rec.eei_information13, hr_api.g_varchar2) or
221 nvl(pay_eei_mig_shd.g_old_rec.eei_information14, hr_api.g_varchar2) <>
222 nvl(p_rec.eei_information14, hr_api.g_varchar2) or
223 nvl(pay_eei_mig_shd.g_old_rec.eei_information15, hr_api.g_varchar2) <>
224 nvl(p_rec.eei_information15, hr_api.g_varchar2) or
225 nvl(pay_eei_mig_shd.g_old_rec.eei_information16, hr_api.g_varchar2) <>
226 nvl(p_rec.eei_information16, hr_api.g_varchar2) or
227 nvl(pay_eei_mig_shd.g_old_rec.eei_information17, hr_api.g_varchar2) <>
228 nvl(p_rec.eei_information17, hr_api.g_varchar2) or
229 nvl(pay_eei_mig_shd.g_old_rec.eei_information18, hr_api.g_varchar2) <>
230 nvl(p_rec.eei_information18, hr_api.g_varchar2) or
231 nvl(pay_eei_mig_shd.g_old_rec.eei_information19, hr_api.g_varchar2) <>
232 nvl(p_rec.eei_information19, hr_api.g_varchar2) or
233 nvl(pay_eei_mig_shd.g_old_rec.eei_information20, hr_api.g_varchar2) <>
234 nvl(p_rec.eei_information20, hr_api.g_varchar2) or
235 nvl(pay_eei_mig_shd.g_old_rec.eei_information21, hr_api.g_varchar2) <>
236 nvl(p_rec.eei_information21, hr_api.g_varchar2) or
237 nvl(pay_eei_mig_shd.g_old_rec.eei_information22, hr_api.g_varchar2) <>
238 nvl(p_rec.eei_information22, hr_api.g_varchar2) or
239 nvl(pay_eei_mig_shd.g_old_rec.eei_information23, hr_api.g_varchar2) <>
240 nvl(p_rec.eei_information23, hr_api.g_varchar2) or
241 nvl(pay_eei_mig_shd.g_old_rec.eei_information24, hr_api.g_varchar2) <>
242 nvl(p_rec.eei_information24, hr_api.g_varchar2) or
243 nvl(pay_eei_mig_shd.g_old_rec.eei_information25, hr_api.g_varchar2) <>
244 nvl(p_rec.eei_information25, hr_api.g_varchar2) or
245 nvl(pay_eei_mig_shd.g_old_rec.eei_information26, hr_api.g_varchar2) <>
246 nvl(p_rec.eei_information26, hr_api.g_varchar2) or
247 nvl(pay_eei_mig_shd.g_old_rec.eei_information27, hr_api.g_varchar2) <>
248 nvl(p_rec.eei_information27, hr_api.g_varchar2) or
249 nvl(pay_eei_mig_shd.g_old_rec.eei_information28, hr_api.g_varchar2) <>
250 nvl(p_rec.eei_information28, hr_api.g_varchar2) or
251 nvl(pay_eei_mig_shd.g_old_rec.eei_information29, hr_api.g_varchar2) <>
252 nvl(p_rec.eei_information29, hr_api.g_varchar2) or
253 nvl(pay_eei_mig_shd.g_old_rec.eei_information30, hr_api.g_varchar2) <>
254 nvl(p_rec.eei_information30, hr_api.g_varchar2) ))
255 or (p_rec.element_type_extra_info_id is null) then
256 --
257 -- Only execute the validation if absolutely necessary:
258 -- a) During update, the structure column value or any
259 -- of the attribute values have actually changed.
260 -- b) During insert.
261 --
262
263 hr_dflex_utility.ins_or_upd_descflex_attribs
264 (p_appl_short_name => 'PAY'
265 ,p_descflex_name => 'Extra Element Info DDF'
266 ,p_attribute_category => p_rec.eei_information_category
267 ,p_attribute1_name => 'EEI_INFORMATION1'
268 ,p_attribute1_value => p_rec.eei_information1
269 ,p_attribute2_name => 'EEI_INFORMATION2'
270 ,p_attribute2_value => p_rec.eei_information2
271 ,p_attribute3_name => 'EEI_INFORMATION3'
272 ,p_attribute3_value => p_rec.eei_information3
273 ,p_attribute4_name => 'EEI_INFORMATION4'
274 ,p_attribute4_value => p_rec.eei_information4
275 ,p_attribute5_name => 'EEI_INFORMATION5'
276 ,p_attribute5_value => p_rec.eei_information5
277 ,p_attribute6_name => 'EEI_INFORMATION6'
278 ,p_attribute6_value => p_rec.eei_information6
279 ,p_attribute7_name => 'EEI_INFORMATION7'
280 ,p_attribute7_value => p_rec.eei_information7
284 ,p_attribute9_value => p_rec.eei_information9
281 ,p_attribute8_name => 'EEI_INFORMATION8'
282 ,p_attribute8_value => p_rec.eei_information8
283 ,p_attribute9_name => 'EEI_INFORMATION9'
285 ,p_attribute10_name => 'EEI_INFORMATION10'
286 ,p_attribute10_value => p_rec.eei_information10
287 ,p_attribute11_name => 'EEI_INFORMATION11'
288 ,p_attribute11_value => p_rec.eei_information11
289 ,p_attribute12_name => 'EEI_INFORMATION12'
290 ,p_attribute12_value => p_rec.eei_information12
291 ,p_attribute13_name => 'EEI_INFORMATION13'
292 ,p_attribute13_value => p_rec.eei_information13
293 ,p_attribute14_name => 'EEI_INFORMATION14'
294 ,p_attribute14_value => p_rec.eei_information14
295 ,p_attribute15_name => 'EEI_INFORMATION15'
296 ,p_attribute15_value => p_rec.eei_information15
297 ,p_attribute16_name => 'EEI_INFORMATION16'
298 ,p_attribute16_value => p_rec.eei_information16
299 ,p_attribute17_name => 'EEI_INFORMATION17'
300 ,p_attribute17_value => p_rec.eei_information17
301 ,p_attribute18_name => 'EEI_INFORMATION18'
302 ,p_attribute18_value => p_rec.eei_information18
303 ,p_attribute19_name => 'EEI_INFORMATION19'
304 ,p_attribute19_value => p_rec.eei_information19
305 ,p_attribute20_name => 'EEI_INFORMATION20'
306 ,p_attribute20_value => p_rec.eei_information20
307 ,p_attribute21_name => 'EEI_INFORMATION21'
308 ,p_attribute21_value => p_rec.eei_information21
309 ,p_attribute22_name => 'EEI_INFORMATION22'
310 ,p_attribute22_value => p_rec.eei_information22
311 ,p_attribute23_name => 'EEI_INFORMATION23'
312 ,p_attribute23_value => p_rec.eei_information23
313 ,p_attribute24_name => 'EEI_INFORMATION24'
314 ,p_attribute24_value => p_rec.eei_information24
315 ,p_attribute25_name => 'EEI_INFORMATION25'
316 ,p_attribute25_value => p_rec.eei_information25
317 ,p_attribute26_name => 'EEI_INFORMATION26'
318 ,p_attribute26_value => p_rec.eei_information26
319 ,p_attribute27_name => 'EEI_INFORMATION27'
320 ,p_attribute27_value => p_rec.eei_information27
321 ,p_attribute28_name => 'EEI_INFORMATION28'
322 ,p_attribute28_value => p_rec.eei_information28
323 ,p_attribute29_name => 'EEI_INFORMATION29'
324 ,p_attribute29_value => p_rec.eei_information29
325 ,p_attribute30_name => 'EEI_INFORMATION30'
326 ,p_attribute30_value => p_rec.eei_information30
327 );
328 end if;
329 --
330 hr_utility.set_location(' Leaving:'||l_proc,20);
331 end chk_ddf;
332 --
333 -- ----------------------------------------------------------------------------
334 -- |------------------------------< chk_df >----------------------------------|
335 -- ----------------------------------------------------------------------------
336 --
337 -- Description:
338 -- Validates all the Descriptive Flexfield values.
339 --
340 -- Prerequisites:
341 -- All other columns have been validated. Must be called as the
342 -- last step from insert_validate and update_validate.
343 --
344 -- In Arguments:
345 -- p_rec
346 --
347 -- Post Success:
348 -- If the Descriptive Flexfield structure column and data values are
349 -- all valid this procedure will end normally and processing will
350 -- continue.
351 --
352 -- Post Failure:
353 -- If the Descriptive Flexfield structure column value or any of
354 -- the data values are invalid then an application error is raised as
355 -- a PL/SQL exception.
356 --
357 -- Access Status:
358 -- Internal Row Handler Use Only.
359 --
360 -- ----------------------------------------------------------------------------
361 procedure chk_df
362 (p_rec in pay_eei_mig_shd.g_rec_type
363 ) is
364 --
365 l_proc varchar2(72) := g_package || 'chk_df';
366 --
367 begin
368 hr_utility.set_location('Entering:'||l_proc,10);
369 --
370 if ((p_rec.element_type_extra_info_id is not null) and (
371 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute_category, hr_api.g_varchar2) <>
372 nvl(p_rec.eei_attribute_category, hr_api.g_varchar2) or
373 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute1, hr_api.g_varchar2) <>
374 nvl(p_rec.eei_attribute1, hr_api.g_varchar2) or
375 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute2, hr_api.g_varchar2) <>
376 nvl(p_rec.eei_attribute2, hr_api.g_varchar2) or
377 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute3, hr_api.g_varchar2) <>
378 nvl(p_rec.eei_attribute3, hr_api.g_varchar2) or
379 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute4, hr_api.g_varchar2) <>
380 nvl(p_rec.eei_attribute4, hr_api.g_varchar2) or
381 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute5, hr_api.g_varchar2) <>
382 nvl(p_rec.eei_attribute5, hr_api.g_varchar2) or
383 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute6, hr_api.g_varchar2) <>
384 nvl(p_rec.eei_attribute6, hr_api.g_varchar2) or
385 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute7, hr_api.g_varchar2) <>
386 nvl(p_rec.eei_attribute7, hr_api.g_varchar2) or
387 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute8, hr_api.g_varchar2) <>
388 nvl(p_rec.eei_attribute8, hr_api.g_varchar2) or
389 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute9, hr_api.g_varchar2) <>
390 nvl(p_rec.eei_attribute9, hr_api.g_varchar2) or
394 nvl(p_rec.eei_attribute11, hr_api.g_varchar2) or
391 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute10, hr_api.g_varchar2) <>
392 nvl(p_rec.eei_attribute10, hr_api.g_varchar2) or
393 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute11, hr_api.g_varchar2) <>
395 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute12, hr_api.g_varchar2) <>
396 nvl(p_rec.eei_attribute12, hr_api.g_varchar2) or
397 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute13, hr_api.g_varchar2) <>
398 nvl(p_rec.eei_attribute13, hr_api.g_varchar2) or
399 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute14, hr_api.g_varchar2) <>
400 nvl(p_rec.eei_attribute14, hr_api.g_varchar2) or
401 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute15, hr_api.g_varchar2) <>
402 nvl(p_rec.eei_attribute15, hr_api.g_varchar2) or
403 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute16, hr_api.g_varchar2) <>
404 nvl(p_rec.eei_attribute16, hr_api.g_varchar2) or
405 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute17, hr_api.g_varchar2) <>
406 nvl(p_rec.eei_attribute17, hr_api.g_varchar2) or
407 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute18, hr_api.g_varchar2) <>
408 nvl(p_rec.eei_attribute18, hr_api.g_varchar2) or
409 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute19, hr_api.g_varchar2) <>
410 nvl(p_rec.eei_attribute19, hr_api.g_varchar2) or
411 nvl(pay_eei_mig_shd.g_old_rec.eei_attribute20, hr_api.g_varchar2) <>
412 nvl(p_rec.eei_attribute20, hr_api.g_varchar2) ))
413 or (p_rec.element_type_extra_info_id is null) then
414 --
415 -- Only execute the validation if absolutely necessary:
416 -- a) During update, the structure column value or any
417 -- of the attribute values have actually changed.
418 -- b) During insert.
419 --
420 hr_dflex_utility.ins_or_upd_descflex_attribs
421 (p_appl_short_name => 'PAY'
422 ,p_descflex_name => 'Extra Element Info Details DF'
423 ,p_attribute_category => p_rec.eei_attribute_category
424 ,p_attribute1_name => 'EEI_ATTRIBUTE1'
425 ,p_attribute1_value => p_rec.eei_attribute1
426 ,p_attribute2_name => 'EEI_ATTRIBUTE2'
427 ,p_attribute2_value => p_rec.eei_attribute2
428 ,p_attribute3_name => 'EEI_ATTRIBUTE3'
429 ,p_attribute3_value => p_rec.eei_attribute3
430 ,p_attribute4_name => 'EEI_ATTRIBUTE4'
431 ,p_attribute4_value => p_rec.eei_attribute4
432 ,p_attribute5_name => 'EEI_ATTRIBUTE5'
433 ,p_attribute5_value => p_rec.eei_attribute5
434 ,p_attribute6_name => 'EEI_ATTRIBUTE6'
435 ,p_attribute6_value => p_rec.eei_attribute6
436 ,p_attribute7_name => 'EEI_ATTRIBUTE7'
437 ,p_attribute7_value => p_rec.eei_attribute7
438 ,p_attribute8_name => 'EEI_ATTRIBUTE8'
439 ,p_attribute8_value => p_rec.eei_attribute8
440 ,p_attribute9_name => 'EEI_ATTRIBUTE9'
441 ,p_attribute9_value => p_rec.eei_attribute9
442 ,p_attribute10_name => 'EEI_ATTRIBUTE10'
443 ,p_attribute10_value => p_rec.eei_attribute10
444 ,p_attribute11_name => 'EEI_ATTRIBUTE11'
445 ,p_attribute11_value => p_rec.eei_attribute11
446 ,p_attribute12_name => 'EEI_ATTRIBUTE12'
447 ,p_attribute12_value => p_rec.eei_attribute12
448 ,p_attribute13_name => 'EEI_ATTRIBUTE13'
449 ,p_attribute13_value => p_rec.eei_attribute13
450 ,p_attribute14_name => 'EEI_ATTRIBUTE14'
451 ,p_attribute14_value => p_rec.eei_attribute14
452 ,p_attribute15_name => 'EEI_ATTRIBUTE15'
453 ,p_attribute15_value => p_rec.eei_attribute15
454 ,p_attribute16_name => 'EEI_ATTRIBUTE16'
455 ,p_attribute16_value => p_rec.eei_attribute16
456 ,p_attribute17_name => 'EEI_ATTRIBUTE17'
457 ,p_attribute17_value => p_rec.eei_attribute17
458 ,p_attribute18_name => 'EEI_ATTRIBUTE18'
459 ,p_attribute18_value => p_rec.eei_attribute18
460 ,p_attribute19_name => 'EEI_ATTRIBUTE19'
461 ,p_attribute19_value => p_rec.eei_attribute19
462 ,p_attribute20_name => 'EEI_ATTRIBUTE20'
463 ,p_attribute20_value => p_rec.eei_attribute20
464 );
465 end if;
466 --
467 hr_utility.set_location(' Leaving:'||l_proc,20);
468 end chk_df;
469 --
470 -- ----------------------------------------------------------------------------
471 -- |-----------------------< chk_non_updateable_args >------------------------|
472 -- ----------------------------------------------------------------------------
473 -- {Start Of Comments}
474 --
475 -- Description:
476 -- This procedure is used to ensure that non updateable attributes have
477 -- not been updated. If an attribute has been updated an error is generated.
478 --
479 -- Pre Conditions:
480 -- g_old_rec has been populated with details of the values currently in
481 -- the database.
482 --
483 -- In Arguments:
484 -- p_rec has been populated with the updated values the user would like the
485 -- record set to.
486 --
487 -- Post Success:
488 -- Processing continues if all the non updateable attributes have not
489 -- changed.
490 --
491 -- Post Failure:
492 -- An application error is raised if any of the non updatable attributes
493 -- have been altered.
494 --
495 -- {End Of Comments}
496 -- ----------------------------------------------------------------------------
497 Procedure chk_non_updateable_args
498 (p_rec in pay_eei_mig_shd.g_rec_type
499 ) IS
500 --
504 --
501 l_proc varchar2(72) := g_package || 'chk_non_updateable_args';
502 l_error EXCEPTION;
503 l_argument varchar2(30);
505 Begin
506 --
507 -- Only proceed with the validation if a row exists for the current
508 -- record in the HR Schema.
509 --
510 IF NOT pay_eei_mig_shd.api_updating
511 (p_element_type_extra_info_id => p_rec.element_type_extra_info_id
512 ,p_object_version_number => p_rec.object_version_number
513 ) THEN
514 fnd_message.set_name('PER', 'HR_6153_ALL_PROCEDURE_FAIL');
515 fnd_message.set_token('PROCEDURE ', l_proc);
516 fnd_message.set_token('STEP ', '5');
517 fnd_message.raise_error;
518 END IF;
519 --
520 --
521 EXCEPTION
522 WHEN l_error THEN
523 hr_api.argument_changed_error
524 (p_api_name => l_proc
525 ,p_argument => l_argument);
526 WHEN OTHERS THEN
527 RAISE;
528 End chk_non_updateable_args;
529 --
530 -- ----------------------------------------------------------------------------
531 -- |---------------------------< chk_qualifier >------------------------------|
532 -- ----------------------------------------------------------------------------
533 Procedure chk_qualifier
534 (p_pay_source_value in varchar2,
535 p_qualifier in varchar2,
536 p_element_type_id in number
537 ) is
538 --
539 l_proc varchar2(72) := g_package||'chk_qualifier';
540 l_exists varchar2(10);
541 l_business_group_id pay_rates.business_group_id%type ;
542
543 cursor c_input_value is
544 select 'Y'
545 from pay_input_values_f paf
546 where element_type_id = p_element_type_id
547 and upper(name) = upper(p_qualifier)
548 and (( paf.business_group_id is not null
549 and paf.business_group_id = nvl(l_business_group_id,paf.business_group_id))
550 or ( paf.legislation_code is not null
551 and paf.business_group_id is null)
552 or ( paf.legislation_code is null and paf.business_group_id is null )) ;
553
554 cursor c_global is
555 select 'Y'
556 from ff_globals_f fg
557 where upper(fg.global_name) = upper(p_qualifier)
558 and (( fg.business_group_id is not null
559 and fg.business_group_id = nvl(l_business_group_id,fg.business_group_id))
560 or ( fg.legislation_code is not null
561 and fg.business_group_id is null)
562 or ( fg.legislation_code is null and fg.business_group_id is null )) ;
563
564
565 cursor c_grade_rate is
566 select 'Y'
567 from pay_rates pr
568 where upper(name) = upper(p_qualifier)
569 and rate_type = 'G'
570 and pr.business_group_id = nvl(l_business_group_id,pr.business_group_id) ;
571
572 cursor c_grade_rate_like is
573 select 'Y'
574 from pay_rates pr
575 where upper(name) like upper(p_qualifier)
576 and rate_type = 'G'
577 and pr.business_group_id = nvl(l_business_group_id,pr.business_group_id);
578
579
580 cursor c_spinal_point is
581 select 'Y'
582 from pay_rates pr
583 where upper(name) = upper(p_qualifier)
584 and rate_type = 'SP'
585 and pr.business_group_id = nvl(l_business_group_id,pr.business_group_id) ;
586
587 cursor c_spinal_point_like is
588 select 'Y'
589 from pay_rates pr
590 where upper(name) like upper(p_qualifier)
591 and rate_type = 'SP'
592 and pr.business_group_id = nvl(l_business_group_id,pr.business_group_id);
593
594 cursor c_get_bus_grp_id is
595 select business_group_id
596 from pay_element_types_f pet
597 where pet.element_type_id = p_element_type_id ;
598
599 -- Add Cursors to check the entered Rate type and element Name.
600
601 CURSOR c_element_name IS
602 SELECT 'Y'
603 FROM PAY_ELEMENT_TYPES_F pet
604 WHERE UPPER(pet.element_name) = UPPER(p_qualifier)
605 AND (( pet.business_group_id is not null
606 and pet.business_group_id = nvl(l_business_group_id,
607 pet.business_group_id))
608 or ( pet.legislation_code is not null
609 and pet.business_group_id is null)
610 or ( pet.legislation_code is null
611 and pet.business_group_id is null )) ;
612
613 CURSOR c_rate_type IS
614 SELECT 'Y'
615 FROM hr_lookups hrl
616 WHERE hrl.lookup_type = 'PQP_RATE_TYPE'
617 and UPPER(hrl.meaning) = UPPER(p_qualifier)
618 and hrl.enabled_flag = 'Y' ;
619 --
620 Begin
621 --
622 hr_utility.set_location('Entering:'||l_proc, 5);
623
624 --
625 open c_get_bus_grp_id ;
626 fetch c_get_bus_grp_id into l_business_group_id;
627
628 if l_business_group_id is null then
629 --
630 l_business_group_id := fnd_global.per_business_group_id ;
631 --
632 end if;
633
634 close c_get_bus_grp_id ;
635
636 --
637
638 if p_pay_source_value = 'IV' then
639 --
640 open c_input_value;
641 fetch c_input_value into l_exists;
642 close c_input_value;
643
644 if l_exists is null then
645 --
646 hr_utility.set_message(8303, 'PQP_230515_INVALID_QUALIFIER');
647 hr_utility.raise_error;
648 --
649 end if;
650 --
651 elsif p_pay_source_value = 'GV' then
652 --
653 open c_global;
654 fetch c_global into l_exists;
655 close c_global;
656
657 if l_exists is null then
658 --
659 hr_utility.set_message(8303, 'PQP_230515_INVALID_QUALIFIER');
660 hr_utility.raise_error;
661 --
662 end if;
663 --
667 fetch c_grade_rate into l_exists;
664 elsif p_pay_source_value = 'GR' then
665 --
666 open c_grade_rate;
668 --
669 if c_grade_rate%rowcount = 0 then
670 --
671 open c_grade_rate_like ;
672 fetch c_grade_rate_like into l_exists ;
673 close c_grade_rate_like ;
674 --
675 end if;
676 --
677 close c_grade_rate;
678
679 if l_exists is null then
680 --
681 hr_utility.set_message(8303, 'PQP_230515_INVALID_QUALIFIER');
682 hr_utility.raise_error;
683 --
684 end if;
685 --
686 elsif p_pay_source_value = 'SP' then
687 --
688 open c_spinal_point;
689 fetch c_spinal_point into l_exists;
690 --
691 if c_spinal_point%rowcount = 0 then
692 --
693 open c_spinal_point_like ;
694 fetch c_spinal_point_like into l_exists ;
695 close c_spinal_point_like ;
696 --
697 end if;
698 --
699 close c_spinal_point;
700
701 if l_exists is null then
702 --
703 hr_utility.set_message(8303, 'PQP_230515_INVALID_QUALIFIER');
704 hr_utility.raise_error;
705 --
706 end if;
707 --
708 elsif p_pay_source_value = 'RT' then
709 --
710 open c_rate_type ;
711 fetch c_rate_type into l_exists ;
712 close c_rate_type ;
713
714 if l_exists is null then
715 --
716 hr_utility.set_message(8303, 'PQP_230515_INVALID_QUALIFIER');
717 hr_utility.raise_error;
718 --
719 end if;
720 --
721 elsif p_pay_source_value = 'EN' then
722 --
723 open c_element_name ;
724 fetch c_element_name into l_exists ;
725 close c_element_name ;
726
727 if l_exists is null then
728 --
729 hr_utility.set_message(8303, 'PQP_230515_INVALID_QUALIFIER');
730 hr_utility.raise_error;
731 --
732 end if;
733 --
734 end if;
735
736 hr_utility.set_location('Entering:'||l_proc, 10);
737 --
738 end chk_qualifier;
739 --
740 --
741 -- ----------------------------------------------------------------------------
742 -- |---------------------------< chk_input_value >------------------------------|
743 -- ----------------------------------------------------------------------------
744 Procedure chk_input_value
745 ( p_input_Value in varchar2
746 ,p_element_type_id in number
747 ) is
748 l_proc varchar2(72) := g_package||'chk_input_value';
749 l_exists varchar2(1) ;
750 CURSOR c_input_value IS
751 SELECT 'Y'
752 FROM PAY_INPUT_VALUES_F
753 WHERE element_type_id = p_element_type_id
754 AND UPPER(name) = UPPER(p_input_value) ;
755 begin
756
757 open c_input_value ;
758 fetch c_input_value into l_exists ;
759 close c_input_value ;
760
761 if l_exists is null then
762 --
763 hr_utility.set_message(8303, 'PQP_230021_INVALID_INPUT_VALUE');
764 hr_utility.raise_error;
765 --
766 end if;
767
768 end chk_input_value ;
769 -- ----------------------------------------------------------------------------
770 -- |------------------------< chk_mandatory_params >--------------------------|
771 -- ----------------------------------------------------------------------------
772 -- p_eei_information2 - Pay Source Value
773 -- p_eei_information7 - % or Factor
774 -- p_eei_information8 - % or Factor Value
775 -- p_eei_information9 - % or Factor Input Value
776 -- p_eei_information10- Linked to Assignment
777
778 Procedure chk_mandatory_params
779 ( p_eei_information2 IN VARCHAR2
780 ,p_eei_information7 IN VARCHAR2
781 ,p_eei_information8 IN NUMBER
782 ,p_eei_information9 IN VARCHAR2
783 ,p_eei_information10 IN VARCHAR2
784 ,p_element_type_id IN NUMBER
785 ) is
786 l_proc varchar2(72) := g_package||'chk_input_value';
787 begin
788
789 hr_utility.set_location('Entering:'||l_proc,10);
790
791 if p_eei_information2 not in ('RT','EN') then
792
793 -- % or Factor Value OR % or Factor Input Value
794 -- should be entered only when Pay Source Value
795 -- is Element Name or Rate Type
796
797 if p_eei_information8 is not null or
798 p_eei_information9 is not null then
799 hr_utility.set_message(8303, 'PQP_230017_CALC_TYPE');
800 hr_utility.raise_error;
801 end if;
802
803 else
804
805 -- If Pay Source Value is in Element Name or Rate Type
806
807 -- % or Factor Type is Mandatory
808 if p_eei_information7 is null then
809 hr_utility.set_message(8303, 'PQP_230018_CALC_TYPE_MAND');
810 hr_utility.raise_error;
811 end if;
812
813 -- When the Pay Source Value is either Rate Type or Element Name
814 -- then either Calculation Value or Input Value Name should be entered.
815 -- ( please note that only one should be entered )
816 if p_eei_information8 is null and
817 p_eei_information9 is null then
818 hr_utility.set_message(8303, 'PQP_230019_CALC_VAL_OR_INPUT');
819 hr_utility.raise_error;
820 end if;
821 if p_eei_information8 is not null and
822 p_eei_information9 is not null then
823 hr_utility.set_message(8303, 'PQP_230019_CALC_VAL_OR_INPUT');
824 hr_utility.raise_error;
825 end if;
826 end if;
827
828 -- Validate that Input Value Name entered is correct
829 if p_eei_information9 is not null then
833
830 pay_eei_mig_bus.chk_input_value(p_input_Value => p_eei_information9
831 ,p_element_type_id => p_element_type_id);
832 end if;
834 -- If Pay Source Value is other than Input Value then
835 -- Link to Assignment is Mandatory.
836 if p_eei_information2 <> 'IV' then
837 if p_eei_information10 is null then
838 hr_utility.set_message(8303, 'PQP_230020_ASSIGN_MAND');
839 hr_utility.raise_error;
840 end if;
841 end if;
842 hr_utility.set_location('Leaving:'||l_proc,20);
843
844 end chk_mandatory_params;
845 -- ----------------------------------------------------------------------------
846 -- |---------------------------< chk_duplicate_rate_type >--------------------|
847 -- ----------------------------------------------------------------------------
848 Procedure chk_duplicate_rate_type
849 (p_element_type_extra_info_id in number,
850 p_element_type_id in number,
851 p_rate_type in varchar2
852 ) is
853 --
854 l_proc varchar2(72) := g_package||'chk_duplicate_rate_type';
855 l_result number;
856
857 cursor c_duplicate is
858 select 1
859 from pay_element_type_extra_info
860 where element_type_id = p_element_type_id
861 and element_type_extra_info_id <> nvl(p_element_type_extra_info_id, -1)
862 and information_type = 'PQP_UK_RATE_TYPE'
863 and eei_information1 = p_rate_type;
864
865 begin
866 --
867 hr_utility.set_location('Entering:'||l_proc, 5);
868
869 open c_duplicate;
870 fetch c_duplicate into l_result;
871 close c_duplicate;
872
873 if l_result = 1 then
874 --
875 hr_utility.set_message(8303, 'PQP_230516_DUPLICATE_RATE_TYPE');
876 hr_utility.raise_error;
877 --
878 end if;
879
880 hr_utility.set_location('Leaving:'||l_proc, 10);
881 --
882 end chk_duplicate_rate_type;
883 --
884 -- ----------------------------------------------------------------------------
885 -- |---------------------------< chk_duplicate_element_code >--------------------|
886 -- ----------------------------------------------------------------------------
887 Procedure chk_duplicate_element_code
888 (p_element_type_id in number
889 ,p_element_code in varchar2
890 ,p_information_type in varchar2
891 ) is
892 --
893 l_proc varchar2(72) := g_package||'chk_duplicate_element_code';
894 l_result number;
895
896 cursor c_duplicate is
897 select 1
898 from pay_element_type_extra_info
899 where element_type_id <> p_element_type_id
900 and information_type = p_information_type
901 and upper(eei_information2) = upper(p_element_code);
902
903 cursor c_element_code_exists
904 (
905 p_info_type VARCHAR2
906 )
907 IS
908 select 1
909 from pay_element_type_extra_info
910 where element_type_id = p_element_type_id
911 and information_type = p_info_type;
912 begin
913 --
914 hr_utility.set_location('Entering:'||l_proc, 5);
915
916 open c_duplicate;
917 fetch c_duplicate into l_result;
918 close c_duplicate;
919
920 if l_result = 1 then
921 --
922 if p_information_type = 'PQP_GB_PENSERV_ALLOWANCE_INFO' then
923 hr_utility.set_message(8303, 'PQP_230501_DUP_ALLOWANCE_CODE');
924 elsif p_information_type = 'PQP_GB_PENSERV_BONUS_INFO' then
925 hr_utility.set_message(8303, 'PQP_230502_DUP_BONUS_CODE');
926 end if;
927
928 hr_utility.raise_error;
929 --
930 end if;
931
932 -- check if other information type exist.
933 if p_information_type = 'PQP_GB_PENSERV_ALLOWANCE_INFO' then
934 -- check if the element has Bonus info
935 OPEN c_element_code_exists
936 (
937 p_info_type => 'PQP_GB_PENSERV_BONUS_INFO'
938 );
939 FETCH c_element_code_exists INTO l_result;
940 CLOSE c_element_code_exists;
941
942 IF l_result = 1 THEN
943 hr_utility.set_message(8303, 'PQP_230227_ELEMENT_CODE_EXIST');
944 hr_utility.set_message_token('TOKEN1','Bonus');
945 hr_utility.set_message_token('TOKEN2','Allowance');
946 hr_utility.raise_error;
947 END IF;
948
949 elsif p_information_type = 'PQP_GB_PENSERV_BONUS_INFO' then
950 -- check if the element has Bonus info
951 OPEN c_element_code_exists
952 (
953 p_info_type => 'PQP_GB_PENSERV_ALLOWANCE_INFO'
954 );
955 FETCH c_element_code_exists INTO l_result;
956 CLOSE c_element_code_exists;
957
958 IF l_result = 1 THEN
959 hr_utility.set_message(8303, 'PQP_230227_ELEMENT_CODE_EXIST');
960 hr_utility.set_message_token('TOKEN1','Allowance');
961 hr_utility.set_message_token('TOKEN2','Bonus');
962 hr_utility.raise_error;
963 END IF;
964
965 end if;
966
967 hr_utility.set_location('Leaving:'||l_proc, 10);
968 --
969 end chk_duplicate_element_code;
970 --
971 -- ----------------------------------------------------------------------------
972 -- |---------------------------< insert_validate >----------------------------|
973 -- ----------------------------------------------------------------------------
974 Procedure insert_validate
975 (p_rec in pay_eei_mig_shd.g_rec_type
976 ) is
977 --
978 cursor row_type(p_element_type_id number)
979 is
980 select business_group_id
981 from pay_element_types_f
982 where element_type_id = p_element_type_id
983 and business_group_id is not null
984 and rownum = 1;
985 --
989 Begin
986 l_bg pay_element_types_f.business_group_id%type;
987 l_proc varchar2(72) := g_package||'insert_validate';
988 --
990 hr_utility.set_location('Entering:'||l_proc, 5);
991 --
992 -- Call all supporting business operations
993 -- Bug 3041843
994 --
995 open row_type(p_rec.element_type_id);
996 fetch row_type into l_bg;
997 if row_type%found then
998 --
999 close row_type;
1000 pay_etp_bus.set_security_group_id
1001 (p_element_type_id => p_rec.element_type_id);
1002 else
1003 close row_type;
1004 --
1005 -- if no row is found them must be seeded row, so hard code the
1006 -- security group. This is not a satisfactory solution.
1007 --
1008 hr_api.set_security_group_id(p_security_group_id => 0);
1009 --
1010 end if;
1011 --
1012 if (pay_element_eit_swi.g_migration) then
1013 pay_eei_mig_bus.chk_ddf(p_rec);
1014 end if;
1015
1016 --
1017 pay_eei_mig_bus.chk_df(p_rec);
1018 --
1019
1020 if (p_rec.information_type = 'PQP_UK_ELEMENT_ATTRIBUTION') then
1021 --
1022 pay_eei_mig_bus.chk_qualifier(p_pay_source_value => p_rec.eei_information2,
1023 p_qualifier => p_rec.eei_information3,
1024 p_element_type_id => p_rec.element_type_id );
1025
1026
1027
1028 pay_eei_mig_bus.chk_mandatory_params(
1029 p_eei_information2 => p_rec.eei_information2
1030 ,p_eei_information7 => p_rec.eei_information7
1031 ,p_eei_information8 => p_rec.eei_information8
1032 ,p_eei_information9 => p_rec.eei_information9
1033 ,p_eei_information10 => p_rec.eei_information10
1034 ,p_element_type_id => p_rec.element_type_id
1035 ) ;
1036 --
1037 end if;
1038
1039 if (p_rec.information_type = 'PQP_UK_RATE_TYPE') then
1040 --
1041 pay_eei_mig_bus.chk_duplicate_rate_type (
1042 p_element_type_extra_info_id => p_rec.element_type_extra_info_id,
1043 p_element_type_id => p_rec.element_type_id,
1044 p_rate_type => p_rec.eei_information1
1045 );
1046 --
1047 end if;
1048
1049 if (p_rec.information_type = 'PQP_GB_PENSERV_ALLOWANCE_INFO') OR
1050 (p_rec.information_type = 'PQP_GB_PENSERV_BONUS_INFO')then
1051 --
1052 pay_eei_mig_bus.chk_duplicate_element_code (
1053 p_element_type_id => p_rec.element_type_id
1054 ,p_element_code => p_rec.eei_information2
1055 ,p_information_type => p_rec.information_type
1056 );
1057 --
1058 end if;
1059
1060 --
1061 hr_utility.set_location(' Leaving:'||l_proc, 10);
1062 End insert_validate;
1063 --
1064 -- ----------------------------------------------------------------------------
1065 -- |---------------------------< update_validate >----------------------------|
1066 -- ----------------------------------------------------------------------------
1067 Procedure update_validate
1068 (p_rec in pay_eei_mig_shd.g_rec_type
1069 ) is
1070 --
1071 cursor row_type(p_element_type_id number)
1072 is
1073 select business_group_id
1074 from pay_element_types_f
1075 where element_type_id = p_element_type_id
1076 and business_group_id is not null
1077 and rownum = 1;
1078 --
1079 l_bg pay_element_types_f.business_group_id%type;
1080 l_proc varchar2(72) := g_package||'update_validate';
1081 --
1082 Begin
1083 hr_utility.set_location('Entering:'||l_proc, 5);
1084 --
1085 -- Call all supporting business operations
1086 --
1087 open row_type(p_rec.element_type_id);
1088 fetch row_type into l_bg;
1089 if row_type%found then
1090 --
1091 close row_type;
1092 pay_etp_bus.set_security_group_id
1093 (p_element_type_id => p_rec.element_type_id);
1094 else
1095 close row_type;
1096 --
1097 -- if no row is found them must be seeded row, so hard code the
1098 -- security group. This is not a satisfactory solution.
1099 --
1100 hr_api.set_security_group_id(p_security_group_id => 0);
1101 --
1102 end if;
1103 --
1104 chk_non_updateable_args
1105 (p_rec => p_rec
1106 );
1107 --
1108 --
1109 if (pay_element_eit_swi.g_migration) then
1110 pay_eei_mig_bus.chk_ddf(p_rec);
1111 end if;
1112 --
1113 pay_eei_mig_bus.chk_df(p_rec);
1114 --
1115
1116 if (p_rec.information_type = 'PQP_UK_ELEMENT_ATTRIBUTION') then
1117 --
1118 pay_eei_mig_bus.chk_qualifier(p_pay_source_value => p_rec.eei_information2,
1119 p_qualifier => p_rec.eei_information3,
1120 p_element_type_id => p_rec.element_type_id);
1121 --
1122
1123 pay_eei_mig_bus.chk_mandatory_params(
1124 p_eei_information2 => p_rec.eei_information2
1125 ,p_eei_information7 => p_rec.eei_information7
1126 ,p_eei_information8 => p_rec.eei_information8
1127 ,p_eei_information9 => p_rec.eei_information9
1128 ,p_eei_information10 => p_rec.eei_information10
1129 ,p_element_type_id => p_rec.element_type_id
1130 ) ;
1131
1132 end if;
1133 if (p_rec.information_type = 'PQP_UK_RATE_TYPE') then
1134 --
1135 pay_eei_mig_bus.chk_duplicate_rate_type (
1136 p_element_type_extra_info_id => p_rec.element_type_extra_info_id,
1137 p_element_type_id => p_rec.element_type_id,
1141 end if;
1138 p_rate_type => p_rec.eei_information1
1139 );
1140 --
1142
1143 if (p_rec.information_type = 'PQP_GB_PENSERV_ALLOWANCE_INFO') OR
1144 (p_rec.information_type = 'PQP_GB_PENSERV_BONUS_INFO')then
1145 --
1146 pay_eei_mig_bus.chk_duplicate_element_code (
1147 p_element_type_id => p_rec.element_type_id
1148 ,p_element_code => p_rec.eei_information2
1149 ,p_information_type => p_rec.information_type
1150 );
1151 --
1152 end if;
1153
1154 --
1155 hr_utility.set_location(' Leaving:'||l_proc, 10);
1156 End update_validate;
1157 --
1158 -- ----------------------------------------------------------------------------
1159 -- |---------------------------< delete_validate >----------------------------|
1160 -- ----------------------------------------------------------------------------
1161 Procedure delete_validate
1162 (p_rec in pay_eei_mig_shd.g_rec_type
1163 ) is
1164 --
1165 l_proc varchar2(72) := g_package||'delete_validate';
1166 --
1167 Begin
1168 hr_utility.set_location('Entering:'||l_proc, 5);
1169 --
1170 -- Call all supporting business operations
1171 --
1172 hr_utility.set_location(' Leaving:'||l_proc, 10);
1173 End delete_validate;
1174 ---
1175 end pay_eei_mig_bus;