DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_SCORECARD_SHARING_SWI

Source


1 Package Body hr_scorecard_sharing_swi As
2 /* $Header: pepshswi.pkb 120.0 2006/03/14 19:42 tpapired noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'hr_scorecard_sharing_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |------------------------< create_sharing_instance >-----------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_sharing_instance
12   (p_validate                     in     number    default hr_api.g_false_num
13   ,p_scorecard_id                 in     number
14   ,p_person_id                    in     number
15   ,p_attribute_category           in     varchar2  default null
16   ,p_attribute1                   in     varchar2  default null
17   ,p_attribute2                   in     varchar2  default null
18   ,p_attribute3                   in     varchar2  default null
19   ,p_attribute4                   in     varchar2  default null
20   ,p_attribute5                   in     varchar2  default null
21   ,p_attribute6                   in     varchar2  default null
22   ,p_attribute7                   in     varchar2  default null
23   ,p_attribute8                   in     varchar2  default null
24   ,p_attribute9                   in     varchar2  default null
25   ,p_attribute10                  in     varchar2  default null
26   ,p_attribute11                  in     varchar2  default null
27   ,p_attribute12                  in     varchar2  default null
28   ,p_attribute13                  in     varchar2  default null
29   ,p_attribute14                  in     varchar2  default null
30   ,p_attribute15                  in     varchar2  default null
31   ,p_attribute16                  in     varchar2  default null
32   ,p_attribute17                  in     varchar2  default null
33   ,p_attribute18                  in     varchar2  default null
34   ,p_attribute19                  in     varchar2  default null
35   ,p_attribute20                  in     varchar2  default null
36   ,p_attribute21                  in     varchar2  default null
37   ,p_attribute22                  in     varchar2  default null
38   ,p_attribute23                  in     varchar2  default null
39   ,p_attribute24                  in     varchar2  default null
40   ,p_attribute25                  in     varchar2  default null
41   ,p_attribute26                  in     varchar2  default null
42   ,p_attribute27                  in     varchar2  default null
43   ,p_attribute28                  in     varchar2  default null
44   ,p_attribute29                  in     varchar2  default null
45   ,p_attribute30                  in     varchar2  default null
46   ,p_sharing_instance_id          in     number
47   ,p_object_version_number           out nocopy number
48   ,p_return_status                   out nocopy varchar2
49   ) is
50   --
51   -- Variables for API Boolean parameters
52   l_validate                      boolean;
53   --
54   -- Variables for IN/OUT parameters
55   --
56   -- Other variables
57   l_sharing_instance_id          number;
58   l_proc    varchar2(72) := g_package ||'create_sharing_instance';
59 Begin
60   hr_utility.set_location(' Entering:' || l_proc,10);
61   --
62   -- Issue a savepoint
63   --
64   savepoint create_sharing_instance_swi;
65   --
66   -- Initialise Multiple Message Detection
67   --
68   hr_multi_message.enable_message_list;
69   --
70   -- Remember IN OUT parameter IN values
71   --
72   --
73   -- Convert constant values to their corresponding boolean value
74   --
75   l_validate :=
76     hr_api.constant_to_boolean
77       (p_constant_value => p_validate);
78   --
79   -- Register Surrogate ID or user key values
80   --
81   per_psh_ins.set_base_key_value
82     (p_sharing_instance_id => p_sharing_instance_id
83     );
84   --
85   -- Call API
86   --
87   hr_scorecard_sharing_api.create_sharing_instance
88     (p_validate                     => l_validate
89     ,p_scorecard_id                 => p_scorecard_id
90     ,p_person_id                    => p_person_id
91     ,p_attribute_category           => p_attribute_category
92     ,p_attribute1                   => p_attribute1
93     ,p_attribute2                   => p_attribute2
94     ,p_attribute3                   => p_attribute3
95     ,p_attribute4                   => p_attribute4
96     ,p_attribute5                   => p_attribute5
97     ,p_attribute6                   => p_attribute6
98     ,p_attribute7                   => p_attribute7
99     ,p_attribute8                   => p_attribute8
100     ,p_attribute9                   => p_attribute9
101     ,p_attribute10                  => p_attribute10
102     ,p_attribute11                  => p_attribute11
103     ,p_attribute12                  => p_attribute12
104     ,p_attribute13                  => p_attribute13
105     ,p_attribute14                  => p_attribute14
106     ,p_attribute15                  => p_attribute15
107     ,p_attribute16                  => p_attribute16
108     ,p_attribute17                  => p_attribute17
109     ,p_attribute18                  => p_attribute18
110     ,p_attribute19                  => p_attribute19
111     ,p_attribute20                  => p_attribute20
112     ,p_attribute21                  => p_attribute21
113     ,p_attribute22                  => p_attribute22
114     ,p_attribute23                  => p_attribute23
115     ,p_attribute24                  => p_attribute24
116     ,p_attribute25                  => p_attribute25
117     ,p_attribute26                  => p_attribute26
118     ,p_attribute27                  => p_attribute27
119     ,p_attribute28                  => p_attribute28
120     ,p_attribute29                  => p_attribute29
121     ,p_attribute30                  => p_attribute30
122     ,p_sharing_instance_id          => l_sharing_instance_id
123     ,p_object_version_number        => p_object_version_number
124     );
125   --
126   -- Convert API warning boolean parameter values to specific
127   -- messages and add them to Multiple Message List
128   --
129   --
130   -- Convert API non-warning boolean parameter values
131   --
132   --
133   -- Derive the API return status value based on whether
134   -- messages of any type exist in the Multiple Message List.
135   -- Also disable Multiple Message Detection.
136   --
137   p_return_status := hr_multi_message.get_return_status_disable;
138   hr_utility.set_location(' Leaving:' || l_proc,20);
139   --
140 exception
141   when hr_multi_message.error_message_exist then
142     --
143     -- Catch the Multiple Message List exception which
144     -- indicates API processing has been aborted because
145     -- at least one message exists in the list.
146     --
147     rollback to create_sharing_instance_swi;
148     --
149     -- Reset IN OUT parameters and set OUT parameters
150     --
151     p_object_version_number        := null;
152     p_return_status := hr_multi_message.get_return_status_disable;
153     hr_utility.set_location(' Leaving:' || l_proc, 30);
154   when others then
155     --
156     -- When Multiple Message Detection is enabled catch
157     -- any Application specific or other unexpected
158     -- exceptions.  Adding appropriate details to the
159     -- Multiple Message List.  Otherwise re-raise the
160     -- error.
161     --
162     rollback to create_sharing_instance_swi;
163     if hr_multi_message.unexpected_error_add(l_proc) then
164        hr_utility.set_location(' Leaving:' || l_proc,40);
165        raise;
166     end if;
167     --
168     -- Reset IN OUT and set OUT parameters
169     --
170     p_object_version_number        := null;
171     p_return_status := hr_multi_message.get_return_status_disable;
172     hr_utility.set_location(' Leaving:' || l_proc,50);
173 end create_sharing_instance;
174 -- ----------------------------------------------------------------------------
175 -- |------------------------< delete_sharing_instance >-----------------------|
176 -- ----------------------------------------------------------------------------
177 PROCEDURE delete_sharing_instance
178   (p_validate                     in     number    default hr_api.g_false_num
179   ,p_sharing_instance_id          in     number
180   ,p_object_version_number        in     number
181   ,p_return_status                   out nocopy varchar2
182   ) is
183   --
184   -- Variables for API Boolean parameters
185   l_validate                      boolean;
186   --
187   -- Variables for IN/OUT parameters
188   --
192   hr_utility.set_location(' Entering:' || l_proc,10);
189   -- Other variables
190   l_proc    varchar2(72) := g_package ||'delete_sharing_instance';
191 Begin
193   --
194   -- Issue a savepoint
195   --
196   savepoint delete_sharing_instance_swi;
197   --
198   -- Initialise Multiple Message Detection
199   --
200   hr_multi_message.enable_message_list;
201   --
202   -- Remember IN OUT parameter IN values
203   --
204   --
205   -- Convert constant values to their corresponding boolean value
206   --
207   l_validate :=
208     hr_api.constant_to_boolean
209       (p_constant_value => p_validate);
210   --
211   -- Register Surrogate ID or user key values
212   --
213   --
214   -- Call API
215   --
216   hr_scorecard_sharing_api.delete_sharing_instance
217     (p_validate                     => l_validate
218     ,p_sharing_instance_id          => p_sharing_instance_id
219     ,p_object_version_number        => p_object_version_number
220     );
221   --
222   -- Convert API warning boolean parameter values to specific
223   -- messages and add them to Multiple Message List
224   --
225   --
226   -- Convert API non-warning boolean parameter values
227   --
228   --
229   -- Derive the API return status value based on whether
230   -- messages of any type exist in the Multiple Message List.
231   -- Also disable Multiple Message Detection.
232   --
233   p_return_status := hr_multi_message.get_return_status_disable;
234   hr_utility.set_location(' Leaving:' || l_proc,20);
235   --
236 exception
237   when hr_multi_message.error_message_exist then
238     --
239     -- Catch the Multiple Message List exception which
240     -- indicates API processing has been aborted because
241     -- at least one message exists in the list.
242     --
243     rollback to delete_sharing_instance_swi;
244     --
245     -- Reset IN OUT parameters and set OUT parameters
246     --
247     p_return_status := hr_multi_message.get_return_status_disable;
248     hr_utility.set_location(' Leaving:' || l_proc, 30);
249   when others then
250     --
251     -- When Multiple Message Detection is enabled catch
252     -- any Application specific or other unexpected
253     -- exceptions.  Adding appropriate details to the
254     -- Multiple Message List.  Otherwise re-raise the
255     -- error.
256     --
257     rollback to delete_sharing_instance_swi;
258     if hr_multi_message.unexpected_error_add(l_proc) then
259        hr_utility.set_location(' Leaving:' || l_proc,40);
260        raise;
261     end if;
262     --
263     -- Reset IN OUT and set OUT parameters
264     --
265     p_return_status := hr_multi_message.get_return_status_disable;
266     hr_utility.set_location(' Leaving:' || l_proc,50);
267 end delete_sharing_instance;
268 end hr_scorecard_sharing_swi;