38: );
39:
40: /*
41: PROCEDURE update_geo_rel_type(
42: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
43: p_relationship_type_id IN NUMBER,
44: p_status IN VARCHAR2,
45: p_object_version_number IN OUT NOCOPY NUMBER,
46: x_return_status OUT NOCOPY VARCHAR2,
81: FND_MESSAGE.SET_NAME('AR', 'HZ_GEO_MULTIPLE_GEO_COL');
82: FND_MESSAGE.SET_TOKEN('GEO_ID', p_geography_id);
83: FND_MESSAGE.SET_TOKEN('GEO_TYPE', p_geography_type);
84: FND_MSG_PUB.ADD;
85: x_return_status := fnd_api.g_ret_sts_error;
86: END IF;
87: END LOOP;
88: CLOSE c_geo_parent;
89:
109: l_geography_type_name := p_geography_type_rec.geography_type_name;
110:
111: -- replaced by find_index_name
112: /* -- If primary_key is passed, check for uniqueness
113: IF l_geography_type <> FND_API.G_MISS_CHAR
114: AND
115: l_geography_type IS NOT NULL
116: THEN
117: BEGIN
124:
125: FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_COLUMN');
126: FND_MESSAGE.SET_TOKEN('COLUMN', 'geography_type');
127: FND_MSG_PUB.ADD;
128: RAISE FND_API.G_EXC_ERROR;
129:
130: EXCEPTION
131: WHEN NO_DATA_FOUND THEN
132: NULL;
223: );
224:
225:
226: --if validation failed at any point, then raise an exception to stop processing
227: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
228: RAISE FND_API.G_EXC_ERROR;
229: END IF;
230: --dbms_output.put_line('After validate in geo_rel_type');
231:
224:
225:
226: --if validation failed at any point, then raise an exception to stop processing
227: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
228: RAISE FND_API.G_EXC_ERROR;
229: END IF;
230: --dbms_output.put_line('After validate in geo_rel_type');
231:
232: BEGIN
241: FND_MESSAGE.SET_NAME('AR', 'HZ_GEO_INVALID_VALUE');
242: FND_MESSAGE.SET_TOKEN('VALUE', l_parent_geography_type);
243: FND_MESSAGE.SET_TOKEN('COLUMN', 'parent_geography_type');
244: FND_MSG_PUB.ADD;
245: RAISE FND_API.G_EXC_ERROR;
246: END;
247: -- check if geography_type is already 'PARENT_OF' parent_geography_type (bug fix 2838632)
248: SELECT count(*) INTO l_count FROM hz_relationship_types
249: WHERE relationship_type=l_geography_use
256: FND_MESSAGE.SET_NAME('AR', 'HZ_GEO_INVALID_REL_TYPE');
257: FND_MESSAGE.SET_TOKEN('CHILD', l_geography_type);
258: FND_MESSAGE.SET_TOKEN('PARENT', l_parent_geography_type);
259: FND_MSG_PUB.ADD;
260: RAISE FND_API.G_EXC_ERROR;
261: END IF;
262:
263: --l_relationship_type_rec.relationship_type_id :=NULL;
264: l_relationship_type_rec.relationship_type :=l_geography_use;
296: );
297:
298:
299: --if validation failed at any point, then raise an exception to stop processing
300: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
301: RAISE FND_API.G_EXC_ERROR;
302: END IF;
303:
304: END do_create_geo_rel_type;
297:
298:
299: --if validation failed at any point, then raise an exception to stop processing
300: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
301: RAISE FND_API.G_EXC_ERROR;
302: END IF;
303:
304: END do_create_geo_rel_type;
305:
329: FND_MESSAGE.SET_NAME('AR', 'HZ_GEO_NO_RECORD');
330: FND_MESSAGE.SET_TOKEN('TOKEN1', 'Relationship Type');
331: FND_MESSAGE.SET_TOKEN('TOKEN2', 'relationship_type_id '||p_relationship_type_id);
332: FND_MSG_PUB.ADD;
333: RAISE FND_API.G_EXC_ERROR;
334: END;
335:
336: hz_utility_v2pub.validate_mandatory(
337: p_create_update_flag => 'U',
339: p_column_value => p_object_version_number,
340: x_return_status => x_return_status
341: );
342:
343: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
344: RAISE FND_API.G_EXC_ERROR;
345: END IF;
346:
347: --construct relationship type rec for update
340: x_return_status => x_return_status
341: );
342:
343: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
344: RAISE FND_API.G_EXC_ERROR;
345: END IF;
346:
347: --construct relationship type rec for update
348:
362: x_msg_count =>x_msg_count,
363: x_msg_data =>x_msg_data
364: );
365:
366: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
367: RAISE FND_API.G_EXC_ERROR;
368: END IF;
369:
370: END do_update_geo_rel_type;
363: x_msg_data =>x_msg_data
364: );
365:
366: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
367: RAISE FND_API.G_EXC_ERROR;
368: END IF;
369:
370: END do_update_geo_rel_type;
371:
396: p_geo_structure_rec => p_geo_structure_rec,
397: x_return_status => x_return_status
398: );
399:
400: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
401: RAISE FND_API.G_EXC_ERROR;
402: END IF;
403:
404: --dbms_output.put_line('After validation '|| x_return_status);
397: x_return_status => x_return_status
398: );
399:
400: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
401: RAISE FND_API.G_EXC_ERROR;
402: END IF;
403:
404: --dbms_output.put_line('After validation '|| x_return_status);
405:
418: FND_MESSAGE.SET_NAME( 'AR', 'HZ_GEO_NO_RECORD' );
419: FND_MESSAGE.SET_TOKEN( 'TOKEN1', 'country_code' );
420: FND_MESSAGE.SET_TOKEN( 'TOKEN2', 'geography_id '||p_geo_structure_rec.geography_id );
421: FND_MSG_PUB.ADD;
422: RAISE FND_API.G_EXC_ERROR;
423: END IF;
424:
425: -- see whether this geography_element_column to be created is already being used with in this country
426: -- for another geography_type. if yes, do not create
435: IF l_count > 0 THEN
436: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_DUPLICATE_COLUMN' );
437: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'geography_element_column');
438: FND_MSG_PUB.ADD;
439: RAISE FND_API.G_EXC_ERROR;
440: END IF;*/
441:
442: BEGIN
443:
481: x_msg_count => x_msg_count,
482: x_msg_data => x_msg_data
483: );
484:
485: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
486: RAISE FND_API.G_EXC_ERROR;
487: END IF;
488:
489: END IF;
482: x_msg_data => x_msg_data
483: );
484:
485: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
486: RAISE FND_API.G_EXC_ERROR;
487: END IF;
488:
489: END IF;
490:
497: p_geo_element_column => p_geo_structure_rec.geography_element_column,
498: x_return_status => x_return_status
499: );
500:
501: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
502: RAISE FND_API.G_EXC_ERROR;
503: END IF;*/
504:
505:
498: x_return_status => x_return_status
499: );
500:
501: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
502: RAISE FND_API.G_EXC_ERROR;
503: END IF;*/
504:
505:
506: -- call table handler to insert a row in HZ_GEO_STRUCTURE_LEVELS
544: x_msg_data => x_msg_data
545: );
546:
547:
548: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
549: RAISE FND_API.G_EXC_ERROR;
550: END IF;
551:
552: -- validate geo_element_column before inserting the row
545: );
546:
547:
548: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
549: RAISE FND_API.G_EXC_ERROR;
550: END IF;
551:
552: -- validate geo_element_column before inserting the row
553: /* commented per bug: 2911108
557: p_geo_element_column => p_geo_structure_rec.geography_element_column,
558: x_return_status => x_return_status
559: );
560:
561: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
562: RAISE FND_API.G_EXC_ERROR;
563: END IF;*/
564:
565: -- insert a row in hz_geo_structure_levels with new relationship_type_id
558: x_return_status => x_return_status
559: );
560:
561: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
562: RAISE FND_API.G_EXC_ERROR;
563: END IF;*/
564:
565: -- insert a row in hz_geo_structure_levels with new relationship_type_id
566: HZ_GEO_STRUCTURE_LEVELS_PKG.Insert_Row (
625: p_geo_structure_rec => l_geo_structure_rec,
626: x_return_status => x_return_status
627: );
628:
629: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
630: RAISE FND_API.G_EXC_ERROR;
631: END IF;
632:
633: hz_utility_v2pub.validate_mandatory(
626: x_return_status => x_return_status
627: );
628:
629: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
630: RAISE FND_API.G_EXC_ERROR;
631: END IF;
632:
633: hz_utility_v2pub.validate_mandatory(
634: p_create_update_flag => 'U',
636: p_column_value => p_object_version_number,
637: x_return_status => x_return_status
638: );
639:
640: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
641: RAISE FND_API.G_EXC_ERROR;
642: END IF;
643:
644: --dbms_output.put_line('after validate');
637: x_return_status => x_return_status
638: );
639:
640: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
641: RAISE FND_API.G_EXC_ERROR;
642: END IF;
643:
644: --dbms_output.put_line('after validate');
645:
655: IF l_count > 0 THEN
656: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_DUPLICATE_COLUMN' );
657: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'geography_element_column for this geography_id' );
658: FND_MSG_PUB.ADD;
659: RAISE FND_API.G_EXC_ERROR;
660: END IF;
661:
662: BEGIN
663: SELECT country_code,geography_element_column,rowid,object_version_number
670: IF p_object_version_number <> l_object_version_number THEN
671: FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
672: FND_MESSAGE.SET_TOKEN('TABLE', 'hz_geo_structure_levels');
673: FND_MSG_PUB.ADD;
674: RAISE FND_API.G_EXC_ERROR;
675: ELSE
676: p_object_version_number := l_object_version_number+1;
677: END IF;
678: EXCEPTION WHEN NO_DATA_FOUND THEN
679: FND_MESSAGE.SET_NAME( 'AR', 'HZ_GEO_NO_RECORD' );
680: FND_MESSAGE.SET_TOKEN( 'TOKEN1', 'country_code , geography_element_column' );
681: FND_MESSAGE.SET_TOKEN( 'TOKEN2', 'geography_id '||p_geography_id||', geography_type '||p_geography_type||', parent_geography_type '||p_parent_geography_type );
682: FND_MSG_PUB.ADD;
683: RAISE FND_API.G_EXC_ERROR;
684: END;
685:
686: BEGIN
687: --dbms_output.put_line('l_geography_element '||l_geo_element_col);
709: --dbms_output.put_line('after execute');
710: FND_MESSAGE.SET_NAME( 'AR', 'HZ_GEO_ELEMENT_NONUPDATEABLE' );
711: --FND_MESSAGE.SET_TOKEN( 'COLUMN', 'geography_element_column' );
712: FND_MSG_PUB.ADD;
713: --x_return_status := FND_API.G_RET_STS_ERROR;
714: RAISE FND_API.G_EXC_ERROR;
715:
716: --dbms_output.put_line('l_count is '|| to_char(l_count));
717: EXCEPTION WHEN NO_DATA_FOUND THEN
710: FND_MESSAGE.SET_NAME( 'AR', 'HZ_GEO_ELEMENT_NONUPDATEABLE' );
711: --FND_MESSAGE.SET_TOKEN( 'COLUMN', 'geography_element_column' );
712: FND_MSG_PUB.ADD;
713: --x_return_status := FND_API.G_RET_STS_ERROR;
714: RAISE FND_API.G_EXC_ERROR;
715:
716: --dbms_output.put_line('l_count is '|| to_char(l_count));
717: EXCEPTION WHEN NO_DATA_FOUND THEN
718: --dbms_output.put_line('before update');
839: IF l_error = TRUE THEN
840: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
841: FND_MESSAGE.SET_TOKEN( 'COLUMN', l_column );
842: FND_MSG_PUB.ADD;
843: RAISE FND_API.G_EXC_ERROR;
844: END IF;
845:
846:
847: -- get the relationship_type_id for this row
857: FND_MESSAGE.SET_NAME( 'AR', 'HZ_GEO_NO_RECORD' );
858: FND_MESSAGE.SET_TOKEN( 'TOKEN1', 'relationship_type_id,country_code' );
859: FND_MESSAGE.SET_TOKEN( 'TOKEN2', 'geography_id '||p_geography_id||', geography_type '||p_geography_type||', parent_geography_type '||p_parent_geography_type );
860: FND_MSG_PUB.ADD;
861: RAISE FND_API.G_EXC_ERROR;
862: END;
863: -- code added for bug 4730508
864: BEGIN
865:
890: x_msg_count => x_msg_count,
891: x_msg_data => x_msg_data
892: );
893:
894: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
895: RAISE FND_API.G_EXC_ERROR;
896: END IF;
897:
898: END IF;
891: x_msg_data => x_msg_data
892: );
893:
894: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
895: RAISE FND_API.G_EXC_ERROR;
896: END IF;
897:
898: END IF;
899:
931: x_msg_data => x_msg_data
932: );
933:
934:
935: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
936: RAISE FND_API.G_EXC_ERROR;
937: END IF;
938:
939: -- Bug 4543926 : update parent_geography_type for a child level
932: );
933:
934:
935: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
936: RAISE FND_API.G_EXC_ERROR;
937: END IF;
938:
939: -- Bug 4543926 : update parent_geography_type for a child level
940: -- before deleting a level to its parent_geography_type
988: x_msg_count => x_msg_count,
989: x_msg_data => x_msg_data
990: );
991:
992: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
993: RAISE FND_API.G_EXC_ERROR;
994: END IF;
995:
996: -- disable the backward relationship_type too
989: x_msg_data => x_msg_data
990: );
991:
992: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
993: RAISE FND_API.G_EXC_ERROR;
994: END IF;
995:
996: -- disable the backward relationship_type too
997: SELECT object_version_number,relationship_type_id into l_object_version_number,l_relationship_type_id
1011: x_msg_count => x_msg_count,
1012: x_msg_data => x_msg_data
1013: );
1014:
1015: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1016: RAISE FND_API.G_EXC_ERROR;
1017: END IF;
1018:
1019: END IF;
1012: x_msg_data => x_msg_data
1013: );
1014:
1015: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1016: RAISE FND_API.G_EXC_ERROR;
1017: END IF;
1018:
1019: END IF;
1020:
1199: l_location_table_name,
1200: l_country,
1201: l_address_style,
1202: l_geo_struct_map_dtl_tbl,
1203: FND_API.G_FALSE,
1204: x_return_status,
1205: x_msg_count,
1206: x_msg_data);
1207: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1203: FND_API.G_FALSE,
1204: x_return_status,
1205: x_msg_count,
1206: x_msg_data);
1207: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1208: RAISE FND_API.G_EXC_ERROR;
1209: END IF;
1210: end if;
1211: end if;
1204: x_return_status,
1205: x_msg_count,
1206: x_msg_data);
1207: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1208: RAISE FND_API.G_EXC_ERROR;
1209: END IF;
1210: end if;
1211: end if;
1212: /*
1267: p_create_update_flag => 'C',
1268: x_return_status => x_return_status
1269: );
1270:
1271: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1272: RAISE FND_API.G_EXC_ERROR;
1273: END IF;
1274: IF p_zone_type_rec.geography_type_name IS NULL THEN
1275: l_geography_type_name := initcap(p_zone_type_rec.geography_type);
1268: x_return_status => x_return_status
1269: );
1270:
1271: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1272: RAISE FND_API.G_EXC_ERROR;
1273: END IF;
1274: IF p_zone_type_rec.geography_type_name IS NULL THEN
1275: l_geography_type_name := initcap(p_zone_type_rec.geography_type);
1276: END IF;
1347: IF p_zone_type_rec.included_geography_type(i) = 'COUNTRY' THEN
1348: IF p_zone_type_rec.limited_by_geography_id IS NOT NULL THEN
1349: FND_MESSAGE.SET_NAME( 'AR', 'HZ_GEO_LIMITED_GEOGRAPHY');
1350: FND_MSG_PUB.ADD;
1351: RAISE FND_API.G_EXC_ERROR;
1352: END IF;
1353: END IF;
1354:
1355:
1354:
1355:
1356: -- Below check added for bug # 3116311, 3170024
1357: -- We should chk to make sure the included_geo_types are the types for children under limited_geo_id.
1358: IF (p_zone_type_rec.limited_by_geography_id IS NOT NULL AND p_zone_type_rec.limited_by_geography_id <> fnd_api.g_miss_num) THEN
1359: BEGIN
1360: SELECT geography_type, country_code
1361: INTO l_limited_by_geo_type, l_country_code
1362: FROM hz_geographies
1375: EXCEPTION WHEN NO_DATA_FOUND THEN
1376: FND_MESSAGE.SET_NAME( 'AR', 'HZ_GEO_INVALID_INC_GEO_TYPE');
1377: FND_MESSAGE.SET_TOKEN('P_LIMITED_BY_GEOGRAPHY', l_limited_by_geo_type);
1378: FND_MSG_PUB.ADD;
1379: RAISE FND_API.G_EXC_ERROR;
1380: END;
1381: END IF;
1382:
1383: -- check if there exists a relationship_type for this geography_type and included_geography_type
1400: x_return_status => x_return_status,
1401: x_msg_count => x_msg_count,
1402: x_msg_data => x_msg_data
1403: );
1404: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1405: RAISE FND_API.G_EXC_ERROR;
1406: END IF;
1407: END IF;
1408: EXCEPTION
1401: x_msg_count => x_msg_count,
1402: x_msg_data => x_msg_data
1403: );
1404: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1405: RAISE FND_API.G_EXC_ERROR;
1406: END IF;
1407: END IF;
1408: EXCEPTION
1409: WHEN NO_DATA_FOUND THEN
1419: x_msg_count => x_msg_count,
1420: x_msg_data => x_msg_data
1421: );
1422:
1423: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1424: RAISE FND_API.G_EXC_ERROR;
1425: END IF;
1426: END;
1427: END LOOP;
1420: x_msg_data => x_msg_data
1421: );
1422:
1423: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1424: RAISE FND_API.G_EXC_ERROR;
1425: END IF;
1426: END;
1427: END LOOP;
1428: END IF;
1473: p_column_value => p_object_version_number,
1474: x_return_status => x_return_status
1475: );
1476:
1477: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1478: RAISE FND_API.G_EXC_ERROR;
1479: END IF;
1480:
1481: -- validate for zone type update
1474: x_return_status => x_return_status
1475: );
1476:
1477: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1478: RAISE FND_API.G_EXC_ERROR;
1479: END IF;
1480:
1481: -- validate for zone type update
1482:
1501: IF l_object_version_number <> p_object_version_number THEN
1502: FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
1503: FND_MESSAGE.SET_TOKEN('TABLE', 'hz_geography_types_b');
1504: FND_MSG_PUB.ADD;
1505: RAISE FND_API.G_EXC_ERROR;
1506: ELSE
1507: p_object_version_number := l_object_version_number + 1;
1508: END IF;
1509:
1511: FND_MESSAGE.SET_NAME('AR', 'HZ_GEO_NO_RECORD');
1512: FND_MESSAGE.SET_TOKEN('TOKEN1','zone_type');
1513: FND_MESSAGE.SET_TOKEN('TOKEN2', 'zone_type '||p_geography_type);
1514: FND_MSG_PUB.ADD;
1515: RAISE FND_API.G_EXC_ERROR;
1516:
1517: END;
1518:
1519: HZ_GEO_STRUCTURE_VALIDATE_PVT.validate_zone_type(
1522: x_return_status => x_return_status
1523: );
1524:
1525:
1526: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1527: RAISE FND_API.G_EXC_ERROR;
1528: END IF;
1529:
1530: --dbms_output.put_line('After validate');
1523: );
1524:
1525:
1526: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1527: RAISE FND_API.G_EXC_ERROR;
1528: END IF;
1529:
1530: --dbms_output.put_line('After validate');
1531:
1545: IF l_count >0 THEN
1546: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_NONUPDATEABLE_COLUMN' );
1547: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'postal_code_range_flag from Y to N as there exists rows in hz_geography_ranges');
1548: FND_MSG_PUB.ADD;
1549: -- x_return_status := FND_API.G_RET_STS_ERROR;
1550: RAISE FND_API.G_EXC_ERROR;
1551: END IF;
1552: END IF;
1553:
1546: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_NONUPDATEABLE_COLUMN' );
1547: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'postal_code_range_flag from Y to N as there exists rows in hz_geography_ranges');
1548: FND_MSG_PUB.ADD;
1549: -- x_return_status := FND_API.G_RET_STS_ERROR;
1550: RAISE FND_API.G_EXC_ERROR;
1551: END IF;
1552: END IF;
1553:
1554: IF p_limited_by_geography_id <> l_limited_by_geo_id THEN
1564: IF l_count > 0 THEN
1565: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_NONUPDATEABLE_COLUMN' );
1566: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'limited_by_geography_id as there exists zones for this geography_type');
1567: FND_MSG_PUB.ADD;
1568: -- x_return_status := FND_API.G_RET_STS_ERROR;
1569: RAISE FND_API.G_EXC_ERROR;
1570: END IF;
1571: END IF;
1572: --dbms_output.put_line('l_rowid is '|| l_rowid);
1565: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_NONUPDATEABLE_COLUMN' );
1566: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'limited_by_geography_id as there exists zones for this geography_type');
1567: FND_MSG_PUB.ADD;
1568: -- x_return_status := FND_API.G_RET_STS_ERROR;
1569: RAISE FND_API.G_EXC_ERROR;
1570: END IF;
1571: END IF;
1572: --dbms_output.put_line('l_rowid is '|| l_rowid);
1573: --dbms_output.put_line('geography_type_name is '||p_geography_type_name);
1600: IF p_zone_type_rec.included_geography_type(i) = 'COUNTRY' THEN
1601: IF p_zone_type_rec.limited_by_geography_id IS NOT NULL THEN
1602: FND_MESSAGE.SET_NAME( 'AR', 'HZ_GEO_LIMITED_GEOGRAPHY');
1603: FND_MSG_PUB.ADD;
1604: RAISE FND_API.G_EXC_ERROR;
1605: END IF;
1606: END IF;
1607: Begin
1608: SELECT status, relationship_type_id, object_version_number
1623: x_return_status => x_return_status,
1624: x_msg_count => x_msg_count,
1625: x_msg_data => x_msg_data
1626: );
1627: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1628: RAISE FND_API.G_EXC_ERROR;
1629: END IF;
1630: END IF;
1631: EXCEPTION
1624: x_msg_count => x_msg_count,
1625: x_msg_data => x_msg_data
1626: );
1627: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1628: RAISE FND_API.G_EXC_ERROR;
1629: END IF;
1630: END IF;
1631: EXCEPTION
1632: WHEN NO_DATA_FOUND THEN
1643: x_msg_count => x_msg_count,
1644: x_msg_data => x_msg_data
1645: );
1646:
1647: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1648: RAISE FND_API.G_EXC_ERROR;
1649: END IF;
1650: END;
1651:
1644: x_msg_data => x_msg_data
1645: );
1646:
1647: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1648: RAISE FND_API.G_EXC_ERROR;
1649: END IF;
1650: END;
1651:
1652: END LOOP;
1673: x_return_status => x_return_status,
1674: x_msg_count => x_msg_count,
1675: x_msg_data => x_msg_data
1676: );
1677: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1678: RAISE FND_API.G_EXC_ERROR;
1679: END IF;
1680: end if;
1681: end loop;
1674: x_msg_count => x_msg_count,
1675: x_msg_data => x_msg_data
1676: );
1677: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1678: RAISE FND_API.G_EXC_ERROR;
1679: END IF;
1680: end if;
1681: end loop;
1682: close included_geo_type;
1698: *
1699: * ARGUMENTS
1700: * IN:
1701: * p_init_msg_list Initialize message stack if it is set to
1702: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
1703: * p_geography_type_rec Geography type record.
1704: * IN/OUT:
1705: * OUT:
1706: * x_return_status Return status after the call. The status can
1703: * p_geography_type_rec Geography type record.
1704: * IN/OUT:
1705: * OUT:
1706: * x_return_status Return status after the call. The status can
1707: * be FND_API.G_RET_STS_SUCCESS (success),
1708: * FND_API.G_RET_STS_ERROR (error),
1709: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1710: * x_msg_count Number of messages in message stack.
1711: * x_msg_data Message text if x_msg_count is 1.
1704: * IN/OUT:
1705: * OUT:
1706: * x_return_status Return status after the call. The status can
1707: * be FND_API.G_RET_STS_SUCCESS (success),
1708: * FND_API.G_RET_STS_ERROR (error),
1709: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1710: * x_msg_count Number of messages in message stack.
1711: * x_msg_data Message text if x_msg_count is 1.
1712: *
1705: * OUT:
1706: * x_return_status Return status after the call. The status can
1707: * be FND_API.G_RET_STS_SUCCESS (success),
1708: * FND_API.G_RET_STS_ERROR (error),
1709: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1710: * x_msg_count Number of messages in message stack.
1711: * x_msg_data Message text if x_msg_count is 1.
1712: *
1713: * NOTES
1718: *
1719: */
1720:
1721: PROCEDURE create_geography_type (
1722: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1723: p_geography_type_rec IN GEOGRAPHY_TYPE_REC_TYPE,
1724: x_return_status OUT NOCOPY VARCHAR2,
1725: x_msg_count OUT NOCOPY NUMBER,
1726: x_msg_data OUT NOCOPY VARCHAR2
1733: -- Standard start of API savepoint
1734: SAVEPOINT create_geography_type;
1735:
1736: -- Initialize message list if p_init_msg_list is set to TRUE.
1737: IF FND_API.to_Boolean(p_init_msg_list) THEN
1738: FND_MSG_PUB.initialize;
1739: END IF;
1740:
1741: -- Initialize API return status to success.
1738: FND_MSG_PUB.initialize;
1739: END IF;
1740:
1741: -- Initialize API return status to success.
1742: x_return_status := FND_API.G_RET_STS_SUCCESS;
1743:
1744: -- Call to business logic.
1745: do_create_geography_type(
1746: p_geography_type_rec => p_geography_type_rec,
1747: x_return_status => x_return_status
1748: );
1749:
1750: --if validation failed at any point, then raise an exception to stop processing
1751: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1752: RAISE FND_API.G_EXC_ERROR;
1753: END IF;
1754:
1755: -- Standard call to get message count and if count is 1, get message info.
1748: );
1749:
1750: --if validation failed at any point, then raise an exception to stop processing
1751: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1752: RAISE FND_API.G_EXC_ERROR;
1753: END IF;
1754:
1755: -- Standard call to get message count and if count is 1, get message info.
1756: FND_MSG_PUB.Count_And_Get(
1753: END IF;
1754:
1755: -- Standard call to get message count and if count is 1, get message info.
1756: FND_MSG_PUB.Count_And_Get(
1757: p_encoded => FND_API.G_FALSE,
1758: p_count => x_msg_count,
1759: p_data => x_msg_data);
1760:
1761: EXCEPTION
1758: p_count => x_msg_count,
1759: p_data => x_msg_data);
1760:
1761: EXCEPTION
1762: WHEN FND_API.G_EXC_ERROR THEN
1763: ROLLBACK TO create_geography_type;
1764: x_return_status := FND_API.G_RET_STS_ERROR;
1765: FND_MSG_PUB.Count_And_Get(
1766: p_encoded => FND_API.G_FALSE,
1760:
1761: EXCEPTION
1762: WHEN FND_API.G_EXC_ERROR THEN
1763: ROLLBACK TO create_geography_type;
1764: x_return_status := FND_API.G_RET_STS_ERROR;
1765: FND_MSG_PUB.Count_And_Get(
1766: p_encoded => FND_API.G_FALSE,
1767: p_count => x_msg_count,
1768: p_data => x_msg_data);
1762: WHEN FND_API.G_EXC_ERROR THEN
1763: ROLLBACK TO create_geography_type;
1764: x_return_status := FND_API.G_RET_STS_ERROR;
1765: FND_MSG_PUB.Count_And_Get(
1766: p_encoded => FND_API.G_FALSE,
1767: p_count => x_msg_count,
1768: p_data => x_msg_data);
1769: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1770: ROLLBACK TO create_geography_type;
1765: FND_MSG_PUB.Count_And_Get(
1766: p_encoded => FND_API.G_FALSE,
1767: p_count => x_msg_count,
1768: p_data => x_msg_data);
1769: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1770: ROLLBACK TO create_geography_type;
1771: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1772: FND_MSG_PUB.Count_And_Get(
1773: p_encoded => FND_API.G_FALSE,
1767: p_count => x_msg_count,
1768: p_data => x_msg_data);
1769: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1770: ROLLBACK TO create_geography_type;
1771: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1772: FND_MSG_PUB.Count_And_Get(
1773: p_encoded => FND_API.G_FALSE,
1774: p_count => x_msg_count,
1775: p_data => x_msg_data);
1769: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1770: ROLLBACK TO create_geography_type;
1771: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1772: FND_MSG_PUB.Count_And_Get(
1773: p_encoded => FND_API.G_FALSE,
1774: p_count => x_msg_count,
1775: p_data => x_msg_data);
1776:
1777: WHEN DUP_VAL_ON_INDEX THEN
1775: p_data => x_msg_data);
1776:
1777: WHEN DUP_VAL_ON_INDEX THEN
1778: ROLLBACK TO create_geography_type;
1779: x_return_status := FND_API.G_RET_STS_ERROR;
1780: HZ_UTILITY_V2PUB.find_index_name(p_index_name);
1781: IF p_index_name = 'HZ_GEOGRAPHY_TYPES_B_U1' THEN
1782: FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_COLUMN');
1783: FND_MESSAGE.SET_TOKEN('COLUMN', 'geography_type');
1783: FND_MESSAGE.SET_TOKEN('COLUMN', 'geography_type');
1784: FND_MSG_PUB.ADD;
1785: END IF;
1786: FND_MSG_PUB.Count_And_Get(
1787: p_encoded => FND_API.G_FALSE,
1788: p_count => x_msg_count,
1789: p_data => x_msg_data);
1790:
1791: WHEN OTHERS THEN
1789: p_data => x_msg_data);
1790:
1791: WHEN OTHERS THEN
1792: ROLLBACK TO create_geography_type;
1793: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1794: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1795: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1796: FND_MSG_PUB.ADD;
1797: FND_MSG_PUB.Count_And_Get(
1794: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1795: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1796: FND_MSG_PUB.ADD;
1797: FND_MSG_PUB.Count_And_Get(
1798: p_encoded => FND_API.G_FALSE,
1799: p_count => x_msg_count,
1800: p_data => x_msg_data);
1801:
1802: END create_geography_type;
1812: *
1813: * ARGUMENTS
1814: * IN:
1815: * p_init_msg_list Initialize message stack if it is set to
1816: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
1817: * p_geography_rel_type_rec Geography Relationship type record.
1818: * IN/OUT:
1819: * OUT:
1820: * x_return_status Return status after the call. The status can
1817: * p_geography_rel_type_rec Geography Relationship type record.
1818: * IN/OUT:
1819: * OUT:
1820: * x_return_status Return status after the call. The status can
1821: * be FND_API.G_RET_STS_SUCCESS (success),
1822: * FND_API.G_RET_STS_ERROR (error),
1823: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1824: * x_msg_count Number of messages in message stack.
1825: * x_msg_data Message text if x_msg_count is 1.
1818: * IN/OUT:
1819: * OUT:
1820: * x_return_status Return status after the call. The status can
1821: * be FND_API.G_RET_STS_SUCCESS (success),
1822: * FND_API.G_RET_STS_ERROR (error),
1823: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1824: * x_msg_count Number of messages in message stack.
1825: * x_msg_data Message text if x_msg_count is 1.
1826: *
1819: * OUT:
1820: * x_return_status Return status after the call. The status can
1821: * be FND_API.G_RET_STS_SUCCESS (success),
1822: * FND_API.G_RET_STS_ERROR (error),
1823: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1824: * x_msg_count Number of messages in message stack.
1825: * x_msg_data Message text if x_msg_count is 1.
1826: *
1827: * NOTES
1832: *
1833: */
1834:
1835: PROCEDURE create_geo_rel_type(
1836: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1837: p_geo_rel_type_rec IN GEO_REL_TYPE_REC_TYPE,
1838: x_relationship_type_id OUT NOCOPY NUMBER,
1839: x_return_status OUT NOCOPY VARCHAR2,
1840: x_msg_count OUT NOCOPY NUMBER,
1848: -- Standard start of API savepoint
1849: SAVEPOINT create_geo_rel_type;
1850:
1851: -- Initialize message list if p_init_msg_list is set to TRUE.
1852: IF FND_API.to_Boolean(p_init_msg_list) THEN
1853: FND_MSG_PUB.initialize;
1854: END IF;
1855:
1856: -- Initialize API return status to success.
1853: FND_MSG_PUB.initialize;
1854: END IF;
1855:
1856: -- Initialize API return status to success.
1857: x_return_status := FND_API.G_RET_STS_SUCCESS;
1858:
1859: -- Call to business logic.
1860: do_create_geo_rel_type(
1861: p_geo_rel_type_rec => l_geo_rel_type_rec,
1863: x_return_status => x_return_status
1864: );
1865:
1866: --if validation failed at any point, then raise an exception to stop processing
1867: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1868: RAISE FND_API.G_EXC_ERROR;
1869: END IF;
1870:
1871: -- Standard call to get message count and if count is 1, get message info.
1864: );
1865:
1866: --if validation failed at any point, then raise an exception to stop processing
1867: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1868: RAISE FND_API.G_EXC_ERROR;
1869: END IF;
1870:
1871: -- Standard call to get message count and if count is 1, get message info.
1872: FND_MSG_PUB.Count_And_Get(
1869: END IF;
1870:
1871: -- Standard call to get message count and if count is 1, get message info.
1872: FND_MSG_PUB.Count_And_Get(
1873: p_encoded => FND_API.G_FALSE,
1874: p_count => x_msg_count,
1875: p_data => x_msg_data);
1876:
1877: EXCEPTION
1874: p_count => x_msg_count,
1875: p_data => x_msg_data);
1876:
1877: EXCEPTION
1878: WHEN FND_API.G_EXC_ERROR THEN
1879: ROLLBACK TO create_geo_rel_type;
1880: x_return_status := FND_API.G_RET_STS_ERROR;
1881: FND_MSG_PUB.Count_And_Get(
1882: p_encoded => FND_API.G_FALSE,
1876:
1877: EXCEPTION
1878: WHEN FND_API.G_EXC_ERROR THEN
1879: ROLLBACK TO create_geo_rel_type;
1880: x_return_status := FND_API.G_RET_STS_ERROR;
1881: FND_MSG_PUB.Count_And_Get(
1882: p_encoded => FND_API.G_FALSE,
1883: p_count => x_msg_count,
1884: p_data => x_msg_data);
1878: WHEN FND_API.G_EXC_ERROR THEN
1879: ROLLBACK TO create_geo_rel_type;
1880: x_return_status := FND_API.G_RET_STS_ERROR;
1881: FND_MSG_PUB.Count_And_Get(
1882: p_encoded => FND_API.G_FALSE,
1883: p_count => x_msg_count,
1884: p_data => x_msg_data);
1885: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1886: ROLLBACK TO create_geo_rel_type;
1881: FND_MSG_PUB.Count_And_Get(
1882: p_encoded => FND_API.G_FALSE,
1883: p_count => x_msg_count,
1884: p_data => x_msg_data);
1885: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1886: ROLLBACK TO create_geo_rel_type;
1887: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1888: FND_MSG_PUB.Count_And_Get(
1889: p_encoded => FND_API.G_FALSE,
1883: p_count => x_msg_count,
1884: p_data => x_msg_data);
1885: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1886: ROLLBACK TO create_geo_rel_type;
1887: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1888: FND_MSG_PUB.Count_And_Get(
1889: p_encoded => FND_API.G_FALSE,
1890: p_count => x_msg_count,
1891: p_data => x_msg_data);
1885: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1886: ROLLBACK TO create_geo_rel_type;
1887: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1888: FND_MSG_PUB.Count_And_Get(
1889: p_encoded => FND_API.G_FALSE,
1890: p_count => x_msg_count,
1891: p_data => x_msg_data);
1892:
1893: WHEN OTHERS THEN
1891: p_data => x_msg_data);
1892:
1893: WHEN OTHERS THEN
1894: ROLLBACK TO create_geo_rel_type;
1895: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1896: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1897: FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
1898: FND_MSG_PUB.ADD;
1899: FND_MSG_PUB.Count_And_Get(
1896: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1897: FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
1898: FND_MSG_PUB.ADD;
1899: FND_MSG_PUB.Count_And_Get(
1900: p_encoded => FND_API.G_FALSE,
1901: p_count => x_msg_count,
1902: p_data => x_msg_data);
1903:
1904: END CREATE_GEO_REL_TYPE;
1913: *
1914: * ARGUMENTS
1915: * IN:
1916: * p_init_msg_list Initialize message stack if it is set to
1917: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
1918: * p_geography_rel_type_rec Geography Relationship type record.
1919: * IN/OUT:
1920: * p_object_version_number object version number of the row being updated
1921: * OUT:
1919: * IN/OUT:
1920: * p_object_version_number object version number of the row being updated
1921: * OUT:
1922: * x_return_status Return status after the call. The status can
1923: * be FND_API.G_RET_STS_SUCCESS (success),
1924: * FND_API.G_RET_STS_ERROR (error),
1925: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1926: * x_msg_count Number of messages in message stack.
1927: * x_msg_data Message text if x_msg_count is 1.
1920: * p_object_version_number object version number of the row being updated
1921: * OUT:
1922: * x_return_status Return status after the call. The status can
1923: * be FND_API.G_RET_STS_SUCCESS (success),
1924: * FND_API.G_RET_STS_ERROR (error),
1925: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1926: * x_msg_count Number of messages in message stack.
1927: * x_msg_data Message text if x_msg_count is 1.
1928: *
1921: * OUT:
1922: * x_return_status Return status after the call. The status can
1923: * be FND_API.G_RET_STS_SUCCESS (success),
1924: * FND_API.G_RET_STS_ERROR (error),
1925: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1926: * x_msg_count Number of messages in message stack.
1927: * x_msg_data Message text if x_msg_count is 1.
1928: *
1929: * NOTES
1934: *
1935: */
1936:
1937: PROCEDURE update_geo_rel_type(
1938: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1939: p_relationship_type_id IN NUMBER,
1940: p_status IN VARCHAR2,
1941: p_object_version_number IN OUT NOCOPY NUMBER,
1942: x_return_status OUT NOCOPY VARCHAR2,
1951: -- Standard start of API savepoint
1952: SAVEPOINT update_geo_rel_type;
1953:
1954: -- Initialize message list if p_init_msg_list is set to TRUE.
1955: IF FND_API.to_Boolean(p_init_msg_list) THEN
1956: FND_MSG_PUB.initialize;
1957: END IF;
1958:
1959: -- Initialize API return status to success.
1956: FND_MSG_PUB.initialize;
1957: END IF;
1958:
1959: -- Initialize API return status to success.
1960: x_return_status := FND_API.G_RET_STS_SUCCESS;
1961:
1962: -- Call to business logic.
1963: do_update_geo_rel_type(
1964: p_relationship_type_id => p_relationship_type_id,
1967: x_return_status => x_return_status
1968: );
1969:
1970: --if validation failed at any point, then raise an exception to stop processing
1971: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1972: RAISE FND_API.G_EXC_ERROR;
1973: END IF;
1974:
1975: -- Standard call to get message count and if count is 1, get message info.
1968: );
1969:
1970: --if validation failed at any point, then raise an exception to stop processing
1971: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1972: RAISE FND_API.G_EXC_ERROR;
1973: END IF;
1974:
1975: -- Standard call to get message count and if count is 1, get message info.
1976: FND_MSG_PUB.Count_And_Get(
1973: END IF;
1974:
1975: -- Standard call to get message count and if count is 1, get message info.
1976: FND_MSG_PUB.Count_And_Get(
1977: p_encoded => FND_API.G_FALSE,
1978: p_count => x_msg_count,
1979: p_data => x_msg_data);
1980:
1981: EXCEPTION
1978: p_count => x_msg_count,
1979: p_data => x_msg_data);
1980:
1981: EXCEPTION
1982: WHEN FND_API.G_EXC_ERROR THEN
1983: ROLLBACK TO update_geo_rel_type;
1984: x_return_status := FND_API.G_RET_STS_ERROR;
1985: FND_MSG_PUB.Count_And_Get(
1986: p_encoded => FND_API.G_FALSE,
1980:
1981: EXCEPTION
1982: WHEN FND_API.G_EXC_ERROR THEN
1983: ROLLBACK TO update_geo_rel_type;
1984: x_return_status := FND_API.G_RET_STS_ERROR;
1985: FND_MSG_PUB.Count_And_Get(
1986: p_encoded => FND_API.G_FALSE,
1987: p_count => x_msg_count,
1988: p_data => x_msg_data);
1982: WHEN FND_API.G_EXC_ERROR THEN
1983: ROLLBACK TO update_geo_rel_type;
1984: x_return_status := FND_API.G_RET_STS_ERROR;
1985: FND_MSG_PUB.Count_And_Get(
1986: p_encoded => FND_API.G_FALSE,
1987: p_count => x_msg_count,
1988: p_data => x_msg_data);
1989: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1990: ROLLBACK TO update_geo_rel_type;
1985: FND_MSG_PUB.Count_And_Get(
1986: p_encoded => FND_API.G_FALSE,
1987: p_count => x_msg_count,
1988: p_data => x_msg_data);
1989: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1990: ROLLBACK TO update_geo_rel_type;
1991: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1992: FND_MSG_PUB.Count_And_Get(
1993: p_encoded => FND_API.G_FALSE,
1987: p_count => x_msg_count,
1988: p_data => x_msg_data);
1989: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1990: ROLLBACK TO update_geo_rel_type;
1991: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1992: FND_MSG_PUB.Count_And_Get(
1993: p_encoded => FND_API.G_FALSE,
1994: p_count => x_msg_count,
1995: p_data => x_msg_data);
1989: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1990: ROLLBACK TO update_geo_rel_type;
1991: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1992: FND_MSG_PUB.Count_And_Get(
1993: p_encoded => FND_API.G_FALSE,
1994: p_count => x_msg_count,
1995: p_data => x_msg_data);
1996:
1997: WHEN OTHERS THEN
1995: p_data => x_msg_data);
1996:
1997: WHEN OTHERS THEN
1998: ROLLBACK TO update_geo_rel_type;
1999: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2000: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
2001: FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
2002: FND_MSG_PUB.ADD;
2003: FND_MSG_PUB.Count_And_Get(
2000: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
2001: FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
2002: FND_MSG_PUB.ADD;
2003: FND_MSG_PUB.Count_And_Get(
2004: p_encoded => FND_API.G_FALSE,
2005: p_count => x_msg_count,
2006: p_data => x_msg_data);
2007:
2008: END UPDATE_GEO_REL_TYPE;
2017: *
2018: * ARGUMENTS
2019: * IN:
2020: * p_init_msg_list Initialize message stack if it is set to
2021: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
2022: * p_geo_structure_rec Geography structure type record.
2023:
2024: * IN/OUT:
2025: * OUT:
2023:
2024: * IN/OUT:
2025: * OUT:
2026: * x_return_status Return status after the call. The status can
2027: * be FND_API.G_RET_STS_SUCCESS (success),
2028: * FND_API.G_RET_STS_ERROR (error),
2029: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2030: * x_msg_count Number of messages in message stack.
2031: * x_msg_data Message text if x_msg_count is 1.
2024: * IN/OUT:
2025: * OUT:
2026: * x_return_status Return status after the call. The status can
2027: * be FND_API.G_RET_STS_SUCCESS (success),
2028: * FND_API.G_RET_STS_ERROR (error),
2029: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2030: * x_msg_count Number of messages in message stack.
2031: * x_msg_data Message text if x_msg_count is 1.
2032: *
2025: * OUT:
2026: * x_return_status Return status after the call. The status can
2027: * be FND_API.G_RET_STS_SUCCESS (success),
2028: * FND_API.G_RET_STS_ERROR (error),
2029: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2030: * x_msg_count Number of messages in message stack.
2031: * x_msg_data Message text if x_msg_count is 1.
2032: *
2033: * NOTES
2039: */
2040:
2041:
2042: PROCEDURE create_geo_structure(
2043: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2044: p_geo_structure_rec IN GEO_STRUCTURE_REC_TYPE,
2045: x_return_status OUT NOCOPY VARCHAR2,
2046: x_msg_count OUT NOCOPY NUMBER,
2047: x_msg_data OUT NOCOPY VARCHAR2
2054: -- Standard start of API savepoint
2055: SAVEPOINT create_geo_structure;
2056:
2057: -- Initialize message list if p_init_msg_list is set to TRUE.
2058: IF FND_API.to_Boolean(p_init_msg_list) THEN
2059: FND_MSG_PUB.initialize;
2060: END IF;
2061:
2062: -- Initialize API return status to success.
2059: FND_MSG_PUB.initialize;
2060: END IF;
2061:
2062: -- Initialize API return status to success.
2063: x_return_status := FND_API.G_RET_STS_SUCCESS;
2064:
2065: -- Call to business logic.
2066: do_create_geo_structure(
2067: p_geo_structure_rec => p_geo_structure_rec,
2068: x_return_status => x_return_status
2069: );
2070:
2071: --if validation failed at any point, then raise an exception to stop processing
2072: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2073: RAISE FND_API.G_EXC_ERROR;
2074: END IF;
2075:
2076: -- Standard call to get message count and if count is 1, get message info.
2069: );
2070:
2071: --if validation failed at any point, then raise an exception to stop processing
2072: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2073: RAISE FND_API.G_EXC_ERROR;
2074: END IF;
2075:
2076: -- Standard call to get message count and if count is 1, get message info.
2077: FND_MSG_PUB.Count_And_Get(
2074: END IF;
2075:
2076: -- Standard call to get message count and if count is 1, get message info.
2077: FND_MSG_PUB.Count_And_Get(
2078: p_encoded => FND_API.G_FALSE,
2079: p_count => x_msg_count,
2080: p_data => x_msg_data);
2081:
2082: EXCEPTION
2079: p_count => x_msg_count,
2080: p_data => x_msg_data);
2081:
2082: EXCEPTION
2083: WHEN FND_API.G_EXC_ERROR THEN
2084: ROLLBACK TO create_geo_structure;
2085: x_return_status := FND_API.G_RET_STS_ERROR;
2086: FND_MSG_PUB.Count_And_Get(
2087: p_encoded => FND_API.G_FALSE,
2081:
2082: EXCEPTION
2083: WHEN FND_API.G_EXC_ERROR THEN
2084: ROLLBACK TO create_geo_structure;
2085: x_return_status := FND_API.G_RET_STS_ERROR;
2086: FND_MSG_PUB.Count_And_Get(
2087: p_encoded => FND_API.G_FALSE,
2088: p_count => x_msg_count,
2089: p_data => x_msg_data);
2083: WHEN FND_API.G_EXC_ERROR THEN
2084: ROLLBACK TO create_geo_structure;
2085: x_return_status := FND_API.G_RET_STS_ERROR;
2086: FND_MSG_PUB.Count_And_Get(
2087: p_encoded => FND_API.G_FALSE,
2088: p_count => x_msg_count,
2089: p_data => x_msg_data);
2090: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2091: ROLLBACK TO create_geo_structure;
2086: FND_MSG_PUB.Count_And_Get(
2087: p_encoded => FND_API.G_FALSE,
2088: p_count => x_msg_count,
2089: p_data => x_msg_data);
2090: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2091: ROLLBACK TO create_geo_structure;
2092: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2093: FND_MSG_PUB.Count_And_Get(
2094: p_encoded => FND_API.G_FALSE,
2088: p_count => x_msg_count,
2089: p_data => x_msg_data);
2090: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2091: ROLLBACK TO create_geo_structure;
2092: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2093: FND_MSG_PUB.Count_And_Get(
2094: p_encoded => FND_API.G_FALSE,
2095: p_count => x_msg_count,
2096: p_data => x_msg_data);
2090: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2091: ROLLBACK TO create_geo_structure;
2092: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2093: FND_MSG_PUB.Count_And_Get(
2094: p_encoded => FND_API.G_FALSE,
2095: p_count => x_msg_count,
2096: p_data => x_msg_data);
2097:
2098: WHEN DUP_VAL_ON_INDEX THEN
2102: FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_COLUMN');
2103: FND_MESSAGE.SET_TOKEN('COLUMN', 'geography_id,geography_type and parent_geography_type');
2104: FND_MSG_PUB.ADD;
2105: END IF;
2106: x_return_status := FND_API.G_RET_STS_ERROR;
2107: FND_MSG_PUB.Count_And_Get(
2108: p_encoded => FND_API.G_FALSE,
2109: p_count => x_msg_count,
2110: p_data => x_msg_data);
2104: FND_MSG_PUB.ADD;
2105: END IF;
2106: x_return_status := FND_API.G_RET_STS_ERROR;
2107: FND_MSG_PUB.Count_And_Get(
2108: p_encoded => FND_API.G_FALSE,
2109: p_count => x_msg_count,
2110: p_data => x_msg_data);
2111:
2112: WHEN OTHERS THEN
2110: p_data => x_msg_data);
2111:
2112: WHEN OTHERS THEN
2113: ROLLBACK TO create_geo_structure;
2114: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2115: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
2116: FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
2117: FND_MSG_PUB.ADD;
2118: FND_MSG_PUB.Count_And_Get(
2115: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
2116: FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
2117: FND_MSG_PUB.ADD;
2118: FND_MSG_PUB.Count_And_Get(
2119: p_encoded => FND_API.G_FALSE,
2120: p_count => x_msg_count,
2121: p_data => x_msg_data);
2122:
2123: END create_geo_structure;
2135: *
2136: * ARGUMENTS
2137: * IN:
2138: * p_init_msg_list Initialize message stack if it is set to
2139: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
2140: * p_geo_structure_rec Geography structure type record.
2141:
2142: * IN/OUT:
2143: * p_object_version_number object version number of the row being updated
2142: * IN/OUT:
2143: * p_object_version_number object version number of the row being updated
2144: * OUT:
2145: * x_return_status Return status after the call. The status can
2146: * be FND_API.G_RET_STS_SUCCESS (success),
2147: * FND_API.G_RET_STS_ERROR (error),
2148: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2149: * x_msg_count Number of messages in message stack.
2150: * x_msg_data Message text if x_msg_count is 1.
2143: * p_object_version_number object version number of the row being updated
2144: * OUT:
2145: * x_return_status Return status after the call. The status can
2146: * be FND_API.G_RET_STS_SUCCESS (success),
2147: * FND_API.G_RET_STS_ERROR (error),
2148: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2149: * x_msg_count Number of messages in message stack.
2150: * x_msg_data Message text if x_msg_count is 1.
2151: *
2144: * OUT:
2145: * x_return_status Return status after the call. The status can
2146: * be FND_API.G_RET_STS_SUCCESS (success),
2147: * FND_API.G_RET_STS_ERROR (error),
2148: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2149: * x_msg_count Number of messages in message stack.
2150: * x_msg_data Message text if x_msg_count is 1.
2151: *
2152: * NOTES
2158: */
2159:
2160: /* Obsoleting as it is no more needed ( bug 2911108)
2161: PROCEDURE update_geo_structure(
2162: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2163: p_geography_id IN NUMBER,
2164: p_geography_type IN VARCHAR2,
2165: p_parent_geography_type IN VARCHAR2,
2166: p_geography_element_column IN VARCHAR2,
2175: -- Standard start of API savepoint
2176: SAVEPOINT update_geo_structure;
2177:
2178: -- Initialize message list if p_init_msg_list is set to TRUE.
2179: IF FND_API.to_Boolean(p_init_msg_list) THEN
2180: FND_MSG_PUB.initialize;
2181: END IF;
2182:
2183: -- Initialize API return status to success.
2180: FND_MSG_PUB.initialize;
2181: END IF;
2182:
2183: -- Initialize API return status to success.
2184: x_return_status := FND_API.G_RET_STS_SUCCESS;
2185:
2186: -- Call to business logic.
2187: do_update_geo_structure(
2188: p_geography_id =>p_geography_id,
2193: x_return_status => x_return_status
2194: );
2195:
2196: --if validation failed at any point, then raise an exception to stop processing
2197: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2198: RAISE FND_API.G_EXC_ERROR;
2199: END IF;
2200:
2201: -- Standard call to get message count and if count is 1, get message info.
2194: );
2195:
2196: --if validation failed at any point, then raise an exception to stop processing
2197: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2198: RAISE FND_API.G_EXC_ERROR;
2199: END IF;
2200:
2201: -- Standard call to get message count and if count is 1, get message info.
2202: FND_MSG_PUB.Count_And_Get(
2199: END IF;
2200:
2201: -- Standard call to get message count and if count is 1, get message info.
2202: FND_MSG_PUB.Count_And_Get(
2203: p_encoded => FND_API.G_FALSE,
2204: p_count => x_msg_count,
2205: p_data => x_msg_data);
2206:
2207: EXCEPTION
2204: p_count => x_msg_count,
2205: p_data => x_msg_data);
2206:
2207: EXCEPTION
2208: WHEN FND_API.G_EXC_ERROR THEN
2209: ROLLBACK TO update_geo_structure;
2210: x_return_status := FND_API.G_RET_STS_ERROR;
2211: FND_MSG_PUB.Count_And_Get(
2212: p_encoded => FND_API.G_FALSE,
2206:
2207: EXCEPTION
2208: WHEN FND_API.G_EXC_ERROR THEN
2209: ROLLBACK TO update_geo_structure;
2210: x_return_status := FND_API.G_RET_STS_ERROR;
2211: FND_MSG_PUB.Count_And_Get(
2212: p_encoded => FND_API.G_FALSE,
2213: p_count => x_msg_count,
2214: p_data => x_msg_data);
2208: WHEN FND_API.G_EXC_ERROR THEN
2209: ROLLBACK TO update_geo_structure;
2210: x_return_status := FND_API.G_RET_STS_ERROR;
2211: FND_MSG_PUB.Count_And_Get(
2212: p_encoded => FND_API.G_FALSE,
2213: p_count => x_msg_count,
2214: p_data => x_msg_data);
2215: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2216: ROLLBACK TO update_geo_structure;
2211: FND_MSG_PUB.Count_And_Get(
2212: p_encoded => FND_API.G_FALSE,
2213: p_count => x_msg_count,
2214: p_data => x_msg_data);
2215: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2216: ROLLBACK TO update_geo_structure;
2217: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2218: FND_MSG_PUB.Count_And_Get(
2219: p_encoded => FND_API.G_FALSE,
2213: p_count => x_msg_count,
2214: p_data => x_msg_data);
2215: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2216: ROLLBACK TO update_geo_structure;
2217: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2218: FND_MSG_PUB.Count_And_Get(
2219: p_encoded => FND_API.G_FALSE,
2220: p_count => x_msg_count,
2221: p_data => x_msg_data);
2215: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2216: ROLLBACK TO update_geo_structure;
2217: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2218: FND_MSG_PUB.Count_And_Get(
2219: p_encoded => FND_API.G_FALSE,
2220: p_count => x_msg_count,
2221: p_data => x_msg_data);
2222:
2223: WHEN OTHERS THEN
2221: p_data => x_msg_data);
2222:
2223: WHEN OTHERS THEN
2224: ROLLBACK TO update_geo_structure;
2225: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2226: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
2227: FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
2228: FND_MSG_PUB.ADD;
2229: FND_MSG_PUB.Count_And_Get(
2226: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
2227: FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
2228: FND_MSG_PUB.ADD;
2229: FND_MSG_PUB.Count_And_Get(
2230: p_encoded => FND_API.G_FALSE,
2231: p_count => x_msg_count,
2232: p_data => x_msg_data);
2233:
2234: END update_geo_structure;
2244: *
2245: * ARGUMENTS
2246: * IN:
2247: * p_init_msg_list Initialize message stack if it is set to
2248: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
2249: * p_geo_structure_rec Geography structure type record.
2250:
2251: * IN/OUT:
2252: *
2251: * IN/OUT:
2252: *
2253: * OUT:
2254: * x_return_status Return status after the call. The status can
2255: * be FND_API.G_RET_STS_SUCCESS (success),
2256: * FND_API.G_RET_STS_ERROR (error),
2257: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2258: * x_msg_count Number of messages in message stack.
2259: * x_msg_data Message text if x_msg_count is 1.
2252: *
2253: * OUT:
2254: * x_return_status Return status after the call. The status can
2255: * be FND_API.G_RET_STS_SUCCESS (success),
2256: * FND_API.G_RET_STS_ERROR (error),
2257: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2258: * x_msg_count Number of messages in message stack.
2259: * x_msg_data Message text if x_msg_count is 1.
2260: *
2253: * OUT:
2254: * x_return_status Return status after the call. The status can
2255: * be FND_API.G_RET_STS_SUCCESS (success),
2256: * FND_API.G_RET_STS_ERROR (error),
2257: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2258: * x_msg_count Number of messages in message stack.
2259: * x_msg_data Message text if x_msg_count is 1.
2260: *
2261: * NOTES
2266: *
2267: */
2268:
2269: PROCEDURE delete_geo_structure(
2270: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2271: p_geography_id IN NUMBER,
2272: p_geography_type IN VARCHAR2,
2273: p_parent_geography_type IN VARCHAR2,
2274: x_return_status OUT NOCOPY VARCHAR2,
2282: -- Standard start of API savepoint
2283: SAVEPOINT delete_geo_structure;
2284:
2285: -- Initialize message list if p_init_msg_list is set to TRUE.
2286: IF FND_API.to_Boolean(p_init_msg_list) THEN
2287: FND_MSG_PUB.initialize;
2288: END IF;
2289:
2290: -- Initialize API return status to success.
2287: FND_MSG_PUB.initialize;
2288: END IF;
2289:
2290: -- Initialize API return status to success.
2291: x_return_status := FND_API.G_RET_STS_SUCCESS;
2292:
2293: -- Call to business logic.
2294: do_delete_geo_structure(
2295: p_geography_id => p_geography_id,
2298: x_return_status => x_return_status
2299: );
2300:
2301: --if validation failed at any point, then raise an exception to stop processing
2302: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2303: RAISE FND_API.G_EXC_ERROR;
2304: END IF;
2305:
2306: -- Standard call to get message count and if count is 1, get message info.
2299: );
2300:
2301: --if validation failed at any point, then raise an exception to stop processing
2302: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2303: RAISE FND_API.G_EXC_ERROR;
2304: END IF;
2305:
2306: -- Standard call to get message count and if count is 1, get message info.
2307: FND_MSG_PUB.Count_And_Get(
2304: END IF;
2305:
2306: -- Standard call to get message count and if count is 1, get message info.
2307: FND_MSG_PUB.Count_And_Get(
2308: p_encoded => FND_API.G_FALSE,
2309: p_count => x_msg_count,
2310: p_data => x_msg_data);
2311:
2312: EXCEPTION
2309: p_count => x_msg_count,
2310: p_data => x_msg_data);
2311:
2312: EXCEPTION
2313: WHEN FND_API.G_EXC_ERROR THEN
2314: ROLLBACK TO delete_geo_structure;
2315: x_return_status := FND_API.G_RET_STS_ERROR;
2316: FND_MSG_PUB.Count_And_Get(
2317: p_encoded => FND_API.G_FALSE,
2311:
2312: EXCEPTION
2313: WHEN FND_API.G_EXC_ERROR THEN
2314: ROLLBACK TO delete_geo_structure;
2315: x_return_status := FND_API.G_RET_STS_ERROR;
2316: FND_MSG_PUB.Count_And_Get(
2317: p_encoded => FND_API.G_FALSE,
2318: p_count => x_msg_count,
2319: p_data => x_msg_data);
2313: WHEN FND_API.G_EXC_ERROR THEN
2314: ROLLBACK TO delete_geo_structure;
2315: x_return_status := FND_API.G_RET_STS_ERROR;
2316: FND_MSG_PUB.Count_And_Get(
2317: p_encoded => FND_API.G_FALSE,
2318: p_count => x_msg_count,
2319: p_data => x_msg_data);
2320: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2321: ROLLBACK TO delete_geo_structure;
2316: FND_MSG_PUB.Count_And_Get(
2317: p_encoded => FND_API.G_FALSE,
2318: p_count => x_msg_count,
2319: p_data => x_msg_data);
2320: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2321: ROLLBACK TO delete_geo_structure;
2322: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2323: FND_MSG_PUB.Count_And_Get(
2324: p_encoded => FND_API.G_FALSE,
2318: p_count => x_msg_count,
2319: p_data => x_msg_data);
2320: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2321: ROLLBACK TO delete_geo_structure;
2322: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2323: FND_MSG_PUB.Count_And_Get(
2324: p_encoded => FND_API.G_FALSE,
2325: p_count => x_msg_count,
2326: p_data => x_msg_data);
2320: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2321: ROLLBACK TO delete_geo_structure;
2322: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2323: FND_MSG_PUB.Count_And_Get(
2324: p_encoded => FND_API.G_FALSE,
2325: p_count => x_msg_count,
2326: p_data => x_msg_data);
2327:
2328: WHEN OTHERS THEN
2326: p_data => x_msg_data);
2327:
2328: WHEN OTHERS THEN
2329: ROLLBACK TO delete_geo_structure;
2330: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2331: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
2332: FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
2333: FND_MSG_PUB.ADD;
2334: FND_MSG_PUB.Count_And_Get(
2331: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
2332: FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
2333: FND_MSG_PUB.ADD;
2334: FND_MSG_PUB.Count_And_Get(
2335: p_encoded => FND_API.G_FALSE,
2336: p_count => x_msg_count,
2337: p_data => x_msg_data);
2338:
2339: END delete_geo_structure;
2348: *
2349: * ARGUMENTS
2350: * IN:
2351: * p_init_msg_list Initialize message stack if it is set to
2352: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
2353: * p_zone_type_rec Zone_type type record.
2354: * IN/OUT:
2355: * OUT:
2356: *
2354: * IN/OUT:
2355: * OUT:
2356: *
2357: * x_return_status Return status after the call. The status can
2358: * be FND_API.G_RET_STS_SUCCESS (success),
2359: * FND_API.G_RET_STS_ERROR (error),
2360: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2361: * x_msg_count Number of messages in message stack.
2362: * x_msg_data Message text if x_msg_count is 1.
2355: * OUT:
2356: *
2357: * x_return_status Return status after the call. The status can
2358: * be FND_API.G_RET_STS_SUCCESS (success),
2359: * FND_API.G_RET_STS_ERROR (error),
2360: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2361: * x_msg_count Number of messages in message stack.
2362: * x_msg_data Message text if x_msg_count is 1.
2363: *
2356: *
2357: * x_return_status Return status after the call. The status can
2358: * be FND_API.G_RET_STS_SUCCESS (success),
2359: * FND_API.G_RET_STS_ERROR (error),
2360: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2361: * x_msg_count Number of messages in message stack.
2362: * x_msg_data Message text if x_msg_count is 1.
2363: *
2364: * NOTES
2368: *
2369: */
2370:
2371: PROCEDURE create_zone_type(
2372: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2373: p_zone_type_rec IN ZONE_TYPE_REC_TYPE,
2374: x_return_status OUT NOCOPY VARCHAR2,
2375: x_msg_count OUT NOCOPY NUMBER,
2376: x_msg_data OUT NOCOPY VARCHAR2
2383: SAVEPOINT create_zone_type;
2384: --dbms_output.put_line('In the beginning of create_master_geography');
2385:
2386: -- Initialize message list if p_init_msg_list is set to TRUE.
2387: IF FND_API.to_Boolean(p_init_msg_list) THEN
2388: FND_MSG_PUB.initialize;
2389: END IF;
2390:
2391: -- Initialize API return status to success.
2388: FND_MSG_PUB.initialize;
2389: END IF;
2390:
2391: -- Initialize API return status to success.
2392: x_return_status := FND_API.G_RET_STS_SUCCESS;
2393:
2394: --dbms_output.put_line('before call to do_create_zone_type');
2395: -- Call to business logic.
2396: do_create_zone_type(
2398: x_return_status => x_return_status
2399: );
2400:
2401: --if validation failed at any point, then raise an exception to stop processing
2402: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2403: RAISE FND_API.G_EXC_ERROR;
2404: END IF;
2405:
2406: -- Standard call to get message count and if count is 1, get message info.
2399: );
2400:
2401: --if validation failed at any point, then raise an exception to stop processing
2402: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2403: RAISE FND_API.G_EXC_ERROR;
2404: END IF;
2405:
2406: -- Standard call to get message count and if count is 1, get message info.
2407: FND_MSG_PUB.Count_And_Get(
2404: END IF;
2405:
2406: -- Standard call to get message count and if count is 1, get message info.
2407: FND_MSG_PUB.Count_And_Get(
2408: p_encoded => FND_API.G_FALSE,
2409: p_count => x_msg_count,
2410: p_data => x_msg_data);
2411:
2412: EXCEPTION
2409: p_count => x_msg_count,
2410: p_data => x_msg_data);
2411:
2412: EXCEPTION
2413: WHEN FND_API.G_EXC_ERROR THEN
2414: ROLLBACK TO create_zone_type;
2415: x_return_status := FND_API.G_RET_STS_ERROR;
2416: FND_MSG_PUB.Count_And_Get(
2417: p_encoded => FND_API.G_FALSE,
2411:
2412: EXCEPTION
2413: WHEN FND_API.G_EXC_ERROR THEN
2414: ROLLBACK TO create_zone_type;
2415: x_return_status := FND_API.G_RET_STS_ERROR;
2416: FND_MSG_PUB.Count_And_Get(
2417: p_encoded => FND_API.G_FALSE,
2418: p_count => x_msg_count,
2419: p_data => x_msg_data);
2413: WHEN FND_API.G_EXC_ERROR THEN
2414: ROLLBACK TO create_zone_type;
2415: x_return_status := FND_API.G_RET_STS_ERROR;
2416: FND_MSG_PUB.Count_And_Get(
2417: p_encoded => FND_API.G_FALSE,
2418: p_count => x_msg_count,
2419: p_data => x_msg_data);
2420: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2421: ROLLBACK TO create_zone_type;
2416: FND_MSG_PUB.Count_And_Get(
2417: p_encoded => FND_API.G_FALSE,
2418: p_count => x_msg_count,
2419: p_data => x_msg_data);
2420: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2421: ROLLBACK TO create_zone_type;
2422: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2423: FND_MSG_PUB.Count_And_Get(
2424: p_encoded => FND_API.G_FALSE,
2418: p_count => x_msg_count,
2419: p_data => x_msg_data);
2420: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2421: ROLLBACK TO create_zone_type;
2422: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2423: FND_MSG_PUB.Count_And_Get(
2424: p_encoded => FND_API.G_FALSE,
2425: p_count => x_msg_count,
2426: p_data => x_msg_data);
2420: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2421: ROLLBACK TO create_zone_type;
2422: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2423: FND_MSG_PUB.Count_And_Get(
2424: p_encoded => FND_API.G_FALSE,
2425: p_count => x_msg_count,
2426: p_data => x_msg_data);
2427:
2428: WHEN DUP_VAL_ON_INDEX THEN
2426: p_data => x_msg_data);
2427:
2428: WHEN DUP_VAL_ON_INDEX THEN
2429: ROLLBACK TO create_zone_type;
2430: x_return_status := FND_API.G_RET_STS_ERROR;
2431: HZ_UTILITY_V2PUB.find_index_name(p_index_name);
2432: IF p_index_name = 'HZ_GEOGRAPHY_TYPES_B_U1' THEN
2433: FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_COLUMN');
2434: FND_MESSAGE.SET_TOKEN('COLUMN', 'geography_type');
2434: FND_MESSAGE.SET_TOKEN('COLUMN', 'geography_type');
2435: FND_MSG_PUB.ADD;
2436: END IF;
2437: FND_MSG_PUB.Count_And_Get(
2438: p_encoded => FND_API.G_FALSE,
2439: p_count => x_msg_count,
2440: p_data => x_msg_data);
2441:
2442: WHEN OTHERS THEN
2440: p_data => x_msg_data);
2441:
2442: WHEN OTHERS THEN
2443: ROLLBACK TO create_zone_type;
2444: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2445: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
2446: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
2447: FND_MSG_PUB.ADD;
2448: FND_MSG_PUB.Count_And_Get(
2445: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
2446: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
2447: FND_MSG_PUB.ADD;
2448: FND_MSG_PUB.Count_And_Get(
2449: p_encoded => FND_API.G_FALSE,
2450: p_count => x_msg_count,
2451: p_data => x_msg_data);
2452:
2453: END create_zone_type;
2462: *
2463: * ARGUMENTS
2464: * IN:
2465: * p_init_msg_list Initialize message stack if it is set to
2466: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
2467: * p_geographytype Geography type.
2468: * p_limited_by_geography_id
2469: * p_postal_code_range_flag
2470: * IN/OUT:
2470: * IN/OUT:
2471: * p_object_version_number object version number of the row being updated
2472: * OUT:
2473: * x_return_status Return status after the call. The status can
2474: * be FND_API.G_RET_STS_SUCCESS (success),
2475: * FND_API.G_RET_STS_ERROR (error),
2476: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2477: * x_msg_count Number of messages in message stack.
2478: * x_msg_data Message text if x_msg_count is 1.
2471: * p_object_version_number object version number of the row being updated
2472: * OUT:
2473: * x_return_status Return status after the call. The status can
2474: * be FND_API.G_RET_STS_SUCCESS (success),
2475: * FND_API.G_RET_STS_ERROR (error),
2476: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2477: * x_msg_count Number of messages in message stack.
2478: * x_msg_data Message text if x_msg_count is 1.
2479: *
2472: * OUT:
2473: * x_return_status Return status after the call. The status can
2474: * be FND_API.G_RET_STS_SUCCESS (success),
2475: * FND_API.G_RET_STS_ERROR (error),
2476: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2477: * x_msg_count Number of messages in message stack.
2478: * x_msg_data Message text if x_msg_count is 1.
2479: *
2480: * NOTES
2485: *
2486: */
2487:
2488: PROCEDURE update_zone_type(
2489: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2490: p_zone_type_rec IN ZONE_TYPE_REC_TYPE,
2491: p_object_version_number IN OUT NOCOPY NUMBER,
2492: x_return_status OUT NOCOPY VARCHAR2,
2493: x_msg_count OUT NOCOPY NUMBER,
2499: -- Standard start of API savepoint
2500: SAVEPOINT update_zone_type;
2501:
2502: -- Initialize message list if p_init_msg_list is set to TRUE.
2503: IF FND_API.to_Boolean(p_init_msg_list) THEN
2504: FND_MSG_PUB.initialize;
2505: END IF;
2506:
2507: -- Initialize API return status to success.
2504: FND_MSG_PUB.initialize;
2505: END IF;
2506:
2507: -- Initialize API return status to success.
2508: x_return_status := FND_API.G_RET_STS_SUCCESS;
2509: -- Call to business logic.
2510: do_update_zone_type(
2511: p_zone_type_rec => p_zone_type_rec,
2512: p_object_version_number => p_object_version_number,
2515: x_msg_data => x_msg_data
2516: );
2517:
2518: --if validation failed at any point, then raise an exception to stop processing
2519: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2520: RAISE FND_API.G_EXC_ERROR;
2521: END IF;
2522:
2523: -- Standard call to get message count and if count is 1, get message info.
2516: );
2517:
2518: --if validation failed at any point, then raise an exception to stop processing
2519: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2520: RAISE FND_API.G_EXC_ERROR;
2521: END IF;
2522:
2523: -- Standard call to get message count and if count is 1, get message info.
2524: FND_MSG_PUB.Count_And_Get(
2521: END IF;
2522:
2523: -- Standard call to get message count and if count is 1, get message info.
2524: FND_MSG_PUB.Count_And_Get(
2525: p_encoded => FND_API.G_FALSE,
2526: p_count => x_msg_count,
2527: p_data => x_msg_data);
2528:
2529: EXCEPTION
2526: p_count => x_msg_count,
2527: p_data => x_msg_data);
2528:
2529: EXCEPTION
2530: WHEN FND_API.G_EXC_ERROR THEN
2531: ROLLBACK TO update_zone_type;
2532: x_return_status := FND_API.G_RET_STS_ERROR;
2533: FND_MSG_PUB.Count_And_Get(
2534: p_encoded => FND_API.G_FALSE,
2528:
2529: EXCEPTION
2530: WHEN FND_API.G_EXC_ERROR THEN
2531: ROLLBACK TO update_zone_type;
2532: x_return_status := FND_API.G_RET_STS_ERROR;
2533: FND_MSG_PUB.Count_And_Get(
2534: p_encoded => FND_API.G_FALSE,
2535: p_count => x_msg_count,
2536: p_data => x_msg_data);
2530: WHEN FND_API.G_EXC_ERROR THEN
2531: ROLLBACK TO update_zone_type;
2532: x_return_status := FND_API.G_RET_STS_ERROR;
2533: FND_MSG_PUB.Count_And_Get(
2534: p_encoded => FND_API.G_FALSE,
2535: p_count => x_msg_count,
2536: p_data => x_msg_data);
2537: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2538: ROLLBACK TO update_zone_type;
2533: FND_MSG_PUB.Count_And_Get(
2534: p_encoded => FND_API.G_FALSE,
2535: p_count => x_msg_count,
2536: p_data => x_msg_data);
2537: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2538: ROLLBACK TO update_zone_type;
2539: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2540: FND_MSG_PUB.Count_And_Get(
2541: p_encoded => FND_API.G_FALSE,
2535: p_count => x_msg_count,
2536: p_data => x_msg_data);
2537: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2538: ROLLBACK TO update_zone_type;
2539: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2540: FND_MSG_PUB.Count_And_Get(
2541: p_encoded => FND_API.G_FALSE,
2542: p_count => x_msg_count,
2543: p_data => x_msg_data);
2537: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2538: ROLLBACK TO update_zone_type;
2539: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2540: FND_MSG_PUB.Count_And_Get(
2541: p_encoded => FND_API.G_FALSE,
2542: p_count => x_msg_count,
2543: p_data => x_msg_data);
2544:
2545: WHEN OTHERS THEN
2543: p_data => x_msg_data);
2544:
2545: WHEN OTHERS THEN
2546: ROLLBACK TO update_zone_type;
2547: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2548: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
2549: FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
2550: FND_MSG_PUB.ADD;
2551: FND_MSG_PUB.Count_And_Get(
2548: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
2549: FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
2550: FND_MSG_PUB.ADD;
2551: FND_MSG_PUB.Count_And_Get(
2552: p_encoded => FND_API.G_FALSE,
2553: p_count => x_msg_count,
2554: p_data => x_msg_data);
2555:
2556: END update_zone_type;