771:
772: IF (c_metric_formula%NOTFOUND) THEN
773: CLOSE c_metric_formula;
774: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
775: FND_MESSAGE.set_name('AMS', 'AMS_API_RECORD_NOT_FOUND');
776: FND_MSG_PUB.ADD;
777: END IF;
778: RAISE FND_API.g_exc_error;
779: END IF;
915: IF (AMS_DEBUG_HIGH_ON) THEN
916: Ams_Utility_Pvt.debug_message('PRIVATE API: check_metric_formula_req_items : metric_id='||p_metric_formula_rec.metric_id);
917: END IF;
918: IF p_metric_formula_rec.metric_id = FND_API.g_miss_num OR p_metric_formula_rec.metric_id IS NULL THEN
919: FND_MESSAGE.set_name('AMS', 'AMS_API_MISSING_FIELD');
920: FND_MESSAGE.set_token('MISS_FIELD','METRIC_ID');
921: x_return_status := FND_API.g_ret_sts_error;
922: RETURN;
923: END IF;
916: Ams_Utility_Pvt.debug_message('PRIVATE API: check_metric_formula_req_items : metric_id='||p_metric_formula_rec.metric_id);
917: END IF;
918: IF p_metric_formula_rec.metric_id = FND_API.g_miss_num OR p_metric_formula_rec.metric_id IS NULL THEN
919: FND_MESSAGE.set_name('AMS', 'AMS_API_MISSING_FIELD');
920: FND_MESSAGE.set_token('MISS_FIELD','METRIC_ID');
921: x_return_status := FND_API.g_ret_sts_error;
922: RETURN;
923: END IF;
924:
926: IF (AMS_DEBUG_HIGH_ON) THEN
927: Ams_Utility_Pvt.debug_message('PRIVATE API: check_metric_formula_req_items : source_type='||p_metric_formula_rec.source_type);
928: END IF;
929: IF p_metric_formula_rec.source_type = FND_API.G_MISS_CHAR OR p_metric_formula_rec.source_type IS NULL THEN
930: FND_MESSAGE.set_name('AMS', 'AMS_API_MISSING_FIELD');
931: FND_MESSAGE.set_token('MISS_FIELD','SOURCE_TYPE');
932: x_return_status := FND_API.g_ret_sts_error;
933: RETURN;
934: END IF;
927: Ams_Utility_Pvt.debug_message('PRIVATE API: check_metric_formula_req_items : source_type='||p_metric_formula_rec.source_type);
928: END IF;
929: IF p_metric_formula_rec.source_type = FND_API.G_MISS_CHAR OR p_metric_formula_rec.source_type IS NULL THEN
930: FND_MESSAGE.set_name('AMS', 'AMS_API_MISSING_FIELD');
931: FND_MESSAGE.set_token('MISS_FIELD','SOURCE_TYPE');
932: x_return_status := FND_API.g_ret_sts_error;
933: RETURN;
934: END IF;
935:
938: IF (AMS_DEBUG_HIGH_ON) THEN
939: Ams_Utility_Pvt.debug_message('PRIVATE API: check_metric_formula_req_items : source_id='||p_metric_formula_rec.source_id);
940: END IF;
941: IF p_metric_formula_rec.source_id IS NULL OR p_metric_formula_rec.source_id = FND_API.G_MISS_NUM THEN
942: FND_MESSAGE.set_name('AMS', 'AMS_API_MISSING_FIELD');
943: FND_MESSAGE.set_token('MISS_FIELD','SOURCE_ID');
944: x_return_status := FND_API.g_ret_sts_error;
945: RETURN;
946: END IF;
939: Ams_Utility_Pvt.debug_message('PRIVATE API: check_metric_formula_req_items : source_id='||p_metric_formula_rec.source_id);
940: END IF;
941: IF p_metric_formula_rec.source_id IS NULL OR p_metric_formula_rec.source_id = FND_API.G_MISS_NUM THEN
942: FND_MESSAGE.set_name('AMS', 'AMS_API_MISSING_FIELD');
943: FND_MESSAGE.set_token('MISS_FIELD','SOURCE_ID');
944: x_return_status := FND_API.g_ret_sts_error;
945: RETURN;
946: END IF;
947: -- Debug Message
949: Ams_Utility_Pvt.debug_message('PRIVATE API: check_metric_formula_req_items : use_sub_id_flag='||p_metric_formula_rec.use_sub_id_flag);
950: END IF;
951: IF p_metric_formula_rec.source_type = 'CATEGORY' AND
952: (p_metric_formula_rec.use_sub_id_flag IS NULL OR p_metric_formula_rec.use_sub_id_flag = FND_API.G_MISS_CHAR) THEN
953: FND_MESSAGE.set_name('AMS', 'AMS_API_MISSING_FIELD');
954: FND_MESSAGE.set_token('MISS_FIELD','USE_SUB_ID_FLAG');
955: x_return_status := FND_API.g_ret_sts_error;
956: RETURN;
957: END IF;
950: END IF;
951: IF p_metric_formula_rec.source_type = 'CATEGORY' AND
952: (p_metric_formula_rec.use_sub_id_flag IS NULL OR p_metric_formula_rec.use_sub_id_flag = FND_API.G_MISS_CHAR) THEN
953: FND_MESSAGE.set_name('AMS', 'AMS_API_MISSING_FIELD');
954: FND_MESSAGE.set_token('MISS_FIELD','USE_SUB_ID_FLAG');
955: x_return_status := FND_API.g_ret_sts_error;
956: RETURN;
957: END IF;
958: ELSIF p_metric_formula_rec.source_type = 'OPERAND' and
956: RETURN;
957: END IF;
958: ELSIF p_metric_formula_rec.source_type = 'OPERAND' and
959: (p_metric_formula_rec.TOKEN IS NULL OR p_metric_formula_rec.TOKEN = FND_API.G_MISS_CHAR) THEN
960: FND_MESSAGE.set_name('AMS', 'AMS_API_MISSING_FIELD');
961: FND_MESSAGE.set_token('MISS_FIELD','TOKEN');
962: x_return_status := FND_API.g_ret_sts_error;
963: RETURN;
964: ELSIF p_metric_formula_rec.source_type = 'NUMBER' and
957: END IF;
958: ELSIF p_metric_formula_rec.source_type = 'OPERAND' and
959: (p_metric_formula_rec.TOKEN IS NULL OR p_metric_formula_rec.TOKEN = FND_API.G_MISS_CHAR) THEN
960: FND_MESSAGE.set_name('AMS', 'AMS_API_MISSING_FIELD');
961: FND_MESSAGE.set_token('MISS_FIELD','TOKEN');
962: x_return_status := FND_API.g_ret_sts_error;
963: RETURN;
964: ELSIF p_metric_formula_rec.source_type = 'NUMBER' and
965: (p_metric_formula_rec.source_value IS NULL OR p_metric_formula_rec.source_value = FND_API.G_MISS_NUM) THEN
962: x_return_status := FND_API.g_ret_sts_error;
963: RETURN;
964: ELSIF p_metric_formula_rec.source_type = 'NUMBER' and
965: (p_metric_formula_rec.source_value IS NULL OR p_metric_formula_rec.source_value = FND_API.G_MISS_NUM) THEN
966: FND_MESSAGE.set_name('AMS', 'AMS_API_MISSING_FIELD');
967: FND_MESSAGE.set_token('MISS_FIELD','SOURCE_VALUE');
968: x_return_status := FND_API.g_ret_sts_error;
969: RETURN;
970: END IF;
963: RETURN;
964: ELSIF p_metric_formula_rec.source_type = 'NUMBER' and
965: (p_metric_formula_rec.source_value IS NULL OR p_metric_formula_rec.source_value = FND_API.G_MISS_NUM) THEN
966: FND_MESSAGE.set_name('AMS', 'AMS_API_MISSING_FIELD');
967: FND_MESSAGE.set_token('MISS_FIELD','SOURCE_VALUE');
968: x_return_status := FND_API.g_ret_sts_error;
969: RETURN;
970: END IF;
971:
973: IF (AMS_DEBUG_HIGH_ON) THEN
974: Ams_Utility_Pvt.debug_message('PRIVATE API: check_metric_formula_req_items : notation_type='||p_metric_formula_rec.notation_type);
975: END IF;
976: IF p_metric_formula_rec.notation_type = FND_API.g_miss_char OR p_metric_formula_rec.notation_type IS NULL THEN
977: FND_MESSAGE.set_name('AMS', 'AMS_API_MISSING_FIELD');
978: FND_MESSAGE.set_token('MISS_FIELD','NOTATION_TYPE');
979: x_return_status := FND_API.g_ret_sts_error;
980: RETURN;
981: END IF;
974: Ams_Utility_Pvt.debug_message('PRIVATE API: check_metric_formula_req_items : notation_type='||p_metric_formula_rec.notation_type);
975: END IF;
976: IF p_metric_formula_rec.notation_type = FND_API.g_miss_char OR p_metric_formula_rec.notation_type IS NULL THEN
977: FND_MESSAGE.set_name('AMS', 'AMS_API_MISSING_FIELD');
978: FND_MESSAGE.set_token('MISS_FIELD','NOTATION_TYPE');
979: x_return_status := FND_API.g_ret_sts_error;
980: RETURN;
981: END IF;
982:
982:
983: ELSE -- Update
984:
985: IF p_metric_formula_rec.METRIC_FORMULA_ID = FND_API.g_miss_num OR p_metric_formula_rec.METRIC_FORMULA_ID IS NULL THEN
986: FND_MESSAGE.set_name('AMS', 'AMS_API_MISSING_FIELD');
987: FND_MESSAGE.set_token('MISS_FIELD','METRIC_FORMULA_ID');
988: x_return_status := FND_API.g_ret_sts_error;
989: RETURN;
990: END IF;
983: ELSE -- Update
984:
985: IF p_metric_formula_rec.METRIC_FORMULA_ID = FND_API.g_miss_num OR p_metric_formula_rec.METRIC_FORMULA_ID IS NULL THEN
986: FND_MESSAGE.set_name('AMS', 'AMS_API_MISSING_FIELD');
987: FND_MESSAGE.set_token('MISS_FIELD','METRIC_FORMULA_ID');
988: x_return_status := FND_API.g_ret_sts_error;
989: RETURN;
990: END IF;
991:
989: RETURN;
990: END IF;
991:
992: IF p_metric_formula_rec.sequence = FND_API.g_miss_num OR p_metric_formula_rec.sequence IS NULL THEN
993: FND_MESSAGE.set_name('AMS', 'AMS_API_MISSING_FIELD');
994: FND_MESSAGE.set_token('MISS_FIELD','SEQUENCE');
995: x_return_status := FND_API.g_ret_sts_error;
996: RETURN;
997: END IF;
990: END IF;
991:
992: IF p_metric_formula_rec.sequence = FND_API.g_miss_num OR p_metric_formula_rec.sequence IS NULL THEN
993: FND_MESSAGE.set_name('AMS', 'AMS_API_MISSING_FIELD');
994: FND_MESSAGE.set_token('MISS_FIELD','SEQUENCE');
995: x_return_status := FND_API.g_ret_sts_error;
996: RETURN;
997: END IF;
998:
1736:
1737: if not g_valid_formula then
1738:
1739: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1740: FND_MESSAGE.set_name('AMS', 'AMS_METR_INVALID_FORMULA_DEF');
1741: FND_MESSAGE.set_token('FORMULA', g_infix_formula);
1742: FND_MESSAGE.set_token('SEQUENCE', g_error_sequence);
1743: FND_MSG_PUB.add;
1744: END IF;
1737: if not g_valid_formula then
1738:
1739: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1740: FND_MESSAGE.set_name('AMS', 'AMS_METR_INVALID_FORMULA_DEF');
1741: FND_MESSAGE.set_token('FORMULA', g_infix_formula);
1742: FND_MESSAGE.set_token('SEQUENCE', g_error_sequence);
1743: FND_MSG_PUB.add;
1744: END IF;
1745:
1738:
1739: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1740: FND_MESSAGE.set_name('AMS', 'AMS_METR_INVALID_FORMULA_DEF');
1741: FND_MESSAGE.set_token('FORMULA', g_infix_formula);
1742: FND_MESSAGE.set_token('SEQUENCE', g_error_sequence);
1743: FND_MSG_PUB.add;
1744: END IF;
1745:
1746: x_msg_data := g_infix_formula;