DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_FORM_ITEMS_API

Source


1 Package Body hr_form_items_api as
2 /* $Header: hrfimapi.pkb 115.5 2003/09/24 02:23:16 bsubrama noship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  hr_form_items_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |--------------------------< create_form_item >--------------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_form_item
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_application_id              in number
17   ,p_form_id                     in number
18   ,p_full_item_name              in varchar2
19   ,p_item_type                   in varchar2
20   ,p_form_canvas_id              in number
21   ,p_user_item_name              in varchar2
22   ,p_description                 in varchar2 default null
23   ,p_form_tab_page_id            in number default null
24   ,p_radio_button_name           in varchar2 default null
25   ,p_required_override           in number default null
26   ,p_form_tab_page_id_override   in number default null
27   ,p_visible_override            in number default null
28   ,p_alignment                   in number default null
29   ,p_bevel                       in number default null
30   ,p_case_restriction            in number default null
31   ,p_default_value               in varchar2 default null
32   ,p_enabled                     in number default null
33   ,p_format_mask                 in varchar2 default null
34   ,p_height                      in number default null
35   ,p_information_formula_id      in number default null
36   ,p_information_param_item_id1  in number default null
37   ,p_information_param_item_id2  in number default null
38   ,p_information_param_item_id3  in number default null
39   ,p_information_param_item_id4  in number default null
40   ,p_information_param_item_id5  in number default null
41   ,p_information_prompt          in varchar2 default null
42   ,p_insert_allowed              in number default null
43   ,p_label                       in varchar2 default null
44   ,p_prompt_text                 in varchar2 default null
45   ,p_prompt_alignment_offset     in number default null
46   ,p_prompt_display_style        in number default null
47   ,p_prompt_edge                 in number default null
48   ,p_prompt_edge_alignment       in number default null
49   ,p_prompt_edge_offset          in number default null
50   ,p_prompt_text_alignment       in number default null
51   ,p_query_allowed               in number default null
52   ,p_required                    in number default null
53   ,p_tooltip_text                in varchar2 default null
54   ,p_update_allowed              in number default null
55   ,p_validation_formula_id       in number default null
56   ,p_validation_param_item_id1   in number default null
57   ,p_validation_param_item_id2   in number default null
58   ,p_validation_param_item_id3   in number default null
59   ,p_validation_param_item_id4   in number default null
60   ,p_validation_param_item_id5   in number default null
61   ,p_visible                     in number default null
62   ,p_width                       in number default null
63   ,p_x_position                  in number default null
64   ,p_y_position                  in number default null
65   ,p_information_category        in varchar2 default null
66   ,p_information1                in varchar2 default null
67   ,p_information2                in varchar2 default null
68   ,p_information3                in varchar2 default null
69   ,p_information4                in varchar2 default null
70   ,p_information5                in varchar2 default null
71   ,p_information6                in varchar2 default null
72   ,p_information7                in varchar2 default null
73   ,p_information8                in varchar2 default null
74   ,p_information9                in varchar2 default null
75   ,p_information10               in varchar2 default null
76   ,p_information11               in varchar2 default null
77   ,p_information12               in varchar2 default null
78   ,p_information13               in varchar2 default null
79   ,p_information14               in varchar2 default null
80   ,p_information15               in varchar2 default null
81   ,p_information16               in varchar2 default null
82   ,p_information17               in varchar2 default null
83   ,p_information18               in varchar2 default null
84   ,p_information19               in varchar2 default null
85   ,p_information20               in varchar2 default null
86   ,p_information21               in varchar2 default null
87   ,p_information22               in varchar2 default null
88   ,p_information23               in varchar2 default null
89   ,p_information24               in varchar2 default null
90   ,p_information25               in varchar2 default null
91   ,p_information26               in varchar2 default null
92   ,p_information27               in varchar2 default null
93   ,p_information28               in varchar2 default null
94   ,p_information29               in varchar2 default null
95   ,p_information30               in varchar2 default null
96   ,p_next_navigation_item_id     in number default null
97   ,p_previous_navigation_item_id in number default null
98   ,p_form_item_id                   out nocopy number
99   ,p_object_version_number          out nocopy number
100   ,p_override_value_warning         out nocopy boolean
101   ) is
102   --
103   -- Declare cursors and local variables
104   --
105 
106   l_proc                  varchar2(72) := g_package||'create_form_item';
107   l_language_code fnd_languages.language_code%TYPE;
108 
109   l_form_item_id          number;
110   l_object_version_number number;
111   l_item_property_id       number;
112   l_override_value_warning boolean := FALSE;
113 
114 begin
115   hr_utility.set_location('Entering:'|| l_proc, 10);
116   --
117   -- Issue a savepoint
118   --
119   savepoint create_form_item;
120   --
121   -- Truncate the time portion from all IN date parameters
122   --
123      -- p_effective_date := TRUNC(p_effective_date);
124   --
125   -- Validate the language parameter. l_language_code should be passed
126   -- instead of p_language_code from now on, to allow an IN OUT parameter to
127   -- be passed through.
128   --
129   l_language_code := p_language_code;
130   hr_api.validate_language_code(p_language_code => l_language_code);
131   --
132   hr_utility.set_location(l_proc, 20);
133   --
134   --
135   -- Call Before Process User Hook
136   --
137   begin
138     hr_form_items_api_bk1.create_form_item_b
139       (p_effective_date             => TRUNC(p_effective_date)
140       ,p_language_code              => l_language_code
141       ,p_application_id             => p_application_id
142       ,p_form_id                    => p_form_id
143       ,p_full_item_name             => p_full_item_name
144       ,p_item_type                  => p_item_type
145       ,p_form_canvas_id             => p_form_canvas_id
146       ,p_user_item_name             => p_user_item_name
147       ,p_description                => p_description
148       ,p_form_tab_page_id           => p_form_tab_page_id
149       ,p_radio_button_name          => p_radio_button_name
150       ,p_required_override          => p_required_override
151       ,p_form_tab_page_id_override  => p_form_tab_page_id_override
152       ,p_visible_override           => p_visible_override
153       ,p_alignment                  => p_alignment
154       ,p_bevel                      => p_bevel
155       ,p_case_restriction           => p_case_restriction
156       ,p_default_value              => p_default_value
157       ,p_enabled                    => p_enabled
158       ,p_format_mask                => p_format_mask
159       ,p_height                     => p_height
160       ,p_information_formula_id     => p_information_formula_id
161       ,p_information_param_item_id1 => p_information_param_item_id1
162       ,p_information_param_item_id2 => p_information_param_item_id2
163       ,p_information_param_item_id3 => p_information_param_item_id3
164       ,p_information_param_item_id4 => p_information_param_item_id4
165       ,p_information_param_item_id5 => p_information_param_item_id5
166       ,p_information_prompt         => p_information_prompt
167       ,p_insert_allowed             => p_insert_allowed
168       ,p_label                      => p_label
169       ,p_prompt_text                => p_prompt_text
170       ,p_prompt_alignment_offset    => p_prompt_alignment_offset
171       ,p_prompt_display_style       => p_prompt_display_style
172       ,p_prompt_edge                => p_prompt_edge
173       ,p_prompt_edge_alignment      => p_prompt_edge_alignment
174       ,p_prompt_edge_offset         => p_prompt_edge_offset
175       ,p_prompt_text_alignment      => p_prompt_text_alignment
176       ,p_query_allowed              => p_query_allowed
177       ,p_required                   => p_required
178       ,p_tooltip_text               => p_tooltip_text
179       ,p_update_allowed             => p_update_allowed
180       ,p_validation_formula_id      => p_validation_formula_id
181       ,p_validation_param_item_id1  => p_validation_param_item_id1
182       ,p_validation_param_item_id2  => p_validation_param_item_id2
183       ,p_validation_param_item_id3  => p_validation_param_item_id3
184       ,p_validation_param_item_id4  => p_validation_param_item_id4
185       ,p_validation_param_item_id5  => p_validation_param_item_id5
186       ,p_visible                    => p_visible
187       ,p_width                      => p_width
188       ,p_x_position                 => p_x_position
189       ,p_y_position                 => p_y_position
190       ,p_information_category       => p_information_category
191       ,p_information1               => p_information1
192       ,p_information2               => p_information2
193       ,p_information3               => p_information3
194       ,p_information4               => p_information4
195       ,p_information5               => p_information5
196       ,p_information6               => p_information6
197       ,p_information7               => p_information7
198       ,p_information8               => p_information8
199       ,p_information9               => p_information9
200       ,p_information10              => p_information10
201       ,p_information11              => p_information11
202       ,p_information12              => p_information12
203       ,p_information13              => p_information13
204       ,p_information14              => p_information14
205       ,p_information15              => p_information15
206       ,p_information16              => p_information16
207       ,p_information17              => p_information17
208       ,p_information18              => p_information18
209       ,p_information19              => p_information19
210       ,p_information20              => p_information20
211       ,p_information21              => p_information21
212       ,p_information22              => p_information22
213       ,p_information23              => p_information23
214       ,p_information24              => p_information24
215       ,p_information25              => p_information25
216       ,p_information26              => p_information26
217       ,p_information27              => p_information27
218       ,p_information28              => p_information28
219       ,p_information29              => p_information29
220       ,p_information30              => p_information30
221       ,p_next_navigation_item_id      => p_next_navigation_item_id
222       ,p_previous_navigation_item_id  => p_previous_navigation_item_id);
223 
224   exception
225     when hr_api.cannot_find_prog_unit then
226       hr_api.cannot_find_prog_unit_error
227         (p_module_name => 'create_form_item'
228         ,p_hook_type   => 'BP'
229         );
230   end;
231 
232   --
233   -- Process Logic
234   --
235 
236   hr_utility.set_location('At:'|| l_proc, 15);
237 
238   IF ( p_required_override is not null AND p_required is not null ) OR
239      ( p_form_tab_page_id_override is not null
240        AND p_form_tab_page_id is not null ) OR
241      ( p_visible_override is not null AND p_visible is not null ) THEN
242      l_override_value_warning := TRUE;
243   END IF;
244 
245   hr_utility.set_location('At:'|| l_proc, 20);
246 
247   hr_fim_ins.ins(p_effective_date                => TRUNC(p_effective_date)
248                  ,p_application_id               => p_application_id
249                  ,p_form_id                      => p_form_id
250                  ,p_full_item_name               => p_full_item_name
251                  ,p_item_type                    => p_item_type
252                  ,p_form_canvas_id               => p_form_canvas_id
253                  ,p_form_tab_page_id             => p_form_tab_page_id
254                  ,p_radio_button_name            => p_radio_button_name
255                  ,p_required_override            => p_required_override
256                  ,p_form_tab_page_id_override    => p_form_tab_page_id_override
257                  ,p_visible_override             => p_visible_override
258                  ,p_form_item_id                 => l_form_item_id
259                  ,p_object_version_number        => l_object_version_number);
260 
261   hr_utility.set_location('At:'|| l_proc, 25);
262 
263    hr_fit_ins.ins_tl(p_language_code                => l_language_code
264                        ,p_form_item_id                 => l_form_item_id
265                        ,p_user_item_name               => p_user_item_name
266                        ,p_description                  => p_description);
267 
268   hr_utility.set_location('At:'|| l_proc, 30);
269 
270    hr_item_properties_bsi.create_item_property(
271             p_effective_date                => TRUNC(p_effective_date)
272             ,p_language_code                => l_language_code
273             ,p_form_item_id                 => l_form_item_id
274             ,p_alignment                    => p_alignment
275             ,p_bevel                        => p_bevel
276             ,p_case_restriction             => p_case_restriction
277             ,p_default_value                => p_default_value
278             ,p_enabled                      => p_enabled
279             ,p_format_mask                  => p_format_mask
280             ,p_height                       => p_height
281             ,p_information_formula_id       => p_information_formula_id
282             ,p_information_param_item_id1   => p_information_param_item_id1
283             ,p_information_param_item_id2   => p_information_param_item_id2
284             ,p_information_param_item_id3   => p_information_param_item_id3
285             ,p_information_param_item_id4   => p_information_param_item_id4
286             ,p_information_param_item_id5   => p_information_param_item_id5
287             ,p_information_prompt           => p_information_prompt
288             ,p_insert_allowed               => p_insert_allowed
289             ,p_label                        => p_label
290             ,p_prompt_text                  => p_prompt_text
291             ,p_prompt_alignment_offset      => p_prompt_alignment_offset
292             ,p_prompt_display_style         => p_prompt_display_style
293             ,p_prompt_edge                  => p_prompt_edge
294             ,p_prompt_edge_alignment        => p_prompt_edge_alignment
295             ,p_prompt_edge_offset           => p_prompt_edge_offset
296             ,p_prompt_text_alignment        => p_prompt_text_alignment
297             ,p_query_allowed                => p_query_allowed
298             ,p_required                     => p_required
299             ,p_tooltip_text                 => p_tooltip_text
300             ,p_update_allowed               => p_update_allowed
301             ,p_validation_formula_id        => p_validation_formula_id
302             ,p_validation_param_item_id1    => p_validation_param_item_id1
303             ,p_validation_param_item_id2    => p_validation_param_item_id2
304             ,p_validation_param_item_id3    => p_validation_param_item_id3
305             ,p_validation_param_item_id4    => p_validation_param_item_id4
306             ,p_validation_param_item_id5    => p_validation_param_item_id5
307             ,p_visible                      => p_visible
308             ,p_width                        => p_width
309             ,p_x_position                   => p_x_position
310             ,p_y_position                   => p_y_position
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             ,p_next_navigation_item_id      => p_next_navigation_item_id
343             ,p_previous_navigation_item_id  => p_previous_navigation_item_id
344             ,p_item_property_id             => l_item_property_id
345             ,p_object_version_number        => l_object_version_number);
346             --,p_override_value_warning       => l_override_value_warning);
347 
348   --
349   -- Call After Process User Hook
350   --
351   hr_utility.set_location('At:'|| l_proc, 40);
352 
353   begin
354     hr_form_items_api_bk1.create_form_item_a
355       (p_effective_date             => TRUNC(p_effective_date)
356       ,p_language_code              => l_language_code
357       ,p_application_id             => p_application_id
358       ,p_form_id                    => p_form_id
359       ,p_full_item_name             => p_full_item_name
360       ,p_item_type                  => p_item_type
361       ,p_form_canvas_id             => p_form_canvas_id
362       ,p_user_item_name             => p_user_item_name
363       ,p_description                => p_description
364       ,p_form_tab_page_id           => p_form_tab_page_id
365       ,p_radio_button_name          => p_radio_button_name
366       ,p_required_override          => p_required_override
367       ,p_form_tab_page_id_override  => p_form_tab_page_id_override
368       ,p_visible_override           => p_visible_override
369       ,p_alignment                  => p_alignment
370       ,p_bevel                      => p_bevel
371       ,p_case_restriction           => p_case_restriction
372       ,p_default_value              => p_default_value
373       ,p_enabled                    => p_enabled
374       ,p_format_mask                => p_format_mask
375       ,p_height                     => p_height
376       ,p_information_formula_id     => p_information_formula_id
377       ,p_information_param_item_id1 => p_information_param_item_id1
378       ,p_information_param_item_id2 => p_information_param_item_id2
379       ,p_information_param_item_id3 => p_information_param_item_id3
380       ,p_information_param_item_id4 => p_information_param_item_id4
381       ,p_information_param_item_id5 => p_information_param_item_id5
382       ,p_information_prompt         => p_information_prompt
383       ,p_insert_allowed             => p_insert_allowed
384       ,p_label                      => p_label
385       ,p_prompt_text                => p_prompt_text
386       ,p_prompt_alignment_offset    => p_prompt_alignment_offset
387       ,p_prompt_display_style       => p_prompt_display_style
388       ,p_prompt_edge                => p_prompt_edge
389       ,p_prompt_edge_alignment      => p_prompt_edge_alignment
390       ,p_prompt_edge_offset         => p_prompt_edge_offset
391       ,p_prompt_text_alignment      => p_prompt_text_alignment
392       ,p_query_allowed              => p_query_allowed
393       ,p_required                   => p_required
394       ,p_tooltip_text               => p_tooltip_text
395       ,p_update_allowed             => p_update_allowed
396       ,p_validation_formula_id      => p_validation_formula_id
397       ,p_validation_param_item_id1  => p_validation_param_item_id1
398       ,p_validation_param_item_id2  => p_validation_param_item_id2
399       ,p_validation_param_item_id3  => p_validation_param_item_id3
400       ,p_validation_param_item_id4  => p_validation_param_item_id4
401       ,p_validation_param_item_id5  => p_validation_param_item_id5
402       ,p_visible                    => p_visible
403       ,p_width                      => p_width
404       ,p_x_position                 => p_x_position
405       ,p_y_position                 => p_y_position
406       ,p_information_category       => p_information_category
407       ,p_information1               => p_information1
408       ,p_information2               => p_information2
409       ,p_information3               => p_information3
410       ,p_information4               => p_information4
411       ,p_information5               => p_information5
412       ,p_information6               => p_information6
413       ,p_information7               => p_information7
414       ,p_information8               => p_information8
415       ,p_information9               => p_information9
416       ,p_information10              => p_information10
417       ,p_information11              => p_information11
418       ,p_information12              => p_information12
419       ,p_information13              => p_information13
420       ,p_information14              => p_information14
421       ,p_information15              => p_information15
422       ,p_information16              => p_information16
423       ,p_information17              => p_information17
424       ,p_information18              => p_information18
425       ,p_information19              => p_information19
426       ,p_information20              => p_information20
427       ,p_information21              => p_information21
428       ,p_information22              => p_information22
429       ,p_information23              => p_information23
430       ,p_information24              => p_information24
431       ,p_information25              => p_information25
432       ,p_information26              => p_information26
433       ,p_information27              => p_information27
434       ,p_information28              => p_information28
435       ,p_information29              => p_information29
436       ,p_information30              => p_information30
437       ,p_next_navigation_item_id      => p_next_navigation_item_id
438       ,p_previous_navigation_item_id  => p_previous_navigation_item_id
439       ,p_form_item_id               => l_form_item_id
440 --    ,p_form_item_property_id      => l_form_item_property_id
441       ,p_object_version_number      => l_object_version_number
442       ,p_override_value_warning     => l_override_value_warning);
443   exception
444     when hr_api.cannot_find_prog_unit then
445       hr_api.cannot_find_prog_unit_error
446         (p_module_name => 'create_form_item'
447         ,p_hook_type   => 'AP'
448         );
449   end;
450 
451   hr_utility.set_location('At:'|| l_proc, 50);
452 
453   --
454   -- When in validation only mode raise the Validate_Enabled exception
455   --
456   if p_validate then
457     raise hr_api.validate_enabled;
458   end if;
459   --
460   -- Set all output arguments
461   --
462   p_form_item_id           := l_form_item_id;
463   p_object_version_number  := l_object_version_number;
464   p_override_value_warning := l_override_value_warning;
465   --
466   hr_utility.set_location(' Leaving:'||l_proc, 70);
467 exception
468   when hr_api.validate_enabled then
469     --
470     -- As the Validate_Enabled exception has been raised
471     -- we must rollback to the savepoint
472     --
473     rollback to create_form_item;
474     --
475     -- Only set output warning arguments
476     -- (Any key or derived arguments must be set to null
477     -- when validation only mode is being used.)
478     --
479     p_form_item_id           := null;
480     p_object_version_number  := null;
481     p_override_value_warning := l_override_value_warning;
482     hr_utility.set_location(' Leaving:'||l_proc, 80);
483   when others then
484     --
485     -- A validation or unexpected error has occured
486     --
487     rollback to create_form_item;
488     -- Reset out parameters.
489     p_form_item_id           := null;
490     p_object_version_number  := null;
491     p_override_value_warning := null;
492     hr_utility.set_location(' Leaving:'||l_proc, 90);
493     raise;
494 end create_form_item;
495 --
496 -- ----------------------------------------------------------------------------
497 -- |--------------------------< delete_form_item >--------------------------|
498 -- ----------------------------------------------------------------------------
499 --
500 procedure delete_form_item
501   (p_validate                      in     boolean  default false
502   ,p_form_item_id                  in     number
503   ,p_object_version_number         in     number
504   ) is
505   --
506   -- Declare cursors and local variables
507   --
508 
509   l_proc                varchar2(72) := g_package||'delete_form_item';
510 begin
511   hr_utility.set_location('Entering:'|| l_proc, 10);
512   --
513   -- Issue a savepoint
514   --
515   savepoint delete_form_item;
516 
517   --
518   -- Call Before Process User Hook
519   --
520   begin
521     hr_form_items_api_bk2.delete_form_item_b
522       (p_form_item_id                => p_form_item_id
523       ,p_object_version_number       => p_object_version_number
524       );
525   exception
526     when hr_api.cannot_find_prog_unit then
527       hr_api.cannot_find_prog_unit_error
528         (p_module_name => 'delete_form_item'
529         ,p_hook_type   => 'BP'
530         );
531   end;
532 
533   --
534   -- Process Logic
535   --
536   hr_utility.set_location('At:'|| l_proc, 15);
537 
538   hr_fim_shd.lck( p_form_item_id => p_form_item_id
539                  ,p_object_version_number => p_object_version_number);
540 
541   hr_utility.set_location('At:'|| l_proc, 20);
542 
543   hr_item_properties_bsi.delete_item_property
544             (p_form_item_id => p_form_item_id
545             ,p_object_version_number => p_object_version_number);
546 
547   hr_utility.set_location('At:'|| l_proc, 25);
548 
549   hr_fit_del.del_tl( p_form_item_id => p_form_item_id);
550 
551   hr_utility.set_location('At:'|| l_proc, 30);
552 
553   hr_fim_del.del( p_form_item_id => p_form_item_id
554                  ,p_object_version_number => p_object_version_number);
555 
556   hr_utility.set_location('At:'|| l_proc, 35);
557 
558   --
559   -- Call After Process User Hook
560   --
561   begin
562     hr_form_items_api_bk2.delete_form_item_b
563       (p_form_item_id                => p_form_item_id
564       ,p_object_version_number       => p_object_version_number
565       );
566   exception
567     when hr_api.cannot_find_prog_unit then
568       hr_api.cannot_find_prog_unit_error
569         (p_module_name => 'delete_form_item'
570         ,p_hook_type   => 'AP'
571         );
572   end;
573   --
574   -- When in validation only mode raise the Validate_Enabled exception
575   --
576   hr_utility.set_location('At:'|| l_proc, 40);
577 
578   if p_validate then
579     raise hr_api.validate_enabled;
580   end if;
581   --
582   hr_utility.set_location(' Leaving:'||l_proc, 70);
583 exception
584   when hr_api.validate_enabled then
585     --
586     -- As the Validate_Enabled exception has been raised
587     -- we must rollback to the savepoint
588     --
589     rollback to delete_form_item;
590     --
591     -- Only set output warning arguments
592     -- (Any key or derived arguments must be set to null
593     -- when validation only mode is being used.)
594     --
595     hr_utility.set_location(' Leaving:'||l_proc, 80);
596   when others then
597     --
598     -- A validation or unexpected error has occured
599     --
600     rollback to delete_form_item;
601     hr_utility.set_location(' Leaving:'||l_proc, 90);
602     raise;
603 end delete_form_item;
604 --
605 -- ----------------------------------------------------------------------------
606 -- |--------------------------< update_form_item >--------------------------|
607 -- ----------------------------------------------------------------------------
608 --
609 procedure update_form_item
610   (p_validate                    in     boolean  default false
611   ,p_effective_date              in     date
612   ,p_language_code               in varchar2 default hr_api.userenv_lang
613   ,p_form_item_id                in  number
614   ,p_object_version_number       in out nocopy     number
615   ,p_full_item_name              in varchar2  default hr_api.g_varchar2
616   --,p_item_type                   in varchar2 default hr_api.g_varchar2
617   ,p_user_item_name              in varchar2  default hr_api.g_varchar2
618   ,p_description                 in varchar2 default hr_api.g_varchar2
619   ,p_radio_button_name           in varchar2 default hr_api.g_varchar2
620   ,p_required_override           in number default hr_api.g_number
621   ,p_form_tab_page_id_override   in number default hr_api.g_number
622   ,p_visible_override            in number default hr_api.g_number
623   ,p_alignment                   in number default hr_api.g_number
624   ,p_bevel                       in number default hr_api.g_number
625   ,p_case_restriction            in number default hr_api.g_number
626   ,p_default_value               in varchar2 default hr_api.g_varchar2
627   ,p_enabled                     in number default hr_api.g_number
628   ,p_format_mask                 in varchar2 default hr_api.g_varchar2
629   ,p_height                      in number default hr_api.g_number
630   ,p_information_formula_id      in number default hr_api.g_number
631   ,p_information_param_item_id1  in number default hr_api.g_number
632   ,p_information_param_item_id2  in number default hr_api.g_number
633   ,p_information_param_item_id3  in number default hr_api.g_number
634   ,p_information_param_item_id4  in number default hr_api.g_number
635   ,p_information_param_item_id5  in number default hr_api.g_number
636   ,p_information_prompt          in varchar2 default hr_api.g_varchar2
637   ,p_insert_allowed              in number default hr_api.g_number
638   ,p_label                       in varchar2 default hr_api.g_varchar2
639   ,p_prompt_text                 in varchar2 default hr_api.g_varchar2
640   ,p_prompt_alignment_offset     in number default hr_api.g_number
641   ,p_prompt_display_style        in number default hr_api.g_number
642   ,p_prompt_edge                 in number default hr_api.g_number
643   ,p_prompt_edge_alignment       in number default hr_api.g_number
644   ,p_prompt_edge_offset          in number default hr_api.g_number
645   ,p_prompt_text_alignment       in number default hr_api.g_number
646   ,p_query_allowed               in number default hr_api.g_number
647   ,p_required                    in number default hr_api.g_number
648   ,p_tooltip_text                in varchar2 default hr_api.g_varchar2
649   ,p_update_allowed              in number default hr_api.g_number
650   ,p_validation_formula_id       in number default hr_api.g_number
651   ,p_validation_param_item_id1   in number default hr_api.g_number
652   ,p_validation_param_item_id2   in number default hr_api.g_number
653   ,p_validation_param_item_id3   in number default hr_api.g_number
654   ,p_validation_param_item_id4   in number default hr_api.g_number
655   ,p_validation_param_item_id5   in number default hr_api.g_number
656   ,p_visible                     in number default hr_api.g_number
657   ,p_width                       in number default hr_api.g_number
658   ,p_x_position                  in number default hr_api.g_number
659   ,p_y_position                  in number default hr_api.g_number
660   ,p_information_category        in varchar2 default hr_api.g_varchar2
661   ,p_information1                in varchar2 default hr_api.g_varchar2
662   ,p_information2                in varchar2 default hr_api.g_varchar2
663   ,p_information3                in varchar2 default hr_api.g_varchar2
664   ,p_information4                in varchar2 default hr_api.g_varchar2
665   ,p_information5                in varchar2 default hr_api.g_varchar2
666   ,p_information6                in varchar2 default hr_api.g_varchar2
667   ,p_information7                in varchar2 default hr_api.g_varchar2
668   ,p_information8                in varchar2 default hr_api.g_varchar2
669   ,p_information9                in varchar2 default hr_api.g_varchar2
670   ,p_information10               in varchar2 default hr_api.g_varchar2
671   ,p_information11               in varchar2 default hr_api.g_varchar2
672   ,p_information12               in varchar2 default hr_api.g_varchar2
673   ,p_information13               in varchar2 default hr_api.g_varchar2
674   ,p_information14               in varchar2 default hr_api.g_varchar2
675   ,p_information15               in varchar2 default hr_api.g_varchar2
676   ,p_information16               in varchar2 default hr_api.g_varchar2
677   ,p_information17               in varchar2 default hr_api.g_varchar2
678   ,p_information18               in varchar2 default hr_api.g_varchar2
679   ,p_information19               in varchar2 default hr_api.g_varchar2
680   ,p_information20               in varchar2 default hr_api.g_varchar2
681   ,p_information21               in varchar2 default hr_api.g_varchar2
682   ,p_information22               in varchar2 default hr_api.g_varchar2
683   ,p_information23               in varchar2 default hr_api.g_varchar2
684   ,p_information24               in varchar2 default hr_api.g_varchar2
685   ,p_information25               in varchar2 default hr_api.g_varchar2
686   ,p_information26               in varchar2 default hr_api.g_varchar2
687   ,p_information27               in varchar2 default hr_api.g_varchar2
688   ,p_information28               in varchar2 default hr_api.g_varchar2
689   ,p_information29               in varchar2 default hr_api.g_varchar2
690   ,p_information30               in varchar2 default hr_api.g_varchar2
691   ,p_next_navigation_item_id     in number default hr_api.g_number
692   ,p_previous_navigation_item_id in number default hr_api.g_number
693   ,p_override_value_warning      out nocopy boolean
694   ) is
695   --
696   -- Declare cursors and local variables
697   --
698   l_language_code fnd_languages.language_code%TYPE;
699 
700   CURSOR cur_override
701   IS
702   SELECT DECODE(p_required,hr_api.g_number,required,p_required),
703          DECODE(p_required_override,hr_api.g_number,required_override,p_required_override),
704          form_tab_page_id,
705          DECODE(p_form_tab_page_id_override,hr_api.g_number,form_tab_page_id_override,p_form_tab_page_id_override),
706          DECODE(p_visible,hr_api.g_number,visible,p_visible),
707          DECODE(p_visible_override,hr_api.g_number,visible_override,p_visible_override)
708   FROM hr_form_items
709   WHERE form_item_id = p_form_item_id;
710 
711   l_required number ;
712   l_required_override number ;
713   l_form_tab_page_id_override number ;
714   l_form_tab_page_id number ;
715   l_visible_override number ;
716   l_visible number ;
717   l_proc                varchar2(72) := g_package||'update_form_item';
718   l_object_version_number number;
719   l_override_value_warning boolean := FALSE;
720 
721   l_temp_ovn   number := p_object_version_number;
722 begin
723   hr_utility.set_location('Entering:'|| l_proc, 10);
724   --
725   -- Issue a savepoint
726   --
727   savepoint update_form_item;
728   --
729   -- Truncate the time portion from all IN date parameters
730   --
731      -- p_effective_date := TRUNC(p_effective_date);
732      l_object_version_number := p_object_version_number;
733   --
734   -- Validate the language parameter. l_language_code should be passed
735   -- instead of p_language_code from now on, to allow an IN OUT parameter to
736   -- be passed through.
737   --
738   l_language_code := p_language_code;
739   hr_api.validate_language_code(p_language_code => l_language_code);
740   --
741   hr_utility.set_location(l_proc, 20);
742   --
743   --
744   -- Call Before Process User Hook
745   --
746   begin
747     hr_form_items_api_bk3.update_form_item_b
748       (p_effective_date             => TRUNC(p_effective_date)
749       ,p_language_code              => l_language_code
750       ,p_form_item_id               => p_form_item_id
751       ,p_object_version_number      => l_object_version_number
752       ,p_full_item_name             => p_full_item_name
753       --,p_item_type                  => p_item_type
754       ,p_user_item_name             => p_user_item_name
755       ,p_description                => p_description
756       ,p_radio_button_name          => p_radio_button_name
757       ,p_required_override          => p_required_override
758       ,p_form_tab_page_id_override  => p_form_tab_page_id_override
759       ,p_visible_override           => p_visible_override
760       ,p_alignment                  => p_alignment
761       ,p_bevel                      => p_bevel
762       ,p_case_restriction           => p_case_restriction
763       ,p_default_value              => p_default_value
764       ,p_enabled                    => p_enabled
765       ,p_format_mask                => p_format_mask
766       ,p_height                     => p_height
767       ,p_information_formula_id     => p_information_formula_id
768       ,p_information_param_item_id1 => p_information_param_item_id1
769       ,p_information_param_item_id2 => p_information_param_item_id2
770       ,p_information_param_item_id3 => p_information_param_item_id3
771       ,p_information_param_item_id4 => p_information_param_item_id4
772       ,p_information_param_item_id5 => p_information_param_item_id5
773       ,p_information_prompt         => p_information_prompt
774       ,p_insert_allowed             => p_insert_allowed
775       ,p_label                      => p_label
776       ,p_prompt_text                => p_prompt_text
777       ,p_prompt_alignment_offset    => p_prompt_alignment_offset
778       ,p_prompt_display_style       => p_prompt_display_style
779       ,p_prompt_edge                => p_prompt_edge
780       ,p_prompt_edge_alignment      => p_prompt_edge_alignment
781       ,p_prompt_edge_offset         => p_prompt_edge_offset
782       ,p_prompt_text_alignment      => p_prompt_text_alignment
783       ,p_query_allowed              => p_query_allowed
784       ,p_required                   => p_required
785       ,p_tooltip_text               => p_tooltip_text
786       ,p_update_allowed             => p_update_allowed
787       ,p_validation_formula_id      => p_validation_formula_id
788       ,p_validation_param_item_id1  => p_validation_param_item_id1
789       ,p_validation_param_item_id2  => p_validation_param_item_id2
790       ,p_validation_param_item_id3  => p_validation_param_item_id3
791       ,p_validation_param_item_id4  => p_validation_param_item_id4
792       ,p_validation_param_item_id5  => p_validation_param_item_id5
793       ,p_visible                    => p_visible
794       ,p_width                      => p_width
795       ,p_x_position                 => p_x_position
796       ,p_y_position                 => p_y_position
797       ,p_information_category       => p_information_category
798       ,p_information1               => p_information1
799       ,p_information2               => p_information2
800       ,p_information3               => p_information3
801       ,p_information4               => p_information4
802       ,p_information5               => p_information5
803       ,p_information6               => p_information6
804       ,p_information7               => p_information7
805       ,p_information8               => p_information8
806       ,p_information9               => p_information9
807       ,p_information10              => p_information10
808       ,p_information11              => p_information11
809       ,p_information12              => p_information12
810       ,p_information13              => p_information13
811       ,p_information14              => p_information14
812       ,p_information15              => p_information15
813       ,p_information16              => p_information16
814       ,p_information17              => p_information17
815       ,p_information18              => p_information18
816       ,p_information19              => p_information19
817       ,p_information20              => p_information20
818       ,p_information21              => p_information21
819       ,p_information22              => p_information22
820       ,p_information23              => p_information23
821       ,p_information24              => p_information24
822       ,p_information25              => p_information25
823       ,p_information26              => p_information26
824       ,p_information27              => p_information27
825       ,p_information28              => p_information28
826       ,p_information29              => p_information29
827       ,p_information30              => p_information30
828       ,p_next_navigation_item_id      => p_next_navigation_item_id
829       ,p_previous_navigation_item_id  => p_previous_navigation_item_id);
830   exception
831     when hr_api.cannot_find_prog_unit then
832       hr_api.cannot_find_prog_unit_error
833         (p_module_name => 'update_form_item'
834         ,p_hook_type   => 'BP'
835         );
836   end;
837 
838   --
839   -- Process Logic
840   --
841 
842   hr_utility.set_location('At:'|| l_proc, 15);
843 
844   OPEN cur_override;
845   FETCH cur_override INTO l_required,l_required_override,l_form_tab_page_id,
846         l_form_tab_page_id_override,l_visible,l_visible_override;
847   CLOSE cur_override;
848 
849   IF ( l_required_override is not null AND l_required is not null ) OR
850      ( l_form_tab_page_id_override is not null AND l_form_tab_page_id is not null ) OR
851      ( l_visible_override is not null AND l_visible is not null ) THEN
852      l_override_value_warning := TRUE;
853   END IF;
854 
855   hr_utility.set_location('At:'|| l_proc, 20);
856 
857   hr_fim_upd.upd(p_effective_date                => TRUNC(p_effective_date)
858                  ,p_form_item_id                 => p_form_item_id
859                  ,p_full_item_name               => p_full_item_name
860                  --,p_item_type                    => p_item_type
861                  ,p_radio_button_name            => p_radio_button_name
862                  ,p_required_override            => p_required_override
863                  ,p_form_tab_page_id_override    => p_form_tab_page_id_override
864                  ,p_visible_override             => p_visible_override
865                  ,p_object_version_number        => l_object_version_number);
866 
867   hr_utility.set_location('At:'|| l_proc, 25);
868 
869   hr_fit_upd.upd_tl( p_language_code                => l_language_code
870                       ,p_form_item_id                 => p_form_item_id
871                       ,p_user_item_name               => p_user_item_name
872                       ,p_description                  => p_description);
873 
874   hr_utility.set_location('At:'|| l_proc, 30);
875 
876   hr_item_properties_bsi.update_item_property(
877             p_effective_date                => TRUNC(p_effective_date)
878             ,p_language_code                => l_language_code
879             ,p_object_version_number        => l_object_version_number
880             ,p_form_item_id                 => p_form_item_id
881             ,p_alignment                    => p_alignment
882             ,p_bevel                        => p_bevel
883             ,p_case_restriction             => p_case_restriction
884             ,p_default_value                => p_default_value
885             ,p_enabled                      => p_enabled
886             ,p_format_mask                  => p_format_mask
887             ,p_height                       => p_height
888             ,p_information_formula_id       => p_information_formula_id
889             ,p_information_param_item_id1   => p_information_param_item_id1
890             ,p_information_param_item_id2   => p_information_param_item_id2
891             ,p_information_param_item_id3   => p_information_param_item_id3
892             ,p_information_param_item_id4   => p_information_param_item_id4
893             ,p_information_param_item_id5   => p_information_param_item_id5
894             ,p_information_prompt           => p_information_prompt
895             ,p_insert_allowed               => p_insert_allowed
896             ,p_label                        => p_label
897             ,p_prompt_text                  => p_prompt_text
898             ,p_prompt_alignment_offset      => p_prompt_alignment_offset
899             ,p_prompt_display_style         => p_prompt_display_style
900             ,p_prompt_edge                  => p_prompt_edge
901             ,p_prompt_edge_alignment        => p_prompt_edge_alignment
902             ,p_prompt_edge_offset           => p_prompt_edge_offset
903             ,p_prompt_text_alignment        => p_prompt_text_alignment
904             ,p_query_allowed                => p_query_allowed
905             ,p_required                     => p_required
906             ,p_tooltip_text                 => p_tooltip_text
907             ,p_update_allowed               => p_update_allowed
908             ,p_validation_formula_id        => p_validation_formula_id
909             ,p_validation_param_item_id1    => p_validation_param_item_id1
910             ,p_validation_param_item_id2    => p_validation_param_item_id2
911             ,p_validation_param_item_id3    => p_validation_param_item_id3
912             ,p_validation_param_item_id4    => p_validation_param_item_id4
913             ,p_validation_param_item_id5    => p_validation_param_item_id5
914             ,p_visible                      => p_visible
915             ,p_width                        => p_width
916             ,p_x_position                   => p_x_position
917             ,p_y_position                   => p_y_position
918             ,p_information_category         => p_information_category
919             ,p_information1                 => p_information1
920             ,p_information2                 => p_information2
921             ,p_information3                 => p_information3
922             ,p_information4                 => p_information4
923             ,p_information5                 => p_information5
924             ,p_information6                 => p_information6
925             ,p_information7                 => p_information7
926             ,p_information8                 => p_information8
927             ,p_information9                 => p_information9
928             ,p_information10                => p_information10
929             ,p_information11                => p_information11
930             ,p_information12                => p_information12
931             ,p_information13                => p_information13
932             ,p_information14                => p_information14
933             ,p_information15                => p_information15
934             ,p_information16                => p_information16
935             ,p_information17                => p_information17
936             ,p_information18                => p_information18
937             ,p_information19                => p_information19
938             ,p_information20                => p_information20
939             ,p_information21                => p_information21
940             ,p_information22                => p_information22
941             ,p_information23                => p_information23
942             ,p_information24                => p_information24
943             ,p_information25                => p_information25
944             ,p_information26                => p_information26
945             ,p_information27                => p_information27
946             ,p_information28                => p_information28
947             ,p_information29                => p_information29
948             ,p_information30                => p_information30
949             ,p_next_navigation_item_id      => p_next_navigation_item_id
950             ,p_previous_navigation_item_id  => p_previous_navigation_item_id);
951            -- ,p_override_value_warning       => l_override_value_warning);
952 
953   hr_utility.set_location('At:'|| l_proc, 35);
954 
955   --
956   -- Call After Process User Hook
957   --
958   begin
959     hr_form_items_api_bk3.update_form_item_a
960      (p_effective_date             => TRUNC(p_effective_date)
961      ,p_language_code              => l_language_code
962      ,p_form_item_id               => p_form_item_id
963      ,p_object_version_number      => l_object_version_number
964      ,p_full_item_name             => p_full_item_name
965      --,p_item_type                  => p_item_type
966      ,p_user_item_name             => p_user_item_name
967      ,p_description                => p_description
968      ,p_radio_button_name          => p_radio_button_name
969      ,p_required_override          => p_required_override
970      ,p_form_tab_page_id_override  => p_form_tab_page_id_override
971      ,p_visible_override           => p_visible_override
972      ,p_alignment                  => p_alignment
973      ,p_bevel                      => p_bevel
974      ,p_case_restriction           => p_case_restriction
975      ,p_default_value              => p_default_value
976      ,p_enabled                    => p_enabled
977      ,p_format_mask                => p_format_mask
978      ,p_height                     => p_height
979      ,p_information_formula_id     => p_information_formula_id
980      ,p_information_param_item_id1 => p_information_param_item_id1
981      ,p_information_param_item_id2 => p_information_param_item_id2
982      ,p_information_param_item_id3 => p_information_param_item_id3
983      ,p_information_param_item_id4 => p_information_param_item_id4
984      ,p_information_param_item_id5 => p_information_param_item_id5
985      ,p_information_prompt         => p_information_prompt
986      ,p_insert_allowed             => p_insert_allowed
987      ,p_label                      => p_label
988      ,p_prompt_text                => p_prompt_text
989      ,p_prompt_alignment_offset    => p_prompt_alignment_offset
990      ,p_prompt_display_style       => p_prompt_display_style
991      ,p_prompt_edge                => p_prompt_edge
992      ,p_prompt_edge_alignment      => p_prompt_edge_alignment
993      ,p_prompt_edge_offset         => p_prompt_edge_offset
994      ,p_prompt_text_alignment      => p_prompt_text_alignment
995      ,p_query_allowed              => p_query_allowed
996      ,p_required                   => p_required
997      ,p_tooltip_text               => p_tooltip_text
998      ,p_update_allowed             => p_update_allowed
999      ,p_validation_formula_id      => p_validation_formula_id
1000      ,p_validation_param_item_id1  => p_validation_param_item_id1
1001      ,p_validation_param_item_id2  => p_validation_param_item_id2
1002      ,p_validation_param_item_id3  => p_validation_param_item_id3
1003      ,p_validation_param_item_id4  => p_validation_param_item_id4
1004      ,p_validation_param_item_id5  => p_validation_param_item_id5
1005      ,p_visible                    => p_visible
1006      ,p_width                      => p_width
1007      ,p_x_position                 => p_x_position
1008      ,p_y_position                 => p_y_position
1009      ,p_information_category       => p_information_category
1010      ,p_information1               => p_information1
1011      ,p_information2               => p_information2
1012      ,p_information3               => p_information3
1013      ,p_information4               => p_information4
1014      ,p_information5               => p_information5
1015      ,p_information6               => p_information6
1016      ,p_information7               => p_information7
1017      ,p_information8               => p_information8
1018      ,p_information9               => p_information9
1019      ,p_information10              => p_information10
1020      ,p_information11              => p_information11
1021      ,p_information12              => p_information12
1022      ,p_information13              => p_information13
1023      ,p_information14              => p_information14
1024      ,p_information15              => p_information15
1025      ,p_information16              => p_information16
1026      ,p_information17              => p_information17
1027      ,p_information18              => p_information18
1028      ,p_information19              => p_information19
1029      ,p_information20              => p_information20
1030      ,p_information21              => p_information21
1031      ,p_information22              => p_information22
1032      ,p_information23              => p_information23
1033      ,p_information24              => p_information24
1034      ,p_information25              => p_information25
1035      ,p_information26              => p_information26
1036      ,p_information27              => p_information27
1037      ,p_information28              => p_information28
1038      ,p_information29              => p_information29
1039      ,p_information30              => p_information30
1040      ,p_next_navigation_item_id      => p_next_navigation_item_id
1041      ,p_previous_navigation_item_id  => p_previous_navigation_item_id
1042      ,p_override_value_warning     => l_override_value_warning);
1043   exception
1044     when hr_api.cannot_find_prog_unit then
1045       hr_api.cannot_find_prog_unit_error
1046         (p_module_name => 'update_form_item'
1047         ,p_hook_type   => 'AP'
1048         );
1049   end;
1050 
1051   hr_utility.set_location('At:'|| l_proc, 40);
1052 
1053   --
1054   -- When in validation only mode raise the Validate_Enabled exception
1055   --
1056   if p_validate then
1057     raise hr_api.validate_enabled;
1058   end if;
1059   --
1060   -- Set all output arguments
1061   --
1062   p_object_version_number  := l_object_version_number;
1063   p_override_value_warning := l_override_value_warning;
1064   --
1065   hr_utility.set_location(' Leaving:'||l_proc, 70);
1066 exception
1067   when hr_api.validate_enabled then
1068     --
1069     -- As the Validate_Enabled exception has been raised
1070     -- we must rollback to the savepoint
1071     --
1072     rollback to update_form_item;
1073     --
1074     -- Only set output warning arguments
1075     -- (Any key or derived arguments must be set to null
1076     -- when validation only mode is being used.)
1077     --
1078     p_object_version_number  := l_temp_ovn;
1079     p_override_value_warning := l_override_value_warning;
1080     hr_utility.set_location(' Leaving:'||l_proc, 80);
1081   when others then
1082     --
1083     -- A validation or unexpected error has occured
1084     --
1085     rollback to update_form_item;
1086     -- Reset IN OUT and set OUT parameters.
1087     p_object_version_number  := l_temp_ovn;
1088     p_override_value_warning := null;
1089     hr_utility.set_location(' Leaving:'||l_proc, 90);
1090     raise;
1091 end update_form_item;
1092 --
1093 end hr_form_items_api;