DBA Data[Home] [Help]

PACKAGE BODY: APPS.OTA_CHAT_MESSAGE_SWI

Source


1 Package Body ota_chat_message_swi As
2 /* $Header: otcmsswi.pkb 120.1 2005/08/03 14:28 asud noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'ota_chat_message_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |--------------------------< create_chat_message >-------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_chat_message
12   (p_validate                     in     number    default hr_api.g_false_num
13   ,p_effective_date               in     date
14   ,p_chat_id                      in     number
15   ,p_person_id                    in     number
16   ,p_contact_id                   in     number
17   ,p_target_person_id             in     number
18   ,p_target_contact_id            in     number
19   ,p_message_text                 in     varchar2
20   ,p_business_group_id            in     number
21   ,p_chat_message_id              in     number
22   ,p_object_version_number           out nocopy number
23   ,p_return_status                   out nocopy varchar2
24   ) is
25   --
26   -- Variables for API Boolean parameters
27   l_validate                      boolean;
28   --
29   -- Variables for IN/OUT parameters
30   --
31   -- Other variables
32   l_chat_message_id              number;
33   l_proc    varchar2(72) := g_package ||'create_chat_message';
34 Begin
35   hr_utility.set_location(' Entering:' || l_proc,10);
36   --
37   -- Issue a savepoint
38   --
39   savepoint create_chat_message_swi;
40   --
41   -- Initialise Multiple Message Detection
42   --
43   hr_multi_message.enable_message_list;
44   --
45   -- Remember IN OUT parameter IN values
46   --
47   --
48   -- Convert constant values to their corresponding boolean value
49   --
50   l_validate :=
51     hr_api.constant_to_boolean
52       (p_constant_value => p_validate);
53   --
54   -- Register Surrogate ID or user key values
55   --
56   ota_cms_ins.set_base_key_value
57     (p_chat_message_id => p_chat_message_id
58     );
59   --
60   -- Call API
61   --
62   ota_chat_message_api.create_chat_message
63     (p_validate                     => l_validate
64     ,p_effective_date               => p_effective_date
65     ,p_chat_id                      => p_chat_id
66     ,p_person_id                    => p_person_id
67     ,p_contact_id                   => p_contact_id
68     ,p_target_person_id             => p_target_person_id
69     ,p_target_contact_id            => p_target_contact_id
70     ,p_message_text                 => p_message_text
71     ,p_business_group_id            => p_business_group_id
72     ,p_chat_message_id              => l_chat_message_id
73     ,p_object_version_number        => p_object_version_number
74     );
75   --
76   -- Convert API warning boolean parameter values to specific
77   -- messages and add them to Multiple Message List
78   --
79   --
80   -- Convert API non-warning boolean parameter values
81   --
82   --
83   -- Derive the API return status value based on whether
84   -- messages of any type exist in the Multiple Message List.
85   -- Also disable Multiple Message Detection.
86   --
87   p_return_status := hr_multi_message.get_return_status_disable;
88   hr_utility.set_location(' Leaving:' || l_proc,20);
89   --
90 exception
91   when hr_multi_message.error_message_exist then
92     --
93     -- Catch the Multiple Message List exception which
94     -- indicates API processing has been aborted because
95     -- at least one message exists in the list.
96     --
97     rollback to create_chat_message_swi;
98     --
99     -- Reset IN OUT parameters and set OUT parameters
100     --
101     p_object_version_number        := null;
102     p_return_status := hr_multi_message.get_return_status_disable;
103     hr_utility.set_location(' Leaving:' || l_proc, 30);
104   when others then
105     --
106     -- When Multiple Message Detection is enabled catch
107     -- any Application specific or other unexpected
108     -- exceptions.  Adding appropriate details to the
109     -- Multiple Message List.  Otherwise re-raise the
110     -- error.
111     --
112     rollback to create_chat_message_swi;
113     if hr_multi_message.unexpected_error_add(l_proc) then
114        hr_utility.set_location(' Leaving:' || l_proc,40);
115        raise;
116     end if;
117     --
118     -- Reset IN OUT and set OUT parameters
119     --
120     p_object_version_number        := null;
121     p_return_status := hr_multi_message.get_return_status_disable;
122     hr_utility.set_location(' Leaving:' || l_proc,50);
123 end create_chat_message;
124 --
125 -- ----------------------------------------------------------------------------
126 -- |--------------------------< update_chat_message >-------------------------|
127 -- ----------------------------------------------------------------------------
128 PROCEDURE update_chat_message
129   (p_validate                     in     number    default hr_api.g_false_num
130   ,p_effective_date               in     date
131   ,p_chat_id                      in     number
132   ,p_person_id                    in     number    default hr_api.g_number
133   ,p_contact_id                   in     number    default hr_api.g_number
134   ,p_target_person_id             in     number    default hr_api.g_number
135   ,p_target_contact_id            in     number    default hr_api.g_number
136   ,p_message_text                 in     varchar2  default hr_api.g_varchar2
137   ,p_business_group_id            in     number    default hr_api.g_number
138   ,p_chat_message_id              in     number
139   ,p_object_version_number        in out nocopy number
140   ,p_return_status                out nocopy varchar2
141   ) is
142   --
143   -- Variables for API Boolean parameters
144   l_validate                      boolean;
145   --
146   -- Variables for IN/OUT parameters
147   --
148   -- Other variables
149   l_chat_message_id              number;
150   l_effective_date               date := trunc(p_effective_date);
151   l_object_version_number        number := p_object_version_number;
152   l_proc    varchar2(72) := g_package ||'update_chat_message';
153 Begin
154   hr_utility.set_location(' Entering:' || l_proc,10);
155   --
156   -- Issue a savepoint
157   --
158   savepoint update_chat_message_swi;
159   --
160   -- Initialise Multiple Message Detection
161   --
162   hr_multi_message.enable_message_list;
163   --
164   -- Remember IN OUT parameter IN values
165   --
166   --
167   -- Convert constant values to their corresponding boolean value
168   --
169   l_validate :=
170     hr_api.constant_to_boolean
171       (p_constant_value => p_validate);
172   --
173   -- Call API
174   --
175   ota_chat_message_api.update_chat_message
176     (p_validate                     => l_validate
177     ,p_effective_date               => l_effective_date
178     ,p_chat_id                      => p_chat_id
179     ,p_person_id                    => p_person_id
180     ,p_contact_id                   => p_contact_id
181     ,p_target_person_id             => p_target_person_id
182     ,p_target_contact_id            => p_target_contact_id
183     ,p_message_text                 => p_message_text
184     ,p_business_group_id            => p_business_group_id
185     ,p_chat_message_id              => p_chat_message_id
186     ,p_object_version_number        => l_object_version_number
187     );
188   --
189   -- Convert API warning boolean parameter values to specific
190   -- messages and add them to Multiple Message List
191   --
192   --
193   -- Convert API non-warning boolean parameter values
194   --
195   --
196   -- Derive the API return status value based on whether
197   -- messages of any type exist in the Multiple Message List.
198   -- Also disable Multiple Message Detection.
199   --
200   p_return_status := hr_multi_message.get_return_status_disable;
201   hr_utility.set_location(' Leaving:' || l_proc,20);
202   --
203 exception
204   when hr_multi_message.error_message_exist then
205     --
206     -- Catch the Multiple Message List exception which
207     -- indicates API processing has been aborted because
208     -- at least one message exists in the list.
209     --
210     rollback to update_chat_message_swi;
211     --
212     -- Reset IN OUT parameters and set OUT parameters
213     --
214     p_object_version_number        := l_object_version_number;
215     p_return_status := hr_multi_message.get_return_status_disable;
216     hr_utility.set_location(' Leaving:' || l_proc, 30);
217   when others then
218     --
219     -- When Multiple Message Detection is enabled catch
220     -- any Application specific or other unexpected
221     -- exceptions.  Adding appropriate details to the
222     -- Multiple Message List.  Otherwise re-raise the
223     -- error.
224     --
225     rollback to update_chat_message_swi;
226     if hr_multi_message.unexpected_error_add(l_proc) then
227        hr_utility.set_location(' Leaving:' || l_proc,40);
228        raise;
229     end if;
230     --
231     -- Reset IN OUT and set OUT parameters
232     --
233     p_object_version_number        := l_object_version_number;
234     p_return_status := hr_multi_message.get_return_status_disable;
235     hr_utility.set_location(' Leaving:' || l_proc,50);
236 end update_chat_message;
237 -- ----------------------------------------------------------------------------
238 -- |--------------------------< delete_chat_message >-------------------------|
239 -- ----------------------------------------------------------------------------
240 PROCEDURE delete_chat_message
241   (p_validate                     in     number    default hr_api.g_false_num
242   ,p_chat_message_id              in     number
243   ,p_object_version_number        in     number
244   ,p_return_status                   out nocopy varchar2
245   ) is
246   --
247   -- Variables for API Boolean parameters
248   l_validate                      boolean;
249   --
250   -- Variables for IN/OUT parameters
251   --
252   -- Other variables
253   l_proc    varchar2(72) := g_package ||'delete_chat_message';
254 Begin
255   hr_utility.set_location(' Entering:' || l_proc,10);
256   --
257   -- Issue a savepoint
258   --
259   savepoint delete_chat_message_swi;
260   --
261   -- Initialise Multiple Message Detection
262   --
263   hr_multi_message.enable_message_list;
264   --
265   -- Remember IN OUT parameter IN values
266   --
267   --
268   -- Convert constant values to their corresponding boolean value
269   --
270   l_validate :=
271     hr_api.constant_to_boolean
272       (p_constant_value => p_validate);
273   --
274   -- Register Surrogate ID or user key values
275   --
276   --
277   -- Call API
278   --
279   ota_chat_message_api.delete_chat_message
280     (p_validate                     => l_validate
281     ,p_chat_message_id              => p_chat_message_id
282     ,p_object_version_number        => p_object_version_number
283     );
284   --
285   -- Convert API warning boolean parameter values to specific
286   -- messages and add them to Multiple Message List
287   --
288   --
289   -- Convert API non-warning boolean parameter values
290   --
291   --
292   -- Derive the API return status value based on whether
293   -- messages of any type exist in the Multiple Message List.
294   -- Also disable Multiple Message Detection.
295   --
296   p_return_status := hr_multi_message.get_return_status_disable;
297   hr_utility.set_location(' Leaving:' || l_proc,20);
298   --
299 exception
300   when hr_multi_message.error_message_exist then
301     --
302     -- Catch the Multiple Message List exception which
303     -- indicates API processing has been aborted because
304     -- at least one message exists in the list.
305     --
306     rollback to delete_chat_message_swi;
307     --
308     -- Reset IN OUT parameters and set OUT parameters
309     --
310     p_return_status := hr_multi_message.get_return_status_disable;
311     hr_utility.set_location(' Leaving:' || l_proc, 30);
312   when others then
313     --
314     -- When Multiple Message Detection is enabled catch
315     -- any Application specific or other unexpected
316     -- exceptions.  Adding appropriate details to the
317     -- Multiple Message List.  Otherwise re-raise the
318     -- error.
319     --
320     rollback to delete_chat_message_swi;
321     if hr_multi_message.unexpected_error_add(l_proc) then
322        hr_utility.set_location(' Leaving:' || l_proc,40);
323        raise;
324     end if;
325     --
326     -- Reset IN OUT and set OUT parameters
327     --
328     p_return_status := hr_multi_message.get_return_status_disable;
329     hr_utility.set_location(' Leaving:' || l_proc,50);
330 end delete_chat_message;
331 end ota_chat_message_swi;