DBA Data[Home] [Help]

PACKAGE BODY: APPS.OTA_TPC_API

Source


1 Package Body OTA_TPC_API as
2 /* $Header: ottpcapi.pkb 115.4 2002/11/25 13:45:13 hwinsor noship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  OTA_TPC_API.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-------------------------< CREATE_COST >----------------------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_cost
13   (p_validate                      in     boolean  default false
14   ,p_effective_date                in     date
15   ,p_business_group_id             in     number
16   ,p_tp_measurement_type_id        in     number
17   ,p_training_plan_id              in     number
18   ,p_amount                        in     number
19   ,p_booking_id                    in     number   default null
20   ,p_event_id                      in     number   default null
21   ,p_currency_code                 in     varchar2 default null
22   ,p_attribute_category            in     varchar2 default null
23   ,p_attribute1                    in     varchar2 default null
24   ,p_attribute2                    in     varchar2 default null
25   ,p_attribute3                    in     varchar2 default null
26   ,p_attribute4                    in     varchar2 default null
27   ,p_attribute5                    in     varchar2 default null
28   ,p_attribute6                    in     varchar2 default null
29   ,p_attribute7                    in     varchar2 default null
30   ,p_attribute8                    in     varchar2 default null
31   ,p_attribute9                    in     varchar2 default null
32   ,p_attribute10                   in     varchar2 default null
33   ,p_attribute11                   in     varchar2 default null
34   ,p_attribute12                   in     varchar2 default null
35   ,p_attribute13                   in     varchar2 default null
36   ,p_attribute14                   in     varchar2 default null
37   ,p_attribute15                   in     varchar2 default null
38   ,p_attribute16                   in     varchar2 default null
39   ,p_attribute17                   in     varchar2 default null
40   ,p_attribute18                   in     varchar2 default null
41   ,p_attribute19                   in     varchar2 default null
42   ,p_attribute20                   in     varchar2 default null
43   ,p_attribute21                   in     varchar2 default null
44   ,p_attribute22                   in     varchar2 default null
45   ,p_attribute23                   in     varchar2 default null
46   ,p_attribute24                   in     varchar2 default null
47   ,p_attribute25                   in     varchar2 default null
48   ,p_attribute26                   in     varchar2 default null
49   ,p_attribute27                   in     varchar2 default null
50   ,p_attribute28                   in     varchar2 default null
51   ,p_attribute29                   in     varchar2 default null
52   ,p_attribute30                   in     varchar2 default null
53   ,p_information_category          in     varchar2 default null
54   ,p_tp_cost_information1          in     varchar2 default null
55   ,p_tp_cost_information2          in     varchar2 default null
56   ,p_tp_cost_information3          in     varchar2 default null
57   ,p_tp_cost_information4          in     varchar2 default null
58   ,p_tp_cost_information5          in     varchar2 default null
59   ,p_tp_cost_information6          in     varchar2 default null
60   ,p_tp_cost_information7          in     varchar2 default null
61   ,p_tp_cost_information8          in     varchar2 default null
62   ,p_tp_cost_information9          in     varchar2 default null
63   ,p_tp_cost_information10         in     varchar2 default null
64   ,p_tp_cost_information11         in     varchar2 default null
65   ,p_tp_cost_information12         in     varchar2 default null
66   ,p_tp_cost_information13         in     varchar2 default null
67   ,p_tp_cost_information14         in     varchar2 default null
68   ,p_tp_cost_information15         in     varchar2 default null
69   ,p_tp_cost_information16         in     varchar2 default null
70   ,p_tp_cost_information17         in     varchar2 default null
71   ,p_tp_cost_information18         in     varchar2 default null
72   ,p_tp_cost_information19         in     varchar2 default null
73   ,p_tp_cost_information20         in     varchar2 default null
74   ,p_tp_cost_information21         in     varchar2 default null
75   ,p_tp_cost_information22         in     varchar2 default null
76   ,p_tp_cost_information23         in     varchar2 default null
77   ,p_tp_cost_information24         in     varchar2 default null
78   ,p_tp_cost_information25         in     varchar2 default null
79   ,p_tp_cost_information26         in     varchar2 default null
80   ,p_tp_cost_information27         in     varchar2 default null
81   ,p_tp_cost_information28         in     varchar2 default null
82   ,p_tp_cost_information29         in     varchar2 default null
83   ,p_tp_cost_information30         in     varchar2 default null
84   ,p_training_plan_cost_id            out nocopy number
85   ,p_object_version_number            out nocopy number
86   ) is
87   --
88   -- Declare cursors and local variables
89   --
90   l_proc                    varchar2(72) := g_package||' Create Cost';
91   l_training_plan_cost_id   number;
92   l_object_version_number   number;
93   l_effective_date          date;
94 begin
95   hr_utility.set_location('Entering:'|| l_proc, 10);
96   --
97   -- Issue a savepoint
98   --
99   savepoint create_cost;
100   --
101   -- Truncate the time portion from all IN date parameters
102   --
103   l_effective_date := trunc(p_effective_date);
104   --
105   -- Call Before Process User Hook
106   --
107   begin
108     ota_tpc_api_bk1.create_cost_b(
109    p_effective_date              => l_effective_date
110   ,p_business_group_id           => p_business_group_id
111   ,p_tp_measurement_type_id      => p_tp_measurement_type_id
112   ,p_training_plan_id            => p_training_plan_id
113   ,p_amount                      => p_amount
114   ,p_booking_id                  => p_booking_id
115   ,p_event_id                    => p_event_id
116   ,p_currency_code               => p_currency_code
117   ,p_attribute_category          => p_attribute_category
118   ,p_attribute1                  => p_attribute1
119   ,p_attribute2                  => p_attribute2
120   ,p_attribute3                  => p_attribute3
121   ,p_attribute4                  => p_attribute4
122   ,p_attribute5                  => p_attribute5
123   ,p_attribute6                  => p_attribute6
124   ,p_attribute7                  => p_attribute7
125   ,p_attribute8                  => p_attribute8
126   ,p_attribute9                  => p_attribute9
127   ,p_attribute10                 => p_attribute10
128   ,p_attribute11                 => p_attribute11
129   ,p_attribute12                 => p_attribute12
130   ,p_attribute13                 => p_attribute13
131   ,p_attribute14                 => p_attribute14
132   ,p_attribute15                 => p_attribute15
133   ,p_attribute16                 => p_attribute16
134   ,p_attribute17                 => p_attribute17
135   ,p_attribute18                 => p_attribute18
136   ,p_attribute19                 => p_attribute19
137   ,p_attribute20                 => p_attribute20
138   ,p_attribute21                 => p_attribute21
139   ,p_attribute22                 => p_attribute22
140   ,p_attribute23                 => p_attribute23
141   ,p_attribute24                 => p_attribute24
142   ,p_attribute25                 => p_attribute25
143   ,p_attribute26                 => p_attribute26
144   ,p_attribute27                 => p_attribute27
145   ,p_attribute28                 => p_attribute28
146   ,p_attribute29                 => p_attribute29
147   ,p_attribute30                 => p_attribute30
148   ,p_information_category        => p_information_category
149   ,p_tp_cost_information1        => p_tp_cost_information1
150   ,p_tp_cost_information2        => p_tp_cost_information2
151   ,p_tp_cost_information3        => p_tp_cost_information3
152   ,p_tp_cost_information4        => p_tp_cost_information4
153   ,p_tp_cost_information5        => p_tp_cost_information5
154   ,p_tp_cost_information6        => p_tp_cost_information6
155   ,p_tp_cost_information7        => p_tp_cost_information7
156   ,p_tp_cost_information8        => p_tp_cost_information8
157   ,p_tp_cost_information9        => p_tp_cost_information9
158   ,p_tp_cost_information10       => p_tp_cost_information10
159   ,p_tp_cost_information11       => p_tp_cost_information11
160   ,p_tp_cost_information12       => p_tp_cost_information12
161   ,p_tp_cost_information13       => p_tp_cost_information13
162   ,p_tp_cost_information14       => p_tp_cost_information14
163   ,p_tp_cost_information15       => p_tp_cost_information15
164   ,p_tp_cost_information16       => p_tp_cost_information16
165   ,p_tp_cost_information17       => p_tp_cost_information17
166   ,p_tp_cost_information18       => p_tp_cost_information18
167   ,p_tp_cost_information19       => p_tp_cost_information19
168   ,p_tp_cost_information20       => p_tp_cost_information20
169   ,p_tp_cost_information21       => p_tp_cost_information21
170   ,p_tp_cost_information22       => p_tp_cost_information22
171   ,p_tp_cost_information23       => p_tp_cost_information23
172   ,p_tp_cost_information24       => p_tp_cost_information24
173   ,p_tp_cost_information25       => p_tp_cost_information25
174   ,p_tp_cost_information26       => p_tp_cost_information26
175   ,p_tp_cost_information27       => p_tp_cost_information27
176   ,p_tp_cost_information28       => p_tp_cost_information28
177   ,p_tp_cost_information29       => p_tp_cost_information29
178   ,p_tp_cost_information30       => p_tp_cost_information30
179   );
180   exception
181     when hr_api.cannot_find_prog_unit then
182       hr_api.cannot_find_prog_unit_error
183         (p_module_name => 'Create_cost'
184         ,p_hook_type   => 'BP'
185         );
186   end;
187   --
188   -- Validation in addition to Row Handlers
189   --
190   --
191   -- Process Logic
192   --
193   ota_tpc_ins.ins
194   (p_effective_date                 => l_effective_date
195   ,p_tp_measurement_type_id         => p_tp_measurement_type_id
196   ,p_training_plan_id               => p_training_plan_id
197   ,p_amount                         => p_amount
198   ,p_booking_id                     => p_booking_id
199   ,p_event_id                       => p_event_id
200   ,p_business_group_id              => p_business_group_id
201   ,p_currency_code                  => p_currency_code
202   ,p_attribute_category             => p_attribute_category
203   ,p_attribute1                     => p_attribute1
204   ,p_attribute2                     => p_attribute2
205   ,p_attribute3                     => p_attribute3
206   ,p_attribute4                     => p_attribute4
207   ,p_attribute5                     => p_attribute5
208   ,p_attribute6                     => p_attribute6
209   ,p_attribute7                     => p_attribute7
210   ,p_attribute8                     => p_attribute8
211   ,p_attribute9                     => p_attribute9
212   ,p_attribute10                    => p_attribute10
213   ,p_attribute11                    => p_attribute11
214   ,p_attribute12                    => p_attribute12
215   ,p_attribute13                    => p_attribute13
216   ,p_attribute14                    => p_attribute14
217   ,p_attribute15                    => p_attribute15
218   ,p_attribute16                    => p_attribute16
219   ,p_attribute17                    => p_attribute17
220   ,p_attribute18                    => p_attribute18
221   ,p_attribute19                    => p_attribute19
222   ,p_attribute20                    => p_attribute20
223   ,p_attribute21                    => p_attribute21
224   ,p_attribute22                    => p_attribute22
225   ,p_attribute23                    => p_attribute23
226   ,p_attribute24                    => p_attribute24
227   ,p_attribute25                    => p_attribute25
228   ,p_attribute26                    => p_attribute26
229   ,p_attribute27                    => p_attribute27
230   ,p_attribute28                    => p_attribute28
231   ,p_attribute29                    => p_attribute29
232   ,p_attribute30                    => p_attribute30
233   ,p_information_category           => p_information_category
234   ,p_tp_cost_information1           => p_tp_cost_information1
235   ,p_tp_cost_information2           => p_tp_cost_information2
236   ,p_tp_cost_information3           => p_tp_cost_information3
237   ,p_tp_cost_information4           => p_tp_cost_information4
238   ,p_tp_cost_information5           => p_tp_cost_information5
239   ,p_tp_cost_information6           => p_tp_cost_information6
240   ,p_tp_cost_information7           => p_tp_cost_information7
241   ,p_tp_cost_information8           => p_tp_cost_information8
242   ,p_tp_cost_information9           => p_tp_cost_information9
243   ,p_tp_cost_information10          => p_tp_cost_information10
244   ,p_tp_cost_information11          => p_tp_cost_information11
245   ,p_tp_cost_information12          => p_tp_cost_information12
246   ,p_tp_cost_information13          => p_tp_cost_information13
247   ,p_tp_cost_information14          => p_tp_cost_information14
248   ,p_tp_cost_information15          => p_tp_cost_information15
249   ,p_tp_cost_information16          => p_tp_cost_information16
250   ,p_tp_cost_information17          => p_tp_cost_information17
251   ,p_tp_cost_information18          => p_tp_cost_information18
252   ,p_tp_cost_information19          => p_tp_cost_information19
253   ,p_tp_cost_information20          => p_tp_cost_information20
254   ,p_tp_cost_information21          => p_tp_cost_information21
255   ,p_tp_cost_information22          => p_tp_cost_information22
256   ,p_tp_cost_information23          => p_tp_cost_information23
257   ,p_tp_cost_information24          => p_tp_cost_information24
258   ,p_tp_cost_information25          => p_tp_cost_information25
259   ,p_tp_cost_information26          => p_tp_cost_information26
260   ,p_tp_cost_information27          => p_tp_cost_information27
261   ,p_tp_cost_information28          => p_tp_cost_information28
262   ,p_tp_cost_information29          => p_tp_cost_information29
263   ,p_tp_cost_information30          => p_tp_cost_information30
264   ,p_training_plan_cost_id          => l_training_plan_cost_id
265   ,p_object_version_number          => l_object_version_number);
266   --
267   -- Call After Process User Hook
268   --
269   begin
270   ota_tpc_api_bk1.create_cost_a
271   (p_effective_date              => l_effective_date
272   ,p_training_plan_cost_id       => l_training_plan_cost_id
273   ,p_object_version_number       => l_object_version_number
274   ,p_business_group_id           => p_business_group_id
275   ,p_tp_measurement_type_id      => p_tp_measurement_type_id
276   ,p_training_plan_id            => p_training_plan_id
277   ,p_amount                      => p_amount
278   ,p_booking_id                  => p_booking_id
279   ,p_event_id                    => p_event_id
280   ,p_currency_code               => p_currency_code
281   ,p_attribute_category          => p_attribute_category
282   ,p_attribute1                  => p_attribute1
283   ,p_attribute2                  => p_attribute2
284   ,p_attribute3                  => p_attribute3
285   ,p_attribute4                  => p_attribute4
286   ,p_attribute5                  => p_attribute5
287   ,p_attribute6                  => p_attribute6
288   ,p_attribute7                  => p_attribute7
289   ,p_attribute8                  => p_attribute8
290   ,p_attribute9                  => p_attribute9
291   ,p_attribute10                 => p_attribute10
292   ,p_attribute11                 => p_attribute11
293   ,p_attribute12                 => p_attribute12
294   ,p_attribute13                 => p_attribute13
295   ,p_attribute14                 => p_attribute14
296   ,p_attribute15                 => p_attribute15
300   ,p_attribute19                 => p_attribute19
297   ,p_attribute16                 => p_attribute16
298   ,p_attribute17                 => p_attribute17
299   ,p_attribute18                 => p_attribute18
301   ,p_attribute20                 => p_attribute20
302   ,p_attribute21                 => p_attribute21
303   ,p_attribute22                 => p_attribute22
304   ,p_attribute23                 => p_attribute23
305   ,p_attribute24                 => p_attribute24
306   ,p_attribute25                 => p_attribute25
307   ,p_attribute26                 => p_attribute26
308   ,p_attribute27                 => p_attribute27
309   ,p_attribute28                 => p_attribute28
310   ,p_attribute29                 => p_attribute29
311   ,p_attribute30                 => p_attribute30
312   ,p_information_category        => p_information_category
313   ,p_tp_cost_information1        => p_tp_cost_information1
314   ,p_tp_cost_information2        => p_tp_cost_information2
315   ,p_tp_cost_information3        => p_tp_cost_information3
316   ,p_tp_cost_information4        => p_tp_cost_information4
317   ,p_tp_cost_information5        => p_tp_cost_information5
318   ,p_tp_cost_information6        => p_tp_cost_information6
319   ,p_tp_cost_information7        => p_tp_cost_information7
320   ,p_tp_cost_information8        => p_tp_cost_information8
321   ,p_tp_cost_information9        => p_tp_cost_information9
322   ,p_tp_cost_information10       => p_tp_cost_information10
323   ,p_tp_cost_information11       => p_tp_cost_information11
324   ,p_tp_cost_information12       => p_tp_cost_information12
325   ,p_tp_cost_information13       => p_tp_cost_information13
326   ,p_tp_cost_information14       => p_tp_cost_information14
327   ,p_tp_cost_information15       => p_tp_cost_information15
328   ,p_tp_cost_information16       => p_tp_cost_information16
329   ,p_tp_cost_information17       => p_tp_cost_information17
330   ,p_tp_cost_information18       => p_tp_cost_information18
331   ,p_tp_cost_information19       => p_tp_cost_information19
332   ,p_tp_cost_information20       => p_tp_cost_information20
333   ,p_tp_cost_information21       => p_tp_cost_information21
334   ,p_tp_cost_information22       => p_tp_cost_information22
335   ,p_tp_cost_information23       => p_tp_cost_information23
336   ,p_tp_cost_information24       => p_tp_cost_information24
337   ,p_tp_cost_information25       => p_tp_cost_information25
338   ,p_tp_cost_information26       => p_tp_cost_information26
339   ,p_tp_cost_information27       => p_tp_cost_information27
340   ,p_tp_cost_information28       => p_tp_cost_information28
341   ,p_tp_cost_information29       => p_tp_cost_information29
342   ,p_tp_cost_information30       => p_tp_cost_information30
343   );
344   exception
345     when hr_api.cannot_find_prog_unit then
346       hr_api.cannot_find_prog_unit_error
347         (p_module_name => 'create_cost'
348         ,p_hook_type   => 'AP'
349         );
350   end;
351   --
352   -- When in validation only mode raise the Validate_Enabled exception
353   --
354   if p_validate then
355     raise hr_api.validate_enabled;
356   end if;
357   --
358   -- Set all output arguments
359   --
360   p_training_plan_cost_id  := l_training_plan_cost_id;
361   p_object_version_number  := l_object_version_number;
362   --
363   hr_utility.set_location(' Leaving:'||l_proc, 70);
364 exception
365   when hr_api.validate_enabled then
366     --
367     -- As the Validate_Enabled exception has been raised
368     -- we must rollback to the savepoint
369     --
370     rollback to create_cost;
371     --
372     -- Only set output warning arguments
373     -- (Any key or derived arguments must be set to null
374     -- when validation only mode is being used.)
375     --
376     p_training_plan_cost_id  := null;
377     p_object_version_number  := null;
378     hr_utility.set_location(' Leaving:'||l_proc, 80);
379   when others then
380     --
381     -- A validation or unexpected error has occured
382     --
383     rollback to create_cost;
384     p_training_plan_cost_id  := null;
385     p_object_version_number  := null;
386     hr_utility.set_location(' Leaving:'||l_proc, 90);
387     raise;
388 end create_cost;
389 -- ----------------------------------------------------------------------------
390 -- |-------------------------< UPDATE_COST >----------------------------------|
391 -- ----------------------------------------------------------------------------
392 --
393 procedure update_cost
394   (p_validate                      in     boolean  default false
395   ,p_effective_date                in     date
396   ,p_training_plan_cost_id         in     number
397   ,p_object_version_number         in out nocopy number
398   ,p_amount                        in     number   default hr_api.g_number
399   ,p_currency_code                 in     varchar2 default hr_api.g_varchar2
400   ,p_attribute_category            in     varchar2 default hr_api.g_varchar2
401   ,p_attribute1                    in     varchar2 default hr_api.g_varchar2
402   ,p_attribute2                    in     varchar2 default hr_api.g_varchar2
403   ,p_attribute3                    in     varchar2 default hr_api.g_varchar2
404   ,p_attribute4                    in     varchar2 default hr_api.g_varchar2
405   ,p_attribute5                    in     varchar2 default hr_api.g_varchar2
406   ,p_attribute6                    in     varchar2 default hr_api.g_varchar2
407   ,p_attribute7                    in     varchar2 default hr_api.g_varchar2
411   ,p_attribute11                   in     varchar2 default hr_api.g_varchar2
408   ,p_attribute8                    in     varchar2 default hr_api.g_varchar2
409   ,p_attribute9                    in     varchar2 default hr_api.g_varchar2
410   ,p_attribute10                   in     varchar2 default hr_api.g_varchar2
412   ,p_attribute12                   in     varchar2 default hr_api.g_varchar2
413   ,p_attribute13                   in     varchar2 default hr_api.g_varchar2
414   ,p_attribute14                   in     varchar2 default hr_api.g_varchar2
415   ,p_attribute15                   in     varchar2 default hr_api.g_varchar2
416   ,p_attribute16                   in     varchar2 default hr_api.g_varchar2
417   ,p_attribute17                   in     varchar2 default hr_api.g_varchar2
418   ,p_attribute18                   in     varchar2 default hr_api.g_varchar2
419   ,p_attribute19                   in     varchar2 default hr_api.g_varchar2
420   ,p_attribute20                   in     varchar2 default hr_api.g_varchar2
421   ,p_attribute21                   in     varchar2 default hr_api.g_varchar2
422   ,p_attribute22                   in     varchar2 default hr_api.g_varchar2
423   ,p_attribute23                   in     varchar2 default hr_api.g_varchar2
424   ,p_attribute24                   in     varchar2 default hr_api.g_varchar2
425   ,p_attribute25                   in     varchar2 default hr_api.g_varchar2
426   ,p_attribute26                   in     varchar2 default hr_api.g_varchar2
427   ,p_attribute27                   in     varchar2 default hr_api.g_varchar2
428   ,p_attribute28                   in     varchar2 default hr_api.g_varchar2
429   ,p_attribute29                   in     varchar2 default hr_api.g_varchar2
430   ,p_attribute30                   in     varchar2 default hr_api.g_varchar2
431   ,p_information_category          in     varchar2 default hr_api.g_varchar2
432   ,p_tp_cost_information1          in     varchar2 default hr_api.g_varchar2
433   ,p_tp_cost_information2          in     varchar2 default hr_api.g_varchar2
434   ,p_tp_cost_information3          in     varchar2 default hr_api.g_varchar2
435   ,p_tp_cost_information4          in     varchar2 default hr_api.g_varchar2
436   ,p_tp_cost_information5          in     varchar2 default hr_api.g_varchar2
437   ,p_tp_cost_information6          in     varchar2 default hr_api.g_varchar2
438   ,p_tp_cost_information7          in     varchar2 default hr_api.g_varchar2
439   ,p_tp_cost_information8          in     varchar2 default hr_api.g_varchar2
440   ,p_tp_cost_information9          in     varchar2 default hr_api.g_varchar2
441   ,p_tp_cost_information10         in     varchar2 default hr_api.g_varchar2
442   ,p_tp_cost_information11         in     varchar2 default hr_api.g_varchar2
443   ,p_tp_cost_information12         in     varchar2 default hr_api.g_varchar2
444   ,p_tp_cost_information13         in     varchar2 default hr_api.g_varchar2
445   ,p_tp_cost_information14         in     varchar2 default hr_api.g_varchar2
446   ,p_tp_cost_information15         in     varchar2 default hr_api.g_varchar2
447   ,p_tp_cost_information16         in     varchar2 default hr_api.g_varchar2
448   ,p_tp_cost_information17         in     varchar2 default hr_api.g_varchar2
449   ,p_tp_cost_information18         in     varchar2 default hr_api.g_varchar2
450   ,p_tp_cost_information19         in     varchar2 default hr_api.g_varchar2
451   ,p_tp_cost_information20         in     varchar2 default hr_api.g_varchar2
452   ,p_tp_cost_information21         in     varchar2 default hr_api.g_varchar2
453   ,p_tp_cost_information22         in     varchar2 default hr_api.g_varchar2
454   ,p_tp_cost_information23         in     varchar2 default hr_api.g_varchar2
455   ,p_tp_cost_information24         in     varchar2 default hr_api.g_varchar2
456   ,p_tp_cost_information25         in     varchar2 default hr_api.g_varchar2
457   ,p_tp_cost_information26         in     varchar2 default hr_api.g_varchar2
458   ,p_tp_cost_information27         in     varchar2 default hr_api.g_varchar2
459   ,p_tp_cost_information28         in     varchar2 default hr_api.g_varchar2
460   ,p_tp_cost_information29         in     varchar2 default hr_api.g_varchar2
461   ,p_tp_cost_information30         in     varchar2 default hr_api.g_varchar2
462   ) is
463   --
464   -- Declare cursors and local variables
465   --
466   l_proc                    varchar2(72) := g_package||' Update Cost';
467   l_object_version_number   number       := p_object_version_number;
468   l_effective_date          date;
469 begin
470   hr_utility.set_location('Entering:'|| l_proc, 10);
471   --
472   -- Issue a savepoint
473   --
474   savepoint update_cost;
475   --
476   -- Truncate the time portion from all IN date parameters
477   --
478   l_effective_date := trunc(p_effective_date);
479   --
480   -- Call Before Process User Hook
481   --
482   begin
483     ota_tpc_api_bk2.update_cost_b
484   (p_effective_date              => l_effective_date
485   ,p_training_plan_cost_id       => p_training_plan_cost_id
486   ,p_object_version_number       => p_object_version_number
487   ,p_amount                      => p_amount
488   ,p_currency_code               => p_currency_code
489   ,p_attribute_category          => p_attribute_category
490   ,p_attribute1                  => p_attribute1
491   ,p_attribute2                  => p_attribute2
492   ,p_attribute3                  => p_attribute3
493   ,p_attribute4                  => p_attribute4
494   ,p_attribute5                  => p_attribute5
495   ,p_attribute6                  => p_attribute6
496   ,p_attribute7                  => p_attribute7
497   ,p_attribute8                  => p_attribute8
498   ,p_attribute9                  => p_attribute9
502   ,p_attribute13                 => p_attribute13
499   ,p_attribute10                 => p_attribute10
500   ,p_attribute11                 => p_attribute11
501   ,p_attribute12                 => p_attribute12
503   ,p_attribute14                 => p_attribute14
504   ,p_attribute15                 => p_attribute15
505   ,p_attribute16                 => p_attribute16
506   ,p_attribute17                 => p_attribute17
507   ,p_attribute18                 => p_attribute18
508   ,p_attribute19                 => p_attribute19
509   ,p_attribute20                 => p_attribute20
510   ,p_attribute21                 => p_attribute21
511   ,p_attribute22                 => p_attribute22
512   ,p_attribute23                 => p_attribute23
513   ,p_attribute24                 => p_attribute24
514   ,p_attribute25                 => p_attribute25
515   ,p_attribute26                 => p_attribute26
516   ,p_attribute27                 => p_attribute27
517   ,p_attribute28                 => p_attribute28
518   ,p_attribute29                 => p_attribute29
519   ,p_attribute30                 => p_attribute30
520   ,p_information_category        => p_information_category
521   ,p_tp_cost_information1        => p_tp_cost_information1
522   ,p_tp_cost_information2        => p_tp_cost_information2
523   ,p_tp_cost_information3        => p_tp_cost_information3
524   ,p_tp_cost_information4        => p_tp_cost_information4
525   ,p_tp_cost_information5        => p_tp_cost_information5
526   ,p_tp_cost_information6        => p_tp_cost_information6
527   ,p_tp_cost_information7        => p_tp_cost_information7
528   ,p_tp_cost_information8        => p_tp_cost_information8
529   ,p_tp_cost_information9        => p_tp_cost_information9
530   ,p_tp_cost_information10       => p_tp_cost_information10
531   ,p_tp_cost_information11       => p_tp_cost_information11
532   ,p_tp_cost_information12       => p_tp_cost_information12
533   ,p_tp_cost_information13       => p_tp_cost_information13
534   ,p_tp_cost_information14       => p_tp_cost_information14
535   ,p_tp_cost_information15       => p_tp_cost_information15
536   ,p_tp_cost_information16       => p_tp_cost_information16
537   ,p_tp_cost_information17       => p_tp_cost_information17
538   ,p_tp_cost_information18       => p_tp_cost_information18
539   ,p_tp_cost_information19       => p_tp_cost_information19
540   ,p_tp_cost_information20       => p_tp_cost_information20
541   ,p_tp_cost_information21       => p_tp_cost_information21
542   ,p_tp_cost_information22       => p_tp_cost_information22
543   ,p_tp_cost_information23       => p_tp_cost_information23
544   ,p_tp_cost_information24       => p_tp_cost_information24
545   ,p_tp_cost_information25       => p_tp_cost_information25
546   ,p_tp_cost_information26       => p_tp_cost_information26
547   ,p_tp_cost_information27       => p_tp_cost_information27
548   ,p_tp_cost_information28       => p_tp_cost_information28
549   ,p_tp_cost_information29       => p_tp_cost_information29
550   ,p_tp_cost_information30       => p_tp_cost_information30
551   );
552   exception
553     when hr_api.cannot_find_prog_unit then
554       hr_api.cannot_find_prog_unit_error
555         (p_module_name => 'Update_cost'
556         ,p_hook_type   => 'BP'
557         );
558   end;
559   --
560   -- Validation in addition to Row Handlers
561   --
562   --
563   -- Process Logic
564   --
565   ota_tpc_upd.upd
566   (p_effective_date                 => l_effective_date
567   ,p_training_plan_cost_id          => p_training_plan_cost_id
568   ,p_object_version_number          => l_object_version_number
569   ,p_amount                         => p_amount
570   ,p_currency_code                  => p_currency_code
571   ,p_attribute_category             => p_attribute_category
572   ,p_attribute1                     => p_attribute1
573   ,p_attribute2                     => p_attribute2
574   ,p_attribute3                     => p_attribute3
575   ,p_attribute4                     => p_attribute4
576   ,p_attribute5                     => p_attribute5
577   ,p_attribute6                     => p_attribute6
578   ,p_attribute7                     => p_attribute7
579   ,p_attribute8                     => p_attribute8
580   ,p_attribute9                     => p_attribute9
581   ,p_attribute10                    => p_attribute10
582   ,p_attribute11                    => p_attribute11
583   ,p_attribute12                    => p_attribute12
584   ,p_attribute13                    => p_attribute13
585   ,p_attribute14                    => p_attribute14
586   ,p_attribute15                    => p_attribute15
587   ,p_attribute16                    => p_attribute16
588   ,p_attribute17                    => p_attribute17
589   ,p_attribute18                    => p_attribute18
590   ,p_attribute19                    => p_attribute19
591   ,p_attribute20                    => p_attribute20
592   ,p_attribute21                    => p_attribute21
593   ,p_attribute22                    => p_attribute22
594   ,p_attribute23                    => p_attribute23
595   ,p_attribute24                    => p_attribute24
596   ,p_attribute25                    => p_attribute25
597   ,p_attribute26                    => p_attribute26
598   ,p_attribute27                    => p_attribute27
599   ,p_attribute28                    => p_attribute28
600   ,p_attribute29                    => p_attribute29
601   ,p_attribute30                    => p_attribute30
602   ,p_information_category           => p_information_category
603   ,p_tp_cost_information1           => p_tp_cost_information1
607   ,p_tp_cost_information5           => p_tp_cost_information5
604   ,p_tp_cost_information2           => p_tp_cost_information2
605   ,p_tp_cost_information3           => p_tp_cost_information3
606   ,p_tp_cost_information4           => p_tp_cost_information4
608   ,p_tp_cost_information6           => p_tp_cost_information6
609   ,p_tp_cost_information7           => p_tp_cost_information7
610   ,p_tp_cost_information8           => p_tp_cost_information8
611   ,p_tp_cost_information9           => p_tp_cost_information9
612   ,p_tp_cost_information10          => p_tp_cost_information10
613   ,p_tp_cost_information11          => p_tp_cost_information11
614   ,p_tp_cost_information12          => p_tp_cost_information12
615   ,p_tp_cost_information13          => p_tp_cost_information13
616   ,p_tp_cost_information14          => p_tp_cost_information14
617   ,p_tp_cost_information15          => p_tp_cost_information15
618   ,p_tp_cost_information16          => p_tp_cost_information16
619   ,p_tp_cost_information17          => p_tp_cost_information17
620   ,p_tp_cost_information18          => p_tp_cost_information18
621   ,p_tp_cost_information19          => p_tp_cost_information19
622   ,p_tp_cost_information20          => p_tp_cost_information20
623   ,p_tp_cost_information21          => p_tp_cost_information21
624   ,p_tp_cost_information22          => p_tp_cost_information22
625   ,p_tp_cost_information23          => p_tp_cost_information23
626   ,p_tp_cost_information24          => p_tp_cost_information24
627   ,p_tp_cost_information25          => p_tp_cost_information25
628   ,p_tp_cost_information26          => p_tp_cost_information26
629   ,p_tp_cost_information27          => p_tp_cost_information27
630   ,p_tp_cost_information28          => p_tp_cost_information28
631   ,p_tp_cost_information29          => p_tp_cost_information29
632   ,p_tp_cost_information30          => p_tp_cost_information30);
633   --
634   -- Call After Process User Hook
635   --
636   begin
637   ota_tpc_api_bk2.update_cost_a
638   (p_effective_date              => l_effective_date
639   ,p_training_plan_cost_id       => p_training_plan_cost_id
640   ,p_object_version_number       => l_object_version_number
641   ,p_amount                      => p_amount
642   ,p_currency_code               => p_currency_code
643   ,p_attribute_category          => p_attribute_category
644   ,p_attribute1                  => p_attribute1
645   ,p_attribute2                  => p_attribute2
646   ,p_attribute3                  => p_attribute3
647   ,p_attribute4                  => p_attribute4
648   ,p_attribute5                  => p_attribute5
649   ,p_attribute6                  => p_attribute6
650   ,p_attribute7                  => p_attribute7
651   ,p_attribute8                  => p_attribute8
652   ,p_attribute9                  => p_attribute9
653   ,p_attribute10                 => p_attribute10
654   ,p_attribute11                 => p_attribute11
655   ,p_attribute12                 => p_attribute12
656   ,p_attribute13                 => p_attribute13
657   ,p_attribute14                 => p_attribute14
658   ,p_attribute15                 => p_attribute15
659   ,p_attribute16                 => p_attribute16
660   ,p_attribute17                 => p_attribute17
661   ,p_attribute18                 => p_attribute18
662   ,p_attribute19                 => p_attribute19
663   ,p_attribute20                 => p_attribute20
664   ,p_attribute21                 => p_attribute21
665   ,p_attribute22                 => p_attribute22
666   ,p_attribute23                 => p_attribute23
667   ,p_attribute24                 => p_attribute24
668   ,p_attribute25                 => p_attribute25
669   ,p_attribute26                 => p_attribute26
670   ,p_attribute27                 => p_attribute27
671   ,p_attribute28                 => p_attribute28
672   ,p_attribute29                 => p_attribute29
673   ,p_attribute30                 => p_attribute30
674   ,p_information_category        => p_information_category
675   ,p_tp_cost_information1        => p_tp_cost_information1
676   ,p_tp_cost_information2        => p_tp_cost_information2
677   ,p_tp_cost_information3        => p_tp_cost_information3
678   ,p_tp_cost_information4        => p_tp_cost_information4
679   ,p_tp_cost_information5        => p_tp_cost_information5
680   ,p_tp_cost_information6        => p_tp_cost_information6
681   ,p_tp_cost_information7        => p_tp_cost_information7
682   ,p_tp_cost_information8        => p_tp_cost_information8
683   ,p_tp_cost_information9        => p_tp_cost_information9
684   ,p_tp_cost_information10       => p_tp_cost_information10
685   ,p_tp_cost_information11       => p_tp_cost_information11
686   ,p_tp_cost_information12       => p_tp_cost_information12
687   ,p_tp_cost_information13       => p_tp_cost_information13
688   ,p_tp_cost_information14       => p_tp_cost_information14
689   ,p_tp_cost_information15       => p_tp_cost_information15
690   ,p_tp_cost_information16       => p_tp_cost_information16
691   ,p_tp_cost_information17       => p_tp_cost_information17
692   ,p_tp_cost_information18       => p_tp_cost_information18
693   ,p_tp_cost_information19       => p_tp_cost_information19
694   ,p_tp_cost_information20       => p_tp_cost_information20
695   ,p_tp_cost_information21       => p_tp_cost_information21
696   ,p_tp_cost_information22       => p_tp_cost_information22
697   ,p_tp_cost_information23       => p_tp_cost_information23
698   ,p_tp_cost_information24       => p_tp_cost_information24
699   ,p_tp_cost_information25       => p_tp_cost_information25
700   ,p_tp_cost_information26       => p_tp_cost_information26
701   ,p_tp_cost_information27       => p_tp_cost_information27
702   ,p_tp_cost_information28       => p_tp_cost_information28
703   ,p_tp_cost_information29       => p_tp_cost_information29
704   ,p_tp_cost_information30       => p_tp_cost_information30
705   );
706   exception
707     when hr_api.cannot_find_prog_unit then
708       hr_api.cannot_find_prog_unit_error
709         (p_module_name => 'update_cost'
710         ,p_hook_type   => 'AP'
711         );
712   end;
713   --
714   -- When in validation only mode raise the Validate_Enabled exception
715   --
716   if p_validate then
717     raise hr_api.validate_enabled;
718   end if;
719   --
720   -- Set all output arguments
721   --
722   p_object_version_number  := l_object_version_number;
723   --
727     --
724   hr_utility.set_location(' Leaving:'||l_proc, 70);
725 exception
726   when hr_api.validate_enabled then
728     -- As the Validate_Enabled exception has been raised
729     -- we must rollback to the savepoint
730     --
731     rollback to update_cost;
732     --
733     -- Only set output warning arguments
734     -- (Any key or derived arguments must be set to null
735     -- when validation only mode is being used.)
736     --
737     p_object_version_number  := null;
738     hr_utility.set_location(' Leaving:'||l_proc, 80);
739   when others then
740     --
741     -- A validation or unexpected error has occured
742     --
743     rollback to update_cost;
744     p_object_version_number  := l_object_version_number;
745     hr_utility.set_location(' Leaving:'||l_proc, 90);
746     raise;
747 end update_cost;
748 --
749 -- ----------------------------------------------------------------------------
750 -- |-------------------------< DELETE_COST >-----------------------------------|
751 -- ----------------------------------------------------------------------------
752 --
753 procedure delete_cost
754   (p_validate                      in     boolean  default false
755   ,p_training_plan_cost_id         in     number
756   ,p_object_version_number         in     number
757   ) is
758   --
759   -- Declare cursors and local variables
760   --
761   l_proc                    varchar2(72) := g_package||' Delete Cost';
762   --
763 begin
764   hr_utility.set_location('Entering:'|| l_proc, 10);
765   --
766   -- Issue a savepoint
767   --
768   savepoint delete_cost;
769   --
770   -- Truncate the time portion from all IN date parameters
771   --
772   --
773   -- Call Before Process User Hook
774   --
775   begin
776   ota_tpc_api_bk3.delete_cost_b
777   (p_training_plan_cost_id       => p_training_plan_cost_id
778   ,p_object_version_number       => p_object_version_number
779   );
780   exception
781     when hr_api.cannot_find_prog_unit then
782       hr_api.cannot_find_prog_unit_error
783         (p_module_name => 'Delete_cost'
784         ,p_hook_type   => 'BP'
785         );
786   end;
787   --
788   -- Validation in addition to Row Handlers
789   --
790   --
791   -- Process Logic
792   --
793   ota_tpc_del.del
794   (p_training_plan_cost_id          => p_training_plan_cost_id
795   ,p_object_version_number          => p_object_version_number
796   );
797   --
798   -- Call After Process User Hook
799   --
800   begin
801   ota_tpc_api_bk3.delete_cost_a
802   (p_training_plan_cost_id       => p_training_plan_cost_id
803   ,p_object_version_number       => p_object_version_number
804   );
805   exception
806     when hr_api.cannot_find_prog_unit then
807       hr_api.cannot_find_prog_unit_error
808         (p_module_name => 'delete_cost'
809         ,p_hook_type   => 'AP'
810         );
811   end;
812   --
813   -- When in validation only mode raise the Validate_Enabled exception
814   --
815   if p_validate then
816     raise hr_api.validate_enabled;
817   end if;
818   --
819   -- Set all output arguments
820   --
821   --
822   hr_utility.set_location(' Leaving:'||l_proc, 170);
823 exception
824   when hr_api.validate_enabled then
825     --
826     -- As the Validate_Enabled exception has been raised
827     -- we must rollback to the savepoint
828     --
829     rollback to delete_cost;
830     --
831     -- Only set output warning arguments
832     -- (Any key or derived arguments must be set to null
833     -- when validation only mode is being used.)
834     --
835     hr_utility.set_location(' Leaving:'||l_proc, 180);
836   when others then
837     --
838     -- A validation or unexpected error has occured
839     --
840     rollback to delete_cost;
841     hr_utility.set_location(' Leaving:'||l_proc, 190);
842     raise;
843 end delete_cost;
844 --
845 end ota_tpc_api;