DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_TEMPLATE_TAB_PAGES_API

Source


1 Package Body hr_template_tab_pages_api as
2 /* $Header: hrttpapi.pkb 115.6 2003/10/31 06:54:48 bsubrama noship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  hr_template_tab_pages_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |--------------------------< copy_template_tab_page >----------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure copy_template_tab_page
13   (p_validate                      in     boolean  default false
14   ,p_effective_date                in     date
15   ,p_language_code                 in varchar2 default hr_api.userenv_lang
16   ,p_template_tab_page_id_from     in number
17   ,p_template_canvas_id            in number
18   ,p_template_tab_page_id_to          out nocopy number
19   ,p_object_version_number            out nocopy number
20   --,p_override_value_warning           out boolean
21   ) is
22   --
23   -- Declare cursors and local variables
24   --
25 
26   CURSOR cur_form_tab
27   IS
28   SELECT ttp.form_tab_page_id
29   FROM hr_template_tab_pages ttp
30   WHERE ttp.template_tab_page_id = p_template_tab_page_id_from;
31 
32   l_temp number;
33 
34   CURSOR cur_api_val
35   IS
36   SELECT source_form_template_id
37   FROM hr_source_form_templates hsf
38        ,hr_template_windows_b htw
39        ,hr_template_canvases_b htc
40   WHERE hsf.form_template_id_to = htw.form_template_id
41   AND htw.template_window_id = htc.template_window_id
42   AND htc.template_canvas_id = p_template_canvas_id;
43 
44   l_form_tab_page_id number;
45   l_proc                varchar2(72) := g_package||'copy_template_tab_page';
46   l_object_version_number number;
47   l_template_tab_page_id_to number;
48   l_tab_page_property_id number;
49   l_override_value_warning boolean;
50   l_language_code fnd_languages.language_code%TYPE;
51 
52 begin
53   hr_utility.set_location('Entering:'|| l_proc, 10);
54   --
55   -- Issue a savepoint
56   --
57   savepoint copy_template_tab_page;
58   --
59   -- Truncate the time portion from all IN date parameters
60   --
61      -- p_effective_date := TRUNC(p_effective_date);
62   --
63   -- Validate the language parameter. l_language_code should be passed
64   -- instead of p_language_code from now on, to allow an IN OUT parameter to
65   -- be passed through.
66   --
67   l_language_code := p_language_code;
68   hr_api.validate_language_code(p_language_code => l_language_code);
69   --
70   hr_utility.set_location(l_proc, 20);
71   --
72   --
73   -- Call Before Process User Hook
74   --
75   begin
76     hr_template_tab_pages_api_bk1.copy_template_tab_page_b
77       (p_effective_date                => TRUNC(p_effective_date)
78        ,p_language_code                => l_language_code
79        ,p_template_tab_page_id_from    => p_template_tab_page_id_from
80        ,p_template_canvas_id           => p_template_canvas_id
81       );
82   exception
83     when hr_api.cannot_find_prog_unit then
84       hr_api.cannot_find_prog_unit_error
85         (p_module_name => 'copy_template_tab_page'
86         ,p_hook_type   => 'BP'
87         );
88   end;
89   --
90   -- Validation in addition to Row Handlers
91   --
92   hr_utility.set_location('At:'|| l_proc, 15);
93 
94      OPEN cur_api_val;
95      FETCH cur_api_val INTO l_temp;
96      IF (cur_api_val%NOTFOUND AND
97          hr_form_templates_api.g_session_mode <> 'SEED_DATA') THEN
98          CLOSE cur_api_val;
99        -- error message
100        fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
101        fnd_message.set_token('PROCEDURE', l_proc);
102        fnd_message.set_token('STEP','10');
103        fnd_message.raise_error;
104      END IF;
105      CLOSE cur_api_val;
106   --
107   --
108   -- Process Logic
109   --
110   hr_utility.set_location('At:'|| l_proc, 20);
111 
112   OPEN cur_form_tab;
113   FETCH cur_form_tab INTO l_form_tab_page_id;
114   CLOSE cur_form_tab;
115 
116   hr_utility.set_location('At:'|| l_proc, 25);
117 
118   hr_ttp_ins.ins(p_template_canvas_id           => p_template_canvas_id
119              ,p_form_tab_page_id             => l_form_tab_page_id
120              ,p_template_tab_page_id         => l_template_tab_page_id_to
121              ,p_object_version_number        => l_object_version_number);
122 
123   hr_utility.set_location('At:'|| l_proc, 30);
124 
125   hr_tab_page_properties_bsi.copy_tab_page_property(
126              p_effective_date                => TRUNC(p_effective_date)
127              ,p_language_code                => l_language_code
128              ,p_template_tab_page_id_from    => p_template_tab_page_id_from
129              ,p_template_tab_page_id_to      => l_template_tab_page_id_to
130              ,p_tab_page_property_id         => l_tab_page_property_id
131              ,p_object_version_number        => l_object_version_number);
132              --,p_override_value_warning       => l_override_value_warning);
133 
134   --
135   -- Call After Process User Hook
136   --
137   hr_utility.set_location('At:'|| l_proc, 35);
138 
139   begin
140     hr_template_tab_pages_api_bk1.copy_template_tab_page_a
141       (p_effective_date                => TRUNC(p_effective_date)
142        ,p_language_code                => l_language_code
143        ,p_template_tab_page_id_from    => p_template_tab_page_id_from
144        ,p_template_canvas_id           => p_template_canvas_id
145        ,p_template_tab_page_id_to      => l_template_tab_page_id_to
146        ,p_object_version_number        => l_object_version_number
147        --,p_override_value_warning       => l_override_value_warning
148       );
149   exception
150     when hr_api.cannot_find_prog_unit then
151       hr_api.cannot_find_prog_unit_error
152         (p_module_name => 'copy_template_tab_page'
153         ,p_hook_type   => 'AP'
154         );
155   end;
156   --
157   -- When in validation only mode raise the Validate_Enabled exception
158   --
159   if p_validate then
160     raise hr_api.validate_enabled;
161   end if;
162   --
163   -- Set all output arguments
164   --
165   --
166   p_template_tab_page_id_to      := l_template_tab_page_id_to;
167   p_object_version_number        := l_object_version_number;
168   --p_override_value_warning       := l_override_value_warning;
169 
170   hr_utility.set_location(' Leaving:'||l_proc, 70);
171 exception
172   when hr_api.validate_enabled then
173     --
174     -- As the Validate_Enabled exception has been raised
175     -- we must rollback to the savepoint
176     --
177     rollback to copy_template_tab_page;
178     --
179     -- Only set output warning arguments
180     -- (Any key or derived arguments must be set to null
181     -- when validation only mode is being used.)
182     --
183     --p_override_value_warning := null;
184     p_template_tab_page_id_to      := null;
185     p_object_version_number  := null;
186     hr_utility.set_location(' Leaving:'||l_proc, 80);
187   when others then
188     --
189     -- A validation or unexpected error has occured
190     --
191      p_template_tab_page_id_to      := null;
192     p_object_version_number  := null;
193 
194     rollback to copy_template_tab_page;
195     hr_utility.set_location(' Leaving:'||l_proc, 90);
196     raise;
197 end copy_template_tab_page;
198 --
199 --
200 -- ----------------------------------------------------------------------------
201 -- |--------------------------< create_template_tab_page >--------------------|
202 -- ----------------------------------------------------------------------------
203 --
204 procedure create_template_tab_page
205   (p_validate                        in boolean  default false
206   ,p_effective_date                  in date
207   ,p_language_code                   in varchar2 default hr_api.userenv_lang
208   ,p_template_canvas_id              in number
209   ,p_form_tab_page_id                in number
210   ,p_label                           in varchar2 default hr_api.g_varchar2
211   ,p_navigation_direction            in varchar2 default hr_api.g_varchar2
212   ,p_visible                         in number default hr_api.g_number
213   ,p_information_category            in varchar2 default hr_api.g_varchar2
214   ,p_information1                    in varchar2 default hr_api.g_varchar2
215   ,p_information2                    in varchar2 default hr_api.g_varchar2
216   ,p_information3                    in varchar2 default hr_api.g_varchar2
217   ,p_information4                    in varchar2 default hr_api.g_varchar2
218   ,p_information5                    in varchar2 default hr_api.g_varchar2
219   ,p_information6                    in varchar2 default hr_api.g_varchar2
220   ,p_information7                    in varchar2 default hr_api.g_varchar2
221   ,p_information8                    in varchar2 default hr_api.g_varchar2
222   ,p_information9                    in varchar2 default hr_api.g_varchar2
223   ,p_information10                   in varchar2 default hr_api.g_varchar2
224   ,p_information11                   in varchar2 default hr_api.g_varchar2
225   ,p_information12                   in varchar2 default hr_api.g_varchar2
226   ,p_information13                   in varchar2 default hr_api.g_varchar2
227   ,p_information14                   in varchar2 default hr_api.g_varchar2
228   ,p_information15                   in varchar2 default hr_api.g_varchar2
229   ,p_information16                   in varchar2 default hr_api.g_varchar2
230   ,p_information17                   in varchar2 default hr_api.g_varchar2
231   ,p_information18                   in varchar2 default hr_api.g_varchar2
232   ,p_information19                   in varchar2 default hr_api.g_varchar2
233   ,p_information20                   in varchar2 default hr_api.g_varchar2
234   ,p_information21                   in varchar2 default hr_api.g_varchar2
235   ,p_information22                   in varchar2 default hr_api.g_varchar2
236   ,p_information23                   in varchar2 default hr_api.g_varchar2
237   ,p_information24                   in varchar2 default hr_api.g_varchar2
238   ,p_information25                   in varchar2 default hr_api.g_varchar2
239   ,p_information26                   in varchar2 default hr_api.g_varchar2
240   ,p_information27                   in varchar2 default hr_api.g_varchar2
241   ,p_information28                   in varchar2 default hr_api.g_varchar2
242   ,p_information29                   in varchar2 default hr_api.g_varchar2
243   ,p_information30                   in varchar2 default hr_api.g_varchar2
244   ,p_template_tab_page_id              out nocopy number
245   ,p_object_version_number             out nocopy number
246   ,p_override_value_warning            out nocopy boolean
247   ) is
248   --
249   -- Declare cursors and local variables
250   --
251 
252   l_temp number;
253 
254   CURSOR cur_override
255   IS
256   SELECT visible_override
257   FROM hr_form_tab_pages_b
258   WHERE form_tab_page_id = p_form_tab_page_id;
259 
260   l_visible_override number;
261 
262   CURSOR cur_api_val
263   IS
264   SELECT source_form_template_id
265   FROM hr_source_form_templates hsf
266        ,hr_template_windows_b htw
267        ,hr_template_canvases_b htc
268   WHERE hsf.form_template_id_to = htw.form_template_id
269   AND htw.template_window_id = htc.template_window_id
270   AND htc.template_canvas_id = p_template_canvas_id;
271 
272   l_tab_page_property_id              number;
273   l_template_tab_page_id              number;
274   l_object_version_number             number;
275   l_override_value_warning            boolean := FALSE;
276   l_language_code fnd_languages.language_code%TYPE;
277 
278   l_proc                varchar2(72) := g_package||'create_template_tab_page';
279 begin
280   hr_utility.set_location('Entering:'|| l_proc, 10);
281   --
282   -- Issue a savepoint
283   --
284   savepoint create_template_tab_page;
285   --
286   -- Truncate the time portion from all IN date parameters
287   --
288      -- p_effective_date := TRUNC(p_effective_date);
289   --
290   -- Validate the language parameter. l_language_code should be passed
291   -- instead of p_language_code from now on, to allow an IN OUT parameter to
292   -- be passed through.
293   --
294   l_language_code := p_language_code;
295   hr_api.validate_language_code(p_language_code => l_language_code);
296   --
297   hr_utility.set_location(l_proc, 20);
298   --
299   --
300   -- Call Before Process User Hook
301   --
302   begin
303     hr_template_tab_pages_api_bk2.create_template_tab_page_b
304       (p_effective_date                 => TRUNC(p_effective_date)
305       ,p_language_code                  => l_language_code
306       ,p_template_canvas_id             => p_template_canvas_id
307       ,p_form_tab_page_id               => p_form_tab_page_id
308       ,p_label                          => p_label
309       ,p_navigation_direction           => p_navigation_direction
310       ,p_visible                        => p_visible
311       ,p_information_category           => p_information_category
312       ,p_information1                   => p_information1
313       ,p_information2                   => p_information2
314       ,p_information3                   => p_information3
315       ,p_information4                   => p_information4
316       ,p_information5                   => p_information5
317       ,p_information6                   => p_information6
318       ,p_information7                   => p_information7
319       ,p_information8                   => p_information8
320       ,p_information9                   => p_information9
321       ,p_information10                  => p_information10
322       ,p_information11                  => p_information11
323       ,p_information12                  => p_information12
324       ,p_information13                  => p_information13
325       ,p_information14                  => p_information14
326       ,p_information15                  => p_information15
327       ,p_information16                  => p_information16
328       ,p_information17                  => p_information17
329       ,p_information18                  => p_information18
330       ,p_information19                  => p_information19
331       ,p_information20                  => p_information20
332       ,p_information21                  => p_information21
333       ,p_information22                  => p_information22
334       ,p_information23                  => p_information23
335       ,p_information24                  => p_information24
336       ,p_information25                  => p_information25
337       ,p_information26                  => p_information26
338       ,p_information27                  => p_information27
339       ,p_information28                  => p_information28
340       ,p_information29                  => p_information29
341       ,p_information30                  => p_information30);
342   exception
343     when hr_api.cannot_find_prog_unit then
344       hr_api.cannot_find_prog_unit_error
345         (p_module_name => 'create_template_tab_page'
346         ,p_hook_type   => 'BP'
347         );
348   end;
349   --
350   -- Validation in addition to Row Handlers
351   --
352   hr_utility.set_location('At:'|| l_proc, 15);
353 
354      OPEN cur_override;
355      FETCH cur_override INTO l_visible_override;
356      CLOSE cur_override;
357 
358   hr_utility.set_location('At:'|| l_proc, 20);
359 
360      IF ( p_visible <> hr_api.g_number ) AND
361         ( p_visible is not null and l_visible_override is not null ) THEN
362        l_override_value_warning := TRUE;
363      END IF;
364 
365   hr_utility.set_location('At:'|| l_proc, 25);
366 
367      OPEN cur_api_val;
368      FETCH cur_api_val INTO l_temp;
369      IF (cur_api_val%NOTFOUND AND
370          hr_form_templates_api.g_session_mode <> 'SEED_DATA') THEN
371          CLOSE cur_api_val;
372        -- error message
373        fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
374        fnd_message.set_token('PROCEDURE', l_proc);
375        fnd_message.set_token('STEP','10');
376        fnd_message.raise_error;
377      END IF;
378      CLOSE cur_api_val;
379   --
380   --
381   -- Process Logic
382   --
383   hr_utility.set_location('At:'|| l_proc, 30);
384 
385   hr_ttp_ins.ins(p_template_canvas_id           => p_template_canvas_id
386                  ,p_form_tab_page_id             => p_form_tab_page_id
387                  ,p_template_tab_page_id         => l_template_tab_page_id
388                  ,p_object_version_number        => l_object_version_number);
389 
390   hr_utility.set_location('At:'|| l_proc, 35);
391 
392   hr_tab_page_properties_bsi.copy_tab_page_property(
393              p_effective_date                => TRUNC(p_effective_date)
394              ,p_language_code                => l_language_code
395              ,p_form_tab_page_id             => p_form_tab_page_id
396              ,p_template_tab_page_id         => l_template_tab_page_id
397              ,p_label                        => p_label
398              ,p_navigation_direction         => p_navigation_direction
399              ,p_visible                      => p_visible
400              ,p_information_category         => p_information_category
401              ,p_information1                 => p_information1
402              ,p_information2                 => p_information2
403              ,p_information3                 => p_information3
404              ,p_information4                 => p_information4
405              ,p_information5                 => p_information5
406              ,p_information6                 => p_information6
407              ,p_information7                 => p_information7
408              ,p_information8                 => p_information8
409              ,p_information9                 => p_information9
410              ,p_information10                => p_information10
411              ,p_information11                => p_information11
412              ,p_information12                => p_information12
413              ,p_information13                => p_information13
414              ,p_information14                => p_information14
415              ,p_information15                => p_information15
416              ,p_information16                => p_information16
417              ,p_information17                => p_information17
418              ,p_information18                => p_information18
419              ,p_information19                => p_information19
420              ,p_information20                => p_information20
421              ,p_information21                => p_information21
422              ,p_information22                => p_information22
423              ,p_information23                => p_information23
424              ,p_information24                => p_information24
425              ,p_information25                => p_information25
426              ,p_information26                => p_information26
427              ,p_information27                => p_information27
428              ,p_information28                => p_information28
429              ,p_information29                => p_information29
430              ,p_information30                => p_information30
431              ,p_tab_page_property_id         => l_tab_page_property_id
432              ,p_object_version_number        => l_object_version_number);
433              --,p_override_value_warning       => l_override_value_warning);
434 
435   hr_utility.set_location('At:'|| l_proc, 40);
436 
437   --
438   -- Call After Process User Hook
439   --
440   begin
441     hr_template_tab_pages_api_bk2.create_template_tab_page_a
442       (p_effective_date                 => TRUNC(p_effective_date)
443       ,p_language_code                  => l_language_code
444       ,p_template_canvas_id             => p_template_canvas_id
445       ,p_form_tab_page_id               => p_form_tab_page_id
446       ,p_label                          => p_label
447       ,p_navigation_direction           => p_navigation_direction
448       ,p_visible                        => p_visible
449       ,p_information_category           => p_information_category
450       ,p_information1                   => p_information1
451       ,p_information2                   => p_information2
452       ,p_information3                   => p_information3
453       ,p_information4                   => p_information4
454       ,p_information5                   => p_information5
455       ,p_information6                   => p_information6
456       ,p_information7                   => p_information7
457       ,p_information8                   => p_information8
458       ,p_information9                   => p_information9
459       ,p_information10                  => p_information10
460       ,p_information11                  => p_information11
461       ,p_information12                  => p_information12
462       ,p_information13                  => p_information13
463       ,p_information14                  => p_information14
464       ,p_information15                  => p_information15
465       ,p_information16                  => p_information16
466       ,p_information17                  => p_information17
467       ,p_information18                  => p_information18
468       ,p_information19                  => p_information19
469       ,p_information20                  => p_information20
470       ,p_information21                  => p_information21
471       ,p_information22                  => p_information22
472       ,p_information23                  => p_information23
473       ,p_information24                  => p_information24
474       ,p_information25                  => p_information25
475       ,p_information26                  => p_information26
476       ,p_information27                  => p_information27
477       ,p_information28                  => p_information28
478       ,p_information29                  => p_information29
479       ,p_information30                  => p_information30
480       ,p_template_tab_page_id           => l_template_tab_page_id
481       ,p_object_version_number          => l_object_version_number
482       ,p_override_value_warning         => l_override_value_warning
483       );
484   exception
485     when hr_api.cannot_find_prog_unit then
486       hr_api.cannot_find_prog_unit_error
487         (p_module_name => 'create_template_tab_page'
488         ,p_hook_type   => 'AP'
489         );
490   end;
491   --
492   -- When in validation only mode raise the Validate_Enabled exception
493   --
494   if p_validate then
495     raise hr_api.validate_enabled;
496   end if;
497   --
498   -- Set all output arguments
499   --
500   p_template_tab_page_id           := l_template_tab_page_id;
501   p_object_version_number          := l_object_version_number;
502   p_override_value_warning         := l_override_value_warning;
503   --
504   hr_utility.set_location(' Leaving:'||l_proc, 70);
505 exception
506   when hr_api.validate_enabled then
507     --
508     -- As the Validate_Enabled exception has been raised
509     -- we must rollback to the savepoint
510     --
511     rollback to create_template_tab_page;
512     --
513     -- Only set output warning arguments
514     -- (Any key or derived arguments must be set to null
515     -- when validation only mode is being used.)
516     --
517     p_template_tab_page_id           := null;
518     p_object_version_number          := null;
519     p_override_value_warning         := l_override_value_warning;
520     hr_utility.set_location(' Leaving:'||l_proc, 80);
521   when others then
522     --
523     -- A validation or unexpected error has occured
524     --
525     p_template_tab_page_id           := null;
526     p_object_version_number          := null;
527     p_override_value_warning         := null;
528 
529     rollback to create_template_tab_page;
530     hr_utility.set_location(' Leaving:'||l_proc, 90);
531     raise;
532 end create_template_tab_page;
533 --
534 -- ----------------------------------------------------------------------------
535 -- |--------------------------< delete_template_tab_page >--------------------|
536 -- ----------------------------------------------------------------------------
537 --
538 procedure delete_template_tab_page
539   (p_validate                      in     boolean  default false
540    ,p_template_tab_page_id          in     number
541    ,p_object_version_number         in     number
542    ,p_delete_children_flag          in     varchar2 default 'N'
543   ) is
544   --
545   -- Declare cursors and local variables
546   --
547 
548   CURSOR cur_tmplt_tab
549   IS
550   SELECT template_item_tab_page_id
551   ,object_version_number
552   FROM hr_template_item_tab_pages
553   WHERE template_tab_page_id = p_template_tab_page_id;
554 
555   CURSOR cur_tmplt_context
556   IS
557   SELECT template_item_context_page_id
558   ,object_version_number
559   FROM hr_template_item_context_pages
560   WHERE template_tab_page_id = p_template_tab_page_id;
561 
562   l_temp number;
563 
564   CURSOR cur_api_val
565   IS
566   SELECT source_form_template_id
567   FROM hr_source_form_templates hsf
568        ,hr_template_windows_b htw
569        ,hr_template_canvases_b htc
570        ,hr_template_tab_pages_b http
571   WHERE hsf.form_template_id_to = htw.form_template_id
572   AND htw.template_window_id = htc.template_window_id
573   AND htc.template_canvas_id = http.template_canvas_id
574   AND http.template_tab_page_id = p_template_tab_page_id;
575 
576   l_proc                varchar2(72) := g_package||'delete_template_tab_page';
577 begin
578   hr_utility.set_location('Entering:'|| l_proc, 10);
579   --
580   -- Issue a savepoint
581   --
582   savepoint delete_template_tab_page;
583   --
584   -- Call Before Process User Hook
585   --
586   begin
587     hr_template_tab_pages_api_bk3.delete_template_tab_page_b
588       (p_template_tab_page_id           => p_template_tab_page_id
589       ,p_object_version_number          => p_object_version_number
590       ,p_delete_children_flag           => p_delete_children_flag
591       );
592   exception
593     when hr_api.cannot_find_prog_unit then
594       hr_api.cannot_find_prog_unit_error
595         (p_module_name => 'delete_template_tab_page'
596         ,p_hook_type   => 'BP'
597         );
598   end;
599   --
600   -- Validation in addition to Row Handlers
601   --
602   hr_utility.set_location('At:'|| l_proc, 15);
603 
604      OPEN cur_api_val;
605      FETCH cur_api_val INTO l_temp;
606      IF (cur_api_val%NOTFOUND AND
607          hr_form_templates_api.g_session_mode <> 'SEED_DATA') THEN
608          CLOSE cur_api_val;
609        -- error message
610        fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
611        fnd_message.set_token('PROCEDURE', l_proc);
612        fnd_message.set_token('STEP','10');
613        fnd_message.raise_error;
614      END IF;
615      CLOSE cur_api_val;
616   --
617   --
618   -- Process Logic
619   --
620   hr_utility.set_location('At:'|| l_proc, 20);
621 
622   hr_utility.set_location('At:'|| l_proc, 25);
623 
624   IF p_delete_children_flag = 'Y' THEN
625     hr_utility.set_location('At:'|| l_proc, 30);
626 
627     FOR cur_rec IN cur_tmplt_tab LOOP
628       hr_template_item_tab_pages_api.delete_template_item_tab_page(
629              p_template_item_tab_page_id    => cur_rec.template_item_tab_page_id
630              ,p_object_version_number       => cur_rec.object_version_number);
631     END LOOP;
632 
633     hr_utility.set_location('At:'|| l_proc, 35);
634 
635     FOR cur_rec IN cur_tmplt_context LOOP
636       hr_tcp_api.delete_tcp(
637         p_template_item_context_page_i => cur_rec.template_item_context_page_id
638         ,p_object_version_number        => cur_rec.object_version_number);
639     END LOOP;
640   END IF;
641 
642   hr_utility.set_location('At:'|| l_proc, 40);
643 
644   hr_tab_page_properties_bsi.delete_tab_page_property(
645              p_template_tab_page_id         => p_template_tab_page_id
646              ,p_object_version_number        => p_object_version_number);
647 
648   hr_utility.set_location('At:'|| l_proc, 45);
649 
650   hr_ttp_del.del( p_template_tab_page_id         => p_template_tab_page_id
651                  ,p_object_version_number        => p_object_version_number);
652   --
653   -- Call After Process User Hook
654   --
655   hr_utility.set_location('At:'|| l_proc, 50);
656 
657   begin
658     hr_template_tab_pages_api_bk3.delete_template_tab_page_a
659       (p_template_tab_page_id           => p_template_tab_page_id
660       ,p_object_version_number          => p_object_version_number
661       ,p_delete_children_flag           => p_delete_children_flag
662       );
663   exception
664     when hr_api.cannot_find_prog_unit then
665       hr_api.cannot_find_prog_unit_error
666         (p_module_name => 'delete_template_tab_page'
667         ,p_hook_type   => 'AP'
668         );
669   end;
670   --
671   -- When in validation only mode raise the Validate_Enabled exception
672   --
673   if p_validate then
674     raise hr_api.validate_enabled;
675   end if;
676   --
677   hr_utility.set_location(' Leaving:'||l_proc, 70);
678 exception
679   when hr_api.validate_enabled then
680     --
681     -- As the Validate_Enabled exception has been raised
682     -- we must rollback to the savepoint
683     --
684     rollback to delete_template_tab_page;
685     --
686     -- Only set output warning arguments
687     -- (Any key or derived arguments must be set to null
688     -- when validation only mode is being used.)
689     --
690     hr_utility.set_location(' Leaving:'||l_proc, 80);
691   when others then
692     --
693     -- A validation or unexpected error has occured
694     --
695     rollback to delete_template_tab_page;
696     hr_utility.set_location(' Leaving:'||l_proc, 90);
697     raise;
698 end delete_template_tab_page;
699 --
700 -- ----------------------------------------------------------------------------
701 -- |--------------------------< update_template_tab_page >--------------------|
702 -- ----------------------------------------------------------------------------
703 --
704 procedure update_template_tab_page
705   (p_validate                        in boolean  default false
706   ,p_effective_date                  in date
707   ,p_language_code                   in varchar2 default hr_api.userenv_lang
708   ,p_template_tab_page_id            in number
709   ,p_object_version_number           in out nocopy number
710   ,p_label                           in varchar2 default hr_api.g_varchar2
711   ,p_navigation_direction            in varchar2 default hr_api.g_varchar2
712   ,p_visible                         in number default hr_api.g_number
713   ,p_information_category            in varchar2 default hr_api.g_varchar2
714   ,p_information1                    in varchar2 default hr_api.g_varchar2
715   ,p_information2                    in varchar2 default hr_api.g_varchar2
716   ,p_information3                    in varchar2 default hr_api.g_varchar2
717   ,p_information4                    in varchar2 default hr_api.g_varchar2
718   ,p_information5                    in varchar2 default hr_api.g_varchar2
719   ,p_information6                    in varchar2 default hr_api.g_varchar2
720   ,p_information7                    in varchar2 default hr_api.g_varchar2
721   ,p_information8                    in varchar2 default hr_api.g_varchar2
722   ,p_information9                    in varchar2 default hr_api.g_varchar2
723   ,p_information10                   in varchar2 default hr_api.g_varchar2
724   ,p_information11                   in varchar2 default hr_api.g_varchar2
725   ,p_information12                   in varchar2 default hr_api.g_varchar2
726   ,p_information13                   in varchar2 default hr_api.g_varchar2
727   ,p_information14                   in varchar2 default hr_api.g_varchar2
728   ,p_information15                   in varchar2 default hr_api.g_varchar2
729   ,p_information16                   in varchar2 default hr_api.g_varchar2
730   ,p_information17                   in varchar2 default hr_api.g_varchar2
731   ,p_information18                   in varchar2 default hr_api.g_varchar2
732   ,p_information19                   in varchar2 default hr_api.g_varchar2
733   ,p_information20                   in varchar2 default hr_api.g_varchar2
734   ,p_information21                   in varchar2 default hr_api.g_varchar2
735   ,p_information22                   in varchar2 default hr_api.g_varchar2
736   ,p_information23                   in varchar2 default hr_api.g_varchar2
737   ,p_information24                   in varchar2 default hr_api.g_varchar2
738   ,p_information25                   in varchar2 default hr_api.g_varchar2
739   ,p_information26                   in varchar2 default hr_api.g_varchar2
740   ,p_information27                   in varchar2 default hr_api.g_varchar2
741   ,p_information28                   in varchar2 default hr_api.g_varchar2
742   ,p_information29                   in varchar2 default hr_api.g_varchar2
743   ,p_information30                   in varchar2 default hr_api.g_varchar2
744   ,p_override_value_warning            out nocopy boolean
745   ) is
746   --
747   -- Declare cursors and local variables
748   --
749 
750   CURSOR cur_override
751   IS
752   SELECT visible_override
753   FROM hr_form_tab_pages_b ftp
754        , hr_template_tab_pages_b ttp
755   WHERE ftp.form_tab_page_id = ttp.form_tab_page_id
756   AND ttp.template_tab_page_id = p_template_tab_page_id;
757 
758   l_visible_override number;
759 
760   l_temp number;
761 
762   CURSOR cur_api_val
763   IS
764   SELECT source_form_template_id
765   FROM hr_source_form_templates hsf
766        ,hr_template_windows_b htw
767        ,hr_template_canvases_b htc
768        ,hr_template_tab_pages_b http
769   WHERE hsf.form_template_id_to = htw.form_template_id
770   AND htw.template_window_id = htc.template_window_id
771   AND htc.template_canvas_id = http.template_canvas_id
772   AND http.template_tab_page_id = p_template_tab_page_id;
773 
774   l_proc                varchar2(72) := g_package||'update_template_tab_page';
775   l_object_version_number number;
776   l_override_value_warning boolean := FALSE;
777   l_language_code fnd_languages.language_code%TYPE;
778 
779 
780 begin
781   hr_utility.set_location('Entering:'|| l_proc, 10);
782   --
783   -- Issue a savepoint
784   --
785   savepoint update_template_tab_page;
786   --
787   -- Truncate the time portion from all IN date parameters
788   --
789     -- p_effective_date := TRUNC(p_effective_date);
790     l_object_version_number := p_object_version_number;
791   --
792   -- Validate the language parameter. l_language_code should be passed
793   -- instead of p_language_code from now on, to allow an IN OUT parameter to
794   -- be passed through.
795   --
796   l_language_code := p_language_code;
797   hr_api.validate_language_code(p_language_code => l_language_code);
798   --
799   hr_utility.set_location(l_proc, 20);
800   --
801   --
802   -- Call Before Process User Hook
803   --
804   begin
805     hr_template_tab_pages_api_bk4.update_template_tab_page_b
806       (p_effective_date                 => TRUNC(p_effective_date)
807       ,p_language_code                  => l_language_code
808       ,p_template_tab_page_id           => p_template_tab_page_id
809       ,p_object_version_number          => l_object_version_number
810       ,p_label                          => p_label
811       ,p_navigation_direction           => p_navigation_direction
812       ,p_visible                        => p_visible
813       ,p_information_category           => p_information_category
814       ,p_information1                   => p_information1
815       ,p_information2                   => p_information2
816       ,p_information3                   => p_information3
817       ,p_information4                   => p_information4
818       ,p_information5                   => p_information5
819       ,p_information6                   => p_information6
820       ,p_information7                   => p_information7
821       ,p_information8                   => p_information8
822       ,p_information9                   => p_information9
823       ,p_information10                  => p_information10
824       ,p_information11                  => p_information11
825       ,p_information12                  => p_information12
826       ,p_information13                  => p_information13
827       ,p_information14                  => p_information14
828       ,p_information15                  => p_information15
829       ,p_information16                  => p_information16
830       ,p_information17                  => p_information17
831       ,p_information18                  => p_information18
832       ,p_information19                  => p_information19
833       ,p_information20                  => p_information20
834       ,p_information21                  => p_information21
835       ,p_information22                  => p_information22
836       ,p_information23                  => p_information23
837       ,p_information24                  => p_information24
838       ,p_information25                  => p_information25
839       ,p_information26                  => p_information26
840       ,p_information27                  => p_information27
841       ,p_information28                  => p_information28
842       ,p_information29                  => p_information29
843       ,p_information30                  => p_information30);
844   exception
845     when hr_api.cannot_find_prog_unit then
846       hr_api.cannot_find_prog_unit_error
847         (p_module_name => 'update_template_tab_page'
848         ,p_hook_type   => 'BP'
849         );
850   end;
851   --
852   -- Validation in addition to Row Handlers
853   --
854   hr_utility.set_location('At:'|| l_proc, 15);
855 
856      OPEN cur_override;
857      FETCH cur_override INTO l_visible_override;
858      CLOSE cur_override;
859 
860   hr_utility.set_location('At:'|| l_proc, 20);
861 
862      IF ( p_visible <> hr_api.g_number ) AND
863         ( p_visible is not null and l_visible_override is not null ) THEN
864        l_override_value_warning := TRUE;
865      END IF;
866 
867   hr_utility.set_location('At:'|| l_proc, 25);
868 
869      OPEN cur_api_val;
870      FETCH cur_api_val INTO l_temp;
871      IF (cur_api_val%NOTFOUND AND
872          hr_form_templates_api.g_session_mode <> 'SEED_DATA') THEN
873          CLOSE cur_api_val;
874        -- error message
875        fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
876        fnd_message.set_token('PROCEDURE', l_proc);
877        fnd_message.set_token('STEP','10');
878        fnd_message.raise_error;
879      END IF;
880      CLOSE cur_api_val;
881   --
882   --
883   -- Process Logic
884   --
885   hr_utility.set_location('At:'|| l_proc, 30);
886 
887   hr_tab_page_properties_bsi.update_tab_page_property(
888              p_effective_date                => TRUNC(p_effective_date)
889              ,p_object_version_number        => l_object_version_number
890              ,p_language_code                => l_language_code
891              ,p_template_tab_page_id         => p_template_tab_page_id
892              ,p_label                        => p_label
893              ,p_navigation_direction         => p_navigation_direction
894              ,p_visible                      => p_visible
895              ,p_information_category         => p_information_category
896              ,p_information1                 => p_information1
897              ,p_information2                 => p_information2
898              ,p_information3                 => p_information3
899              ,p_information4                 => p_information4
900              ,p_information5                 => p_information5
901              ,p_information6                 => p_information6
902              ,p_information7                 => p_information7
903              ,p_information8                 => p_information8
904              ,p_information9                 => p_information9
905              ,p_information10                => p_information10
906              ,p_information11                => p_information11
907              ,p_information12                => p_information12
908              ,p_information13                => p_information13
909              ,p_information14                => p_information14
910              ,p_information15                => p_information15
911              ,p_information16                => p_information16
912              ,p_information17                => p_information17
913              ,p_information18                => p_information18
914              ,p_information19                => p_information19
915              ,p_information20                => p_information20
916              ,p_information21                => p_information21
917              ,p_information22                => p_information22
918              ,p_information23                => p_information23
919              ,p_information24                => p_information24
920              ,p_information25                => p_information25
921              ,p_information26                => p_information26
922              ,p_information27                => p_information27
923              ,p_information28                => p_information28
924              ,p_information29                => p_information29
925              ,p_information30                => p_information30);
926              --,p_override_value_warning       => l_override_value_warning);
927 
928   hr_utility.set_location('At:'|| l_proc, 40);
929 
930   --
931   -- Call After Process User Hook
932   --
933   begin
934     hr_template_tab_pages_api_bk4.update_template_tab_page_a
935       (p_effective_date                 => TRUNC(p_effective_date)
936       ,p_language_code                  => l_language_code
937       ,p_template_tab_page_id           => p_template_tab_page_id
938       ,p_object_version_number          => l_object_version_number
939       ,p_label                          => p_label
940       ,p_navigation_direction           => p_navigation_direction
941       ,p_visible                        => p_visible
942       ,p_information_category           => p_information_category
943       ,p_information1                   => p_information1
944       ,p_information2                   => p_information2
945       ,p_information3                   => p_information3
946       ,p_information4                   => p_information4
947       ,p_information5                   => p_information5
948       ,p_information6                   => p_information6
949       ,p_information7                   => p_information7
950       ,p_information8                   => p_information8
951       ,p_information9                   => p_information9
952       ,p_information10                  => p_information10
953       ,p_information11                  => p_information11
954       ,p_information12                  => p_information12
955       ,p_information13                  => p_information13
956       ,p_information14                  => p_information14
957       ,p_information15                  => p_information15
958       ,p_information16                  => p_information16
959       ,p_information17                  => p_information17
960       ,p_information18                  => p_information18
961       ,p_information19                  => p_information19
962       ,p_information20                  => p_information20
963       ,p_information21                  => p_information21
964       ,p_information22                  => p_information22
965       ,p_information23                  => p_information23
966       ,p_information24                  => p_information24
967       ,p_information25                  => p_information25
968       ,p_information26                  => p_information26
969       ,p_information27                  => p_information27
970       ,p_information28                  => p_information28
971       ,p_information29                  => p_information29
972       ,p_information30                  => p_information30
973       ,p_override_value_warning         => l_override_value_warning
974       );
975   exception
976     when hr_api.cannot_find_prog_unit then
977       hr_api.cannot_find_prog_unit_error
978         (p_module_name => 'update_template_tab_page'
979         ,p_hook_type   => 'AP'
980         );
981   end;
982   --
983   -- When in validation only mode raise the Validate_Enabled exception
984   --
985   if p_validate then
986     raise hr_api.validate_enabled;
987   end if;
988   --
989   -- Set all output arguments
990   --
991   p_object_version_number  := l_object_version_number;
992   p_override_value_warning := l_override_value_warning;
993   --
994   hr_utility.set_location(' Leaving:'||l_proc, 70);
995 exception
996   when hr_api.validate_enabled then
997     --
998     -- As the Validate_Enabled exception has been raised
999     -- we must rollback to the savepoint
1000     --
1001     rollback to update_template_tab_page;
1002     --
1003     -- Only set output warning arguments
1004     -- (Any key or derived arguments must be set to null
1005     -- when validation only mode is being used.)
1006     --
1007     p_override_value_warning := l_override_value_warning;
1008     hr_utility.set_location(' Leaving:'||l_proc, 80);
1009   when others then
1010     --
1011     -- A validation or unexpected error has occured
1012     --
1013     rollback to update_template_tab_page;
1014     hr_utility.set_location(' Leaving:'||l_proc, 90);
1015     raise;
1016 end update_template_tab_page;
1017 --
1018 end hr_template_tab_pages_api;