230: p_class_cat_rec,
231: 'C',
232: x_return_status);
233:
234: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
235: RAISE FND_API.G_EXC_ERROR;
236: END IF;
237:
238: If HZ_CLASS_VALIDATE_V2PUB.is_valid_delimiter(p_class_cat_rec.class_category,p_class_cat_rec.delimiter)='N'
231: 'C',
232: x_return_status);
233:
234: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
235: RAISE FND_API.G_EXC_ERROR;
236: END IF;
237:
238: If HZ_CLASS_VALIDATE_V2PUB.is_valid_delimiter(p_class_cat_rec.class_category,p_class_cat_rec.delimiter)='N'
239: then
238: If HZ_CLASS_VALIDATE_V2PUB.is_valid_delimiter(p_class_cat_rec.class_category,p_class_cat_rec.delimiter)='N'
239: then
240: FND_MESSAGE.SET_NAME('AR', 'HZ_INVALID_DELIMITER');
241: FND_MSG_PUB.ADD;
242: RAISE FND_API.G_EXC_ERROR;
243: end if;
244:
245: HZ_CLASS_CATEGORIES_PKG.Insert_Row (
246: X_CLASS_CATEGORY => p_class_cat_rec.class_category,
311: THEN
312: FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
313: FND_MESSAGE.SET_TOKEN('TABLE', 'HZ_CLASS_CATEGORIES');
314: FND_MSG_PUB.ADD;
315: RAISE FND_API.G_EXC_ERROR;
316: END IF;
317:
318: p_object_version_number := nvl(l_object_version_number, 1) + 1;
319:
321: FND_MESSAGE.SET_NAME('AR', 'HZ_API_NO_RECORD');
322: FND_MESSAGE.SET_TOKEN('RECORD', 'HZ_CLASS_CATEGORIES');
323: FND_MESSAGE.SET_TOKEN('VALUE', 'p_class_cat_rec.class_category');
324: FND_MSG_PUB.ADD;
325: RAISE FND_API.G_EXC_ERROR;
326: END;
327:
328: -- call for validations.
329: HZ_CLASS_VALIDATE_V2PUB.validate_class_category(p_class_cat_rec, 'U', x_return_status);
327:
328: -- call for validations.
329: HZ_CLASS_VALIDATE_V2PUB.validate_class_category(p_class_cat_rec, 'U', x_return_status);
330:
331: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
332: RAISE FND_API.G_EXC_ERROR;
333: END IF;
334:
335: if p_class_cat_rec.delimiter is not null
328: -- call for validations.
329: HZ_CLASS_VALIDATE_V2PUB.validate_class_category(p_class_cat_rec, 'U', x_return_status);
330:
331: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
332: RAISE FND_API.G_EXC_ERROR;
333: END IF;
334:
335: if p_class_cat_rec.delimiter is not null
336: and (nvl(l_delimiter,fnd_api.g_miss_char) <> p_class_cat_rec.delimiter)
332: RAISE FND_API.G_EXC_ERROR;
333: END IF;
334:
335: if p_class_cat_rec.delimiter is not null
336: and (nvl(l_delimiter,fnd_api.g_miss_char) <> p_class_cat_rec.delimiter)
337: then
338: If HZ_CLASS_VALIDATE_V2PUB.is_valid_delimiter(p_class_cat_rec.class_category,p_class_cat_rec.delimiter)='N'
339: then
340: FND_MESSAGE.SET_NAME('AR', 'HZ_INVALID_DELIMITER');
338: If HZ_CLASS_VALIDATE_V2PUB.is_valid_delimiter(p_class_cat_rec.class_category,p_class_cat_rec.delimiter)='N'
339: then
340: FND_MESSAGE.SET_NAME('AR', 'HZ_INVALID_DELIMITER');
341: FND_MSG_PUB.ADD;
342: RAISE FND_API.G_EXC_ERROR;
343: end if;
344: end if;
345:
346: if (p_class_cat_rec.allow_leaf_node_only_flag is not null
343: end if;
344: end if;
345:
346: if (p_class_cat_rec.allow_leaf_node_only_flag is not null
347: and (nvl(l_allow_leaf_node_only_flag,fnd_api.g_miss_char) <> p_class_cat_rec.allow_leaf_node_only_flag))
348: or (p_class_cat_rec.delimiter is not null
349: and (nvl(l_delimiter,fnd_api.g_miss_char) <> p_class_cat_rec.delimiter))
350: or (p_class_cat_rec.allow_multi_parent_flag is not null
351: and (nvl(l_allow_multi_parent_flag,fnd_api.g_miss_char) <> p_class_cat_rec.allow_multi_parent_flag))
345:
346: if (p_class_cat_rec.allow_leaf_node_only_flag is not null
347: and (nvl(l_allow_leaf_node_only_flag,fnd_api.g_miss_char) <> p_class_cat_rec.allow_leaf_node_only_flag))
348: or (p_class_cat_rec.delimiter is not null
349: and (nvl(l_delimiter,fnd_api.g_miss_char) <> p_class_cat_rec.delimiter))
350: or (p_class_cat_rec.allow_multi_parent_flag is not null
351: and (nvl(l_allow_multi_parent_flag,fnd_api.g_miss_char) <> p_class_cat_rec.allow_multi_parent_flag))
352: then
353: set_frozen_flag(p_class_cat_rec.class_category);
347: and (nvl(l_allow_leaf_node_only_flag,fnd_api.g_miss_char) <> p_class_cat_rec.allow_leaf_node_only_flag))
348: or (p_class_cat_rec.delimiter is not null
349: and (nvl(l_delimiter,fnd_api.g_miss_char) <> p_class_cat_rec.delimiter))
350: or (p_class_cat_rec.allow_multi_parent_flag is not null
351: and (nvl(l_allow_multi_parent_flag,fnd_api.g_miss_char) <> p_class_cat_rec.allow_multi_parent_flag))
352: then
353: set_frozen_flag(p_class_cat_rec.class_category);
354: end if;
355:
405:
406: -- Bug 3816590. Default start_date_active to sysdate if user has not passed any value.
407:
408: If p_class_code_rel_rec.start_date_active is null
409: OR p_class_code_rel_rec.start_date_active = fnd_api.g_miss_date
410: then
411: p_class_code_rel_rec.start_date_active := sysdate;
412: end if;
413:
415: p_class_code_rel_rec,
416: 'C',
417: x_return_status);
418:
419: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
420: RAISE FND_API.G_EXC_ERROR;
421: END IF;
422:
423: HZ_CLASS_CODE_RELATIONS_PKG.Insert_Row (
416: 'C',
417: x_return_status);
418:
419: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
420: RAISE FND_API.G_EXC_ERROR;
421: END IF;
422:
423: HZ_CLASS_CODE_RELATIONS_PKG.Insert_Row (
424: X_CLASS_CATEGORY => p_class_code_rel_rec.class_category,
489: THEN
490: FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
491: FND_MESSAGE.SET_TOKEN('TABLE', 'HZ_CLASS_CODE_RELATIONS');
492: FND_MSG_PUB.ADD;
493: RAISE FND_API.G_EXC_ERROR;
494: END IF;
495:
496: p_object_version_number := nvl(l_object_version_number, 1) + 1;
497:
499: FND_MESSAGE.SET_NAME('AR', 'HZ_API_NO_RECORD');
500: FND_MESSAGE.SET_TOKEN('RECORD', 'HZ_CLASS_CODE_RELATIONS');
501: FND_MESSAGE.SET_TOKEN('VALUE', 'p_class_code_rel_rec.class_category');
502: FND_MSG_PUB.ADD;
503: RAISE FND_API.G_EXC_ERROR;
504: END;
505:
506: -- call for validations.
507: HZ_CLASS_VALIDATE_V2PUB.validate_class_code_relation(
508: p_class_code_rel_rec,
509: 'U',
510: x_return_status);
511:
512: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
513: RAISE FND_API.G_EXC_ERROR;
514: END IF;
515:
516: if p_class_code_rel_rec.end_date_active is not null
509: 'U',
510: x_return_status);
511:
512: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
513: RAISE FND_API.G_EXC_ERROR;
514: END IF;
515:
516: if p_class_code_rel_rec.end_date_active is not null
517: and (nvl(l_end_date_active,fnd_api.g_miss_date) <> p_class_code_rel_rec.end_date_active)
513: RAISE FND_API.G_EXC_ERROR;
514: END IF;
515:
516: if p_class_code_rel_rec.end_date_active is not null
517: and (nvl(l_end_date_active,fnd_api.g_miss_date) <> p_class_code_rel_rec.end_date_active)
518: then
519: set_frozen_flag(p_class_code_rel_rec.class_category);
520: end if;
521:
574: ) IS
575:
576: l_rowid ROWID := NULL;
577:
578: dss_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
579: dss_msg_count NUMBER := 0;
580: dss_msg_data VARCHAR2(2000):= null;
581: l_test_security VARCHAR2(1):= 'F';
582:
605:
606: BEGIN
607:
608: -- Bug 3070461. Default start_date_active to sysdate if user has not passed any value.
609: If p_code_assignment_rec.start_date_active is null OR p_code_assignment_rec.start_date_active = fnd_api.g_miss_date then
610: p_code_assignment_rec.start_date_active := sysdate;
611: end if;
612:
613:
614: --Bug Number 2824772 . API should default the 'content_source_type' column value to'USER_ENTERED'
615:
616: IF p_code_assignment_rec.content_source_type IS NULL
617: OR
618: p_code_assignment_rec.content_source_type = FND_API.G_MISS_CHAR
619: THEN
620: p_code_assignment_rec.content_source_type :='USER_ENTERED';
621: END IF;
622:
626: p_code_assignment_rec,
627: 'C',
628: x_return_status);
629:
630: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
631: RAISE FND_API.G_EXC_ERROR;
632: END IF;
633:
634: --Bug 2830772: For 'NACE' lookup type, if the content_source_type is not
627: 'C',
628: x_return_status);
629:
630: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
631: RAISE FND_API.G_EXC_ERROR;
632: END IF;
633:
634: --Bug 2830772: For 'NACE' lookup type, if the content_source_type is not
635: --'USER_ENTERED', even if the lookup_code is passed incorrectly with respect
696: x_return_status => dss_return_status,
697: x_msg_count => dss_msg_count,
698: x_msg_data => dss_msg_data);
699:
700: if dss_return_status <> fnd_api.g_ret_sts_success THEN
701: RAISE FND_API.G_EXC_ERROR;
702: end if;
703:
704: if (l_test_security <> 'T' OR l_test_security <> FND_API.G_TRUE) then
697: x_msg_count => dss_msg_count,
698: x_msg_data => dss_msg_data);
699:
700: if dss_return_status <> fnd_api.g_ret_sts_success THEN
701: RAISE FND_API.G_EXC_ERROR;
702: end if;
703:
704: if (l_test_security <> 'T' OR l_test_security <> FND_API.G_TRUE) then
705: --
700: if dss_return_status <> fnd_api.g_ret_sts_success THEN
701: RAISE FND_API.G_EXC_ERROR;
702: end if;
703:
704: if (l_test_security <> 'T' OR l_test_security <> FND_API.G_TRUE) then
705: --
706: -- Bug 3835601: replaced the dss message with a more user friendly message
707: --
708: FND_MESSAGE.SET_NAME('AR', 'HZ_DSS_NO_INSERT_PRIVILEGE');
708: FND_MESSAGE.SET_NAME('AR', 'HZ_DSS_NO_INSERT_PRIVILEGE');
709: FND_MESSAGE.SET_TOKEN('ENTITY_NAME',
710: hz_dss_util_pub.get_display_name('HZ_CODE_ASSIGNMENTS', null));
711: FND_MSG_PUB.ADD;
712: RAISE FND_API.G_EXC_ERROR;
713: end if;
714: END IF;
715:
716:
730: p_code_assignment_rec.start_date_active<=sysdate
731: AND
732: (
733: p_code_assignment_rec.end_date_active is NULL
734: OR p_code_assignment_rec.end_date_active=fnd_api.g_miss_date
735: OR p_code_assignment_rec.end_date_active>sysdate
736: )
737: THEN
738: OPEN c_party_type(p_code_assignment_rec.owner_table_id);
767: x_profile_id,
768: x_return_status,
769: dss_msg_count,
770: dss_msg_data);
771: IF x_return_status <> fnd_api.g_ret_sts_success THEN
772: RAISE FND_API.G_EXC_ERROR;
773: END IF;
774: END IF;
775: END IF;
768: x_return_status,
769: dss_msg_count,
770: dss_msg_data);
771: IF x_return_status <> fnd_api.g_ret_sts_success THEN
772: RAISE FND_API.G_EXC_ERROR;
773: END IF;
774: END IF;
775: END IF;
776: END IF;
788: p_code_assignment_rec.start_date_active<=sysdate
789: AND
790: (
791: p_code_assignment_rec.end_date_active is NULL
792: OR p_code_assignment_rec.end_date_active=fnd_api.g_miss_date
793: OR p_code_assignment_rec.end_date_active>sysdate
794: )
795: THEN
796: update hz_parties
957: THEN
958: FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
959: FND_MESSAGE.SET_TOKEN('TABLE', 'HZ_CODE_ASSIGNMENTS');
960: FND_MSG_PUB.ADD;
961: RAISE FND_API.G_EXC_ERROR;
962: END IF;
963:
964: p_object_version_number := nvl(l_object_version_number, 1) + 1;
965:
967: FND_MESSAGE.SET_NAME('AR', 'HZ_API_NO_RECORD');
968: FND_MESSAGE.SET_TOKEN('RECORD', 'HZ_CODE_ASSIGNMENTS');
969: FND_MESSAGE.SET_TOKEN('VALUE', 'p_code_assignment_rec.code_assignment_id');
970: FND_MSG_PUB.ADD;
971: RAISE FND_API.G_EXC_ERROR;
972: END;
973:
974: -- call for validations.
975: HZ_CLASS_VALIDATE_V2PUB.validate_code_assignment(
976: p_code_assignment_rec,
977: 'U',
978: x_return_status);
979:
980: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
981: RAISE FND_API.G_EXC_ERROR;
982: END IF;
983:
984: --Bug 2830772: For 'NACE' lookup type, if the content_source_type is not
977: 'U',
978: x_return_status);
979:
980: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
981: RAISE FND_API.G_EXC_ERROR;
982: END IF;
983:
984: --Bug 2830772: For 'NACE' lookup type, if the content_source_type is not
985: --'USER_ENTERED', even if the lookup_code is passed incorrectly with respect
1062: nvl(p_code_assignment_rec.primary_flag,l_primary_flag)='Y'
1063: AND
1064: (
1065: ( nvl(p_code_assignment_rec.end_date_active,l_end_date)<= SYSDATE
1066: AND nvl(p_code_assignment_rec.end_date_active,l_end_date)<> fnd_api.g_miss_date
1067: )
1068: OR
1069: nvl(p_code_assignment_rec.start_date_active,l_start_date)> SYSDATE
1070:
1083: OPEN c_new_denorm(l_owner_table_id,p_code_assignment_rec.code_assignment_id);
1084: FETCH c_new_denorm into l_organization_rec.SIC_CODE_TYPE ,l_organization_rec.SIC_CODE ;
1085: IF c_new_denorm%NOTFOUND
1086: THEN
1087: l_organization_rec.SIC_CODE_TYPE := fnd_api.g_miss_char;
1088: l_organization_rec.SIC_CODE := fnd_api.g_miss_char;
1089: END IF;
1090: CLOSE c_new_denorm;
1091:
1084: FETCH c_new_denorm into l_organization_rec.SIC_CODE_TYPE ,l_organization_rec.SIC_CODE ;
1085: IF c_new_denorm%NOTFOUND
1086: THEN
1087: l_organization_rec.SIC_CODE_TYPE := fnd_api.g_miss_char;
1088: l_organization_rec.SIC_CODE := fnd_api.g_miss_char;
1089: END IF;
1090: CLOSE c_new_denorm;
1091:
1092: l_party_rec.party_id := l_owner_table_id;
1104: x_return_status,
1105: dss_msg_count,
1106: dss_msg_data);
1107:
1108: IF x_return_status <> fnd_api.g_ret_sts_success THEN
1109: RAISE FND_API.G_EXC_ERROR;
1110: END IF;
1111: END IF;
1112: ELSIF
1105: dss_msg_count,
1106: dss_msg_data);
1107:
1108: IF x_return_status <> fnd_api.g_ret_sts_success THEN
1109: RAISE FND_API.G_EXC_ERROR;
1110: END IF;
1111: END IF;
1112: ELSIF
1113: nvl(p_code_assignment_rec.primary_flag,l_primary_flag)='Y'
1115: nvl(p_code_assignment_rec.start_date_active,l_start_date)<=sysdate
1116: AND
1117: (
1118: nvl(p_code_assignment_rec.end_date_active,l_end_date) is NULL
1119: OR nvl(p_code_assignment_rec.end_date_active,l_end_date)=fnd_api.g_miss_date
1120: OR nvl(p_code_assignment_rec.end_date_active,l_end_date)>sysdate
1121: )
1122: THEN
1123: OPEN c_party_type(nvl(p_code_assignment_rec.owner_table_id,l_owner_table_id));
1153: x_profile_id,
1154: x_return_status,
1155: dss_msg_count,
1156: dss_msg_data);
1157: IF x_return_status <> fnd_api.g_ret_sts_success THEN
1158: RAISE FND_API.G_EXC_ERROR;
1159: END IF;
1160: END IF;
1161: END IF;
1154: x_return_status,
1155: dss_msg_count,
1156: dss_msg_data);
1157: IF x_return_status <> fnd_api.g_ret_sts_success THEN
1158: RAISE FND_API.G_EXC_ERROR;
1159: END IF;
1160: END IF;
1161: END IF;
1162: END IF;
1174: nvl(p_code_assignment_rec.primary_flag,l_primary_flag)='Y'
1175: AND
1176: (
1177: ( nvl(p_code_assignment_rec.end_date_active,l_end_date)<= SYSDATE
1178: AND nvl(p_code_assignment_rec.end_date_active,l_end_date)<> fnd_api.g_miss_date
1179: )
1180: OR
1181: nvl(p_code_assignment_rec.start_date_active,l_start_date)> SYSDATE
1182:
1198: nvl(p_code_assignment_rec.start_date_active,l_start_date)<=sysdate
1199: AND
1200: (
1201: nvl(p_code_assignment_rec.end_date_active,l_end_date) is NULL
1202: OR nvl(p_code_assignment_rec.end_date_active,l_end_date)=fnd_api.g_miss_date
1203: OR nvl(p_code_assignment_rec.end_date_active,l_end_date)>sysdate
1204: )
1205: THEN
1206: update hz_parties
1270: p_class_category_use_rec,
1271: 'C',
1272: x_return_status);
1273:
1274: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1275: RAISE FND_API.G_EXC_ERROR;
1276: END IF;
1277:
1278: HZ_CLASS_CATEGORY_USES_PKG.Insert_Row (
1271: 'C',
1272: x_return_status);
1273:
1274: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1275: RAISE FND_API.G_EXC_ERROR;
1276: END IF;
1277:
1278: HZ_CLASS_CATEGORY_USES_PKG.Insert_Row (
1279: X_CLASS_CATEGORY => p_class_category_use_rec.class_category,
1341: THEN
1342: FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
1343: FND_MESSAGE.SET_TOKEN('TABLE', 'HZ_CLASS_CATEGORY_USES');
1344: FND_MSG_PUB.ADD;
1345: RAISE FND_API.G_EXC_ERROR;
1346: END IF;
1347:
1348: p_object_version_number := nvl(l_object_version_number, 1) + 1;
1349:
1351: FND_MESSAGE.SET_NAME('AR', 'HZ_API_NO_RECORD');
1352: FND_MESSAGE.SET_TOKEN('RECORD', 'HZ_CLASS_CATEGORY_USES');
1353: FND_MESSAGE.SET_TOKEN('VALUE', 'p_class_category_use_rec.class_category');
1354: FND_MSG_PUB.ADD;
1355: RAISE FND_API.G_EXC_ERROR;
1356: END;
1357:
1358: -- call for validations.
1359: HZ_CLASS_VALIDATE_V2PUB.validate_class_category_use(
1360: p_class_category_use_rec,
1361: 'U',
1362: x_return_status);
1363:
1364: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1365: RAISE FND_API.G_EXC_ERROR;
1366: END IF;
1367:
1368: -- call to table-handler.
1361: 'U',
1362: x_return_status);
1363:
1364: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1365: RAISE FND_API.G_EXC_ERROR;
1366: END IF;
1367:
1368: -- call to table-handler.
1369: HZ_CLASS_CATEGORY_USES_PKG.Update_Row (
1393: *
1394: * ARGUMENTS
1395: * IN:
1396: * p_init_msg_list Initialize message stack if it is set to
1397: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
1398: * p_class_category_rec Class category record.
1399: * IN/OUT:
1400: * OUT:
1401: * x_return_status Return status after the call. The status can
1398: * p_class_category_rec Class category record.
1399: * IN/OUT:
1400: * OUT:
1401: * x_return_status Return status after the call. The status can
1402: * be FND_API.G_RET_STS_SUCCESS (success),
1403: * FND_API.G_RET_STS_ERROR (error),
1404: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1405: * x_msg_count Number of messages in message stack.
1406: * x_msg_data Message text if x_msg_count is 1.
1399: * IN/OUT:
1400: * OUT:
1401: * x_return_status Return status after the call. The status can
1402: * be FND_API.G_RET_STS_SUCCESS (success),
1403: * FND_API.G_RET_STS_ERROR (error),
1404: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1405: * x_msg_count Number of messages in message stack.
1406: * x_msg_data Message text if x_msg_count is 1.
1407: *
1400: * OUT:
1401: * x_return_status Return status after the call. The status can
1402: * be FND_API.G_RET_STS_SUCCESS (success),
1403: * FND_API.G_RET_STS_ERROR (error),
1404: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1405: * x_msg_count Number of messages in message stack.
1406: * x_msg_data Message text if x_msg_count is 1.
1407: *
1408: * NOTES
1413: *
1414: */
1415:
1416: PROCEDURE create_class_category(
1417: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1418: p_class_category_rec IN CLASS_CATEGORY_REC_TYPE,
1419: x_return_status OUT NOCOPY VARCHAR2,
1420: x_msg_count OUT NOCOPY NUMBER,
1421: x_msg_data OUT NOCOPY VARCHAR2
1428: -- standard start of API savepoint
1429: SAVEPOINT create_class_category;
1430:
1431: -- initialize message list if p_init_msg_list is set to TRUE.
1432: IF FND_API.to_Boolean(p_init_msg_list) THEN
1433: FND_MSG_PUB.initialize;
1434: END IF;
1435:
1436: -- initialize API return status to success.
1433: FND_MSG_PUB.initialize;
1434: END IF;
1435:
1436: -- initialize API return status to success.
1437: x_return_status := FND_API.G_RET_STS_SUCCESS;
1438:
1439: -- call to business logic.
1440: do_create_class_category(
1441: l_class_cat_rec,
1440: do_create_class_category(
1441: l_class_cat_rec,
1442: x_return_status);
1443:
1444: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
1445:
1446: -- Invoke business event system.
1447: --Bug 4743141.
1448: IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
1453: END IF;
1454:
1455: -- standard call to get message count and if count is 1, get message info.
1456: FND_MSG_PUB.Count_And_Get(
1457: p_encoded => FND_API.G_FALSE,
1458: p_count => x_msg_count,
1459: p_data => x_msg_data);
1460:
1461: EXCEPTION
1458: p_count => x_msg_count,
1459: p_data => x_msg_data);
1460:
1461: EXCEPTION
1462: WHEN FND_API.G_EXC_ERROR THEN
1463: ROLLBACK TO create_class_category;
1464: x_return_status := FND_API.G_RET_STS_ERROR;
1465: FND_MSG_PUB.Count_And_Get(
1466: p_encoded => FND_API.G_FALSE,
1460:
1461: EXCEPTION
1462: WHEN FND_API.G_EXC_ERROR THEN
1463: ROLLBACK TO create_class_category;
1464: x_return_status := FND_API.G_RET_STS_ERROR;
1465: FND_MSG_PUB.Count_And_Get(
1466: p_encoded => FND_API.G_FALSE,
1467: p_count => x_msg_count,
1468: p_data => x_msg_data);
1462: WHEN FND_API.G_EXC_ERROR THEN
1463: ROLLBACK TO create_class_category;
1464: x_return_status := FND_API.G_RET_STS_ERROR;
1465: FND_MSG_PUB.Count_And_Get(
1466: p_encoded => FND_API.G_FALSE,
1467: p_count => x_msg_count,
1468: p_data => x_msg_data);
1469:
1470: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1466: p_encoded => FND_API.G_FALSE,
1467: p_count => x_msg_count,
1468: p_data => x_msg_data);
1469:
1470: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1471: ROLLBACK TO create_class_category;
1472: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1473: FND_MSG_PUB.Count_And_Get(
1474: p_encoded => FND_API.G_FALSE,
1468: p_data => x_msg_data);
1469:
1470: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1471: ROLLBACK TO create_class_category;
1472: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1473: FND_MSG_PUB.Count_And_Get(
1474: p_encoded => FND_API.G_FALSE,
1475: p_count => x_msg_count,
1476: p_data => x_msg_data);
1470: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1471: ROLLBACK TO create_class_category;
1472: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1473: FND_MSG_PUB.Count_And_Get(
1474: p_encoded => FND_API.G_FALSE,
1475: p_count => x_msg_count,
1476: p_data => x_msg_data);
1477:
1478: WHEN OTHERS THEN
1476: p_data => x_msg_data);
1477:
1478: WHEN OTHERS THEN
1479: ROLLBACK TO create_class_category;
1480: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1481: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1482: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1483: FND_MSG_PUB.ADD;
1484: FND_MSG_PUB.Count_And_Get(
1481: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1482: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1483: FND_MSG_PUB.ADD;
1484: FND_MSG_PUB.Count_And_Get(
1485: p_encoded => FND_API.G_FALSE,
1486: p_count => x_msg_count,
1487: p_data => x_msg_data);
1488: END create_class_category;
1489:
1498: *
1499: * ARGUMENTS
1500: * IN:
1501: * p_init_msg_list Initialize message stack if it is set to
1502: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
1503: * p_class_category_rec Class category record.
1504: * IN/OUT:
1505: * p_object_version_number Used for locking the being updated record.
1506: * OUT:
1504: * IN/OUT:
1505: * p_object_version_number Used for locking the being updated record.
1506: * OUT:
1507: * x_return_status Return status after the call. The status can
1508: * be FND_API.G_RET_STS_SUCCESS (success),
1509: * FND_API.G_RET_STS_ERROR (error),
1510: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1511: * x_msg_count Number of messages in message stack.
1512: * x_msg_data Message text if x_msg_count is 1.
1505: * p_object_version_number Used for locking the being updated record.
1506: * OUT:
1507: * x_return_status Return status after the call. The status can
1508: * be FND_API.G_RET_STS_SUCCESS (success),
1509: * FND_API.G_RET_STS_ERROR (error),
1510: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1511: * x_msg_count Number of messages in message stack.
1512: * x_msg_data Message text if x_msg_count is 1.
1513: *
1506: * OUT:
1507: * x_return_status Return status after the call. The status can
1508: * be FND_API.G_RET_STS_SUCCESS (success),
1509: * FND_API.G_RET_STS_ERROR (error),
1510: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1511: * x_msg_count Number of messages in message stack.
1512: * x_msg_data Message text if x_msg_count is 1.
1513: *
1514: * NOTES
1519: *
1520: */
1521:
1522: PROCEDURE update_class_category (
1523: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1524: p_class_category_rec IN CLASS_CATEGORY_REC_TYPE,
1525: p_object_version_number IN OUT NOCOPY NUMBER,
1526: x_return_status OUT NOCOPY VARCHAR2,
1527: x_msg_count OUT NOCOPY NUMBER,
1536: -- standard start of API savepoint
1537: SAVEPOINT update_class_category;
1538:
1539: -- initialize message list if p_init_msg_list is set to TRUE.
1540: IF FND_API.to_Boolean(p_init_msg_list) THEN
1541: FND_MSG_PUB.initialize;
1542: END IF;
1543:
1544: -- initialize API return status to success.
1541: FND_MSG_PUB.initialize;
1542: END IF;
1543:
1544: -- initialize API return status to success.
1545: x_return_status := FND_API.G_RET_STS_SUCCESS;
1546:
1547: -- Get old records. Will be used by business event system.
1548: get_class_category_rec (
1549: p_class_category => l_class_cat_rec.class_category,
1551: x_return_status => x_return_status,
1552: x_msg_count => x_msg_count,
1553: x_msg_data => x_msg_data );
1554:
1555: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1556: RAISE FND_API.G_EXC_ERROR;
1557: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1558: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1559: END IF;
1552: x_msg_count => x_msg_count,
1553: x_msg_data => x_msg_data );
1554:
1555: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1556: RAISE FND_API.G_EXC_ERROR;
1557: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1558: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1559: END IF;
1560:
1553: x_msg_data => x_msg_data );
1554:
1555: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1556: RAISE FND_API.G_EXC_ERROR;
1557: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1558: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1559: END IF;
1560:
1561: -- call to business logic.
1554:
1555: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1556: RAISE FND_API.G_EXC_ERROR;
1557: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1558: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1559: END IF;
1560:
1561: -- call to business logic.
1562: do_update_class_category(
1563: l_class_cat_rec,
1564: p_object_version_number,
1565: x_return_status);
1566:
1567: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
1568:
1569: -- Invoke business event system.
1570: --Bug 4743141.
1571: IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
1577: END IF;
1578:
1579: -- standard call to get message count and if count is 1, get message info.
1580: FND_MSG_PUB.Count_And_Get(
1581: p_encoded => FND_API.G_FALSE,
1582: p_count => x_msg_count,
1583: p_data => x_msg_data);
1584:
1585: EXCEPTION
1582: p_count => x_msg_count,
1583: p_data => x_msg_data);
1584:
1585: EXCEPTION
1586: WHEN FND_API.G_EXC_ERROR THEN
1587: ROLLBACK TO update_class_category;
1588: x_return_status := FND_API.G_RET_STS_ERROR;
1589: FND_MSG_PUB.Count_And_Get(
1590: p_encoded => FND_API.G_FALSE,
1584:
1585: EXCEPTION
1586: WHEN FND_API.G_EXC_ERROR THEN
1587: ROLLBACK TO update_class_category;
1588: x_return_status := FND_API.G_RET_STS_ERROR;
1589: FND_MSG_PUB.Count_And_Get(
1590: p_encoded => FND_API.G_FALSE,
1591: p_count => x_msg_count,
1592: p_data => x_msg_data);
1586: WHEN FND_API.G_EXC_ERROR THEN
1587: ROLLBACK TO update_class_category;
1588: x_return_status := FND_API.G_RET_STS_ERROR;
1589: FND_MSG_PUB.Count_And_Get(
1590: p_encoded => FND_API.G_FALSE,
1591: p_count => x_msg_count,
1592: p_data => x_msg_data);
1593:
1594: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1590: p_encoded => FND_API.G_FALSE,
1591: p_count => x_msg_count,
1592: p_data => x_msg_data);
1593:
1594: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1595: ROLLBACK TO update_class_category;
1596: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1597: FND_MSG_PUB.Count_And_Get(
1598: p_encoded => FND_API.G_FALSE,
1592: p_data => x_msg_data);
1593:
1594: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1595: ROLLBACK TO update_class_category;
1596: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1597: FND_MSG_PUB.Count_And_Get(
1598: p_encoded => FND_API.G_FALSE,
1599: p_count => x_msg_count,
1600: p_data => x_msg_data);
1594: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1595: ROLLBACK TO update_class_category;
1596: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1597: FND_MSG_PUB.Count_And_Get(
1598: p_encoded => FND_API.G_FALSE,
1599: p_count => x_msg_count,
1600: p_data => x_msg_data);
1601:
1602: WHEN OTHERS THEN
1600: p_data => x_msg_data);
1601:
1602: WHEN OTHERS THEN
1603: ROLLBACK TO update_class_category;
1604: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1605: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1606: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1607: FND_MSG_PUB.ADD;
1608: FND_MSG_PUB.Count_And_Get(
1605: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1606: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1607: FND_MSG_PUB.ADD;
1608: FND_MSG_PUB.Count_And_Get(
1609: p_encoded => FND_API.G_FALSE,
1610: p_count => x_msg_count,
1611: p_data => x_msg_data);
1612:
1613: END update_class_category;
1623: *
1624: * ARGUMENTS
1625: * IN:
1626: * p_init_msg_list Initialize message stack if it is set to
1627: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
1628: * p_class_code_relation_rec Class code relation record.
1629: * IN/OUT:
1630: * OUT:
1631: * x_return_status Return status after the call. The status can
1628: * p_class_code_relation_rec Class code relation record.
1629: * IN/OUT:
1630: * OUT:
1631: * x_return_status Return status after the call. The status can
1632: * be FND_API.G_RET_STS_SUCCESS (success),
1633: * FND_API.G_RET_STS_ERROR (error),
1634: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1635: * x_msg_count Number of messages in message stack.
1636: * x_msg_data Message text if x_msg_count is 1.
1629: * IN/OUT:
1630: * OUT:
1631: * x_return_status Return status after the call. The status can
1632: * be FND_API.G_RET_STS_SUCCESS (success),
1633: * FND_API.G_RET_STS_ERROR (error),
1634: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1635: * x_msg_count Number of messages in message stack.
1636: * x_msg_data Message text if x_msg_count is 1.
1637: *
1630: * OUT:
1631: * x_return_status Return status after the call. The status can
1632: * be FND_API.G_RET_STS_SUCCESS (success),
1633: * FND_API.G_RET_STS_ERROR (error),
1634: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1635: * x_msg_count Number of messages in message stack.
1636: * x_msg_data Message text if x_msg_count is 1.
1637: *
1638: * NOTES
1643: *
1644: */
1645:
1646: PROCEDURE create_class_code_relation(
1647: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1648: p_class_code_relation_rec IN CLASS_CODE_RELATION_REC_TYPE,
1649: x_return_status OUT NOCOPY VARCHAR2,
1650: x_msg_count OUT NOCOPY NUMBER,
1651: x_msg_data OUT NOCOPY VARCHAR2
1658: -- standard start of API savepoint
1659: SAVEPOINT create_class_code_relation;
1660:
1661: -- initialize message list if p_init_msg_list is set to TRUE.
1662: IF FND_API.to_Boolean(p_init_msg_list) THEN
1663: FND_MSG_PUB.initialize;
1664: END IF;
1665:
1666: -- initialize API return status to success.
1663: FND_MSG_PUB.initialize;
1664: END IF;
1665:
1666: -- initialize API return status to success.
1667: x_return_status := FND_API.G_RET_STS_SUCCESS;
1668: -- call to business logic.
1669: do_create_class_code_relation(
1670: l_class_code_rel_rec,
1671: x_return_status);
1669: do_create_class_code_relation(
1670: l_class_code_rel_rec,
1671: x_return_status);
1672:
1673: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
1674:
1675: -- Invoke business event system.
1676: --Bug 4743141.
1677: IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
1682: END IF;
1683:
1684: -- standard call to get message count and if count is 1, get message info.
1685: FND_MSG_PUB.Count_And_Get(
1686: p_encoded => FND_API.G_FALSE,
1687: p_count => x_msg_count,
1688: p_data => x_msg_data);
1689:
1690: EXCEPTION
1687: p_count => x_msg_count,
1688: p_data => x_msg_data);
1689:
1690: EXCEPTION
1691: WHEN FND_API.G_EXC_ERROR THEN
1692: ROLLBACK TO create_class_code_relation;
1693: x_return_status := FND_API.G_RET_STS_ERROR;
1694: FND_MSG_PUB.Count_And_Get(
1695: p_encoded => FND_API.G_FALSE,
1689:
1690: EXCEPTION
1691: WHEN FND_API.G_EXC_ERROR THEN
1692: ROLLBACK TO create_class_code_relation;
1693: x_return_status := FND_API.G_RET_STS_ERROR;
1694: FND_MSG_PUB.Count_And_Get(
1695: p_encoded => FND_API.G_FALSE,
1696: p_count => x_msg_count,
1697: p_data => x_msg_data);
1691: WHEN FND_API.G_EXC_ERROR THEN
1692: ROLLBACK TO create_class_code_relation;
1693: x_return_status := FND_API.G_RET_STS_ERROR;
1694: FND_MSG_PUB.Count_And_Get(
1695: p_encoded => FND_API.G_FALSE,
1696: p_count => x_msg_count,
1697: p_data => x_msg_data);
1698:
1699: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1695: p_encoded => FND_API.G_FALSE,
1696: p_count => x_msg_count,
1697: p_data => x_msg_data);
1698:
1699: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1700: ROLLBACK TO create_class_code_relation;
1701: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1702: FND_MSG_PUB.Count_And_Get(
1703: p_encoded => FND_API.G_FALSE,
1697: p_data => x_msg_data);
1698:
1699: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1700: ROLLBACK TO create_class_code_relation;
1701: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1702: FND_MSG_PUB.Count_And_Get(
1703: p_encoded => FND_API.G_FALSE,
1704: p_count => x_msg_count,
1705: p_data => x_msg_data);
1699: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1700: ROLLBACK TO create_class_code_relation;
1701: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1702: FND_MSG_PUB.Count_And_Get(
1703: p_encoded => FND_API.G_FALSE,
1704: p_count => x_msg_count,
1705: p_data => x_msg_data);
1706:
1707: WHEN OTHERS THEN
1705: p_data => x_msg_data);
1706:
1707: WHEN OTHERS THEN
1708: ROLLBACK TO create_class_code_relation;
1709: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1710: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1711: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1712: FND_MSG_PUB.ADD;
1713: FND_MSG_PUB.Count_And_Get(
1710: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1711: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1712: FND_MSG_PUB.ADD;
1713: FND_MSG_PUB.Count_And_Get(
1714: p_encoded => FND_API.G_FALSE,
1715: p_count => x_msg_count,
1716: p_data => x_msg_data);
1717: END create_class_code_relation;
1718:
1727: *
1728: * ARGUMENTS
1729: * IN:
1730: * p_init_msg_list Initialize message stack if it is set to
1731: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
1732: * p_class_code_relation_rec Class code relation record.
1733: * IN/OUT:
1734: * p_object_version_number Used for locking the being updated record.
1735: * OUT:
1733: * IN/OUT:
1734: * p_object_version_number Used for locking the being updated record.
1735: * OUT:
1736: * x_return_status Return status after the call. The status can
1737: * be FND_API.G_RET_STS_SUCCESS (success),
1738: * FND_API.G_RET_STS_ERROR (error),
1739: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1740: * x_msg_count Number of messages in message stack.
1741: * x_msg_data Message text if x_msg_count is 1.
1734: * p_object_version_number Used for locking the being updated record.
1735: * OUT:
1736: * x_return_status Return status after the call. The status can
1737: * be FND_API.G_RET_STS_SUCCESS (success),
1738: * FND_API.G_RET_STS_ERROR (error),
1739: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1740: * x_msg_count Number of messages in message stack.
1741: * x_msg_data Message text if x_msg_count is 1.
1742: *
1735: * OUT:
1736: * x_return_status Return status after the call. The status can
1737: * be FND_API.G_RET_STS_SUCCESS (success),
1738: * FND_API.G_RET_STS_ERROR (error),
1739: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1740: * x_msg_count Number of messages in message stack.
1741: * x_msg_data Message text if x_msg_count is 1.
1742: *
1743: * NOTES
1748: *
1749: */
1750:
1751: PROCEDURE update_class_code_relation(
1752: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1753: p_class_code_relation_rec IN CLASS_CODE_RELATION_REC_TYPE,
1754: p_object_version_number IN OUT NOCOPY NUMBER,
1755: x_return_status OUT NOCOPY VARCHAR2,
1756: x_msg_count OUT NOCOPY NUMBER,
1765: -- standard start of API savepoint
1766: SAVEPOINT update_class_code_relation;
1767:
1768: -- initialize message list if p_init_msg_list is set to TRUE.
1769: IF FND_API.to_Boolean(p_init_msg_list) THEN
1770: FND_MSG_PUB.initialize;
1771: END IF;
1772:
1773: -- initialize API return status to success.
1770: FND_MSG_PUB.initialize;
1771: END IF;
1772:
1773: -- initialize API return status to success.
1774: x_return_status := FND_API.G_RET_STS_SUCCESS;
1775:
1776: -- Get old records. Will be used by business event system.
1777: get_class_code_relation_rec (
1778: p_class_category => l_class_code_rel_rec.class_category,
1783: x_return_status => x_return_status,
1784: x_msg_count => x_msg_count,
1785: x_msg_data => x_msg_data );
1786:
1787: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1788: RAISE FND_API.G_EXC_ERROR;
1789: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1790: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1791: END IF;
1784: x_msg_count => x_msg_count,
1785: x_msg_data => x_msg_data );
1786:
1787: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1788: RAISE FND_API.G_EXC_ERROR;
1789: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1790: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1791: END IF;
1792:
1785: x_msg_data => x_msg_data );
1786:
1787: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1788: RAISE FND_API.G_EXC_ERROR;
1789: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1790: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1791: END IF;
1792:
1793: -- call to business logic.
1786:
1787: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1788: RAISE FND_API.G_EXC_ERROR;
1789: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1790: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1791: END IF;
1792:
1793: -- call to business logic.
1794: do_update_class_code_relation(
1795: l_class_code_rel_rec,
1796: p_object_version_number,
1797: x_return_status);
1798:
1799: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
1800:
1801: -- Invoke business event system.
1802: --Bug 4743141.
1803: IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
1809: END IF;
1810:
1811: -- standard call to get message count and if count is 1, get message info.
1812: FND_MSG_PUB.Count_And_Get(
1813: p_encoded => FND_API.G_FALSE,
1814: p_count => x_msg_count,
1815: p_data => x_msg_data);
1816:
1817: EXCEPTION
1814: p_count => x_msg_count,
1815: p_data => x_msg_data);
1816:
1817: EXCEPTION
1818: WHEN FND_API.G_EXC_ERROR THEN
1819: ROLLBACK TO update_class_code_relation;
1820: x_return_status := FND_API.G_RET_STS_ERROR;
1821: FND_MSG_PUB.Count_And_Get(
1822: p_encoded => FND_API.G_FALSE,
1816:
1817: EXCEPTION
1818: WHEN FND_API.G_EXC_ERROR THEN
1819: ROLLBACK TO update_class_code_relation;
1820: x_return_status := FND_API.G_RET_STS_ERROR;
1821: FND_MSG_PUB.Count_And_Get(
1822: p_encoded => FND_API.G_FALSE,
1823: p_count => x_msg_count,
1824: p_data => x_msg_data);
1818: WHEN FND_API.G_EXC_ERROR THEN
1819: ROLLBACK TO update_class_code_relation;
1820: x_return_status := FND_API.G_RET_STS_ERROR;
1821: FND_MSG_PUB.Count_And_Get(
1822: p_encoded => FND_API.G_FALSE,
1823: p_count => x_msg_count,
1824: p_data => x_msg_data);
1825:
1826: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1822: p_encoded => FND_API.G_FALSE,
1823: p_count => x_msg_count,
1824: p_data => x_msg_data);
1825:
1826: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1827: ROLLBACK TO update_class_code_relation;
1828: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1829: FND_MSG_PUB.Count_And_Get(
1830: p_encoded => FND_API.G_FALSE,
1824: p_data => x_msg_data);
1825:
1826: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1827: ROLLBACK TO update_class_code_relation;
1828: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1829: FND_MSG_PUB.Count_And_Get(
1830: p_encoded => FND_API.G_FALSE,
1831: p_count => x_msg_count,
1832: p_data => x_msg_data);
1826: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1827: ROLLBACK TO update_class_code_relation;
1828: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1829: FND_MSG_PUB.Count_And_Get(
1830: p_encoded => FND_API.G_FALSE,
1831: p_count => x_msg_count,
1832: p_data => x_msg_data);
1833:
1834: WHEN OTHERS THEN
1832: p_data => x_msg_data);
1833:
1834: WHEN OTHERS THEN
1835: ROLLBACK TO update_class_code_relation;
1836: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1837: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1838: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1839: FND_MSG_PUB.ADD;
1840: FND_MSG_PUB.Count_And_Get(
1837: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1838: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1839: FND_MSG_PUB.ADD;
1840: FND_MSG_PUB.Count_And_Get(
1841: p_encoded => FND_API.G_FALSE,
1842: p_count => x_msg_count,
1843: p_data => x_msg_data);
1844:
1845: END update_class_code_relation;
1855: *
1856: * ARGUMENTS
1857: * IN:
1858: * p_init_msg_list Initialize message stack if it is set to
1859: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
1860: * p_code_assignement_rec Code assignment record.
1861: * IN/OUT:
1862: * OUT:
1863: * x_return_status Return status after the call. The status can
1860: * p_code_assignement_rec Code assignment record.
1861: * IN/OUT:
1862: * OUT:
1863: * x_return_status Return status after the call. The status can
1864: * be FND_API.G_RET_STS_SUCCESS (success),
1865: * FND_API.G_RET_STS_ERROR (error),
1866: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1867: * x_msg_count Number of messages in message stack.
1868: * x_msg_data Message text if x_msg_count is 1.
1861: * IN/OUT:
1862: * OUT:
1863: * x_return_status Return status after the call. The status can
1864: * be FND_API.G_RET_STS_SUCCESS (success),
1865: * FND_API.G_RET_STS_ERROR (error),
1866: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1867: * x_msg_count Number of messages in message stack.
1868: * x_msg_data Message text if x_msg_count is 1.
1869: * x_code_assignment_id Code assignment ID.
1862: * OUT:
1863: * x_return_status Return status after the call. The status can
1864: * be FND_API.G_RET_STS_SUCCESS (success),
1865: * FND_API.G_RET_STS_ERROR (error),
1866: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1867: * x_msg_count Number of messages in message stack.
1868: * x_msg_data Message text if x_msg_count is 1.
1869: * x_code_assignment_id Code assignment ID.
1870: *
1884:
1885: */
1886:
1887: PROCEDURE create_code_assignment(
1888: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1889: p_code_assignment_rec IN CODE_ASSIGNMENT_REC_TYPE,
1890: x_return_status OUT NOCOPY VARCHAR2,
1891: x_msg_count OUT NOCOPY NUMBER,
1892: x_msg_data OUT NOCOPY VARCHAR2,
1903: -- standard start of API savepoint
1904: SAVEPOINT create_code_assignment;
1905:
1906: -- initialize message list if p_init_msg_list is set to TRUE.
1907: IF FND_API.to_Boolean(p_init_msg_list) THEN
1908: FND_MSG_PUB.initialize;
1909: END IF;
1910:
1911: -- initialize API return status to success.
1908: FND_MSG_PUB.initialize;
1909: END IF;
1910:
1911: -- initialize API return status to success.
1912: x_return_status := FND_API.G_RET_STS_SUCCESS;
1913:
1914: -- SSM SST Integration and Extension
1915: HZ_MIXNM_UTILITY.AssignDataSourceDuringCreation (
1916: p_entity_name => 'HZ_CODE_ASSIGNMENTS',
1931:
1932: -- assign out NOCOPY param
1933: x_code_assignment_id := l_code_assignment_rec.code_assignment_id;
1934:
1935: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
1936: IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
1937: -- Invoke business event system.
1938: HZ_BUSINESS_EVENT_V2PVT.create_code_assignment_event (
1939: l_code_assignment_rec );
1947: END IF;
1948:
1949: -- standard call to get message count and if count is 1, get message info.
1950: FND_MSG_PUB.Count_And_Get(
1951: p_encoded => FND_API.G_FALSE,
1952: p_count => x_msg_count,
1953: p_data => x_msg_data);
1954:
1955: EXCEPTION
1952: p_count => x_msg_count,
1953: p_data => x_msg_data);
1954:
1955: EXCEPTION
1956: WHEN FND_API.G_EXC_ERROR THEN
1957: ROLLBACK TO create_code_assignment;
1958: x_return_status := FND_API.G_RET_STS_ERROR;
1959: FND_MSG_PUB.Count_And_Get(
1960: p_encoded => FND_API.G_FALSE,
1954:
1955: EXCEPTION
1956: WHEN FND_API.G_EXC_ERROR THEN
1957: ROLLBACK TO create_code_assignment;
1958: x_return_status := FND_API.G_RET_STS_ERROR;
1959: FND_MSG_PUB.Count_And_Get(
1960: p_encoded => FND_API.G_FALSE,
1961: p_count => x_msg_count,
1962: p_data => x_msg_data);
1956: WHEN FND_API.G_EXC_ERROR THEN
1957: ROLLBACK TO create_code_assignment;
1958: x_return_status := FND_API.G_RET_STS_ERROR;
1959: FND_MSG_PUB.Count_And_Get(
1960: p_encoded => FND_API.G_FALSE,
1961: p_count => x_msg_count,
1962: p_data => x_msg_data);
1963:
1964: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1960: p_encoded => FND_API.G_FALSE,
1961: p_count => x_msg_count,
1962: p_data => x_msg_data);
1963:
1964: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1965: ROLLBACK TO create_code_assignment;
1966: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1967: FND_MSG_PUB.Count_And_Get(
1968: p_encoded => FND_API.G_FALSE,
1962: p_data => x_msg_data);
1963:
1964: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1965: ROLLBACK TO create_code_assignment;
1966: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1967: FND_MSG_PUB.Count_And_Get(
1968: p_encoded => FND_API.G_FALSE,
1969: p_count => x_msg_count,
1970: p_data => x_msg_data);
1964: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1965: ROLLBACK TO create_code_assignment;
1966: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1967: FND_MSG_PUB.Count_And_Get(
1968: p_encoded => FND_API.G_FALSE,
1969: p_count => x_msg_count,
1970: p_data => x_msg_data);
1971:
1972: WHEN OTHERS THEN
1970: p_data => x_msg_data);
1971:
1972: WHEN OTHERS THEN
1973: ROLLBACK TO create_code_assignment;
1974: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1975: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1976: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1977: FND_MSG_PUB.ADD;
1978: FND_MSG_PUB.Count_And_Get(
1975: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1976: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1977: FND_MSG_PUB.ADD;
1978: FND_MSG_PUB.Count_And_Get(
1979: p_encoded => FND_API.G_FALSE,
1980: p_count => x_msg_count,
1981: p_data => x_msg_data);
1982: END create_code_assignment;
1983:
1992: *
1993: * ARGUMENTS
1994: * IN:
1995: * p_init_msg_list Initialize message stack if it is set to
1996: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
1997: * p_code_assignment_rec Code assignment record.
1998: * IN/OUT:
1999: * p_object_version_number Used for locking the being updated record.
2000: * OUT:
1998: * IN/OUT:
1999: * p_object_version_number Used for locking the being updated record.
2000: * OUT:
2001: * x_return_status Return status after the call. The status can
2002: * be FND_API.G_RET_STS_SUCCESS (success),
2003: * FND_API.G_RET_STS_ERROR (error),
2004: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2005: * x_msg_count Number of messages in message stack.
2006: * x_msg_data Message text if x_msg_count is 1.
1999: * p_object_version_number Used for locking the being updated record.
2000: * OUT:
2001: * x_return_status Return status after the call. The status can
2002: * be FND_API.G_RET_STS_SUCCESS (success),
2003: * FND_API.G_RET_STS_ERROR (error),
2004: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2005: * x_msg_count Number of messages in message stack.
2006: * x_msg_data Message text if x_msg_count is 1.
2007: *
2000: * OUT:
2001: * x_return_status Return status after the call. The status can
2002: * be FND_API.G_RET_STS_SUCCESS (success),
2003: * FND_API.G_RET_STS_ERROR (error),
2004: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2005: * x_msg_count Number of messages in message stack.
2006: * x_msg_data Message text if x_msg_count is 1.
2007: *
2008: * NOTES
2013: * 29-MAY-2003 Jyoti Pandey o Make the API protected by Data security Bug 2963010
2014: */
2015:
2016: PROCEDURE update_code_assignment (
2017: p_init_msg_list IN VARCHAR2:=FND_API.G_FALSE,
2018: p_code_assignment_rec IN CODE_ASSIGNMENT_REC_TYPE,
2019: p_object_version_number IN OUT NOCOPY NUMBER,
2020: x_return_status OUT NOCOPY VARCHAR2,
2021: x_msg_count OUT NOCOPY NUMBER,
2024:
2025: l_code_assignment_rec CODE_ASSIGNMENT_REC_TYPE := p_code_assignment_rec;
2026: l_old_code_assignment_rec CODE_ASSIGNMENT_REC_TYPE;
2027:
2028: dss_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
2029: dss_msg_count NUMBER := 0;
2030: dss_msg_data VARCHAR2(2000):= null;
2031: l_test_security VARCHAR2(1):= 'F';
2032:
2035: -- standard start of API savepoint
2036: SAVEPOINT update_code_assignment;
2037:
2038: -- initialize message list if p_init_msg_list is set to TRUE.
2039: IF FND_API.to_Boolean(p_init_msg_list) THEN
2040: FND_MSG_PUB.initialize;
2041: END IF;
2042:
2043: -- initialize API return status to success.
2040: FND_MSG_PUB.initialize;
2041: END IF;
2042:
2043: -- initialize API return status to success.
2044: x_return_status := FND_API.G_RET_STS_SUCCESS;
2045:
2046: -- Get old records. Will be used by business event system.
2047: get_code_assignment_rec (
2048: p_code_assignment_id => l_code_assignment_rec.code_assignment_id,
2051: x_msg_count => x_msg_count,
2052: x_msg_data => x_msg_data );
2053:
2054: -- Bug:2154581
2055: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
2056: IF l_code_assignment_rec.start_date_active IS NULL OR
2057: l_code_assignment_rec.start_date_active = FND_API.G_MISS_DATE THEN
2058: l_code_assignment_rec.start_date_active := l_old_code_assignment_rec.start_date_active;
2059: END IF;
2053:
2054: -- Bug:2154581
2055: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
2056: IF l_code_assignment_rec.start_date_active IS NULL OR
2057: l_code_assignment_rec.start_date_active = FND_API.G_MISS_DATE THEN
2058: l_code_assignment_rec.start_date_active := l_old_code_assignment_rec.start_date_active;
2059: END IF;
2060: END IF;
2061: --
2058: l_code_assignment_rec.start_date_active := l_old_code_assignment_rec.start_date_active;
2059: END IF;
2060: END IF;
2061: --
2062: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2063: RAISE FND_API.G_EXC_ERROR;
2064: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2065: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2066: END IF;
2059: END IF;
2060: END IF;
2061: --
2062: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2063: RAISE FND_API.G_EXC_ERROR;
2064: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2065: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2066: END IF;
2067:
2060: END IF;
2061: --
2062: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2063: RAISE FND_API.G_EXC_ERROR;
2064: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2065: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2066: END IF;
2067:
2068: ---Bug 2963010 make table HZ_CODE_ASSIGNMENTS protected by Data Security
2061: --
2062: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2063: RAISE FND_API.G_EXC_ERROR;
2064: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2065: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2066: END IF;
2067:
2068: ---Bug 2963010 make table HZ_CODE_ASSIGNMENTS protected by Data Security
2069: ---Check if the DSS security is granted to the user
2083: x_return_status => dss_return_status,
2084: x_msg_count => dss_msg_count,
2085: x_msg_data => dss_msg_data);
2086:
2087: if dss_return_status <> fnd_api.g_ret_sts_success THEN
2088: RAISE FND_API.G_EXC_ERROR;
2089: end if;
2090:
2091: if (l_test_security <> 'T' OR l_test_security <> FND_API.G_TRUE) then
2084: x_msg_count => dss_msg_count,
2085: x_msg_data => dss_msg_data);
2086:
2087: if dss_return_status <> fnd_api.g_ret_sts_success THEN
2088: RAISE FND_API.G_EXC_ERROR;
2089: end if;
2090:
2091: if (l_test_security <> 'T' OR l_test_security <> FND_API.G_TRUE) then
2092: --
2087: if dss_return_status <> fnd_api.g_ret_sts_success THEN
2088: RAISE FND_API.G_EXC_ERROR;
2089: end if;
2090:
2091: if (l_test_security <> 'T' OR l_test_security <> FND_API.G_TRUE) then
2092: --
2093: -- Bug 3835601: replaced the dss message with a more user friendly message
2094: --
2095: FND_MESSAGE.SET_NAME('AR', 'HZ_DSS_NO_UPDATE_PRIVILEGE');
2094: --
2095: FND_MESSAGE.SET_NAME('AR', 'HZ_DSS_NO_UPDATE_PRIVILEGE');
2096: FND_MESSAGE.SET_TOKEN('ENTITY_NAME',
2097: hz_dss_util_pub.get_display_name('HZ_CODE_ASSIGNMENTS', null)); FND_MSG_PUB.ADD;
2098: RAISE FND_API.G_EXC_ERROR;
2099: end if;
2100: END IF;
2101:
2102: --Call to business logic.
2104: l_code_assignment_rec,
2105: p_object_version_number,
2106: x_return_status);
2107:
2108: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
2109: IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
2110: -- Invoke business event system.
2111: HZ_BUSINESS_EVENT_V2PVT.update_code_assignment_event (
2112: l_code_assignment_rec,
2122:
2123: HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
2124: -- standard call to get message count and if count is 1, get message info.
2125: FND_MSG_PUB.Count_And_Get(
2126: p_encoded => FND_API.G_FALSE,
2127: p_count => x_msg_count,
2128: p_data => x_msg_data);
2129:
2130: EXCEPTION
2127: p_count => x_msg_count,
2128: p_data => x_msg_data);
2129:
2130: EXCEPTION
2131: WHEN FND_API.G_EXC_ERROR THEN
2132: ROLLBACK TO update_code_assignment;
2133: HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
2134: x_return_status := FND_API.G_RET_STS_ERROR;
2135: FND_MSG_PUB.Count_And_Get(
2130: EXCEPTION
2131: WHEN FND_API.G_EXC_ERROR THEN
2132: ROLLBACK TO update_code_assignment;
2133: HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
2134: x_return_status := FND_API.G_RET_STS_ERROR;
2135: FND_MSG_PUB.Count_And_Get(
2136: p_encoded => FND_API.G_FALSE,
2137: p_count => x_msg_count,
2138: p_data => x_msg_data);
2132: ROLLBACK TO update_code_assignment;
2133: HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
2134: x_return_status := FND_API.G_RET_STS_ERROR;
2135: FND_MSG_PUB.Count_And_Get(
2136: p_encoded => FND_API.G_FALSE,
2137: p_count => x_msg_count,
2138: p_data => x_msg_data);
2139:
2140: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2136: p_encoded => FND_API.G_FALSE,
2137: p_count => x_msg_count,
2138: p_data => x_msg_data);
2139:
2140: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2141: ROLLBACK TO update_code_assignment;
2142: HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
2143: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2144: FND_MSG_PUB.Count_And_Get(
2139:
2140: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2141: ROLLBACK TO update_code_assignment;
2142: HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
2143: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2144: FND_MSG_PUB.Count_And_Get(
2145: p_encoded => FND_API.G_FALSE,
2146: p_count => x_msg_count,
2147: p_data => x_msg_data);
2141: ROLLBACK TO update_code_assignment;
2142: HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
2143: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2144: FND_MSG_PUB.Count_And_Get(
2145: p_encoded => FND_API.G_FALSE,
2146: p_count => x_msg_count,
2147: p_data => x_msg_data);
2148:
2149: WHEN OTHERS THEN
2148:
2149: WHEN OTHERS THEN
2150: ROLLBACK TO update_code_assignment;
2151: HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
2152: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2153: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
2154: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
2155: FND_MSG_PUB.ADD;
2156: FND_MSG_PUB.Count_And_Get(
2153: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
2154: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
2155: FND_MSG_PUB.ADD;
2156: FND_MSG_PUB.Count_And_Get(
2157: p_encoded => FND_API.G_FALSE,
2158: p_count => x_msg_count,
2159: p_data => x_msg_data);
2160:
2161: END update_code_assignment;
2170: *
2171: * ARGUMENTS
2172: * IN:
2173: * p_init_msg_list Initialize message stack if it is set to
2174: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
2175: * p_owner_table_name Owner table name.
2176: * p_owner_table_id Owner table ID.
2177: * p_class_category Class category.
2178: * p_class_code Class code.
2181: * IN/OUT:
2182: * OUT:
2183: * x_code_assignment_id Code assignment ID.
2184: * x_return_status Return status after the call. The status can
2185: * be FND_API.G_RET_STS_SUCCESS (success),
2186: * FND_API.G_RET_STS_ERROR (error),
2187: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2188: * x_msg_count Number of messages in message stack.
2189: * x_msg_data Message text if x_msg_count is 1.
2182: * OUT:
2183: * x_code_assignment_id Code assignment ID.
2184: * x_return_status Return status after the call. The status can
2185: * be FND_API.G_RET_STS_SUCCESS (success),
2186: * FND_API.G_RET_STS_ERROR (error),
2187: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2188: * x_msg_count Number of messages in message stack.
2189: * x_msg_data Message text if x_msg_count is 1.
2190: *
2183: * x_code_assignment_id Code assignment ID.
2184: * x_return_status Return status after the call. The status can
2185: * be FND_API.G_RET_STS_SUCCESS (success),
2186: * FND_API.G_RET_STS_ERROR (error),
2187: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2188: * x_msg_count Number of messages in message stack.
2189: * x_msg_data Message text if x_msg_count is 1.
2190: *
2191: * NOTES
2197: *
2198: */
2199:
2200: PROCEDURE set_primary_code_assignment(
2201: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2202: p_owner_table_name IN VARCHAR2,
2203: p_owner_table_id IN NUMBER,
2204: p_class_category IN VARCHAR2,
2205: p_class_code IN VARCHAR2,
2236: --Standard start of API savepoint
2237: SAVEPOINT set_primary_code_assign;
2238:
2239: --Initialize message list if p_init_msg_list is set to TRUE.
2240: IF FND_API.to_Boolean(p_init_msg_list) THEN
2241: FND_MSG_PUB.initialize;
2242: END IF;
2243:
2244: --Initialize API return status to success.
2241: FND_MSG_PUB.initialize;
2242: END IF;
2243:
2244: --Initialize API return status to success.
2245: x_return_status := FND_API.G_RET_STS_SUCCESS;
2246:
2247: -- the assignment exists?
2248: l_count := 0;
2249: OPEN c_code_assign(
2281: WHERE code_assignment_id = l_rec.code_assignment_id;
2282: --WHERE CURRENT OF c_code_assign;
2283:
2284: -- Bug 3876180
2285: IF(p_class_code=fnd_api.g_miss_char)
2286: THEN
2287: l_count := l_count + 1;
2288: x_code_assignment_id := l_rec.code_assignment_id;
2289: END IF;
2302: END IF;
2303: END LOOP;
2304: CLOSE c_code_assign;
2305: -- Bug 6982657
2306: IF (l_count = 0) AND (NVL(p_class_code,fnd_api.g_miss_char) <> fnd_api.g_miss_char)
2307: THEN
2308: l_code_assign_rec.owner_table_name := p_owner_table_name;
2309: l_code_assign_rec.owner_table_id := p_owner_table_id;
2310: l_code_assign_rec.class_category := p_class_category;
2327: END IF;
2328:
2329: --Standard call to get message count and if count is 1, get message info.
2330: FND_MSG_PUB.Count_And_Get(
2331: p_encoded => FND_API.G_FALSE,
2332: p_count => x_msg_count,
2333: p_data => x_msg_data);
2334:
2335: EXCEPTION
2332: p_count => x_msg_count,
2333: p_data => x_msg_data);
2334:
2335: EXCEPTION
2336: WHEN FND_API.G_EXC_ERROR THEN
2337: ROLLBACK TO set_primary_code_assign;
2338: x_return_status := FND_API.G_RET_STS_ERROR;
2339: FND_MSG_PUB.Count_And_Get(
2340: p_encoded => FND_API.G_FALSE,
2334:
2335: EXCEPTION
2336: WHEN FND_API.G_EXC_ERROR THEN
2337: ROLLBACK TO set_primary_code_assign;
2338: x_return_status := FND_API.G_RET_STS_ERROR;
2339: FND_MSG_PUB.Count_And_Get(
2340: p_encoded => FND_API.G_FALSE,
2341: p_count => x_msg_count,
2342: p_data => x_msg_data);
2336: WHEN FND_API.G_EXC_ERROR THEN
2337: ROLLBACK TO set_primary_code_assign;
2338: x_return_status := FND_API.G_RET_STS_ERROR;
2339: FND_MSG_PUB.Count_And_Get(
2340: p_encoded => FND_API.G_FALSE,
2341: p_count => x_msg_count,
2342: p_data => x_msg_data);
2343:
2344: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2340: p_encoded => FND_API.G_FALSE,
2341: p_count => x_msg_count,
2342: p_data => x_msg_data);
2343:
2344: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2345: ROLLBACK TO set_primary_code_assign;
2346: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2347: FND_MSG_PUB.Count_And_Get(
2348: p_encoded => FND_API.G_FALSE,
2342: p_data => x_msg_data);
2343:
2344: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2345: ROLLBACK TO set_primary_code_assign;
2346: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2347: FND_MSG_PUB.Count_And_Get(
2348: p_encoded => FND_API.G_FALSE,
2349: p_count => x_msg_count,
2350: p_data => x_msg_data);
2344: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2345: ROLLBACK TO set_primary_code_assign;
2346: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2347: FND_MSG_PUB.Count_And_Get(
2348: p_encoded => FND_API.G_FALSE,
2349: p_count => x_msg_count,
2350: p_data => x_msg_data);
2351:
2352: WHEN OTHERS THEN
2350: p_data => x_msg_data);
2351:
2352: WHEN OTHERS THEN
2353: ROLLBACK TO set_primary_code_assign;
2354: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2355: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
2356: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
2357: FND_MSG_PUB.ADD;
2358: FND_MSG_PUB.Count_And_Get(
2355: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
2356: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
2357: FND_MSG_PUB.ADD;
2358: FND_MSG_PUB.Count_And_Get(
2359: p_encoded => FND_API.G_FALSE,
2360: p_count => x_msg_count,
2361: p_data => x_msg_data);
2362: END;
2363:
2372: *
2373: * ARGUMENTS
2374: * IN:
2375: * p_init_msg_list Initialize message stack if it is set to
2376: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
2377: * p_class_category_use_rec Class category use record.
2378: * IN/OUT:
2379: * OUT:
2380: * x_return_status Return status after the call. The status can
2377: * p_class_category_use_rec Class category use record.
2378: * IN/OUT:
2379: * OUT:
2380: * x_return_status Return status after the call. The status can
2381: * be FND_API.G_RET_STS_SUCCESS (success),
2382: * FND_API.G_RET_STS_ERROR (error),
2383: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2384: * x_msg_count Number of messages in message stack.
2385: * x_msg_data Message text if x_msg_count is 1.
2378: * IN/OUT:
2379: * OUT:
2380: * x_return_status Return status after the call. The status can
2381: * be FND_API.G_RET_STS_SUCCESS (success),
2382: * FND_API.G_RET_STS_ERROR (error),
2383: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2384: * x_msg_count Number of messages in message stack.
2385: * x_msg_data Message text if x_msg_count is 1.
2386: *
2379: * OUT:
2380: * x_return_status Return status after the call. The status can
2381: * be FND_API.G_RET_STS_SUCCESS (success),
2382: * FND_API.G_RET_STS_ERROR (error),
2383: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2384: * x_msg_count Number of messages in message stack.
2385: * x_msg_data Message text if x_msg_count is 1.
2386: *
2387: * NOTES
2392: *
2393: */
2394:
2395: PROCEDURE create_class_category_use(
2396: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2397: p_class_category_use_rec IN CLASS_CATEGORY_USE_REC_TYPE,
2398: x_return_status OUT NOCOPY VARCHAR2,
2399: x_msg_count OUT NOCOPY NUMBER,
2400: x_msg_data OUT NOCOPY VARCHAR2
2407: -- standard save point
2408: SAVEPOINT create_class_category_use;
2409:
2410: -- initialize message list if p_init_msg_list is TRUE
2411: IF FND_API.to_Boolean(p_init_msg_list) THEN
2412: FND_MSG_PUB.INITIALIZE;
2413: END IF;
2414:
2415: -- initialize API return status to SUCCESS
2412: FND_MSG_PUB.INITIALIZE;
2413: END IF;
2414:
2415: -- initialize API return status to SUCCESS
2416: x_return_status := FND_API.G_RET_STS_SUCCESS;
2417:
2418: -- call to business logic
2419: do_create_class_category_use(
2420: l_class_category_use_rec,
2419: do_create_class_category_use(
2420: l_class_category_use_rec,
2421: x_return_status);
2422:
2423: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
2424:
2425: -- Invoke business event system.
2426: --Bug 4743141.
2427: IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
2432: END IF;
2433:
2434: -- standard Call to get message count and if count is 1 get message info.
2435: FND_MSG_PUB.count_and_get(
2436: p_encoded => fnd_api.g_false,
2437: p_count => x_msg_count,
2438: p_data => x_msg_data );
2439:
2440: EXCEPTION
2437: p_count => x_msg_count,
2438: p_data => x_msg_data );
2439:
2440: EXCEPTION
2441: WHEN FND_API.G_EXC_ERROR THEN
2442: ROLLBACK TO create_class_category_use;
2443: x_return_status := FND_API.G_RET_STS_ERROR;
2444: FND_MSG_PUB.Count_And_Get(
2445: p_encoded => FND_API.G_FALSE,
2439:
2440: EXCEPTION
2441: WHEN FND_API.G_EXC_ERROR THEN
2442: ROLLBACK TO create_class_category_use;
2443: x_return_status := FND_API.G_RET_STS_ERROR;
2444: FND_MSG_PUB.Count_And_Get(
2445: p_encoded => FND_API.G_FALSE,
2446: p_count => x_msg_count,
2447: p_data => x_msg_data );
2441: WHEN FND_API.G_EXC_ERROR THEN
2442: ROLLBACK TO create_class_category_use;
2443: x_return_status := FND_API.G_RET_STS_ERROR;
2444: FND_MSG_PUB.Count_And_Get(
2445: p_encoded => FND_API.G_FALSE,
2446: p_count => x_msg_count,
2447: p_data => x_msg_data );
2448:
2449: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2445: p_encoded => FND_API.G_FALSE,
2446: p_count => x_msg_count,
2447: p_data => x_msg_data );
2448:
2449: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2450: ROLLBACK TO create_class_category_use;
2451: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2452: FND_MSG_PUB.Count_And_Get(
2453: p_encoded => FND_API.G_FALSE,
2447: p_data => x_msg_data );
2448:
2449: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2450: ROLLBACK TO create_class_category_use;
2451: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2452: FND_MSG_PUB.Count_And_Get(
2453: p_encoded => FND_API.G_FALSE,
2454: p_count => x_msg_count,
2455: p_data => x_msg_data );
2449: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2450: ROLLBACK TO create_class_category_use;
2451: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2452: FND_MSG_PUB.Count_And_Get(
2453: p_encoded => FND_API.G_FALSE,
2454: p_count => x_msg_count,
2455: p_data => x_msg_data );
2456:
2457: WHEN OTHERS THEN
2455: p_data => x_msg_data );
2456:
2457: WHEN OTHERS THEN
2458: ROLLBACK TO create_class_category_use;
2459: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2460: FND_MESSAGE.Set_Name('AR','HZ_API_OTHERS_EXCEP');
2461: FND_MESSAGE.Set_Token('ERROR',SQLERRM);
2462: FND_MSG_PUB.Count_And_Get(
2463: p_encoded => FND_API.G_FALSE,
2459: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2460: FND_MESSAGE.Set_Name('AR','HZ_API_OTHERS_EXCEP');
2461: FND_MESSAGE.Set_Token('ERROR',SQLERRM);
2462: FND_MSG_PUB.Count_And_Get(
2463: p_encoded => FND_API.G_FALSE,
2464: p_count => x_msg_count,
2465: p_data => x_msg_data );
2466:
2467: END create_class_category_use;
2477: *
2478: * ARGUMENTS
2479: * IN:
2480: * p_init_msg_list Initialize message stack if it is set to
2481: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
2482: * p_class_category_use_rec Class category use record.
2483: * IN/OUT:
2484: * p_object_version_number Used for locking the being updated record.
2485: * OUT:
2483: * IN/OUT:
2484: * p_object_version_number Used for locking the being updated record.
2485: * OUT:
2486: * x_return_status Return status after the call. The status can
2487: * be FND_API.G_RET_STS_SUCCESS (success),
2488: * FND_API.G_RET_STS_ERROR (error),
2489: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2490: * x_msg_count Number of messages in message stack.
2491: * x_msg_data Message text if x_msg_count is 1.
2484: * p_object_version_number Used for locking the being updated record.
2485: * OUT:
2486: * x_return_status Return status after the call. The status can
2487: * be FND_API.G_RET_STS_SUCCESS (success),
2488: * FND_API.G_RET_STS_ERROR (error),
2489: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2490: * x_msg_count Number of messages in message stack.
2491: * x_msg_data Message text if x_msg_count is 1.
2492: *
2485: * OUT:
2486: * x_return_status Return status after the call. The status can
2487: * be FND_API.G_RET_STS_SUCCESS (success),
2488: * FND_API.G_RET_STS_ERROR (error),
2489: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2490: * x_msg_count Number of messages in message stack.
2491: * x_msg_data Message text if x_msg_count is 1.
2492: *
2493: * NOTES
2498: *
2499: */
2500:
2501: PROCEDURE update_class_category_use(
2502: p_init_msg_list IN VARCHAR2:=FND_API.G_FALSE,
2503: p_class_category_use_rec IN CLASS_CATEGORY_USE_REC_TYPE,
2504: p_object_version_number IN OUT NOCOPY NUMBER,
2505: x_return_status OUT NOCOPY VARCHAR2,
2506: x_msg_count OUT NOCOPY NUMBER,
2515: -- standard start of API savepoint
2516: SAVEPOINT update_class_category_use;
2517:
2518: -- initialize message list if p_init_msg_list is set to TRUE.
2519: IF FND_API.to_Boolean(p_init_msg_list) THEN
2520: FND_MSG_PUB.initialize;
2521: END IF;
2522:
2523: -- Initialize API return status to success.
2520: FND_MSG_PUB.initialize;
2521: END IF;
2522:
2523: -- Initialize API return status to success.
2524: x_return_status := FND_API.G_RET_STS_SUCCESS;
2525:
2526: -- Get old records. Will be used by business event system.
2527: get_class_category_use_rec (
2528: p_class_category => l_class_cat_use_rec.class_category,
2531: x_return_status => x_return_status,
2532: x_msg_count => x_msg_count,
2533: x_msg_data => x_msg_data );
2534:
2535: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2536: RAISE FND_API.G_EXC_ERROR;
2537: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2538: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2539: END IF;
2532: x_msg_count => x_msg_count,
2533: x_msg_data => x_msg_data );
2534:
2535: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2536: RAISE FND_API.G_EXC_ERROR;
2537: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2538: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2539: END IF;
2540:
2533: x_msg_data => x_msg_data );
2534:
2535: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2536: RAISE FND_API.G_EXC_ERROR;
2537: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2538: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2539: END IF;
2540:
2541: -- call to business logic.
2534:
2535: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2536: RAISE FND_API.G_EXC_ERROR;
2537: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2538: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2539: END IF;
2540:
2541: -- call to business logic.
2542: do_update_class_category_use(
2543: l_class_cat_use_rec,
2544: p_object_version_number,
2545: x_return_status);
2546:
2547: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
2548:
2549: -- Invoke business event system.
2550: --Bug 4743141.
2551: IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
2557: END IF;
2558:
2559: -- standard call to get message count and if count is 1, get message info.
2560: FND_MSG_PUB.Count_And_Get(
2561: p_encoded => FND_API.G_FALSE,
2562: p_count => x_msg_count,
2563: p_data => x_msg_data);
2564:
2565: EXCEPTION
2562: p_count => x_msg_count,
2563: p_data => x_msg_data);
2564:
2565: EXCEPTION
2566: WHEN FND_API.G_EXC_ERROR THEN
2567: ROLLBACK TO update_class_category_use;
2568: x_return_status := FND_API.G_RET_STS_ERROR;
2569:
2570: FND_MSG_PUB.Count_And_Get(
2564:
2565: EXCEPTION
2566: WHEN FND_API.G_EXC_ERROR THEN
2567: ROLLBACK TO update_class_category_use;
2568: x_return_status := FND_API.G_RET_STS_ERROR;
2569:
2570: FND_MSG_PUB.Count_And_Get(
2571: p_encoded => FND_API.G_FALSE,
2572: p_count => x_msg_count,
2567: ROLLBACK TO update_class_category_use;
2568: x_return_status := FND_API.G_RET_STS_ERROR;
2569:
2570: FND_MSG_PUB.Count_And_Get(
2571: p_encoded => FND_API.G_FALSE,
2572: p_count => x_msg_count,
2573: p_data => x_msg_data );
2574:
2575: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2571: p_encoded => FND_API.G_FALSE,
2572: p_count => x_msg_count,
2573: p_data => x_msg_data );
2574:
2575: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2576: ROLLBACK TO update_class_category_use;
2577: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2578:
2579: FND_MSG_PUB.Count_And_Get(
2573: p_data => x_msg_data );
2574:
2575: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2576: ROLLBACK TO update_class_category_use;
2577: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2578:
2579: FND_MSG_PUB.Count_And_Get(
2580: p_encoded => FND_API.G_FALSE,
2581: p_count => x_msg_count,
2576: ROLLBACK TO update_class_category_use;
2577: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2578:
2579: FND_MSG_PUB.Count_And_Get(
2580: p_encoded => FND_API.G_FALSE,
2581: p_count => x_msg_count,
2582: p_data => x_msg_data );
2583:
2584: WHEN OTHERS THEN
2582: p_data => x_msg_data );
2583:
2584: WHEN OTHERS THEN
2585: ROLLBACK TO update_class_category_use;
2586: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2587:
2588: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_OTHERS_EXCEP' );
2589: FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
2590: FND_MSG_PUB.ADD;
2589: FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
2590: FND_MSG_PUB.ADD;
2591:
2592: FND_MSG_PUB.Count_And_Get(
2593: p_encoded => FND_API.G_FALSE,
2594: p_count => x_msg_count,
2595: p_data => x_msg_data );
2596:
2597: END update_class_category_use;
2791: *
2792: * ARGUMENTS
2793: * IN:
2794: * p_init_msg_list Initialize message stack if it is set to
2795: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
2796: * p_class_category Class category name.
2797: * IN/OUT:
2798: * OUT:
2799: * x_class_category_rec Returned class category record.
2797: * IN/OUT:
2798: * OUT:
2799: * x_class_category_rec Returned class category record.
2800: * x_return_status Return status after the call. The status can
2801: * be FND_API.G_RET_STS_SUCCESS (success),
2802: * FND_API.G_RET_STS_ERROR (error),
2803: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2804: * x_msg_count Number of messages in message stack.
2805: * x_msg_data Message text if x_msg_count is 1.
2798: * OUT:
2799: * x_class_category_rec Returned class category record.
2800: * x_return_status Return status after the call. The status can
2801: * be FND_API.G_RET_STS_SUCCESS (success),
2802: * FND_API.G_RET_STS_ERROR (error),
2803: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2804: * x_msg_count Number of messages in message stack.
2805: * x_msg_data Message text if x_msg_count is 1.
2806: *
2799: * x_class_category_rec Returned class category record.
2800: * x_return_status Return status after the call. The status can
2801: * be FND_API.G_RET_STS_SUCCESS (success),
2802: * FND_API.G_RET_STS_ERROR (error),
2803: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2804: * x_msg_count Number of messages in message stack.
2805: * x_msg_data Message text if x_msg_count is 1.
2806: *
2807: * NOTES
2812: *
2813: */
2814:
2815: PROCEDURE get_class_category_rec (
2816: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2817: p_class_category IN VARCHAR2,
2818: x_class_category_rec OUT NOCOPY CLASS_CATEGORY_REC_TYPE,
2819: x_return_status OUT NOCOPY VARCHAR2,
2820: x_msg_count OUT NOCOPY NUMBER,
2823:
2824: BEGIN
2825:
2826: --Initialize message list if p_init_msg_list is set to TRUE.
2827: IF FND_API.to_Boolean(p_init_msg_list) THEN
2828: FND_MSG_PUB.initialize;
2829: END IF;
2830:
2831: --Initialize API return status to success.
2828: FND_MSG_PUB.initialize;
2829: END IF;
2830:
2831: --Initialize API return status to success.
2832: x_return_status := FND_API.G_RET_STS_SUCCESS;
2833:
2834: --Check whether primary key has been passed in.
2835: IF p_class_category IS NULL OR
2836: p_class_category = FND_API.G_MISS_CHAR THEN
2832: x_return_status := FND_API.G_RET_STS_SUCCESS;
2833:
2834: --Check whether primary key has been passed in.
2835: IF p_class_category IS NULL OR
2836: p_class_category = FND_API.G_MISS_CHAR THEN
2837: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
2838: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'class_category' );
2839: FND_MSG_PUB.ADD;
2840: RAISE FND_API.G_EXC_ERROR;
2836: p_class_category = FND_API.G_MISS_CHAR THEN
2837: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
2838: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'class_category' );
2839: FND_MSG_PUB.ADD;
2840: RAISE FND_API.G_EXC_ERROR;
2841: END IF;
2842:
2843: x_class_category_rec.class_category := p_class_category;
2844:
2853: );
2854:
2855: --Standard call to get message count and if count is 1, get message info.
2856: FND_MSG_PUB.Count_And_Get(
2857: p_encoded => FND_API.G_FALSE,
2858: p_count => x_msg_count,
2859: p_data => x_msg_data );
2860:
2861: EXCEPTION
2858: p_count => x_msg_count,
2859: p_data => x_msg_data );
2860:
2861: EXCEPTION
2862: WHEN FND_API.G_EXC_ERROR THEN
2863: x_return_status := FND_API.G_RET_STS_ERROR;
2864:
2865: FND_MSG_PUB.Count_And_Get(
2866: p_encoded => FND_API.G_FALSE,
2859: p_data => x_msg_data );
2860:
2861: EXCEPTION
2862: WHEN FND_API.G_EXC_ERROR THEN
2863: x_return_status := FND_API.G_RET_STS_ERROR;
2864:
2865: FND_MSG_PUB.Count_And_Get(
2866: p_encoded => FND_API.G_FALSE,
2867: p_count => x_msg_count,
2862: WHEN FND_API.G_EXC_ERROR THEN
2863: x_return_status := FND_API.G_RET_STS_ERROR;
2864:
2865: FND_MSG_PUB.Count_And_Get(
2866: p_encoded => FND_API.G_FALSE,
2867: p_count => x_msg_count,
2868: p_data => x_msg_data );
2869:
2870: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2866: p_encoded => FND_API.G_FALSE,
2867: p_count => x_msg_count,
2868: p_data => x_msg_data );
2869:
2870: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2871: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2872:
2873: FND_MSG_PUB.Count_And_Get(
2874: p_encoded => FND_API.G_FALSE,
2867: p_count => x_msg_count,
2868: p_data => x_msg_data );
2869:
2870: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2871: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2872:
2873: FND_MSG_PUB.Count_And_Get(
2874: p_encoded => FND_API.G_FALSE,
2875: p_count => x_msg_count,
2870: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2871: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2872:
2873: FND_MSG_PUB.Count_And_Get(
2874: p_encoded => FND_API.G_FALSE,
2875: p_count => x_msg_count,
2876: p_data => x_msg_data );
2877:
2878: WHEN OTHERS THEN
2875: p_count => x_msg_count,
2876: p_data => x_msg_data );
2877:
2878: WHEN OTHERS THEN
2879: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2880:
2881: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_OTHERS_EXCEP' );
2882: FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
2883: FND_MSG_PUB.ADD;
2882: FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
2883: FND_MSG_PUB.ADD;
2884:
2885: FND_MSG_PUB.Count_And_Get(
2886: p_encoded => FND_API.G_FALSE,
2887: p_count => x_msg_count,
2888: p_data => x_msg_data );
2889:
2890: END get_class_category_rec;
2900: *
2901: * ARGUMENTS
2902: * IN:
2903: * p_init_msg_list Initialize message stack if it is set to
2904: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
2905: * p_class_category Class category name.
2906: * p_owner_table Owner table name.
2907: * IN/OUT:
2908: * OUT:
2907: * IN/OUT:
2908: * OUT:
2909: * x_class_category_use_rec Returned class category use record.
2910: * x_return_status Return status after the call. The status can
2911: * be FND_API.G_RET_STS_SUCCESS (success),
2912: * FND_API.G_RET_STS_ERROR (error),
2913: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2914: * x_msg_count Number of messages in message stack.
2915: * x_msg_data Message text if x_msg_count is 1.
2908: * OUT:
2909: * x_class_category_use_rec Returned class category use record.
2910: * x_return_status Return status after the call. The status can
2911: * be FND_API.G_RET_STS_SUCCESS (success),
2912: * FND_API.G_RET_STS_ERROR (error),
2913: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2914: * x_msg_count Number of messages in message stack.
2915: * x_msg_data Message text if x_msg_count is 1.
2916: *
2909: * x_class_category_use_rec Returned class category use record.
2910: * x_return_status Return status after the call. The status can
2911: * be FND_API.G_RET_STS_SUCCESS (success),
2912: * FND_API.G_RET_STS_ERROR (error),
2913: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2914: * x_msg_count Number of messages in message stack.
2915: * x_msg_data Message text if x_msg_count is 1.
2916: *
2917: * NOTES
2922: *
2923: */
2924:
2925: PROCEDURE get_class_category_use_rec(
2926: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2927: p_class_category IN VARCHAR2,
2928: p_owner_table IN VARCHAR2,
2929: x_class_category_use_rec OUT NOCOPY CLASS_CATEGORY_USE_REC_TYPE,
2930: x_return_status OUT NOCOPY VARCHAR2,
2934:
2935: BEGIN
2936:
2937: --Initialize message list if p_init_msg_list is set to TRUE.
2938: IF FND_API.to_Boolean(p_init_msg_list) THEN
2939: FND_MSG_PUB.initialize;
2940: END IF;
2941:
2942: --Initialize API return status to success.
2939: FND_MSG_PUB.initialize;
2940: END IF;
2941:
2942: --Initialize API return status to success.
2943: x_return_status := FND_API.G_RET_STS_SUCCESS;
2944:
2945: --Check whether primary key has been passed in.
2946: IF p_class_category IS NULL OR
2947: p_class_category = FND_API.G_MISS_CHAR THEN
2943: x_return_status := FND_API.G_RET_STS_SUCCESS;
2944:
2945: --Check whether primary key has been passed in.
2946: IF p_class_category IS NULL OR
2947: p_class_category = FND_API.G_MISS_CHAR THEN
2948: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
2949: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'class_category' );
2950: FND_MSG_PUB.ADD;
2951: RAISE FND_API.G_EXC_ERROR;
2947: p_class_category = FND_API.G_MISS_CHAR THEN
2948: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
2949: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'class_category' );
2950: FND_MSG_PUB.ADD;
2951: RAISE FND_API.G_EXC_ERROR;
2952: END IF;
2953:
2954: IF p_owner_table IS NULL OR
2955: p_owner_table = FND_API.G_MISS_CHAR THEN
2951: RAISE FND_API.G_EXC_ERROR;
2952: END IF;
2953:
2954: IF p_owner_table IS NULL OR
2955: p_owner_table = FND_API.G_MISS_CHAR THEN
2956: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
2957: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'owner_table' );
2958: FND_MSG_PUB.ADD;
2959: RAISE FND_API.G_EXC_ERROR;
2955: p_owner_table = FND_API.G_MISS_CHAR THEN
2956: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
2957: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'owner_table' );
2958: FND_MSG_PUB.ADD;
2959: RAISE FND_API.G_EXC_ERROR;
2960: END IF;
2961:
2962: x_class_category_use_rec.class_category := p_class_category;
2963: x_class_category_use_rec.owner_table := p_owner_table;
2972: );
2973:
2974: --Standard call to get message count and if count is 1, get message info.
2975: FND_MSG_PUB.Count_And_Get(
2976: p_encoded => FND_API.G_FALSE,
2977: p_count => x_msg_count,
2978: p_data => x_msg_data );
2979:
2980: EXCEPTION
2977: p_count => x_msg_count,
2978: p_data => x_msg_data );
2979:
2980: EXCEPTION
2981: WHEN FND_API.G_EXC_ERROR THEN
2982: x_return_status := FND_API.G_RET_STS_ERROR;
2983:
2984: FND_MSG_PUB.Count_And_Get(
2985: p_encoded => FND_API.G_FALSE,
2978: p_data => x_msg_data );
2979:
2980: EXCEPTION
2981: WHEN FND_API.G_EXC_ERROR THEN
2982: x_return_status := FND_API.G_RET_STS_ERROR;
2983:
2984: FND_MSG_PUB.Count_And_Get(
2985: p_encoded => FND_API.G_FALSE,
2986: p_count => x_msg_count,
2981: WHEN FND_API.G_EXC_ERROR THEN
2982: x_return_status := FND_API.G_RET_STS_ERROR;
2983:
2984: FND_MSG_PUB.Count_And_Get(
2985: p_encoded => FND_API.G_FALSE,
2986: p_count => x_msg_count,
2987: p_data => x_msg_data );
2988:
2989: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2985: p_encoded => FND_API.G_FALSE,
2986: p_count => x_msg_count,
2987: p_data => x_msg_data );
2988:
2989: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2990: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2991:
2992: FND_MSG_PUB.Count_And_Get(
2993: p_encoded => FND_API.G_FALSE,
2986: p_count => x_msg_count,
2987: p_data => x_msg_data );
2988:
2989: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2990: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2991:
2992: FND_MSG_PUB.Count_And_Get(
2993: p_encoded => FND_API.G_FALSE,
2994: p_count => x_msg_count,
2989: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2990: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2991:
2992: FND_MSG_PUB.Count_And_Get(
2993: p_encoded => FND_API.G_FALSE,
2994: p_count => x_msg_count,
2995: p_data => x_msg_data );
2996:
2997: WHEN OTHERS THEN
2994: p_count => x_msg_count,
2995: p_data => x_msg_data );
2996:
2997: WHEN OTHERS THEN
2998: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2999:
3000: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_OTHERS_EXCEP' );
3001: FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
3002: FND_MSG_PUB.ADD;
3001: FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
3002: FND_MSG_PUB.ADD;
3003:
3004: FND_MSG_PUB.Count_And_Get(
3005: p_encoded => FND_API.G_FALSE,
3006: p_count => x_msg_count,
3007: p_data => x_msg_data );
3008:
3009: END get_class_category_use_rec;
3019: *
3020: * ARGUMENTS
3021: * IN:
3022: * p_init_msg_list Initialize message stack if it is set to
3023: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
3024: * p_class_category Class category name.
3025: * p_class_code Class code.
3026: * p_sub_class_code Sub class code.
3027: * p_start_date_active Start date active.
3028: * IN/OUT:
3029: * OUT:
3030: * x_class_code_relation_rec Returned class code relation record.
3031: * x_return_status Return status after the call. The status can
3032: * be FND_API.G_RET_STS_SUCCESS (success),
3033: * FND_API.G_RET_STS_ERROR (error),
3034: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3035: * x_msg_count Number of messages in message stack.
3036: * x_msg_data Message text if x_msg_count is 1.
3029: * OUT:
3030: * x_class_code_relation_rec Returned class code relation record.
3031: * x_return_status Return status after the call. The status can
3032: * be FND_API.G_RET_STS_SUCCESS (success),
3033: * FND_API.G_RET_STS_ERROR (error),
3034: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3035: * x_msg_count Number of messages in message stack.
3036: * x_msg_data Message text if x_msg_count is 1.
3037: *
3030: * x_class_code_relation_rec Returned class code relation record.
3031: * x_return_status Return status after the call. The status can
3032: * be FND_API.G_RET_STS_SUCCESS (success),
3033: * FND_API.G_RET_STS_ERROR (error),
3034: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3035: * x_msg_count Number of messages in message stack.
3036: * x_msg_data Message text if x_msg_count is 1.
3037: *
3038: * NOTES
3043: *
3044: */
3045:
3046: PROCEDURE get_class_code_relation_rec(
3047: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3048: p_class_category IN VARCHAR2,
3049: p_class_code IN VARCHAR2,
3050: p_sub_class_code IN VARCHAR2,
3051: p_start_date_active IN DATE,
3057:
3058: BEGIN
3059:
3060: --Initialize message list if p_init_msg_list is set to TRUE.
3061: IF FND_API.to_Boolean(p_init_msg_list) THEN
3062: FND_MSG_PUB.initialize;
3063: END IF;
3064:
3065: --Initialize API return status to success.
3062: FND_MSG_PUB.initialize;
3063: END IF;
3064:
3065: --Initialize API return status to success.
3066: x_return_status := FND_API.G_RET_STS_SUCCESS;
3067:
3068: --Check whether primary key has been passed in.
3069: IF p_class_category IS NULL OR
3070: p_class_category = FND_API.G_MISS_CHAR THEN
3066: x_return_status := FND_API.G_RET_STS_SUCCESS;
3067:
3068: --Check whether primary key has been passed in.
3069: IF p_class_category IS NULL OR
3070: p_class_category = FND_API.G_MISS_CHAR THEN
3071: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
3072: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'class_category' );
3073: FND_MSG_PUB.ADD;
3074: RAISE FND_API.G_EXC_ERROR;
3070: p_class_category = FND_API.G_MISS_CHAR THEN
3071: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
3072: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'class_category' );
3073: FND_MSG_PUB.ADD;
3074: RAISE FND_API.G_EXC_ERROR;
3075: END IF;
3076:
3077: IF p_class_code IS NULL OR
3078: p_class_code = FND_API.G_MISS_CHAR THEN
3074: RAISE FND_API.G_EXC_ERROR;
3075: END IF;
3076:
3077: IF p_class_code IS NULL OR
3078: p_class_code = FND_API.G_MISS_CHAR THEN
3079: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
3080: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'class_code' );
3081: FND_MSG_PUB.ADD;
3082: RAISE FND_API.G_EXC_ERROR;
3078: p_class_code = FND_API.G_MISS_CHAR THEN
3079: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
3080: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'class_code' );
3081: FND_MSG_PUB.ADD;
3082: RAISE FND_API.G_EXC_ERROR;
3083: END IF;
3084:
3085: IF p_sub_class_code IS NULL OR
3086: p_sub_class_code = FND_API.G_MISS_CHAR THEN
3082: RAISE FND_API.G_EXC_ERROR;
3083: END IF;
3084:
3085: IF p_sub_class_code IS NULL OR
3086: p_sub_class_code = FND_API.G_MISS_CHAR THEN
3087: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
3088: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'sub_class_code' );
3089: FND_MSG_PUB.ADD;
3090: RAISE FND_API.G_EXC_ERROR;
3086: p_sub_class_code = FND_API.G_MISS_CHAR THEN
3087: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
3088: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'sub_class_code' );
3089: FND_MSG_PUB.ADD;
3090: RAISE FND_API.G_EXC_ERROR;
3091: END IF;
3092:
3093: IF p_start_date_active IS NULL OR
3094: p_start_date_active = FND_API.G_MISS_DATE THEN
3090: RAISE FND_API.G_EXC_ERROR;
3091: END IF;
3092:
3093: IF p_start_date_active IS NULL OR
3094: p_start_date_active = FND_API.G_MISS_DATE THEN
3095: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
3096: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'start_date_active' );
3097: FND_MSG_PUB.ADD;
3098: RAISE FND_API.G_EXC_ERROR;
3094: p_start_date_active = FND_API.G_MISS_DATE THEN
3095: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
3096: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'start_date_active' );
3097: FND_MSG_PUB.ADD;
3098: RAISE FND_API.G_EXC_ERROR;
3099: END IF;
3100:
3101: x_class_code_relation_rec.class_category := p_class_category;
3102: x_class_code_relation_rec.class_code := p_class_code;
3114: );
3115:
3116: --Standard call to get message count and if count is 1, get message info.
3117: FND_MSG_PUB.Count_And_Get(
3118: p_encoded => FND_API.G_FALSE,
3119: p_count => x_msg_count,
3120: p_data => x_msg_data );
3121:
3122: EXCEPTION
3119: p_count => x_msg_count,
3120: p_data => x_msg_data );
3121:
3122: EXCEPTION
3123: WHEN FND_API.G_EXC_ERROR THEN
3124: x_return_status := FND_API.G_RET_STS_ERROR;
3125:
3126: FND_MSG_PUB.Count_And_Get(
3127: p_encoded => FND_API.G_FALSE,
3120: p_data => x_msg_data );
3121:
3122: EXCEPTION
3123: WHEN FND_API.G_EXC_ERROR THEN
3124: x_return_status := FND_API.G_RET_STS_ERROR;
3125:
3126: FND_MSG_PUB.Count_And_Get(
3127: p_encoded => FND_API.G_FALSE,
3128: p_count => x_msg_count,
3123: WHEN FND_API.G_EXC_ERROR THEN
3124: x_return_status := FND_API.G_RET_STS_ERROR;
3125:
3126: FND_MSG_PUB.Count_And_Get(
3127: p_encoded => FND_API.G_FALSE,
3128: p_count => x_msg_count,
3129: p_data => x_msg_data );
3130:
3131: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3127: p_encoded => FND_API.G_FALSE,
3128: p_count => x_msg_count,
3129: p_data => x_msg_data );
3130:
3131: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3132: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3133:
3134: FND_MSG_PUB.Count_And_Get(
3135: p_encoded => FND_API.G_FALSE,
3128: p_count => x_msg_count,
3129: p_data => x_msg_data );
3130:
3131: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3132: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3133:
3134: FND_MSG_PUB.Count_And_Get(
3135: p_encoded => FND_API.G_FALSE,
3136: p_count => x_msg_count,
3131: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3132: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3133:
3134: FND_MSG_PUB.Count_And_Get(
3135: p_encoded => FND_API.G_FALSE,
3136: p_count => x_msg_count,
3137: p_data => x_msg_data );
3138:
3139: WHEN OTHERS THEN
3136: p_count => x_msg_count,
3137: p_data => x_msg_data );
3138:
3139: WHEN OTHERS THEN
3140: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3141:
3142: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_OTHERS_EXCEP' );
3143: FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
3144: FND_MSG_PUB.ADD;
3143: FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
3144: FND_MSG_PUB.ADD;
3145:
3146: FND_MSG_PUB.Count_And_Get(
3147: p_encoded => FND_API.G_FALSE,
3148: p_count => x_msg_count,
3149: p_data => x_msg_data );
3150:
3151: END get_class_code_relation_rec;
3161: *
3162: * ARGUMENTS
3163: * IN:
3164: * p_init_msg_list Initialize message stack if it is set to
3165: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
3166: * p_code_assignment_id Code assignment ID.
3167: * IN/OUT:
3168: * OUT:
3169: * x_code_assignment_rec Returned code assignment record.
3167: * IN/OUT:
3168: * OUT:
3169: * x_code_assignment_rec Returned code assignment record.
3170: * x_return_status Return status after the call. The status can
3171: * be FND_API.G_RET_STS_SUCCESS (success),
3172: * FND_API.G_RET_STS_ERROR (error),
3173: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3174: * x_msg_count Number of messages in message stack.
3175: * x_msg_data Message text if x_msg_count is 1.
3168: * OUT:
3169: * x_code_assignment_rec Returned code assignment record.
3170: * x_return_status Return status after the call. The status can
3171: * be FND_API.G_RET_STS_SUCCESS (success),
3172: * FND_API.G_RET_STS_ERROR (error),
3173: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3174: * x_msg_count Number of messages in message stack.
3175: * x_msg_data Message text if x_msg_count is 1.
3176: *
3169: * x_code_assignment_rec Returned code assignment record.
3170: * x_return_status Return status after the call. The status can
3171: * be FND_API.G_RET_STS_SUCCESS (success),
3172: * FND_API.G_RET_STS_ERROR (error),
3173: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3174: * x_msg_count Number of messages in message stack.
3175: * x_msg_data Message text if x_msg_count is 1.
3176: *
3177: * NOTES
3185: *
3186: */
3187:
3188: PROCEDURE get_code_assignment_rec (
3189: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3190: p_code_assignment_id IN NUMBER,
3191: x_code_assignment_rec OUT NOCOPY CODE_ASSIGNMENT_REC_TYPE,
3192: x_return_status OUT NOCOPY VARCHAR2,
3193: x_msg_count OUT NOCOPY NUMBER,
3196:
3197: BEGIN
3198:
3199: --Initialize message list if p_init_msg_list is set to TRUE.
3200: IF FND_API.to_Boolean(p_init_msg_list) THEN
3201: FND_MSG_PUB.initialize;
3202: END IF;
3203:
3204: --Initialize API return status to success.
3201: FND_MSG_PUB.initialize;
3202: END IF;
3203:
3204: --Initialize API return status to success.
3205: x_return_status := FND_API.G_RET_STS_SUCCESS;
3206:
3207: --Check whether primary key has been passed in.
3208: IF p_code_assignment_id IS NULL OR
3209: p_code_assignment_id = FND_API.G_MISS_NUM THEN
3205: x_return_status := FND_API.G_RET_STS_SUCCESS;
3206:
3207: --Check whether primary key has been passed in.
3208: IF p_code_assignment_id IS NULL OR
3209: p_code_assignment_id = FND_API.G_MISS_NUM THEN
3210: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
3211: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'code_assignment_id' );
3212: FND_MSG_PUB.ADD;
3213: RAISE FND_API.G_EXC_ERROR;
3209: p_code_assignment_id = FND_API.G_MISS_NUM THEN
3210: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
3211: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'code_assignment_id' );
3212: FND_MSG_PUB.ADD;
3213: RAISE FND_API.G_EXC_ERROR;
3214: END IF;
3215:
3216: x_code_assignment_rec.code_assignment_id := p_code_assignment_id;
3217:
3240: );
3241:
3242: --Standard call to get message count and if count is 1, get message info.
3243: FND_MSG_PUB.Count_And_Get(
3244: p_encoded => FND_API.G_FALSE,
3245: p_count => x_msg_count,
3246: p_data => x_msg_data );
3247:
3248: EXCEPTION
3245: p_count => x_msg_count,
3246: p_data => x_msg_data );
3247:
3248: EXCEPTION
3249: WHEN FND_API.G_EXC_ERROR THEN
3250: x_return_status := FND_API.G_RET_STS_ERROR;
3251:
3252: FND_MSG_PUB.Count_And_Get(
3253: p_encoded => FND_API.G_FALSE,
3246: p_data => x_msg_data );
3247:
3248: EXCEPTION
3249: WHEN FND_API.G_EXC_ERROR THEN
3250: x_return_status := FND_API.G_RET_STS_ERROR;
3251:
3252: FND_MSG_PUB.Count_And_Get(
3253: p_encoded => FND_API.G_FALSE,
3254: p_count => x_msg_count,
3249: WHEN FND_API.G_EXC_ERROR THEN
3250: x_return_status := FND_API.G_RET_STS_ERROR;
3251:
3252: FND_MSG_PUB.Count_And_Get(
3253: p_encoded => FND_API.G_FALSE,
3254: p_count => x_msg_count,
3255: p_data => x_msg_data );
3256:
3257: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3253: p_encoded => FND_API.G_FALSE,
3254: p_count => x_msg_count,
3255: p_data => x_msg_data );
3256:
3257: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3258: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3259:
3260: FND_MSG_PUB.Count_And_Get(
3261: p_encoded => FND_API.G_FALSE,
3254: p_count => x_msg_count,
3255: p_data => x_msg_data );
3256:
3257: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3258: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3259:
3260: FND_MSG_PUB.Count_And_Get(
3261: p_encoded => FND_API.G_FALSE,
3262: p_count => x_msg_count,
3257: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3258: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3259:
3260: FND_MSG_PUB.Count_And_Get(
3261: p_encoded => FND_API.G_FALSE,
3262: p_count => x_msg_count,
3263: p_data => x_msg_data );
3264:
3265: WHEN OTHERS THEN
3262: p_count => x_msg_count,
3263: p_data => x_msg_data );
3264:
3265: WHEN OTHERS THEN
3266: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3267:
3268: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_OTHERS_EXCEP' );
3269: FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
3270: FND_MSG_PUB.ADD;
3269: FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
3270: FND_MSG_PUB.ADD;
3271:
3272: FND_MSG_PUB.Count_And_Get(
3273: p_encoded => FND_API.G_FALSE,
3274: p_count => x_msg_count,
3275: p_data => x_msg_data );
3276:
3277: END get_code_assignment_rec;
3309:
3310: FUNCTION IS_VALID_CATEGORY(
3311: p_owner_table VARCHAR2,
3312: p_class_category VARCHAR2,
3313: p_id NUMBER := FND_API.G_MISS_NUM,
3314: p_key_1 VARCHAR2 := FND_API.G_MISS_CHAR,
3315: p_key_2 VARCHAR2 := FND_API.G_MISS_CHAR,
3316: p_key_3 VARCHAR2 := FND_API.G_MISS_CHAR,
3317: p_key_4 VARCHAR2 := FND_API.G_MISS_CHAR,
3310: FUNCTION IS_VALID_CATEGORY(
3311: p_owner_table VARCHAR2,
3312: p_class_category VARCHAR2,
3313: p_id NUMBER := FND_API.G_MISS_NUM,
3314: p_key_1 VARCHAR2 := FND_API.G_MISS_CHAR,
3315: p_key_2 VARCHAR2 := FND_API.G_MISS_CHAR,
3316: p_key_3 VARCHAR2 := FND_API.G_MISS_CHAR,
3317: p_key_4 VARCHAR2 := FND_API.G_MISS_CHAR,
3318: p_key_5 VARCHAR2 := FND_API.G_MISS_CHAR
3311: p_owner_table VARCHAR2,
3312: p_class_category VARCHAR2,
3313: p_id NUMBER := FND_API.G_MISS_NUM,
3314: p_key_1 VARCHAR2 := FND_API.G_MISS_CHAR,
3315: p_key_2 VARCHAR2 := FND_API.G_MISS_CHAR,
3316: p_key_3 VARCHAR2 := FND_API.G_MISS_CHAR,
3317: p_key_4 VARCHAR2 := FND_API.G_MISS_CHAR,
3318: p_key_5 VARCHAR2 := FND_API.G_MISS_CHAR
3319: )
3312: p_class_category VARCHAR2,
3313: p_id NUMBER := FND_API.G_MISS_NUM,
3314: p_key_1 VARCHAR2 := FND_API.G_MISS_CHAR,
3315: p_key_2 VARCHAR2 := FND_API.G_MISS_CHAR,
3316: p_key_3 VARCHAR2 := FND_API.G_MISS_CHAR,
3317: p_key_4 VARCHAR2 := FND_API.G_MISS_CHAR,
3318: p_key_5 VARCHAR2 := FND_API.G_MISS_CHAR
3319: )
3320: RETURN VARCHAR2
3313: p_id NUMBER := FND_API.G_MISS_NUM,
3314: p_key_1 VARCHAR2 := FND_API.G_MISS_CHAR,
3315: p_key_2 VARCHAR2 := FND_API.G_MISS_CHAR,
3316: p_key_3 VARCHAR2 := FND_API.G_MISS_CHAR,
3317: p_key_4 VARCHAR2 := FND_API.G_MISS_CHAR,
3318: p_key_5 VARCHAR2 := FND_API.G_MISS_CHAR
3319: )
3320: RETURN VARCHAR2
3321: IS
3314: p_key_1 VARCHAR2 := FND_API.G_MISS_CHAR,
3315: p_key_2 VARCHAR2 := FND_API.G_MISS_CHAR,
3316: p_key_3 VARCHAR2 := FND_API.G_MISS_CHAR,
3317: p_key_4 VARCHAR2 := FND_API.G_MISS_CHAR,
3318: p_key_5 VARCHAR2 := FND_API.G_MISS_CHAR
3319: )
3320: RETURN VARCHAR2
3321: IS
3322: --Bug 2824942: Modified the cursor to verify additional_where_clause from hz_class_category uses
3334: AND class_category = p_class_category
3335: AND owner_table = p_owner_table;
3336:
3337: bool VARCHAR2(1) := 'F';
3338: l_database_object_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3339: l_pk1_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3340: l_pk2_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3341: l_pk3_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3342: l_pk4_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3335: AND owner_table = p_owner_table;
3336:
3337: bool VARCHAR2(1) := 'F';
3338: l_database_object_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3339: l_pk1_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3340: l_pk2_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3341: l_pk3_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3342: l_pk4_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3343: l_pk5_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3336:
3337: bool VARCHAR2(1) := 'F';
3338: l_database_object_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3339: l_pk1_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3340: l_pk2_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3341: l_pk3_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3342: l_pk4_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3343: l_pk5_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3344: l_owner_table VARCHAR2(30);
3337: bool VARCHAR2(1) := 'F';
3338: l_database_object_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3339: l_pk1_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3340: l_pk2_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3341: l_pk3_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3342: l_pk4_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3343: l_pk5_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3344: l_owner_table VARCHAR2(30);
3345:
3338: l_database_object_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3339: l_pk1_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3340: l_pk2_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3341: l_pk3_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3342: l_pk4_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3343: l_pk5_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3344: l_owner_table VARCHAR2(30);
3345:
3346: p_key VARCHAR2(30);
3339: l_pk1_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3340: l_pk2_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3341: l_pk3_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3342: l_pk4_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3343: l_pk5_column_name VARCHAR2(30):= FND_API.G_MISS_CHAR;
3344: l_owner_table VARCHAR2(30);
3345:
3346: p_key VARCHAR2(30);
3347: l_sql VARCHAR2(4000);
3366:
3367: CLOSE get_category_uses_info;
3368:
3369: --p_id and p_key_1 are mutually exclusive
3370: IF (p_id IS NULL OR p_id = FND_API.G_MISS_NUM) THEN
3371: p_key := p_key_1;
3372: ELSE
3373: p_key := TO_CHAR(p_id);
3374: END IF;
3374: END IF;
3375:
3376: BEGIN
3377:
3378: IF l_pk5_column_name IS NOT NULL AND l_pk5_column_name <> FND_API.G_MISS_CHAR
3379: THEN
3380: IF l_additional_where_clause is not null THEN
3381: l_sql := 'SELECT ''T'' ' ||
3382: ' FROM ' || p_owner_table ||
3397: ' AND ' || l_pk5_column_name || '=:5 ' ||
3398: ' AND ROWNUM = 1';
3399: END IF;
3400: EXECUTE IMMEDIATE l_sql into bool using p_key,
3401: nvl(p_key_2,FND_API.G_MISS_CHAR),
3402: nvl(p_key_3,FND_API.G_MISS_CHAR),
3403: nvl(p_key_4,FND_API.G_MISS_CHAR),
3404: nvl(p_key_5,FND_API.G_MISS_CHAR);
3405: ELSIF l_pk4_column_name IS NOT NULL AND l_pk4_column_name <> FND_API.G_MISS_CHAR
3398: ' AND ROWNUM = 1';
3399: END IF;
3400: EXECUTE IMMEDIATE l_sql into bool using p_key,
3401: nvl(p_key_2,FND_API.G_MISS_CHAR),
3402: nvl(p_key_3,FND_API.G_MISS_CHAR),
3403: nvl(p_key_4,FND_API.G_MISS_CHAR),
3404: nvl(p_key_5,FND_API.G_MISS_CHAR);
3405: ELSIF l_pk4_column_name IS NOT NULL AND l_pk4_column_name <> FND_API.G_MISS_CHAR
3406: THEN
3399: END IF;
3400: EXECUTE IMMEDIATE l_sql into bool using p_key,
3401: nvl(p_key_2,FND_API.G_MISS_CHAR),
3402: nvl(p_key_3,FND_API.G_MISS_CHAR),
3403: nvl(p_key_4,FND_API.G_MISS_CHAR),
3404: nvl(p_key_5,FND_API.G_MISS_CHAR);
3405: ELSIF l_pk4_column_name IS NOT NULL AND l_pk4_column_name <> FND_API.G_MISS_CHAR
3406: THEN
3407: IF l_additional_where_clause is not null THEN
3400: EXECUTE IMMEDIATE l_sql into bool using p_key,
3401: nvl(p_key_2,FND_API.G_MISS_CHAR),
3402: nvl(p_key_3,FND_API.G_MISS_CHAR),
3403: nvl(p_key_4,FND_API.G_MISS_CHAR),
3404: nvl(p_key_5,FND_API.G_MISS_CHAR);
3405: ELSIF l_pk4_column_name IS NOT NULL AND l_pk4_column_name <> FND_API.G_MISS_CHAR
3406: THEN
3407: IF l_additional_where_clause is not null THEN
3408: l_sql := 'SELECT ''T'' ' ||
3401: nvl(p_key_2,FND_API.G_MISS_CHAR),
3402: nvl(p_key_3,FND_API.G_MISS_CHAR),
3403: nvl(p_key_4,FND_API.G_MISS_CHAR),
3404: nvl(p_key_5,FND_API.G_MISS_CHAR);
3405: ELSIF l_pk4_column_name IS NOT NULL AND l_pk4_column_name <> FND_API.G_MISS_CHAR
3406: THEN
3407: IF l_additional_where_clause is not null THEN
3408: l_sql := 'SELECT ''T'' ' ||
3409: ' FROM ' || p_owner_table ||
3422: ' AND ' || l_pk4_column_name || '=:4 ' ||
3423: ' AND ROWNUM = 1';
3424: END IF;
3425: EXECUTE IMMEDIATE l_sql into bool using p_key,
3426: nvl(p_key_2,FND_API.G_MISS_CHAR),
3427: nvl(p_key_3,FND_API.G_MISS_CHAR),
3428: nvl(p_key_4,FND_API.G_MISS_CHAR);
3429: ELSIF l_pk3_column_name IS NOT NULL AND l_pk3_column_name <> FND_API.G_MISS_CHAR
3430: THEN
3423: ' AND ROWNUM = 1';
3424: END IF;
3425: EXECUTE IMMEDIATE l_sql into bool using p_key,
3426: nvl(p_key_2,FND_API.G_MISS_CHAR),
3427: nvl(p_key_3,FND_API.G_MISS_CHAR),
3428: nvl(p_key_4,FND_API.G_MISS_CHAR);
3429: ELSIF l_pk3_column_name IS NOT NULL AND l_pk3_column_name <> FND_API.G_MISS_CHAR
3430: THEN
3431: IF l_additional_where_clause is not null THEN
3424: END IF;
3425: EXECUTE IMMEDIATE l_sql into bool using p_key,
3426: nvl(p_key_2,FND_API.G_MISS_CHAR),
3427: nvl(p_key_3,FND_API.G_MISS_CHAR),
3428: nvl(p_key_4,FND_API.G_MISS_CHAR);
3429: ELSIF l_pk3_column_name IS NOT NULL AND l_pk3_column_name <> FND_API.G_MISS_CHAR
3430: THEN
3431: IF l_additional_where_clause is not null THEN
3432: l_sql := 'SELECT ''T'' ' ||
3425: EXECUTE IMMEDIATE l_sql into bool using p_key,
3426: nvl(p_key_2,FND_API.G_MISS_CHAR),
3427: nvl(p_key_3,FND_API.G_MISS_CHAR),
3428: nvl(p_key_4,FND_API.G_MISS_CHAR);
3429: ELSIF l_pk3_column_name IS NOT NULL AND l_pk3_column_name <> FND_API.G_MISS_CHAR
3430: THEN
3431: IF l_additional_where_clause is not null THEN
3432: l_sql := 'SELECT ''T'' ' ||
3433: ' FROM ' || p_owner_table ||
3444: ' AND ' || l_pk3_column_name || '=:3 ' ||
3445: ' AND ROWNUM = 1';
3446: END IF;
3447: EXECUTE IMMEDIATE l_sql into bool using p_key,
3448: nvl(p_key_2,FND_API.G_MISS_CHAR),
3449: nvl(p_key_3,FND_API.G_MISS_CHAR);
3450: ELSIF l_pk2_column_name IS NOT NULL AND l_pk2_column_name <> FND_API.G_MISS_CHAR
3451: THEN
3452: IF l_additional_where_clause is not null THEN
3445: ' AND ROWNUM = 1';
3446: END IF;
3447: EXECUTE IMMEDIATE l_sql into bool using p_key,
3448: nvl(p_key_2,FND_API.G_MISS_CHAR),
3449: nvl(p_key_3,FND_API.G_MISS_CHAR);
3450: ELSIF l_pk2_column_name IS NOT NULL AND l_pk2_column_name <> FND_API.G_MISS_CHAR
3451: THEN
3452: IF l_additional_where_clause is not null THEN
3453: l_sql := 'SELECT ''T'' ' ||
3446: END IF;
3447: EXECUTE IMMEDIATE l_sql into bool using p_key,
3448: nvl(p_key_2,FND_API.G_MISS_CHAR),
3449: nvl(p_key_3,FND_API.G_MISS_CHAR);
3450: ELSIF l_pk2_column_name IS NOT NULL AND l_pk2_column_name <> FND_API.G_MISS_CHAR
3451: THEN
3452: IF l_additional_where_clause is not null THEN
3453: l_sql := 'SELECT ''T'' ' ||
3454: ' FROM ' || p_owner_table ||
3463: ' AND ' || l_pk2_column_name || '=:2 ' ||
3464: ' AND ROWNUM = 1';
3465: END IF;
3466: EXECUTE IMMEDIATE l_sql into bool using p_key,
3467: nvl(p_key_2,FND_API.G_MISS_CHAR);
3468: ELSIF (l_pk1_column_name IS NOT NULL AND l_pk1_column_name <> FND_API.G_MISS_CHAR)
3469: THEN
3470: IF l_additional_where_clause is not null THEN
3471: l_sql := 'SELECT ''T'' ' ||
3464: ' AND ROWNUM = 1';
3465: END IF;
3466: EXECUTE IMMEDIATE l_sql into bool using p_key,
3467: nvl(p_key_2,FND_API.G_MISS_CHAR);
3468: ELSIF (l_pk1_column_name IS NOT NULL AND l_pk1_column_name <> FND_API.G_MISS_CHAR)
3469: THEN
3470: IF l_additional_where_clause is not null THEN
3471: l_sql := 'SELECT ''T'' ' ||
3472: ' FROM ' || p_owner_table ||
3552: *
3553: * ARGUMENTS
3554: * IN:
3555: * p_init_msg_list Initialize message stack if it is set to
3556: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
3557: * p_class_code_rec Lookup value related columns
3558: * IN/OUT:
3559: * OUT:
3560: * x_return_status Return status after the call. The status can
3557: * p_class_code_rec Lookup value related columns
3558: * IN/OUT:
3559: * OUT:
3560: * x_return_status Return status after the call. The status can
3561: * be FND_API.G_RET_STS_SUCCESS (success),
3562: * FND_API.G_RET_STS_ERROR (error),
3563: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3564: * x_msg_count Number of messages in message stack.
3565: * x_msg_data Message text if x_msg_count is 1.
3558: * IN/OUT:
3559: * OUT:
3560: * x_return_status Return status after the call. The status can
3561: * be FND_API.G_RET_STS_SUCCESS (success),
3562: * FND_API.G_RET_STS_ERROR (error),
3563: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3564: * x_msg_count Number of messages in message stack.
3565: * x_msg_data Message text if x_msg_count is 1.
3566: *
3559: * OUT:
3560: * x_return_status Return status after the call. The status can
3561: * be FND_API.G_RET_STS_SUCCESS (success),
3562: * FND_API.G_RET_STS_ERROR (error),
3563: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3564: * x_msg_count Number of messages in message stack.
3565: * x_msg_data Message text if x_msg_count is 1.
3566: *
3567: * NOTES
3575: * classification code and classification meaning.
3576: */
3577:
3578: PROCEDURE create_class_code(
3579: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3580: p_class_code_rec IN CLASS_CODE_REC_TYPE,
3581: x_return_status OUT NOCOPY VARCHAR2,
3582: x_msg_count OUT NOCOPY NUMBER,
3583: x_msg_data OUT NOCOPY VARCHAR2
3587: begin
3588: savepoint create_class_code;
3589:
3590: -- initialize message list if p_init_msg_list is set to TRUE.
3591: IF FND_API.to_Boolean(p_init_msg_list) THEN
3592: FND_MSG_PUB.initialize;
3593: END IF;
3594:
3595: -- Initialize return status to SUCCESS
3592: FND_MSG_PUB.initialize;
3593: END IF;
3594:
3595: -- Initialize return status to SUCCESS
3596: x_return_status := FND_API.G_RET_STS_SUCCESS;
3597:
3598: If HZ_CLASS_VALIDATE_V2PUB.is_valid_class_code_meaning(l_class_code_rec.type,l_class_code_rec.meaning)='N'
3599: then
3600: FND_MESSAGE.SET_NAME('AR', 'HZ_MODIFY_CLASS_CODE_MEANING');
3598: If HZ_CLASS_VALIDATE_V2PUB.is_valid_class_code_meaning(l_class_code_rec.type,l_class_code_rec.meaning)='N'
3599: then
3600: FND_MESSAGE.SET_NAME('AR', 'HZ_MODIFY_CLASS_CODE_MEANING');
3601: FND_MSG_PUB.ADD;
3602: RAISE FND_API.G_EXC_ERROR;
3603: end if;
3604:
3605: --Bug fix 2783498
3606: IF ( l_class_code_rec.start_date_active IS NULL OR
3603: end if;
3604:
3605: --Bug fix 2783498
3606: IF ( l_class_code_rec.start_date_active IS NULL OR
3607: l_class_code_rec.start_date_active = FND_API.G_MISS_DATE ) THEN
3608: l_class_code_rec.start_date_active := SYSDATE;
3609: END IF;
3610:
3611: IF l_class_code_rec.end_date_active = FND_API.G_MISS_DATE THEN
3607: l_class_code_rec.start_date_active = FND_API.G_MISS_DATE ) THEN
3608: l_class_code_rec.start_date_active := SYSDATE;
3609: END IF;
3610:
3611: IF l_class_code_rec.end_date_active = FND_API.G_MISS_DATE THEN
3612: l_class_code_rec.end_date_active := TO_DATE(NULL);
3613: END IF;
3614:
3615: -- Bug 2960224 :Added validation to TYPE against active class categories.
3615: -- Bug 2960224 :Added validation to TYPE against active class categories.
3616:
3617: HZ_CLASS_VALIDATE_V2PUB.check_existence_class_category(l_class_code_rec.type, x_return_status);
3618:
3619: if(x_return_status = fnd_api.g_ret_sts_error) then
3620: RAISE FND_API.G_EXC_ERROR;
3621:
3622: -- Bug 6158794: Added validation to TYPE against classification code and classification meaning.
3623: end if;
3616:
3617: HZ_CLASS_VALIDATE_V2PUB.check_existence_class_category(l_class_code_rec.type, x_return_status);
3618:
3619: if(x_return_status = fnd_api.g_ret_sts_error) then
3620: RAISE FND_API.G_EXC_ERROR;
3621:
3622: -- Bug 6158794: Added validation to TYPE against classification code and classification meaning.
3623: end if;
3624:
3622: -- Bug 6158794: Added validation to TYPE against classification code and classification meaning.
3623: end if;
3624:
3625: HZ_CLASS_VALIDATE_V2PUB.chk_exist_cls_catgry_type_code(l_class_code_rec.type,l_class_code_rec.code,0,222,x_return_status);
3626: if(x_return_status = fnd_api.g_ret_sts_error) then
3627: RAISE FND_API.G_EXC_ERROR;
3628: end if;
3629:
3630: HZ_CLASS_VALIDATE_V2PUB.chk_exist_clas_catgry_typ_mng(l_class_code_rec.type,l_class_code_rec.meaning,0,222,x_return_status);
3623: end if;
3624:
3625: HZ_CLASS_VALIDATE_V2PUB.chk_exist_cls_catgry_type_code(l_class_code_rec.type,l_class_code_rec.code,0,222,x_return_status);
3626: if(x_return_status = fnd_api.g_ret_sts_error) then
3627: RAISE FND_API.G_EXC_ERROR;
3628: end if;
3629:
3630: HZ_CLASS_VALIDATE_V2PUB.chk_exist_clas_catgry_typ_mng(l_class_code_rec.type,l_class_code_rec.meaning,0,222,x_return_status);
3631: if(x_return_status = fnd_api.g_ret_sts_error) then
3627: RAISE FND_API.G_EXC_ERROR;
3628: end if;
3629:
3630: HZ_CLASS_VALIDATE_V2PUB.chk_exist_clas_catgry_typ_mng(l_class_code_rec.type,l_class_code_rec.meaning,0,222,x_return_status);
3631: if(x_return_status = fnd_api.g_ret_sts_error) then
3632: RAISE FND_API.G_EXC_ERROR;
3633:
3634: end if;
3635:
3628: end if;
3629:
3630: HZ_CLASS_VALIDATE_V2PUB.chk_exist_clas_catgry_typ_mng(l_class_code_rec.type,l_class_code_rec.meaning,0,222,x_return_status);
3631: if(x_return_status = fnd_api.g_ret_sts_error) then
3632: RAISE FND_API.G_EXC_ERROR;
3633:
3634: end if;
3635:
3636: Fnd_Lookup_Values_Pkg.Insert_Row(
3670:
3671: set_frozen_flag(l_class_code_rec.type);
3672:
3673: -- Bug 5053099: Raise business events.
3674: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
3675: -- Invoke business event system.
3676: IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
3677: HZ_BUSINESS_EVENT_V2PVT.create_class_code_event (
3678: l_class_code_rec );
3680: END IF;
3681:
3682: EXCEPTION
3683:
3684: WHEN FND_API.G_EXC_ERROR THEN
3685: ROLLBACK TO create_class_code;
3686: x_return_status := FND_API.G_RET_STS_ERROR;
3687: FND_MSG_PUB.Count_And_Get(
3688: p_encoded => FND_API.G_FALSE,
3682: EXCEPTION
3683:
3684: WHEN FND_API.G_EXC_ERROR THEN
3685: ROLLBACK TO create_class_code;
3686: x_return_status := FND_API.G_RET_STS_ERROR;
3687: FND_MSG_PUB.Count_And_Get(
3688: p_encoded => FND_API.G_FALSE,
3689: p_count => x_msg_count,
3690: p_data => x_msg_data);
3684: WHEN FND_API.G_EXC_ERROR THEN
3685: ROLLBACK TO create_class_code;
3686: x_return_status := FND_API.G_RET_STS_ERROR;
3687: FND_MSG_PUB.Count_And_Get(
3688: p_encoded => FND_API.G_FALSE,
3689: p_count => x_msg_count,
3690: p_data => x_msg_data);
3691:
3692: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3688: p_encoded => FND_API.G_FALSE,
3689: p_count => x_msg_count,
3690: p_data => x_msg_data);
3691:
3692: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3693: ROLLBACK TO create_class_code ;
3694: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3695: FND_MSG_PUB.Count_And_Get(
3696: p_encoded => FND_API.G_FALSE,
3690: p_data => x_msg_data);
3691:
3692: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3693: ROLLBACK TO create_class_code ;
3694: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3695: FND_MSG_PUB.Count_And_Get(
3696: p_encoded => FND_API.G_FALSE,
3697: p_count => x_msg_count,
3698: p_data => x_msg_data);
3692: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3693: ROLLBACK TO create_class_code ;
3694: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3695: FND_MSG_PUB.Count_And_Get(
3696: p_encoded => FND_API.G_FALSE,
3697: p_count => x_msg_count,
3698: p_data => x_msg_data);
3699:
3700: WHEN OTHERS THEN
3698: p_data => x_msg_data);
3699:
3700: WHEN OTHERS THEN
3701: ROLLBACK TO create_class_code;
3702: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3703: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
3704: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
3705: FND_MSG_PUB.ADD;
3706: FND_MSG_PUB.Count_And_Get(
3703: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
3704: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
3705: FND_MSG_PUB.ADD;
3706: FND_MSG_PUB.Count_And_Get(
3707: p_encoded => FND_API.G_FALSE,
3708: p_count => x_msg_count,
3709: p_data => x_msg_data);
3710:
3711:
3724: *
3725: * ARGUMENTS
3726: * IN:
3727: * p_init_msg_list Initialize message stack if it is set to
3728: * FND_API.G_TRUE. Default is FND_API.G_FALSE.
3729: * p_class_code_rec Lookup value related columns
3730: * IN/OUT:
3731: * p_object_version_number Used for locking the being updated record.
3732: * OUT:
3730: * IN/OUT:
3731: * p_object_version_number Used for locking the being updated record.
3732: * OUT:
3733: * x_return_status Return status after the call. The status can
3734: * be FND_API.G_RET_STS_SUCCESS (success),
3735: * FND_API.G_RET_STS_ERROR (error),
3736: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3737: * x_msg_count Number of messages in message stack.
3738: * x_msg_data Message text if x_msg_count is 1.
3731: * p_object_version_number Used for locking the being updated record.
3732: * OUT:
3733: * x_return_status Return status after the call. The status can
3734: * be FND_API.G_RET_STS_SUCCESS (success),
3735: * FND_API.G_RET_STS_ERROR (error),
3736: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3737: * x_msg_count Number of messages in message stack.
3738: * x_msg_data Message text if x_msg_count is 1.
3739: *
3732: * OUT:
3733: * x_return_status Return status after the call. The status can
3734: * be FND_API.G_RET_STS_SUCCESS (success),
3735: * FND_API.G_RET_STS_ERROR (error),
3736: * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3737: * x_msg_count Number of messages in message stack.
3738: * x_msg_data Message text if x_msg_count is 1.
3739: *
3740: * NOTES
3745: *
3746: */
3747:
3748: PROCEDURE update_class_code(
3749: p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
3750: p_class_code_rec IN CLASS_CODE_REC_TYPE,
3751: p_object_version_number IN OUT NOCOPY NUMBER,
3752: x_return_status OUT NOCOPY VARCHAR2,
3753: x_msg_count OUT NOCOPY NUMBER,
3760: begin
3761: savepoint update_class_code;
3762:
3763: -- initialize message list if p_init_msg_list is set to TRUE.
3764: IF FND_API.to_Boolean(p_init_msg_list) THEN
3765: FND_MSG_PUB.initialize;
3766: END IF;
3767:
3768: --Bug fix 2783498
3774: FOR UPDATE OF LOOKUP_CODE NOWAIT;
3775:
3776: IF l_class_code_rec.start_date_active IS NULL THEN
3777: l_class_code_rec.start_date_active := l_start_date_active;
3778: ELSIF l_class_code_rec.start_date_active = FND_API.G_MISS_DATE THEN
3779: l_class_code_rec.start_date_active := SYSDATE;
3780: END IF;
3781:
3782: IF l_class_code_rec.end_date_active IS NULL THEN
3780: END IF;
3781:
3782: IF l_class_code_rec.end_date_active IS NULL THEN
3783: l_class_code_rec.end_date_active := l_end_date_active;
3784: elsif l_class_code_rec.end_date_active = FND_API.G_MISS_DATE THEN
3785: l_class_code_rec.end_date_active := TO_DATE(NULL);
3786: END IF;
3787:
3788:
3786: END IF;
3787:
3788:
3789: -- Initialize return status to SUCCESS
3790: x_return_status := FND_API.G_RET_STS_SUCCESS;
3791:
3792: if (l_class_code_rec.meaning is not null and l_class_code_rec.meaning <> fnd_api.g_miss_char)
3793: then
3794: If HZ_CLASS_VALIDATE_V2PUB.is_valid_class_code_meaning(l_class_code_rec.type,l_class_code_rec.meaning)='N'
3788:
3789: -- Initialize return status to SUCCESS
3790: x_return_status := FND_API.G_RET_STS_SUCCESS;
3791:
3792: if (l_class_code_rec.meaning is not null and l_class_code_rec.meaning <> fnd_api.g_miss_char)
3793: then
3794: If HZ_CLASS_VALIDATE_V2PUB.is_valid_class_code_meaning(l_class_code_rec.type,l_class_code_rec.meaning)='N'
3795: then
3796: FND_MESSAGE.SET_NAME('AR', 'HZ_MODIFY_CLASS_CODE_MEANING');
3794: If HZ_CLASS_VALIDATE_V2PUB.is_valid_class_code_meaning(l_class_code_rec.type,l_class_code_rec.meaning)='N'
3795: then
3796: FND_MESSAGE.SET_NAME('AR', 'HZ_MODIFY_CLASS_CODE_MEANING');
3797: FND_MSG_PUB.ADD;
3798: RAISE FND_API.G_EXC_ERROR;
3799: end if;
3800: end if;
3801:
3802: Fnd_Lookup_Values_Pkg.Update_Row(
3833:
3834: set_frozen_flag(l_class_code_rec.type);
3835:
3836: -- Bug 5053099: Raise businss events.
3837: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
3838: -- Invoke business event system.
3839: IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
3840: HZ_BUSINESS_EVENT_V2PVT.update_class_code_event (
3841: p_class_code_rec => l_class_code_rec,
3844: END IF;
3845:
3846: EXCEPTION
3847:
3848: WHEN FND_API.G_EXC_ERROR THEN
3849: ROLLBACK TO update_class_code;
3850: x_return_status := FND_API.G_RET_STS_ERROR;
3851: FND_MSG_PUB.Count_And_Get(
3852: p_encoded => FND_API.G_FALSE,
3846: EXCEPTION
3847:
3848: WHEN FND_API.G_EXC_ERROR THEN
3849: ROLLBACK TO update_class_code;
3850: x_return_status := FND_API.G_RET_STS_ERROR;
3851: FND_MSG_PUB.Count_And_Get(
3852: p_encoded => FND_API.G_FALSE,
3853: p_count => x_msg_count,
3854: p_data => x_msg_data);
3848: WHEN FND_API.G_EXC_ERROR THEN
3849: ROLLBACK TO update_class_code;
3850: x_return_status := FND_API.G_RET_STS_ERROR;
3851: FND_MSG_PUB.Count_And_Get(
3852: p_encoded => FND_API.G_FALSE,
3853: p_count => x_msg_count,
3854: p_data => x_msg_data);
3855:
3856: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3852: p_encoded => FND_API.G_FALSE,
3853: p_count => x_msg_count,
3854: p_data => x_msg_data);
3855:
3856: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3857: ROLLBACK TO update_class_code ;
3858: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3859: FND_MSG_PUB.Count_And_Get(
3860: p_encoded => FND_API.G_FALSE,
3854: p_data => x_msg_data);
3855:
3856: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3857: ROLLBACK TO update_class_code ;
3858: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3859: FND_MSG_PUB.Count_And_Get(
3860: p_encoded => FND_API.G_FALSE,
3861: p_count => x_msg_count,
3862: p_data => x_msg_data);
3856: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3857: ROLLBACK TO update_class_code ;
3858: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3859: FND_MSG_PUB.Count_And_Get(
3860: p_encoded => FND_API.G_FALSE,
3861: p_count => x_msg_count,
3862: p_data => x_msg_data);
3863:
3864: WHEN OTHERS THEN
3862: p_data => x_msg_data);
3863:
3864: WHEN OTHERS THEN
3865: ROLLBACK TO update_class_code;
3866: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3867: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
3868: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
3869: FND_MSG_PUB.ADD;
3870: FND_MSG_PUB.Count_And_Get(
3867: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
3868: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
3869: FND_MSG_PUB.ADD;
3870: FND_MSG_PUB.Count_And_Get(
3871: p_encoded => FND_API.G_FALSE,
3872: p_count => x_msg_count,
3873: p_data => x_msg_data);
3874:
3875:
3967: --Output the results
3968: END LOOP;
3969:
3970: EXCEPTION
3971: WHEN FND_API.G_EXC_ERROR THEN
3972: x_return_status := FND_API.G_RET_STS_ERROR;
3973: FND_MSG_PUB.Count_And_Get(
3974: p_encoded => FND_API.G_FALSE,
3975: p_count => x_msg_count,
3968: END LOOP;
3969:
3970: EXCEPTION
3971: WHEN FND_API.G_EXC_ERROR THEN
3972: x_return_status := FND_API.G_RET_STS_ERROR;
3973: FND_MSG_PUB.Count_And_Get(
3974: p_encoded => FND_API.G_FALSE,
3975: p_count => x_msg_count,
3976: p_data => x_msg_data);
3970: EXCEPTION
3971: WHEN FND_API.G_EXC_ERROR THEN
3972: x_return_status := FND_API.G_RET_STS_ERROR;
3973: FND_MSG_PUB.Count_And_Get(
3974: p_encoded => FND_API.G_FALSE,
3975: p_count => x_msg_count,
3976: p_data => x_msg_data);
3977:
3978: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3974: p_encoded => FND_API.G_FALSE,
3975: p_count => x_msg_count,
3976: p_data => x_msg_data);
3977:
3978: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3979: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3980: FND_MSG_PUB.Count_And_Get(
3981: p_encoded => FND_API.G_FALSE,
3982: p_count => x_msg_count,
3975: p_count => x_msg_count,
3976: p_data => x_msg_data);
3977:
3978: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3979: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3980: FND_MSG_PUB.Count_And_Get(
3981: p_encoded => FND_API.G_FALSE,
3982: p_count => x_msg_count,
3983: p_data => x_msg_data);
3977:
3978: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3979: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3980: FND_MSG_PUB.Count_And_Get(
3981: p_encoded => FND_API.G_FALSE,
3982: p_count => x_msg_count,
3983: p_data => x_msg_data);
3984:
3985: WHEN OTHERS THEN
3982: p_count => x_msg_count,
3983: p_data => x_msg_data);
3984:
3985: WHEN OTHERS THEN
3986: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3987: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
3988: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
3989: FND_MSG_PUB.ADD;
3990: FND_MSG_PUB.Count_And_Get(
3987: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
3988: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
3989: FND_MSG_PUB.ADD;
3990: FND_MSG_PUB.Count_And_Get(
3991: p_encoded => FND_API.G_FALSE,
3992: p_count => x_msg_count,
3993: p_data => x_msg_data);
3994:
3995: END v2_copy_class_category;