DBA Data[Home] [Help]

PACKAGE BODY: APPS.PQH_WORKSHEET_DETAILS_API

Source


1 Package Body pqh_WORKSHEET_DETAILS_api as
2 /* $Header: pqwdtapi.pkb 120.1.12000000.1 2007/01/17 00:29:36 appldev noship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  pqh_WORKSHEET_DETAILS_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |------------------------< create_WORKSHEET_DETAIL >----------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_WORKSHEET_DETAIL
13   (p_validate                       in  boolean   default false
14   ,p_worksheet_detail_id            out nocopy number
15   ,p_worksheet_id                   in  number
16   ,p_organization_id                in  number    default null
17   ,p_job_id                         in  number    default null
18   ,p_position_id                    in  number    default null
19   ,p_grade_id                       in  number    default null
20   ,p_position_transaction_id        in  number    default null
21   ,p_budget_detail_id               in  number    default null
22   ,p_parent_worksheet_detail_id     in  number    default null
23   ,p_user_id                        in  number    default null
24   ,p_action_cd                      in  varchar2  default null
25   ,p_budget_unit1_percent           in  number    default null
26   ,p_budget_unit1_value             in  number    default null
27   ,p_budget_unit2_percent           in  number    default null
28   ,p_budget_unit2_value             in  number    default null
29   ,p_budget_unit3_percent           in  number    default null
30   ,p_budget_unit3_value             in  number    default null
31   ,p_object_version_number          out nocopy number
32   ,p_budget_unit1_value_type_cd     in  varchar2  default null
33   ,p_budget_unit2_value_type_cd     in  varchar2  default null
34   ,p_budget_unit3_value_type_cd     in  varchar2  default null
35   ,p_status                         in  varchar2  default null
36   ,p_budget_unit1_available         in  number    default null
37   ,p_budget_unit2_available         in  number    default null
38   ,p_budget_unit3_available         in  number    default null
39   ,p_old_unit1_value                in  number    default null
40   ,p_old_unit2_value                in  number    default null
41   ,p_old_unit3_value                in  number    default null
42   ,p_defer_flag                     in  varchar2  default null
43   ,p_propagation_method             in  varchar2  default null
44   ,p_effective_date                 in  date
45   ) is
46   --
47   -- Declare cursors and local variables
48   --
49   l_worksheet_detail_id pqh_worksheet_details.worksheet_detail_id%TYPE;
50   l_proc varchar2(72) := g_package||'create_WORKSHEET_DETAIL';
51   l_object_version_number pqh_worksheet_details.object_version_number%TYPE;
52   --
53 begin
54   --
55   hr_utility.set_location('Entering:'|| l_proc, 10);
56   --
57   -- Issue a savepoint if operating in validation only mode
58   --
59   savepoint create_WORKSHEET_DETAIL;
60   --
61   hr_utility.set_location(l_proc, 20);
62   --
63   -- Process Logic
64   --
65   begin
66     --
67     -- Start of API User Hook for the before hook of create_WORKSHEET_DETAIL
68     --
69     pqh_WORKSHEET_DETAILS_bk1.create_WORKSHEET_DETAIL_b
70       (
71        p_worksheet_id                   =>  p_worksheet_id
72       ,p_organization_id                =>  p_organization_id
73       ,p_job_id                         =>  p_job_id
74       ,p_position_id                    =>  p_position_id
75       ,p_grade_id                       =>  p_grade_id
76       ,p_position_transaction_id        =>  p_position_transaction_id
77       ,p_budget_detail_id               =>  p_budget_detail_id
78       ,p_parent_worksheet_detail_id     =>  p_parent_worksheet_detail_id
79       ,p_user_id                        =>  p_user_id
80       ,p_action_cd                      =>  p_action_cd
81       ,p_budget_unit1_percent           =>  p_budget_unit1_percent
82       ,p_budget_unit1_value             =>  p_budget_unit1_value
83       ,p_budget_unit2_percent           =>  p_budget_unit2_percent
84       ,p_budget_unit2_value             =>  p_budget_unit2_value
85       ,p_budget_unit3_percent           =>  p_budget_unit3_percent
86       ,p_budget_unit3_value             =>  p_budget_unit3_value
87       ,p_budget_unit1_value_type_cd     =>  p_budget_unit1_value_type_cd
88       ,p_budget_unit2_value_type_cd     =>  p_budget_unit2_value_type_cd
89       ,p_budget_unit3_value_type_cd     =>  p_budget_unit3_value_type_cd
90       ,p_status                         =>  p_status
91       ,p_budget_unit1_available         =>  p_budget_unit1_available
92       ,p_budget_unit2_available         =>  p_budget_unit2_available
93       ,p_budget_unit3_available         =>  p_budget_unit3_available
94       ,p_old_unit1_value                =>  p_old_unit1_value
95       ,p_old_unit2_value                =>  p_old_unit2_value
96       ,p_old_unit3_value                =>  p_old_unit3_value
97       ,p_defer_flag                     =>  p_defer_flag
98       ,p_propagation_method             =>  p_propagation_method
99       ,p_effective_date               => trunc(p_effective_date)
100       );
101   exception
102     when hr_api.cannot_find_prog_unit then
103       hr_api.cannot_find_prog_unit_error
104         (
105          p_module_name => 'CREATE_WORKSHEET_DETAIL'
106         ,p_hook_type   => 'BP'
107         );
108     --
109     -- End of API User Hook for the before hook of create_WORKSHEET_DETAIL
110     --
111   end;
112   --
113   pqh_wdt_ins.ins
114     (
115      p_worksheet_detail_id           => l_worksheet_detail_id
116     ,p_worksheet_id                  => p_worksheet_id
117     ,p_organization_id               => p_organization_id
118     ,p_job_id                        => p_job_id
119     ,p_position_id                   => p_position_id
120     ,p_grade_id                      => p_grade_id
121     ,p_position_transaction_id       => p_position_transaction_id
122     ,p_budget_detail_id              => p_budget_detail_id
123     ,p_parent_worksheet_detail_id    => p_parent_worksheet_detail_id
124     ,p_user_id                       => p_user_id
125     ,p_action_cd                     => p_action_cd
126     ,p_budget_unit1_percent          => p_budget_unit1_percent
127     ,p_budget_unit1_value            => p_budget_unit1_value
128     ,p_budget_unit2_percent          => p_budget_unit2_percent
129     ,p_budget_unit2_value            => p_budget_unit2_value
130     ,p_budget_unit3_percent          => p_budget_unit3_percent
131     ,p_budget_unit3_value            => p_budget_unit3_value
132     ,p_object_version_number         => l_object_version_number
133     ,p_budget_unit1_value_type_cd    => p_budget_unit1_value_type_cd
134     ,p_budget_unit2_value_type_cd    => p_budget_unit2_value_type_cd
135     ,p_budget_unit3_value_type_cd    => p_budget_unit3_value_type_cd
136     ,p_status                        => p_status
137     ,p_budget_unit1_available        => p_budget_unit1_available
138     ,p_budget_unit2_available        => p_budget_unit2_available
139     ,p_budget_unit3_available        => p_budget_unit3_available
140     ,p_old_unit1_value               => p_old_unit1_value
141     ,p_old_unit2_value               => p_old_unit2_value
142     ,p_old_unit3_value               => p_old_unit3_value
143     ,p_defer_flag                    => p_defer_flag
144     ,p_propagation_method            => p_propagation_method
145     ,p_effective_date                => trunc(p_effective_date)
146     );
147   --
148   begin
149     --
150     -- Start of API User Hook for the after hook of create_WORKSHEET_DETAIL
151     --
152     pqh_WORKSHEET_DETAILS_bk1.create_WORKSHEET_DETAIL_a
153       (
154        p_worksheet_detail_id            =>  l_worksheet_detail_id
155       ,p_worksheet_id                   =>  p_worksheet_id
156       ,p_organization_id                =>  p_organization_id
157       ,p_job_id                         =>  p_job_id
158       ,p_position_id                    =>  p_position_id
159       ,p_grade_id                       =>  p_grade_id
160       ,p_position_transaction_id        =>  p_position_transaction_id
161       ,p_budget_detail_id               =>  p_budget_detail_id
162       ,p_parent_worksheet_detail_id     =>  p_parent_worksheet_detail_id
163       ,p_user_id                        =>  p_user_id
164       ,p_action_cd                      =>  p_action_cd
165       ,p_budget_unit1_percent           =>  p_budget_unit1_percent
166       ,p_budget_unit1_value             =>  p_budget_unit1_value
167       ,p_budget_unit2_percent           =>  p_budget_unit2_percent
168       ,p_budget_unit2_value             =>  p_budget_unit2_value
169       ,p_budget_unit3_percent           =>  p_budget_unit3_percent
170       ,p_budget_unit3_value             =>  p_budget_unit3_value
171       ,p_object_version_number          =>  l_object_version_number
172       ,p_budget_unit1_value_type_cd     =>  p_budget_unit1_value_type_cd
173       ,p_budget_unit2_value_type_cd     =>  p_budget_unit2_value_type_cd
174       ,p_budget_unit3_value_type_cd     =>  p_budget_unit3_value_type_cd
175       ,p_status                         =>  p_status
176       ,p_budget_unit1_available         =>  p_budget_unit1_available
177       ,p_budget_unit2_available         =>  p_budget_unit2_available
178       ,p_budget_unit3_available         =>  p_budget_unit3_available
179       ,p_old_unit1_value                =>  p_old_unit1_value
180       ,p_old_unit2_value                =>  p_old_unit2_value
181       ,p_old_unit3_value                =>  p_old_unit3_value
182       ,p_defer_flag                     =>  p_defer_flag
183       ,p_propagation_method             =>  p_propagation_method
184       ,p_effective_date                 => trunc(p_effective_date)
185       );
186   exception
187     when hr_api.cannot_find_prog_unit then
188       hr_api.cannot_find_prog_unit_error
189         (p_module_name => 'CREATE_WORKSHEET_DETAIL'
190         ,p_hook_type   => 'AP'
191         );
192     --
193     -- End of API User Hook for the after hook of create_WORKSHEET_DETAIL
194     --
195   end;
196   --
197   hr_utility.set_location(l_proc, 60);
198   --
199   -- When in validation only mode raise the Validate_Enabled exception
200   --
201   if p_validate then
202     raise hr_api.validate_enabled;
203   end if;
204   --
205   -- Set all output arguments
206   --
207   p_worksheet_detail_id := l_worksheet_detail_id;
208   p_object_version_number := l_object_version_number;
209   --
210   hr_utility.set_location(' Leaving:'||l_proc, 70);
211   --
212 exception
213   --
214   when hr_api.validate_enabled then
215     --
216     -- As the Validate_Enabled exception has been raised
217     -- we must rollback to the savepoint
218     --
219     ROLLBACK TO create_WORKSHEET_DETAIL;
220     --
221     -- Only set output warning arguments
222     -- (Any key or derived arguments must be set to null
223     -- when validation only mode is being used.)
224     --
225     p_worksheet_detail_id := null;
226     p_object_version_number  := null;
227     hr_utility.set_location(' Leaving:'||l_proc, 80);
228     --
229   when others then
230     p_worksheet_detail_id := null;
231   p_object_version_number := null;
232     --
233     -- A validation or unexpected error has occured
234     --
235     ROLLBACK TO create_WORKSHEET_DETAIL;
236     raise;
237     --
238 end create_WORKSHEET_DETAIL;
239 
240 -- ----------------------------------------------------------------------------
241 -- |------------------------< create_WORKSHEET_DETAIL_BP >----------------------|
242 -- ----------------------------------------------------------------------------
243 --
244 procedure create_WORKSHEET_DETAIL_BP
245   (p_validate                       in  boolean   default false
246   ,p_worksheet_detail_id            out nocopy number
247   ,p_worksheet_id                   in  number
248   ,p_organization_id                in  number    default null
249   ,p_job_id                         in  number    default null
250   ,p_position_id                    in  number    default null
251   ,p_grade_id                       in  number    default null
252   ,p_position_transaction_id        in  number    default null
253   ,p_budget_detail_id               in  number    default null
254   ,p_parent_worksheet_detail_id     in  number    default null
255   ,p_user_id                        in  number    default null
256   ,p_action_cd                      in  varchar2  default null
257   ,p_budget_unit1_percent           in  number    default null
258   ,p_budget_unit1_value             in  number    default null
259   ,p_budget_unit2_percent           in  number    default null
260   ,p_budget_unit2_value             in  number    default null
261   ,p_budget_unit3_percent           in  number    default null
262   ,p_budget_unit3_value             in  number    default null
263   ,p_object_version_number          out nocopy number
264   ,p_budget_unit1_value_type_cd     in  varchar2  default null
265   ,p_budget_unit2_value_type_cd     in  varchar2  default null
266   ,p_budget_unit3_value_type_cd     in  varchar2  default null
267   ,p_status                         in  varchar2  default null
268   ,p_budget_unit1_available         in  number    default null
269   ,p_budget_unit2_available         in  number    default null
270   ,p_budget_unit3_available         in  number    default null
271   ,p_old_unit1_value                in  number    default null
272   ,p_old_unit2_value                in  number    default null
273   ,p_old_unit3_value                in  number    default null
274   ,p_defer_flag                     in  varchar2  default null
275   ,p_propagation_method             in  varchar2  default null
276   ,p_effective_date                 in  date
277   ,p_copy_budget_periods            in varchar2   default 'N'
278   ) is
279   --
280   -- Declare cursors and local variables
281   --
282   l_worksheet_detail_id pqh_worksheet_details.worksheet_detail_id%TYPE;
283   l_proc varchar2(72) := g_package||'create_WORKSHEET_DETAIL_BP';
284   l_wkd_ovn pqh_worksheet_details.object_version_number%TYPE;
285   l_wpr_ovn pqh_worksheet_periods.object_version_number%TYPE;
286   l_worksheet_period_id pqh_worksheet_periods.worksheet_period_id%TYPE;
287   l_budget_unit1_available number;
288   l_budget_unit2_available number;
289   l_budget_unit3_available number;
290   --
291 begin
292   --
293   hr_utility.set_location('Entering:'|| l_proc, 10);
294   --
295   if nvl(p_action_cd,'D') = 'B' then
296      l_budget_unit1_available := 0;
297      l_budget_unit2_available := 0;
298      l_budget_unit3_available := 0;
299   else
300      l_budget_unit1_available := p_budget_unit1_available;
301      l_budget_unit2_available := p_budget_unit2_available;
302      l_budget_unit3_available := p_budget_unit3_available;
303   end if;
304   -- call the create worksheet details API
305   --
306     pqh_WORKSHEET_DETAILS_api.create_WORKSHEET_DETAIL
307     (
308      p_validate                      => p_validate
309     ,p_worksheet_detail_id           => l_worksheet_detail_id
310     ,p_worksheet_id                  => p_worksheet_id
311     ,p_organization_id               => p_organization_id
312     ,p_job_id                        => p_job_id
313     ,p_position_id                   => p_position_id
314     ,p_grade_id                      => p_grade_id
315     ,p_position_transaction_id       => p_position_transaction_id
316     ,p_budget_detail_id              => p_budget_detail_id
317     ,p_parent_worksheet_detail_id    => p_parent_worksheet_detail_id
318     ,p_user_id                       => p_user_id
319     ,p_action_cd                     => p_action_cd
320     ,p_budget_unit1_percent          => p_budget_unit1_percent
321     ,p_budget_unit1_value            => p_budget_unit1_value
322     ,p_budget_unit2_percent          => p_budget_unit2_percent
323     ,p_budget_unit2_value            => p_budget_unit2_value
324     ,p_budget_unit3_percent          => p_budget_unit3_percent
325     ,p_budget_unit3_value            => p_budget_unit3_value
326     ,p_object_version_number         => l_wkd_ovn
327     ,p_budget_unit1_value_type_cd    => p_budget_unit1_value_type_cd
328     ,p_budget_unit2_value_type_cd    => p_budget_unit2_value_type_cd
329     ,p_budget_unit3_value_type_cd    => p_budget_unit3_value_type_cd
330     ,p_status                        => p_status
331     ,p_budget_unit1_available        => l_budget_unit1_available
332     ,p_budget_unit2_available        => l_budget_unit2_available
333     ,p_budget_unit3_available        => l_budget_unit3_available
334     ,p_old_unit1_value               => p_old_unit1_value
335     ,p_old_unit2_value               => p_old_unit2_value
336     ,p_old_unit3_value               => p_old_unit3_value
337     ,p_defer_flag                    => p_defer_flag
338     ,p_propagation_method            => p_propagation_method
339     ,p_effective_date                => trunc(p_effective_date)
340     );
341   --
342   --
343   hr_utility.set_location('Created WKS Dtl : '|| l_worksheet_detail_id, 100);
344   --
345   --
346   --
347   if nvl(p_action_cd,'D') ='B' then
348      --
349      --  call to insert row into wks periods
350      --
351      if (p_copy_budget_periods = 'N')
352      then
353      --
354      --  insert default period only when profile HR: Copy period details
355      --  for budget is set to Yes at the site level.
356      --
357      pqh_wks_budget.insert_default_period
358      (
359       p_worksheet_detail_id             => l_worksheet_detail_id
360      ,p_worksheet_unit1_value           => p_budget_unit1_value
361      ,p_worksheet_unit2_value           => p_budget_unit2_value
362      ,p_worksheet_unit3_value           => p_budget_unit3_value
363      ,p_worksheet_period_id             => l_worksheet_period_id
364      ,p_wkd_ovn                         => l_wkd_ovn
365      ,p_wpr_ovn                         => l_wpr_ovn
366      );
367      end if;
368      --
369      hr_utility.set_location('Created WKS Period : '|| l_worksheet_period_id, 200);
370      --
371   end if;
372   p_object_version_number := l_wkd_ovn;
373   p_worksheet_detail_id   := l_worksheet_detail_id;
374 exception
375   when OTHERS then
376   p_object_version_number := null;
377   p_worksheet_detail_id   := null;
378    raise;
379 end create_WORKSHEET_DETAIL_BP;
380 
381 -- ----------------------------------------------------------------------------
382 -- |------------------------< update_WORKSHEET_DETAIL >--- ------------------|
383 -- ----------------------------------------------------------------------------
384 --
385 procedure update_WORKSHEET_DETAIL
386   (p_validate                       in  boolean   default false
387   ,p_worksheet_detail_id            in  number
388   ,p_worksheet_id                   in  number    default hr_api.g_number
389   ,p_organization_id                in  number    default hr_api.g_number
390   ,p_job_id                         in  number    default hr_api.g_number
391   ,p_position_id                    in  number    default hr_api.g_number
392   ,p_grade_id                       in  number    default hr_api.g_number
393   ,p_position_transaction_id        in  number    default hr_api.g_number
394   ,p_budget_detail_id               in  number    default hr_api.g_number
395   ,p_parent_worksheet_detail_id     in  number    default hr_api.g_number
396   ,p_user_id                        in  number    default hr_api.g_number
397   ,p_action_cd                      in  varchar2  default hr_api.g_varchar2
398   ,p_budget_unit1_percent           in  number    default hr_api.g_number
399   ,p_budget_unit1_value             in  number    default hr_api.g_number
400   ,p_budget_unit2_percent           in  number    default hr_api.g_number
401   ,p_budget_unit2_value             in  number    default hr_api.g_number
402   ,p_budget_unit3_percent           in  number    default hr_api.g_number
403   ,p_budget_unit3_value             in  number    default hr_api.g_number
404   ,p_object_version_number          in out nocopy number
405   ,p_budget_unit1_value_type_cd     in  varchar2  default hr_api.g_varchar2
406   ,p_budget_unit2_value_type_cd     in  varchar2  default hr_api.g_varchar2
407   ,p_budget_unit3_value_type_cd     in  varchar2  default hr_api.g_varchar2
408   ,p_status                         in  varchar2  default hr_api.g_varchar2
409   ,p_budget_unit1_available         in  number    default hr_api.g_number
410   ,p_budget_unit2_available         in  number    default hr_api.g_number
411   ,p_budget_unit3_available         in  number    default hr_api.g_number
412   ,p_old_unit1_value                in  number    default hr_api.g_number
413   ,p_old_unit2_value                in  number    default hr_api.g_number
414   ,p_old_unit3_value                in  number    default hr_api.g_number
415   ,p_defer_flag                     in  varchar2  default hr_api.g_varchar2
416   ,p_propagation_method             in  varchar2  default hr_api.g_varchar2
417   ,p_effective_date                 in  date
418   ) is
419   --
420   -- Declare cursors and local variables
421   --
422   l_proc varchar2(72) := g_package||'update_WORKSHEET_DETAIL';
423   l_object_version_number pqh_worksheet_details.object_version_number%TYPE;
424   --
425 begin
426   --
427   hr_utility.set_location('Entering:'|| l_proc, 10);
428   --
429   -- Issue a savepoint if operating in validation only mode
430   --
431   savepoint update_WORKSHEET_DETAIL;
432   --
433   hr_utility.set_location(l_proc, 20);
434   --
435   -- Process Logic
436   --
437   l_object_version_number := p_object_version_number;
438   --
439   begin
440     --
441     -- Start of API User Hook for the before hook of update_WORKSHEET_DETAIL
442     --
443     pqh_WORKSHEET_DETAILS_bk2.update_WORKSHEET_DETAIL_b
444       (
445        p_worksheet_detail_id            =>  p_worksheet_detail_id
446       ,p_worksheet_id                   =>  p_worksheet_id
447       ,p_organization_id                =>  p_organization_id
448       ,p_job_id                         =>  p_job_id
449       ,p_position_id                    =>  p_position_id
450       ,p_grade_id                       =>  p_grade_id
451       ,p_position_transaction_id        =>  p_position_transaction_id
452       ,p_budget_detail_id               =>  p_budget_detail_id
453       ,p_parent_worksheet_detail_id     =>  p_parent_worksheet_detail_id
454       ,p_user_id                        =>  p_user_id
455       ,p_action_cd                      =>  p_action_cd
456       ,p_budget_unit1_percent           =>  p_budget_unit1_percent
457       ,p_budget_unit1_value             =>  p_budget_unit1_value
458       ,p_budget_unit2_percent           =>  p_budget_unit2_percent
459       ,p_budget_unit2_value             =>  p_budget_unit2_value
460       ,p_budget_unit3_percent           =>  p_budget_unit3_percent
461       ,p_budget_unit3_value             =>  p_budget_unit3_value
462       ,p_object_version_number          =>  p_object_version_number
463       ,p_budget_unit1_value_type_cd     =>  p_budget_unit1_value_type_cd
464       ,p_budget_unit2_value_type_cd     =>  p_budget_unit2_value_type_cd
465       ,p_budget_unit3_value_type_cd     =>  p_budget_unit3_value_type_cd
466       ,p_status                         =>  p_status
467       ,p_budget_unit1_available         =>  p_budget_unit1_available
468       ,p_budget_unit2_available         =>  p_budget_unit2_available
469       ,p_budget_unit3_available         =>  p_budget_unit3_available
470       ,p_old_unit1_value                =>  p_old_unit1_value
471       ,p_old_unit2_value                =>  p_old_unit2_value
472       ,p_old_unit3_value                =>  p_old_unit3_value
473       ,p_defer_flag                     =>  p_defer_flag
474       ,p_propagation_method             =>  p_propagation_method
475     ,p_effective_date                 => trunc(p_effective_date)
476       );
477   exception
478     when hr_api.cannot_find_prog_unit then
479       hr_api.cannot_find_prog_unit_error
480         (p_module_name => 'UPDATE_WORKSHEET_DETAIL'
481         ,p_hook_type   => 'BP'
482         );
483     --
484     -- End of API User Hook for the before hook of update_WORKSHEET_DETAIL
485     --
486   end;
487   --
488   pqh_wdt_upd.upd
489     (
490      p_worksheet_detail_id           => p_worksheet_detail_id
491     ,p_worksheet_id                  => p_worksheet_id
492     ,p_organization_id               => p_organization_id
493     ,p_job_id                        => p_job_id
494     ,p_position_id                   => p_position_id
495     ,p_grade_id                      => p_grade_id
496     ,p_position_transaction_id       => p_position_transaction_id
497     ,p_budget_detail_id              => p_budget_detail_id
498     ,p_parent_worksheet_detail_id    => p_parent_worksheet_detail_id
499     ,p_user_id                       => p_user_id
500     ,p_action_cd                     => p_action_cd
501     ,p_budget_unit1_percent          => p_budget_unit1_percent
502     ,p_budget_unit1_value            => p_budget_unit1_value
503     ,p_budget_unit2_percent          => p_budget_unit2_percent
504     ,p_budget_unit2_value            => p_budget_unit2_value
505     ,p_budget_unit3_percent          => p_budget_unit3_percent
506     ,p_budget_unit3_value            => p_budget_unit3_value
507     ,p_object_version_number         => l_object_version_number
508     ,p_budget_unit1_value_type_cd    => p_budget_unit1_value_type_cd
509     ,p_budget_unit2_value_type_cd    => p_budget_unit2_value_type_cd
510     ,p_budget_unit3_value_type_cd    => p_budget_unit3_value_type_cd
511     ,p_status                        => p_status
512     ,p_budget_unit1_available        => p_budget_unit1_available
513     ,p_budget_unit2_available        => p_budget_unit2_available
514     ,p_budget_unit3_available        => p_budget_unit3_available
515     ,p_old_unit1_value               => p_old_unit1_value
516     ,p_old_unit2_value               => p_old_unit2_value
517     ,p_old_unit3_value               => p_old_unit3_value
518     ,p_defer_flag                    => p_defer_flag
519     ,p_propagation_method            => p_propagation_method
520     ,p_effective_date                => trunc(p_effective_date)
521     );
522   --
523   begin
524     --
525     -- Start of API User Hook for the after hook of update_WORKSHEET_DETAIL
526     --
527     pqh_WORKSHEET_DETAILS_bk2.update_WORKSHEET_DETAIL_a
528       (
529        p_worksheet_detail_id            =>  p_worksheet_detail_id
530       ,p_worksheet_id                   =>  p_worksheet_id
531       ,p_organization_id                =>  p_organization_id
532       ,p_job_id                         =>  p_job_id
533       ,p_position_id                    =>  p_position_id
534       ,p_grade_id                       =>  p_grade_id
535       ,p_position_transaction_id        =>  p_position_transaction_id
536       ,p_budget_detail_id               =>  p_budget_detail_id
537       ,p_parent_worksheet_detail_id     =>  p_parent_worksheet_detail_id
538       ,p_user_id                        =>  p_user_id
539       ,p_action_cd                      =>  p_action_cd
540       ,p_budget_unit1_percent           =>  p_budget_unit1_percent
541       ,p_budget_unit1_value             =>  p_budget_unit1_value
542       ,p_budget_unit2_percent           =>  p_budget_unit2_percent
543       ,p_budget_unit2_value             =>  p_budget_unit2_value
544       ,p_budget_unit3_percent           =>  p_budget_unit3_percent
545       ,p_budget_unit3_value             =>  p_budget_unit3_value
546       ,p_object_version_number          =>  l_object_version_number
547       ,p_budget_unit1_value_type_cd     =>  p_budget_unit1_value_type_cd
548       ,p_budget_unit2_value_type_cd     =>  p_budget_unit2_value_type_cd
549       ,p_budget_unit3_value_type_cd     =>  p_budget_unit3_value_type_cd
550       ,p_status                         =>  p_status
551       ,p_budget_unit1_available         =>  p_budget_unit1_available
552       ,p_budget_unit2_available         =>  p_budget_unit2_available
553       ,p_budget_unit3_available         =>  p_budget_unit3_available
554       ,p_old_unit1_value                =>  p_old_unit1_value
555       ,p_old_unit2_value                =>  p_old_unit2_value
556       ,p_old_unit3_value                =>  p_old_unit3_value
557       ,p_defer_flag                     =>  p_defer_flag
558       ,p_propagation_method             =>  p_propagation_method
559       ,p_effective_date                => trunc(p_effective_date)
560       );
561   exception
562     when hr_api.cannot_find_prog_unit then
563       hr_api.cannot_find_prog_unit_error
564         (p_module_name => 'UPDATE_WORKSHEET_DETAIL'
565         ,p_hook_type   => 'AP'
566         );
567     --
568     -- End of API User Hook for the after hook of update_WORKSHEET_DETAIL
569     --
570   end;
571   --
572   hr_utility.set_location(l_proc, 60);
573   --
574   -- When in validation only mode raise the Validate_Enabled exception
575   --
576   if p_validate then
577     raise hr_api.validate_enabled;
578   end if;
579   --
580   -- Set all output arguments
581   --
582   p_object_version_number := l_object_version_number;
583   --
584   hr_utility.set_location(' Leaving:'||l_proc, 70);
585   --
586 exception
587   --
588   when hr_api.validate_enabled then
589     --
590     -- As the Validate_Enabled exception has been raised
591     -- we must rollback to the savepoint
592     --
593     ROLLBACK TO update_WORKSHEET_DETAIL;
594     --
595     -- Only set output warning arguments
596     -- (Any key or derived arguments must be set to null
597     -- when validation only mode is being used.)
598     --
599     hr_utility.set_location(' Leaving:'||l_proc, 80);
600     --
601   when others then
602     p_object_version_number := l_object_version_number;
603     --
604     -- A validation or unexpected error has occured
605     --
606     ROLLBACK TO update_WORKSHEET_DETAIL;
607     raise;
608     --
609 end update_WORKSHEET_DETAIL;
610 -- ----------------------------------------------------------------------------
611 -- |------------------------< delete_WORKSHEET_DETAIL >----------------------|
612 -- ----------------------------------------------------------------------------
613 --
614 procedure delete_WORKSHEET_DETAIL
615   (p_validate                       in  boolean  default false
616   ,p_worksheet_detail_id            in  number
617   ,p_object_version_number          in  number
618   ,p_effective_date                 in  date
619   ) is
620   --
621   -- Declare cursors and local variables
622   --
623   l_proc varchar2(72) := g_package||'delete_WORKSHEET_DETAIL';
624   l_object_version_number pqh_worksheet_details.object_version_number%TYPE;
625   --
626 begin
627   --
628   hr_utility.set_location('Entering:'|| l_proc, 10);
629   --
630   -- Issue a savepoint if operating in validation only mode
631   --
632   savepoint delete_WORKSHEET_DETAIL;
633   --
634   hr_utility.set_location(l_proc, 20);
635   --
636   -- Process Logic
637   --
638   l_object_version_number := p_object_version_number;
639   --
640   --
641   begin
642     --
643     -- Start of API User Hook for the before hook of delete_WORKSHEET_DETAIL
644     --
645     pqh_WORKSHEET_DETAILS_bk3.delete_WORKSHEET_DETAIL_b
646       (
647        p_worksheet_detail_id            =>  p_worksheet_detail_id
648       ,p_object_version_number          =>  p_object_version_number
649     ,p_effective_date                      => trunc(p_effective_date)
650       );
651   exception
652     when hr_api.cannot_find_prog_unit then
653       hr_api.cannot_find_prog_unit_error
654         (p_module_name => 'DELETE_WORKSHEET_DETAIL'
655         ,p_hook_type   => 'BP'
656         );
657     --
658     -- End of API User Hook for the before hook of delete_WORKSHEET_DETAIL
659     --
660   end;
661   --
662   pqh_wdt_del.del
663     (
664      p_worksheet_detail_id           => p_worksheet_detail_id
665     ,p_object_version_number         => l_object_version_number
666     ,p_effective_date                => p_effective_date
667     );
668   --
669   begin
670     --
671     -- Start of API User Hook for the after hook of delete_WORKSHEET_DETAIL
672     --
673     pqh_WORKSHEET_DETAILS_bk3.delete_WORKSHEET_DETAIL_a
674       (
675        p_worksheet_detail_id            =>  p_worksheet_detail_id
676       ,p_object_version_number          =>  l_object_version_number
677     ,p_effective_date                      => trunc(p_effective_date)
678       );
679   exception
680     when hr_api.cannot_find_prog_unit then
681       hr_api.cannot_find_prog_unit_error
682         (p_module_name => 'DELETE_WORKSHEET_DETAIL'
683         ,p_hook_type   => 'AP'
684         );
685     --
686     -- End of API User Hook for the after hook of delete_WORKSHEET_DETAIL
687     --
688   end;
689   --
690   hr_utility.set_location(l_proc, 60);
691   --
692   -- When in validation only mode raise the Validate_Enabled exception
693   --
694   if p_validate then
695     raise hr_api.validate_enabled;
696   end if;
697   --
698   hr_utility.set_location(' Leaving:'||l_proc, 70);
699   --
700 exception
701   --
702   when hr_api.validate_enabled then
703     --
704     -- As the Validate_Enabled exception has been raised
705     -- we must rollback to the savepoint
706     --
707     ROLLBACK TO delete_WORKSHEET_DETAIL;
708     --
709     -- Only set output warning arguments
710     -- (Any key or derived arguments must be set to null
711     -- when validation only mode is being used.)
712     --
713     --
714   when others then
715     --
716     -- A validation or unexpected error has occured
717     --
718     ROLLBACK TO delete_WORKSHEET_DETAIL;
719     raise;
720     --
721 end delete_WORKSHEET_DETAIL;
722 --
723 -- ----------------------------------------------------------------------------
724 -- |-------------------------------< lck >------------------------------------|
725 -- ----------------------------------------------------------------------------
726 --
727 procedure lck
728   (
729    p_worksheet_detail_id                   in     number
730   ,p_object_version_number          in     number
731   ) is
732   --
733   --
734   -- Declare cursors and local variables
735   --
736   l_proc varchar2(72) := g_package||'lck';
737   --
738 begin
739   --
740   hr_utility.set_location('Entering:'|| l_proc, 10);
741   --
742   pqh_wdt_shd.lck
743     (
744       p_worksheet_detail_id                 => p_worksheet_detail_id
745      ,p_object_version_number      => p_object_version_number
746     );
747   --
748   hr_utility.set_location(' Leaving:'||l_proc, 70);
749   --
750 end lck;
751 --
752 end pqh_WORKSHEET_DETAILS_api;