[Home] [Help]
PACKAGE BODY: APPS.BSC_KPI_MEASURE_WEIGHTS_PVT
Source
1 PACKAGE BODY BSC_KPI_MEASURE_WEIGHTS_PVT AS
2 /* $Header: BSCVKMWB.pls 120.0.12000000.1 2007/07/17 07:44:49 appldev noship $ */
3
4 /************************************************************************************
5 ************************************************************************************/
6 PROCEDURE Create_Kpi_Measure_Weights (
7 p_commit IN VARCHAR2 := FND_API.G_FALSE
8 , p_kpi_measure_weights_rec IN BSC_KPI_MEASURE_WEIGHTS_PUB.kpi_measure_weights_rec
9 , x_return_status OUT NOCOPY VARCHAR2
10 , x_msg_count OUT NOCOPY NUMBER
11 , x_msg_data OUT NOCOPY VARCHAR2
12 )
13 IS
14 l_count NUMBER;
15 BEGIN
16
17 FND_MSG_PUB.Initialize;
18 x_return_status := FND_API.G_RET_STS_SUCCESS;
19
20 SAVEPOINT BscKpiMeasureWeightPvt_Create;
21
22 IF (p_kpi_measure_weights_rec.objective_id IS NULL) THEN
23 FND_MESSAGE.SET_NAME('BSC','BSC_OBJECTIVE_ID_NULL');
24 FND_MSG_PUB.ADD;
25 RAISE FND_API.G_EXC_ERROR;
26 ELSIF (p_kpi_measure_weights_rec.kpi_measure_id IS NULL) THEN
27 FND_MESSAGE.SET_NAME('BSC','BSC_KPI_MEASURE_ID_NULL');
28 FND_MSG_PUB.ADD;
29 RAISE FND_API.G_EXC_ERROR;
30 END IF;
31
32 INSERT INTO bsc_kpi_measure_weights
33 ( indicator
34 , kpi_measure_id
35 , weight
36 , creation_date
37 , created_by
38 , last_update_date
39 , last_updated_by
40 , last_update_login
41 )
42 VALUES
43 ( p_kpi_measure_weights_rec.objective_id
44 , p_kpi_measure_weights_rec.kpi_measure_id
45 , p_kpi_measure_weights_rec.weight
46 , NVL(p_kpi_measure_weights_rec.creation_date, SYSDATE)
47 , NVL(p_kpi_measure_weights_rec.created_by, FND_GLOBAL.USER_ID)
48 , NVL(p_kpi_measure_weights_rec.last_update_date, SYSDATE)
49 , NVL(p_kpi_measure_weights_rec.last_updated_by, FND_GLOBAL.USER_ID)
50 , NVL(p_kpi_measure_weights_rec.last_update_login, FND_GLOBAL.LOGIN_ID)
51 );
52
53 IF (p_commit = FND_API.G_TRUE) THEN
54 COMMIT;
55 END IF;
56
57 EXCEPTION
58 WHEN FND_API.G_EXC_ERROR THEN
59 ROLLBACK TO BscKpiMeasureWeightPvt_Create;
60 IF (x_msg_data IS NULL) THEN
61 FND_MSG_PUB.Count_And_Get
62 ( p_encoded => FND_API.G_FALSE
63 , p_count => x_msg_count
64 , p_data => x_msg_data
65 );
66 END IF;
67 x_return_status := FND_API.G_RET_STS_ERROR;
68 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
69 ROLLBACK TO BscKpiMeasureWeightPvt_Create;
70 IF (x_msg_data IS NULL) THEN
71 FND_MSG_PUB.Count_And_Get
72 ( p_encoded => FND_API.G_FALSE
73 , p_count => x_msg_count
74 , p_data => x_msg_data
75 );
76 END IF;
77 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
78 WHEN NO_DATA_FOUND THEN
79 ROLLBACK TO BscKpiMeasureWeightPvt_Create;
80 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
81 IF (x_msg_data IS NOT NULL) THEN
82 x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_WEIGHTS_PVT.Create_Kpi_Measure_Weights ';
83 ELSE
84 x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_WEIGHTS_PVT.Create_Kpi_Measure_Weights ';
85 END IF;
86 WHEN OTHERS THEN
87 ROLLBACK TO BscKpiMeasureWeightPvt_Create;
88 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
89 IF (x_msg_data IS NOT NULL) THEN
90 x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_WEIGHTS_PVT.Create_Kpi_Measure_Weights ';
91 ELSE
92 x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_WEIGHTS_PVT.Create_Kpi_Measure_Weights ';
93 END IF;
94 END Create_Kpi_Measure_Weights;
95
96 /************************************************************************************
97 ************************************************************************************/
98 PROCEDURE Update_Kpi_Measure_Weights (
99 p_commit IN VARCHAR2 := FND_API.G_FALSE
100 , p_kpi_measure_weights_rec IN BSC_KPI_MEASURE_WEIGHTS_PUB.kpi_measure_weights_rec
101 , x_return_status OUT NOCOPY VARCHAR2
102 , x_msg_count OUT NOCOPY NUMBER
103 , x_msg_data OUT NOCOPY VARCHAR2
104 )
105 IS
106 l_kpi_measure_weights_rec BSC_KPI_MEASURE_WEIGHTS_PUB.kpi_measure_weights_rec;
107 BEGIN
108 FND_MSG_PUB.Initialize;
109 x_return_status := FND_API.G_RET_STS_SUCCESS;
110
111 SAVEPOINT BscKpiMeasureWeightPvt_Update;
112
113 IF (p_kpi_measure_weights_rec.objective_id IS NULL) THEN
114 FND_MESSAGE.SET_NAME('BSC','BSC_OBJECTIVE_ID_NULL');
115 FND_MSG_PUB.ADD;
116 RAISE FND_API.G_EXC_ERROR;
117 ELSIF (p_kpi_measure_weights_rec.kpi_measure_id IS NULL) THEN
118 FND_MESSAGE.SET_NAME('BSC','BSC_KPI_MEASURE_ID_NULL');
119 FND_MSG_PUB.ADD;
120 RAISE FND_API.G_EXC_ERROR;
121 END IF;
122
123 Retrieve_Kpi_Measure_Weights
124 ( p_objective_id => p_kpi_measure_weights_rec.objective_id
125 , p_kpi_measure_id => p_kpi_measure_weights_rec.kpi_measure_id
126 , x_kpi_measure_weights_rec => l_kpi_measure_weights_rec
127 , x_return_status => x_return_status
128 , x_msg_count => x_msg_count
129 , x_msg_data => x_msg_data
130 );
131 IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
132 RAISE FND_API.G_EXC_ERROR;
133 END IF;
134
135 IF(p_kpi_measure_weights_rec.weight IS NOT NULL) THEN
136 l_kpi_measure_weights_rec.weight := p_kpi_measure_weights_rec.weight;
137 END IF;
138 IF(p_kpi_measure_weights_rec.last_update_date IS NULL) THEN
139 l_kpi_measure_weights_rec.last_update_date := SYSDATE;
140 ELSE
141 l_kpi_measure_weights_rec.last_update_date := p_kpi_measure_weights_rec.last_update_date;
142 END IF;
143 IF (p_kpi_measure_weights_rec.last_updated_by IS NULL) THEN
144 l_kpi_measure_weights_rec.last_updated_by := FND_GLOBAL.USER_ID;
145 ELSE
146 l_kpi_measure_weights_rec.last_updated_by := p_kpi_measure_weights_rec.last_updated_by;
147 END IF;
148 IF (p_kpi_measure_weights_rec.last_update_login IS NULL) THEN
149 l_kpi_measure_weights_rec.last_update_login := FND_GLOBAL.LOGIN_ID;
150 ELSE
151 l_kpi_measure_weights_rec.last_update_login := p_kpi_measure_weights_rec.last_update_login;
152 END IF;
153
154 UPDATE bsc_kpi_measure_weights
155 SET weight = l_kpi_measure_weights_rec.weight
156 , last_updated_by = l_kpi_measure_weights_rec.last_updated_by
157 , last_update_date = l_kpi_measure_weights_rec.last_update_date
158 , last_update_login = l_kpi_measure_weights_rec.last_update_login
159 WHERE indicator = l_kpi_measure_weights_rec.objective_id
160 AND kpi_measure_id = l_kpi_measure_weights_rec.kpi_measure_id;
161
162 IF (p_commit = FND_API.G_TRUE) THEN
163 COMMIT;
164 END IF;
165
166 EXCEPTION
167 WHEN FND_API.G_EXC_ERROR THEN
168 ROLLBACK TO BscKpiMeasureWeightPvt_Update;
169 IF (x_msg_data IS NULL) THEN
170 FND_MSG_PUB.Count_And_Get
171 ( p_encoded => FND_API.G_FALSE
172 , p_count => x_msg_count
173 , p_data => x_msg_data
174 );
175 END IF;
176 x_return_status := FND_API.G_RET_STS_ERROR;
177 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
178 ROLLBACK TO BscKpiMeasureWeightPvt_Update;
179 IF (x_msg_data IS NULL) THEN
180 FND_MSG_PUB.Count_And_Get
181 ( p_encoded => FND_API.G_FALSE
182 , p_count => x_msg_count
183 , p_data => x_msg_data
184 );
185 END IF;
186 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
187 WHEN NO_DATA_FOUND THEN
188 ROLLBACK TO BscKpiMeasureWeightPvt_Update;
189 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
190 IF (x_msg_data IS NOT NULL) THEN
191 x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_WEIGHTS_PVT.Update_Kpi_Measure_Weights ';
192 ELSE
193 x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_WEIGHTS_PVT.Update_Kpi_Measure_Weights ';
194 END IF;
195 WHEN OTHERS THEN
196 ROLLBACK TO BscKpiMeasureWeightPvt_Update;
197 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
198 IF (x_msg_data IS NOT NULL) THEN
199 x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_WEIGHTS_PVT.Update_Kpi_Measure_Weights ';
200 ELSE
201 x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_WEIGHTS_PVT.Update_Kpi_Measure_Weights ';
202 END IF;
203 END Update_Kpi_Measure_Weights;
204
205 /************************************************************************************
206 ************************************************************************************/
207 PROCEDURE Del_Kpi_Measure_Weights (
208 p_commit IN VARCHAR2:= FND_API.G_FALSE
209 , p_objective_id IN NUMBER
210 , p_kpi_measure_id IN NUMBER
211 , x_return_status OUT NOCOPY VARCHAR2
212 , x_msg_count OUT NOCOPY NUMBER
213 , x_msg_data OUT NOCOPY VARCHAR2
214 )
215 IS
216 BEGIN
217 FND_MSG_PUB.Initialize;
218 x_return_status := FND_API.G_RET_STS_SUCCESS;
219
220 SAVEPOINT BscKpiMeasureWeightPvt_Delete;
221
222 IF (p_objective_id IS NULL) THEN
223 FND_MESSAGE.SET_NAME('BSC','BSC_OBJECTIVE_ID_NULL');
224 FND_MSG_PUB.ADD;
225 RAISE FND_API.G_EXC_ERROR;
226 ELSIF (p_kpi_measure_id IS NULL) THEN
227 FND_MESSAGE.SET_NAME('BSC','BSC_KPI_MEASURE_ID_NULL');
228 FND_MSG_PUB.ADD;
229 RAISE FND_API.G_EXC_ERROR;
230 END IF;
231
232 DELETE FROM bsc_kpi_measure_weights
233 WHERE indicator = p_objective_id
234 AND kpi_measure_id = p_kpi_measure_id;
235
236 IF (p_commit = FND_API.G_TRUE) THEN
237 COMMIT;
238 END IF;
239
240 EXCEPTION
241 WHEN FND_API.G_EXC_ERROR THEN
242 ROLLBACK TO BscKpiMeasureWeightPvt_Delete;
243 IF (x_msg_data IS NULL) THEN
244 FND_MSG_PUB.Count_And_Get
245 ( p_encoded => FND_API.G_FALSE
246 , p_count => x_msg_count
247 , p_data => x_msg_data
248 );
249 END IF;
250 x_return_status := FND_API.G_RET_STS_ERROR;
251 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
252 ROLLBACK TO BscKpiMeasureWeightPvt_Delete;
253 IF (x_msg_data IS NULL) THEN
254 FND_MSG_PUB.Count_And_Get
255 ( p_encoded => FND_API.G_FALSE
256 , p_count => x_msg_count
257 , p_data => x_msg_data
258 );
259 END IF;
260 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
261 WHEN NO_DATA_FOUND THEN
262 ROLLBACK TO BscKpiMeasureWeightPvt_Delete;
263 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
264 IF (x_msg_data IS NOT NULL) THEN
265 x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_WEIGHTS_PVT.Del_Kpi_Measure_Weights ';
266 ELSE
267 x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_WEIGHTS_PVT.Del_Kpi_Measure_Weights ';
268 END IF;
269 WHEN OTHERS THEN
270 ROLLBACK TO BscKpiMeasureWeightPvt_Delete;
271 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
272 IF (x_msg_data IS NOT NULL) THEN
273 x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_WEIGHTS_PVT.Del_Kpi_Measure_Weights ';
274 ELSE
275 x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_WEIGHTS_PVT.Del_Kpi_Measure_Weights ';
276 END IF;
277 END Del_Kpi_Measure_Weights;
278
279 /************************************************************************************
283 , p_objective_id IN NUMBER
280 ************************************************************************************/
281 PROCEDURE Del_Obj_Kpi_Measure_Weights (
282 p_commit IN VARCHAR2:= FND_API.G_FALSE
284 , x_return_status OUT NOCOPY VARCHAR2
285 , x_msg_count OUT NOCOPY NUMBER
286 , x_msg_data OUT NOCOPY VARCHAR2
287 )
288 IS
289 BEGIN
290 FND_MSG_PUB.Initialize;
291 x_return_status := FND_API.G_RET_STS_SUCCESS;
292
293 SAVEPOINT BscKpiMeasureWeightPvt_DelAll;
294
295 IF (p_objective_id IS NULL) THEN
296 FND_MESSAGE.SET_NAME('BSC','BSC_OBJECTIVE_ID_NULL');
297 FND_MSG_PUB.ADD;
298 RAISE FND_API.G_EXC_ERROR;
299 END IF;
300
301 DELETE FROM bsc_kpi_measure_weights
302 WHERE indicator = p_objective_id;
303
304 IF (p_commit = FND_API.G_TRUE) THEN
305 COMMIT;
306 END IF;
307
308 EXCEPTION
309 WHEN FND_API.G_EXC_ERROR THEN
310 ROLLBACK TO BscKpiMeasureWeightPvt_DelAll;
311 IF (x_msg_data IS NULL) THEN
312 FND_MSG_PUB.Count_And_Get
313 ( p_encoded => FND_API.G_FALSE
314 , p_count => x_msg_count
315 , p_data => x_msg_data
316 );
317 END IF;
318 x_return_status := FND_API.G_RET_STS_ERROR;
319 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
320 ROLLBACK TO BscKpiMeasureWeightPvt_DelAll;
321 IF (x_msg_data IS NULL) THEN
322 FND_MSG_PUB.Count_And_Get
323 ( p_encoded => FND_API.G_FALSE
324 , p_count => x_msg_count
325 , p_data => x_msg_data
326 );
327 END IF;
328 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
329 WHEN NO_DATA_FOUND THEN
330 ROLLBACK TO BscKpiMeasureWeightPvt_DelAll;
331 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
332 IF (x_msg_data IS NOT NULL) THEN
333 x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_WEIGHTS_PVT.Del_Obj_Kpi_Measure_Weights ';
334 ELSE
335 x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_WEIGHTS_PVT.Del_Obj_Kpi_Measure_Weights ';
336 END IF;
337 WHEN OTHERS THEN
338 ROLLBACK TO BscKpiMeasureWeightPvt_DelAll;
339 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
340 IF (x_msg_data IS NOT NULL) THEN
341 x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_WEIGHTS_PVT.Del_Obj_Kpi_Measure_Weights ';
342 ELSE
343 x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_WEIGHTS_PVT.Del_Obj_Kpi_Measure_Weights ';
344 END IF;
345 END Del_Obj_Kpi_Measure_Weights;
346
347 /************************************************************************************
348 ************************************************************************************/
349 PROCEDURE Retrieve_Kpi_Measure_Weights (
350 p_objective_id IN NUMBER
351 , p_kpi_measure_id IN NUMBER
352 , x_kpi_measure_weights_rec OUT NOCOPY BSC_KPI_MEASURE_WEIGHTS_PUB.kpi_measure_weights_rec
353 , x_return_status OUT NOCOPY VARCHAR2
354 , x_msg_count OUT NOCOPY NUMBER
355 , x_msg_data OUT NOCOPY VARCHAR2
356 )
357 IS
358 BEGIN
359 FND_MSG_PUB.Initialize;
360 x_return_status := FND_API.G_RET_STS_SUCCESS;
361
362 IF (p_objective_id IS NULL) THEN
363 FND_MESSAGE.SET_NAME('BSC','BSC_OBJECTIVE_ID_NULL');
364 FND_MSG_PUB.ADD;
365 RAISE FND_API.G_EXC_ERROR;
366 ELSIF (p_kpi_measure_id IS NULL) THEN
367 FND_MESSAGE.SET_NAME('BSC','BSC_KPI_MEASURE_ID_NULL');
368 FND_MSG_PUB.ADD;
369 RAISE FND_API.G_EXC_ERROR;
370 END IF;
371
372 SELECT
373 indicator
374 , kpi_measure_id
375 , weight
376 , creation_date
377 , created_by
378 , last_update_date
379 , last_updated_by
380 , last_update_login
381 INTO
382 x_kpi_measure_weights_rec.objective_id
383 , x_kpi_measure_weights_rec.kpi_measure_id
384 , x_kpi_measure_weights_rec.weight
385 , x_kpi_measure_weights_rec.creation_date
386 , x_kpi_measure_weights_rec.created_by
387 , x_kpi_measure_weights_rec.last_update_date
388 , x_kpi_measure_weights_rec.last_updated_by
389 , x_kpi_measure_weights_rec.last_update_login
390 FROM bsc_kpi_measure_weights
391 WHERE indicator = p_objective_id
392 AND kpi_measure_id = p_kpi_measure_id;
393
394 EXCEPTION
395 WHEN FND_API.G_EXC_ERROR THEN
396 IF (x_msg_data IS NULL) THEN
397 FND_MSG_PUB.Count_And_Get
398 ( p_encoded => FND_API.G_FALSE
399 , p_count => x_msg_count
400 , p_data => x_msg_data
401 );
402 END IF;
403 x_return_status := FND_API.G_RET_STS_ERROR;
404 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
405 IF (x_msg_data IS NULL) THEN
406 FND_MSG_PUB.Count_And_Get
407 ( p_encoded => FND_API.G_FALSE
408 , p_count => x_msg_count
409 , p_data => x_msg_data
410 );
411 END IF;
412 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
413 WHEN NO_DATA_FOUND THEN
414 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
415 IF (x_msg_data IS NOT NULL) THEN
416 x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_WEIGHTS_PVT.Retrieve_Kpi_Measure_Weights ';
417 ELSE
418 x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_WEIGHTS_PVT.Retrieve_Kpi_Measure_Weights ';
419 END IF;
420 WHEN OTHERS THEN
421 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
422 IF (x_msg_data IS NOT NULL) THEN
423 x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_WEIGHTS_PVT.Retrieve_Kpi_Measure_Weights ';
424 ELSE
425 x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_WEIGHTS_PVT.Retrieve_Kpi_Measure_Weights ';
426 END IF;
427 END Retrieve_Kpi_Measure_Weights;
428
429 END BSC_KPI_MEASURE_WEIGHTS_PVT;