DBA Data[Home] [Help]

PACKAGE BODY: APPS.OTA_THG_SWI

Source


1 Package Body ota_thg_swi As
2 /* $Header: otthgswi.pkb 120.0 2005/06/24 07:59 appldev noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'ota_thg_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |---------------------------< create_hr_gl_flex >--------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_hr_gl_flex
12   (p_effective_date               in     date
13   ,p_cross_charge_id              in     number
14   ,p_segment                      in     varchar2
15   ,p_segment_num                  in     number
16   ,p_hr_data_source               in     varchar2  default null
17   ,p_constant                     in     varchar2  default null
18   ,p_hr_cost_segment              in     varchar2  default null
19   ,p_gl_default_segment_id           out nocopy number
20   ,p_object_version_number           out nocopy number
21   ,p_validate                     in     number    default hr_api.g_false_num
22   ,p_return_status                   out nocopy varchar2
23   ) is
24   --
25   -- Variables for API Boolean parameters
26   l_validate                      boolean;
27   --
28   -- Variables for IN/OUT parameters
29   --
30   -- Other variables
31   l_proc    varchar2(72) := g_package ||'create_hr_gl_flex';
32 Begin
33   hr_utility.set_location(' Entering:' || l_proc,10);
34   --
35   -- Issue a savepoint
36   --
37   savepoint create_hr_gl_flex_swi;
38   --
39   -- Initialise Multiple Message Detection
40   --
41   hr_multi_message.enable_message_list;
42   --
43   -- Remember IN OUT parameter IN values
44   --
45   --
46   -- Convert constant values to their corresponding boolean value
47   --
48   l_validate :=
49     hr_api.constant_to_boolean
50       (p_constant_value => p_validate);
51   --
52   -- Register Surrogate ID or user key values
53   --
54   --
55   -- Call API
56   --
57   ota_thg_api.create_hr_gl_flex
58     (p_effective_date               => p_effective_date
59     ,p_cross_charge_id              => p_cross_charge_id
60     ,p_segment                      => p_segment
61     ,p_segment_num                  => p_segment_num
62     ,p_hr_data_source               => p_hr_data_source
63     ,p_constant                     => p_constant
64     ,p_hr_cost_segment              => p_hr_cost_segment
65     ,p_gl_default_segment_id        => p_gl_default_segment_id
66     ,p_object_version_number        => p_object_version_number
67     ,p_validate                     => l_validate
68     );
69   --
70   -- Convert API warning boolean parameter values to specific
71   -- messages and add them to Multiple Message List
72   --
73   --
74   -- Convert API non-warning boolean parameter values
75   --
76   --
77   -- Derive the API return status value based on whether
78   -- messages of any type exist in the Multiple Message List.
79   -- Also disable Multiple Message Detection.
80   --
81   p_return_status := hr_multi_message.get_return_status_disable;
82   hr_utility.set_location(' Leaving:' || l_proc,20);
83   --
84 exception
85   when hr_multi_message.error_message_exist then
86     --
87     -- Catch the Multiple Message List exception which
88     -- indicates API processing has been aborted because
89     -- at least one message exists in the list.
90     --
91     rollback to create_hr_gl_flex_swi;
92     --
93     -- Reset IN OUT parameters and set OUT parameters
94     --
95     p_gl_default_segment_id        := null;
96     p_object_version_number        := null;
97     p_return_status := hr_multi_message.get_return_status_disable;
98     hr_utility.set_location(' Leaving:' || l_proc, 30);
99   when others then
100     --
101     -- When Multiple Message Detection is enabled catch
102     -- any Application specific or other unexpected
103     -- exceptions.  Adding appropriate details to the
104     -- Multiple Message List.  Otherwise re-raise the
105     -- error.
106     --
107     rollback to create_hr_gl_flex_swi;
108     if hr_multi_message.unexpected_error_add(l_proc) then
109        hr_utility.set_location(' Leaving:' || l_proc,40);
110        raise;
111     end if;
112     --
113     -- Reset IN OUT and set OUT parameters
114     --
115     p_gl_default_segment_id        := null;
116     p_object_version_number        := null;
117     p_return_status := hr_multi_message.get_return_status_disable;
118     hr_utility.set_location(' Leaving:' || l_proc,50);
119 end create_hr_gl_flex;
120 -- ----------------------------------------------------------------------------
121 -- |---------------------------< update_hr_gl_flex >--------------------------|
122 -- ----------------------------------------------------------------------------
123 PROCEDURE update_hr_gl_flex
124   (p_effective_date               in     date
125   ,p_gl_default_segment_id        in     number
126   ,p_object_version_number        in out nocopy number
127   ,p_cross_charge_id              in     number    default hr_api.g_number
128   ,p_segment                      in     varchar2  default hr_api.g_varchar2
129   ,p_segment_num                  in     number    default hr_api.g_number
130   ,p_hr_data_source               in     varchar2  default hr_api.g_varchar2
131   ,p_constant                     in     varchar2  default hr_api.g_varchar2
132   ,p_hr_cost_segment              in     varchar2  default hr_api.g_varchar2
133   ,p_validate                     in     number    default hr_api.g_false_num
134   ,p_return_status                   out nocopy varchar2
135   ) is
136   --
137   -- Variables for API Boolean parameters
138   l_validate                      boolean;
139   --
140   -- Variables for IN/OUT parameters
141   l_object_version_number         number;
142   --
143   -- Other variables
144   l_proc    varchar2(72) := g_package ||'update_hr_gl_flex';
145 Begin
146   hr_utility.set_location(' Entering:' || l_proc,10);
147   --
148   -- Issue a savepoint
149   --
150   savepoint update_hr_gl_flex_swi;
151   --
152   -- Initialise Multiple Message Detection
153   --
154   hr_multi_message.enable_message_list;
155   --
156   -- Remember IN OUT parameter IN values
157   --
158   l_object_version_number         := p_object_version_number;
159   --
160   -- Convert constant values to their corresponding boolean value
161   --
162   l_validate :=
163     hr_api.constant_to_boolean
164       (p_constant_value => p_validate);
165   --
166   -- Register Surrogate ID or user key values
167   --
168   --
169   -- Call API
170   --
171   ota_thg_api.update_hr_gl_flex
172     (p_effective_date               => p_effective_date
173     ,p_gl_default_segment_id        => p_gl_default_segment_id
174     ,p_object_version_number        => p_object_version_number
175     ,p_cross_charge_id              => p_cross_charge_id
176     ,p_segment                      => p_segment
177     ,p_segment_num                  => p_segment_num
178     ,p_hr_data_source               => p_hr_data_source
179     ,p_constant                     => p_constant
180     ,p_hr_cost_segment              => p_hr_cost_segment
181     ,p_validate                     => l_validate
182     );
183   --
184   -- Convert API warning boolean parameter values to specific
185   -- messages and add them to Multiple Message List
186   --
187   --
188   -- Convert API non-warning boolean parameter values
189   --
190   --
191   -- Derive the API return status value based on whether
192   -- messages of any type exist in the Multiple Message List.
193   -- Also disable Multiple Message Detection.
194   --
195   p_return_status := hr_multi_message.get_return_status_disable;
196   hr_utility.set_location(' Leaving:' || l_proc,20);
197   --
198 exception
199   when hr_multi_message.error_message_exist then
200     --
201     -- Catch the Multiple Message List exception which
202     -- indicates API processing has been aborted because
203     -- at least one message exists in the list.
204     --
205     rollback to update_hr_gl_flex_swi;
206     --
207     -- Reset IN OUT parameters and set OUT parameters
208     --
209     p_object_version_number        := l_object_version_number;
210     p_return_status := hr_multi_message.get_return_status_disable;
211     hr_utility.set_location(' Leaving:' || l_proc, 30);
212   when others then
213     --
214     -- When Multiple Message Detection is enabled catch
215     -- any Application specific or other unexpected
216     -- exceptions.  Adding appropriate details to the
217     -- Multiple Message List.  Otherwise re-raise the
218     -- error.
219     --
220     rollback to update_hr_gl_flex_swi;
221     if hr_multi_message.unexpected_error_add(l_proc) then
222        hr_utility.set_location(' Leaving:' || l_proc,40);
223        raise;
224     end if;
225     --
226     -- Reset IN OUT and set OUT parameters
227     --
228     p_object_version_number        := l_object_version_number;
229     p_return_status := hr_multi_message.get_return_status_disable;
230     hr_utility.set_location(' Leaving:' || l_proc,50);
231 end update_hr_gl_flex;
232 end ota_thg_swi;