26: TYPE date_bucket_type IS TABLE OF DATE;
27: TYPE number_table IS TABLE OF NUMBER;
28:
29: -- Forward Declarations Begin
30: OZF_DEBUG_HIGH_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
31: OZF_DEBUG_LOW_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
32: OZF_DEBUG_MEDIUM_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
33:
34: PROCEDURE Create_ActMetric2 (
27: TYPE number_table IS TABLE OF NUMBER;
28:
29: -- Forward Declarations Begin
30: OZF_DEBUG_HIGH_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
31: OZF_DEBUG_LOW_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
32: OZF_DEBUG_MEDIUM_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
33:
34: PROCEDURE Create_ActMetric2 (
35: p_api_version IN NUMBER,
28:
29: -- Forward Declarations Begin
30: OZF_DEBUG_HIGH_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
31: OZF_DEBUG_LOW_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
32: OZF_DEBUG_MEDIUM_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
33:
34: PROCEDURE Create_ActMetric2 (
35: p_api_version IN NUMBER,
36: p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE,
105: --
106: -- Standard API to get message count, and if 1,
107: -- set the message data OUT NOCOPY variable.
108: --
109: Fnd_Msg_Pub.Count_And_Get (
110: p_count => x_msg_count,
111: p_data => x_msg_data,
112: p_encoded => Fnd_Api.G_FALSE
113: );
115: EXCEPTION
116: WHEN Fnd_Api.G_EXC_ERROR THEN
117: ROLLBACK TO sp_create_actmetric;
118: x_return_status := Fnd_Api.G_RET_STS_ERROR;
119: Fnd_Msg_Pub.Count_And_Get (
120: p_count => x_msg_count,
121: p_data => x_msg_data,
122: p_encoded => FND_API.G_FALSE
123: );
123: );
124: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
125: ROLLBACK TO sp_create_actmetric;
126: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
127: Fnd_Msg_Pub.Count_And_Get (
128: p_count => x_msg_count,
129: p_data => x_msg_data,
130: p_encoded => FND_API.G_FALSE
131: );
131: );
132: WHEN OTHERS THEN
133: ROLLBACK TO sp_create_actmetric;
134: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
135: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
136: Fnd_Msg_Pub.Add_Exc_Msg (G_PKG_NAME, L_API_NAME);
137: END IF;
138: Fnd_Msg_Pub.Count_And_Get (
139: p_count => x_msg_count,
132: WHEN OTHERS THEN
133: ROLLBACK TO sp_create_actmetric;
134: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
135: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
136: Fnd_Msg_Pub.Add_Exc_Msg (G_PKG_NAME, L_API_NAME);
137: END IF;
138: Fnd_Msg_Pub.Count_And_Get (
139: p_count => x_msg_count,
140: p_data => x_msg_data,
134: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
135: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
136: Fnd_Msg_Pub.Add_Exc_Msg (G_PKG_NAME, L_API_NAME);
137: END IF;
138: Fnd_Msg_Pub.Count_And_Get (
139: p_count => x_msg_count,
140: p_data => x_msg_data,
141: p_encoded => FND_API.G_FALSE
142: );
205: --
206: -- Initialize message list if p_init_msg_list is set to TRUE.
207: --
208: IF Fnd_Api.To_Boolean (p_init_msg_list) THEN
209: Fnd_Msg_Pub.Initialize;
210: END IF;
211:
212: --
213: -- Initialize API return status to success.
240: -- 05/22/2002 yzhao: add ends
241:
242: /*EXCEPTION
243: WHEN GL_CURRENCY_API.NO_RATE THEN
244: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
245: -- No rate exist for for given conversion date and type between
246: -- transaction currency and functional currency
247: FND_MESSAGE.Set_Name('AMS', 'AMS_METR_NO_RATE');
248: FND_MSG_PUB.Add;
244: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
245: -- No rate exist for for given conversion date and type between
246: -- transaction currency and functional currency
247: FND_MESSAGE.Set_Name('AMS', 'AMS_METR_NO_RATE');
248: FND_MSG_PUB.Add;
249: END IF;
250: x_return_status := FND_API.G_RET_STS_ERROR;
251:
252: -- If any error happens abort API.
251:
252: -- If any error happens abort API.
253: RETURN;
254: WHEN GL_CURRENCY_API.INVALID_CURRENCY THEN
255: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
256: -- Atleast One of the two Currencies specified is invalid
257: FND_MESSAGE.Set_Name('AMS', 'AMS_METR_INVALID_CURR');
258: FND_MSG_PUB.Add;
259: END IF;
254: WHEN GL_CURRENCY_API.INVALID_CURRENCY THEN
255: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
256: -- Atleast One of the two Currencies specified is invalid
257: FND_MESSAGE.Set_Name('AMS', 'AMS_METR_INVALID_CURR');
258: FND_MSG_PUB.Add;
259: END IF;
260: x_return_status := FND_API.G_RET_STS_ERROR;
261:
262: -- If any error happens abort API.
338: --
339: -- Initialize message list if p_init_msg_list is set to TRUE.
340: --
341: IF Fnd_Api.To_Boolean (p_init_msg_list) THEN
342: Fnd_Msg_Pub.Initialize;
343: END IF;
344:
345: --
346: -- Standard check for API version compatibility.
639: --
640: -- Standard API to get message count, and if 1,
641: -- set the message data OUT NOCOPY variable.
642: --
643: --Fnd_Msg_Pub.Count_And_Get (
644: -- p_count => x_msg_count,
645: -- p_data => x_msg_data,
646: -- p_encoded => Fnd_Api.G_FALSE
647: --);
658: WHEN Fnd_Api.G_EXC_ERROR THEN
659: ROLLBACK TO Create_ActMetric2_pvt;
660: --ROLLBACK;
661: x_return_status := Fnd_Api.G_RET_STS_ERROR;
662: Fnd_Msg_Pub.Count_And_Get (
663: p_count => x_msg_count,
664: p_data => x_msg_data,
665: p_encoded => FND_API.G_FALSE
666: );
667: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
668: ROLLBACK TO Create_ActMetric2_pvt;
669: --ROLLBACK;
670: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
671: Fnd_Msg_Pub.Count_And_Get (
672: p_count => x_msg_count,
673: p_data => x_msg_data,
674: p_encoded => FND_API.G_FALSE
675: );
676: WHEN OTHERS THEN
677: ROLLBACK TO Create_ActMetric2_pvt;
678: --ROLLBACK;
679: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
680: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
681: Fnd_Msg_Pub.Add_Exc_Msg (G_PKG_NAME, L_API_NAME);
682: END IF;
683: Fnd_Msg_Pub.Count_And_Get (
684: p_count => x_msg_count,
677: ROLLBACK TO Create_ActMetric2_pvt;
678: --ROLLBACK;
679: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
680: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
681: Fnd_Msg_Pub.Add_Exc_Msg (G_PKG_NAME, L_API_NAME);
682: END IF;
683: Fnd_Msg_Pub.Count_And_Get (
684: p_count => x_msg_count,
685: p_data => x_msg_data,
679: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
680: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
681: Fnd_Msg_Pub.Add_Exc_Msg (G_PKG_NAME, L_API_NAME);
682: END IF;
683: Fnd_Msg_Pub.Count_And_Get (
684: p_count => x_msg_count,
685: p_data => x_msg_data,
686: p_encoded => FND_API.G_FALSE
687: );
750: --
751: -- Initialize message list if p_init_msg_list is set to TRUE.
752: --
753: IF Fnd_Api.To_Boolean (p_init_msg_list) THEN
754: Fnd_Msg_Pub.Initialize;
755: END IF;
756:
757: --
758: -- Standard check for API version compatibility.
921: THEN
922: --
923: -- Add error message to API message list.
924: --
925: IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.g_msg_lvl_error) THEN
926: Fnd_Message.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
927: Fnd_Msg_Pub.ADD;
928: END IF;
929: RAISE Fnd_Api.g_exc_error;
923: -- Add error message to API message list.
924: --
925: IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.g_msg_lvl_error) THEN
926: Fnd_Message.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
927: Fnd_Msg_Pub.ADD;
928: END IF;
929: RAISE Fnd_Api.g_exc_error;
930: END IF;
931:
936: --
937: -- Standard API to get message count, and if 1,
938: -- set the message data OUT variable.
939: --
940: Fnd_Msg_Pub.Count_And_Get (
941: p_count => x_msg_count,
942: p_data => x_msg_data,
943: p_encoded => Fnd_Api.G_FALSE
944: );
954: EXCEPTION
955: WHEN Fnd_Api.G_EXC_ERROR THEN
956: ROLLBACK TO Update_ActMetric_pvt;
957: x_return_status := Fnd_Api.G_RET_STS_ERROR;
958: Fnd_Msg_Pub.Count_And_Get (
959: p_count => x_msg_count,
960: p_data => x_msg_data,
961: p_encoded => FND_API.G_FALSE
962: );
962: );
963: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
964: ROLLBACK TO Update_ActMetric_pvt;
965: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
966: Fnd_Msg_Pub.Count_And_Get (
967: p_count => x_msg_count,
968: p_data => x_msg_data,
969: p_encoded => FND_API.G_FALSE
970: );
970: );
971: WHEN OTHERS THEN
972: ROLLBACK TO Update_ActMetric_pvt;
973: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
974: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
975: Fnd_Msg_Pub.Add_Exc_Msg (G_PKG_NAME, L_API_NAME);
976: END IF;
977: Fnd_Msg_Pub.Count_And_Get (
978: p_count => x_msg_count,
971: WHEN OTHERS THEN
972: ROLLBACK TO Update_ActMetric_pvt;
973: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
974: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
975: Fnd_Msg_Pub.Add_Exc_Msg (G_PKG_NAME, L_API_NAME);
976: END IF;
977: Fnd_Msg_Pub.Count_And_Get (
978: p_count => x_msg_count,
979: p_data => x_msg_data,
973: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
974: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
975: Fnd_Msg_Pub.Add_Exc_Msg (G_PKG_NAME, L_API_NAME);
976: END IF;
977: Fnd_Msg_Pub.Count_And_Get (
978: p_count => x_msg_count,
979: p_data => x_msg_data,
980: p_encoded => FND_API.G_FALSE
981: );
1027: --
1028: -- Initialize message list if p_init_msg_list is set to TRUE.
1029: --
1030: IF Fnd_Api.To_Boolean (p_init_msg_list) THEN
1031: Fnd_Msg_Pub.Initialize;
1032: END IF;
1033:
1034: --
1035: -- Standard check for API version compatibility.
1097: --
1098: -- Standard API to get message count, and if 1,
1099: -- set the message data OUT NOCOPY variable.
1100: --
1101: Fnd_Msg_Pub.Count_And_Get (
1102: p_count => x_msg_count,
1103: p_data => x_msg_data,
1104: p_encoded => Fnd_Api.G_FALSE
1105: );
1110:
1111: EXCEPTION
1112: WHEN Fnd_Api.G_EXC_ERROR THEN
1113: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1114: Fnd_Msg_Pub.Count_And_Get (
1115: p_count => x_msg_count,
1116: p_data => x_msg_data,
1117: p_encoded => FND_API.G_FALSE
1118: );
1117: p_encoded => FND_API.G_FALSE
1118: );
1119: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
1120: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
1121: Fnd_Msg_Pub.Count_And_Get (
1122: p_count => x_msg_count,
1123: p_data => x_msg_data,
1124: p_encoded => FND_API.G_FALSE
1125: );
1124: p_encoded => FND_API.G_FALSE
1125: );
1126: WHEN OTHERS THEN
1127: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
1128: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
1129: Fnd_Msg_Pub.Add_Exc_Msg (G_PKG_NAME, L_API_NAME);
1130: END IF;
1131: Fnd_Msg_Pub.Count_And_Get (
1132: p_count => x_msg_count,
1125: );
1126: WHEN OTHERS THEN
1127: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
1128: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
1129: Fnd_Msg_Pub.Add_Exc_Msg (G_PKG_NAME, L_API_NAME);
1130: END IF;
1131: Fnd_Msg_Pub.Count_And_Get (
1132: p_count => x_msg_count,
1133: p_data => x_msg_data,
1127: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
1128: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
1129: Fnd_Msg_Pub.Add_Exc_Msg (G_PKG_NAME, L_API_NAME);
1130: END IF;
1131: Fnd_Msg_Pub.Count_And_Get (
1132: p_count => x_msg_count,
1133: p_data => x_msg_data,
1134: p_encoded => FND_API.G_FALSE
1135: );
1166:
1167: IF p_act_metric_rec.application_id IS NULL
1168: THEN
1169: -- missing required fields
1170: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)
1171: THEN -- MMSG
1172: Fnd_Message.Set_Name('OZF', 'OZF_METR_MISSING_APP_ID');
1173: Fnd_Msg_Pub.ADD;
1174: END IF;
1169: -- missing required fields
1170: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)
1171: THEN -- MMSG
1172: Fnd_Message.Set_Name('OZF', 'OZF_METR_MISSING_APP_ID');
1173: Fnd_Msg_Pub.ADD;
1174: END IF;
1175:
1176: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1177:
1183:
1184: IF p_act_metric_rec.arc_act_metric_used_by IS NULL
1185: THEN
1186: -- missing required fields
1187: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)
1188: THEN -- MMSG
1189: Fnd_Message.Set_Name('OZF', 'OZF_METR_MISSING_ARC_USED_FOR');
1190: Fnd_Msg_Pub.ADD;
1191: END IF;
1186: -- missing required fields
1187: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)
1188: THEN -- MMSG
1189: Fnd_Message.Set_Name('OZF', 'OZF_METR_MISSING_ARC_USED_FOR');
1190: Fnd_Msg_Pub.ADD;
1191: END IF;
1192:
1193: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1194:
1201:
1202: IF p_act_metric_rec.act_metric_used_by_id IS NULL
1203: THEN
1204: -- missing required fields
1205: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)
1206: THEN -- MMSG
1207: Fnd_Message.Set_Name('OZF', 'OZF_METR_MISSING_ARC_USED_FOR');
1208: Fnd_Msg_Pub.ADD;
1209: END IF;
1204: -- missing required fields
1205: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)
1206: THEN -- MMSG
1207: Fnd_Message.Set_Name('OZF', 'OZF_METR_MISSING_ARC_USED_FOR');
1208: Fnd_Msg_Pub.ADD;
1209: END IF;
1210:
1211: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1212:
1218:
1219: IF p_act_metric_rec.metric_id IS NULL
1220: THEN
1221: -- missing required fields
1222: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)
1223: THEN -- MMSG
1224: Fnd_Message.Set_Name('OZF', 'OZF_METR_MISSING_METRIC_ID');
1225: Fnd_Msg_Pub.ADD;
1226: END IF;
1221: -- missing required fields
1222: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)
1223: THEN -- MMSG
1224: Fnd_Message.Set_Name('OZF', 'OZF_METR_MISSING_METRIC_ID');
1225: Fnd_Msg_Pub.ADD;
1226: END IF;
1227:
1228: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1229:
1237:
1238: IF p_act_metric_rec.metric_uom_code IS NULL
1239: THEN
1240: -- missing required fields
1241: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
1242: THEN -- MMSG
1243: FND_MESSAGE.Set_Name('OZF', 'OZF_METR_MISSING_UOM');
1244: FND_MSG_PUB.Add;
1245: END IF;
1240: -- missing required fields
1241: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
1242: THEN -- MMSG
1243: FND_MESSAGE.Set_Name('OZF', 'OZF_METR_MISSING_UOM');
1244: FND_MSG_PUB.Add;
1245: END IF;
1246:
1247: x_return_status := FND_API.G_RET_STS_ERROR;
1248:
1257:
1258: IF p_act_metric_rec.sensitive_data_flag IS NULL
1259: THEN
1260: -- missing required fields
1261: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)
1262: THEN -- MMSG
1263: Fnd_Message.Set_Name('OZF', 'OZF_METR_MISSING_SENSITIVE');
1264: Fnd_Msg_Pub.ADD;
1265: END IF;
1260: -- missing required fields
1261: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)
1262: THEN -- MMSG
1263: Fnd_Message.Set_Name('OZF', 'OZF_METR_MISSING_SENSITIVE');
1264: Fnd_Msg_Pub.ADD;
1265: END IF;
1266:
1267: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1268:
1335: p_table_name => 'ozf_act_metrics_all',
1336: p_where_clause => l_where_clause
1337: ) = Fnd_Api.g_false
1338: THEN
1339: IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.g_msg_lvl_error)
1340: THEN
1341: Fnd_Message.set_name('OZF', 'OZF_METR_ACT_DUP_ID');
1342: Fnd_Msg_Pub.ADD;
1343: END IF;
1338: THEN
1339: IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.g_msg_lvl_error)
1340: THEN
1341: Fnd_Message.set_name('OZF', 'OZF_METR_ACT_DUP_ID');
1342: Fnd_Msg_Pub.ADD;
1343: END IF;
1344: x_return_status := Fnd_Api.g_ret_sts_error;
1345: RETURN;
1346: END IF;
1359: FETCH c_check_function INTO l_test;
1360: CLOSE c_check_function;
1361:
1362: IF l_test IS NULL THEN
1363: IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.g_msg_lvl_error) THEN
1364: Fnd_Message.set_name('OZF', 'OZF_ACT_MET_DUP_FUNCTION');
1365: Fnd_Msg_Pub.ADD;
1366: END IF;
1367: x_return_status := Fnd_Api.g_ret_sts_error;
1361:
1362: IF l_test IS NULL THEN
1363: IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.g_msg_lvl_error) THEN
1364: Fnd_Message.set_name('OZF', 'OZF_ACT_MET_DUP_FUNCTION');
1365: Fnd_Msg_Pub.ADD;
1366: END IF;
1367: x_return_status := Fnd_Api.g_ret_sts_error;
1368: END IF;
1369:
1442: ,p_pk_data_type => l_pk_data_type
1443: ,p_additional_where_clause => l_additional_where_clause
1444: ) = Fnd_Api.G_FALSE
1445: THEN
1446: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)
1447: THEN
1448: Fnd_Message.Set_Name('OZF', 'OZF_METR_INVALID_MET');
1449: Fnd_Msg_Pub.ADD;
1450: END IF;
1445: THEN
1446: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)
1447: THEN
1448: Fnd_Message.Set_Name('OZF', 'OZF_METR_INVALID_MET');
1449: Fnd_Msg_Pub.ADD;
1450: END IF;
1451:
1452: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1453: RETURN;
1471: ,p_pk_data_type => l_pk_data_type
1472: ,p_additional_where_clause => l_additional_where_clause
1473: ) = Fnd_Api.G_FALSE
1474: THEN
1475: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)
1476: THEN
1477: Fnd_Message.Set_Name('OZF', 'OZF_METR_INVALID_TRANS_CUR');
1478: Fnd_Msg_Pub.ADD;
1479: END IF;
1474: THEN
1475: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)
1476: THEN
1477: Fnd_Message.Set_Name('OZF', 'OZF_METR_INVALID_TRANS_CUR');
1478: Fnd_Msg_Pub.ADD;
1479: END IF;
1480:
1481: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1482: RETURN;
1499: ,p_pk_data_type => l_pk_data_type
1500: ,p_additional_where_clause => l_additional_where_clause
1501: ) = Fnd_Api.G_FALSE
1502: THEN
1503: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)
1504: THEN
1505: Fnd_Message.Set_Name('OZF', 'OZF_METR_INVALID_FUNC_CUR');
1506: Fnd_Msg_Pub.ADD;
1507: END IF;
1502: THEN
1503: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)
1504: THEN
1505: Fnd_Message.Set_Name('OZF', 'OZF_METR_INVALID_FUNC_CUR');
1506: Fnd_Msg_Pub.ADD;
1507: END IF;
1508:
1509: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1510: RETURN;
1524: IF l_act_metrics_rec.sensitive_data_flag <> Fnd_Api.G_MISS_CHAR THEN
1525: IF ozf_utility_pvt.Is_Y_Or_N (l_act_metrics_rec.sensitive_data_flag)
1526: = Fnd_Api.G_FALSE
1527: THEN
1528: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)
1529: THEN
1530: Fnd_Message.Set_Name('OZF', 'OZF_METR_INVALID_SENS_FLAG');
1531: Fnd_Msg_Pub.ADD;
1532: END IF;
1527: THEN
1528: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)
1529: THEN
1530: Fnd_Message.Set_Name('OZF', 'OZF_METR_INVALID_SENS_FLAG');
1531: Fnd_Msg_Pub.ADD;
1532: END IF;
1533:
1534: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1535: RETURN;
1556: IF l_act_metrics_rec.arc_act_metric_used_by NOT IN
1557: ('CAMP','CSCH','EVEH','EVEO','DELV','FUND','FCST','RCAM','EONE')
1558: --'DILG','AMS_COMP_START','AMS_COMP_SHOW_WEB_PAGE','AMS_COMP_END')
1559: THEN
1560: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR) THEN
1561: Fnd_Message.Set_Name ('OZF', 'OZF_METR_INVALID_USED_BY');
1562: Fnd_Msg_Pub.ADD;
1563: END IF;
1564:
1558: --'DILG','AMS_COMP_START','AMS_COMP_SHOW_WEB_PAGE','AMS_COMP_END')
1559: THEN
1560: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR) THEN
1561: Fnd_Message.Set_Name ('OZF', 'OZF_METR_INVALID_USED_BY');
1562: Fnd_Msg_Pub.ADD;
1563: END IF;
1564:
1565: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1566: RETURN;
1574: IF l_act_metrics_rec.arc_activity_metric_origin NOT IN
1575: ('CAMP','CSCH','EVEH','EVEO','DELV','FUND','FCST','RCAM','EONE')
1576: --'DILG','AMS_COMP_START','AMS_COMP_SHOW_WEB_PAGE','AMS_COMP_END')
1577: THEN
1578: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR) THEN
1579: Fnd_Message.Set_Name ('OZF', 'OZF_METR_INVALID_ORIGIN');
1580: Fnd_Msg_Pub.ADD;
1581: END IF;
1582:
1576: --'DILG','AMS_COMP_START','AMS_COMP_SHOW_WEB_PAGE','AMS_COMP_END')
1577: THEN
1578: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR) THEN
1579: Fnd_Message.Set_Name ('OZF', 'OZF_METR_INVALID_ORIGIN');
1580: Fnd_Msg_Pub.ADD;
1581: END IF;
1582:
1583: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1584: RETURN;
1650:
1651: BEGIN
1652:
1653: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
1654: IF NOT (Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)) THEN
1655: RETURN;
1656: END IF;
1657:
1658: /* yzhao: 11.5.9 need to add check required items for top-down bottom-up budgeting
1671: Fnd_Message.set_name('OZF', 'OZF_TP_ALLOCNOAVAIL_ERROR');
1672: ELSE
1673: Fnd_Message.set_name('OZF', 'OZF_FUND_ALLOCNOAVAIL_ERROR');
1674: END IF;
1675: Fnd_Msg_Pub.ADD;
1676: END IF;
1677:
1678: /* allocation amount can not exceed available amount */
1679: IF (p_act_metric_rec.func_actual_value > l_available_budget) THEN
1684: Fnd_Message.set_name('OZF', 'OZF_FUND_ALLOCAMOUNT_ERROR');
1685: END IF;
1686: Fnd_Message.set_token('ALLOCAMT', p_act_metric_rec.func_actual_value);
1687: Fnd_Message.set_token('BUDAMT', l_available_budget);
1688: Fnd_Msg_Pub.ADD;
1689: END IF;
1690:
1691: /* check start level <= end level */
1692: IF (p_act_metric_rec.from_level <> Fnd_Api.g_miss_num AND
1693: p_act_metric_rec.to_level <> Fnd_Api.g_miss_num) THEN
1694: IF (NVL(p_act_metric_rec.from_level, 0) > NVL(p_act_metric_rec.to_level, 1000)) THEN
1695: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
1696: Fnd_Message.set_name('OZF', 'OZF_FUND_ALLOCLEVEL_ERROR');
1697: Fnd_Msg_Pub.ADD;
1698: END IF;
1699:
1700: /* 11.5.9: can not set 'ex-start-node' if start level = end level */
1701: IF (p_act_metric_rec.ex_start_node = 'Y' AND
1701: IF (p_act_metric_rec.ex_start_node = 'Y' AND
1702: p_act_metric_rec.from_level = p_act_metric_rec.to_level) THEN
1703: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
1704: Fnd_Message.set_name('OZF', 'OZF_FUND_ALLOCEXSTNODE_ERROR');
1705: Fnd_Msg_Pub.ADD;
1706: END IF;
1707: END IF;
1708:
1709: IF (p_act_metric_rec.from_date <> Fnd_Api.g_miss_date) THEN
1721: Fnd_Message.set_name('OZF', 'OZF_TP_ALLOCSTARTDATE_ERROR');
1722: ELSE
1723: Fnd_Message.set_name('OZF', 'OZF_FUND_ALLOCSTARTDATE_ERROR');
1724: END IF;
1725: Fnd_Msg_Pub.ADD;
1726: END IF;
1727:
1728: /* check end date <= budget end date */
1729: IF (l_alloc_end_date > l_budget_end_date) THEN
1732: Fnd_Message.set_name('OZF', 'OZF_TP_ALLOCENDDATE_ERROR');
1733: ELSE
1734: Fnd_Message.set_name('OZF', 'OZF_FUND_ALLOCENDDATE_ERROR');
1735: END IF;
1736: Fnd_Msg_Pub.ADD;
1737: END IF;
1738:
1739: /* check start date <= end date */
1740: IF (l_alloc_start_date > l_alloc_end_date) THEN
1739: /* check start date <= end date */
1740: IF (l_alloc_start_date > l_alloc_end_date) THEN
1741: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
1742: Fnd_Message.set_name('OZF', 'OZF_FUND_ALLOCDATE_ERROR');
1743: Fnd_Msg_Pub.ADD;
1744: END IF;
1745:
1746: /* check start node falls in the start level */
1747: IF (p_act_metric_rec.HIERARCHY_TYPE = 'TERRITORY') THEN
1749: FETCH c_check_start_node_terr INTO l_start_node;
1750: IF c_check_start_node_terr%NOTFOUND THEN
1751: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
1752: Fnd_Message.set_name('OZF', 'OZF_FUND_ALLOCSTARTNODE_ERROR');
1753: Fnd_Msg_Pub.ADD;
1754: END IF;
1755: CLOSE c_check_start_node_terr;
1756: /* for future release
1757: ELSIF (p_act_metric_rec.HIERARCHY_TYPE = 'GEOGRAPHY') THEN
1762: IF (p_act_metric_rec.method_code = 'PRIOR_SALES_TOTAL') THEN
1763: IF (p_act_metric_rec.hierarchy_type <> 'TERRITORY') THEN
1764: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
1765: Fnd_Message.set_name('OZF', 'OZF_FUND_ALLOCPRISALE_ERROR');
1766: Fnd_Msg_Pub.ADD;
1767: END IF;
1768: IF (p_act_metric_rec.basis_year is null) THEN
1769: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
1770: Fnd_Message.set_name('OZF', 'OZF_FUND_ALLOCBASISYEAR_ERROR');
1767: END IF;
1768: IF (p_act_metric_rec.basis_year is null) THEN
1769: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
1770: Fnd_Message.set_name('OZF', 'OZF_FUND_ALLOCBASISYEAR_ERROR');
1771: Fnd_Msg_Pub.ADD;
1772: END IF;
1773: END IF;
1774:
1775: EXCEPTION
1901: ,p_pk_data_type => l_pk_data_type
1902: ,p_additional_where_clause => l_additional_where_clause
1903: ) = Fnd_Api.G_FALSE
1904: THEN
1905: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR) THEN
1906: l_object_name := ozf_utility_pvt.get_lookup_meaning(
1907: 'AMS_SYS_ARC_QUALIFIER',l_act_metrics_rec.arc_act_metric_used_by);
1908: Fnd_Message.Set_Name ('OZF', 'OZF_METR_INVALID_OBJECT');
1909: Fnd_Message.Set_Token('OBJTYPE',l_object_name);
1907: 'AMS_SYS_ARC_QUALIFIER',l_act_metrics_rec.arc_act_metric_used_by);
1908: Fnd_Message.Set_Name ('OZF', 'OZF_METR_INVALID_OBJECT');
1909: Fnd_Message.Set_Token('OBJTYPE',l_object_name);
1910: Fnd_Message.Set_Token('OBJID',l_pk_value);
1911: Fnd_Msg_Pub.ADD;
1912: END IF;
1913:
1914: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1915: END IF;
1947: ,p_pk_data_type => l_pk_data_type
1948: ,p_additional_where_clause => l_additional_where_clause
1949: ) = Fnd_Api.G_FALSE
1950: THEN
1951: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)
1952: THEN
1953: Fnd_Message.Set_Name('OZF', 'OZF_METR_INVALID_UOM');
1954: Fnd_Msg_Pub.ADD;
1955: END IF;
1950: THEN
1951: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR)
1952: THEN
1953: Fnd_Message.Set_Name('OZF', 'OZF_METR_INVALID_UOM');
1954: Fnd_Msg_Pub.ADD;
1955: END IF;
1956:
1957: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1958: END IF; -- Check_FK_Exists
1984: ,p_pk_data_type => l_pk_data_type
1985: ,p_additional_where_clause => l_additional_where_clause
1986: ) = Fnd_Api.G_FALSE
1987: THEN
1988: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR) THEN
1989: Fnd_Message.Set_Name ('OZF', 'OZF_METR_INVALID_ORIGIN');
1990: Fnd_Msg_Pub.ADD;
1991: END IF;
1992:
1986: ) = Fnd_Api.G_FALSE
1987: THEN
1988: IF Fnd_Msg_Pub.Check_Msg_Level (Fnd_Msg_Pub.G_MSG_LVL_ERROR) THEN
1989: Fnd_Message.Set_Name ('OZF', 'OZF_METR_INVALID_ORIGIN');
1990: Fnd_Msg_Pub.ADD;
1991: END IF;
1992:
1993: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1994: END IF;
2093: OPEN c_act_metric;
2094: FETCH c_act_metric INTO l_act_metric_rec;
2095: IF c_act_metric%NOTFOUND THEN
2096: CLOSE c_act_metric;
2097: IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.g_msg_lvl_error) THEN
2098: Fnd_Message.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
2099: Fnd_Msg_Pub.ADD;
2100: END IF;
2101: RAISE Fnd_Api.g_exc_error;
2095: IF c_act_metric%NOTFOUND THEN
2096: CLOSE c_act_metric;
2097: IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.g_msg_lvl_error) THEN
2098: Fnd_Message.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
2099: Fnd_Msg_Pub.ADD;
2100: END IF;
2101: RAISE Fnd_Api.g_exc_error;
2102: END IF;
2103: CLOSE c_act_metric;