[Home] [Help]
PACKAGE BODY: APPS.HR_LOC_SHD
Source
1 PACKAGE BODY hr_loc_shd AS
2 /* $Header: hrlocrhi.pkb 120.11.12020000.2 2012/07/04 23:08:51 amnaraya ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package VARCHAR2(33) := ' hr_loc_shd.'; -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------< return_api_dml_status >-------------------------|
12 -- ----------------------------------------------------------------------------
13 FUNCTION return_api_dml_status RETURN BOOLEAN IS
14 --
15 l_proc VARCHAR2(72) := g_package||'return_api_dml_status';
16 --
17 BEGIN
18 hr_utility.set_location('Entering:'||l_proc, 5);
19 --
20 RETURN (nvl(g_api_dml, false));
21 --
22 hr_utility.set_location(' Leaving:'||l_proc, 10);
23 END return_api_dml_status;
24 --
25 -- ----------------------------------------------------------------------------
26 -- |---------------------------< constraint_error >---------------------------|
27 -- ----------------------------------------------------------------------------
28 PROCEDURE constraint_error
29 (p_constraint_name IN all_constraints.constraint_name%type) IS
30 --
31 l_proc VARCHAR2(72) := g_package||'constraint_error';
32 --
33 BEGIN
34 hr_utility.set_location('Entering:'||l_proc, 5);
35 --
36 IF (p_constraint_name = 'HR_HRLOC_BILL_TO_SITE_FLAG_CHK') THEN
37 hr_utility.set_message(800, 'PER_52500_INV_YES_NO_FLAG');
38 hr_utility.set_message_token('YES_NO_FLAG', 'Bill-to Site Flag');
39 hr_utility.raise_error;
40 ELSIF (p_constraint_name = 'HR_HRLOC_IN_ORGANIZATION_F_CHK') THEN
41 hr_utility.set_message(800, 'PER_52500_INV_YES_NO_FLAG');
42 hr_utility.set_message_token('YES_NO_FLAG', 'In-Organization Flag');
43 hr_utility.raise_error;
44 ELSIF (p_constraint_name = 'HR_HRLOC_OFFICE_SITE_FLAG_CHK') THEN
45 hr_utility.set_message(800, 'PER_52500_INV_YES_NO_FLAG');
46 hr_utility.set_message_token('YES_NO_FLAG', 'Office Site Flag');
47 hr_utility.raise_error;
48 ELSIF (p_constraint_name = 'HR_HRLOC_RECEIVING_SITE_FL_CHK') THEN
49 hr_utility.set_message(800, 'PER_52500_INV_YES_NO_FLAG');
50 hr_utility.set_message_token('YES_NO_FLAG', 'Receiving Site Flag');
51 hr_utility.raise_error;
52 ELSIF (p_constraint_name = 'HR_HRLOC_SHIP_TO_SITE_FLAG_CHK') THEN
53 hr_utility.set_message(800, 'PER_52500_INV_YES_NO_FLAG');
54 hr_utility.set_message_token('YES_NO_FLAG', 'Ship-to Site Flag');
55 hr_utility.raise_error;
56 ELSIF (p_constraint_name = 'HR_LOCATIONS_PK') THEN
57 hr_utility.set_message(800, 'HR_6153_ALL_PROCEDURE_FAIL');
58 hr_utility.set_message_token('PROCEDURE', l_proc);
59 hr_utility.set_message_token('STEP','30');
60 hr_utility.raise_error;
61 ELSIF (p_constraint_name = 'HR_LOCATIONS_UK2') THEN
62 hr_utility.set_message(800, 'PER_52507_INV_LOCATION_CODE');
63 hr_utility.set_message_token('PROCEDURE', l_proc);
64 hr_utility.set_message_token('STEP','35');
65 hr_utility.raise_error;
66 ELSE
67 hr_utility.set_message(800, 'HR_7877_API_INVALID_CONSTRAINT');
68 hr_utility.set_message_token('PROCEDURE', l_proc);
69 hr_utility.set_message_token('CONSTRAINT_NAME', p_constraint_name);
70 hr_utility.raise_error;
71 END IF;
72 --
73 hr_utility.set_location(' Leaving:'||l_proc, 10);
74 END constraint_error;
75 --
76 -- ----------------------------------------------------------------------------
77 -- |-----------------------------< api_updating >-----------------------------|
78 -- ----------------------------------------------------------------------------
79 FUNCTION api_updating
80 (
81 p_location_id IN NUMBER,
82 p_object_version_number IN NUMBER
83 ) RETURN BOOLEAN IS
84 --
85 --
86 -- Cursor selects the 'current' row from the HR Schema
87 --
88 cursor csr_select_row IS
89 SELECT
90 location_id,
91 entered_by,
92 location_code,
93 timezone_code,
94 address_line_1,
95 address_line_2,
96 address_line_3,
97 bill_to_site_flag,
98 country,
99 description,
100 designated_receiver_id,
101 in_organization_flag,
102 inactive_date,
103 inventory_organization_id,
104 office_site_flag,
105 postal_code,
106 receiving_site_flag,
107 region_1,
108 region_2,
109 region_3,
110 ship_to_location_id,
111 ship_to_site_flag,
112 derived_locale,
113 style,
114 tax_name,
115 telephone_number_1,
116 telephone_number_2,
117 telephone_number_3,
118 town_or_city,
119 loc_information13,
120 loc_information14,
121 loc_information15,
122 loc_information16,
123 loc_information17,
124 loc_information18,
125 loc_information19,
126 loc_information20,
127 attribute_category,
128 attribute1,
129 attribute2,
130 attribute3,
131 attribute4,
132 attribute5,
133 attribute6,
134 attribute7,
135 attribute8,
136 attribute9,
137 attribute10,
138 attribute11,
139 attribute12,
140 attribute13,
141 attribute14,
142 attribute15,
143 attribute16,
144 attribute17,
145 attribute18,
146 attribute19,
147 attribute20,
148 global_attribute_category,
149 global_attribute1,
150 global_attribute2,
151 global_attribute3,
152 global_attribute4,
153 global_attribute5,
154 global_attribute6,
155 global_attribute7,
156 global_attribute8,
157 global_attribute9,
158 global_attribute10,
159 global_attribute11,
160 global_attribute12,
161 global_attribute13,
162 global_attribute14,
163 global_attribute15,
164 global_attribute16,
165 global_attribute17,
166 global_attribute18,
167 global_attribute19,
168 global_attribute20,
169 legal_address_flag,
170 tp_header_id,
171 ece_tp_location_code,
172 object_version_number,
173 business_group_id,
174 geometry
175 FROM hr_locations_all
176 WHERE location_id = p_location_id;
177 --
178 l_proc VARCHAR2(72) := g_package||'api_updating';
179 l_fct_ret BOOLEAN;
180 --
181 BEGIN
182 hr_utility.set_location('Entering:'||l_proc, 5);
183 --
184 IF (
185 p_location_id IS NULL AND
186 p_object_version_number IS NULL
187 ) THEN
188 --
189 -- One of the primary key arguments is null therefore we must
190 -- set the returning function value to false
191 --
192 l_fct_ret := false;
193 ELSE
194 IF (
195 p_location_id = g_old_rec.location_id AND
196 p_object_version_number = g_old_rec.object_version_number
197 ) THEN
198 hr_utility.set_location(l_proc, 10);
199 --
200 -- The g_old_rec is current therefore we must
201 -- set the returning function to true
202 --
203 l_fct_ret := true;
204 ELSE
205 --
206 -- Select the current row into g_old_rec
207 --
208 OPEN csr_select_row;
209 FETCH csr_select_row INTO g_old_rec;
210 IF csr_select_row%notfound THEN
211 CLOSE csr_select_row;
212 --
213 -- The primary key is invalid therefore we must error
214 --
215 hr_utility.set_message(800, 'HR_7220_INVALID_PRIMARY_KEY');
216 hr_utility.raise_error;
217 END IF;
218 CLOSE csr_select_row;
219 IF (p_object_version_number <> g_old_rec.object_version_number) THEN
220 hr_utility.set_message(800, 'HR_7155_OBJECT_INVALID');
221 hr_utility.set_message_token('TABLE_NAME', 'HR_LOCATIONS_ALL');
222 hr_utility.raise_error;
223 END IF;
224 hr_utility.set_location(l_proc, 15);
225 l_fct_ret := true;
226 END IF;
227 END IF;
228 hr_utility.set_location(' Leaving:'||l_proc, 20);
229 RETURN (l_fct_ret);
230 --
231 END api_updating;
232 --
233 -- ----------------------------------------------------------------------------
234 -- |---------------------------------< lck >----------------------------------|
235 -- ----------------------------------------------------------------------------
236 PROCEDURE lck
237 (
238 p_location_id IN NUMBER,
239 p_object_version_number IN NUMBER
240 ) IS
241 --
242 -- Cursor selects the 'current' row from the HR Schema
243 --
244 cursor csr_lock_row IS
245 SELECT
246 location_id,
247 entered_by,
248 location_code,
249 timezone_code,
250 address_line_1,
251 address_line_2,
252 address_line_3,
253 bill_to_site_flag,
254 country,
255 description,
256 designated_receiver_id,
257 in_organization_flag,
258 inactive_date,
259 inventory_organization_id,
260 office_site_flag,
261 postal_code,
262 receiving_site_flag,
263 region_1,
264 region_2,
265 region_3,
266 ship_to_location_id,
267 ship_to_site_flag,
268 derived_locale,
269 style,
270 tax_name,
271 telephone_number_1,
272 telephone_number_2,
273 telephone_number_3,
274 town_or_city,
275 loc_information13,
276 loc_information14,
277 loc_information15,
278 loc_information16,
279 loc_information17,
280 loc_information18,
281 loc_information19,
282 loc_information20,
283 attribute_category,
284 attribute1,
285 attribute2,
286 attribute3,
287 attribute4,
288 attribute5,
289 attribute6,
290 attribute7,
291 attribute8,
292 attribute9,
293 attribute10,
294 attribute11,
295 attribute12,
296 attribute13,
297 attribute14,
298 attribute15,
299 attribute16,
300 attribute17,
301 attribute18,
302 attribute19,
303 attribute20,
304 global_attribute_category,
305 global_attribute1,
306 global_attribute2,
307 global_attribute3,
308 global_attribute4,
309 global_attribute5,
310 global_attribute6,
311 global_attribute7,
312 global_attribute8,
313 global_attribute9,
314 global_attribute10,
315 global_attribute11,
316 global_attribute12,
317 global_attribute13,
318 global_attribute14,
319 global_attribute15,
320 global_attribute16,
321 global_attribute17,
322 global_attribute18,
323 global_attribute19,
324 global_attribute20,
325 legal_address_flag,
326 tp_header_id,
327 ece_tp_location_code,
328 object_version_number,
329 business_group_id,
330 geometry
331 FROM hr_locations_all
332 WHERE location_id = p_location_id
333 FOR UPDATE nowait;
334 --
335 l_proc VARCHAR2(72) := g_package||'lck';
336 --
337 BEGIN
338 hr_utility.set_location('Entering:'|| l_proc || '. OVN :' || to_char (p_object_version_number)
339 || ', ID :' || to_char (p_location_id), 5);
340 --
341 -- Add any mandatory argument checking here:
342 -- Example:
343 -- hr_api.mandatory_arg_error
344 -- (p_api_name => l_proc,
345 -- p_argument => 'object_version_number',
346 -- p_argument_value => p_object_version_number);
347 --
348 hr_api.mandatory_arg_error
349 (p_api_name => l_proc,
350 p_argument => 'location_id',
351 p_argument_value => p_location_id);
352 --
353 hr_utility.set_location(l_proc, 6);
354 --
355 hr_api.mandatory_arg_error
356 (p_api_name => l_proc,
357 p_argument => 'object_version_number',
358 p_argument_value => p_object_version_number);
359 --
360 hr_utility.set_location(l_proc, 10);
361 --
362 --
363 OPEN csr_lock_row;
364 FETCH csr_lock_row INTO g_old_rec;
365 IF csr_lock_row%notfound THEN
366 CLOSE csr_lock_row;
367 --
368 -- The primary key is invalid therefore we must error
369 --
370 hr_utility.set_message(800, 'HR_7220_INVALID_PRIMARY_KEY');
371 hr_utility.raise_error;
372 END IF;
373 CLOSE csr_lock_row;
374 --
375 hr_utility.set_location(l_proc, 15);
376 --
377 IF (p_object_version_number <> nvl (g_old_rec.object_version_number, hr_api.g_number) )
378 THEN
379 hr_utility.set_message(800, 'HR_7155_OBJECT_INVALID');
380 hr_utility.raise_error;
381 END IF;
382 --
383 hr_utility.set_location(' Leaving:'||l_proc, 20);
384 --
385 -- We need to trap the ORA LOCK exception
386 --
387 EXCEPTION
388 WHEN hr_api.object_locked THEN
389 --
390 -- The object is locked therefore we need to supply a meaningful
391 -- error message.
392 --
393 hr_utility.set_message(800, 'HR_7165_OBJECT_LOCKED');
394 hr_utility.set_message_token('TABLE_NAME', 'hr_locations_all');
395 hr_utility.raise_error;
396 END lck;
397 --
398 -- ----------------------------------------------------------------------------
399 -- |-----------------------------< convert_args >-----------------------------|
400 -- ----------------------------------------------------------------------------
401 FUNCTION convert_args
402 (
403 p_location_id IN NUMBER,
404 p_location_code IN VARCHAR2,
405 p_timezone_code IN VARCHAR2,
406 p_address_line_1 IN VARCHAR2,
407 p_address_line_2 IN VARCHAR2,
408 p_address_line_3 IN VARCHAR2,
409 p_bill_to_site_flag IN VARCHAR2,
410 p_country IN VARCHAR2,
411 p_description IN VARCHAR2,
412 p_designated_receiver_id IN NUMBER,
413 p_in_organization_flag IN VARCHAR2,
414 p_inactive_date IN DATE,
415 p_inventory_organization_id IN NUMBER,
416 p_office_site_flag IN VARCHAR2,
417 p_postal_code IN VARCHAR2,
418 p_receiving_site_flag IN VARCHAR2,
419 p_region_1 IN VARCHAR2,
420 p_region_2 IN VARCHAR2,
421 p_region_3 IN VARCHAR2,
422 p_ship_to_location_id IN NUMBER,
423 p_ship_to_site_flag IN VARCHAR2,
424 p_style IN VARCHAR2,
425 p_tax_name IN VARCHAR2,
426 p_telephone_number_1 IN VARCHAR2,
427 p_telephone_number_2 IN VARCHAR2,
428 p_telephone_number_3 IN VARCHAR2,
429 p_town_or_city IN VARCHAR2,
430 p_loc_information13 IN VARCHAR2,
431 p_loc_information14 IN VARCHAR2,
432 p_loc_information15 IN VARCHAR2,
433 p_loc_information16 IN VARCHAR2,
434 p_loc_information17 IN VARCHAR2,
435 p_loc_information18 IN VARCHAR2,
436 p_loc_information19 IN VARCHAR2,
437 p_loc_information20 IN VARCHAR2,
438 p_attribute_category IN VARCHAR2,
439 p_attribute1 IN VARCHAR2,
440 p_attribute2 IN VARCHAR2,
441 p_attribute3 IN VARCHAR2,
442 p_attribute4 IN VARCHAR2,
443 p_attribute5 IN VARCHAR2,
444 p_attribute6 IN VARCHAR2,
445 p_attribute7 IN VARCHAR2,
446 p_attribute8 IN VARCHAR2,
447 p_attribute9 IN VARCHAR2,
448 p_attribute10 IN VARCHAR2,
449 p_attribute11 IN VARCHAR2,
450 p_attribute12 IN VARCHAR2,
451 p_attribute13 IN VARCHAR2,
452 p_attribute14 IN VARCHAR2,
453 p_attribute15 IN VARCHAR2,
454 p_attribute16 IN VARCHAR2,
455 p_attribute17 IN VARCHAR2,
456 p_attribute18 IN VARCHAR2,
457 p_attribute19 IN VARCHAR2,
458 p_attribute20 IN VARCHAR2,
459 p_global_attribute_category IN VARCHAR2,
460 p_global_attribute1 IN VARCHAR2,
461 p_global_attribute2 IN VARCHAR2,
462 p_global_attribute3 IN VARCHAR2,
463 p_global_attribute4 IN VARCHAR2,
464 p_global_attribute5 IN VARCHAR2,
465 p_global_attribute6 IN VARCHAR2,
466 p_global_attribute7 IN VARCHAR2,
467 p_global_attribute8 IN VARCHAR2,
468 p_global_attribute9 IN VARCHAR2,
469 p_global_attribute10 IN VARCHAR2,
470 p_global_attribute11 IN VARCHAR2,
471 p_global_attribute12 IN VARCHAR2,
472 p_global_attribute13 IN VARCHAR2,
473 p_global_attribute14 IN VARCHAR2,
474 p_global_attribute15 IN VARCHAR2,
475 p_global_attribute16 IN VARCHAR2,
476 p_global_attribute17 IN VARCHAR2,
477 p_global_attribute18 IN VARCHAR2,
478 p_global_attribute19 IN VARCHAR2,
479 p_global_attribute20 IN VARCHAR2,
480 p_legal_address_flag IN VARCHAR2,
481 p_tp_header_id IN NUMBER,
482 p_ece_tp_location_code IN VARCHAR2,
483 p_object_version_number IN NUMBER,
484 p_business_group_id IN NUMBER
485 )
486 RETURN g_rec_type IS
487 --
488 l_rec g_rec_type;
489 l_proc VARCHAR2(72) := g_package||'convert_args';
490 --
491 BEGIN
492 --
493 hr_utility.set_location('Entering:'||l_proc, 5);
494 --
495 -- Convert arguments into local l_rec structure.
496 --
497 l_rec.location_id := p_location_id;
498 l_rec.entered_by := 1;
499 l_rec.location_code := p_location_code;
500 l_rec.timezone_code := p_timezone_code;
501 l_rec.address_line_1 := p_address_line_1;
502 l_rec.address_line_2 := p_address_line_2;
503 l_rec.address_line_3 := p_address_line_3;
504 l_rec.bill_to_site_flag := p_bill_to_site_flag;
505 l_rec.country := p_country;
506 l_rec.description := p_description;
507 l_rec.designated_receiver_id := p_designated_receiver_id;
508 l_rec.in_organization_flag := p_in_organization_flag;
509 l_rec.inactive_date := p_inactive_date;
510 l_rec.inventory_organization_id := p_inventory_organization_id;
511 l_rec.office_site_flag := p_office_site_flag;
512 l_rec.postal_code := p_postal_code;
513 l_rec.receiving_site_flag := p_receiving_site_flag;
514 l_rec.region_1 := p_region_1;
515 l_rec.region_2 := p_region_2;
516 l_rec.region_3 := p_region_3;
517 l_rec.ship_to_location_id := p_ship_to_location_id;
518 l_rec.ship_to_site_flag := p_ship_to_site_flag;
519 l_rec.style := p_style;
520 l_rec.tax_name := p_tax_name;
521 l_rec.telephone_number_1 := p_telephone_number_1;
522 l_rec.telephone_number_2 := p_telephone_number_2;
523 l_rec.telephone_number_3 := p_telephone_number_3;
524 l_rec.town_or_city := p_town_or_city;
525 l_rec.loc_information13 := p_loc_information13;
526 l_rec.loc_information14 := p_loc_information14;
527 l_rec.loc_information15 := p_loc_information15;
528 l_rec.loc_information16 := p_loc_information16;
529 l_rec.loc_information17 := p_loc_information17;
530 l_rec.loc_information18 := p_loc_information18;
531 l_rec.loc_information19 := p_loc_information19;
532 l_rec.loc_information20 := p_loc_information20;
533 l_rec.attribute_category := p_attribute_category;
534 l_rec.attribute1 := p_attribute1;
535 l_rec.attribute2 := p_attribute2;
536 l_rec.attribute3 := p_attribute3;
537 l_rec.attribute4 := p_attribute4;
538 l_rec.attribute5 := p_attribute5;
539 l_rec.attribute6 := p_attribute6;
540 l_rec.attribute7 := p_attribute7;
541 l_rec.attribute8 := p_attribute8;
542 l_rec.attribute9 := p_attribute9;
543 l_rec.attribute10 := p_attribute10;
544 l_rec.attribute11 := p_attribute11;
545 l_rec.attribute12 := p_attribute12;
546 l_rec.attribute13 := p_attribute13;
547 l_rec.attribute14 := p_attribute14;
548 l_rec.attribute15 := p_attribute15;
549 l_rec.attribute16 := p_attribute16;
550 l_rec.attribute17 := p_attribute17;
551 l_rec.attribute18 := p_attribute18;
552 l_rec.attribute19 := p_attribute19;
553 l_rec.attribute20 := p_attribute20;
554 l_rec.object_version_number := p_object_version_number;
555 l_rec.global_attribute_category := p_global_attribute_category;
556 l_rec.global_attribute1 := p_global_attribute1;
557 l_rec.global_attribute2 := p_global_attribute2;
558 l_rec.global_attribute3 := p_global_attribute3;
559 l_rec.global_attribute4 := p_global_attribute4;
560 l_rec.global_attribute5 := p_global_attribute5;
561 l_rec.global_attribute6 := p_global_attribute6;
562 l_rec.global_attribute7 := p_global_attribute7;
563 l_rec.global_attribute8 := p_global_attribute8;
564 l_rec.global_attribute9 := p_global_attribute9;
565 l_rec.global_attribute10 := p_global_attribute10;
566 l_rec.global_attribute11 := p_global_attribute11;
567 l_rec.global_attribute12 := p_global_attribute12;
568 l_rec.global_attribute13 := p_global_attribute13;
569 l_rec.global_attribute14 := p_global_attribute14;
570 l_rec.global_attribute15 := p_global_attribute15;
571 l_rec.global_attribute16 := p_global_attribute16;
572 l_rec.global_attribute17 := p_global_attribute17;
573 l_rec.global_attribute18 := p_global_attribute18;
574 l_rec.global_attribute19 := p_global_attribute19;
575 l_rec.global_attribute20 := p_global_attribute20;
576 hr_utility.set_location(' Leaving:'||l_proc, 101);
577 l_rec.legal_address_flag := p_legal_address_flag;
578 hr_utility.set_location(' Leaving:'||l_proc, 102);
579 l_rec.tp_header_id := p_tp_header_id;
580 l_rec.ece_tp_location_code := p_ece_tp_location_code;
581 l_rec.business_group_id := p_business_group_id;
582 --
583 -- Return the plsql record structure.
584 --
585 hr_utility.set_location(' Leaving:'||l_proc, 10);
586 RETURN(l_rec);
587 --
588 END convert_args;
589 --
590 --
591 -- ----------------------------------------------------------------------------
592 -- |----------------------------< derive_locale >-----------------------------|
593 -- ----------------------------------------------------------------------------
594 procedure derive_locale(p_rec in out nocopy hr_loc_shd.g_rec_type)
595 is
596 --
597 l_number_table dbms_describe.number_table;
598 l_varchar_table dbms_describe.varchar2_table;
599 l_package_exists boolean;
600 l_package_name varchar2(2000);
601 l_seperator varchar2(1);
602 --
603 begin
604 BEGIN
605 l_package_name := 'HR_'||substr(p_rec.style,1,2)||'_UTILITY.DERIVE_HR_LOC_ADDRESS';-- fix for bug 4518559.
606 hr_general.describe_procedure(
607 object_name => l_package_name,
608 reserved1 => null,
609 reserved2 => null,
610 overload => l_number_table,
611 position => l_number_table,
612 level => l_number_table,
613 argument_name => l_varchar_table,
614 datatype => l_number_table,
615 default_value => l_number_table,
616 in_out => l_number_table,
617 length => l_number_table,
618 precision => l_number_table,
619 scale => l_number_table,
620 radix => l_number_table,
621 spare => l_number_table
622 );
623 -- If no exception raised at this point, then ready to concatenate address
624 -- fields using legislative package.
625 l_package_exists := true;
626 EXCEPTION
627 when others then
628 -- Package doesn't exist.
629 l_package_exists := false;
630 END;
631
632 IF l_package_exists THEN
633 l_package_name := 'begin ' ||l_package_name ||
634 '(:tax_name,' ||
635 ':style,' ||
636 ':address_line_1,' ||
637 ':address_line_2,' ||
638 ':address_line_3,' ||
639 ':town_or_city,' ||
640 ':country,' ||
641 ':postal_code,' ||
642 ':region_1,' ||
643 ':region_2,' ||
644 ':region_3,' ||
645 ':telephone_number_1,' ||
646 ':telephone_number_2,' ||
647 ':telephone_number_3,' ||
648 ':loc_information13,' ||
649 ':loc_information14,' ||
650 ':loc_information15,' ||
651 ':loc_information16,' ||
652 ':loc_information17,' ||
653 ':attribute_category,' ||
654 ':attribute1,' ||
655 ':attribute2,' ||
656 ':attribute3,' ||
657 ':attribute4,' ||
658 ':attribute5,' ||
659 ':attribute6,' ||
660 ':attribute7,' ||
661 ':attribute8,' ||
662 ':attribute9,' ||
663 ':attribute10,' ||
664 ':attribute11,' ||
665 ':attribute12,' ||
666 ':attribute13,' ||
667 ':attribute14,' ||
668 ':attribute15,' ||
669 ':attribute16,' ||
670 ':attribute17,' ||
671 ':attribute18,' ||
672 ':attribute19,' ||
673 ':attribute20,' ||
674 ':global_attribute_category,' ||
675 ':global_attribute1,' ||
676 ':global_attribute2,' ||
677 ':global_attribute3,' ||
678 ':global_attribute4,' ||
679 ':global_attribute5,' ||
680 ':global_attribute6,' ||
681 ':global_attribute7,' ||
682 ':global_attribute8,' ||
683 ':global_attribute9,' ||
684 ':global_attribute10,' ||
685 ':global_attribute11,' ||
686 ':global_attribute12,' ||
687 ':global_attribute13,' ||
688 ':global_attribute14,' ||
689 ':global_attribute15,' ||
690 ':global_attribute16,' ||
691 ':global_attribute17,' ||
692 ':global_attribute18,' ||
693 ':global_attribute19,' ||
694 ':global_attribute20,' ||
695 ':loc_information18,' ||
696 ':loc_information19,' ||
697 ':loc_information20,' ||
698 ':derived_locale); ' ||
699 'end; ';
700 execute immediate l_package_name
701 using in p_rec.tax_name,
702 in p_rec.style,
703 in p_rec.address_line_1,
704 in p_rec.address_line_2,
705 in p_rec.address_line_3,
706 in p_rec.town_or_city,
707 in p_rec.country,
708 in p_rec.postal_code,
709 in p_rec.region_1,
710 in p_rec.region_2,
711 in p_rec.region_3,
712 in p_rec.telephone_number_1,
713 in p_rec.telephone_number_2,
714 in p_rec.telephone_number_3,
715 in p_rec.loc_information13,
716 in p_rec.loc_information14,
717 in p_rec.loc_information15,
718 in p_rec.loc_information16,
719 in p_rec.loc_information17,
720 in p_rec.attribute_category,
721 in p_rec.attribute1,
722 in p_rec.attribute2,
723 in p_rec.attribute3,
724 in p_rec.attribute4,
725 in p_rec.attribute5,
726 in p_rec.attribute6,
727 in p_rec.attribute7,
728 in p_rec.attribute8,
729 in p_rec.attribute9,
730 in p_rec.attribute10,
731 in p_rec.attribute11,
732 in p_rec.attribute12,
733 in p_rec.attribute13,
734 in p_rec.attribute14,
735 in p_rec.attribute15,
736 in p_rec.attribute16,
737 in p_rec.attribute17,
738 in p_rec.attribute18,
739 in p_rec.attribute19,
740 in p_rec.attribute20,
741 in p_rec.global_attribute_category,
742 in p_rec.global_attribute1,
743 in p_rec.global_attribute2,
744 in p_rec.global_attribute3,
745 in p_rec.global_attribute4,
746 in p_rec.global_attribute5,
747 in p_rec.global_attribute6,
748 in p_rec.global_attribute7,
749 in p_rec.global_attribute8,
750 in p_rec.global_attribute9,
751 in p_rec.global_attribute10,
752 in p_rec.global_attribute11,
753 in p_rec.global_attribute12,
754 in p_rec.global_attribute13,
755 in p_rec.global_attribute14,
756 in p_rec.global_attribute15,
757 in p_rec.global_attribute16,
758 in p_rec.global_attribute17,
759 in p_rec.global_attribute18,
760 in p_rec.global_attribute19,
761 in p_rec.global_attribute20,
762 in p_rec.loc_information18,
763 in p_rec.loc_information19,
764 in p_rec.loc_information20,
765 out p_rec.derived_locale;
766 ELSE
767 if (ltrim(p_rec.town_or_city) is null) OR
768 (ltrim(p_rec.country) is null) then
769 l_seperator := '';
770 else
771 l_seperator := ',';
772 end if;
773 p_rec.derived_locale := ltrim(p_rec.town_or_city) || l_seperator || ltrim(p_rec.country);
774 END IF;
775 end;
776
777 END hr_loc_shd;