[Home] [Help]
PACKAGE BODY: APPS.AMS_GEO_AREAS_PVT
Source
1 PACKAGE BODY AMS_Geo_Areas_PVT AS
2 /* $Header: amsvgeob.pls 115.16 2002/11/22 23:37:12 dbiswas ship $ */
3
4 g_pkg_name CONSTANT VARCHAR2(30) := 'AMS_Geo_Areas_PVT';
5
6 /*****************************************************************************/
7 -- Procedure: create_geo_area
8 --
9 -- History
10 -- 12/3/1999 julou created
11 -------------------------------------------------------------------------------
12 AMS_DEBUG_HIGH_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
13 AMS_DEBUG_LOW_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
14 AMS_DEBUG_MEDIUM_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
15
16 PROCEDURE create_geo_area
17 (
18 p_api_version IN NUMBER,
19 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
20 p_commit IN VARCHAR2 := FND_API.g_false,
21 p_validation_level IN NUMBER,
22
23 x_return_status OUT NOCOPY VARCHAR2,
24 x_msg_count OUT NOCOPY NUMBER,
25 x_msg_data OUT NOCOPY VARCHAR2,
26
27 p_geo_area_rec IN geo_area_rec_type,
28 x_geo_area_id OUT NOCOPY NUMBER
29 )
30 IS
31
32 l_api_version CONSTANT NUMBER := 1.0;
33 l_api_name CONSTANT VARCHAR2(30) := 'create_geo_area';
34 l_full_name CONSTANT VARCHAR2(60) := g_pkg_name || '.' || l_api_name;
35 l_return_status VARCHAR2(1);
36 l_geo_area_rec geo_area_rec_type := p_geo_area_rec;
37 l_geo_area_count NUMBER;
38
39 CURSOR c_geo_area_seq IS
40 SELECT AMS_ACT_GEO_AREAS_S.NEXTVAL
41 FROM DUAL;
42
43 CURSOR c_geo_area_count(geo_area_id IN NUMBER) IS
44 SELECT COUNT(*)
45 FROM AMS_ACT_GEO_AREAS
46 WHERE activity_geo_area_id = geo_area_id;
47
48 BEGIN
49 -- initialize
50 SAVEPOINT create_geo_area;
51
52 IF FND_API.to_boolean(p_init_msg_list) THEN
53 FND_MSG_PUB.initialize;
54 END IF;
55
56 IF (AMS_DEBUG_HIGH_ON) THEN
57
58
59
60 AMS_Utility_PVT.debug_message(l_full_name || ': start');
61
62 END IF;
63
64 IF NOT FND_API.compatible_api_call
65 (
66 l_api_version,
67 p_api_version,
68 l_api_name,
69 g_pkg_name
70 )
71 THEN
72 RAISE FND_API.g_exc_unexpected_error;
73 END IF;
74
75 x_return_status := FND_API.g_ret_sts_success;
76
77 -- validate
78 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
79 IF (AMS_DEBUG_HIGH_ON) THEN
80
81 AMS_Utility_PVT.debug_message(l_full_name || ': validate');
82 END IF;
83
84 validate_geo_area
85 (
86 p_api_version => l_api_version,
87 p_init_msg_list => p_init_msg_list,
88 p_validation_level => p_validation_level,
89 x_return_status => l_return_status,
90 x_msg_count => x_msg_count,
91 x_msg_data => x_msg_data,
92 p_geo_area_rec => l_geo_area_rec
93 );
94
95 IF l_return_status = FND_API.g_ret_sts_error THEN
96 RAISE FND_API.g_exc_error;
97 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
98 RAISE FND_API.g_exc_unexpected_error;
99 END IF;
100 END IF;
101
102 -- insert
103 IF (AMS_DEBUG_HIGH_ON) THEN
104
105 AMS_Utility_PVT.debug_message(l_full_name || ': insert');
106 END IF;
107
108 IF l_geo_area_rec.activity_geo_area_id IS NULL THEN
109 LOOP
110 OPEN c_geo_area_seq;
111 FETCH c_geo_area_seq INTO l_geo_area_rec.activity_geo_area_id;
112 CLOSE c_geo_area_seq;
113
114 OPEN c_geo_area_count(l_geo_area_rec.activity_geo_area_id);
115 FETCH c_geo_area_count INTO l_geo_area_count;
116 CLOSE c_geo_area_count;
117
118 EXIT WHEN l_geo_area_count = 0;
119 END LOOP;
120 END IF;
121
122 INSERT INTO AMS_ACT_GEO_AREAS
123 (
124 activity_geo_area_id,
125 last_update_date,
126 last_updated_by,
127 creation_date,
128 created_by,
129 last_update_login,
130 object_version_number,
131 act_geo_area_used_by_id,
132 arc_act_geo_area_used_by,
133 geo_area_type_code,
134 geo_hierarchy_id,
135 attribute_category,
136 attribute1,
137 attribute2,
138 attribute3,
139 attribute4,
140 attribute5,
141 attribute6,
142 attribute7,
143 attribute8,
144 attribute9,
145 attribute10,
146 attribute11,
147 attribute12,
148 attribute13,
149 attribute14,
150 attribute15
151 )
152 VALUES
153 (
154 l_geo_area_rec.activity_geo_area_id,
155 SYSDATE,
156 FND_GLOBAL.user_id,
157 SYSDATE,
158 FND_GLOBAL.user_id,
159 FND_GLOBAL.conc_login_id,
160 1,
161 l_geo_area_rec.act_geo_area_used_by_id,
162 l_geo_area_rec.arc_act_geo_area_used_by,
163 l_geo_area_rec.geo_area_type_code,
164 l_geo_area_rec.geo_hierarchy_id,
165 l_geo_area_rec.attribute_category,
166 l_geo_area_rec.attribute1,
167 l_geo_area_rec.attribute2,
168 l_geo_area_rec.attribute3,
169 l_geo_area_rec.attribute4,
170 l_geo_area_rec.attribute5,
171 l_geo_area_rec.attribute6,
172 l_geo_area_rec.attribute7,
173 l_geo_area_rec.attribute8,
174 l_geo_area_rec.attribute9,
175 l_geo_area_rec.attribute10,
176 l_geo_area_rec.attribute11,
177 l_geo_area_rec.attribute12,
178 l_geo_area_rec.attribute13,
179 l_geo_area_rec.attribute14,
180 l_geo_area_rec.attribute15
181 );
182
183 -- added by julou on 03/07/2000
184 -- indicate offer has been defined for the campaign
185 -- commented out by soagrawa on 24-May-2001
186 /* AMS_ObjectAttribute_PVT.modify_object_attribute(
187 p_api_version => l_api_version,
188 p_init_msg_list => FND_API.g_false,
189 p_commit => FND_API.g_false,
190 p_validation_level => FND_API.g_valid_level_full,
191
192 x_return_status => l_return_status,
193 x_msg_count => x_msg_count,
194 x_msg_data => x_msg_data,
195
196 p_object_type => l_geo_area_rec.arc_act_geo_area_used_by,
197 p_object_id => l_geo_area_rec.act_geo_area_used_by_id,
198 p_attr => 'GEOS',
199 p_attr_defined_flag => 'Y'
200 );
201
202 IF l_return_status = FND_API.g_ret_sts_error THEN
203 RAISE FND_API.g_exc_error;
204 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
205 RAISE FND_API.g_exc_unexpected_error;
206 END IF;
207 -- end of added part
208 */
209 -- finish
210 x_geo_area_id := l_geo_area_rec.activity_geo_area_id;
211
212 IF FND_API.to_boolean(p_commit) THEN
213 COMMIT;
214 END IF;
215
216 FND_MSG_PUB.count_and_get
217 (
218 p_encoded => FND_API.g_false,
219 p_count => x_msg_count,
220 p_data => x_msg_data
221 );
222
223 IF (AMS_DEBUG_HIGH_ON) THEN
224
225
226
227 AMS_Utility_PVT.debug_message(l_full_name||': end');
228
229 END IF;
230
231 EXCEPTION
232
233 WHEN FND_API.g_exc_error THEN
234 ROLLBACK TO create_geo_area;
235 x_return_status := FND_API.g_ret_sts_error;
236 FND_MSG_PUB.count_and_get
237 (
238 p_encoded => FND_API.g_false,
239 p_count => x_msg_count,
240 p_data => x_msg_data
241 );
242
243 WHEN FND_API.g_exc_unexpected_error THEN
244 ROLLBACK TO create_geo_area;
245 x_return_status := FND_API.g_ret_sts_unexp_error;
246 FND_MSG_PUB.count_and_get
247 (
248 p_encoded => FND_API.g_false,
249 p_count => x_msg_count,
250 p_data => x_msg_data
251 );
252
253 WHEN OTHERS THEN
254 ROLLBACK TO create_geo_area;
255 x_return_status :=FND_API.g_ret_sts_unexp_error;
256 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
257 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
258 END IF;
259 FND_MSG_PUB.count_and_get
260 (
261 p_encoded => FND_API.g_false,
262 p_count => x_msg_count,
263 p_data => x_msg_data
264 );
265
266 END create_geo_area;
267
268
269 /*****************************************************************************/
270 -- Procedure: update_geo_area
271 --
272 -- History
273 -- 12/3/1999 julou created
274 -------------------------------------------------------------------------------
275 PROCEDURE update_geo_area
276 (
277 p_api_version IN NUMBER,
278 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
279 p_commit IN VARCHAR2 := FND_API.g_false,
280 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
281 x_return_status OUT NOCOPY VARCHAR2,
282 x_msg_count OUT NOCOPY NUMBER,
283 x_msg_data OUT NOCOPY VARCHAR2,
284
285 p_geo_area_rec IN geo_area_rec_type
286 )
287 IS
288
289 l_api_version CONSTANT NUMBER := 1.0;
290 l_api_name CONSTANT VARCHAR2(30) := 'update_geo_area';
291 l_full_name CONSTANT VARCHAR2(60) := g_pkg_name || '.' || l_api_name;
292 l_return_status VARCHAR2(1);
293 l_geo_area_rec geo_area_rec_type := p_geo_area_rec;
294
295 BEGIN
296
297 -- initialize
298 SAVEPOINT update_geo_area;
299
300 IF FND_API.to_boolean(p_init_msg_list) THEN
301 FND_MSG_PUB.initialize;
302 END IF;
303
304 IF (AMS_DEBUG_HIGH_ON) THEN
305
306
307
308 AMS_Utility_PVT.debug_message(l_full_name || ': start');
309
310 END IF;
311
312 IF NOT FND_API.compatible_api_call
313 (
314 l_api_version,
315 p_api_version,
316 l_api_name,
317 g_pkg_name
318 )
319 THEN
320 RAISE FND_API.g_exc_unexpected_error;
321 END IF;
322
323 x_return_status := FND_API.g_ret_sts_success;
324
325 -- complete record
326 complete_geo_area_rec
327 (
328 p_geo_area_rec,
329 l_geo_area_rec
330 );
331 -- validate
332 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
333 IF (AMS_DEBUG_HIGH_ON) THEN
334
335 AMS_Utility_PVT.debug_message(l_full_name || ': validate'||l_geo_area_rec.object_version_number);
336 END IF;
337
338 check_items
339 (
340 p_validation_mode => JTF_PLSQL_API.g_update,
341 x_return_status => l_return_status,
342 p_geo_area_rec => l_geo_area_rec
343 );
344
345 IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
346 RAISE FND_API.g_exc_unexpected_error;
347 ELSIF l_return_status = FND_API.g_ret_sts_error THEN
348 RAISE FND_API.g_exc_error;
349 END IF;
350 END IF;
351
352 -- update
353 IF (AMS_DEBUG_HIGH_ON) THEN
354
355 AMS_Utility_PVT.debug_message(l_full_name||': update');
356 END IF;
357
358 UPDATE AMS_ACT_GEO_AREAS SET
359 last_update_date = SYSDATE,
360 last_updated_by = FND_GLOBAL.user_id,
361 last_update_login = FND_GLOBAL.conc_login_id,
362 object_version_number = l_geo_area_rec.object_version_number + 1,
363 act_geo_area_used_by_id = l_geo_area_rec.act_geo_area_used_by_id,
364 arc_act_geo_area_used_by = l_geo_area_rec.arc_act_geo_area_used_by,
365 geo_area_type_code = l_geo_area_rec.geo_area_type_code,
366 geo_hierarchy_id = l_geo_area_rec.geo_hierarchy_id,
367 attribute_category = l_geo_area_rec.attribute_category,
368 attribute1 = l_geo_area_rec.attribute1,
369 attribute2 = l_geo_area_rec.attribute2,
370 attribute3 = l_geo_area_rec.attribute3,
371 attribute4 = l_geo_area_rec.attribute4,
372 attribute5 = l_geo_area_rec.attribute5,
373 attribute6 = l_geo_area_rec.attribute6,
374 attribute7 = l_geo_area_rec.attribute7,
375 attribute8 = l_geo_area_rec.attribute8,
376 attribute9 = l_geo_area_rec.attribute9,
377 attribute10 = l_geo_area_rec.attribute10,
378 attribute11 = l_geo_area_rec.attribute11,
379 attribute12 = l_geo_area_rec.attribute12,
380 attribute13 = l_geo_area_rec.attribute13,
381 attribute14 = l_geo_area_rec.attribute14,
382 attribute15 = l_geo_area_rec.attribute15
383 WHERE activity_geo_area_id = l_geo_area_rec.activity_geo_area_id
384 AND object_version_number = l_geo_area_rec.object_version_number;
385
386 IF (SQL%NOTFOUND) THEN
387 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
388 FND_MESSAGE.set_name('AMS', 'AMS_API_RECORD_NOT_FOUND');
389 FND_MSG_PUB.add;
390 END IF;
391 RAISE FND_API.g_exc_error;
392 END IF;
393
394 -- finish
395 IF FND_API.to_boolean(p_commit) THEN
396 COMMIT;
397 END IF;
398
399 FND_MSG_PUB.count_and_get
400 (
401 P_ENCODED => FND_API.g_false,
402 p_count => x_msg_count,
403 p_data => x_msg_data
404 );
405
406 IF (AMS_DEBUG_HIGH_ON) THEN
407
408
409
410 AMS_Utility_PVT.debug_message(l_full_name || ': end');
411
412 END IF;
413
414 EXCEPTION
415
416 WHEN FND_API.g_exc_error THEN
417 ROLLBACK TO update_geo_area;
418 x_return_status := FND_API.g_ret_sts_error;
419 FND_MSG_PUB.count_and_get
420 (
421 p_encoded => FND_API.g_false,
422 p_count => x_msg_count,
423 p_data => x_msg_data
424 );
425
426 WHEN FND_API.g_exc_unexpected_error THEN
427 ROLLBACK TO update_geo_area;
428 x_return_status := FND_API.g_ret_sts_unexp_error;
429 FND_MSG_PUB.count_and_get
430 (
431 p_encoded => FND_API.g_false,
432 p_count => x_msg_count,
433 p_data => x_msg_data
434 );
435
436 WHEN OTHERS THEN
437 ROLLBACK TO update_geo_area;
438 x_return_status :=FND_API.g_ret_sts_unexp_error;
439 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
440 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
441 END IF;
442 FND_MSG_PUB.count_and_get
443 (
444 p_encoded => FND_API.g_false,
445 p_count => x_msg_count,
446 p_data => x_msg_data
447 );
448
449 END update_geo_area;
450
451
452 /*****************************************************************************/
453 -- Procedure: delete_geo_area
454 --
455 -- History
456 -- 12/3/1999 julou created
457 -------------------------------------------------------------------------------
458 PROCEDURE delete_geo_area
459 (
460 p_api_version IN NUMBER,
461 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
462 p_commit IN VARCHAR2 := FND_API.g_false,
463
464 x_return_status OUT NOCOPY VARCHAR2,
465 x_msg_count OUT NOCOPY NUMBER,
466 x_msg_data OUT NOCOPY VARCHAR2,
467
468 p_geo_area_id IN NUMBER,
469 p_object_version IN NUMBER
473 l_api_version CONSTANT NUMBER := 1.0;
470 )
471 IS
472
474 l_api_name CONSTANT VARCHAR2(30) := 'delete_geo_area';
475 l_full_name CONSTANT VARCHAR2(60) := g_pkg_name || '.' || l_api_name;
476 l_used_by_id NUMBER;
477 l_used_by VARCHAR2(30);
478 l_dummy NUMBER;
479
480 CURSOR c_used_by IS
481 SELECT act_geo_area_used_by_id, arc_act_geo_area_used_by
482 FROM ams_act_geo_areas
483 WHERE activity_geo_area_id = p_geo_area_id;
484
485 CURSOR c_geo IS
486 SELECT 1
487 FROM ams_act_geo_areas
488 WHERE act_geo_area_used_by_id = l_used_by_id
489 AND arc_act_geo_area_used_by = l_used_by;
490
491 BEGIN
492 -- initialize
493 SAVEPOINT delete_geo_area;
494
495 IF (AMS_DEBUG_HIGH_ON) THEN
496
497
498
499 AMS_Utility_PVT.debug_message(l_full_name || ': start');
500
501 END IF;
502
503 IF FND_API.to_boolean(p_init_msg_list) THEN
504 FND_MSG_PUB.initialize;
505 END IF;
506
507 IF NOT FND_API.compatible_api_call
508 (
509 l_api_version,
510 p_api_version,
511 l_api_name,
512 g_pkg_name
513 )
514 THEN
515 RAISE FND_API.g_exc_unexpected_error;
516 END IF;
517
518 x_return_status := FND_API.g_ret_sts_success;
519
520 OPEN c_used_by;
521 FETCH c_used_by INTO l_used_by_id, l_used_by;
522 CLOSE c_used_by;
523
524 -- delete
525 IF (AMS_DEBUG_HIGH_ON) THEN
526
527 AMS_Utility_PVT.debug_message(l_full_name || ': delete');
528 END IF;
529
530 DELETE FROM AMS_ACT_GEO_AREAS
531 WHERE activity_geo_area_id = p_geo_area_id
532 AND object_version_number = p_object_version;
533
534 IF (SQL%NOTFOUND) THEN
535 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
536 FND_MESSAGE.set_name('AMS', 'AMS_API_RECORD_NOT_FOUND');
537 FND_MSG_PUB.add;
538 END IF;
539 RAISE FND_API.g_exc_error;
540 END IF;
541
542 -- added by julou on 03/07/2000
543 -- indicate if there is any other geo areas for this campaign
544 OPEN c_geo;
545 FETCH c_geo INTO l_dummy;
546 CLOSE c_geo;
547
548 --commented OUT NOCOPY by soagrawa 24-May-2001
549 /*
550 IF l_dummy IS NULL THEN
551 AMS_ObjectAttribute_PVT.modify_object_attribute(
552 p_api_version => l_api_version,
553 p_init_msg_list => FND_API.g_false,
554 p_commit => FND_API.g_false,
555 p_validation_level => FND_API.g_valid_level_full,
556
557 x_return_status => x_return_status,
558 x_msg_count => x_msg_count,
559 x_msg_data => x_msg_data,
560
561 p_object_type => l_used_by,
562 p_object_id => l_used_by_id,
563 p_attr => 'GEOS',
564 p_attr_defined_flag => 'N'
565 );
566
567 IF x_return_status = FND_API.g_ret_sts_error THEN
568 RAISE FND_API.g_exc_error;
569 ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
570 RAISE FND_API.g_exc_unexpected_error;
571 END IF;
572 END IF;
573 */
574 -- end of added part
575
576 -- finish
577 IF FND_API.to_boolean(p_commit) THEN
578 COMMIT;
579 END IF;
580
581 FND_MSG_PUB.count_and_get
582 (
583 P_ENCODED => FND_API.g_false,
584 p_count => x_msg_count,
585 p_data => x_msg_data
586 );
587
588 IF (AMS_DEBUG_HIGH_ON) THEN
589
590
591
592 AMS_Utility_PVT.debug_message(l_full_name || ': end');
593
594 END IF;
595
596 EXCEPTION
597
598 WHEN FND_API.g_exc_error THEN
599 ROLLBACK TO delete_geo_area;
600 x_return_status := FND_API.g_ret_sts_error;
601 FND_MSG_PUB.count_and_get
602 (
603 p_encoded => FND_API.g_false,
604 p_count => x_msg_count,
605 p_data => x_msg_data
606 );
607
608 WHEN FND_API.g_exc_unexpected_error THEN
609 ROLLBACK TO delete_geo_area;
610 x_return_status := FND_API.g_ret_sts_unexp_error;
611 FND_MSG_PUB.count_and_get
612 (
613 p_encoded => FND_API.g_false,
614 p_count => x_msg_count,
615 p_data => x_msg_data
616 );
617
618 WHEN OTHERS THEN
619 ROLLBACK TO delete_geo_area;
620 x_return_status :=FND_API.g_ret_sts_unexp_error;
621 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
622 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
623 END IF;
624 FND_MSG_PUB.count_and_get
625 (
626 p_encoded => FND_API.g_false,
627 p_count => x_msg_count,
628 p_data => x_msg_data
629 );
630
631 END delete_geo_area;
632
633
634 /*****************************************************************************/
635 -- Procedure: lock_geo_area
636 --
640 PROCEDURE lock_geo_area
637 -- History
638 -- 12/3/1999 julou created
639 -------------------------------------------------------------------------------
641 (
642 p_api_version IN NUMBER,
643 P_init_msg_list IN VARCHAR2 := FND_API.g_false,
644
645 x_return_status OUT NOCOPY VARCHAR2,
646 x_msg_count OUT NOCOPY NUMBER,
647 x_msg_data OUT NOCOPY VARCHAR2,
648
649 p_geo_area_id IN NUMBER,
650 p_object_version IN NUMBER
651 )
652 IS
653
654 l_api_version CONSTANT NUMBER := 1.0;
655 l_api_name CONSTANT VARCHAR2(30) := 'lock_geo_area';
656 l_full_name CONSTANT VARCHAR2(60) := g_pkg_name || '.' || l_api_name;
657 l_geo_area_id NUMBER;
658
659 CURSOR c_geo_area IS
660 SELECT activity_geo_area_id
661 FROM AMS_ACT_GEO_AREAS
662 WHERE activity_geo_area_id = p_geo_area_id
663 AND object_version_number = p_object_version
664 FOR UPDATE OF activity_geo_area_id NOWAIT;
665
666 BEGIN
667 -- initialize
668 IF (AMS_DEBUG_HIGH_ON) THEN
669
670 AMS_Utility_PVT.debug_message(l_full_name || ': start');
671 END IF;
672
673 IF FND_API.to_boolean(p_init_msg_list) THEN
674 FND_MSG_PUB.initialize;
675 END IF;
676
677 IF NOT FND_API.compatible_api_call
678 (
679 l_api_version,
680 p_api_version,
681 l_api_name,
682 g_pkg_name
683 )
684 THEN
685 RAISE FND_API.g_exc_unexpected_error;
686 END IF;
687
688 x_return_status := FND_API.g_ret_sts_success;
689
690 -- lock
691 IF (AMS_DEBUG_HIGH_ON) THEN
692
693 AMS_Utility_PVT.debug_message(l_full_name || ': lock');
694 END IF;
695
696 OPEN c_geo_area;
697 FETCH c_geo_area INTO l_geo_area_id;
698 IF (c_geo_area%NOTFOUND) THEN
699 CLOSE c_geo_area;
700 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
701 FND_MESSAGE.set_name('AMS', 'AMS_API_RECORD_NOT_FOUND');
702 FND_MSG_PUB.add;
703 END IF;
704 RAISE FND_API.g_exc_error;
705 END IF;
706 CLOSE c_geo_area;
707
708 -- finish
709 FND_MSG_PUB.count_and_get
710 (
711 p_encoded => FND_API.g_false,
712 p_count => x_msg_count,
713 p_data => x_msg_data
714 );
715
716 IF (AMS_DEBUG_HIGH_ON) THEN
717
718
719
720 AMS_Utility_PVT.debug_message(l_full_name || ': end');
721
722 END IF;
723
724 EXCEPTION
725
726 WHEN AMS_Utility_PVT.resource_locked THEN
727 x_return_status := FND_API.g_ret_sts_error;
728 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
729 FND_MESSAGE.set_name('AMS', 'AMS_API_RESOURCE_LOCKED');
730 FND_MSG_PUB.add;
731 END IF;
732 FND_MSG_PUB.count_and_get
733 (
734 p_encoded => FND_API.g_false,
735 p_count => x_msg_count,
736 p_data => x_msg_data
737 );
738
739 WHEN FND_API.g_exc_error THEN
740 x_return_status := FND_API.g_ret_sts_error;
741 FND_MSG_PUB.count_and_get
742 (
743 p_encoded => FND_API.g_false,
744 p_count => x_msg_count,
745 p_data => x_msg_data
746 );
747
748 WHEN FND_API.g_exc_unexpected_error THEN
749 x_return_status := FND_API.g_ret_sts_unexp_error;
750 FND_MSG_PUB.count_and_get
751 (
752 p_encoded => FND_API.g_false,
753 p_count => x_msg_count,
754 p_data => x_msg_data
755 );
756
757 WHEN OTHERS THEN
758 x_return_status :=FND_API.g_ret_sts_unexp_error;
759 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
760 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
761 END IF;
762 FND_MSG_PUB.count_and_get
763 (
764 p_encoded => FND_API.g_false,
765 p_count => x_msg_count,
766 p_data => x_msg_data
767 );
768
769 END lock_geo_area;
770
771
772 /*****************************************************************************/
773 -- PROCEDURE
774 -- validate_geo_area
775 --
776 -- HISTORY
777 -- 12/19/1999 julou Created.
778 --------------------------------------------------------------------
779 PROCEDURE validate_geo_area
780 (
781 p_api_version IN NUMBER,
782 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
783 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
784
785 x_return_status OUT NOCOPY VARCHAR2,
786 x_msg_count OUT NOCOPY NUMBER,
787 x_msg_data OUT NOCOPY VARCHAR2,
788
789 p_geo_area_rec IN geo_area_rec_type
790 )
791 IS
792
793 l_api_version CONSTANT NUMBER := 1.0;
794 l_api_name CONSTANT VARCHAR2(30) := 'validate_geo_area';
795 l_full_name CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
796
797 l_return_status VARCHAR2(1);
801 ----------------------- initialize --------------------
798
799 BEGIN
800
802 IF (AMS_DEBUG_HIGH_ON) THEN
803
804 AMS_Utility_PVT.debug_message(l_full_name||': start');
805 END IF;
806
807 -- IF FND_API.to_boolean(p_init_msg_list) THEN
808 -- FND_MSG_PUB.initialize;
809 -- END IF;
810
811 IF NOT FND_API.compatible_api_call(
812 l_api_version,
813 p_api_version,
814 l_api_name,
815 g_pkg_name
816 ) THEN
817 RAISE FND_API.g_exc_unexpected_error;
818 END IF;
819
820 x_return_status := FND_API.g_ret_sts_success;
821
822 ---------------------- validate ------------------------
823 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
824 IF (AMS_DEBUG_HIGH_ON) THEN
825
826 AMS_Utility_PVT.debug_message(l_full_name||': check items');
827 END IF;
828 check_items
829 (
830 p_validation_mode => JTF_PLSQL_API.g_create,
831 x_return_status => l_return_status,
832 p_geo_area_rec => p_geo_area_rec
833 );
834
835 IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
836 RAISE FND_API.g_exc_unexpected_error;
837 ELSIF l_return_status = FND_API.g_ret_sts_error THEN
838 RAISE FND_API.g_exc_error;
839 END IF;
840 END IF;
841
842 -------------------- finish --------------------------
843 FND_MSG_PUB.count_and_get(
844 p_encoded => FND_API.g_false,
845 p_count => x_msg_count,
846 p_data => x_msg_data
847 );
848
849 IF (AMS_DEBUG_HIGH_ON) THEN
850
851
852
853 AMS_Utility_PVT.debug_message(l_full_name ||': end');
854
855 END IF;
856
857 EXCEPTION
858 WHEN FND_API.g_exc_error THEN
859 x_return_status := FND_API.g_ret_sts_error;
860 FND_MSG_PUB.count_and_get
861 (
862 p_encoded => FND_API.g_false,
863 p_count => x_msg_count,
864 p_data => x_msg_data
865 );
866
867 WHEN FND_API.g_exc_unexpected_error THEN
868 x_return_status := FND_API.g_ret_sts_unexp_error ;
869 FND_MSG_PUB.count_and_get
870 (
871 p_encoded => FND_API.g_false,
872 p_count => x_msg_count,
873 p_data => x_msg_data
874 );
875
876 WHEN OTHERS THEN
877 x_return_status := FND_API.g_ret_sts_unexp_error;
878 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
879 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
880 END IF;
881
882 FND_MSG_PUB.count_and_get
883 (
884 p_encoded => FND_API.g_false,
885 p_count => x_msg_count,
886 p_data => x_msg_data
887 );
888
889 END validate_geo_area;
890
891 /*****************************************************************************/
892 -- Procedure: check_items
893 --
894 -- History
895 -- 12/19/1999 julou created
896 -------------------------------------------------------------------------------
897 PROCEDURE check_items
898 (
899 p_validation_mode IN VARCHAR2,
900 x_return_status OUT NOCOPY VARCHAR2,
901 p_geo_area_rec IN geo_area_rec_type
902 )
903 IS
904
905 l_api_version CONSTANT NUMBER := 1.0;
906 l_api_name CONSTANT VARCHAR2(30) := 'check_items';
907 l_full_name CONSTANT VARCHAR2(60) := g_pkg_name || '.' || l_api_name;
908
909 BEGIN
910 -- initialize
911 IF (AMS_DEBUG_HIGH_ON) THEN
912
913 AMS_Utility_PVT.debug_message(l_full_name || ': start');
914 END IF;
915
916 x_return_status := FND_API.g_ret_sts_success;
917
918 -- check required items
919 IF (AMS_DEBUG_HIGH_ON) THEN
920
921 AMS_Utility_PVT.debug_message(l_full_name || ': check required items');
922 END IF;
923 check_geo_area_req_items
924 (
925 p_validation_mode => p_validation_mode,
926 p_geo_area_rec => p_geo_area_rec,
927 x_return_status => x_return_status
928 );
929
930 IF x_return_status <> FND_API.g_ret_sts_success THEN
931 RETURN;
932 END IF;
933
934 -- check unique key items
935 IF (AMS_DEBUG_HIGH_ON) THEN
936
937 AMS_Utility_PVT.debug_message(l_full_name || ': check uk items');
938 END IF;
939 check_geo_area_uk_items
940 (
941 p_validation_mode => p_validation_mode,
942 p_geo_area_rec => p_geo_area_rec,
943 x_return_status => x_return_status
944 );
945
946 IF x_return_status <> FND_API.g_ret_sts_success THEN
947 RETURN;
948 END IF;
949
950 -- check foreign key items
951 IF (AMS_DEBUG_HIGH_ON) THEN
952
953 AMS_Utility_PVT.debug_message(l_full_name || ': check fk items');
954 END IF;
955 check_geo_area_fk_items
956 (
957 p_geo_area_rec => p_geo_area_rec,
958 x_return_status => x_return_status
962 RETURN;
959 );
960
961 IF x_return_status <> FND_API.g_ret_sts_success THEN
963 END IF;
964
965 END check_items;
966
967
968 /*****************************************************************************/
969 -- Procedure: check_geo_area_req_items
970 --
971 -- History
972 -- 12/3/1999 julou created
973 -------------------------------------------------------------------------------
974 PROCEDURE check_geo_area_req_items
975 (
976 p_validation_mode IN VARCHAR2,
977 p_geo_area_rec IN geo_area_rec_type,
978 x_return_status OUT NOCOPY VARCHAR2
979 )
980 IS
981
982 BEGIN
983
984 x_return_status := FND_API.g_ret_sts_success;
985
986 -- check activity_geo_area_id
987 IF p_geo_area_rec.activity_geo_area_id IS NULL
988 AND p_validation_mode = JTF_PLSQL_API.g_update THEN
989 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
990 FND_MESSAGE.set_name('AMS', 'AMS_GEO_NO_ACT_AREA_ID');
991 FND_MSG_PUB.add;
992 END IF;
993
994 x_return_status := FND_API.g_ret_sts_error;
995 RETURN;
996 END IF;
997
998 -- check object_version_number
999 IF p_geo_area_rec.object_version_number IS NULL
1000 AND p_validation_mode = JTF_PLSQL_API.g_update
1001 THEN
1002 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1003 FND_MESSAGE.set_name('AMS', 'AMS_API_NO_OBJ_VER_NUM');
1004 FND_MSG_PUB.add;
1005 END IF;
1006
1007 x_return_status := FND_API.g_ret_sts_error;
1008 RETURN;
1009 END IF;
1010
1011 -- check act_geo_area_used_by_id
1012 IF p_geo_area_rec.act_geo_area_used_by_id IS NULL THEN
1013 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1014 FND_MESSAGE.set_name('AMS', 'AMS_GEO_NO_AREA_USED_BY_ID');
1015 FND_MSG_PUB.add;
1016 END IF;
1017
1018 x_return_status := FND_API.g_ret_sts_error;
1019 RETURN;
1020 END IF;
1021
1022 -- check arc_act_geo_area_used_by
1023 IF p_geo_area_rec.arc_act_geo_area_used_by IS NULL THEN
1024 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1025 FND_MESSAGE.set_name('AMS', 'AMS_GEO_NO_AREA_USED_BY');
1026 FND_MSG_PUB.add;
1027 END IF;
1028
1029 x_return_status := FND_API.g_ret_sts_error;
1030 RETURN;
1031 END IF;
1032
1033 -- commented out by soagrawa on 29-Jun-2001
1034 -- IF p_geo_area_rec.arc_act_geo_area_used_by NOT IN ('CAMP','ECAM','RCAM') THEN
1035 -- IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1036 -- FND_MESSAGE.set_name('AMS', 'AMS_GEO_BAD_AREA_USED_BY');
1037 -- FND_MSG_PUB.add;
1038 -- END IF;
1039
1040 -- x_return_status := FND_API.g_ret_sts_error;
1041 -- RETURN;
1042 -- END IF;
1043
1044 -- check geo_area_type_code
1045 IF p_geo_area_rec.geo_area_type_code IS NULL THEN
1046 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1047 FND_MESSAGE.set_name('AMS', 'AMS_GEO_NO_AREA_TYPE_CODE');
1048 FND_MSG_PUB.add;
1049 END IF;
1050
1051 x_return_status := FND_API.g_ret_sts_error;
1052 RETURN;
1053 END IF;
1054
1055 -- check geo_hierarchy_id
1056 IF p_geo_area_rec.geo_hierarchy_id IS NULL THEN
1057 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1058 FND_MESSAGE.set_name('AMS', 'AMS_GEO_NO_HIERARCHY_ID');
1059 FND_MSG_PUB.add;
1060 END IF;
1061
1062 x_return_status := FND_API.g_ret_sts_error;
1063 RETURN;
1064 END IF;
1065
1066 END check_geo_area_req_items;
1067
1068
1069 /*****************************************************************************/
1070 -- Procedure: check_geo_area_uk_items
1071 --
1072 -- History
1073 -- 12/3/1999 julou created
1074 -------------------------------------------------------------------------------
1075 PROCEDURE check_geo_area_uk_items
1076 (
1077 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
1078 p_geo_area_rec IN geo_area_rec_type,
1079 x_return_status OUT NOCOPY VARCHAR2
1080 )
1081 IS
1082
1083 l_uk_flag VARCHAR2(1);
1084
1085 BEGIN
1086
1087 x_return_status := FND_API.g_ret_sts_success;
1088
1089 -- check PK, if activity_geo_area_id is passed in, must check if it is duplicate
1090 IF p_validation_mode = JTF_PLSQL_API.g_create
1091 AND p_geo_area_rec.activity_geo_area_id IS NOT NULL
1092 THEN
1093 l_uk_flag := AMS_Utility_PVT.check_uniqueness
1094 (
1095 'AMS_ACT_GEO_AREAS',
1096 'activity_geo_area_id = ' || p_geo_area_rec.activity_geo_area_id
1097 );
1098 END IF;
1099
1100 IF l_uk_flag = FND_API.g_false THEN
1101 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1102 FND_MESSAGE.set_name('AMS', 'AMS_ACT_GEO_AREAS_DUP_ID');
1103 FND_MSG_PUB.add;
1104 END IF;
1105
1106 x_return_status := FND_API.g_ret_sts_error;
1107 RETURN;
1108 END IF;
1109
1110 -- check used_by, used_by_id
1111 IF p_geo_area_rec.activity_geo_area_id IS NOT NULL THEN -- UPDATE RECORD
1112
1116 'activity_geo_area_id <> ' || p_geo_area_rec.activity_geo_area_id
1113 l_uk_flag := AMS_Utility_PVT.check_uniqueness
1114 (
1115 'AMS_ACT_GEO_AREAS',
1117 || ' AND geo_hierarchy_id = ' || p_geo_area_rec.geo_hierarchy_id
1118 || ' AND act_geo_area_used_by_id = ' || p_geo_area_rec.act_geo_area_used_by_id
1119 || ' AND arc_act_geo_area_used_by = ''' || p_geo_area_rec.arc_act_geo_area_used_by || ''''
1120 );
1121 ELSE -- NEW RECORD
1122 l_uk_flag := AMS_Utility_PVT.check_uniqueness
1123 (
1124 'AMS_ACT_GEO_AREAS',
1125 'act_geo_area_used_by_id = ' || p_geo_area_rec.act_geo_area_used_by_id
1126 || ' AND geo_hierarchy_id = ' || p_geo_area_rec.geo_hierarchy_id
1127 || ' AND arc_act_geo_area_used_by = ''' || p_geo_area_rec.arc_act_geo_area_used_by || ''''
1128 );
1129 END IF;
1130
1131 IF l_uk_flag = FND_API.g_false THEN
1132 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1133 FND_MESSAGE.set_name('AMS', 'AMS_GEO_DUP_USED_BY_AND_ID');
1134 FND_MSG_PUB.add;
1135 END IF;
1136
1137 x_return_status := FND_API.g_ret_sts_error;
1138 RETURN;
1139 END IF;
1140
1141 END check_geo_area_uk_items;
1142
1143
1144 /*****************************************************************************/
1145 -- Procedure: check_geo_area_fk_items
1146 --
1147 -- History
1148 -- 12/3/1999 julou created
1149 -------------------------------------------------------------------------------
1150 PROCEDURE check_geo_area_fk_items
1151 (
1152 p_geo_area_rec IN geo_area_rec_type,
1153 x_return_status OUT NOCOPY VARCHAR2
1154 )
1155 IS
1156
1157 l_fk_flag VARCHAR2(1);
1158 l_table_name VARCHAR2(30);
1159 l_pk_name VARCHAR2(30);
1160 l_pk_value VARCHAR2(30);
1161 l_additional_where_clause VARCHAR2(4000); -- Used by Check_FK_Exists.
1162 l_pk_data_type VARCHAR2(30);
1163 BEGIN
1164
1165 x_return_status := FND_API.g_ret_sts_success;
1166
1167
1168
1169 -- check act_geo_area_used_by_id
1170
1171 --modified by soagrawa on 29-Jun-2001
1172 /*****
1173 l_fk_flag := AMS_Utility_PVT.check_fk_exists
1174 (
1175 'AMS_CAMPAIGNS_VL',
1176 'campaign_id',
1177 p_geo_area_rec.act_geo_area_used_by_id
1178 );
1179 ***************/
1180
1181 /*********************** CODE COMMENTED BY ABHOLA **********************************
1182 -- 22 - APR - 02
1183 --
1184
1185 AMS_Utility_PVT.Get_Qual_Table_Name_And_PK (
1186 p_sys_qual => p_geo_area_rec.arc_act_geo_area_used_by,
1187 x_return_status => x_return_status,
1188 x_table_name => l_table_name,
1189 x_pk_name => l_pk_name
1190 );
1191
1192 l_pk_value := p_geo_area_rec.act_geo_area_used_by_id;
1193 l_pk_data_type := AMS_Utility_PVT.G_NUMBER;
1194 l_additional_where_clause := NULL;
1195
1196 l_fk_flag := AMS_Utility_PVT.Check_FK_Exists (
1197 p_table_name => l_table_name
1198 ,p_pk_name => l_pk_name
1199 ,p_pk_value => l_pk_value
1200 ,p_pk_data_type => l_pk_data_type
1201 ,p_additional_where_clause => l_additional_where_clause
1202 );
1203
1204 -- end soagrawa
1205
1206 IF l_fk_flag = FND_API.g_false THEN
1207 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1208 FND_MESSAGE.set_name('AMS', 'AMS_GEO_BAD_AREA_USED_BY_ID');
1209 FND_MSG_PUB.add;
1210 END IF;
1211
1212 x_return_status := FND_API.g_ret_sts_error;
1213 RETURN;
1214 END IF;
1215
1216
1217 ************************************************************************************/
1218
1219 -- check geo_area_type_code
1220 l_fk_flag := AMS_Utility_PVT.check_fk_exists
1221 (
1222 'JTF_LOC_TYPES_VL',
1223 'location_type_code',
1224 p_geo_area_rec.geo_area_type_code,
1225 2 --varchar2 types
1226 );
1227
1228 IF l_fk_flag = FND_API.g_false THEN
1229 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1230 FND_MESSAGE.set_name('AMS', 'AMS_GEO_BAD_AREA_TYPE_CODE');
1231 FND_MSG_PUB.add;
1232 END IF;
1233
1234 x_return_status := FND_API.g_ret_sts_error;
1235 RETURN;
1236 END IF;
1237
1238 -- check geo_hierarchy_id
1239 l_fk_flag := AMS_Utility_PVT.check_fk_exists
1240 (
1241 'JTF_LOC_HIERARCHIES_B',
1242 'location_hierarchy_id',
1243 p_geo_area_rec.geo_hierarchy_id
1244 );
1245
1246 IF l_fk_flag = FND_API.g_false THEN
1250 END IF;
1247 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1248 FND_MESSAGE.set_name('AMS', 'AMS_GEO_BAD_AREA_HIERARCHY_ID');
1249 FND_MSG_PUB.add;
1251
1252 x_return_status := FND_API.g_ret_sts_error;
1253 RETURN;
1254 END IF;
1255
1256 END check_geo_area_fk_items;
1257
1258
1259 /*****************************************************************************/
1260 -- Procedure: complete_geo_area_rec
1261 --
1262 -- History
1263 -- 12/3/1999 julou created
1264 -------------------------------------------------------------------------------
1265 PROCEDURE complete_geo_area_rec
1266 (
1267 p_geo_area_rec IN geo_area_rec_type,
1268 x_complete_rec OUT NOCOPY geo_area_rec_type
1269 )
1270 IS
1271
1272 CURSOR c_geo_area IS
1273 SELECT * FROM AMS_ACT_GEO_AREAS
1274 WHERE activity_geo_area_id = p_geo_area_rec.activity_geo_area_id;
1275
1276 l_geo_area_rec c_geo_area%ROWTYPE;
1277
1278 BEGIN
1279
1280 x_complete_rec := p_geo_area_rec;
1281
1282 OPEN c_geo_area;
1283 FETCH c_geo_area INTO l_geo_area_rec;
1284 IF (c_geo_area%NOTFOUND) THEN
1285 CLOSE c_geo_area;
1286 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1287 FND_MESSAGE.set_name('AMS', 'AMS_API_RECORD_NOT_FOUND');
1288 FND_MSG_PUB.add;
1289 END IF;
1290 RAISE FND_API.g_exc_error;
1291 END IF;
1292 CLOSE c_geo_area;
1293
1294
1295 IF p_geo_area_rec.act_geo_area_used_by_id = FND_API.g_miss_num THEN
1296 x_complete_rec.act_geo_area_used_by_id := l_geo_area_rec.act_geo_area_used_by_id;
1297 END IF;
1298
1299 IF p_geo_area_rec.arc_act_geo_area_used_by = FND_API.g_miss_char THEN
1300 x_complete_rec.arc_act_geo_area_used_by := l_geo_area_rec.arc_act_geo_area_used_by;
1301 END IF;
1302
1303 IF p_geo_area_rec.geo_area_type_code = FND_API.g_miss_char THEN
1304 x_complete_rec.geo_area_type_code := l_geo_area_rec.geo_area_type_code;
1305 END IF;
1306
1307 IF p_geo_area_rec.geo_hierarchy_id = FND_API.g_miss_num THEN
1308 x_complete_rec.geo_hierarchy_id := l_geo_area_rec.geo_hierarchy_id;
1309 END IF;
1310
1311
1312 IF p_geo_area_rec.attribute_category = FND_API.g_miss_char THEN
1313 x_complete_rec.attribute_category := l_geo_area_rec.attribute_category;
1314 END IF;
1315
1316 IF p_geo_area_rec.attribute1 = FND_API.g_miss_char THEN
1317 x_complete_rec.attribute1 := l_geo_area_rec.attribute1;
1318 END IF;
1319
1320 IF p_geo_area_rec.attribute2 = FND_API.g_miss_char THEN
1321 x_complete_rec.attribute2 := l_geo_area_rec.attribute2;
1322 END IF;
1323
1324 IF p_geo_area_rec.attribute3 = FND_API.g_miss_char THEN
1325 x_complete_rec.attribute3 := l_geo_area_rec.attribute3;
1326 END IF;
1327
1328 IF p_geo_area_rec.attribute4 = FND_API.g_miss_char THEN
1329 x_complete_rec.attribute4 := l_geo_area_rec.attribute4;
1330 END IF;
1331
1332 IF p_geo_area_rec.attribute5 = FND_API.g_miss_char THEN
1333 x_complete_rec.attribute5 := l_geo_area_rec.attribute5;
1334 END IF;
1335
1336 IF p_geo_area_rec.attribute6 = FND_API.g_miss_char THEN
1337 x_complete_rec.attribute6 := l_geo_area_rec.attribute6;
1338 END IF;
1339
1340 IF p_geo_area_rec.attribute7 = FND_API.g_miss_char THEN
1341 x_complete_rec.attribute7 := l_geo_area_rec.attribute7;
1342 END IF;
1343
1344 IF p_geo_area_rec.attribute8 = FND_API.g_miss_char THEN
1345 x_complete_rec.attribute8 := l_geo_area_rec.attribute8;
1346 END IF;
1347
1348 IF p_geo_area_rec.attribute9 = FND_API.g_miss_char THEN
1349 x_complete_rec.attribute9 := l_geo_area_rec.attribute9;
1350 END IF;
1351
1352 IF p_geo_area_rec.attribute10 = FND_API.g_miss_char THEN
1353 x_complete_rec.attribute10 := l_geo_area_rec.attribute10;
1354 END IF;
1355
1356 IF p_geo_area_rec.attribute11 = FND_API.g_miss_char THEN
1357 x_complete_rec.attribute11 := l_geo_area_rec.attribute11;
1358 END IF;
1359
1360 IF p_geo_area_rec.attribute12 = FND_API.g_miss_char THEN
1361 x_complete_rec.attribute12 := l_geo_area_rec.attribute12;
1362 END IF;
1363
1364 IF p_geo_area_rec.attribute13 = FND_API.g_miss_char THEN
1365 x_complete_rec.attribute13 := l_geo_area_rec.attribute13;
1366 END IF;
1367
1368 IF p_geo_area_rec.attribute14 = FND_API.g_miss_char THEN
1369 x_complete_rec.attribute14 := l_geo_area_rec.attribute14;
1370 END IF;
1371
1372 IF p_geo_area_rec.attribute15 = FND_API.g_miss_char THEN
1373 x_complete_rec.attribute15 := l_geo_area_rec.attribute15;
1374 END IF;
1375
1376 END complete_geo_area_rec;
1377
1378
1379 /****************************************************************************/
1380 -- Procedure
1381 -- init_rec
1382 --
1383 -- HISTORY
1384 -- 12/19/1999 julou Created.
1385 ------------------------------------------------------------------------------
1386 PROCEDURE init_rec
1387 (
1388 x_geo_area_rec OUT NOCOPY geo_area_rec_type
1389 )
1390 IS
1391
1392 BEGIN
1393
1394 x_geo_area_rec.activity_geo_area_id := FND_API.g_miss_num;
1395 x_geo_area_rec.last_update_date := FND_API.g_miss_date;
1396 x_geo_area_rec.last_updated_by := FND_API.g_miss_num;
1397 x_geo_area_rec.creation_date := FND_API.g_miss_date;
1398 x_geo_area_rec.created_by := FND_API.g_miss_num;
1399 x_geo_area_rec.last_update_login := FND_API.g_miss_num;
1400 x_geo_area_rec.object_version_number := FND_API.g_miss_num;
1401 x_geo_area_rec.act_geo_area_used_by_id := FND_API.g_miss_num;
1402 x_geo_area_rec.arc_act_geo_area_used_by := FND_API.g_miss_char;
1403 x_geo_area_rec.attribute_category := FND_API.g_miss_char;
1407 x_geo_area_rec.attribute4 := FND_API.g_miss_char;
1404 x_geo_area_rec.attribute1 := FND_API.g_miss_char;
1405 x_geo_area_rec.attribute2 := FND_API.g_miss_char;
1406 x_geo_area_rec.attribute3 := FND_API.g_miss_char;
1408 x_geo_area_rec.attribute5 := FND_API.g_miss_char;
1409 x_geo_area_rec.attribute6 := FND_API.g_miss_char;
1410 x_geo_area_rec.attribute7 := FND_API.g_miss_char;
1411 x_geo_area_rec.attribute8 := FND_API.g_miss_char;
1412 x_geo_area_rec.attribute9 := FND_API.g_miss_char;
1413 x_geo_area_rec.attribute10 := FND_API.g_miss_char;
1414 x_geo_area_rec.attribute11 := FND_API.g_miss_char;
1415 x_geo_area_rec.attribute12 := FND_API.g_miss_char;
1416 x_geo_area_rec.attribute13 := FND_API.g_miss_char;
1417 x_geo_area_rec.attribute14 := FND_API.g_miss_char;
1418 x_geo_area_rec.attribute15 := FND_API.g_miss_char;
1419 x_geo_area_rec.geo_area_type_code := FND_API.g_miss_char;
1420 x_geo_area_rec.geo_hierarchy_id := FND_API.g_miss_num;
1421
1422 END init_rec;
1423
1424 END AMS_Geo_Areas_PVT;