DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_APPLICATION_SWI

Source


1 Package Body hr_application_swi As
2 /* $Header: hraplswi.pkb 115.2 2002/12/03 06:13:31 hjonnala ship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'hr_application_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |--------------------------< update_apl_details >--------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE update_apl_details
12   (p_validate                     in     number    default hr_api.g_false_num
13   ,p_application_id               in     number
14   ,p_object_version_number        in out nocopy number
15   ,p_effective_date               in     date
16   ,p_comments                     in     varchar2  default hr_api.g_varchar2
17   ,p_current_employer             in     varchar2  default hr_api.g_varchar2
18   ,p_projected_hire_date          in     date      default hr_api.g_date
19   ,p_termination_reason           in     varchar2  default hr_api.g_varchar2
20   ,p_appl_attribute_category      in     varchar2  default hr_api.g_varchar2
21   ,p_appl_attribute1              in     varchar2  default hr_api.g_varchar2
22   ,p_appl_attribute2              in     varchar2  default hr_api.g_varchar2
23   ,p_appl_attribute3              in     varchar2  default hr_api.g_varchar2
24   ,p_appl_attribute4              in     varchar2  default hr_api.g_varchar2
25   ,p_appl_attribute5              in     varchar2  default hr_api.g_varchar2
26   ,p_appl_attribute6              in     varchar2  default hr_api.g_varchar2
27   ,p_appl_attribute7              in     varchar2  default hr_api.g_varchar2
28   ,p_appl_attribute8              in     varchar2  default hr_api.g_varchar2
29   ,p_appl_attribute9              in     varchar2  default hr_api.g_varchar2
30   ,p_appl_attribute10             in     varchar2  default hr_api.g_varchar2
31   ,p_appl_attribute11             in     varchar2  default hr_api.g_varchar2
32   ,p_appl_attribute12             in     varchar2  default hr_api.g_varchar2
33   ,p_appl_attribute13             in     varchar2  default hr_api.g_varchar2
34   ,p_appl_attribute14             in     varchar2  default hr_api.g_varchar2
35   ,p_appl_attribute15             in     varchar2  default hr_api.g_varchar2
36   ,p_appl_attribute16             in     varchar2  default hr_api.g_varchar2
37   ,p_appl_attribute17             in     varchar2  default hr_api.g_varchar2
38   ,p_appl_attribute18             in     varchar2  default hr_api.g_varchar2
39   ,p_appl_attribute19             in     varchar2  default hr_api.g_varchar2
40   ,p_appl_attribute20             in     varchar2  default hr_api.g_varchar2
41   ,p_return_status                   out nocopy varchar2
42   ) is
43   --
44   -- Variables for API Boolean parameters
45   l_validate                      boolean;
46   --
47   -- Variables for IN/OUT parameters
48   l_object_version_number         number;
49   --
50   -- Other variables
51   l_proc    varchar2(72) := g_package ||'update_apl_details';
52 Begin
53   hr_utility.set_location(' Entering:' || l_proc,10);
54   --
55   -- Issue a savepoint
56   --
57   savepoint update_apl_details_swi;
58   --
59   -- Initialise Multiple Message Detection
60   --
61   hr_multi_message.enable_message_list;
62   --
63   -- Remember IN OUT parameter IN values
64   --
65   l_object_version_number         := p_object_version_number;
66   --
67   -- Convert constant values to their corresponding boolean value
68   --
69   l_validate :=
70     hr_api.constant_to_boolean
71       (p_constant_value => p_validate);
72   --
73   -- Register Surrogate ID or user key values
74   --
75   --
76   -- Call API
77   --
78   hr_application_api.update_apl_details
79     (p_validate                     => l_validate
80     ,p_application_id               => p_application_id
81     ,p_object_version_number        => p_object_version_number
82     ,p_effective_date               => p_effective_date
83     ,p_comments                     => p_comments
84     ,p_current_employer             => p_current_employer
85     ,p_projected_hire_date          => p_projected_hire_date
86     ,p_termination_reason           => p_termination_reason
87     ,p_appl_attribute_category      => p_appl_attribute_category
88     ,p_appl_attribute1              => p_appl_attribute1
89     ,p_appl_attribute2              => p_appl_attribute2
90     ,p_appl_attribute3              => p_appl_attribute3
91     ,p_appl_attribute4              => p_appl_attribute4
92     ,p_appl_attribute5              => p_appl_attribute5
93     ,p_appl_attribute6              => p_appl_attribute6
94     ,p_appl_attribute7              => p_appl_attribute7
95     ,p_appl_attribute8              => p_appl_attribute8
96     ,p_appl_attribute9              => p_appl_attribute9
97     ,p_appl_attribute10             => p_appl_attribute10
98     ,p_appl_attribute11             => p_appl_attribute11
99     ,p_appl_attribute12             => p_appl_attribute12
100     ,p_appl_attribute13             => p_appl_attribute13
101     ,p_appl_attribute14             => p_appl_attribute14
102     ,p_appl_attribute15             => p_appl_attribute15
103     ,p_appl_attribute16             => p_appl_attribute16
104     ,p_appl_attribute17             => p_appl_attribute17
105     ,p_appl_attribute18             => p_appl_attribute18
106     ,p_appl_attribute19             => p_appl_attribute19
107     ,p_appl_attribute20             => p_appl_attribute20
108     );
109   --
110   -- Convert API warning boolean parameter values to specific
111   -- messages and add them to Multiple Message List
112   --
113   --
114   -- Convert API non-warning boolean parameter values
115   --
116   --
117   -- Derive the API return status value based on whether
118   -- messages of any type exist in the Multiple Message List.
119   -- Also disable Multiple Message Detection.
120   --
121   p_return_status := hr_multi_message.get_return_status_disable;
122   hr_utility.set_location(' Leaving:' || l_proc,20);
123   --
124 exception
125   when hr_multi_message.error_message_exist then
126     --
127     -- Catch the Multiple Message List exception which
128     -- indicates API processing has been aborted because
129     --  at least one error message exists in the list.
130     --
131     rollback to update_apl_details_swi;
132     --
133     -- Reset IN OUT paramters and set OUT parameters
134     --
135     p_object_version_number        := l_object_version_number;
136     p_return_status := hr_multi_message.get_return_status_disable;
137     hr_utility.set_location(' Leaving:' || l_proc,30);
138   when others then
139     --
140     -- When Multiple Message Detection is enabled catch
141     -- any Application specific or other unexpected
142     -- exceptions.  Adding appropriate details to the
143     -- Multiple Message List.  Otherwise re-raise
144     -- the error.
145     --
146     rollback to update_apl_details_swi;
147     if hr_multi_message.unexpected_error_add(l_proc) then
148        hr_utility.set_location(' Leaving:' || l_proc, 40);
149        raise;
150     end if;
151     --
152     -- Reset IN OUT parameters and set OUT parameters
153     --
154     p_object_version_number        := l_object_version_number;
155     p_return_status := hr_multi_message.get_return_status_disable;
156     hr_utility.set_location(' Leaving: ' || l_proc, 50);
157 end update_apl_details;
158 end hr_application_swi;