19:
20: -- Check that all the information is provided
21: IF p_Bsc_Cause_Effect_Rel_Rec.Cause_Indicator IS NULL THEN
22: FND_MESSAGE.SET_NAME('BSC','BSC_INVALID_CAUSE_INDICATOR');
23: FND_MSG_PUB.ADD;
24: RAISE FND_API.G_EXC_ERROR;
25: END IF;
26:
27: IF p_Bsc_Cause_Effect_Rel_Rec.Cause_Level NOT IN ('KPI', 'DATASET') THEN
25: END IF;
26:
27: IF p_Bsc_Cause_Effect_Rel_Rec.Cause_Level NOT IN ('KPI', 'DATASET') THEN
28: FND_MESSAGE.SET_NAME('BSC','BSC_INVALID_CAUSE_LEVEL');
29: FND_MSG_PUB.ADD;
30: RAISE FND_API.G_EXC_ERROR;
31: END IF;
32:
33: IF p_Bsc_Cause_Effect_Rel_Rec.Effect_Indicator IS NULL THEN
31: END IF;
32:
33: IF p_Bsc_Cause_Effect_Rel_Rec.Effect_Indicator IS NULL THEN
34: FND_MESSAGE.SET_NAME('BSC','BSC_INVALID_EFFECT_INDICATOR');
35: FND_MSG_PUB.ADD;
36: RAISE FND_API.G_EXC_ERROR;
37: END IF;
38:
39: IF p_Bsc_Cause_Effect_Rel_Rec.Effect_Level NOT IN ('KPI', 'DATASET') THEN
37: END IF;
38:
39: IF p_Bsc_Cause_Effect_Rel_Rec.Effect_Level NOT IN ('KPI', 'DATASET') THEN
40: FND_MESSAGE.SET_NAME('BSC','BSC_INVALID_EFFECT_LEVEL');
41: FND_MSG_PUB.ADD;
42: RAISE FND_API.G_EXC_ERROR;
43: END IF;
44:
45: -- Check that the kpi (if KPI level) or dataset (DATASET level) already exists
54: WHERE dataset_id = p_Bsc_Cause_Effect_Rel_Rec.Cause_Indicator;
55: END IF;
56: IF l_count = 0 THEN
57: FND_MESSAGE.SET_NAME('BSC','BSC_INVALID_CAUSE_INDICATOR');
58: FND_MSG_PUB.ADD;
59: RAISE FND_API.G_EXC_ERROR;
60: END IF;
61:
62: l_count := 0;
70: WHERE dataset_id = p_Bsc_Cause_Effect_Rel_Rec.Effect_Indicator;
71: END IF;
72: IF l_count = 0 THEN
73: FND_MESSAGE.SET_NAME('BSC','BSC_INVALID_EFFECT_INDICATOR');
74: FND_MSG_PUB.ADD;
75: RAISE FND_API.G_EXC_ERROR;
76: END IF;
77:
78: -- Now that the record is validated, we can insert the record in the table BSC_KPI_CAUSE_EFFECT_RELS
101: EXCEPTION
102: WHEN FND_API.G_EXC_ERROR THEN
103: rollback;
104: x_return_status := FND_API.G_RET_STS_ERROR;
105: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
106: ,p_data => x_msg_data);
107: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
108: rollback;
109: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
106: ,p_data => x_msg_data);
107: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
108: rollback;
109: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
110: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
111: ,p_data => x_msg_data);
112: WHEN NO_DATA_FOUND THEN
113: rollback;
114: x_return_status := FND_API.G_RET_STS_ERROR;
111: ,p_data => x_msg_data);
112: WHEN NO_DATA_FOUND THEN
113: rollback;
114: x_return_status := FND_API.G_RET_STS_ERROR;
115: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
116: ,p_data => x_msg_data);
117: WHEN OTHERS THEN
118: rollback;
119: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
116: ,p_data => x_msg_data);
117: WHEN OTHERS THEN
118: rollback;
119: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
120: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
121: ,p_data => x_msg_data);
122:
123: END Create_Cause_Effect_Rel;
124:
153: EXCEPTION
154: WHEN FND_API.G_EXC_ERROR THEN
155: rollback;
156: x_return_status := FND_API.G_RET_STS_ERROR;
157: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
158: ,p_data => x_msg_data);
159: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
160: rollback;
161: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
158: ,p_data => x_msg_data);
159: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
160: rollback;
161: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
162: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
163: ,p_data => x_msg_data);
164: WHEN NO_DATA_FOUND THEN
165: rollback;
166: x_return_status := FND_API.G_RET_STS_ERROR;
163: ,p_data => x_msg_data);
164: WHEN NO_DATA_FOUND THEN
165: rollback;
166: x_return_status := FND_API.G_RET_STS_ERROR;
167: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
168: ,p_data => x_msg_data);
169: WHEN OTHERS THEN
170: rollback;
171: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
168: ,p_data => x_msg_data);
169: WHEN OTHERS THEN
170: rollback;
171: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
172: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
173: ,p_data => x_msg_data);
174:
175: END Delete_Cause_Effect_Rel;
176:
204: EXCEPTION
205: WHEN FND_API.G_EXC_ERROR THEN
206: rollback;
207: x_return_status := FND_API.G_RET_STS_ERROR;
208: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
209: ,p_data => x_msg_data);
210: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
211: rollback;
212: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
209: ,p_data => x_msg_data);
210: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
211: rollback;
212: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
213: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
214: ,p_data => x_msg_data);
215: WHEN NO_DATA_FOUND THEN
216: rollback;
217: x_return_status := FND_API.G_RET_STS_ERROR;
214: ,p_data => x_msg_data);
215: WHEN NO_DATA_FOUND THEN
216: rollback;
217: x_return_status := FND_API.G_RET_STS_ERROR;
218: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
219: ,p_data => x_msg_data);
220: WHEN OTHERS THEN
221: rollback;
222: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
219: ,p_data => x_msg_data);
220: WHEN OTHERS THEN
221: rollback;
222: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
223: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
224: ,p_data => x_msg_data);
225:
226: END Delete_All_Cause_Effect_Rels;
227: