DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_PERSON_ADDRESS_SWI

Source


1 Package Body hr_person_address_swi As
2 /* $Header: hraddswi.pkb 120.0 2005/05/30 22:33:49 appldev noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'hr_person_address_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-------------------------< create_person_address >------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_person_address
12   (p_validate                     in     number    default hr_api.g_false_num
13   ,p_effective_date               in     date
14   ,p_pradd_ovlapval_override      in     number    default null
15   ,p_validate_county              in     number    default null
16   ,p_person_id                    in     number    default null
17   ,p_primary_flag                 in     varchar2
18   ,p_style                        in     varchar2
19   ,p_date_from                    in     date
20   ,p_date_to                      in     date      default null
21   ,p_address_type                 in     varchar2  default null
22   ,p_comments                     in     long      default null
23   ,p_address_line1                in     varchar2  default null
24   ,p_address_line2                in     varchar2  default null
25   ,p_address_line3                in     varchar2  default null
26   ,p_town_or_city                 in     varchar2  default null
27   ,p_region_1                     in     varchar2  default null
28   ,p_region_2                     in     varchar2  default null
29   ,p_region_3                     in     varchar2  default null
30   ,p_postal_code                  in     varchar2  default null
31   ,p_country                      in     varchar2  default null
32   ,p_telephone_number_1           in     varchar2  default null
33   ,p_telephone_number_2           in     varchar2  default null
34   ,p_telephone_number_3           in     varchar2  default null
35   ,p_addr_attribute_category      in     varchar2  default null
36   ,p_addr_attribute1              in     varchar2  default null
37   ,p_addr_attribute2              in     varchar2  default null
38   ,p_addr_attribute3              in     varchar2  default null
39   ,p_addr_attribute4              in     varchar2  default null
40   ,p_addr_attribute5              in     varchar2  default null
41   ,p_addr_attribute6              in     varchar2  default null
42   ,p_addr_attribute7              in     varchar2  default null
43   ,p_addr_attribute8              in     varchar2  default null
44   ,p_addr_attribute9              in     varchar2  default null
45   ,p_addr_attribute10             in     varchar2  default null
46   ,p_addr_attribute11             in     varchar2  default null
47   ,p_addr_attribute12             in     varchar2  default null
48   ,p_addr_attribute13             in     varchar2  default null
49   ,p_addr_attribute14             in     varchar2  default null
50   ,p_addr_attribute15             in     varchar2  default null
51   ,p_addr_attribute16             in     varchar2  default null
52   ,p_addr_attribute17             in     varchar2  default null
53   ,p_addr_attribute18             in     varchar2  default null
54   ,p_addr_attribute19             in     varchar2  default null
55   ,p_addr_attribute20             in     varchar2  default null
56   ,p_add_information13            in     varchar2  default null
57   ,p_add_information14            in     varchar2  default null
58   ,p_add_information15            in     varchar2  default null
59   ,p_add_information16            in     varchar2  default null
60   ,p_add_information17            in     varchar2  default null
61   ,p_add_information18            in     varchar2  default null
62   ,p_add_information19            in     varchar2  default null
63   ,p_add_information20            in     varchar2  default null
64   ,p_party_id                     in     number    default null
65   ,p_address_id                   in     number
66   ,p_object_version_number           out nocopy number
67   ,p_return_status                   out nocopy varchar2
68   ) is
69   --
70   -- Variables for API Boolean parameters
71   l_validate                      boolean;
72   l_pradd_ovlapval_override       boolean;
73   l_validate_county               boolean;
74   --
75   -- Variables for IN/OUT parameters
76   --
77   -- Other variables
78   l_address_id                   number;
79   l_proc    varchar2(72) := g_package ||'create_person_address';
80 Begin
81   hr_utility.set_location(' Entering:' || l_proc,10);
82   --
83   -- Issue a savepoint
84   --
85   savepoint create_person_address_swi;
86   --
87   -- Initialise Multiple Message Detection
88   --
89   hr_multi_message.enable_message_list;
90   --
91   -- Remember IN OUT parameter IN values
92   --
93   --
94   -- Convert constant values to their corresponding boolean value
95   --
96   l_validate :=
97     hr_api.constant_to_boolean
98       (p_constant_value => p_validate);
99   l_pradd_ovlapval_override :=
100     hr_api.constant_to_boolean
101       (p_constant_value => p_pradd_ovlapval_override);
102   l_validate_county :=
103     hr_api.constant_to_boolean
104       (p_constant_value => p_validate_county);
105   --
106   -- Register Surrogate ID or user key values
107   --
108   per_add_ins.set_base_key_value
109     (p_address_id => p_address_id
110     );
111   --
112   -- Call API
113   --
114   hr_person_address_api.create_person_address
115     (p_validate                     => l_validate
116     ,p_effective_date               => p_effective_date
117     ,p_pradd_ovlapval_override      => l_pradd_ovlapval_override
118     ,p_validate_county              => l_validate_county
119     ,p_person_id                    => p_person_id
120     ,p_primary_flag                 => p_primary_flag
121     ,p_style                        => p_style
122     ,p_date_from                    => p_date_from
123     ,p_date_to                      => p_date_to
124     ,p_address_type                 => p_address_type
125     ,p_comments                     => p_comments
126     ,p_address_line1                => p_address_line1
127     ,p_address_line2                => p_address_line2
128     ,p_address_line3                => p_address_line3
129     ,p_town_or_city                 => p_town_or_city
130     ,p_region_1                     => p_region_1
131     ,p_region_2                     => p_region_2
132     ,p_region_3                     => p_region_3
133     ,p_postal_code                  => p_postal_code
134     ,p_country                      => p_country
135     ,p_telephone_number_1           => p_telephone_number_1
136     ,p_telephone_number_2           => p_telephone_number_2
137     ,p_telephone_number_3           => p_telephone_number_3
138     ,p_addr_attribute_category      => p_addr_attribute_category
139     ,p_addr_attribute1              => p_addr_attribute1
140     ,p_addr_attribute2              => p_addr_attribute2
141     ,p_addr_attribute3              => p_addr_attribute3
142     ,p_addr_attribute4              => p_addr_attribute4
143     ,p_addr_attribute5              => p_addr_attribute5
144     ,p_addr_attribute6              => p_addr_attribute6
145     ,p_addr_attribute7              => p_addr_attribute7
146     ,p_addr_attribute8              => p_addr_attribute8
147     ,p_addr_attribute9              => p_addr_attribute9
148     ,p_addr_attribute10             => p_addr_attribute10
149     ,p_addr_attribute11             => p_addr_attribute11
150     ,p_addr_attribute12             => p_addr_attribute12
151     ,p_addr_attribute13             => p_addr_attribute13
152     ,p_addr_attribute14             => p_addr_attribute14
153     ,p_addr_attribute15             => p_addr_attribute15
154     ,p_addr_attribute16             => p_addr_attribute16
155     ,p_addr_attribute17             => p_addr_attribute17
156     ,p_addr_attribute18             => p_addr_attribute18
157     ,p_addr_attribute19             => p_addr_attribute19
158     ,p_addr_attribute20             => p_addr_attribute20
159     ,p_add_information13            => p_add_information13
160     ,p_add_information14            => p_add_information14
161     ,p_add_information15            => p_add_information15
162     ,p_add_information16            => p_add_information16
163     ,p_add_information17            => p_add_information17
164     ,p_add_information18            => p_add_information18
165     ,p_add_information19            => p_add_information19
166     ,p_add_information20            => p_add_information20
167     ,p_party_id                     => p_party_id
168     ,p_address_id                   => l_address_id
169     ,p_object_version_number        => p_object_version_number
170     );
171   --
172   -- Convert API warning boolean parameter values to specific
173   -- messages and add them to Multiple Message List
174   --
175   --
176   -- Convert API non-warning boolean parameter values
177   --
178   --
179   -- Derive the API return status value based on whether
180   -- messages of any type exist in the Multiple Message List.
181   -- Also disable Multiple Message Detection.
182   --
183   p_return_status := hr_multi_message.get_return_status_disable;
184   hr_utility.set_location(' Leaving:' || l_proc,20);
185   --
186 exception
187   when hr_multi_message.error_message_exist then
188     --
189     -- Catch the Multiple Message List exception which
190     -- indicates API processing has been aborted because
191     --  at least one error message exists in the list.
192     --
193     rollback to create_person_address_swi;
194     --
195     -- Reset IN OUT paramters and set OUT parameters
196     --
197     p_object_version_number        := null;
198     p_return_status := hr_multi_message.get_return_status_disable;
199     hr_utility.set_location(' Leaving:' || l_proc,30);
200   when others then
201     --
202     -- When Multiple Message Detection is enabled catch
203     -- any Application specific or other unexpected
204     -- exceptions.  Adding appropriate details to the
205     -- Multiple Message List.  Otherwise re-raise
206     -- the error.
207     --
208     rollback to create_person_address_swi;
209     if hr_multi_message.unexpected_error_add(l_proc) then
210        hr_utility.set_location(' Leaving:' || l_proc, 40);
211        raise;
212     end if;
213     --
214     -- Reset IN OUT parameters and set OUT parameters
215     --
216     p_object_version_number        := null;
217     p_return_status := hr_multi_message.get_return_status_disable;
218     hr_utility.set_location(' Leaving: ' || l_proc, 50);
219 end create_person_address;
220 -- ----------------------------------------------------------------------------
221 -- |-------------------------< update_person_address >------------------------|
222 -- ----------------------------------------------------------------------------
223 PROCEDURE update_person_address
224   (p_validate                     in     number    default hr_api.g_false_num
225   ,p_effective_date               in     date
226   ,p_validate_county              in     number    default hr_api.g_true_num
227   ,p_address_id                   in     number
228   ,p_object_version_number        in out nocopy number
229   ,p_date_from                    in     date      default hr_api.g_date
230   ,p_date_to                      in     date      default hr_api.g_date
231   ,p_address_type                 in     varchar2  default hr_api.g_varchar2
232   ,p_comments                     in     long      default hr_api.g_varchar2
233   ,p_address_line1                in     varchar2  default hr_api.g_varchar2
234   ,p_address_line2                in     varchar2  default hr_api.g_varchar2
235   ,p_address_line3                in     varchar2  default hr_api.g_varchar2
236   ,p_town_or_city                 in     varchar2  default hr_api.g_varchar2
237   ,p_region_1                     in     varchar2  default hr_api.g_varchar2
238   ,p_region_2                     in     varchar2  default hr_api.g_varchar2
239   ,p_region_3                     in     varchar2  default hr_api.g_varchar2
240   ,p_postal_code                  in     varchar2  default hr_api.g_varchar2
241   ,p_country                      in     varchar2  default hr_api.g_varchar2
242   ,p_telephone_number_1           in     varchar2  default hr_api.g_varchar2
243   ,p_telephone_number_2           in     varchar2  default hr_api.g_varchar2
244   ,p_telephone_number_3           in     varchar2  default hr_api.g_varchar2
245   ,p_addr_attribute_category      in     varchar2  default hr_api.g_varchar2
246   ,p_addr_attribute1              in     varchar2  default hr_api.g_varchar2
247   ,p_addr_attribute2              in     varchar2  default hr_api.g_varchar2
248   ,p_addr_attribute3              in     varchar2  default hr_api.g_varchar2
249   ,p_addr_attribute4              in     varchar2  default hr_api.g_varchar2
250   ,p_addr_attribute5              in     varchar2  default hr_api.g_varchar2
251   ,p_addr_attribute6              in     varchar2  default hr_api.g_varchar2
252   ,p_addr_attribute7              in     varchar2  default hr_api.g_varchar2
253   ,p_addr_attribute8              in     varchar2  default hr_api.g_varchar2
254   ,p_addr_attribute9              in     varchar2  default hr_api.g_varchar2
255   ,p_addr_attribute10             in     varchar2  default hr_api.g_varchar2
256   ,p_addr_attribute11             in     varchar2  default hr_api.g_varchar2
257   ,p_addr_attribute12             in     varchar2  default hr_api.g_varchar2
258   ,p_addr_attribute13             in     varchar2  default hr_api.g_varchar2
259   ,p_addr_attribute14             in     varchar2  default hr_api.g_varchar2
260   ,p_addr_attribute15             in     varchar2  default hr_api.g_varchar2
261   ,p_addr_attribute16             in     varchar2  default hr_api.g_varchar2
262   ,p_addr_attribute17             in     varchar2  default hr_api.g_varchar2
263   ,p_addr_attribute18             in     varchar2  default hr_api.g_varchar2
264   ,p_addr_attribute19             in     varchar2  default hr_api.g_varchar2
265   ,p_addr_attribute20             in     varchar2  default hr_api.g_varchar2
266   ,p_add_information13            in     varchar2  default hr_api.g_varchar2
267   ,p_add_information14            in     varchar2  default hr_api.g_varchar2
268   ,p_add_information15            in     varchar2  default hr_api.g_varchar2
269   ,p_add_information16            in     varchar2  default hr_api.g_varchar2
270   ,p_add_information17            in     varchar2  default hr_api.g_varchar2
271   ,p_add_information18            in     varchar2  default hr_api.g_varchar2
272   ,p_add_information19            in     varchar2  default hr_api.g_varchar2
273   ,p_add_information20            in     varchar2  default hr_api.g_varchar2
274   ,p_party_id                     in     number    default hr_api.g_number
275   ,p_style                        in     varchar2
276   ,p_return_status                   out nocopy varchar2
277   ) is
278   --
279   -- Variables for API Boolean parameters
280   l_validate                      boolean;
281   l_validate_county               boolean;
282   --
283   -- Variables for IN/OUT parameters
284   l_object_version_number         number;
285   --
286   -- Other variables
287   l_proc    varchar2(72) := g_package ||'update_person_address';
288 Begin
289   hr_utility.set_location(' Entering:' || l_proc,10);
290   --
291   -- Issue a savepoint
292   --
293   savepoint update_person_address_swi;
294   --
295   -- Initialise Multiple Message Detection
296   --
297   hr_multi_message.enable_message_list;
298   --
299   -- Remember IN OUT parameter IN values
300   --
301   l_object_version_number         := p_object_version_number;
302   --
303   -- Convert constant values to their corresponding boolean value
304   --
305     l_validate :=
306     hr_api.constant_to_boolean
307       (p_constant_value => p_validate);
308   l_validate_county :=
309     hr_api.constant_to_boolean
310       (p_constant_value => p_validate_county);
311   --
312   -- Register Surrogate ID or user key values
313   --
314   --
315   -- Call API
316   --
317     hr_person_address_api.update_pers_addr_with_style
318     (p_validate                     => l_validate
319     ,p_effective_date               => p_effective_date
320     ,p_validate_county              => l_validate_county
321     ,p_address_id                   => p_address_id
322     ,p_object_version_number        => p_object_version_number
323     ,p_date_from                    => p_date_from
324     ,p_date_to                      => p_date_to
325     ,p_address_type                 => p_address_type
326     ,p_comments                     => p_comments
327     ,p_address_line1                => p_address_line1
328     ,p_address_line2                => p_address_line2
329     ,p_address_line3                => p_address_line3
330     ,p_town_or_city                 => p_town_or_city
331     ,p_region_1                     => p_region_1
332     ,p_region_2                     => p_region_2
333     ,p_region_3                     => p_region_3
334     ,p_postal_code                  => p_postal_code
335     ,p_country                      => p_country
336     ,p_telephone_number_1           => p_telephone_number_1
337     ,p_telephone_number_2           => p_telephone_number_2
338     ,p_telephone_number_3           => p_telephone_number_3
339     ,p_addr_attribute_category      => p_addr_attribute_category
340     ,p_addr_attribute1              => p_addr_attribute1
341     ,p_addr_attribute2              => p_addr_attribute2
342     ,p_addr_attribute3              => p_addr_attribute3
343     ,p_addr_attribute4              => p_addr_attribute4
344     ,p_addr_attribute5              => p_addr_attribute5
345     ,p_addr_attribute6              => p_addr_attribute6
346     ,p_addr_attribute7              => p_addr_attribute7
347     ,p_addr_attribute8              => p_addr_attribute8
348     ,p_addr_attribute9              => p_addr_attribute9
349     ,p_addr_attribute10             => p_addr_attribute10
350     ,p_addr_attribute11             => p_addr_attribute11
351     ,p_addr_attribute12             => p_addr_attribute12
352     ,p_addr_attribute13             => p_addr_attribute13
353     ,p_addr_attribute14             => p_addr_attribute14
354     ,p_addr_attribute15             => p_addr_attribute15
355     ,p_addr_attribute16             => p_addr_attribute16
356     ,p_addr_attribute17             => p_addr_attribute17
357     ,p_addr_attribute18             => p_addr_attribute18
358     ,p_addr_attribute19             => p_addr_attribute19
359     ,p_addr_attribute20             => p_addr_attribute20
360     ,p_add_information13            => p_add_information13
361     ,p_add_information14            => p_add_information14
362     ,p_add_information15            => p_add_information15
363     ,p_add_information16            => p_add_information16
364     ,p_add_information17            => p_add_information17
365     ,p_add_information18            => p_add_information18
366     ,p_add_information19            => p_add_information19
367     ,p_add_information20            => p_add_information20
368     ,p_party_id                     => p_party_id
369     ,p_style                        => p_style
370     );
371   --
372   -- Convert API warning boolean parameter values to specific
373   -- messages and add them to Multiple Message List
374   --
375   --
376   -- Convert API non-warning boolean parameter values
377   --
378   --
379   -- Derive the API return status value based on whether
380   -- messages of any type exist in the Multiple Message List.
381   -- Also disable Multiple Message Detection.
382   --
383   p_return_status := hr_multi_message.get_return_status_disable;
384   hr_utility.set_location(' Leaving:' || l_proc,20);
385   --
386 exception
387   when hr_multi_message.error_message_exist then
388     --
389     -- Catch the Multiple Message List exception which
390     -- indicates API processing has been aborted because
391     --  at least one error message exists in the list.
392     --
393     rollback to update_person_address_swi;
394     --
395     -- Reset IN OUT paramters and set OUT parameters
396     --
397     p_object_version_number        := l_object_version_number;
398     p_return_status := hr_multi_message.get_return_status_disable;
399     hr_utility.set_location(' Leaving:' || l_proc,30);
400   when others then
401     --
402     -- When Multiple Message Detection is enabled catch
403     -- any Application specific or other unexpected
404     -- exceptions.  Adding appropriate details to the
405     -- Multiple Message List.  Otherwise re-raise
406     -- the error.
407     --
408     rollback to update_person_address_swi;
409     if hr_multi_message.unexpected_error_add(l_proc) then
410        hr_utility.set_location(' Leaving:' || l_proc, 40);
411        raise;
412     end if;
413     --
414     -- Reset IN OUT parameters and set OUT parameters
415     --
416     p_object_version_number        := l_object_version_number;
417     p_return_status := hr_multi_message.get_return_status_disable;
418     hr_utility.set_location(' Leaving: ' || l_proc, 50);
419 end update_person_address;
420 end hr_person_address_swi;