DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_XDF_INS

Source


4 -- ----------------------------------------------------------------------------
1 Package Body ben_xdf_ins as
2 /* $Header: bexdfrhi.pkb 120.6 2006/07/10 21:53:55 tjesumic ship $ */
3 --
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  ben_xdf_ins.';  -- Global package name
9 --
10 --
11 -- ----------------------------------------------------------------------------
12 -- |-----------------------< create_app_ownerships >--------------------------|
13 -- ----------------------------------------------------------------------------
14 --
15 -- Description:
16 --   This procedure inserts a row into the HR_APPLICATION_OWNERSHIPS table
17 --   when the row handler is called in the appropriate mode.
18 --
19 -- ----------------------------------------------------------------------------
20 PROCEDURE create_app_ownerships(p_pk_column  IN varchar2
21                                ,p_pk_value   IN varchar2) IS
22 --
23 CURSOR csr_definition (p_session_id NUMBER) IS
24   SELECT product_short_name
25     FROM hr_owner_definitions
26    WHERE session_id = p_session_id;
27 --
28 l_session_id NUMBER;
29 --
30 BEGIN
31   --
32   IF (hr_startup_data_api_support.return_startup_mode IN
33                                ('STARTUP','GENERIC')) THEN
34   --
35   l_session_id := nvl(hr_startup_data_api_support.g_startup_session_id
36                      ,hr_startup_data_api_support.g_session_id);
37      --
38      FOR c1 IN csr_definition(l_session_id) LOOP
39        --
40        INSERT INTO hr_application_ownerships
41          (key_name
42          ,key_value
43          ,product_name
44          )
45        VALUES
46          (p_pk_column
47          ,fnd_number.number_to_canonical(p_pk_value)
48          ,c1.product_short_name
49          );
50      END LOOP;
51   END IF;
52 END create_app_ownerships;
53 --
54 -- ----------------------------------------------------------------------------
55 -- |-----------------------< create_app_ownerships >--------------------------|
56 -- ----------------------------------------------------------------------------
57 PROCEDURE create_app_ownerships(p_pk_column IN varchar2
58                                ,p_pk_value  IN number) IS
59 --
60 BEGIN
61   create_app_ownerships(p_pk_column, to_char(p_pk_value));
62 END create_app_ownerships;
63 --
64 -- ----------------------------------------------------------------------------
65 -- |------------------------------< insert_dml >------------------------------|
66 -- ----------------------------------------------------------------------------
67 -- {Start Of Comments}
68 --
72 --   1) Initialise the object_version_number to 1 if the object_version_number
69 -- Description:
70 --   This procedure controls the actual dml insert logic. The processing of
71 --   this procedure are as follows:
73 --      is defined as an attribute for this entity.
74 --   2) To set and unset the g_api_dml status as required (as we are about to
75 --      perform dml).
76 --   3) To insert the row into the schema.
77 --   4) To trap any constraint violations that may have occurred.
78 --   5) To raise any other errors.
79 --
80 -- Prerequisites:
81 --   This is an internal private procedure which must be called from the ins
82 --   procedure and must have all mandatory attributes set (except the
83 --   object_version_number which is initialised within this procedure).
84 --
85 -- In Parameters:
86 --   A Pl/Sql record structre.
87 --
88 -- Post Success:
89 --   The specified row will be inserted into the schema.
90 --
91 -- Post Failure:
92 --   On the insert dml failure it is important to note that we always reset the
93 --   g_api_dml status to false.
94 --   If a check, unique or parent integrity constraint violation is raised the
95 --   constraint_error procedure will be called.
96 --   If any other error is reported, the error will be raised after the
97 --   g_api_dml status is reset.
98 --
99 -- Developer Implementation Notes:
100 --   None.
101 --
102 -- Access Status:
103 --   Internal Row Handler Use Only.
104 --
105 -- {End Of Comments}
106 -- ----------------------------------------------------------------------------
107 Procedure insert_dml(p_rec in out nocopy ben_xdf_shd.g_rec_type) is
108 --
109   l_proc  varchar2(72) := g_package||'insert_dml';
110 --
111 Begin
112   hr_utility.set_location('Entering:'||l_proc, 5);
113   p_rec.object_version_number := 1;  -- Initialise the object version
114   --
115   ben_xdf_shd.g_api_dml := true;  -- Set the api dml status
116   --
117   -- Insert the row into: ben_ext_dfn
118   --
119   insert into ben_ext_dfn
120   (	ext_dfn_id,
121 	name,
122 	xml_tag_name,
123 	xdo_template_id,
124 	data_typ_cd,
125 	ext_typ_cd,
126 	output_name,
127 	output_type,
128 	apnd_rqst_id_flag,
129 	prmy_sort_cd,
130 	scnd_sort_cd,
131 	strt_dt,
132 	end_dt,
133 	ext_crit_prfl_id,
134 	ext_file_id,
135 	business_group_id,
136         legislation_code,
137 	xdf_attribute_category,
138 	xdf_attribute1,
139 	xdf_attribute2,
140 	xdf_attribute3,
141 	xdf_attribute4,
142 	xdf_attribute5,
143 	xdf_attribute6,
144 	xdf_attribute7,
145 	xdf_attribute8,
146 	xdf_attribute9,
147 	xdf_attribute10,
148 	xdf_attribute11,
149 	xdf_attribute12,
150 	xdf_attribute13,
151 	xdf_attribute14,
152 	xdf_attribute15,
153 	xdf_attribute16,
154 	xdf_attribute17,
155 	xdf_attribute18,
156 	xdf_attribute19,
157 	xdf_attribute20,
158 	xdf_attribute21,
159 	xdf_attribute22,
160 	xdf_attribute23,
161 	xdf_attribute24,
162 	xdf_attribute25,
163 	xdf_attribute26,
164 	xdf_attribute27,
165 	xdf_attribute28,
166 	xdf_attribute29,
167 	xdf_attribute30,
168         last_update_date,
169         creation_date,
170         last_updated_by,
171         last_update_login,
172         created_by,
173 	object_version_number,
174 	drctry_name,
175 	kickoff_wrt_prc_flag,
176 	upd_cm_sent_dt_flag,
177 	spcl_hndl_flag,
178 	ext_global_flag,
179 	cm_display_flag,
180 	use_eff_dt_for_chgs_flag,
181       ext_post_prcs_rl
182   )
183   Values
184   (	p_rec.ext_dfn_id,
188 	p_rec.data_typ_cd,
185 	p_rec.name,
186 	p_rec.xml_tag_name,
187 	p_rec.xdo_template_id,
189 	p_rec.ext_typ_cd,
190 	p_rec.output_name,
191 	p_rec.output_type,
192 	p_rec.apnd_rqst_id_flag,
193 	p_rec.prmy_sort_cd,
194 	p_rec.scnd_sort_cd,
195 	p_rec.strt_dt,
196 	p_rec.end_dt,
197 	p_rec.ext_crit_prfl_id,
198 	p_rec.ext_file_id,
199 	p_rec.business_group_id,
200         p_rec.legislation_code,
201 	p_rec.xdf_attribute_category,
202 	p_rec.xdf_attribute1,
203 	p_rec.xdf_attribute2,
204 	p_rec.xdf_attribute3,
205 	p_rec.xdf_attribute4,
206 	p_rec.xdf_attribute5,
207 	p_rec.xdf_attribute6,
208 	p_rec.xdf_attribute7,
209 	p_rec.xdf_attribute8,
210 	p_rec.xdf_attribute9,
211 	p_rec.xdf_attribute10,
212 	p_rec.xdf_attribute11,
213 	p_rec.xdf_attribute12,
214 	p_rec.xdf_attribute13,
215 	p_rec.xdf_attribute14,
216 	p_rec.xdf_attribute15,
217 	p_rec.xdf_attribute16,
218 	p_rec.xdf_attribute17,
219 	p_rec.xdf_attribute18,
220 	p_rec.xdf_attribute19,
221 	p_rec.xdf_attribute20,
222 	p_rec.xdf_attribute21,
223 	p_rec.xdf_attribute22,
224 	p_rec.xdf_attribute23,
225 	p_rec.xdf_attribute24,
226 	p_rec.xdf_attribute25,
227 	p_rec.xdf_attribute26,
228 	p_rec.xdf_attribute27,
229 	p_rec.xdf_attribute28,
230 	p_rec.xdf_attribute29,
231 	p_rec.xdf_attribute30,
232         p_rec.last_update_date,
233         p_rec.creation_date,
234         p_rec.last_updated_by,
235         p_rec.last_update_login,
236         p_rec.created_by,
237 	p_rec.object_version_number,
238 	p_rec.drctry_name,
239 	p_rec.kickoff_wrt_prc_flag,
240 	p_rec.upd_cm_sent_dt_flag,
241 	p_rec.spcl_hndl_flag,
242 	p_rec.ext_global_flag,
243 	p_rec.cm_display_flag,
244 	p_rec.use_eff_dt_for_chgs_flag,
245       p_rec.ext_post_prcs_rl
246   );
247   --
248   ben_xdf_shd.g_api_dml := false;   -- Unset the api dml status
249   --
250   hr_utility.set_location(' Leaving:'||l_proc, 10);
251 Exception
252   When hr_api.check_integrity_violated Then
253     -- A check constraint has been violated
254     ben_xdf_shd.g_api_dml := false;   -- Unset the api dml status
255     ben_xdf_shd.constraint_error
256       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
257   When hr_api.parent_integrity_violated Then
258     -- Parent integrity has been violated
259     ben_xdf_shd.g_api_dml := false;   -- Unset the api dml status
260     ben_xdf_shd.constraint_error
261       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
262   When hr_api.unique_integrity_violated Then
263     -- Unique integrity has been violated
264     ben_xdf_shd.g_api_dml := false;   -- Unset the api dml status
265     ben_xdf_shd.constraint_error
266       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
267   When Others Then
268     ben_xdf_shd.g_api_dml := false;   -- Unset the api dml status
269     Raise;
270 End insert_dml;
271 --
272 -- ----------------------------------------------------------------------------
273 -- |------------------------------< pre_insert >------------------------------|
274 -- ----------------------------------------------------------------------------
275 -- {Start Of Comments}
276 --
277 -- Description:
278 --   This private procedure contains any processing which is required before
279 --   the insert dml. Presently, if the entity has a corresponding primary
280 --   key which is maintained by an associating sequence, the primary key for
281 --   the entity will be populated with the next sequence value in
282 --   preparation for the insert dml.
283 --
284 -- Prerequisites:
285 --   This is an internal procedure which is called from the ins procedure.
286 --
287 -- In Parameters:
288 --   A Pl/Sql record structre.
289 --
290 -- Post Success:
291 --   Processing continues.
292 --
293 -- Post Failure:
294 --   If an error has occurred, an error message and exception will be raised
295 --   but not handled.
296 --
297 -- Developer Implementation Notes:
298 --   Any pre-processing required before the insert dml is issued should be
299 --   coded within this procedure. As stated above, a good example is the
300 --   generation of a primary key number via a corresponding sequence.
301 --   It is important to note that any 3rd party maintenance should be reviewed
302 --   before placing in this procedure.
303 --
304 -- Access Status:
305 --   Internal Row Handler Use Only.
306 --
307 -- {End Of Comments}
308 -- ----------------------------------------------------------------------------
309 Procedure pre_insert(p_rec  in out nocopy ben_xdf_shd.g_rec_type) is
310 --
311   l_proc  varchar2(72) := g_package||'pre_insert';
312 --
313   Cursor C_Sel1 is select ben_ext_dfn_s.nextval from sys.dual;
314 --
315 Begin
316   hr_utility.set_location('Entering:'||l_proc, 5);
317   --
318   --
319   -- Select the next sequence number
320   --
321   Open C_Sel1;
322   Fetch C_Sel1 Into p_rec.ext_dfn_id;
323   Close C_Sel1;
324   --
325   hr_utility.set_location(' Leaving:'||l_proc, 10);
326 End pre_insert;
327 --
328 -- ----------------------------------------------------------------------------
329 -- |-----------------------------< post_insert >------------------------------|
330 -- ----------------------------------------------------------------------------
331 -- {Start Of Comments}
332 --
333 -- Description:
334 --   This private procedure contains any processing which is required after the
335 --   insert dml.
336 --
337 -- Prerequisites:
338 --   This is an internal procedure which is called from the ins procedure.
339 --
340 -- In Parameters:
344 --   Processing continues.
341 --   A Pl/Sql record structre.
342 --
343 -- Post Success:
345 --
346 -- Post Failure:
347 --   If an error has occurred, an error message and exception will be raised
348 --   but not handled.
349 --
350 -- Developer Implementation Notes:
351 --   Any post-processing required after the insert dml is issued should be
352 --   coded within this procedure. It is important to note that any 3rd party
353 --   maintenance should be reviewed before placing in this procedure.
354 --
355 -- Access Status:
356 --   Internal Row Handler Use Only.
357 --
358 -- {End Of Comments}
359 -- ----------------------------------------------------------------------------
360 Procedure post_insert(
361 p_effective_date in date,p_rec in ben_xdf_shd.g_rec_type) is
362 --
363   l_proc  varchar2(72) := g_package||'post_insert';
364 --
365 Begin
366   hr_utility.set_location('Entering:'||l_proc, 5);
367 --
368   --
369     -- insert ownerships if applicable
370     --
371     create_app_ownerships('EXT_DFN_ID', p_rec.ext_dfn_id);
372 
373   --
374   -- Start of API User Hook for post_insert.
375   --
376   begin
377     --
378     ben_xdf_rki.after_insert
379       (
380   p_ext_dfn_id                    =>p_rec.ext_dfn_id
381  ,p_name                          =>p_rec.name
382  ,p_xml_tag_name                  =>p_rec.xml_tag_name
383  ,p_xdo_template_id               =>p_rec.xdo_template_id
384  ,p_data_typ_cd                   =>p_rec.data_typ_cd
385  ,p_ext_typ_cd                    =>p_rec.ext_typ_cd
386  ,p_output_name                   =>p_rec.output_name
387  ,p_output_type                   =>p_rec.output_type
388  ,p_apnd_rqst_id_flag             =>p_rec.apnd_rqst_id_flag
389  ,p_prmy_sort_cd                  =>p_rec.prmy_sort_cd
390  ,p_scnd_sort_cd                  =>p_rec.scnd_sort_cd
391  ,p_strt_dt                       =>p_rec.strt_dt
392  ,p_end_dt                        =>p_rec.end_dt
393  ,p_ext_crit_prfl_id              =>p_rec.ext_crit_prfl_id
394  ,p_ext_file_id                   =>p_rec.ext_file_id
395  ,p_business_group_id             =>p_rec.business_group_id
396  ,p_legislation_code              =>p_rec.legislation_code
397  ,p_xdf_attribute_category        =>p_rec.xdf_attribute_category
398  ,p_xdf_attribute1                =>p_rec.xdf_attribute1
399  ,p_xdf_attribute2                =>p_rec.xdf_attribute2
400  ,p_xdf_attribute3                =>p_rec.xdf_attribute3
401  ,p_xdf_attribute4                =>p_rec.xdf_attribute4
402  ,p_xdf_attribute5                =>p_rec.xdf_attribute5
403  ,p_xdf_attribute6                =>p_rec.xdf_attribute6
404  ,p_xdf_attribute7                =>p_rec.xdf_attribute7
405  ,p_xdf_attribute8                =>p_rec.xdf_attribute8
406  ,p_xdf_attribute9                =>p_rec.xdf_attribute9
407  ,p_xdf_attribute10               =>p_rec.xdf_attribute10
408  ,p_xdf_attribute11               =>p_rec.xdf_attribute11
409  ,p_xdf_attribute12               =>p_rec.xdf_attribute12
410  ,p_xdf_attribute13               =>p_rec.xdf_attribute13
411  ,p_xdf_attribute14               =>p_rec.xdf_attribute14
412  ,p_xdf_attribute15               =>p_rec.xdf_attribute15
413  ,p_xdf_attribute16               =>p_rec.xdf_attribute16
414  ,p_xdf_attribute17               =>p_rec.xdf_attribute17
415  ,p_xdf_attribute18               =>p_rec.xdf_attribute18
416  ,p_xdf_attribute19               =>p_rec.xdf_attribute19
417  ,p_xdf_attribute20               =>p_rec.xdf_attribute20
418  ,p_xdf_attribute21               =>p_rec.xdf_attribute21
419  ,p_xdf_attribute22               =>p_rec.xdf_attribute22
420  ,p_xdf_attribute23               =>p_rec.xdf_attribute23
421  ,p_xdf_attribute24               =>p_rec.xdf_attribute24
422  ,p_xdf_attribute25               =>p_rec.xdf_attribute25
423  ,p_xdf_attribute26               =>p_rec.xdf_attribute26
424  ,p_xdf_attribute27               =>p_rec.xdf_attribute27
425  ,p_xdf_attribute28               =>p_rec.xdf_attribute28
426  ,p_xdf_attribute29               =>p_rec.xdf_attribute29
427  ,p_xdf_attribute30               =>p_rec.xdf_attribute30
428  ,p_object_version_number         =>p_rec.object_version_number
429  ,p_drctry_name                   =>p_rec.drctry_name
430  ,p_kickoff_wrt_prc_flag          =>p_rec.kickoff_wrt_prc_flag
431  ,p_upd_cm_sent_dt_flag           =>p_rec.upd_cm_sent_dt_flag
432  ,p_spcl_hndl_flag                =>p_rec.spcl_hndl_flag
433  ,p_ext_global_flag               =>p_rec.ext_global_flag
434  ,p_cm_display_flag               =>p_rec.cm_display_flag
435  ,p_use_eff_dt_for_chgs_flag      =>p_rec.use_eff_dt_for_chgs_flag
436  ,p_ext_post_prcs_rl              =>p_rec.ext_post_prcs_rl
437  ,p_effective_date                =>p_effective_date
438       );
439     --
440   exception
441     --
442     when hr_api.cannot_find_prog_unit then
443       --
444       hr_api.cannot_find_prog_unit_error
445         (p_module_name => 'ben_ext_dfn'
446         ,p_hook_type   => 'AI');
447       --
448   end;
449   --
450   -- End of API User Hook for post_insert.
451   --
452   --
453   hr_utility.set_location(' Leaving:'||l_proc, 10);
454 End post_insert;
455 --
456 -- ----------------------------------------------------------------------------
457 -- |---------------------------------< ins >----------------------------------|
458 -- ----------------------------------------------------------------------------
459 Procedure ins
460   (
461   p_effective_date in date,
462   p_rec        in out nocopy ben_xdf_shd.g_rec_type
463   ) is
464 --
465   l_proc  varchar2(72) := g_package||'ins';
466 --
467 Begin
468   hr_utility.set_location('Entering:'||l_proc, 5);
469   --
470   -- Call the supporting insert validate operations
471   --
472   ben_xdf_bus.insert_validate(p_rec
476           ( p_xml_tag_name    => p_rec.xml_tag_name
473   ,p_effective_date);
474 
475    ben_xel_bus.chk_xml_name_format
477           ) ;
478 
479   --
480   -- Call the supporting pre-insert operation
481   --
482   pre_insert(p_rec);
483   --
484   -- Insert the row
485   --
486   insert_dml(p_rec);
487   --
488   -- Call the supporting post-insert operation
489   --
490   post_insert(
491 p_effective_date,p_rec);
492 end ins;
493 --
494 -- ----------------------------------------------------------------------------
495 -- |---------------------------------< ins >----------------------------------|
496 -- ----------------------------------------------------------------------------
497 Procedure ins
498   (
499   p_effective_date in date,
500   p_ext_dfn_id                   out nocopy number,
501   p_name                         in varchar2         default null,
502   p_xml_tag_name                 in varchar2         default null,
503   p_xdo_template_id              in number         default null,
504   p_data_typ_cd                  in varchar2         default null,
505   p_ext_typ_cd                   in varchar2         default null,
506   p_output_name                  in varchar2         default null,
507   p_output_type                  in varchar2         default null,
508   p_apnd_rqst_id_flag            in varchar2,
509   p_prmy_sort_cd                 in varchar2         default null,
510   p_scnd_sort_cd                 in varchar2         default null,
511   p_strt_dt                      in varchar2         default null,
512   p_end_dt                       in varchar2         default null,
513   p_ext_crit_prfl_id             in number           default null,
514   p_ext_file_id                  in number           default null,
515   p_business_group_id            in number,
516   p_legislation_code             in varchar2,
517   p_xdf_attribute_category       in varchar2         default null,
518   p_xdf_attribute1               in varchar2         default null,
519   p_xdf_attribute2               in varchar2         default null,
520   p_xdf_attribute3               in varchar2         default null,
521   p_xdf_attribute4               in varchar2         default null,
522   p_xdf_attribute5               in varchar2         default null,
523   p_xdf_attribute6               in varchar2         default null,
524   p_xdf_attribute7               in varchar2         default null,
525   p_xdf_attribute8               in varchar2         default null,
526   p_xdf_attribute9               in varchar2         default null,
527   p_xdf_attribute10              in varchar2         default null,
528   p_xdf_attribute11              in varchar2         default null,
529   p_xdf_attribute12              in varchar2         default null,
530   p_xdf_attribute13              in varchar2         default null,
531   p_xdf_attribute14              in varchar2         default null,
532   p_xdf_attribute15              in varchar2         default null,
533   p_xdf_attribute16              in varchar2         default null,
534   p_xdf_attribute17              in varchar2         default null,
535   p_xdf_attribute18              in varchar2         default null,
536   p_xdf_attribute19              in varchar2         default null,
537   p_xdf_attribute20              in varchar2         default null,
538   p_xdf_attribute21              in varchar2         default null,
539   p_xdf_attribute22              in varchar2         default null,
540   p_xdf_attribute23              in varchar2         default null,
541   p_xdf_attribute24              in varchar2         default null,
542   p_xdf_attribute25              in varchar2         default null,
543   p_xdf_attribute26              in varchar2         default null,
544   p_xdf_attribute27              in varchar2         default null,
545   p_xdf_attribute28              in varchar2         default null,
546   p_xdf_attribute29              in varchar2         default null,
547   p_xdf_attribute30              in varchar2         default null,
548   p_last_update_date             in date             default null,
549   p_creation_date                in date             default null,
550   p_last_updated_by              in number           default null,
551   p_last_update_login            in number           default null,
552   p_created_by                   in number           default null,
553   p_object_version_number        out nocopy number,
554   p_drctry_name                  in varchar2         default null,
555   p_kickoff_wrt_prc_flag         in varchar2,
556   p_upd_cm_sent_dt_flag          in varchar2         default null,
557   p_spcl_hndl_flag               in varchar2         default null,
558   p_ext_global_flag              in varchar2         default null,
559   p_cm_display_flag              in varchar2         default null,
560   p_use_eff_dt_for_chgs_flag     in varchar2         default null,
561   p_ext_post_prcs_rl             in number           default null
562   ) is
563 --
564   l_rec	  ben_xdf_shd.g_rec_type;
565   l_proc  varchar2(72) := g_package||'ins';
566 --
567 Begin
568   hr_utility.set_location('Entering:'||l_proc, 5);
569   --
570   -- Call conversion function to turn arguments into the
571   -- p_rec structure.
572   --
573   l_rec :=
574   ben_xdf_shd.convert_args
575   (
576   null,
577   p_name,
578   p_xml_tag_name,
579   p_xdo_template_id,
580   p_data_typ_cd,
581   p_ext_typ_cd,
582   p_output_name,
583   p_output_type,
584   p_apnd_rqst_id_flag,
585   p_prmy_sort_cd,
586   p_scnd_sort_cd,
587   p_strt_dt,
588   p_end_dt,
589   p_ext_crit_prfl_id,
590   p_ext_file_id,
591   p_business_group_id,
592   p_legislation_code,
593   p_xdf_attribute_category,
594   p_xdf_attribute1,
595   p_xdf_attribute2,
596   p_xdf_attribute3,
597   p_xdf_attribute4,
601   p_xdf_attribute8,
598   p_xdf_attribute5,
599   p_xdf_attribute6,
600   p_xdf_attribute7,
602   p_xdf_attribute9,
603   p_xdf_attribute10,
604   p_xdf_attribute11,
605   p_xdf_attribute12,
606   p_xdf_attribute13,
607   p_xdf_attribute14,
608   p_xdf_attribute15,
609   p_xdf_attribute16,
610   p_xdf_attribute17,
611   p_xdf_attribute18,
612   p_xdf_attribute19,
613   p_xdf_attribute20,
614   p_xdf_attribute21,
615   p_xdf_attribute22,
616   p_xdf_attribute23,
617   p_xdf_attribute24,
618   p_xdf_attribute25,
619   p_xdf_attribute26,
620   p_xdf_attribute27,
621   p_xdf_attribute28,
622   p_xdf_attribute29,
623   p_xdf_attribute30,
624   p_last_update_date,
625   p_creation_date   ,
626   p_last_updated_by ,
627   p_last_update_login,
628   p_created_by       ,
629   null,
630   p_drctry_name,
631   p_kickoff_wrt_prc_flag,
632   p_upd_cm_sent_dt_flag,
633   p_spcl_hndl_flag,
634   p_ext_global_flag,
635   p_cm_display_flag,
636   p_use_eff_dt_for_chgs_flag,
637   p_ext_post_prcs_rl
638   );
639   --
640   -- Having converted the arguments into the ben_xdf_rec
641   -- plsql record structure we call the corresponding record business process.
642   --
643   ins(
644     p_effective_date,l_rec);
645   --
646   -- As the primary key argument(s)
647   -- are specified as an OUT's we must set these values.
648   --
649   p_ext_dfn_id := l_rec.ext_dfn_id;
650   p_object_version_number := l_rec.object_version_number;
651   --
652   hr_utility.set_location(' Leaving:'||l_proc, 10);
653 End ins;
654 --
655 end ben_xdf_ins;