DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_DPNT_EDC_INS

Source


1 Package body ben_dpnt_edc_ins as
2 /* $Header: beedvrhi.pkb 120.2 2010/05/18 07:23:55 sgnanama noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  ben_dpnt_edc_ins.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |----------------------------< dt_insert_dml >-----------------------------|
12 -- ----------------------------------------------------------------------------
13 -- {Start Of Comments}
14 --
15 -- Description:
16 --   This procedure controls the actual dml insert logic for datetrack. The
17 --   functions of this procedure are as follows:
18 --   1) Get the object_version_number.
19 --   2) To set the effective start and end dates to the corresponding
20 --      validation start and end dates. Also, the object version number
21 --      record attribute is set.
22 --   3) To set and unset the g_api_dml status as required (as we are about to
23 --      perform dml).
24 --   4) To insert the row into the schema with the derived effective start
25 --      and end dates and the object version number.
26 --   5) To trap any constraint violations that may have occurred.
27 --   6) To raise any other errors.
28 --
29 -- Prerequisites:
30 --   This is an internal private procedure which must be called from the
31 --   insert_dml and pre_update (logic permitting) procedure and must have
32 --   all mandatory arguments set.
33 --
34 -- In Parameters:
35 --   A Pl/Sql record structre.
36 --
37 -- Post Success:
38 --   The specified row will be inserted into the schema.
39 --
40 -- Post Failure:
41 --   On the insert dml failure it is important to note that we always reset the
42 --   g_api_dml status to false.
43 --   If a check or unique integrity constraint violation is raised the
44 --   constraint_error procedure will be called.
45 --   If any other error is reported, the error will be raised after the
46 --   g_api_dml status is reset.
47 --
48 -- Developer Implementation Notes:
49 --   This is an internal datetrack maintenance procedure which should
50 --   not be modified in anyway.
51 --
52 -- Access Status:
53 --   Internal Row Handler Use Only.
54 --
55 -- {End Of Comments}
56 -- ----------------------------------------------------------------------------
57 Procedure dt_insert_dml
58 	(p_rec 			 in out nocopy ben_dpnt_edc_shd.g_rec_type,
59 	 p_effective_date	 in	date,
60 	 p_datetrack_mode	 in	varchar2,
61 	 p_validation_start_date in	date,
62 	 p_validation_end_date	 in	date) is
63 --
64 -- Cursor to select 'old' created AOL who column values
65 --
66   Cursor C_sel1 is
67     Select t.created_by,
68            t.creation_date
69     from   ben_dpnt_eligy_crit_values_f t
70     where  t.dpnt_eligy_crit_values_id = p_rec.dpnt_eligy_crit_values_id
71     and    t.effective_start_date = ben_dpnt_edc_shd.g_old_rec.effective_start_date
72     and    t.effective_end_date   = (p_validation_start_date - 1);
73 --
74   l_proc		varchar2(72) := g_package||'dt_insert_dml';
75   l_created_by          ben_dpnt_eligy_crit_values_f.created_by%TYPE;
76   l_creation_date       ben_dpnt_eligy_crit_values_f.creation_date%TYPE;
77   l_last_update_date   	ben_dpnt_eligy_crit_values_f.last_update_date%TYPE;
78   l_last_updated_by     ben_dpnt_eligy_crit_values_f.last_updated_by%TYPE;
79   l_last_update_login   ben_dpnt_eligy_crit_values_f.last_update_login%TYPE;
80 --
81 Begin
82    hr_utility.set_location('Entering :'||l_proc,10);
83   --
84   -- Get the object version number for the insert
85   --
86   p_rec.object_version_number :=
87       dt_api.get_object_version_number
88         (p_base_table_name  => 'ben_dpnt_eligy_crit_values_f',
89          p_base_key_column  => 'dpnt_eligy_crit_values_id',
90          p_base_key_value   =>  p_rec.dpnt_eligy_crit_values_id
91          );
92   --
93   -- Set the effective start and end dates to the corresponding
94   -- validation start and end dates
95   --
96   p_rec.effective_start_date := p_validation_start_date;
97   p_rec.effective_end_date   := p_validation_end_date;
98   --
99   -- If the datetrack_mode is not INSERT then we must populate the WHO
100   -- columns with the 'old' creation values and 'new' updated values.
101   --
102   If (p_datetrack_mode <> 'INSERT') then
103     hr_utility.set_location(l_proc, 10);
104     --
105     -- Select the 'old' created values
106     --
107     Open C_Sel1;
108     Fetch C_Sel1 Into l_created_by, l_creation_date;
109     If C_Sel1%notfound Then
110       --
111       -- The previous 'old' created row has not been found. We need
112       -- to error as an internal datetrack problem exists.
113       --
114       Close C_Sel1;
115       hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
116       hr_utility.set_message_token('PROCEDURE', l_proc);
117       hr_utility.set_message_token('STEP','10');
118       hr_utility.raise_error;
119     End If;
120     Close C_Sel1;
121     --
122     -- Set the AOL updated WHO values
123     --
124     l_last_update_date   := sysdate;
125     l_last_updated_by    := fnd_global.user_id;
126     l_last_update_login  := fnd_global.login_id;
127   End If;
128   --
129   ben_dpnt_edc_shd.g_api_dml  :=  true;     -- Set the api dml status
130   --
131   -- Insert the row into ben_dpnt_eligy_crit_values_f
132   --
133   Insert into ben_dpnt_eligy_crit_values_f
134   (
135   dpnt_eligy_crit_values_id,
136   dpnt_cvg_eligy_prfl_id,
137   eligy_criteria_dpnt_id,
138   effective_start_date,
139   effective_end_date,
140   ordr_num,
141   number_value1,
142   number_value2,
143   char_value1,
144   char_value2,
145   date_value1,
146   date_value2,
147   excld_flag,
148   business_group_id,
149   edc_attribute_category,
150   edc_attribute1,
151   edc_attribute2,
152   edc_attribute3,
153   edc_attribute4,
154   edc_attribute5,
155   edc_attribute6,
156   edc_attribute7,
157   edc_attribute8,
158   edc_attribute9,
159   edc_attribute10,
160   edc_attribute11,
161   edc_attribute12,
162   edc_attribute13,
163   edc_attribute14,
164   edc_attribute15,
165   edc_attribute16,
166   edc_attribute17,
167   edc_attribute18,
168   edc_attribute19,
169   edc_attribute20,
170   edc_attribute21,
171   edc_attribute22,
172   edc_attribute23,
173   edc_attribute24,
174   edc_attribute25,
175   edc_attribute26,
176   edc_attribute27,
177   edc_attribute28,
178   edc_attribute29,
179   edc_attribute30,
180   object_version_number,
181   created_by,
182   creation_date,
183   last_update_date,
184   last_updated_by,
185   last_update_login,
186   char_value3,
187   char_value4,
188   number_value3,
189   number_value4,
190   date_value3,
191   date_value4
192   )
193   values
194   (
195   p_rec.dpnt_eligy_crit_values_id,
196   p_rec.dpnt_cvg_eligy_prfl_id,
197   p_rec.eligy_criteria_dpnt_id,
198   p_rec.effective_start_date,
199   p_rec.effective_end_date,
200   p_rec.ordr_num,
201   p_rec.number_value1,
202   p_rec.number_value2,
203   p_rec.char_value1,
204   p_rec.char_value2,
205   p_rec.date_value1,
206   p_rec.date_value2,
207   p_rec.excld_flag,
208   p_rec.business_group_id,
209   p_rec.edc_attribute_category,
210   p_rec.edc_attribute1,
211   p_rec.edc_attribute2,
212   p_rec.edc_attribute3,
213   p_rec.edc_attribute4,
214   p_rec.edc_attribute5,
215   p_rec.edc_attribute6,
216   p_rec.edc_attribute7,
217   p_rec.edc_attribute8,
218   p_rec.edc_attribute9,
219   p_rec.edc_attribute10,
220   p_rec.edc_attribute11,
221   p_rec.edc_attribute12,
222   p_rec.edc_attribute13,
223   p_rec.edc_attribute14,
224   p_rec.edc_attribute15,
225   p_rec.edc_attribute16,
226   p_rec.edc_attribute17,
227   p_rec.edc_attribute18,
228   p_rec.edc_attribute19,
229   p_rec.edc_attribute20,
230   p_rec.edc_attribute21,
231   p_rec.edc_attribute22,
232   p_rec.edc_attribute23,
233   p_rec.edc_attribute24,
234   p_rec.edc_attribute25,
235   p_rec.edc_attribute26,
236   p_rec.edc_attribute27,
237   p_rec.edc_attribute28,
238   p_rec.edc_attribute29,
239   p_rec.edc_attribute30,
240   p_rec.object_version_number,
241   l_created_by,
242   l_creation_date,
243   l_last_update_date,
244   l_last_updated_by,
245   l_last_update_login,
246   p_rec.char_value3,
247   p_rec.char_value4,
248   p_rec.number_value3,
249   p_rec.number_value4,
250   p_rec.date_value3,
251   p_rec.date_value4
252   );
253   --
254   ben_dpnt_edc_shd.g_api_dml := false;   -- Unset the api dml status
255   hr_utility.set_location(' Leaving:'||l_proc, 15);
256 --
257 Exception
258   When hr_api.check_integrity_violated Then
259     -- A check constraint has been violated
260     ben_dpnt_edc_shd.g_api_dml := false;   -- Unset the api dml status
261     ben_dpnt_edc_shd.constraint_error
262       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
263   When hr_api.unique_integrity_violated Then
264     -- Unique integrity has been violated
265     ben_dpnt_edc_shd.g_api_dml := false;   -- Unset the api dml status
266     ben_dpnt_edc_shd.constraint_error
267       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
268   When Others Then
269     ben_dpnt_edc_shd.g_api_dml := false;   -- Unset the api dml status
270     Raise;
271 End dt_insert_dml;
272 --
273 -- ----------------------------------------------------------------------------
274 -- |------------------------------< insert_dml >------------------------------|
275 -- ----------------------------------------------------------------------------
276 Procedure insert_dml
277 	(p_rec 			 in out nocopy ben_dpnt_edc_shd.g_rec_type,
278 	 p_effective_date	 in	date,
279 	 p_datetrack_mode	 in	varchar2,
280 	 p_validation_start_date in	date,
281 	 p_validation_end_date	 in	date) is
282 --
283   l_proc	varchar2(72) := g_package||'insert_dml';
284 --
285 Begin
286   hr_utility.set_location('Entering:'||l_proc, 5);
287   --
288   dt_insert_dml(p_rec			=> p_rec,
289 		p_effective_date	=> p_effective_date,
290 		p_datetrack_mode	=> p_datetrack_mode,
291        		p_validation_start_date	=> p_validation_start_date,
292 		p_validation_end_date	=> p_validation_end_date);
293   --
294   hr_utility.set_location(' Leaving:'||l_proc, 10);
295 End insert_dml;
296 --
297 -- ----------------------------------------------------------------------------
298 -- |------------------------------< pre_insert >------------------------------|
299 -- ----------------------------------------------------------------------------
300 -- {Start Of Comments}
301 --
302 -- Description:
303 --   This private procedure contains any processing which is required before
304 --   the insert dml. Presently, if the entity has a corresponding primary
305 --   key which is maintained by an associating sequence, the primary key for
306 --   the entity will be populated with the next sequence value in
307 --   preparation for the insert dml.
308 --   Also, if comments are defined for this entity, the comments insert
309 --   logic will also be called, generating a comment_id if required.
310 --
311 -- Prerequisites:
312 --   This is an internal procedure which is called from the ins procedure.
313 --
314 -- In Parameters:
315 --   A Pl/Sql record structre.
316 --
317 -- Post Success:
318 --   Processing continues.
319 --
320 -- Post Failure:
321 --   If an error has occurred, an error message and exception will be raised
322 --   but not handled.
323 --
324 -- Developer Implementation Notes:
325 --   Any pre-processing required before the insert dml is issued should be
326 --   coded within this procedure. As stated above, a good example is the
327 --   generation of a primary key number via a corresponding sequence.
328 --   It is important to note that any 3rd party maintenance should be reviewed
329 --   before placing in this procedure.
330 --
331 -- Access Status:
332 --   Internal Row Handler Use Only.
333 --
334 -- {End Of Comments}
335 -- ----------------------------------------------------------------------------
336 Procedure pre_insert
337 	(p_rec  			in out nocopy ben_dpnt_edc_shd.g_rec_type,
338 	 p_effective_date		in date,
339 	 p_datetrack_mode		in varchar2,
340 	 p_validation_start_date	in date,
341 	 p_validation_end_date		in date) is
342 --
343   l_proc	varchar2(72) := g_package||'pre_insert';
344 --
345   Cursor C_Sel1 is select ben_dpnt_eligy_crit_values_f_s.nextval from sys.dual;
346 --
347 Begin
348   hr_utility.set_location('Entering:'||l_proc, 5);
349   --
350   --
351   -- Select the next sequence number
352   --
353   Open C_Sel1;
354   Fetch C_Sel1 Into p_rec.dpnt_eligy_crit_values_id;
355   Close C_Sel1;
356   --
357   --
358   hr_utility.set_location(' Leaving:'||l_proc, 10);
359 End pre_insert;
360 --
361 -- ----------------------------------------------------------------------------
362 -- |-----------------------------< post_insert >------------------------------|
363 -- ----------------------------------------------------------------------------
364 -- {Start Of Comments}
365 --
366 -- Description:
367 --   This private procedure contains any processing which is required after the
368 --   insert dml.
369 --
370 -- Prerequisites:
371 --   This is an internal procedure which is called from the ins procedure.
372 --
373 -- In Parameters:
374 --   A Pl/Sql record structre.
375 --
376 -- Post Success:
377 --   Processing continues.
378 --
379 -- Post Failure:
380 --   If an error has occurred, an error message and exception will be raised
381 --   but not handled.
382 --
383 -- Developer Implementation Notes:
384 --   Any post-processing required after the insert dml is issued should be
385 --   coded within this procedure. It is important to note that any 3rd party
386 --   maintenance should be reviewed before placing in this procedure.
387 --
388 -- Access Status:
389 --   Internal Row Handler Use Only.
390 --
391 -- {End Of Comments}
392 -- ----------------------------------------------------------------------------
393 Procedure post_insert
394 	(p_rec 			 in ben_dpnt_edc_shd.g_rec_type,
395 	 p_effective_date	 in date,
396 	 p_datetrack_mode	 in varchar2,
397 	 p_validation_start_date in date,
398 	 p_validation_end_date	 in date) is
399 --
400   l_proc	varchar2(72) := g_package||'post_insert';
401 --
402 Begin
403   hr_utility.set_location('Entering:'||l_proc, 5);
404 --
405  --
406   -- Start of API User Hook for post_insert.
407   --
408   begin
409     --
410     ben_dpnt_edc_rki.after_insert
411     (
412      p_dpnt_eligy_crit_values_id         	=>   p_rec.dpnt_eligy_crit_values_id
413     ,p_dpnt_cvg_eligy_prfl_id                	=>   p_rec.dpnt_cvg_eligy_prfl_id
414     ,p_eligy_criteria_dpnt_id            	=>   p_rec.eligy_criteria_dpnt_id
415     ,p_effective_start_date         	=>   p_rec.effective_start_date
416     ,p_effective_end_date           	=>   p_rec.effective_end_date
417     ,p_ordr_num                     	=>   p_rec.ordr_num
418     ,p_number_value1                	=>   p_rec.number_value1
419     ,p_number_value2                	=>   p_rec.number_value2
420     ,p_char_value1                  	=>   p_rec.char_value1
421     ,p_char_value2                  	=>   p_rec.char_value2
422     ,p_date_value1                  	=>   p_rec.date_value1
423     ,p_date_value2                  	=>   p_rec.date_value2
424     ,p_excld_flag                       =>   p_rec.excld_flag
425     ,p_business_group_id            	=>   p_rec.business_group_id
426     ,p_edc_attribute_category       	=>   p_rec.edc_attribute_category
427     ,p_edc_attribute1               	=>   p_rec.edc_attribute1
428     ,p_edc_attribute2               	=>   p_rec.edc_attribute2
429     ,p_edc_attribute3               	=>   p_rec.edc_attribute3
430     ,p_edc_attribute4               	=>   p_rec.edc_attribute4
431     ,p_edc_attribute5               	=>   p_rec.edc_attribute5
432     ,p_edc_attribute6               	=>   p_rec.edc_attribute6
433     ,p_edc_attribute7               	=>   p_rec.edc_attribute7
434     ,p_edc_attribute8               	=>   p_rec.edc_attribute8
435     ,p_edc_attribute9               	=>   p_rec.edc_attribute9
436     ,p_edc_attribute10              	=>   p_rec.edc_attribute10
437     ,p_edc_attribute11              	=>   p_rec.edc_attribute11
438     ,p_edc_attribute12              	=>   p_rec.edc_attribute12
439     ,p_edc_attribute13              	=>   p_rec.edc_attribute13
440     ,p_edc_attribute14              	=>   p_rec.edc_attribute14
441     ,p_edc_attribute15              	=>   p_rec.edc_attribute15
442     ,p_edc_attribute16              	=>   p_rec.edc_attribute16
443     ,p_edc_attribute17              	=>   p_rec.edc_attribute17
444     ,p_edc_attribute18              	=>   p_rec.edc_attribute18
445     ,p_edc_attribute19              	=>   p_rec.edc_attribute19
446     ,p_edc_attribute20              	=>   p_rec.edc_attribute20
447     ,p_edc_attribute21              	=>   p_rec.edc_attribute21
448     ,p_edc_attribute22              	=>   p_rec.edc_attribute22
449     ,p_edc_attribute23              	=>   p_rec.edc_attribute23
450     ,p_edc_attribute24              	=>   p_rec.edc_attribute24
451     ,p_edc_attribute25              	=>   p_rec.edc_attribute25
452     ,p_edc_attribute26              	=>   p_rec.edc_attribute26
453     ,p_edc_attribute27              	=>   p_rec.edc_attribute27
454     ,p_edc_attribute28              	=>   p_rec.edc_attribute28
455     ,p_edc_attribute29              	=>   p_rec.edc_attribute29
456     ,p_edc_attribute30              	=>   p_rec.edc_attribute30
457     ,p_object_version_number        	=>   p_rec.object_version_number
458     ,p_effective_date               	=>   p_effective_date
459     ,p_validation_start_date        	=>   p_validation_start_date
460     ,p_validation_end_date          	=>   p_validation_end_date
461     ,p_char_value3                      =>   p_rec.char_value3
462     ,p_char_value4     			=>   p_rec.char_value4
463     ,p_number_value3   			=>   p_rec.number_value3
464     ,p_number_value4   			=>   p_rec.number_value4
465     ,p_date_value3			=>   p_rec.date_value3
466     ,p_date_value4     			=>   p_rec.date_value4
467    );
468     --
469   exception
470     --
471     when hr_api.cannot_find_prog_unit then
472       --
473       hr_api.cannot_find_prog_unit_error
474         (p_module_name => 'ben_dpnt_eligy_crit_values_f'
475         ,p_hook_type   => 'AI');
476       --
477   end;
478   --
479   -- End of API User Hook for post_insert.
480   --
481   --
482   hr_utility.set_location(' Leaving:'||l_proc, 10);
483 End post_insert;
484 --
485 -- ----------------------------------------------------------------------------
486 -- |-------------------------------< ins_lck >--------------------------------|
487 -- ----------------------------------------------------------------------------
488 -- {Start Of Comments}
489 --
490 -- Description:
491 --   The ins_lck process has one main function to perform. When inserting
492 --   a datetracked row, we must validate the DT mode.
493 --   be manipulated.
494 --
495 -- Prerequisites:
496 --   This procedure can only be called for the datetrack mode of INSERT.
497 --
498 -- In Parameters:
499 --
500 -- Post Success:
501 --   On successful completion of the ins_lck process the parental
502 --   datetracked rows will be locked providing the p_enforce_foreign_locking
503 --   argument value is TRUE.
504 --   If the p_enforce_foreign_locking argument value is FALSE then the
505 --   parential rows are not locked.
506 --
507 -- Post Failure:
508 --   The Lck process can fail for:
509 --   1) When attempting to lock the row the row could already be locked by
510 --      another user. This will raise the HR_Api.Object_Locked exception.
511 --   2) When attempting to the lock the parent which doesn't exist.
512 --      For the entity to be locked the parent must exist!
513 --
514 -- Developer Implementation Notes:
515 --   None.
516 --
517 -- Access Status:
518 --   Internal Row Handler Use Only.
519 --
520 -- {End Of Comments}
521 -- ----------------------------------------------------------------------------
522 Procedure ins_lck
523 	(p_effective_date	 in  date,
524 	 p_datetrack_mode	 in  varchar2,
525 	 p_rec	 		     in  ben_dpnt_edc_shd.g_rec_type,
526 	 p_validation_start_date out nocopy date,
527 	 p_validation_end_date	 out nocopy date) is
528 --
529   l_proc		  varchar2(72) := g_package||'ins_lck';
530   l_validation_start_date date;
531   l_validation_end_date	  date;
532 --
533 Begin
534      hr_utility.set_location('Entering:'||l_proc, 5);
535   --
536   -- Validate the datetrack mode mode getting the validation start
537   -- and end dates for the specified datetrack operation.
538   --
539   dt_api.validate_dt_mode
540 	(p_effective_date	   => p_effective_date,
541 	 p_datetrack_mode	   => p_datetrack_mode,
542 	 p_base_table_name	   => 'ben_dpnt_eligy_crit_values_f',
543 	 p_base_key_column	   => 'dpnt_eligy_crit_values_id',
544 	 p_base_key_value 	   => p_rec.dpnt_eligy_crit_values_id,
545 --	 p_parent_table_name1      => 'ben_eligy_criteria',
546 --	 p_parent_key_column1      => 'eligy_criteria_dpnt_id',
547 --	 p_parent_key_value1       => p_rec.eligy_criteria_dpnt_id,
548 	 p_parent_table_name2      => 'ben_dpnt_cvg_eligy_prfl_f',
549 	 p_parent_key_column2      =>  'dpnt_cvg_eligy_prfl_id',
550 	 p_parent_key_value2       =>  p_rec.dpnt_cvg_eligy_prfl_id,
551          p_enforce_foreign_locking => true,
552 	 p_validation_start_date   => l_validation_start_date,
553  	 p_validation_end_date	   => l_validation_end_date);
554   --
555   -- Set the validation start and end date OUT arguments
556   --
557   p_validation_start_date := l_validation_start_date;
558   p_validation_end_date   := l_validation_end_date;
559   --
560   hr_utility.set_location(' Leaving:'||l_proc, 10);
561 --
562 End ins_lck;
563 --
564 -- ----------------------------------------------------------------------------
565 -- |---------------------------------< ins >----------------------------------|
566 -- ----------------------------------------------------------------------------
567 Procedure ins
568   (
569   p_rec		   in out nocopy ben_dpnt_edc_shd.g_rec_type,
570   p_effective_date in     date
571   ) is
572 --
573   l_proc			varchar2(72) := g_package||'ins';
574   l_datetrack_mode		varchar2(30) := 'INSERT';
575   l_validation_start_date	date;
576   l_validation_end_date		date;
577 --
578 begin
579   hr_utility.set_location('Entering:'||l_proc, 5);
580   --
581   -- Call the lock operation
582   --
583   ins_lck
584 	(p_effective_date	 => p_effective_date,
585 	 p_datetrack_mode	 => l_datetrack_mode,
586 	 p_rec	 		 => p_rec,
587 	 p_validation_start_date => l_validation_start_date,
588 	 p_validation_end_date	 => l_validation_end_date);
589   --
590   -- Call the supporting insert validate operations
591   --
592   ben_dpnt_edc_bus.insert_validate
593 	(p_rec			 => p_rec,
594 	 p_effective_date	 => p_effective_date,
595 	 p_datetrack_mode	 => l_datetrack_mode,
596 	 p_validation_start_date => l_validation_start_date,
597 	 p_validation_end_date	 => l_validation_end_date);
598   --
599   -- Call the supporting pre-insert operation
600   --
601   pre_insert
602  	(p_rec			 => p_rec,
603 	 p_effective_date	 => p_effective_date,
604 	 p_datetrack_mode	 => l_datetrack_mode,
605 	 p_validation_start_date => l_validation_start_date,
606 	 p_validation_end_date	 => l_validation_end_date);
607   --
608   -- Insert the row
609   --
610   insert_dml
611  	(p_rec			 => p_rec,
612 	 p_effective_date	 => p_effective_date,
613 	 p_datetrack_mode	 => l_datetrack_mode,
614 	 p_validation_start_date => l_validation_start_date,
615 	 p_validation_end_date	 => l_validation_end_date);
616   --
617   -- Call the supporting post-insert operation
618   --
619   post_insert
620  	(p_rec			 => p_rec,
621 	 p_effective_date	 => p_effective_date,
622 	 p_datetrack_mode	 => l_datetrack_mode,
623 	 p_validation_start_date => l_validation_start_date,
624 	 p_validation_end_date	 => l_validation_end_date);
625 end ins;
626 --
627 -- ----------------------------------------------------------------------------
628 -- |---------------------------------< ins >----------------------------------|
629 -- ----------------------------------------------------------------------------
630 Procedure ins
631   (
632    p_dpnt_eligy_crit_values_id         Out nocopy Number
633   ,p_dpnt_cvg_eligy_prfl_id                In  Number       default NULL
634   ,p_eligy_criteria_dpnt_id            In  Number       default NULL
635   ,p_effective_start_date         Out nocopy Date
636   ,p_effective_end_date           Out nocopy Date
637   ,p_ordr_num                     In  Number       default NULL
638   ,p_number_value1                In  Number       default NULL
639   ,p_number_value2                In  Number       default NULL
640   ,p_char_value1                  In  Varchar2     default NULL
641   ,p_char_value2                  In  Varchar2     default NULL
642   ,p_date_value1                  In  Date         default NULL
643   ,p_date_value2                  In  Date         default NULL
644   ,p_excld_flag                   In  Varchar2     default 'N'
645   ,p_business_group_id            In  Number       default NULL
646   ,p_edc_attribute_category       In  Varchar2     default NULL
647   ,p_edc_attribute1               In  Varchar2     default NULL
648   ,p_edc_attribute2               In  Varchar2     default NULL
649   ,p_edc_attribute3               In  Varchar2     default NULL
650   ,p_edc_attribute4               In  Varchar2     default NULL
651   ,p_edc_attribute5               In  Varchar2     default NULL
652   ,p_edc_attribute6               In  Varchar2     default NULL
653   ,p_edc_attribute7               In  Varchar2     default NULL
654   ,p_edc_attribute8               In  Varchar2     default NULL
655   ,p_edc_attribute9               In  Varchar2     default NULL
656   ,p_edc_attribute10              In  Varchar2     default NULL
657   ,p_edc_attribute11              In  Varchar2     default NULL
658   ,p_edc_attribute12              In  Varchar2     default NULL
659   ,p_edc_attribute13              In  Varchar2     default NULL
660   ,p_edc_attribute14              In  Varchar2     default NULL
661   ,p_edc_attribute15              In  Varchar2     default NULL
662   ,p_edc_attribute16              In  Varchar2     default NULL
663   ,p_edc_attribute17              In  Varchar2     default NULL
664   ,p_edc_attribute18              In  Varchar2     default NULL
665   ,p_edc_attribute19              In  Varchar2     default NULL
666   ,p_edc_attribute20              In  Varchar2     default NULL
667   ,p_edc_attribute21              In  Varchar2     default NULL
668   ,p_edc_attribute22              In  Varchar2     default NULL
669   ,p_edc_attribute23              In  Varchar2     default NULL
670   ,p_edc_attribute24              In  Varchar2     default NULL
671   ,p_edc_attribute25              In  Varchar2     default NULL
672   ,p_edc_attribute26              In  Varchar2     default NULL
673   ,p_edc_attribute27              In  Varchar2     default NULL
674   ,p_edc_attribute28              In  Varchar2     default NULL
675   ,p_edc_attribute29              In  Varchar2     default NULL
676   ,p_edc_attribute30              In  Varchar2     default NULL
677   ,p_object_version_number        Out nocopy Number
678   ,p_effective_date               In  Date
679   ,p_char_value3                  In  Varchar2     default NULL
680   ,p_char_value4     	          In  Varchar2     default NULL
681   ,p_number_value3   	          In  Number       default NULL
682   ,p_number_value4   	          In  Number       default NULL
683   ,p_date_value3	          In  Date         default NULL
684   ,p_date_value4     	          In  Date         default NULL
685   ) is
686 --
687   l_rec		ben_dpnt_edc_shd.g_rec_type;
688   l_proc	varchar2(72) := g_package||'ins';
689 --
690 
691 Begin
692   hr_utility.set_location('Entering:'||l_proc, 5);
693   --
694   -- Call conversion function to turn arguments into the
695   -- p_rec structure.
696   --
697   l_rec :=
698   ben_dpnt_edc_shd.convert_args
699   (
700   NULL,
701   p_dpnt_cvg_eligy_prfl_id,
702   p_eligy_criteria_dpnt_id,
703   NULL,
704   NULL,
705   p_ordr_num,
706   p_number_value1,
707   p_number_value2,
708   p_char_value1,
709   p_char_value2,
710   p_date_value1,
711   p_date_value2,
712   p_excld_flag,
713   p_business_group_id,
714   p_edc_attribute_category,
715   p_edc_attribute1,
716   p_edc_attribute2,
717   p_edc_attribute3,
718   p_edc_attribute4,
719   p_edc_attribute5,
720   p_edc_attribute6,
721   p_edc_attribute7,
722   p_edc_attribute8,
723   p_edc_attribute9,
724   p_edc_attribute10,
725   p_edc_attribute11,
726   p_edc_attribute12,
727   p_edc_attribute13,
728   p_edc_attribute14,
729   p_edc_attribute15,
730   p_edc_attribute16,
731   p_edc_attribute17,
732   p_edc_attribute18,
733   p_edc_attribute19,
734   p_edc_attribute20,
735   p_edc_attribute21,
736   p_edc_attribute22,
737   p_edc_attribute23,
738   p_edc_attribute24,
739   p_edc_attribute25,
740   p_edc_attribute26,
741   p_edc_attribute27,
742   p_edc_attribute28,
743   p_edc_attribute29,
744   p_edc_attribute30,
745   NULL,
746   p_char_value3,
747   p_char_value4,
748   p_number_value3,
749   p_number_value4,
750   p_date_value3,
751   p_date_value4
752   );
753   --
754   -- Having converted the arguments into the ben_edc_rec
755   -- plsql record structure we call the corresponding record
756   -- business process.
757   --
758   ins(l_rec, p_effective_date);
759   --
760   -- Set the OUT arguments.
761   --
762   p_dpnt_eligy_crit_values_id    := l_rec.dpnt_eligy_crit_values_id;
763   p_effective_start_date  	:= l_rec.effective_start_date;
764   p_effective_end_date    	:= l_rec.effective_end_date;
765   p_object_version_number 	:= l_rec.object_version_number;
766   --
767   --
768   hr_utility.set_location(' Leaving:'||l_proc, 10);
769 end ins;
770 --
771 end ben_dpnt_edc_ins;