177: --Validate if the parent rule object has use_instance_flag as Y or not.
178: --If not, then we will raise user defined exception and come out.
179:
180: IF (NOT UPPER(l_orig_rule_object_rec.use_instance_flag) = 'Y') THEN
181: fnd_message.set_name('FUN', 'FUN_RULE_NO_CREATE_ROB_INST');
182: fnd_msg_pub.add;
183: x_return_status := fnd_api.g_ret_sts_error;
184: RAISE FND_API.G_EXC_ERROR;
185: END IF;
250: AND PARENT_RULE_OBJECT_ID IS NOT NULL;
251:
252: EXCEPTION
253: WHEN NO_DATA_FOUND THEN
254: fnd_message.set_name('FUN', 'FUN_RULE_API_INVALID_ROB');
255: fnd_msg_pub.add;
256: x_return_status := fnd_api.g_ret_sts_error;
257: END;
258:
331: IF NOT ((p_object_version_number is null and l_object_version_number is null)
332: OR (p_object_version_number = l_object_version_number))
333: THEN
334:
335: FND_MESSAGE.SET_NAME('FUN', 'FUN_RULE_API_RECORD_CHANGED');
336: FND_MESSAGE.SET_TOKEN('TABLE', 'FUN_RULE_OBJECTS');
337: FND_MSG_PUB.ADD;
338: RAISE FND_API.G_EXC_ERROR;
339: END IF;
332: OR (p_object_version_number = l_object_version_number))
333: THEN
334:
335: FND_MESSAGE.SET_NAME('FUN', 'FUN_RULE_API_RECORD_CHANGED');
336: FND_MESSAGE.SET_TOKEN('TABLE', 'FUN_RULE_OBJECTS');
337: FND_MSG_PUB.ADD;
338: RAISE FND_API.G_EXC_ERROR;
339: END IF;
340:
340:
341: p_object_version_number := nvl(l_object_version_number, 1) + 1;
342:
343: EXCEPTION WHEN NO_DATA_FOUND THEN
344: FND_MESSAGE.SET_NAME('FUN', 'FUN_RULE_API_NO_RECORD');
345: FND_MESSAGE.SET_TOKEN('RECORD', 'FUN_RULE_OBJECTS');
346: FND_MESSAGE.SET_TOKEN('VALUE', 'rule_object_id'||to_char(p_rule_object_rec.rule_object_id));
347: FND_MSG_PUB.ADD;
348: RAISE FND_API.G_EXC_ERROR;
341: p_object_version_number := nvl(l_object_version_number, 1) + 1;
342:
343: EXCEPTION WHEN NO_DATA_FOUND THEN
344: FND_MESSAGE.SET_NAME('FUN', 'FUN_RULE_API_NO_RECORD');
345: FND_MESSAGE.SET_TOKEN('RECORD', 'FUN_RULE_OBJECTS');
346: FND_MESSAGE.SET_TOKEN('VALUE', 'rule_object_id'||to_char(p_rule_object_rec.rule_object_id));
347: FND_MSG_PUB.ADD;
348: RAISE FND_API.G_EXC_ERROR;
349: END;
342:
343: EXCEPTION WHEN NO_DATA_FOUND THEN
344: FND_MESSAGE.SET_NAME('FUN', 'FUN_RULE_API_NO_RECORD');
345: FND_MESSAGE.SET_TOKEN('RECORD', 'FUN_RULE_OBJECTS');
346: FND_MESSAGE.SET_TOKEN('VALUE', 'rule_object_id'||to_char(p_rule_object_rec.rule_object_id));
347: FND_MSG_PUB.ADD;
348: RAISE FND_API.G_EXC_ERROR;
349: END;
350:
484: x_msg_data := FND_MSG_PUB.Get_Detail;
485: WHEN OTHERS THEN
486: ROLLBACK TO create_rule_objects;
487: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
488: FND_MESSAGE.SET_NAME('FUN', 'FUN_RULE_API_OTHERS_EXCEP');
489: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
490: FND_MSG_PUB.ADD;
491: FND_MSG_PUB.Count_And_Get(
492: p_encoded => FND_API.G_FALSE,
485: WHEN OTHERS THEN
486: ROLLBACK TO create_rule_objects;
487: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
488: FND_MESSAGE.SET_NAME('FUN', 'FUN_RULE_API_OTHERS_EXCEP');
489: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
490: FND_MSG_PUB.ADD;
491: FND_MSG_PUB.Count_And_Get(
492: p_encoded => FND_API.G_FALSE,
493: p_count => x_msg_count,
597: x_msg_data := FND_MSG_PUB.Get_Detail;
598: WHEN OTHERS THEN
599: ROLLBACK TO create_rule_object_instance;
600: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
601: FND_MESSAGE.SET_NAME('FUN', 'FUN_RULE_API_OTHERS_EXCEP');
602: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
603: FND_MSG_PUB.ADD;
604: FND_MSG_PUB.Count_And_Get(
605: p_encoded => FND_API.G_FALSE,
598: WHEN OTHERS THEN
599: ROLLBACK TO create_rule_object_instance;
600: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
601: FND_MESSAGE.SET_NAME('FUN', 'FUN_RULE_API_OTHERS_EXCEP');
602: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
603: FND_MSG_PUB.ADD;
604: FND_MSG_PUB.Count_And_Get(
605: p_encoded => FND_API.G_FALSE,
606: p_count => x_msg_count,
808:
809: WHEN OTHERS THEN
810: ROLLBACK TO update_rule_objects;
811: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
812: FND_MESSAGE.SET_NAME('FUN', 'FUN_RULE_API_OTHERS_EXCEP');
813: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
814: FND_MSG_PUB.ADD;
815: FND_MSG_PUB.Count_And_Get(
816: p_encoded => FND_API.G_FALSE,
809: WHEN OTHERS THEN
810: ROLLBACK TO update_rule_objects;
811: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
812: FND_MESSAGE.SET_NAME('FUN', 'FUN_RULE_API_OTHERS_EXCEP');
813: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
814: FND_MSG_PUB.ADD;
815: FND_MSG_PUB.Count_And_Get(
816: p_encoded => FND_API.G_FALSE,
817: p_count => x_msg_count,
875:
876: --Check whether primary key has been passed in.
877: IF p_rule_object_name IS NULL OR
878: p_rule_object_name = FND_API.G_MISS_CHAR THEN
879: FND_MESSAGE.SET_NAME( 'FUN', 'FUN_RULE_API_MISSING_COLUMN' );
880: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'rule_object_name' );
881: FND_MSG_PUB.ADD;
882: RAISE FND_API.G_EXC_ERROR;
883: END IF;
876: --Check whether primary key has been passed in.
877: IF p_rule_object_name IS NULL OR
878: p_rule_object_name = FND_API.G_MISS_CHAR THEN
879: FND_MESSAGE.SET_NAME( 'FUN', 'FUN_RULE_API_MISSING_COLUMN' );
880: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'rule_object_name' );
881: FND_MSG_PUB.ADD;
882: RAISE FND_API.G_EXC_ERROR;
883: END IF;
884:
936:
937: WHEN OTHERS THEN
938: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
939:
940: FND_MESSAGE.SET_NAME( 'FUN', 'FUN_RULE_API_OTHERS_EXCEP' );
941: FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
942: FND_MSG_PUB.ADD;
943:
944: FND_MSG_PUB.Count_And_Get(
937: WHEN OTHERS THEN
938: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
939:
940: FND_MESSAGE.SET_NAME( 'FUN', 'FUN_RULE_API_OTHERS_EXCEP' );
941: FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
942: FND_MSG_PUB.ADD;
943:
944: FND_MSG_PUB.Count_And_Get(
945: p_encoded => FND_API.G_FALSE,
1001:
1002: --Check whether primary key has been passed in.
1003: IF p_rule_object_id IS NULL OR
1004: p_rule_object_id = FND_API.G_MISS_NUM THEN
1005: FND_MESSAGE.SET_NAME( 'FUN', 'FUN_RULE_API_MISSING_COLUMN' );
1006: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'rule_object_id' );
1007: FND_MSG_PUB.ADD;
1008: RAISE FND_API.G_EXC_ERROR;
1009: END IF;
1002: --Check whether primary key has been passed in.
1003: IF p_rule_object_id IS NULL OR
1004: p_rule_object_id = FND_API.G_MISS_NUM THEN
1005: FND_MESSAGE.SET_NAME( 'FUN', 'FUN_RULE_API_MISSING_COLUMN' );
1006: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'rule_object_id' );
1007: FND_MSG_PUB.ADD;
1008: RAISE FND_API.G_EXC_ERROR;
1009: END IF;
1010:
1059:
1060: WHEN OTHERS THEN
1061: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1062:
1063: FND_MESSAGE.SET_NAME( 'FUN', 'FUN_RULE_API_OTHERS_EXCEP' );
1064: FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
1065: FND_MSG_PUB.ADD;
1066:
1067: FND_MSG_PUB.Count_And_Get(
1060: WHEN OTHERS THEN
1061: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1062:
1063: FND_MESSAGE.SET_NAME( 'FUN', 'FUN_RULE_API_OTHERS_EXCEP' );
1064: FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
1065: FND_MSG_PUB.ADD;
1066:
1067: FND_MSG_PUB.Count_And_Get(
1068: p_encoded => FND_API.G_FALSE,
1143: AND PARENT_RULE_OBJECT_ID IS NULL;
1144:
1145: EXCEPTION
1146: WHEN NO_DATA_FOUND THEN
1147: FND_MESSAGE.SET_NAME('FUN', 'FUN_RULE_INVALID_ROB');
1148: FND_MSG_PUB.ADD;
1149: RAISE FND_API.G_EXC_ERROR;
1150: END;
1151:
1281:
1282: WHEN OTHERS THEN
1283: ROLLBACK TO delete_rule_object;
1284: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1285: FND_MESSAGE.SET_NAME('FUN', 'FUN_RULE_API_OTHERS_EXCEP');
1286: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1287: FND_MSG_PUB.ADD;
1288: FND_MSG_PUB.Count_And_Get(
1289: p_encoded => FND_API.G_FALSE,
1282: WHEN OTHERS THEN
1283: ROLLBACK TO delete_rule_object;
1284: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1285: FND_MESSAGE.SET_NAME('FUN', 'FUN_RULE_API_OTHERS_EXCEP');
1286: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1287: FND_MSG_PUB.ADD;
1288: FND_MSG_PUB.Count_And_Get(
1289: p_encoded => FND_API.G_FALSE,
1290: p_count => x_msg_count,
1341: AND PARENT_RULE_OBJECT_ID IS NOT NULL;
1342:
1343: EXCEPTION
1344: WHEN NO_DATA_FOUND THEN
1345: FND_MESSAGE.SET_NAME('FUN', 'FUN_RULE_NO_INSTANCE');
1346: FND_MESSAGE.SET_TOKEN('INSTANCE_LABEL' ,p_instance_label);
1347: FND_MSG_PUB.ADD;
1348: RAISE FND_API.G_EXC_ERROR;
1349: END;
1342:
1343: EXCEPTION
1344: WHEN NO_DATA_FOUND THEN
1345: FND_MESSAGE.SET_NAME('FUN', 'FUN_RULE_NO_INSTANCE');
1346: FND_MESSAGE.SET_TOKEN('INSTANCE_LABEL' ,p_instance_label);
1347: FND_MSG_PUB.ADD;
1348: RAISE FND_API.G_EXC_ERROR;
1349: END;
1350:
1517:
1518: WHEN OTHERS THEN
1519: ROLLBACK TO delete_rule_object_instance;
1520: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1521: FND_MESSAGE.SET_NAME('FUN', 'FUN_RULE_API_OTHERS_EXCEP');
1522: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1523: FND_MSG_PUB.ADD;
1524: FND_MSG_PUB.Count_And_Get(
1525: p_encoded => FND_API.G_FALSE,
1518: WHEN OTHERS THEN
1519: ROLLBACK TO delete_rule_object_instance;
1520: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1521: FND_MESSAGE.SET_NAME('FUN', 'FUN_RULE_API_OTHERS_EXCEP');
1522: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1523: FND_MSG_PUB.ADD;
1524: FND_MSG_PUB.Count_And_Get(
1525: p_encoded => FND_API.G_FALSE,
1526: p_count => x_msg_count,
1793: *Only parent Rule Objects should be processed through this method
1794: */
1795:
1796: IF (FUN_RULE_UTILITY_PKG.IS_USE_INSTANCE(p_rule_object_id)) THEN
1797: fnd_message.set_name('FUN', 'FUN_RULE_NO_CONV_ROB_INST');
1798: fnd_msg_pub.add;
1799: x_return_status := fnd_api.g_ret_sts_error;
1800: RAISE FND_API.G_EXC_ERROR;
1801: END IF;
1905:
1906: ELSE
1907: --Invalid P_USE_INSTANCE_FLAG
1908:
1909: fnd_message.set_name('FUN', 'FUN_RULE_INVALID_INST_FLAG');
1910: fnd_msg_pub.add;
1911: x_return_status := fnd_api.g_ret_sts_error;
1912: RAISE FND_API.G_EXC_ERROR;
1913: END IF;
1932: x_msg_data := FND_MSG_PUB.Get_Detail;
1933: WHEN OTHERS THEN
1934: ROLLBACK TO convert_use_instance;
1935: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1936: FND_MESSAGE.SET_NAME('FUN', 'FUN_RULE_API_OTHERS_EXCEP');
1937: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1938: FND_MSG_PUB.ADD;
1939: FND_MSG_PUB.Count_And_Get(
1940: p_encoded => FND_API.G_FALSE,
1933: WHEN OTHERS THEN
1934: ROLLBACK TO convert_use_instance;
1935: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1936: FND_MESSAGE.SET_NAME('FUN', 'FUN_RULE_API_OTHERS_EXCEP');
1937: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1938: FND_MSG_PUB.ADD;
1939: FND_MSG_PUB.Count_And_Get(
1940: p_encoded => FND_API.G_FALSE,
1941: p_count => x_msg_count,