1 Package ben_ctp_shd AUTHID CURRENT_USER as
2 /* $Header: bectprhi.pkh 120.0.12020000.2 2012/07/03 12:07:15 amnaraya ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Global Record Type Specification |
6 -- ----------------------------------------------------------------------------
7 --
8 Type g_rec_type Is Record
9 (
10 ptip_id number(15),
11 effective_start_date date,
12 effective_end_date date,
13 coord_cvg_for_all_pls_flag varchar2(30),
14 dpnt_dsgn_cd varchar2(30),
15 dpnt_cvg_no_ctfn_rqd_flag varchar2(9), -- Increased length
16 dpnt_cvg_strt_dt_cd varchar2(30),
17 rt_end_dt_cd varchar2(30),
18 rt_strt_dt_cd varchar2(30),
19 enrt_cvg_end_dt_cd varchar2(30),
20 enrt_cvg_strt_dt_cd varchar2(30),
21 dpnt_cvg_strt_dt_rl number(15),
22 dpnt_cvg_end_dt_cd varchar2(30),
23 dpnt_cvg_end_dt_rl number(15),
24 dpnt_adrs_rqd_flag varchar2(30),
25 dpnt_legv_id_rqd_flag varchar2(30),
26 susp_if_dpnt_ssn_nt_prv_cd varchar2(30),
27 susp_if_dpnt_dob_nt_prv_cd varchar2(30),
28 susp_if_dpnt_adr_nt_prv_cd varchar2(30),
29 susp_if_ctfn_not_dpnt_flag varchar2(30),
30 dpnt_ctfn_determine_cd varchar2(30),
31 postelcn_edit_rl number(15),
32 rt_end_dt_rl number(15),
33 rt_strt_dt_rl number(15),
34 enrt_cvg_end_dt_rl number(15),
35 enrt_cvg_strt_dt_rl number(15),
36 rqd_perd_enrt_nenrt_rl number(15),
37 auto_enrt_mthd_rl number(15),
38 enrt_mthd_cd varchar2(30),
39 enrt_cd varchar2(30),
40 enrt_rl number(15),
41 dflt_enrt_cd varchar2(30),
42 dflt_enrt_det_rl number(15),
43 drvbl_fctr_apls_rts_flag varchar2(30),
44 drvbl_fctr_prtn_elig_flag varchar2(30),
45 elig_apls_flag varchar2(30),
46 prtn_elig_ovrid_alwd_flag varchar2(30),
47 trk_inelig_per_flag varchar2(30),
48 dpnt_dob_rqd_flag varchar2(30),
49 crs_this_pl_typ_only_flag varchar2(30),
50 ptip_stat_cd varchar2(30),
51 mx_cvg_alwd_amt number, -- (15),
52 mx_enrd_alwd_ovrid_num number(15),
53 mn_enrd_rqd_ovrid_num number(15),
54 no_mx_pl_typ_ovrid_flag varchar2(30),
55 ordr_num number(15),
56 prvds_cr_flag varchar2(30),
57 rqd_perd_enrt_nenrt_val number(15,2), --(15),
58 rqd_perd_enrt_nenrt_tm_uom varchar2(30),
59 wvbl_flag varchar2(30),
60 drvd_fctr_dpnt_cvg_flag varchar2(30),
61 no_mn_pl_typ_overid_flag varchar2(30),
62 sbj_to_sps_lf_ins_mx_flag varchar2(30),
63 sbj_to_dpnt_lf_ins_mx_flag varchar2(30),
64 use_to_sum_ee_lf_ins_flag varchar2(30),
65 per_cvrd_cd varchar2(30),
66 short_name varchar2(30),
67 short_code varchar2(30),
68 legislation_code varchar2(30),
69 legislation_subgroup varchar2(30),
70 vrfy_fmly_mmbr_cd varchar2(30),
71 vrfy_fmly_mmbr_rl number(15),
72 ivr_ident varchar2(90), -- UTF8 Change Bug 2254683
73 url_ref_name varchar2(240),
74 rqd_enrt_perd_tco_cd varchar2(30),
75 pgm_id number(15),
76 pl_typ_id number(15),
77 cmbn_ptip_id number(15),
78 cmbn_ptip_opt_id number(15),
79 acrs_ptip_cvg_id number(15),
80 business_group_id number(15),
81 ctp_attribute_category varchar2(30),
82 ctp_attribute1 varchar2(150),
83 ctp_attribute2 varchar2(150),
84 ctp_attribute3 varchar2(150),
85 ctp_attribute4 varchar2(150),
86 ctp_attribute5 varchar2(150),
87 ctp_attribute6 varchar2(150),
88 ctp_attribute7 varchar2(150),
89 ctp_attribute8 varchar2(150),
90 ctp_attribute9 varchar2(150),
91 ctp_attribute10 varchar2(150),
92 ctp_attribute11 varchar2(150),
93 ctp_attribute12 varchar2(150),
94 ctp_attribute13 varchar2(150),
95 ctp_attribute14 varchar2(150),
96 ctp_attribute15 varchar2(150),
97 ctp_attribute16 varchar2(150),
98 ctp_attribute17 varchar2(150),
99 ctp_attribute18 varchar2(150),
100 ctp_attribute19 varchar2(150),
101 ctp_attribute20 varchar2(150),
102 ctp_attribute21 varchar2(150),
103 ctp_attribute22 varchar2(150),
104 ctp_attribute23 varchar2(150),
105 ctp_attribute24 varchar2(150),
106 ctp_attribute25 varchar2(150),
107 ctp_attribute26 varchar2(150),
108 ctp_attribute27 varchar2(150),
109 ctp_attribute28 varchar2(150),
110 ctp_attribute29 varchar2(150),
111 ctp_attribute30 varchar2(150),
112 all_inelig varchar2(30),
113 object_version_number number(9)
114 );
115 --
116 -- ----------------------------------------------------------------------------
117 -- | Global Definitions - Internal Development Use Only |
118 -- ----------------------------------------------------------------------------
119 --
120 g_old_rec g_rec_type; -- Global record definition
121 g_api_dml boolean; -- Global api dml status
122 --
123 -- ----------------------------------------------------------------------------
124 -- |------------------------< return_api_dml_status >-------------------------|
125 -- ----------------------------------------------------------------------------
126 -- {Start Of Comments}
127 --
128 -- Description:
129 -- This function will return the current g_api_dml private global
130 -- boolean status.
131 -- The g_api_dml status determines if at the time of the function
132 -- being executed if a dml statement (i.e. INSERT, UPDATE or DELETE)
133 -- is being issued from within an api.
134 -- If the status is TRUE then a dml statement is being issued from
135 -- within this entity api.
136 -- This function is primarily to support database triggers which
137 -- need to maintain the object_version_number for non-supported
138 -- dml statements (i.e. dml statement issued outside of the api layer).
139 --
140 -- Prerequisites:
141 -- None.
142 --
143 -- In Parameters:
144 -- None.
145 --
146 -- Post Success:
147 -- Processing continues.
148 -- If the function returns a TRUE value then, dml is being executed from
149 -- within this api.
150 --
151 -- Post Failure:
152 -- None.
153 --
154 -- Access Status:
155 -- Internal Row Handler Use Only.
156 --
157 -- {End Of Comments}
158 -- ----------------------------------------------------------------------------
159 Function return_api_dml_status Return Boolean;
160 --
161 -- ----------------------------------------------------------------------------
162 -- |---------------------------< constraint_error >---------------------------|
163 -- ----------------------------------------------------------------------------
164 -- {Start Of Comments}
165 --
166 -- Description:
167 -- This procedure is called when a constraint has been violated (i.e.
168 -- The exception hr_api.check_integrity_violated,
169 -- hr_api.parent_integrity_violated, hr_api.child_integrity_violated or
170 -- hr_api.unique_integrity_violated has been raised).
171 -- The exceptions can only be raised as follows:
172 -- 1) A check constraint can only be violated during an INSERT or UPDATE
173 -- dml operation.
174 -- 2) A parent integrity constraint can only be violated during an
175 -- INSERT or UPDATE dml operation.
176 -- 3) A child integrity constraint can only be violated during an
177 -- DELETE dml operation.
178 -- 4) A unique integrity constraint can only be violated during INSERT or
179 -- UPDATE dml operation.
180 --
181 -- Prerequisites:
182 -- 1) Either hr_api.check_integrity_violated,
183 -- hr_api.parent_integrity_violated, hr_api.child_integrity_violated or
184 -- hr_api.unique_integrity_violated has been raised with the subsequent
185 -- stripping of the constraint name from the generated error message
186 -- text.
187 -- 2) Standalone validation test which corresponds with a constraint error.
188 --
189 -- In Parameter:
190 -- p_constraint_name is in upper format and is just the constraint name
191 -- (e.g. not prefixed by brackets, schema owner etc).
192 --
193 -- Post Success:
194 -- Development dependant.
195 --
196 -- Post Failure:
197 -- Developement dependant.
198 --
199 -- Developer Implementation Notes:
200 -- For each constraint being checked the hr system package failure message
201 -- has been generated as a template only. These system error messages should
202 -- be modified as required (i.e. change the system failure message to a user
203 -- friendly defined error message).
204 --
205 -- Access Status:
206 -- Internal Development Use Only.
207 --
208 -- {End Of Comments}
209 -- ----------------------------------------------------------------------------
210 Procedure constraint_error
211 (p_constraint_name in all_constraints.constraint_name%TYPE);
212 --
213 -- ----------------------------------------------------------------------------
214 -- |-----------------------------< api_updating >-----------------------------|
215 -- ----------------------------------------------------------------------------
216 -- {Start Of Comments}
217 --
218 -- Description:
219 -- This function is used to populate the g_old_rec record with the current
220 -- row from the database for the specified primary key provided that the
221 -- primary key exists, and is valid, and does not already match the current
222 -- g_old_rec.
223 -- The function will always return a TRUE value if the g_old_rec is
224 -- populated with the current row. A FALSE value will be returned if all of
225 -- the primary key arguments are null.
226 --
227 -- Prerequisites:
228 -- None.
229 --
230 -- In Parameters:
231 --
232 -- Post Success:
233 -- A value of TRUE will be returned indiciating that the g_old_rec is
234 -- current.
235 -- A value of FALSE will be returned if all of the primary key arguments
236 -- have a null value (this indicates that the row has not be inserted into
237 -- the Schema), and therefore could never have a corresponding row.
238 --
239 -- Post Failure:
240 -- A failure can only occur under two circumstances:
241 -- 1) The primary key is invalid (i.e. a row does not exist for the
242 -- specified primary key values).
243 -- 2) If an object_version_number exists but is NOT the same as the current
244 -- g_old_rec value.
245 --
246 -- Developer Implementation Notes:
247 -- None.
248 --
249 -- Access Status:
250 -- Internal Development Use Only.
251 --
252 -- {End Of Comments}
253 -- ----------------------------------------------------------------------------
254 Function api_updating
255 (p_effective_date in date,
256 p_ptip_id in number,
257 p_object_version_number in number
258 ) Return Boolean;
259 --
260 -- ----------------------------------------------------------------------------
261 -- |--------------------------< find_dt_del_modes >---------------------------|
262 -- ----------------------------------------------------------------------------
263 -- {Start Of Comments}
264 --
265 -- Description:
266 -- This procedure is used to determine what datetrack delete modes are
267 -- allowed as of the effective date for this entity. The procedure will
268 -- return a corresponding Boolean value for each of the delete modes
269 -- available where TRUE indicates that the corresponding delete mode is
270 -- available.
271 --
272 -- Prerequisites:
273 -- None.
274 --
275 -- In Parameters:
276 -- p_effective_date
277 -- Specifies the date at which the datetrack modes will be operated on.
278 -- p_base_key_value
279 -- Specifies the primary key value for this datetrack entity.
280 -- (E.g. For this entity the assignment of the argument would be:
281 -- p_base_key_value = :ptip_id).
282 --
283 -- Post Success:
284 -- Processing continues.
285 --
286 -- Post Failure:
287 -- Failure might occur if for the specified effective date and primary key
288 -- value a row doesn't exist.
289 --
290 -- Developer Implementation Notes:
291 -- This procedure could require changes if this entity has any sepcific
292 -- delete restrictions.
293 -- For example, this entity might disallow the datetrack delete mode of
294 -- ZAP. To implement this you would have to set and return a Boolean value
295 -- of FALSE after the call to the dt_api.find_dt_del_modes procedure.
296 --
297 -- Access Status:
298 -- Internal Development Use Only.
299 --
300 -- {End Of Comments}
301 -- ----------------------------------------------------------------------------
302 Procedure find_dt_del_modes
303 (p_effective_date in date,
304 p_base_key_value in number,
305 p_zap out nocopy boolean,
306 p_delete out nocopy boolean,
307 p_future_change out nocopy boolean,
308 p_delete_next_change out nocopy boolean);
309 --
310 -- ----------------------------------------------------------------------------
311 -- |--------------------------< find_dt_upd_modes >---------------------------|
312 -- ----------------------------------------------------------------------------
313 -- {Start Of Comments}
314 --
315 -- Description:
316 -- This procedure is used to determine what datetrack update modes are
317 -- allowed as of the effective date for this entity. The procedure will
318 -- return a corresponding Boolean value for each of the update modes
319 -- available where TRUE indicates that the corresponding update mode
320 -- is available.
321 --
322 -- Prerequisites:
323 -- None.
324 --
325 -- In Parameters:
326 -- p_effective_date
327 -- Specifies the date at which the datetrack modes will be operated on.
328 -- p_base_key_value
329 -- Specifies the primary key value for this datetrack entity.
330 -- (E.g. For this entity the assignment of the argument would be:
331 -- p_base_key_value = :ptip_id).
332 --
333 -- Post Success:
334 -- Processing continues.
335 --
336 -- Post Failure:
337 -- Failure might occur if for the specified effective date and primary key
338 -- value a row doesn't exist.
339 --
340 -- Developer Implementation Notes:
341 -- This procedure could require changes if this entity has any sepcific
342 -- delete restrictions.
343 -- For example, this entity might disallow the datetrack update mode of
344 -- UPDATE. To implement this you would have to set and return a Boolean
348 -- Internal Development Use Only.
345 -- value of FALSE after the call to the dt_api.find_dt_upd_modes procedure.
346 --
347 -- Access Status:
349 --
350 -- {End Of Comments}
351 -- ----------------------------------------------------------------------------
352 Procedure find_dt_upd_modes
353 (p_effective_date in date,
354 p_base_key_value in number,
355 p_correction out nocopy boolean,
356 p_update out nocopy boolean,
357 p_update_override out nocopy boolean,
358 p_update_change_insert out nocopy boolean);
359 --
360 -- ----------------------------------------------------------------------------
361 -- |------------------------< upd_effective_end_date >------------------------|
362 -- ----------------------------------------------------------------------------
363 -- {Start Of Comments}
364 --
365 -- Description:
366 -- This procedure will update the specified datetrack row with the
367 -- specified new effective end date. The object version number is also
368 -- set to the next object version number. DateTrack modes which call
369 -- this procedure are: UPDATE, UPDATE_CHANGE_INSERT,
370 -- UPDATE_OVERRIDE, DELETE, FUTURE_CHANGE and DELETE_NEXT_CHANGE.
371 -- This is an internal datetrack maintenance procedure which should
372 -- not be modified in anyway.
373 --
374 -- Prerequisites:
375 -- None.
376 --
377 -- In Parameters:
378 -- p_new_effective_end_date
379 -- Specifies the new effective end date which will be set for the
380 -- row as of the effective date.
381 -- p_base_key_value
382 -- Specifies the primary key value for this datetrack entity.
383 -- (E.g. For this entity the assignment of the argument would be:
384 -- p_base_key_value = :ptip_id).
385 --
386 -- Post Success:
387 -- The specified row will be updated with the new effective end date and
388 -- object_version_number.
389 --
390 -- Post Failure:
391 -- Failure might occur if for the specified effective date and primary key
392 -- value a row doesn't exist.
393 --
394 -- Developer Implementation Notes:
395 -- This is an internal datetrack maintenance procedure which should
396 -- not be modified in anyway.
397 --
398 -- Access Status:
399 -- Internal Row Handler Use Only.
400 --
401 -- {End Of Comments}
402 -- ----------------------------------------------------------------------------
403 Procedure upd_effective_end_date
404 (p_effective_date in date,
405 p_base_key_value in number,
406 p_new_effective_end_date in date,
407 p_validation_start_date in date,
408 p_validation_end_date in date,
409 p_object_version_number out nocopy number);
410 --
411 -- ----------------------------------------------------------------------------
412 -- |---------------------------------< lck >----------------------------------|
413 -- ----------------------------------------------------------------------------
414 -- {Start Of Comments}
415 --
416 -- Description:
417 -- The Lck process for datetrack is complicated and comprises of the
418 -- following processing
419 -- The processing steps are as follows:
420 -- 1) The row to be updated or deleted must be locked.
421 -- By locking this row, the g_old_rec record data type is populated.
422 -- 2) If a comment exists the text is selected from hr_comments.
423 -- 3) The datetrack mode is then validated to ensure the operation is
424 -- valid. If the mode is valid the validation start and end dates for
425 -- the mode will be derived and returned. Any required locking is
426 -- completed when the datetrack mode is validated.
427 --
428 -- Prerequisites:
429 -- When attempting to call the lck procedure the object version number,
430 -- primary key, effective date and datetrack mode must be specified.
431 --
432 -- In Parameters:
433 -- p_effective_date
434 -- Specifies the date of the datetrack update operation.
435 -- p_datetrack_mode
436 -- Determines the datetrack update or delete mode.
437 --
438 -- Post Success:
439 -- On successful completion of the Lck process the row to be updated or
440 -- deleted will be locked and selected into the global data structure
441 -- g_old_rec.
442 --
443 -- Post Failure:
444 -- The Lck process can fail for three reasons:
445 -- 1) When attempting to lock the row the row could already be locked by
446 -- another user. This will raise the HR_Api.Object_Locked exception.
447 -- 2) The row which is required to be locked doesn't exist in the HR Schema.
448 -- This error is trapped and reported using the message name
449 -- 'HR_7220_INVALID_PRIMARY_KEY'.
450 -- 3) The row although existing in the HR Schema has a different object
451 -- version number than the object version number specified.
452 -- This error is trapped and reported using the message name
453 -- 'HR_7155_OBJECT_INVALID'.
454 --
455 -- Developer Implementation Notes:
456 -- None.
457 --
458 -- Access Status:
459 -- Internal Development Use Only.
460 --
461 -- {End Of Comments}
462 -- ----------------------------------------------------------------------------
463 Procedure lck
464 (p_effective_date in date,
465 p_datetrack_mode in varchar2,
466 p_ptip_id in number,
467 p_object_version_number in number,
468 p_validation_start_date out nocopy date,
469 p_validation_end_date out nocopy date);
470 --
471 -- ----------------------------------------------------------------------------
472 -- |-----------------------------< convert_args >-----------------------------|
473 -- ----------------------------------------------------------------------------
474 -- {Start Of Comments}
475 --
476 -- Description:
477 -- This function is used to turn attribute parameters into the record
481 -- This is a private function and can only be called from the ins or upd
478 -- structure parameter g_rec_type.
479 --
480 -- Prerequisites:
482 -- attribute processes.
483 --
484 -- In Parameters:
485 --
486 -- Post Success:
487 -- A returning record structure will be returned.
488 --
489 -- Post Failure:
490 -- No direct error handling is required within this function. Any possible
491 -- errors within this function will be a PL/SQL value error due to conversion
492 -- of datatypes or data lengths.
493 --
494 -- Developer Implementation Notes:
495 -- None.
496 --
497 -- Access Status:
498 -- Internal Row Handler Use Only.
499 --
500 -- {End Of Comments}
501 -- ----------------------------------------------------------------------------
502 Function convert_args
503 (
504 p_ptip_id in number,
505 p_effective_start_date in date,
506 p_effective_end_date in date,
507 p_coord_cvg_for_all_pls_flag in varchar2,
508 p_dpnt_dsgn_cd in varchar2,
509 p_dpnt_cvg_no_ctfn_rqd_flag in varchar2,
510 p_dpnt_cvg_strt_dt_cd in varchar2,
511 p_rt_end_dt_cd in varchar2,
512 p_rt_strt_dt_cd in varchar2,
513 p_enrt_cvg_end_dt_cd in varchar2,
514 p_enrt_cvg_strt_dt_cd in varchar2,
515 p_dpnt_cvg_strt_dt_rl in number,
516 p_dpnt_cvg_end_dt_cd in varchar2,
517 p_dpnt_cvg_end_dt_rl in number,
518 p_dpnt_adrs_rqd_flag in varchar2,
519 p_dpnt_legv_id_rqd_flag in varchar2,
520 p_susp_if_dpnt_ssn_nt_prv_cd in varchar2,
521 p_susp_if_dpnt_dob_nt_prv_cd in varchar2,
522 p_susp_if_dpnt_adr_nt_prv_cd in varchar2,
523 p_susp_if_ctfn_not_dpnt_flag in varchar2,
524 p_dpnt_ctfn_determine_cd in varchar2,
525 p_postelcn_edit_rl in number,
526 p_rt_end_dt_rl in number,
527 p_rt_strt_dt_rl in number,
528 p_enrt_cvg_end_dt_rl in number,
529 p_enrt_cvg_strt_dt_rl in number,
530 p_rqd_perd_enrt_nenrt_rl in number,
531 p_auto_enrt_mthd_rl in number,
532 p_enrt_mthd_cd in varchar2,
533 p_enrt_cd in varchar2,
534 p_enrt_rl in number,
535 p_dflt_enrt_cd in varchar2,
536 p_dflt_enrt_det_rl in number,
537 p_drvbl_fctr_apls_rts_flag in varchar2,
538 p_drvbl_fctr_prtn_elig_flag in varchar2,
539 p_elig_apls_flag in varchar2,
540 p_prtn_elig_ovrid_alwd_flag in varchar2,
541 p_trk_inelig_per_flag in varchar2,
542 p_dpnt_dob_rqd_flag in varchar2,
543 p_crs_this_pl_typ_only_flag in varchar2,
544 p_ptip_stat_cd in varchar2,
545 p_mx_cvg_alwd_amt in number,
546 p_mx_enrd_alwd_ovrid_num in number,
547 p_mn_enrd_rqd_ovrid_num in number,
548 p_no_mx_pl_typ_ovrid_flag in varchar2,
549 p_ordr_num in number,
550 p_prvds_cr_flag in varchar2,
551 p_rqd_perd_enrt_nenrt_val in number,
552 p_rqd_perd_enrt_nenrt_tm_uom in varchar2,
553 p_wvbl_flag in varchar2,
554 p_drvd_fctr_dpnt_cvg_flag in varchar2,
555 p_no_mn_pl_typ_overid_flag in varchar2,
556 p_sbj_to_sps_lf_ins_mx_flag in varchar2,
557 p_sbj_to_dpnt_lf_ins_mx_flag in varchar2,
558 p_use_to_sum_ee_lf_ins_flag in varchar2,
559 p_per_cvrd_cd in varchar2,
560 p_short_name in varchar2,
561 p_short_code in varchar2,
562 p_legislation_code in varchar2,
563 p_legislation_subgroup in varchar2,
564 p_vrfy_fmly_mmbr_cd in varchar2,
565 p_vrfy_fmly_mmbr_rl in number,
566 p_ivr_ident in varchar2,
567 p_url_ref_name in varchar2,
568 p_rqd_enrt_perd_tco_cd in varchar2,
569 p_pgm_id in number,
570 p_pl_typ_id in number,
571 p_cmbn_ptip_id in number,
572 p_cmbn_ptip_opt_id in number,
573 p_acrs_ptip_cvg_id in number,
574 p_business_group_id in number,
575 p_ctp_attribute_category in varchar2,
576 p_ctp_attribute1 in varchar2,
577 p_ctp_attribute2 in varchar2,
578 p_ctp_attribute3 in varchar2,
579 p_ctp_attribute4 in varchar2,
580 p_ctp_attribute5 in varchar2,
581 p_ctp_attribute6 in varchar2,
582 p_ctp_attribute7 in varchar2,
583 p_ctp_attribute8 in varchar2,
584 p_ctp_attribute9 in varchar2,
585 p_ctp_attribute10 in varchar2,
586 p_ctp_attribute11 in varchar2,
587 p_ctp_attribute12 in varchar2,
588 p_ctp_attribute13 in varchar2,
589 p_ctp_attribute14 in varchar2,
590 p_ctp_attribute15 in varchar2,
591 p_ctp_attribute16 in varchar2,
592 p_ctp_attribute17 in varchar2,
593 p_ctp_attribute18 in varchar2,
594 p_ctp_attribute19 in varchar2,
595 p_ctp_attribute20 in varchar2,
596 p_ctp_attribute21 in varchar2,
597 p_ctp_attribute22 in varchar2,
598 p_ctp_attribute23 in varchar2,
599 p_ctp_attribute24 in varchar2,
600 p_ctp_attribute25 in varchar2,
601 p_ctp_attribute26 in varchar2,
602 p_ctp_attribute27 in varchar2,
606 p_all_inelig in varchar2,
603 p_ctp_attribute28 in varchar2,
604 p_ctp_attribute29 in varchar2,
605 p_ctp_attribute30 in varchar2,
607 p_object_version_number in number
608 )
609 Return g_rec_type;
610 --
611 end ben_ctp_shd;