DBA Data[Home] [Help]

PACKAGE BODY: APPS.PE_JEI_BUS

Source


1 Package Body pe_jei_bus as
2 /* $Header: pejeirhi.pkb 115.8 2002/12/06 10:38:05 pkakar ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  pe_jei_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_job_extra_info_id           number         default null;
15 --
16 --  ---------------------------------------------------------------------------
17 --  |---------------------< return_legislation_code >-------------------------|
18 --  ---------------------------------------------------------------------------
19 --
20 Function return_legislation_code
21   (p_job_extra_info_id                    in     number
22   )
23   Return Varchar2 Is
24   --
25   -- Declare cursor
26   --
27   -- In the following cursor statement add join(s) between
28   -- per_job_extra_info and PER_BUSINESS_GROUPS
29   -- so that the legislation_code for
30   -- the current business group context can be derived.
31   -- Remove this comment when the edit has been completed.
32   cursor csr_leg_code is
33     select pbg.legislation_code
34       from per_business_groups     pbg
35          , per_job_extra_info jei
36          , per_jobs pj
37      where jei.job_extra_info_id = p_job_extra_info_id
38 	and jei.job_id = pj.job_id
39        and pbg.business_group_id = pj.business_group_id;
40   --
41   -- Declare local variables
42   --
43   l_legislation_code  varchar2(150);
44   l_proc              varchar2(72)  :=  g_package||'return_legislation_code';
45   --
46 Begin
47   --
48   hr_utility.set_location('Entering:'|| l_proc, 10);
49   --
50   -- Ensure that all the mandatory parameter are not null
51   --
52   hr_api.mandatory_arg_error
53     (p_api_name           => l_proc
54     ,p_argument           => 'job_extra_info_id'
55     ,p_argument_value     => p_job_extra_info_id
56     );
57   --
58   if ( nvl(pe_jei_bus.g_job_extra_info_id, hr_api.g_number)
59        = p_job_extra_info_id) then
60     --
61     -- The legislation code has already been found with a previous
62     -- call to this function. Just return the value in the global
63     -- variable.
64     --
65     l_legislation_code := pe_jei_bus.g_legislation_code;
66     hr_utility.set_location(l_proc, 20);
67   else
68     --
69     -- The ID is different to the last call to this function
70     -- or this is the first call to this function.
71     --
72     open csr_leg_code;
73     fetch csr_leg_code into l_legislation_code;
74     --
75     if csr_leg_code%notfound then
76       --
77       -- The primary key is invalid therefore we must error
78       --
79       close csr_leg_code;
80       fnd_message.set_name('PAY','HR_7220_INVALID_PRIMARY_KEY');
81       fnd_message.raise_error;
82     end if;
83     hr_utility.set_location(l_proc,30);
84     --
85     --
86     -- Set the global variables so the values are
87     -- available for the next call to this function.
88     --
89     close csr_leg_code;
90     pe_jei_bus.g_job_extra_info_id := p_job_extra_info_id;
91     pe_jei_bus.g_legislation_code  := l_legislation_code;
92   end if;
93   hr_utility.set_location(' Leaving:'|| l_proc, 40);
94   return l_legislation_code;
95 end return_legislation_code;
96 --
97 
98 --
99 -- ----------------------------------------------------------------------------
100 -- |--------------------------<chk_job_info_type >-----------------------|
101 -- ----------------------------------------------------------------------------
102 -- {Start Of Comments}
103 --
104 -- Description:
105 --   Validates that the job information type exists in table
106 --   per_job_info_types where active_inactive_flag is 'Y'.
107 --
108 -- Pre Conditions:
109 --   Data must be existed in table per_job_info_types.
110 --
111 -- In Parameters:
112 --   p_information_type
113 --
114 -- Post Success:
115 --   Processing continues.
116 --
117 -- Post Failure:
118 --   An application error will be raised and processing is terminated.
119 --
120 -- Developer Implementation Notes:
121 --   For insert, your business rules should be executed from this procedure and
122 --   should ideally (unless really necessary) just be straight procedure or
123 --   function calls. Try and avoid using conditional branching logic.
124 --
125 -- Access Status:
126 --   Internal Table Handler Use Only.
127 --
128 -- {End Of Comments}
129 -- ----------------------------------------------------------------------------
130 
131 Procedure chk_job_info_type
132   (p_information_type   in    per_job_info_types.information_type%type
133   ) is
134 --
135   l_proc  varchar2(72) := g_package||'chk_job_info_type';
136   l_flag  per_job_info_types.active_inactive_flag%type;
137 --
138   cursor c_job_info_type (code varchar2) is
139       select jeit.active_inactive_flag
140         from per_job_info_types jeit
141        where jeit.information_type = code;
142 --
143 Begin
144   hr_utility.set_location('Entering:'||l_proc, 1);
145   --
146   -- Check mandatory parameters have been set
147   --
148   hr_api.mandatory_arg_error
149     (
150      p_api_name         => l_proc,
151      p_argument         => 'information_type',
152      p_argument_value   => p_information_type
153     );
154   --
155   hr_utility.set_location(l_proc, 2);
156   --
157   -- Check that the ACTIVE_INACTIVE_FLAG of job
158   -- Information type is active.
159   --
160   open c_job_info_type (p_information_type);
161   fetch c_job_info_type into l_flag;
162   if c_job_info_type%notfound then
163     close c_job_info_type;
164     hr_utility.set_message(800, 'HR_INV_INFO_TYPE');
165     hr_utility.raise_error;
166   end if;
167   close c_job_info_type;
168   --
169   if l_flag = 'N' then
170     hr_utility.set_message(800, 'HR_INACTIVE_INFO_TYPE');
171     hr_utility.raise_error;
172   end if;
173   --
174   hr_utility.set_location(' Leaving:'||l_proc, 3);
175   --
176 End chk_job_info_type;
177 --
178 -- ----------------------------------------------------------------------------
179 -- |---------------------------< Chk_job_id >----------------------------|
180 -- ----------------------------------------------------------------------------
181 -- {Start Of Comments}
182 --
183 -- Description:
184 --   Verify that the value in job_ID is in the per_jobs Table.-- Bug No.2173007
185 --
186 -- Pre Conditions:
187 --
188 --
189 -- In Parameters:
190 --   p_job_id
191 --
192 -- Post Success:
193 --   Processing continues.
194 --
195 -- Post Failure:
196 --   An application error will be raised and processing is terminated.
197 --
198 -- Developer Implementation Notes:
199 --   For insert, your business rules should be executed from this procedure and
200 --   should ideally (unless really necessary) just be straight procedure or
201 --   function calls. Try and avoid using conditional branching logic.
202 --
203 -- Access Status:
204 --   Internal Table Handler Use Only.
205 --
206 -- {End Of Comments}
207 -- ----------------------------------------------------------------------------
208 
209 Procedure chk_job_id
210   (
211    p_job_id        in      per_job_extra_info.job_id%type
212   ) is
213 --
214   l_proc        varchar2(72) := g_package||'chk_job_id';
215   l_dummy       varchar2(1);
216 --
217 
218 -- Bug 2173007 Starts Here. View is only for default job groups, Base table
219 -- can be used to look for validity of job_id. So per_jobs_v is changed
220 -- to per_jobs.
221 
222       cursor c_valid_job (id number) is
223       select 'x'
224       from per_jobs
225       where job_id = id;
226 
227 -- Bug 2173007, End.
228 
229 --
230 Begin
231   hr_utility.set_location('Entering:'||l_proc, 1);
232   --
233   -- Check mandatory parameters have been set
234   --
235   hr_api.mandatory_arg_error
236     (
237      p_api_name         => l_proc,
238      p_argument         => 'job_id',
239      p_argument_value   => p_job_id
240     );
241   hr_utility.set_location(l_proc, 2);
242   --
243   -- Check that the job_id is in the per_jobs table.
244   --
245   open c_valid_job (p_job_id);
246   fetch c_valid_job into l_dummy;
247   if c_valid_job%notfound then
248     close c_valid_job;
249     hr_utility.set_message(800, 'HR_INV_JOB_ID');
250     hr_utility.raise_error;
251   end if;
252   close c_valid_job;
253   --
254   hr_utility.set_location(' Leaving:'||l_proc, 3);
255   --
256 End chk_job_id;
257 --
258 -- ----------------------------------------------------------------------------
259 -- |--------------------< chk_multiple_occurences_flag >----------------------|
260 -- ----------------------------------------------------------------------------
261 -- {Start Of Comments)
262 --
263 -- Description:
264 --   Verify that the number of rows should not exceed one when
265 --   multiple_occurences_flag = 'N'.
266 --
267 -- Pre Conditions:
268 --   This procedure should execute after procedure chk_information_type.
269 --
270 -- In Parameters:
271 --   p_information_type
272 --   p_job_id
273 --
274 -- Post Success:
275 --   Processing continues.
276 --
277 -- Post Failure:
278 --   An application error will be raised and processing is terminated.
279 --
280 -- Developer Implementation Notes:
281 --   For insert, your business rules should be executed from this procedure and
282 --   should ideally (unless really necessary) just be straight procedure or
283 --   function calls. Try and avoid using conditional branching logic.
284 --
285 -- Access Status:
286 --   Internal Table Handler Use Only.
287 --
288 -- {End Of Comments}
289 -- ----------------------------------------------------------------------------
290 Procedure chk_multiple_occurences_flag
291   (p_information_type   in per_job_extra_info.information_type%type
292   ,p_job_id        in per_job_extra_info.job_id%type
293   ) is
294 --
295   l_proc                varchar2(72) := g_package||'chk_multiple_occurences_flag';
296   l_multi_occur_flag    per_job_info_types.multiple_occurences_flag%type;
297   l_dummy               varchar2(1);
298   l_found_jei           boolean;
299 --
300   cursor c_multi_occur_flag (code varchar2) is
301      select multiple_occurences_flag
302        from per_job_info_types
303       where information_type = code;
304 --
305   cursor c_get_row (code varchar2, id number) is
306      select 'x'
307        from per_job_extra_info
308       where information_type = code
309         and job_id = id;
310 --
311 Begin
312   hr_utility.set_location('Entering:'||l_proc, 5);
313   --
314   open c_multi_occur_flag (p_information_type);
315   fetch c_multi_occur_flag into l_multi_occur_flag;
316   --
317   -- The following case should not happen since procedure
318   -- chk_information_type should capture this error.
319   --
320   if c_multi_occur_flag%notfound then
321     close c_multi_occur_flag;
322     hr_utility.set_message(800, 'HR_INV_INFO_TYPE');
323     hr_utility.raise_error;
324   end if;
325   --
326   close c_multi_occur_flag;
327   --
328   hr_utility.set_location(l_proc, 10);
329   --
330   open c_get_row(p_information_type, p_job_id);
331   fetch c_get_row into l_dummy;
332   if c_get_row%notfound then
333     l_found_jei := FALSE;
334   else
335     l_found_jei := TRUE;
336   end if;
337   close c_get_row;
338   --
339   if l_found_jei and l_multi_occur_flag = 'N' then
340     hr_utility.set_message(800, 'HR_MORE_THAN_1_EXTRA_INFO');
341     hr_utility.raise_error;
342   end if;
343   --
344   hr_utility.set_location(' Leaving:'||l_proc, 15);
345 --
346 End chk_multiple_occurences_flag;
347 --
348 -- ----------------------------------------------------------------------------
349 -- |-----------------------< chk_non_updateable_args >------------------------|
350 -- ----------------------------------------------------------------------------
351 -- {Start Of Comments}
352 --
353 -- Description:
354 --   Verify that the non updateable arguments not changed.
355 --
356 -- Pre Conditions:
357 --
358 --
359 -- In Parameters:
360 --   p_rec
361 --
362 -- Post Success:
363 --   Processing continues.
364 --
365 -- Post Failure:
366 --   An application error will be raised and processing is terminated.
367 --
368 -- Developer Implementation Notes:
369 --   For insert, your business rules should be executed from this procedure and
370 --   should ideally (unless really necessary) just be straight procedure or
371 --   function calls. Try and avoid using conditional branching logic.
372 --
373 -- Access Status:
374 --   Internal Table Handler Use Only.
375 --
376 -- {End Of Comments}
377 -- ----------------------------------------------------------------------------
378 Procedure chk_non_updateable_args (p_rec in pe_jei_shd.g_rec_type) is
379 --
380   l_proc		varchar2(72) := g_package||'chk_non_updateable_args';
381   l_error		exception;
382   l_argument            varchar2(30);
383 --
384 Begin
385   hr_utility.set_location('Entering:'||l_proc, 10);
386   --
387   -- Only proceed with validation if a row exists for
388   -- the current record in the HR Schema
389   --
390   if not pe_jei_shd.api_updating
391         (p_job_extra_info_id       => p_rec.job_extra_info_id
392 	,p_object_version_number	=> p_rec.object_version_number) then
393     hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
394     hr_utility.set_message_token('PROCEDURE', l_proc);
395     hr_utility.set_message_token('STEP', '20');
396   end if;
397   --
398   hr_utility.set_location(l_proc, 30);
399   --
400   if nvl(p_rec.information_type, hr_api.g_varchar2) <>
401      nvl(pe_jei_shd.g_old_rec.information_type, hr_api.g_varchar2) then
402     l_argument := 'information_type';
403     raise l_error;
404   end if;
405   --
406   hr_utility.set_location(l_proc, 40);
407   --
408   if nvl(p_rec.job_id, hr_api.g_number) <>
409      nvl(pe_jei_shd.g_old_rec.job_id, hr_api.g_number) then
410     l_argument := 'job_id';
411     raise l_error;
412   end if;
413   --
414   hr_utility.set_location(' Leaving:'||l_proc, 50);
415 exception
416   when l_error then
417     hr_api.argument_changed_error
418 	(p_api_name => l_proc
419 	,p_argument => l_argument
420 	);
421     hr_utility.set_location(l_proc, 60);
422   when others then
423     hr_utility.set_location(l_proc, 70);
424     raise;
425 end chk_non_updateable_args;
426 
427 -- |---------------------------< insert_validate >----------------------------|
428 -- ----------------------------------------------------------------------------
429 Procedure insert_validate(p_rec in pe_jei_shd.g_rec_type) is
430 --- ----------------------------------------------------------------------------
431 --
432   l_proc  varchar2(72) := g_package||'insert_validate';
433 --
434 Begin
435   hr_utility.set_location('Entering:'||l_proc, 5);
436   --
437   -- Validate Job ID
438   --
439   chk_job_id
440         (p_job_id                  => p_rec.job_id
441 	);
442   --
443   -- Validate Job Info Type
444   --
445   chk_job_info_type
446         (p_information_type     => p_rec.information_type);
447   --
448   -- Validate Multiple Occurence Flag
449   --
450   chk_multiple_occurences_flag
451         (p_information_type             => p_rec.information_type
452      	  ,p_job_id				    => p_rec.job_id
453         );
454   --
455   -- Call df procedure to validation Descriptive Flexfields
456   --
457 /*
458   pe_jei_flex.df(p_rec);
459 */
460   hr_dflex_utility.ins_or_upd_descflex_attribs
461       (p_appl_short_name    => 'PER'
462       ,p_descflex_name      => 'PER_JOB_EXTRA_INFO'
463       ,p_attribute_category => p_rec.jei_attribute_category
464       ,p_attribute1_name    => 'JEI_ATTRIBUTE1'
465       ,p_attribute1_value   => p_rec.JEI_ATTRIBUTE1
466       ,p_attribute2_name    => 'JEI_ATTRIBUTE2'
467       ,p_attribute2_value   => p_rec.JEI_ATTRIBUTE2
468       ,p_attribute3_name    => 'JEI_ATTRIBUTE3'
469       ,p_attribute3_value   => p_rec.JEI_ATTRIBUTE3
470       ,p_attribute4_name    => 'JEI_ATTRIBUTE4'
471       ,p_attribute4_value   => p_rec.JEI_ATTRIBUTE4
472       ,p_attribute5_name    => 'JEI_ATTRIBUTE5'
473       ,p_attribute5_value   => p_rec.JEI_ATTRIBUTE5
474       ,p_attribute6_name    => 'JEI_ATTRIBUTE6'
475       ,p_attribute6_value   => p_rec.JEI_ATTRIBUTE6
476       ,p_attribute7_name    => 'JEI_ATTRIBUTE7'
477       ,p_attribute7_value   => p_rec.JEI_ATTRIBUTE7
478       ,p_attribute8_name    => 'JEI_ATTRIBUTE8'
479       ,p_attribute8_value   => p_rec.JEI_ATTRIBUTE8
480       ,p_attribute9_name    => 'JEI_ATTRIBUTE9'
481       ,p_attribute9_value   => p_rec.JEI_ATTRIBUTE9
482       ,p_attribute10_name    => 'JEI_ATTRIBUTE10'
483       ,p_attribute10_value   => p_rec.JEI_ATTRIBUTE10
484       ,p_attribute11_name    => 'JEI_ATTRIBUTE11'
485       ,p_attribute11_value   => p_rec.JEI_ATTRIBUTE11
486       ,p_attribute12_name    => 'JEI_ATTRIBUTE12'
487       ,p_attribute12_value   => p_rec.JEI_ATTRIBUTE12
488       ,p_attribute13_name    => 'JEI_ATTRIBUTE13'
489       ,p_attribute13_value   => p_rec.JEI_ATTRIBUTE13
490       ,p_attribute14_name    => 'JEI_ATTRIBUTE14'
491       ,p_attribute14_value   => p_rec.JEI_ATTRIBUTE14
492       ,p_attribute15_name    => 'JEI_ATTRIBUTE15'
493       ,p_attribute15_value   => p_rec.JEI_ATTRIBUTE15
494       ,p_attribute16_name    => 'JEI_ATTRIBUTE16'
495       ,p_attribute16_value   => p_rec.JEI_ATTRIBUTE16
496       ,p_attribute17_name    => 'JEI_ATTRIBUTE17'
497       ,p_attribute17_value   => p_rec.JEI_ATTRIBUTE17
498       ,p_attribute18_name    => 'JEI_ATTRIBUTE18'
499       ,p_attribute18_value   => p_rec.JEI_ATTRIBUTE18
500       ,p_attribute19_name    => 'JEI_ATTRIBUTE19'
501       ,p_attribute19_value   => p_rec.JEI_ATTRIBUTE19
502       ,p_attribute20_name    => 'JEI_ATTRIBUTE20'
503       ,p_attribute20_value   => p_rec.JEI_ATTRIBUTE20
504       );
505 
506   --
507   -- Call ddf procedure to validation Developer Descriptive Flexfields
508   --
509 /*
510   pe_jei_flex_ddf.ddf(p_rec);
511 */
512   --
513   hr_dflex_utility.ins_or_upd_descflex_attribs
514       (p_appl_short_name    => 'PER'
515       ,p_descflex_name      => 'Extra Job Info DDF'
516       ,p_attribute_category => p_rec.jei_information_category
517       ,p_attribute1_name    => 'JEI_INFORMATION1'
518       ,p_attribute1_value   => p_rec.JEI_INFORMATION1
519       ,p_attribute2_name    => 'JEI_INFORMATION2'
520       ,p_attribute2_value   => p_rec.JEI_INFORMATION2
521       ,p_attribute3_name    => 'JEI_INFORMATION3'
522       ,p_attribute3_value   => p_rec.JEI_INFORMATION3
523       ,p_attribute4_name    => 'JEI_INFORMATION4'
524       ,p_attribute4_value   => p_rec.JEI_INFORMATION4
525       ,p_attribute5_name    => 'JEI_INFORMATION5'
526       ,p_attribute5_value   => p_rec.JEI_INFORMATION5
527       ,p_attribute6_name    => 'JEI_INFORMATION6'
528       ,p_attribute6_value   => p_rec.JEI_INFORMATION6
529       ,p_attribute7_name    => 'JEI_INFORMATION7'
530       ,p_attribute7_value   => p_rec.JEI_INFORMATION7
531       ,p_attribute8_name    => 'JEI_INFORMATION8'
532       ,p_attribute8_value   => p_rec.JEI_INFORMATION8
533       ,p_attribute9_name    => 'JEI_INFORMATION9'
534       ,p_attribute9_value   => p_rec.JEI_INFORMATION9
535       ,p_attribute10_name    => 'JEI_INFORMATION10'
536       ,p_attribute10_value   => p_rec.JEI_INFORMATION10
537       ,p_attribute11_name    => 'JEI_INFORMATION11'
538       ,p_attribute11_value   => p_rec.JEI_INFORMATION11
539       ,p_attribute12_name    => 'JEI_INFORMATION12'
540       ,p_attribute12_value   => p_rec.JEI_INFORMATION12
541       ,p_attribute13_name    => 'JEI_INFORMATION13'
542       ,p_attribute13_value   => p_rec.JEI_INFORMATION13
543       ,p_attribute14_name    => 'JEI_INFORMATION14'
544       ,p_attribute14_value   => p_rec.JEI_INFORMATION14
545       ,p_attribute15_name    => 'JEI_INFORMATION15'
546       ,p_attribute15_value   => p_rec.JEI_INFORMATION15
547       ,p_attribute16_name    => 'JEI_INFORMATION16'
548       ,p_attribute16_value   => p_rec.JEI_INFORMATION16
549       ,p_attribute17_name    => 'JEI_INFORMATION17'
550       ,p_attribute17_value   => p_rec.JEI_INFORMATION17
551       ,p_attribute18_name    => 'JEI_INFORMATION18'
552       ,p_attribute18_value   => p_rec.JEI_INFORMATION18
553       ,p_attribute19_name    => 'JEI_INFORMATION19'
554       ,p_attribute19_value   => p_rec.JEI_INFORMATION19
555       ,p_attribute20_name    => 'JEI_INFORMATION20'
556       ,p_attribute20_value   => p_rec.JEI_INFORMATION20
557       ,p_attribute21_name    => 'JEI_INFORMATION21'
558       ,p_attribute21_value   => p_rec.JEI_INFORMATION21
559       ,p_attribute22_name    => 'JEI_INFORMATION22'
560       ,p_attribute22_value   => p_rec.JEI_INFORMATION22
561       ,p_attribute23_name    => 'JEI_INFORMATION23'
562       ,p_attribute23_value   => p_rec.JEI_INFORMATION23
563       ,p_attribute24_name    => 'JEI_INFORMATION24'
564       ,p_attribute24_value   => p_rec.JEI_INFORMATION24
565       ,p_attribute25_name    => 'JEI_INFORMATION25'
566       ,p_attribute25_value   => p_rec.JEI_INFORMATION25
567       ,p_attribute26_name    => 'JEI_INFORMATION26'
568       ,p_attribute26_value   => p_rec.JEI_INFORMATION26
569       ,p_attribute27_name    => 'JEI_INFORMATION27'
570       ,p_attribute27_value   => p_rec.JEI_INFORMATION27
571       ,p_attribute28_name    => 'JEI_INFORMATION28'
572       ,p_attribute28_value   => p_rec.JEI_INFORMATION28
573       ,p_attribute29_name    => 'JEI_INFORMATION29'
574       ,p_attribute29_value   => p_rec.JEI_INFORMATION29
575       ,p_attribute30_name    => 'JEI_INFORMATION30'
576       ,p_attribute30_value   => p_rec.JEI_INFORMATION30
577       );
578     --
579 
580   --
581   hr_utility.set_location(' Leaving:'||l_proc, 30);
582   --
583 End insert_validate;
584 --
585 -- ----------------------------------------------------------------------------
586 -- |---------------------------< update_validate >----------------------------|
587 -- ----------------------------------------------------------------------------
588 Procedure update_validate(p_rec in pe_jei_shd.g_rec_type) is
589 --
590   l_proc  varchar2(72) := g_package||'update_validate';
591 --
592 Begin
593   hr_utility.set_location('Entering:'||l_proc, 5);
594   --
595   -- Validate Non-Updateable Fields
596   --
597   chk_non_updateable_args (p_rec => p_rec);
598   hr_utility.set_location(' Leaving:'||l_proc, 10);
599   --
600   -- Call df procedure to validation Descriptive Flexfields
601   --
602 /* Replace this call with another */
603 /*
604   pe_jei_flex.df(p_rec);
605 */
606       hr_dflex_utility.ins_or_upd_descflex_attribs
607       (p_appl_short_name    => 'PER'
608       ,p_descflex_name      => 'PER_JOB_EXTRA_INFO'
609       ,p_attribute_category => p_rec.jei_attribute_category
610       ,p_attribute1_name    => 'JEI_ATTRIBUTE1'
611       ,p_attribute1_value   => p_rec.JEI_ATTRIBUTE1
612       ,p_attribute2_name    => 'JEI_ATTRIBUTE2'
613       ,p_attribute2_value   => p_rec.JEI_ATTRIBUTE2
614       ,p_attribute3_name    => 'JEI_ATTRIBUTE3'
615       ,p_attribute3_value   => p_rec.JEI_ATTRIBUTE3
616       ,p_attribute4_name    => 'JEI_ATTRIBUTE4'
617       ,p_attribute4_value   => p_rec.JEI_ATTRIBUTE4
618       ,p_attribute5_name    => 'JEI_ATTRIBUTE5'
619       ,p_attribute5_value   => p_rec.JEI_ATTRIBUTE5
620       ,p_attribute6_name    => 'JEI_ATTRIBUTE6'
621       ,p_attribute6_value   => p_rec.JEI_ATTRIBUTE6
622       ,p_attribute7_name    => 'JEI_ATTRIBUTE7'
623       ,p_attribute7_value   => p_rec.JEI_ATTRIBUTE7
624       ,p_attribute8_name    => 'JEI_ATTRIBUTE8'
625       ,p_attribute8_value   => p_rec.JEI_ATTRIBUTE8
626       ,p_attribute9_name    => 'JEI_ATTRIBUTE9'
627       ,p_attribute9_value   => p_rec.JEI_ATTRIBUTE9
628       ,p_attribute10_name    => 'JEI_ATTRIBUTE10'
629       ,p_attribute10_value   => p_rec.JEI_ATTRIBUTE10
630       ,p_attribute11_name    => 'JEI_ATTRIBUTE11'
631       ,p_attribute11_value   => p_rec.JEI_ATTRIBUTE11
632       ,p_attribute12_name    => 'JEI_ATTRIBUTE12'
633       ,p_attribute12_value   => p_rec.JEI_ATTRIBUTE12
634       ,p_attribute13_name    => 'JEI_ATTRIBUTE13'
635       ,p_attribute13_value   => p_rec.JEI_ATTRIBUTE13
636       ,p_attribute14_name    => 'JEI_ATTRIBUTE14'
637       ,p_attribute14_value   => p_rec.JEI_ATTRIBUTE14
638       ,p_attribute15_name    => 'JEI_ATTRIBUTE15'
639       ,p_attribute15_value   => p_rec.JEI_ATTRIBUTE15
640       ,p_attribute16_name    => 'JEI_ATTRIBUTE16'
641       ,p_attribute16_value   => p_rec.JEI_ATTRIBUTE16
642       ,p_attribute17_name    => 'JEI_ATTRIBUTE17'
643       ,p_attribute17_value   => p_rec.JEI_ATTRIBUTE17
644       ,p_attribute18_name    => 'JEI_ATTRIBUTE18'
645       ,p_attribute18_value   => p_rec.JEI_ATTRIBUTE18
646       ,p_attribute19_name    => 'JEI_ATTRIBUTE19'
647       ,p_attribute19_value   => p_rec.JEI_ATTRIBUTE19
648       ,p_attribute20_name    => 'JEI_ATTRIBUTE20'
649       ,p_attribute20_value   => p_rec.JEI_ATTRIBUTE20
650       );
651 
652   --
653   -- Call ddf procedure to validation Developer Descriptive Flexfields
654   --
655 /*Replace this call with an alternative function
656 */
657 /*
658   pe_jei_flex_ddf.ddf(p_rec);
659 */
660 
661   hr_dflex_utility.ins_or_upd_descflex_attribs
662       (p_appl_short_name    => 'PER'
663       ,p_descflex_name      => 'Extra Job Info DDF'
664       ,p_attribute_category => p_rec.jei_information_category
665       ,p_attribute1_name    => 'JEI_INFORMATION1'
666       ,p_attribute1_value   => p_rec.JEI_INFORMATION1
667       ,p_attribute2_name    => 'JEI_INFORMATION2'
668       ,p_attribute2_value   => p_rec.JEI_INFORMATION2
669       ,p_attribute3_name    => 'JEI_INFORMATION3'
670       ,p_attribute3_value   => p_rec.JEI_INFORMATION3
671       ,p_attribute4_name    => 'JEI_INFORMATION4'
672       ,p_attribute4_value   => p_rec.JEI_INFORMATION4
673       ,p_attribute5_name    => 'JEI_INFORMATION5'
674       ,p_attribute5_value   => p_rec.JEI_INFORMATION5
675       ,p_attribute6_name    => 'JEI_INFORMATION6'
676       ,p_attribute6_value   => p_rec.JEI_INFORMATION6
677       ,p_attribute7_name    => 'JEI_INFORMATION7'
678       ,p_attribute7_value   => p_rec.JEI_INFORMATION7
679       ,p_attribute8_name    => 'JEI_INFORMATION8'
680       ,p_attribute8_value   => p_rec.JEI_INFORMATION8
681       ,p_attribute9_name    => 'JEI_INFORMATION9'
682       ,p_attribute9_value   => p_rec.JEI_INFORMATION9
683       ,p_attribute10_name    => 'JEI_INFORMATION10'
684       ,p_attribute10_value   => p_rec.JEI_INFORMATION10
685       ,p_attribute11_name    => 'JEI_INFORMATION11'
686       ,p_attribute11_value   => p_rec.JEI_INFORMATION11
687       ,p_attribute12_name    => 'JEI_INFORMATION12'
688       ,p_attribute12_value   => p_rec.JEI_INFORMATION12
689       ,p_attribute13_name    => 'JEI_INFORMATION13'
690       ,p_attribute13_value   => p_rec.JEI_INFORMATION13
691       ,p_attribute14_name    => 'JEI_INFORMATION14'
692       ,p_attribute14_value   => p_rec.JEI_INFORMATION14
693       ,p_attribute15_name    => 'JEI_INFORMATION15'
694       ,p_attribute15_value   => p_rec.JEI_INFORMATION15
695       ,p_attribute16_name    => 'JEI_INFORMATION16'
696       ,p_attribute16_value   => p_rec.JEI_INFORMATION16
697       ,p_attribute17_name    => 'JEI_INFORMATION17'
698       ,p_attribute17_value   => p_rec.JEI_INFORMATION17
699       ,p_attribute18_name    => 'JEI_INFORMATION18'
700       ,p_attribute18_value   => p_rec.JEI_INFORMATION18
701       ,p_attribute19_name    => 'JEI_INFORMATION19'
702       ,p_attribute19_value   => p_rec.JEI_INFORMATION19
703       ,p_attribute20_name    => 'JEI_INFORMATION20'
704       ,p_attribute20_value   => p_rec.JEI_INFORMATION20
705       ,p_attribute21_name    => 'JEI_INFORMATION21'
706       ,p_attribute21_value   => p_rec.JEI_INFORMATION21
707       ,p_attribute22_name    => 'JEI_INFORMATION22'
708       ,p_attribute22_value   => p_rec.JEI_INFORMATION22
709       ,p_attribute23_name    => 'JEI_INFORMATION23'
710       ,p_attribute23_value   => p_rec.JEI_INFORMATION23
711       ,p_attribute24_name    => 'JEI_INFORMATION24'
712       ,p_attribute24_value   => p_rec.JEI_INFORMATION24
713       ,p_attribute25_name    => 'JEI_INFORMATION25'
714       ,p_attribute25_value   => p_rec.JEI_INFORMATION25
715       ,p_attribute26_name    => 'JEI_INFORMATION26'
716       ,p_attribute26_value   => p_rec.JEI_INFORMATION26
717       ,p_attribute27_name    => 'JEI_INFORMATION27'
718       ,p_attribute27_value   => p_rec.JEI_INFORMATION27
719       ,p_attribute28_name    => 'JEI_INFORMATION28'
720       ,p_attribute28_value   => p_rec.JEI_INFORMATION28
721       ,p_attribute29_name    => 'JEI_INFORMATION29'
722       ,p_attribute29_value   => p_rec.JEI_INFORMATION29
723       ,p_attribute30_name    => 'JEI_INFORMATION30'
724       ,p_attribute30_value   => p_rec.JEI_INFORMATION30
725       );
726 
727   --
728   hr_utility.set_location(' Leaving:'||l_proc, 30);
729   --
730 End update_validate;
731 --
732 -- ----------------------------------------------------------------------------
733 -- |---------------------------< delete_validate >----------------------------|
734 -- ----------------------------------------------------------------------------
735 Procedure delete_validate(p_rec in pe_jei_shd.g_rec_type) is
736 --
737   l_proc  varchar2(72) := g_package||'delete_validate';
738 --
739 Begin
740   hr_utility.set_location('Entering:'||l_proc, 5);
741   --
742   -- Call all supporting business operations
743   --
744   hr_utility.set_location(' Leaving:'||l_proc, 10);
745 End delete_validate;
746 --
747 end pe_jei_bus;