DBA Data[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     --
121     --
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.
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
238     nvl(p_rec.eei_information22, 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) <>
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
281       ,p_attribute8_name                 => 'EEI_INFORMATION8'
282       ,p_attribute8_value                => p_rec.eei_information8
283       ,p_attribute9_name                 => 'EEI_INFORMATION9'
284       ,p_attribute9_value                => p_rec.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
326       ,p_attribute30_value               => p_rec.eei_information30
323       ,p_attribute29_name                => 'EEI_INFORMATION29'
324       ,p_attribute29_value               => p_rec.eei_information29
325       ,p_attribute30_name                => '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
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) <>
394     nvl(p_rec.eei_attribute11, hr_api.g_varchar2)  or
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'
434       ,p_attribute6_name                 => 'EEI_ATTRIBUTE6'
431       ,p_attribute4_value                => p_rec.eei_attribute4
432       ,p_attribute5_name                 => 'EEI_ATTRIBUTE5'
433       ,p_attribute5_value                => p_rec.eei_attribute5
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 --
501   l_proc     varchar2(72) := g_package || 'chk_non_updateable_args';
502   l_error    EXCEPTION;
503   l_argument varchar2(30);
504 --
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)
555   select 'Y'
552          or ( paf.legislation_code is null and paf.business_group_id is null )) ;
553 
554   cursor c_global is
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   --
664   elsif p_pay_source_value = 'GR' then
665   --
666     open c_grade_rate;
667     fetch c_grade_rate into l_exists;
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 
730       hr_utility.raise_error;
727     if l_exists is null then
728     --
729       hr_utility.set_message(8303, 'PQP_230515_INVALID_QUALIFIER');
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
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;
833 
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;
880   hr_utility.set_location('Leaving:'||l_proc, 10);
877   --
878   end if;
879 
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   --
986   l_bg    pay_element_types_f.business_group_id%type;
987   l_proc  varchar2(72) := g_package||'insert_validate';
988 --
989 Begin
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,
1138          p_rate_type                  => p_rec.eei_information1
1139          );
1140   --
1141   end if;
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;