DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_PER_CM_TRGR_API

Source


1 Package Body ben_PER_CM_TRGR_api as
2 /* $Header: bepcrapi.pkb 115.5 2003/01/02 20:58:51 pabodla ship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  ben_PER_CM_TRGR_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |------------------------< create_PER_CM_TRGR >----------------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_PER_CM_TRGR
13   (p_validate                       in  boolean   default false
14   ,p_per_cm_trgr_id                 out nocopy number
15   ,p_effective_start_date           out nocopy date
16   ,p_effective_end_date             out nocopy date
17   ,p_cm_trgr_id                     in  number    default null
18   ,p_per_cm_id                      in  number    default null
19   ,p_business_group_id              in  number    default null
20   ,p_pcr_attribute_category         in  varchar2  default null
21   ,p_pcr_attribute1                 in  varchar2  default null
22   ,p_pcr_attribute2                 in  varchar2  default null
23   ,p_pcr_attribute3                 in  varchar2  default null
24   ,p_pcr_attribute4                 in  varchar2  default null
25   ,p_pcr_attribute5                 in  varchar2  default null
26   ,p_pcr_attribute6                 in  varchar2  default null
27   ,p_pcr_attribute7                 in  varchar2  default null
28   ,p_pcr_attribute8                 in  varchar2  default null
29   ,p_pcr_attribute9                 in  varchar2  default null
30   ,p_pcr_attribute10                in  varchar2  default null
31   ,p_pcr_attribute11                in  varchar2  default null
32   ,p_pcr_attribute12                in  varchar2  default null
33   ,p_pcr_attribute13                in  varchar2  default null
34   ,p_pcr_attribute14                in  varchar2  default null
35   ,p_pcr_attribute15                in  varchar2  default null
36   ,p_pcr_attribute16                in  varchar2  default null
37   ,p_pcr_attribute17                in  varchar2  default null
38   ,p_pcr_attribute18                in  varchar2  default null
39   ,p_pcr_attribute19                in  varchar2  default null
40   ,p_pcr_attribute20                in  varchar2  default null
41   ,p_pcr_attribute21                in  varchar2  default null
42   ,p_pcr_attribute22                in  varchar2  default null
43   ,p_pcr_attribute23                in  varchar2  default null
44   ,p_pcr_attribute24                in  varchar2  default null
45   ,p_pcr_attribute25                in  varchar2  default null
46   ,p_pcr_attribute26                in  varchar2  default null
47   ,p_pcr_attribute27                in  varchar2  default null
48   ,p_pcr_attribute28                in  varchar2  default null
49   ,p_pcr_attribute29                in  varchar2  default null
50   ,p_pcr_attribute30                in  varchar2  default null
51   ,p_request_id                     in  number    default null
52   ,p_program_application_id         in  number    default null
53   ,p_program_id                     in  number    default null
54   ,p_program_update_date            in  date      default null
55   ,p_object_version_number          out nocopy number
56   ,p_effective_date                 in  date) is
57   --
58   -- Declare cursors and local variables
59   --
60   l_per_cm_trgr_id ben_per_cm_trgr_f.per_cm_trgr_id%TYPE;
61   l_effective_start_date ben_per_cm_trgr_f.effective_start_date%TYPE;
62   l_effective_end_date ben_per_cm_trgr_f.effective_end_date%TYPE;
63   l_proc varchar2(72) := g_package||'create_PER_CM_TRGR';
64   l_object_version_number ben_per_cm_trgr_f.object_version_number%TYPE;
65   --
66 begin
67   --
68   hr_utility.set_location('Entering:'|| l_proc, 10);
69   --
70   -- Issue a savepoint if operating in validation only mode
71   --
72   savepoint create_PER_CM_TRGR;
73   --
74   hr_utility.set_location(l_proc, 20);
75   --
76   -- Process Logic
77   --
78   begin
79     --
80     -- Start of API User Hook for the before hook of create_PER_CM_TRGR
81     --
82     ben_PER_CM_TRGR_bk1.create_PER_CM_TRGR_b
83       (p_cm_trgr_id                     =>  p_cm_trgr_id
84       ,p_per_cm_id                      =>  p_per_cm_id
85       ,p_business_group_id              =>  p_business_group_id
86       ,p_pcr_attribute_category         =>  p_pcr_attribute_category
87       ,p_pcr_attribute1                 =>  p_pcr_attribute1
88       ,p_pcr_attribute2                 =>  p_pcr_attribute2
89       ,p_pcr_attribute3                 =>  p_pcr_attribute3
90       ,p_pcr_attribute4                 =>  p_pcr_attribute4
91       ,p_pcr_attribute5                 =>  p_pcr_attribute5
92       ,p_pcr_attribute6                 =>  p_pcr_attribute6
93       ,p_pcr_attribute7                 =>  p_pcr_attribute7
94       ,p_pcr_attribute8                 =>  p_pcr_attribute8
95       ,p_pcr_attribute9                 =>  p_pcr_attribute9
96       ,p_pcr_attribute10                =>  p_pcr_attribute10
97       ,p_pcr_attribute11                =>  p_pcr_attribute11
98       ,p_pcr_attribute12                =>  p_pcr_attribute12
99       ,p_pcr_attribute13                =>  p_pcr_attribute13
100       ,p_pcr_attribute14                =>  p_pcr_attribute14
101       ,p_pcr_attribute15                =>  p_pcr_attribute15
102       ,p_pcr_attribute16                =>  p_pcr_attribute16
103       ,p_pcr_attribute17                =>  p_pcr_attribute17
104       ,p_pcr_attribute18                =>  p_pcr_attribute18
105       ,p_pcr_attribute19                =>  p_pcr_attribute19
106       ,p_pcr_attribute20                =>  p_pcr_attribute20
107       ,p_pcr_attribute21                =>  p_pcr_attribute21
108       ,p_pcr_attribute22                =>  p_pcr_attribute22
109       ,p_pcr_attribute23                =>  p_pcr_attribute23
110       ,p_pcr_attribute24                =>  p_pcr_attribute24
111       ,p_pcr_attribute25                =>  p_pcr_attribute25
112       ,p_pcr_attribute26                =>  p_pcr_attribute26
113       ,p_pcr_attribute27                =>  p_pcr_attribute27
114       ,p_pcr_attribute28                =>  p_pcr_attribute28
115       ,p_pcr_attribute29                =>  p_pcr_attribute29
116       ,p_pcr_attribute30                =>  p_pcr_attribute30
117       ,p_request_id                     =>  p_request_id
118       ,p_program_application_id         =>  p_program_application_id
119       ,p_program_id                     =>  p_program_id
120       ,p_program_update_date            =>  p_program_update_date
121       ,p_effective_date                 => trunc(p_effective_date));
122     --
123   exception
124     --
125     when hr_api.cannot_find_prog_unit then
126       --
127       hr_api.cannot_find_prog_unit_error
128         (p_module_name => 'CREATE_PER_CM_TRGR'
129         ,p_hook_type   => 'BP');
130     --
131     -- End of API User Hook for the before hook of create_PER_CM_TRGR
132     --
133   end;
134   --
135   ben_pcr_ins.ins
136     (p_per_cm_trgr_id                => l_per_cm_trgr_id
137     ,p_effective_start_date          => l_effective_start_date
138     ,p_effective_end_date            => l_effective_end_date
139     ,p_cm_trgr_id                    => p_cm_trgr_id
140     ,p_per_cm_id                     => p_per_cm_id
141     ,p_business_group_id             => p_business_group_id
142     ,p_pcr_attribute_category        => p_pcr_attribute_category
143     ,p_pcr_attribute1                => p_pcr_attribute1
144     ,p_pcr_attribute2                => p_pcr_attribute2
145     ,p_pcr_attribute3                => p_pcr_attribute3
146     ,p_pcr_attribute4                => p_pcr_attribute4
147     ,p_pcr_attribute5                => p_pcr_attribute5
148     ,p_pcr_attribute6                => p_pcr_attribute6
149     ,p_pcr_attribute7                => p_pcr_attribute7
150     ,p_pcr_attribute8                => p_pcr_attribute8
151     ,p_pcr_attribute9                => p_pcr_attribute9
152     ,p_pcr_attribute10               => p_pcr_attribute10
153     ,p_pcr_attribute11               => p_pcr_attribute11
154     ,p_pcr_attribute12               => p_pcr_attribute12
155     ,p_pcr_attribute13               => p_pcr_attribute13
156     ,p_pcr_attribute14               => p_pcr_attribute14
157     ,p_pcr_attribute15               => p_pcr_attribute15
158     ,p_pcr_attribute16               => p_pcr_attribute16
159     ,p_pcr_attribute17               => p_pcr_attribute17
160     ,p_pcr_attribute18               => p_pcr_attribute18
161     ,p_pcr_attribute19               => p_pcr_attribute19
162     ,p_pcr_attribute20               => p_pcr_attribute20
163     ,p_pcr_attribute21               => p_pcr_attribute21
164     ,p_pcr_attribute22               => p_pcr_attribute22
165     ,p_pcr_attribute23               => p_pcr_attribute23
166     ,p_pcr_attribute24               => p_pcr_attribute24
167     ,p_pcr_attribute25               => p_pcr_attribute25
168     ,p_pcr_attribute26               => p_pcr_attribute26
169     ,p_pcr_attribute27               => p_pcr_attribute27
170     ,p_pcr_attribute28               => p_pcr_attribute28
171     ,p_pcr_attribute29               => p_pcr_attribute29
172     ,p_pcr_attribute30               => p_pcr_attribute30
173     ,p_request_id                    => p_request_id
174     ,p_program_application_id        => p_program_application_id
175     ,p_program_id                    => p_program_id
176     ,p_program_update_date           => p_program_update_date
177     ,p_object_version_number         => l_object_version_number
178     ,p_effective_date                => trunc(p_effective_date));
179   --
180   begin
181     --
182     -- Start of API User Hook for the after hook of create_PER_CM_TRGR
183     --
184     ben_PER_CM_TRGR_bk1.create_PER_CM_TRGR_a
185       (p_per_cm_trgr_id                 =>  l_per_cm_trgr_id
186       ,p_effective_start_date           =>  l_effective_start_date
187       ,p_effective_end_date             =>  l_effective_end_date
188       ,p_cm_trgr_id                     =>  p_cm_trgr_id
189       ,p_per_cm_id                      =>  p_per_cm_id
190       ,p_business_group_id              =>  p_business_group_id
191       ,p_pcr_attribute_category         =>  p_pcr_attribute_category
192       ,p_pcr_attribute1                 =>  p_pcr_attribute1
193       ,p_pcr_attribute2                 =>  p_pcr_attribute2
194       ,p_pcr_attribute3                 =>  p_pcr_attribute3
195       ,p_pcr_attribute4                 =>  p_pcr_attribute4
196       ,p_pcr_attribute5                 =>  p_pcr_attribute5
197       ,p_pcr_attribute6                 =>  p_pcr_attribute6
198       ,p_pcr_attribute7                 =>  p_pcr_attribute7
199       ,p_pcr_attribute8                 =>  p_pcr_attribute8
200       ,p_pcr_attribute9                 =>  p_pcr_attribute9
201       ,p_pcr_attribute10                =>  p_pcr_attribute10
202       ,p_pcr_attribute11                =>  p_pcr_attribute11
203       ,p_pcr_attribute12                =>  p_pcr_attribute12
204       ,p_pcr_attribute13                =>  p_pcr_attribute13
205       ,p_pcr_attribute14                =>  p_pcr_attribute14
206       ,p_pcr_attribute15                =>  p_pcr_attribute15
207       ,p_pcr_attribute16                =>  p_pcr_attribute16
208       ,p_pcr_attribute17                =>  p_pcr_attribute17
209       ,p_pcr_attribute18                =>  p_pcr_attribute18
210       ,p_pcr_attribute19                =>  p_pcr_attribute19
211       ,p_pcr_attribute20                =>  p_pcr_attribute20
212       ,p_pcr_attribute21                =>  p_pcr_attribute21
213       ,p_pcr_attribute22                =>  p_pcr_attribute22
214       ,p_pcr_attribute23                =>  p_pcr_attribute23
215       ,p_pcr_attribute24                =>  p_pcr_attribute24
216       ,p_pcr_attribute25                =>  p_pcr_attribute25
217       ,p_pcr_attribute26                =>  p_pcr_attribute26
218       ,p_pcr_attribute27                =>  p_pcr_attribute27
219       ,p_pcr_attribute28                =>  p_pcr_attribute28
220       ,p_pcr_attribute29                =>  p_pcr_attribute29
221       ,p_pcr_attribute30                =>  p_pcr_attribute30
222       ,p_request_id                     =>  p_request_id
223       ,p_program_application_id         =>  p_program_application_id
224       ,p_program_id                     =>  p_program_id
225       ,p_program_update_date            =>  p_program_update_date
226       ,p_object_version_number          =>  l_object_version_number
227       ,p_effective_date                 =>  trunc(p_effective_date));
228     --
229   exception
230     --
231     when hr_api.cannot_find_prog_unit then
232       --
233       hr_api.cannot_find_prog_unit_error
234         (p_module_name => 'CREATE_PER_CM_TRGR'
235         ,p_hook_type   => 'AP');
236     --
237     -- End of API User Hook for the after hook of create_PER_CM_TRGR
238     --
239   end;
240   --
241   hr_utility.set_location(l_proc, 60);
242   --
243   -- When in validation only mode raise the Validate_Enabled exception
244   --
245   if p_validate then
246     raise hr_api.validate_enabled;
247   end if;
248   --
249   -- Set all output arguments
250   --
251   p_per_cm_trgr_id := l_per_cm_trgr_id;
252   p_effective_start_date := l_effective_start_date;
253   p_effective_end_date := l_effective_end_date;
254   p_object_version_number := l_object_version_number;
255   --
256   hr_utility.set_location(' Leaving:'||l_proc, 70);
257   --
258 exception
259   --
260   when hr_api.validate_enabled then
261     --
262     -- As the Validate_Enabled exception has been raised
263     -- we must rollback to the savepoint
264     --
265     ROLLBACK TO create_PER_CM_TRGR;
266     --
267     -- Only set output warning arguments
268     -- (Any key or derived arguments must be set to null
269     -- when validation only mode is being used.)
270     --
271     p_per_cm_trgr_id := null;
272     p_effective_start_date := null;
273     p_effective_end_date := null;
274     p_object_version_number  := null;
275     hr_utility.set_location(' Leaving:'||l_proc, 80);
276     --
277   when others then
278     --
279     -- A validation or unexpected error has occured
280     --
281     ROLLBACK TO create_PER_CM_TRGR;
282     p_per_cm_trgr_id := null;
283     p_effective_start_date := null;
284     p_effective_end_date := null;
285     p_object_version_number  := null;
286     hr_utility.set_location(' Leaving:'||l_proc, 90);
287     raise;
288     --
289 end create_PER_CM_TRGR;
290 -- ----------------------------------------------------------------------------
291 -- |------------------------< create_PER_CM_TRGR_perf >-----------------------|
292 -- ----------------------------------------------------------------------------
293 --
294 procedure create_PER_CM_TRGR_perf
295   (p_validate                       in  boolean   default false
296   ,p_per_cm_trgr_id                 out nocopy number
297   ,p_effective_start_date           out nocopy date
298   ,p_effective_end_date             out nocopy date
299   ,p_cm_trgr_id                     in  number    default null
300   ,p_per_cm_id                      in  number    default null
301   ,p_business_group_id              in  number    default null
302   ,p_pcr_attribute_category         in  varchar2  default null
303   ,p_pcr_attribute1                 in  varchar2  default null
304   ,p_pcr_attribute2                 in  varchar2  default null
305   ,p_pcr_attribute3                 in  varchar2  default null
306   ,p_pcr_attribute4                 in  varchar2  default null
307   ,p_pcr_attribute5                 in  varchar2  default null
308   ,p_pcr_attribute6                 in  varchar2  default null
309   ,p_pcr_attribute7                 in  varchar2  default null
310   ,p_pcr_attribute8                 in  varchar2  default null
311   ,p_pcr_attribute9                 in  varchar2  default null
312   ,p_pcr_attribute10                in  varchar2  default null
313   ,p_pcr_attribute11                in  varchar2  default null
314   ,p_pcr_attribute12                in  varchar2  default null
315   ,p_pcr_attribute13                in  varchar2  default null
316   ,p_pcr_attribute14                in  varchar2  default null
317   ,p_pcr_attribute15                in  varchar2  default null
318   ,p_pcr_attribute16                in  varchar2  default null
319   ,p_pcr_attribute17                in  varchar2  default null
320   ,p_pcr_attribute18                in  varchar2  default null
321   ,p_pcr_attribute19                in  varchar2  default null
322   ,p_pcr_attribute20                in  varchar2  default null
323   ,p_pcr_attribute21                in  varchar2  default null
324   ,p_pcr_attribute22                in  varchar2  default null
325   ,p_pcr_attribute23                in  varchar2  default null
326   ,p_pcr_attribute24                in  varchar2  default null
327   ,p_pcr_attribute25                in  varchar2  default null
328   ,p_pcr_attribute26                in  varchar2  default null
329   ,p_pcr_attribute27                in  varchar2  default null
330   ,p_pcr_attribute28                in  varchar2  default null
331   ,p_pcr_attribute29                in  varchar2  default null
332   ,p_pcr_attribute30                in  varchar2  default null
333   ,p_request_id                     in  number    default null
334   ,p_program_application_id         in  number    default null
335   ,p_program_id                     in  number    default null
336   ,p_program_update_date            in  date      default null
337   ,p_object_version_number          out nocopy number
338   ,p_effective_date                 in  date) is
339   --
340   -- Declare cursors and local variables
341   --
342   l_per_cm_trgr_id        ben_per_cm_trgr_f.per_cm_trgr_id%TYPE;
343   l_effective_start_date  ben_per_cm_trgr_f.effective_start_date%TYPE;
344   l_effective_end_date    ben_per_cm_trgr_f.effective_end_date%TYPE;
345   l_proc                  varchar2(72) := g_package||'create_PER_CM_TRGR';
346   l_object_version_number ben_per_cm_trgr_f.object_version_number%TYPE;
347   l_validation_start_date date;
348   l_validation_end_date   date;
349   --
350   cursor c_seq is
351     select ben_per_cm_trgr_f_s.nextval
352     from   sys.dual;
353   --
354 begin
355   --
356   -- Issue a savepoint if operating in validation only mode
357   --
358   savepoint create_PER_CM_TRGR;
359   --
360   -- Process Logic
361   --
362   begin
363     --
364     -- Start of API User Hook for the before hook of create_PER_CM_TRGR
365     --
366     ben_PER_CM_TRGR_bk1.create_PER_CM_TRGR_b
367       (p_cm_trgr_id                     =>  p_cm_trgr_id
368       ,p_per_cm_id                      =>  p_per_cm_id
369       ,p_business_group_id              =>  p_business_group_id
370       ,p_pcr_attribute_category         =>  p_pcr_attribute_category
371       ,p_pcr_attribute1                 =>  p_pcr_attribute1
372       ,p_pcr_attribute2                 =>  p_pcr_attribute2
373       ,p_pcr_attribute3                 =>  p_pcr_attribute3
374       ,p_pcr_attribute4                 =>  p_pcr_attribute4
375       ,p_pcr_attribute5                 =>  p_pcr_attribute5
376       ,p_pcr_attribute6                 =>  p_pcr_attribute6
377       ,p_pcr_attribute7                 =>  p_pcr_attribute7
378       ,p_pcr_attribute8                 =>  p_pcr_attribute8
379       ,p_pcr_attribute9                 =>  p_pcr_attribute9
380       ,p_pcr_attribute10                =>  p_pcr_attribute10
381       ,p_pcr_attribute11                =>  p_pcr_attribute11
382       ,p_pcr_attribute12                =>  p_pcr_attribute12
383       ,p_pcr_attribute13                =>  p_pcr_attribute13
384       ,p_pcr_attribute14                =>  p_pcr_attribute14
385       ,p_pcr_attribute15                =>  p_pcr_attribute15
386       ,p_pcr_attribute16                =>  p_pcr_attribute16
387       ,p_pcr_attribute17                =>  p_pcr_attribute17
388       ,p_pcr_attribute18                =>  p_pcr_attribute18
389       ,p_pcr_attribute19                =>  p_pcr_attribute19
390       ,p_pcr_attribute20                =>  p_pcr_attribute20
391       ,p_pcr_attribute21                =>  p_pcr_attribute21
392       ,p_pcr_attribute22                =>  p_pcr_attribute22
393       ,p_pcr_attribute23                =>  p_pcr_attribute23
394       ,p_pcr_attribute24                =>  p_pcr_attribute24
395       ,p_pcr_attribute25                =>  p_pcr_attribute25
396       ,p_pcr_attribute26                =>  p_pcr_attribute26
397       ,p_pcr_attribute27                =>  p_pcr_attribute27
398       ,p_pcr_attribute28                =>  p_pcr_attribute28
399       ,p_pcr_attribute29                =>  p_pcr_attribute29
400       ,p_pcr_attribute30                =>  p_pcr_attribute30
401       ,p_request_id                     =>  p_request_id
402       ,p_program_application_id         =>  p_program_application_id
403       ,p_program_id                     =>  p_program_id
404       ,p_program_update_date            =>  p_program_update_date
405       ,p_effective_date                 =>  trunc(p_effective_date));
406     --
407   exception
408     --
409     when hr_api.cannot_find_prog_unit then
410       --
411       hr_api.cannot_find_prog_unit_error
412         (p_module_name => 'CREATE_PER_CM_TRGR'
413         ,p_hook_type   => 'BP');
414     --
415     -- End of API User Hook for the before hook of create_PER_CM_TRGR
416     --
417   end;
418   --
419   -- Set sequence
420   --
421   open c_seq;
422     --
423     fetch c_seq into l_per_cm_trgr_id;
424     --
425   close c_seq;
426   --
427   -- Post insert row handler hook
428   --
429   dt_api.validate_dt_mode
430     (p_effective_date          => p_effective_date,
431      p_datetrack_mode          => 'INSERT',
432      p_base_table_name         => 'ben_per_cm_trgr_f',
433      p_base_key_column         => 'per_cm_trgr_id',
434      p_base_key_value          => l_per_cm_trgr_id,
435      p_parent_table_name1      => 'ben_per_cm_f',
436      p_parent_key_column1      => 'per_cm_id',
437      p_parent_key_value1       => p_per_cm_id,
438      p_enforce_foreign_locking => false,
439      p_validation_start_date   => l_validation_start_date,
440      p_validation_end_date     => l_validation_end_date);
441   --
442   l_effective_start_date := l_validation_start_date;
443   l_effective_end_date := l_validation_end_date;
444   l_object_version_number := 1;
445   --
446   insert into ben_per_cm_trgr_f
447     (per_cm_trgr_id
448     ,effective_start_date
449     ,effective_end_date
450     ,cm_trgr_id
451     ,per_cm_id
452     ,business_group_id
453     ,pcr_attribute_category
454     ,pcr_attribute1
455     ,pcr_attribute2
456     ,pcr_attribute3
457     ,pcr_attribute4
458     ,pcr_attribute5
459     ,pcr_attribute6
460     ,pcr_attribute7
461     ,pcr_attribute8
462     ,pcr_attribute9
463     ,pcr_attribute10
464     ,pcr_attribute11
465     ,pcr_attribute12
466     ,pcr_attribute13
467     ,pcr_attribute14
468     ,pcr_attribute15
469     ,pcr_attribute16
470     ,pcr_attribute17
471     ,pcr_attribute18
472     ,pcr_attribute19
473     ,pcr_attribute20
474     ,pcr_attribute21
475     ,pcr_attribute22
476     ,pcr_attribute23
477     ,pcr_attribute24
478     ,pcr_attribute25
479     ,pcr_attribute26
480     ,pcr_attribute27
481     ,pcr_attribute28
482     ,pcr_attribute29
483     ,pcr_attribute30
484     ,request_id
485     ,program_application_id
486     ,program_id
487     ,program_update_date
488     ,object_version_number)
489   values
490     (l_per_cm_trgr_id
491     ,l_effective_start_date
492     ,l_effective_end_date
493     ,p_cm_trgr_id
494     ,p_per_cm_id
495     ,p_business_group_id
496     ,p_pcr_attribute_category
497     ,p_pcr_attribute1
498     ,p_pcr_attribute2
499     ,p_pcr_attribute3
500     ,p_pcr_attribute4
501     ,p_pcr_attribute5
502     ,p_pcr_attribute6
503     ,p_pcr_attribute7
504     ,p_pcr_attribute8
505     ,p_pcr_attribute9
506     ,p_pcr_attribute10
507     ,p_pcr_attribute11
508     ,p_pcr_attribute12
509     ,p_pcr_attribute13
510     ,p_pcr_attribute14
511     ,p_pcr_attribute15
512     ,p_pcr_attribute16
513     ,p_pcr_attribute17
514     ,p_pcr_attribute18
515     ,p_pcr_attribute19
516     ,p_pcr_attribute20
517     ,p_pcr_attribute21
518     ,p_pcr_attribute22
519     ,p_pcr_attribute23
520     ,p_pcr_attribute24
521     ,p_pcr_attribute25
522     ,p_pcr_attribute26
523     ,p_pcr_attribute27
524     ,p_pcr_attribute28
525     ,p_pcr_attribute29
526     ,p_pcr_attribute30
527     ,p_request_id
528     ,p_program_application_id
529     ,p_program_id
530     ,p_program_update_date
531     ,l_object_version_number);
532   --
533   -- Start of Row Handler User Hook for post_insert.
534   --
535   begin
536     --
537     ben_pcr_rki.after_insert
538       (p_per_cm_trgr_id                =>l_per_cm_trgr_id
539       ,p_effective_start_date          =>l_effective_start_date
540       ,p_effective_end_date            =>l_effective_end_date
541       ,p_cm_trgr_id                    =>p_cm_trgr_id
542       ,p_per_cm_id                     =>p_per_cm_id
543       ,p_business_group_id             =>p_business_group_id
544       ,p_pcr_attribute_category        =>p_pcr_attribute_category
545       ,p_pcr_attribute1                =>p_pcr_attribute1
546       ,p_pcr_attribute2                =>p_pcr_attribute2
547       ,p_pcr_attribute3                =>p_pcr_attribute3
548       ,p_pcr_attribute4                =>p_pcr_attribute4
549       ,p_pcr_attribute5                =>p_pcr_attribute5
550       ,p_pcr_attribute6                =>p_pcr_attribute6
551       ,p_pcr_attribute7                =>p_pcr_attribute7
552       ,p_pcr_attribute8                =>p_pcr_attribute8
553       ,p_pcr_attribute9                =>p_pcr_attribute9
554       ,p_pcr_attribute10               =>p_pcr_attribute10
555       ,p_pcr_attribute11               =>p_pcr_attribute11
556       ,p_pcr_attribute12               =>p_pcr_attribute12
557       ,p_pcr_attribute13               =>p_pcr_attribute13
558       ,p_pcr_attribute14               =>p_pcr_attribute14
559       ,p_pcr_attribute15               =>p_pcr_attribute15
560       ,p_pcr_attribute16               =>p_pcr_attribute16
561       ,p_pcr_attribute17               =>p_pcr_attribute17
562       ,p_pcr_attribute18               =>p_pcr_attribute18
563       ,p_pcr_attribute19               =>p_pcr_attribute19
564       ,p_pcr_attribute20               =>p_pcr_attribute20
565       ,p_pcr_attribute21               =>p_pcr_attribute21
566       ,p_pcr_attribute22               =>p_pcr_attribute22
567       ,p_pcr_attribute23               =>p_pcr_attribute23
568       ,p_pcr_attribute24               =>p_pcr_attribute24
569       ,p_pcr_attribute25               =>p_pcr_attribute25
570       ,p_pcr_attribute26               =>p_pcr_attribute26
571       ,p_pcr_attribute27               =>p_pcr_attribute27
572       ,p_pcr_attribute28               =>p_pcr_attribute28
573       ,p_pcr_attribute29               =>p_pcr_attribute29
574       ,p_pcr_attribute30               =>p_pcr_attribute30
575       ,p_request_id                    =>p_request_id
576       ,p_program_application_id        =>p_program_application_id
577       ,p_program_id                    =>p_program_id
578       ,p_program_update_date           =>p_program_update_date
579       ,p_object_version_number         =>l_object_version_number
580       ,p_effective_date                =>p_effective_date
581       ,p_validation_start_date         =>l_validation_start_date
582       ,p_validation_end_date           =>l_validation_end_date);
583     --
584   exception
585     --
586     when hr_api.cannot_find_prog_unit then
587       --
588       hr_api.cannot_find_prog_unit_error
589         (p_module_name => 'ben_per_cm_trgr_f'
590         ,p_hook_type   => 'AI');
591       --
592   end;
593   --
594   -- End of API User Hook for post_insert.
595   --
596   begin
597     --
598     -- Start of API User Hook for the after hook of create_PER_CM_TRGR
599     --
600     ben_PER_CM_TRGR_bk1.create_PER_CM_TRGR_a
601       (p_per_cm_trgr_id                 =>  l_per_cm_trgr_id
602       ,p_effective_start_date           =>  l_effective_start_date
603       ,p_effective_end_date             =>  l_effective_end_date
604       ,p_cm_trgr_id                     =>  p_cm_trgr_id
605       ,p_per_cm_id                      =>  p_per_cm_id
606       ,p_business_group_id              =>  p_business_group_id
607       ,p_pcr_attribute_category         =>  p_pcr_attribute_category
608       ,p_pcr_attribute1                 =>  p_pcr_attribute1
609       ,p_pcr_attribute2                 =>  p_pcr_attribute2
610       ,p_pcr_attribute3                 =>  p_pcr_attribute3
611       ,p_pcr_attribute4                 =>  p_pcr_attribute4
612       ,p_pcr_attribute5                 =>  p_pcr_attribute5
613       ,p_pcr_attribute6                 =>  p_pcr_attribute6
614       ,p_pcr_attribute7                 =>  p_pcr_attribute7
615       ,p_pcr_attribute8                 =>  p_pcr_attribute8
616       ,p_pcr_attribute9                 =>  p_pcr_attribute9
617       ,p_pcr_attribute10                =>  p_pcr_attribute10
618       ,p_pcr_attribute11                =>  p_pcr_attribute11
619       ,p_pcr_attribute12                =>  p_pcr_attribute12
620       ,p_pcr_attribute13                =>  p_pcr_attribute13
621       ,p_pcr_attribute14                =>  p_pcr_attribute14
622       ,p_pcr_attribute15                =>  p_pcr_attribute15
623       ,p_pcr_attribute16                =>  p_pcr_attribute16
624       ,p_pcr_attribute17                =>  p_pcr_attribute17
625       ,p_pcr_attribute18                =>  p_pcr_attribute18
626       ,p_pcr_attribute19                =>  p_pcr_attribute19
627       ,p_pcr_attribute20                =>  p_pcr_attribute20
628       ,p_pcr_attribute21                =>  p_pcr_attribute21
629       ,p_pcr_attribute22                =>  p_pcr_attribute22
630       ,p_pcr_attribute23                =>  p_pcr_attribute23
631       ,p_pcr_attribute24                =>  p_pcr_attribute24
632       ,p_pcr_attribute25                =>  p_pcr_attribute25
633       ,p_pcr_attribute26                =>  p_pcr_attribute26
634       ,p_pcr_attribute27                =>  p_pcr_attribute27
635       ,p_pcr_attribute28                =>  p_pcr_attribute28
636       ,p_pcr_attribute29                =>  p_pcr_attribute29
637       ,p_pcr_attribute30                =>  p_pcr_attribute30
638       ,p_request_id                     =>  p_request_id
639       ,p_program_application_id         =>  p_program_application_id
640       ,p_program_id                     =>  p_program_id
641       ,p_program_update_date            =>  p_program_update_date
642       ,p_object_version_number          =>  l_object_version_number
643       ,p_effective_date                 =>  trunc(p_effective_date));
644     --
645   exception
646     --
647     when hr_api.cannot_find_prog_unit then
648       --
649       hr_api.cannot_find_prog_unit_error
650         (p_module_name => 'CREATE_PER_CM_TRGR'
651         ,p_hook_type   => 'AP');
652     --
653     -- End of API User Hook for the after hook of create_PER_CM_TRGR
654     --
655   end;
656   --
657   -- When in validation only mode raise the Validate_Enabled exception
658   --
659   if p_validate then
660     raise hr_api.validate_enabled;
661   end if;
662   --
663   -- Set all output arguments
664   --
665   p_per_cm_trgr_id := l_per_cm_trgr_id;
666   p_effective_start_date := l_effective_start_date;
667   p_effective_end_date := l_effective_end_date;
668   p_object_version_number := l_object_version_number;
669   --
670 exception
671   --
672   when hr_api.validate_enabled then
673     --
674     -- As the Validate_Enabled exception has been raised
675     -- we must rollback to the savepoint
676     --
677     ROLLBACK TO create_PER_CM_TRGR;
678     --
679     -- Only set output warning arguments
680     -- (Any key or derived arguments must be set to null
681     -- when validation only mode is being used.)
682     --
683     p_per_cm_trgr_id := null;
684     p_effective_start_date := null;
685     p_effective_end_date := null;
686     p_object_version_number  := null;
687     hr_utility.set_location(' Leaving:'||l_proc, 80);
688     --
689   when others then
690     --
691     -- A validation or unexpected error has occured
692     --
693     hr_utility.set_location(sqlerrm,10);
694     ROLLBACK TO create_PER_CM_TRGR;
695     p_per_cm_trgr_id := null;
696     p_effective_start_date := null;
697     p_effective_end_date := null;
698     p_object_version_number  := null;
699     hr_utility.set_location(' Leaving:'||l_proc, 90);
700     raise;
701     --
702 end create_PER_CM_TRGR_perf;
703 -- ----------------------------------------------------------------------------
704 -- |------------------------< update_PER_CM_TRGR >----------------------------|
705 -- ----------------------------------------------------------------------------
706 --
707 procedure update_PER_CM_TRGR
708   (p_validate                       in  boolean   default false
709   ,p_per_cm_trgr_id                 in  number
710   ,p_effective_start_date           out nocopy date
711   ,p_effective_end_date             out nocopy date
712   ,p_cm_trgr_id                     in  number    default hr_api.g_number
713   ,p_per_cm_id                      in  number    default hr_api.g_number
714   ,p_business_group_id              in  number    default hr_api.g_number
715   ,p_pcr_attribute_category         in  varchar2  default hr_api.g_varchar2
716   ,p_pcr_attribute1                 in  varchar2  default hr_api.g_varchar2
717   ,p_pcr_attribute2                 in  varchar2  default hr_api.g_varchar2
718   ,p_pcr_attribute3                 in  varchar2  default hr_api.g_varchar2
719   ,p_pcr_attribute4                 in  varchar2  default hr_api.g_varchar2
720   ,p_pcr_attribute5                 in  varchar2  default hr_api.g_varchar2
721   ,p_pcr_attribute6                 in  varchar2  default hr_api.g_varchar2
722   ,p_pcr_attribute7                 in  varchar2  default hr_api.g_varchar2
723   ,p_pcr_attribute8                 in  varchar2  default hr_api.g_varchar2
724   ,p_pcr_attribute9                 in  varchar2  default hr_api.g_varchar2
725   ,p_pcr_attribute10                in  varchar2  default hr_api.g_varchar2
726   ,p_pcr_attribute11                in  varchar2  default hr_api.g_varchar2
727   ,p_pcr_attribute12                in  varchar2  default hr_api.g_varchar2
728   ,p_pcr_attribute13                in  varchar2  default hr_api.g_varchar2
729   ,p_pcr_attribute14                in  varchar2  default hr_api.g_varchar2
730   ,p_pcr_attribute15                in  varchar2  default hr_api.g_varchar2
731   ,p_pcr_attribute16                in  varchar2  default hr_api.g_varchar2
732   ,p_pcr_attribute17                in  varchar2  default hr_api.g_varchar2
733   ,p_pcr_attribute18                in  varchar2  default hr_api.g_varchar2
734   ,p_pcr_attribute19                in  varchar2  default hr_api.g_varchar2
735   ,p_pcr_attribute20                in  varchar2  default hr_api.g_varchar2
736   ,p_pcr_attribute21                in  varchar2  default hr_api.g_varchar2
737   ,p_pcr_attribute22                in  varchar2  default hr_api.g_varchar2
738   ,p_pcr_attribute23                in  varchar2  default hr_api.g_varchar2
739   ,p_pcr_attribute24                in  varchar2  default hr_api.g_varchar2
740   ,p_pcr_attribute25                in  varchar2  default hr_api.g_varchar2
741   ,p_pcr_attribute26                in  varchar2  default hr_api.g_varchar2
742   ,p_pcr_attribute27                in  varchar2  default hr_api.g_varchar2
743   ,p_pcr_attribute28                in  varchar2  default hr_api.g_varchar2
744   ,p_pcr_attribute29                in  varchar2  default hr_api.g_varchar2
745   ,p_pcr_attribute30                in  varchar2  default hr_api.g_varchar2
746   ,p_request_id                     in  number    default hr_api.g_number
747   ,p_program_application_id         in  number    default hr_api.g_number
748   ,p_program_id                     in  number    default hr_api.g_number
749   ,p_program_update_date            in  date      default hr_api.g_date
750   ,p_object_version_number          in out nocopy number
751   ,p_effective_date                 in  date
752   ,p_datetrack_mode                 in  varchar2) is
753   --
754   -- Declare cursors and local variables
755   --
756   l_proc varchar2(72) := g_package||'update_PER_CM_TRGR';
757   l_object_version_number ben_per_cm_trgr_f.object_version_number%TYPE;
758   l_effective_start_date ben_per_cm_trgr_f.effective_start_date%TYPE;
759   l_effective_end_date ben_per_cm_trgr_f.effective_end_date%TYPE;
760   --
761 begin
762   --
763   hr_utility.set_location('Entering:'|| l_proc, 10);
764   --
765   -- Issue a savepoint if operating in validation only mode
766   --
767   savepoint update_PER_CM_TRGR;
768   --
769   hr_utility.set_location(l_proc, 20);
770   --
771   -- Process Logic
772   --
773   l_object_version_number := p_object_version_number;
774   --
775   begin
776     --
777     -- Start of API User Hook for the before hook of update_PER_CM_TRGR
778     --
779     ben_PER_CM_TRGR_bk2.update_PER_CM_TRGR_b
780       (p_per_cm_trgr_id                 =>  p_per_cm_trgr_id
781       ,p_cm_trgr_id                     =>  p_cm_trgr_id
782       ,p_per_cm_id                      =>  p_per_cm_id
783       ,p_business_group_id              =>  p_business_group_id
784       ,p_pcr_attribute_category         =>  p_pcr_attribute_category
785       ,p_pcr_attribute1                 =>  p_pcr_attribute1
786       ,p_pcr_attribute2                 =>  p_pcr_attribute2
787       ,p_pcr_attribute3                 =>  p_pcr_attribute3
788       ,p_pcr_attribute4                 =>  p_pcr_attribute4
789       ,p_pcr_attribute5                 =>  p_pcr_attribute5
790       ,p_pcr_attribute6                 =>  p_pcr_attribute6
791       ,p_pcr_attribute7                 =>  p_pcr_attribute7
792       ,p_pcr_attribute8                 =>  p_pcr_attribute8
793       ,p_pcr_attribute9                 =>  p_pcr_attribute9
794       ,p_pcr_attribute10                =>  p_pcr_attribute10
795       ,p_pcr_attribute11                =>  p_pcr_attribute11
796       ,p_pcr_attribute12                =>  p_pcr_attribute12
797       ,p_pcr_attribute13                =>  p_pcr_attribute13
798       ,p_pcr_attribute14                =>  p_pcr_attribute14
799       ,p_pcr_attribute15                =>  p_pcr_attribute15
800       ,p_pcr_attribute16                =>  p_pcr_attribute16
801       ,p_pcr_attribute17                =>  p_pcr_attribute17
802       ,p_pcr_attribute18                =>  p_pcr_attribute18
803       ,p_pcr_attribute19                =>  p_pcr_attribute19
804       ,p_pcr_attribute20                =>  p_pcr_attribute20
805       ,p_pcr_attribute21                =>  p_pcr_attribute21
806       ,p_pcr_attribute22                =>  p_pcr_attribute22
807       ,p_pcr_attribute23                =>  p_pcr_attribute23
808       ,p_pcr_attribute24                =>  p_pcr_attribute24
809       ,p_pcr_attribute25                =>  p_pcr_attribute25
810       ,p_pcr_attribute26                =>  p_pcr_attribute26
811       ,p_pcr_attribute27                =>  p_pcr_attribute27
812       ,p_pcr_attribute28                =>  p_pcr_attribute28
813       ,p_pcr_attribute29                =>  p_pcr_attribute29
814       ,p_pcr_attribute30                =>  p_pcr_attribute30
815       ,p_request_id                     =>  p_request_id
816       ,p_program_application_id         =>  p_program_application_id
817       ,p_program_id                     =>  p_program_id
818       ,p_program_update_date            =>  p_program_update_date
819       ,p_object_version_number          =>  p_object_version_number
820       ,p_effective_date                 =>  trunc(p_effective_date)
821       ,p_datetrack_mode                 =>  p_datetrack_mode);
822     --
823   exception
824     --
825     when hr_api.cannot_find_prog_unit then
826       hr_api.cannot_find_prog_unit_error
827         (p_module_name => 'UPDATE_PER_CM_TRGR'
828         ,p_hook_type   => 'BP');
829     --
830     -- End of API User Hook for the before hook of update_PER_CM_TRGR
831     --
832   end;
833   --
834   ben_pcr_upd.upd
835     (p_per_cm_trgr_id                => p_per_cm_trgr_id
836     ,p_effective_start_date          => l_effective_start_date
837     ,p_effective_end_date            => l_effective_end_date
838     ,p_cm_trgr_id                    => p_cm_trgr_id
839     ,p_per_cm_id                     => p_per_cm_id
840     ,p_business_group_id             => p_business_group_id
841     ,p_pcr_attribute_category        => p_pcr_attribute_category
842     ,p_pcr_attribute1                => p_pcr_attribute1
843     ,p_pcr_attribute2                => p_pcr_attribute2
844     ,p_pcr_attribute3                => p_pcr_attribute3
845     ,p_pcr_attribute4                => p_pcr_attribute4
846     ,p_pcr_attribute5                => p_pcr_attribute5
847     ,p_pcr_attribute6                => p_pcr_attribute6
848     ,p_pcr_attribute7                => p_pcr_attribute7
849     ,p_pcr_attribute8                => p_pcr_attribute8
850     ,p_pcr_attribute9                => p_pcr_attribute9
851     ,p_pcr_attribute10               => p_pcr_attribute10
852     ,p_pcr_attribute11               => p_pcr_attribute11
853     ,p_pcr_attribute12               => p_pcr_attribute12
854     ,p_pcr_attribute13               => p_pcr_attribute13
855     ,p_pcr_attribute14               => p_pcr_attribute14
856     ,p_pcr_attribute15               => p_pcr_attribute15
857     ,p_pcr_attribute16               => p_pcr_attribute16
858     ,p_pcr_attribute17               => p_pcr_attribute17
859     ,p_pcr_attribute18               => p_pcr_attribute18
860     ,p_pcr_attribute19               => p_pcr_attribute19
861     ,p_pcr_attribute20               => p_pcr_attribute20
862     ,p_pcr_attribute21               => p_pcr_attribute21
863     ,p_pcr_attribute22               => p_pcr_attribute22
864     ,p_pcr_attribute23               => p_pcr_attribute23
865     ,p_pcr_attribute24               => p_pcr_attribute24
866     ,p_pcr_attribute25               => p_pcr_attribute25
867     ,p_pcr_attribute26               => p_pcr_attribute26
868     ,p_pcr_attribute27               => p_pcr_attribute27
869     ,p_pcr_attribute28               => p_pcr_attribute28
870     ,p_pcr_attribute29               => p_pcr_attribute29
871     ,p_pcr_attribute30               => p_pcr_attribute30
872     ,p_request_id                    => p_request_id
873     ,p_program_application_id        => p_program_application_id
874     ,p_program_id                    => p_program_id
875     ,p_program_update_date           => p_program_update_date
876     ,p_object_version_number         => l_object_version_number
877     ,p_effective_date                => trunc(p_effective_date)
878     ,p_datetrack_mode                => p_datetrack_mode);
879   --
880   begin
881     --
882     -- Start of API User Hook for the after hook of update_PER_CM_TRGR
883     --
884     ben_PER_CM_TRGR_bk2.update_PER_CM_TRGR_a
885       (p_per_cm_trgr_id                 =>  p_per_cm_trgr_id
886       ,p_effective_start_date           =>  l_effective_start_date
887       ,p_effective_end_date             =>  l_effective_end_date
888       ,p_cm_trgr_id                     =>  p_cm_trgr_id
889       ,p_per_cm_id                      =>  p_per_cm_id
890       ,p_business_group_id              =>  p_business_group_id
891       ,p_pcr_attribute_category         =>  p_pcr_attribute_category
892       ,p_pcr_attribute1                 =>  p_pcr_attribute1
893       ,p_pcr_attribute2                 =>  p_pcr_attribute2
894       ,p_pcr_attribute3                 =>  p_pcr_attribute3
895       ,p_pcr_attribute4                 =>  p_pcr_attribute4
896       ,p_pcr_attribute5                 =>  p_pcr_attribute5
897       ,p_pcr_attribute6                 =>  p_pcr_attribute6
898       ,p_pcr_attribute7                 =>  p_pcr_attribute7
899       ,p_pcr_attribute8                 =>  p_pcr_attribute8
900       ,p_pcr_attribute9                 =>  p_pcr_attribute9
901       ,p_pcr_attribute10                =>  p_pcr_attribute10
902       ,p_pcr_attribute11                =>  p_pcr_attribute11
903       ,p_pcr_attribute12                =>  p_pcr_attribute12
904       ,p_pcr_attribute13                =>  p_pcr_attribute13
905       ,p_pcr_attribute14                =>  p_pcr_attribute14
906       ,p_pcr_attribute15                =>  p_pcr_attribute15
907       ,p_pcr_attribute16                =>  p_pcr_attribute16
908       ,p_pcr_attribute17                =>  p_pcr_attribute17
909       ,p_pcr_attribute18                =>  p_pcr_attribute18
910       ,p_pcr_attribute19                =>  p_pcr_attribute19
911       ,p_pcr_attribute20                =>  p_pcr_attribute20
912       ,p_pcr_attribute21                =>  p_pcr_attribute21
913       ,p_pcr_attribute22                =>  p_pcr_attribute22
914       ,p_pcr_attribute23                =>  p_pcr_attribute23
915       ,p_pcr_attribute24                =>  p_pcr_attribute24
916       ,p_pcr_attribute25                =>  p_pcr_attribute25
917       ,p_pcr_attribute26                =>  p_pcr_attribute26
918       ,p_pcr_attribute27                =>  p_pcr_attribute27
919       ,p_pcr_attribute28                =>  p_pcr_attribute28
920       ,p_pcr_attribute29                =>  p_pcr_attribute29
921       ,p_pcr_attribute30                =>  p_pcr_attribute30
922       ,p_request_id                     =>  p_request_id
923       ,p_program_application_id         =>  p_program_application_id
924       ,p_program_id                     =>  p_program_id
925       ,p_program_update_date            =>  p_program_update_date
926       ,p_object_version_number          =>  l_object_version_number
927       ,p_effective_date                 =>  trunc(p_effective_date)
928       ,p_datetrack_mode                 =>  p_datetrack_mode);
929     --
930   exception
931     --
932     when hr_api.cannot_find_prog_unit then
933       --
934       hr_api.cannot_find_prog_unit_error
935         (p_module_name => 'UPDATE_PER_CM_TRGR'
936         ,p_hook_type   => 'AP');
937     --
938     -- End of API User Hook for the after hook of update_PER_CM_TRGR
939     --
940   end;
941   --
942   hr_utility.set_location(l_proc, 60);
943   --
944   -- When in validation only mode raise the Validate_Enabled exception
945   --
946   if p_validate then
947     raise hr_api.validate_enabled;
948   end if;
949   --
950   -- Set all output arguments
951   --
952   p_object_version_number := l_object_version_number;
953   p_effective_start_date := l_effective_start_date;
954   p_effective_end_date := l_effective_end_date;
955   --
956   hr_utility.set_location(' Leaving:'||l_proc, 70);
957   --
958 exception
959   --
960   when hr_api.validate_enabled then
961     --
962     -- As the Validate_Enabled exception has been raised
963     -- we must rollback to the savepoint
964     --
965     ROLLBACK TO update_PER_CM_TRGR;
966     --
967     -- Only set output warning arguments
968     -- (Any key or derived arguments must be set to null
969     -- when validation only mode is being used.)
970     --
971     hr_utility.set_location(' Leaving:'||l_proc, 80);
972     --
973   when others then
974     --
975     -- A validation or unexpected error has occured
976     --
977     ROLLBACK TO update_PER_CM_TRGR;
978     p_effective_start_date := null;
979     p_effective_end_date := null;
980     hr_utility.set_location(' Leaving:'||l_proc, 90);
981     raise;
982     --
983 end update_PER_CM_TRGR;
984 -- ----------------------------------------------------------------------------
985 -- |------------------------< delete_PER_CM_TRGR >----------------------------|
986 -- ----------------------------------------------------------------------------
987 --
988 procedure delete_PER_CM_TRGR
989   (p_validate                       in  boolean  default false
990   ,p_per_cm_trgr_id                 in  number
991   ,p_effective_start_date           out nocopy date
992   ,p_effective_end_date             out nocopy date
993   ,p_object_version_number          in out nocopy number
994   ,p_effective_date                 in  date
995   ,p_datetrack_mode                 in  varchar2) is
996   --
997   -- Declare cursors and local variables
998   --
999   l_proc varchar2(72) := g_package||'update_PER_CM_TRGR';
1000   l_object_version_number ben_per_cm_trgr_f.object_version_number%TYPE;
1001   l_effective_start_date ben_per_cm_trgr_f.effective_start_date%TYPE;
1002   l_effective_end_date ben_per_cm_trgr_f.effective_end_date%TYPE;
1003   --
1004 begin
1005   --
1006   hr_utility.set_location('Entering:'|| l_proc, 10);
1007   --
1008   -- Issue a savepoint if operating in validation only mode
1009   --
1010   savepoint delete_PER_CM_TRGR;
1011   --
1012   hr_utility.set_location(l_proc, 20);
1013   --
1014   -- Process Logic
1015   --
1016   l_object_version_number := p_object_version_number;
1017   --
1018   --
1019   begin
1020     --
1021     -- Start of API User Hook for the before hook of delete_PER_CM_TRGR
1022     --
1023     ben_PER_CM_TRGR_bk3.delete_PER_CM_TRGR_b
1024       (p_per_cm_trgr_id                 =>  p_per_cm_trgr_id
1025       ,p_object_version_number          =>  p_object_version_number
1026       ,p_effective_date                 =>  trunc(p_effective_date)
1027       ,p_datetrack_mode                 =>  p_datetrack_mode);
1028     --
1029   exception
1030     --
1031     when hr_api.cannot_find_prog_unit then
1032       --
1033       hr_api.cannot_find_prog_unit_error
1034         (p_module_name => 'DELETE_PER_CM_TRGR'
1035         ,p_hook_type   => 'BP');
1036     --
1037     -- End of API User Hook for the before hook of delete_PER_CM_TRGR
1038     --
1039   end;
1040   --
1041   ben_pcr_del.del
1042     (p_per_cm_trgr_id                => p_per_cm_trgr_id
1043     ,p_effective_start_date          => l_effective_start_date
1044     ,p_effective_end_date            => l_effective_end_date
1045     ,p_object_version_number         => l_object_version_number
1046     ,p_effective_date                => p_effective_date
1047     ,p_datetrack_mode                => p_datetrack_mode);
1048   --
1049   begin
1050     --
1051     -- Start of API User Hook for the after hook of delete_PER_CM_TRGR
1052     --
1053     ben_PER_CM_TRGR_bk3.delete_PER_CM_TRGR_a
1054       (p_per_cm_trgr_id                 =>  p_per_cm_trgr_id
1055       ,p_effective_start_date           =>  l_effective_start_date
1056       ,p_effective_end_date             =>  l_effective_end_date
1057       ,p_object_version_number          =>  l_object_version_number
1058       ,p_effective_date                 =>  trunc(p_effective_date)
1059       ,p_datetrack_mode                 =>  p_datetrack_mode);
1060     --
1061   exception
1062     --
1063     when hr_api.cannot_find_prog_unit then
1064       --
1065       hr_api.cannot_find_prog_unit_error
1066         (p_module_name => 'DELETE_PER_CM_TRGR'
1067         ,p_hook_type   => 'AP');
1068     --
1069     -- End of API User Hook for the after hook of delete_PER_CM_TRGR
1070     --
1071   end;
1072   --
1073   hr_utility.set_location(l_proc, 60);
1074   --
1075   -- When in validation only mode raise the Validate_Enabled exception
1076   --
1077   if p_validate then
1078     raise hr_api.validate_enabled;
1079   end if;
1080   --
1081   hr_utility.set_location(' Leaving:'||l_proc, 70);
1082   --
1083 exception
1084   --
1085   when hr_api.validate_enabled then
1086     --
1087     -- As the Validate_Enabled exception has been raised
1088     -- we must rollback to the savepoint
1089     --
1090     ROLLBACK TO delete_PER_CM_TRGR;
1091     --
1092     -- Only set output warning arguments
1093     -- (Any key or derived arguments must be set to null
1094     -- when validation only mode is being used.)
1095     --
1096     p_effective_start_date := null;
1097     p_effective_end_date := null;
1098     --
1099   when others then
1100     --
1101     -- A validation or unexpected error has occured
1102     --
1103     ROLLBACK TO delete_PER_CM_TRGR;
1104     p_effective_start_date := null;
1105     p_effective_end_date := null;
1106     hr_utility.set_location(' Leaving:'||l_proc, 90);
1107     raise;
1108     --
1109 end delete_PER_CM_TRGR;
1110 --
1111 -- ----------------------------------------------------------------------------
1112 -- |-------------------------------< lck >------------------------------------|
1113 -- ----------------------------------------------------------------------------
1114 --
1115 procedure lck
1116   (p_per_cm_trgr_id                 in     number
1117   ,p_object_version_number          in     number
1118   ,p_effective_date                 in     date
1119   ,p_datetrack_mode                 in     varchar2
1120   ,p_validation_start_date          out nocopy    date
1121   ,p_validation_end_date            out nocopy    date) is
1122   --
1123   --
1124   -- Declare cursors and local variables
1125   --
1126   l_proc varchar2(72) := g_package||'lck';
1127   l_validation_start_date date;
1128   l_validation_end_date date;
1129   --
1130 begin
1131   --
1132   hr_utility.set_location('Entering:'|| l_proc, 10);
1133   --
1134   ben_pcr_shd.lck
1135     (p_per_cm_trgr_id             => p_per_cm_trgr_id
1136     ,p_validation_start_date      => l_validation_start_date
1137     ,p_validation_end_date        => l_validation_end_date
1138     ,p_object_version_number      => p_object_version_number
1139     ,p_effective_date             => p_effective_date
1140     ,p_datetrack_mode             => p_datetrack_mode);
1141   --
1142   hr_utility.set_location(' Leaving:'||l_proc, 70);
1143   --
1144 end lck;
1145 --
1146 end ben_PER_CM_TRGR_api;