[Home] [Help]
PACKAGE BODY: APPS.BSC_KPI_MEASURE_PROPS_PVT
Source
1 PACKAGE BODY BSC_KPI_MEASURE_PROPS_PVT AS
2 /* $Header: BSCVKMPB.pls 120.1.12000000.1 2007/07/17 07:44:45 appldev noship $ */
3
4 /************************************************************************************
5 ************************************************************************************/
6 PROCEDURE Create_Kpi_Measure_Props (
7 p_commit IN VARCHAR2 := FND_API.G_FALSE
8 , p_kpi_measure_rec IN BSC_KPI_MEASURE_PROPS_PUB.kpi_measure_props_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 BscKpiMeasurePvt_Create;
21
22 IF (p_kpi_measure_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_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 ELSE
31 SELECT COUNT(1) INTO l_count
32 FROM bsc_kpi_measure_props
33 WHERE indicator = p_kpi_measure_rec.objective_id
34 AND kpi_measure_id = p_kpi_measure_rec.kpi_measure_id;
35 IF (l_count > 0) THEN
36 FND_MESSAGE.SET_NAME('BSC','BSC_OBJ_KPIMEASURE_EXISTS');
37 FND_MESSAGE.SET_TOKEN('OBJECTIVE_ID', p_kpi_measure_rec.objective_id);
38 FND_MESSAGE.SET_TOKEN('KPI_MEASURE_ID', p_kpi_measure_rec.kpi_measure_id);
39 FND_MSG_PUB.ADD;
40 RAISE FND_API.G_EXC_ERROR;
41 END IF;
42 END IF;
43
44 INSERT INTO bsc_kpi_measure_props
45 ( indicator
46 , kpi_measure_id
47 , prototype_color_id
48 , prototype_trend_id
49 , color_by_total
50 , disable_color
51 , disable_trend
52 , apply_color_flag
53 , default_calculation
54 , creation_date
55 , created_by
56 , last_update_date
57 , last_updated_by
58 , last_update_login
59 )
60 VALUES
61 ( p_kpi_measure_rec.objective_id
62 , p_kpi_measure_rec.kpi_measure_id
63 , p_kpi_measure_rec.prototype_color
64 , p_kpi_measure_rec.prototype_trend
65 , p_kpi_measure_rec.color_by_total
66 , p_kpi_measure_rec.disable_color
67 , p_kpi_measure_rec.disable_trend
68 , p_kpi_measure_rec.apply_color_flag
69 , p_kpi_measure_rec.default_calculation
70 , NVL(p_kpi_measure_rec.creation_date, SYSDATE)
71 , NVL(p_kpi_measure_rec.created_by, FND_GLOBAL.USER_ID)
72 , NVL(p_kpi_measure_rec.last_update_date, SYSDATE)
73 , NVL(p_kpi_measure_rec.last_updated_by, FND_GLOBAL.USER_ID)
74 , NVL(p_kpi_measure_rec.last_update_login, FND_GLOBAL.LOGIN_ID)
75 );
76
77 IF (p_commit = FND_API.G_TRUE) THEN
78 COMMIT;
79 END IF;
80
81 EXCEPTION
82 WHEN FND_API.G_EXC_ERROR THEN
83 ROLLBACK TO BscKpiMeasurePvt_Create;
84 IF (x_msg_data IS NULL) THEN
85 FND_MSG_PUB.Count_And_Get
86 ( p_encoded => FND_API.G_FALSE
87 , p_count => x_msg_count
88 , p_data => x_msg_data
89 );
90 END IF;
91 x_return_status := FND_API.G_RET_STS_ERROR;
92 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
93 ROLLBACK TO BscKpiMeasurePvt_Create;
94 IF (x_msg_data IS NULL) THEN
95 FND_MSG_PUB.Count_And_Get
96 ( p_encoded => FND_API.G_FALSE
97 , p_count => x_msg_count
98 , p_data => x_msg_data
99 );
100 END IF;
101 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
102 WHEN NO_DATA_FOUND THEN
103 ROLLBACK TO BscKpiMeasurePvt_Create;
104 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
105 IF (x_msg_data IS NOT NULL) THEN
106 x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_PROPS_PVT.Create_Kpi_Measure_Props ';
107 ELSE
108 x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_PROPS_PVT.Create_Kpi_Measure_Props ';
109 END IF;
110 WHEN OTHERS THEN
111 ROLLBACK TO BscKpiMeasurePvt_Create;
112 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
113 IF (x_msg_data IS NOT NULL) THEN
114 x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_PROPS_PVT.Create_Kpi_Measure_Props ';
115 ELSE
116 x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_PROPS_PVT.Create_Kpi_Measure_Props ';
117 END IF;
118 END Create_Kpi_Measure_Props;
119
120 /************************************************************************************
121 ************************************************************************************/
122 PROCEDURE Update_Kpi_Measure_Props (
123 p_commit IN VARCHAR2 := FND_API.G_FALSE
124 , p_kpi_measure_rec IN BSC_KPI_MEASURE_PROPS_PUB.kpi_measure_props_rec
125 , x_return_status OUT NOCOPY VARCHAR2
126 , x_msg_count OUT NOCOPY NUMBER
127 , x_msg_data OUT NOCOPY VARCHAR2
128 )
129 IS
130 l_kpi_measure_rec BSC_KPI_MEASURE_PROPS_PUB.kpi_measure_props_rec;
131 BEGIN
132 FND_MSG_PUB.Initialize;
133 x_return_status := FND_API.G_RET_STS_SUCCESS;
134
135 SAVEPOINT BscKpiMeasurePvt_Update;
136
137 IF (p_kpi_measure_rec.objective_id IS NULL) THEN
138 FND_MESSAGE.SET_NAME('BSC','BSC_OBJECTIVE_ID_NULL');
139 FND_MSG_PUB.ADD;
140 RAISE FND_API.G_EXC_ERROR;
141 ELSIF (p_kpi_measure_rec.kpi_measure_id IS NULL) THEN
142 FND_MESSAGE.SET_NAME('BSC','BSC_KPI_MEASURE_ID_NULL');
143 FND_MSG_PUB.ADD;
144 RAISE FND_API.G_EXC_ERROR;
145 END IF;
146
147 Retrieve_Kpi_Measure_Props
148 ( p_objective_id => p_kpi_measure_rec.objective_id
149 , p_kpi_measure_id => p_kpi_measure_rec.kpi_measure_id
150 , x_kpi_measure_rec => l_kpi_measure_rec
151 , x_return_status => x_return_status
152 , x_msg_count => x_msg_count
153 , x_msg_data => x_msg_data
154 );
155 IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
156 RAISE FND_API.G_EXC_ERROR;
157 END IF;
158
159 l_kpi_measure_rec.default_calculation:= p_kpi_measure_rec.default_calculation;
160 IF(p_kpi_measure_rec.prototype_color IS NOT NULL) THEN
161 l_kpi_measure_rec.prototype_color := p_kpi_measure_rec.prototype_color;
162 END IF;
163 IF(p_kpi_measure_rec.prototype_trend IS NOT NULL) THEN
164 l_kpi_measure_rec.prototype_trend:= p_kpi_measure_rec.prototype_trend;
165 END IF;
166 IF(p_kpi_measure_rec.color_by_total IS NOT NULL) THEN
167 l_kpi_measure_rec.color_by_total:= p_kpi_measure_rec.color_by_total;
168 END IF;
169 IF(p_kpi_measure_rec.disable_color IS NOT NULL) THEN
170 l_kpi_measure_rec.disable_color:= p_kpi_measure_rec.disable_color;
171 END IF;
172 IF(p_kpi_measure_rec.disable_trend IS NOT NULL) THEN
173 l_kpi_measure_rec.disable_trend:= p_kpi_measure_rec.disable_trend;
174 END IF;
175 IF(p_kpi_measure_rec.apply_color_flag IS NOT NULL) THEN
176 l_kpi_measure_rec.apply_color_flag:= p_kpi_measure_rec.apply_color_flag;
177 END IF;
178 IF(p_kpi_measure_rec.last_update_date IS NULL) THEN
179 l_kpi_measure_rec.last_update_date := SYSDATE;
180 ELSE
181 l_kpi_measure_rec.last_update_date := p_kpi_measure_rec.last_update_date;
182 END IF;
183 IF (p_kpi_measure_rec.last_updated_by IS NULL) THEN
184 l_kpi_measure_rec.last_updated_by := FND_GLOBAL.USER_ID;
185 ELSE
186 l_kpi_measure_rec.last_updated_by := p_kpi_measure_rec.last_updated_by;
187 END IF;
188 IF (p_kpi_measure_rec.last_update_login IS NULL) THEN
189 l_kpi_measure_rec.last_update_login := FND_GLOBAL.LOGIN_ID;
190 ELSE
191 l_kpi_measure_rec.last_update_login := p_kpi_measure_rec.last_update_login;
192 END IF;
193
194 UPDATE bsc_kpi_measure_props
195 SET prototype_color_id = l_kpi_measure_rec.prototype_color
196 , prototype_trend_id = l_kpi_measure_rec.prototype_trend
197 , color_by_total = l_kpi_measure_rec.color_by_total
198 , disable_color = l_kpi_measure_rec.disable_color
199 , disable_trend = l_kpi_measure_rec.disable_trend
200 , apply_color_flag = l_kpi_measure_rec.apply_color_flag
201 , default_calculation = l_kpi_measure_rec.default_calculation
202 , last_updated_by = l_kpi_measure_rec.last_updated_by
203 , last_update_date = l_kpi_measure_rec.last_update_date
204 , last_update_login = l_kpi_measure_rec.last_update_login
205 WHERE indicator = l_kpi_measure_rec.objective_id
206 AND kpi_measure_id = l_kpi_measure_rec.kpi_measure_id;
207
208 IF (p_commit = FND_API.G_TRUE) THEN
209 COMMIT;
210 END IF;
211
212 EXCEPTION
213 WHEN FND_API.G_EXC_ERROR THEN
214 ROLLBACK TO BscKpiMeasurePvt_Update;
215 IF (x_msg_data IS NULL) THEN
216 FND_MSG_PUB.Count_And_Get
217 ( p_encoded => FND_API.G_FALSE
218 , p_count => x_msg_count
219 , p_data => x_msg_data
220 );
221 END IF;
222 x_return_status := FND_API.G_RET_STS_ERROR;
223 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
224 ROLLBACK TO BscKpiMeasurePvt_Update;
225 IF (x_msg_data IS NULL) THEN
226 FND_MSG_PUB.Count_And_Get
227 ( p_encoded => FND_API.G_FALSE
228 , p_count => x_msg_count
229 , p_data => x_msg_data
230 );
231 END IF;
232 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
233 WHEN NO_DATA_FOUND THEN
234 ROLLBACK TO BscKpiMeasurePvt_Update;
235 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
236 IF (x_msg_data IS NOT NULL) THEN
237 x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_PROPS_PVT.Update_Kpi_Measure_Props ';
238 ELSE
239 x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_PROPS_PVT.Update_Kpi_Measure_Props ';
240 END IF;
241 WHEN OTHERS THEN
242 ROLLBACK TO BscKpiMeasurePvt_Update;
243 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
244 IF (x_msg_data IS NOT NULL) THEN
245 x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_PROPS_PVT.Update_Kpi_Measure_Props ';
246 ELSE
247 x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_PROPS_PVT.Update_Kpi_Measure_Props ';
248 END IF;
249 END Update_Kpi_Measure_Props;
250
251 /************************************************************************************
252 ************************************************************************************/
253 PROCEDURE Delete_Kpi_Measure_Props (
254 p_commit IN VARCHAR2:= FND_API.G_FALSE
255 , p_objective_id IN NUMBER
256 , p_kpi_measure_id IN NUMBER
257 , x_return_status OUT NOCOPY VARCHAR2
258 , x_msg_count OUT NOCOPY NUMBER
259 , x_msg_data OUT NOCOPY VARCHAR2
260 )
261 IS
262 BEGIN
263 FND_MSG_PUB.Initialize;
264 x_return_status := FND_API.G_RET_STS_SUCCESS;
265
266 SAVEPOINT BscKpiMeasurePvt_Delete;
267
268 IF (p_objective_id IS NULL) THEN
269 FND_MESSAGE.SET_NAME('BSC','BSC_OBJECTIVE_ID_NULL');
270 FND_MSG_PUB.ADD;
271 RAISE FND_API.G_EXC_ERROR;
272 ELSIF (p_kpi_measure_id IS NULL) THEN
273 FND_MESSAGE.SET_NAME('BSC','BSC_KPI_MEASURE_ID_NULL');
274 FND_MSG_PUB.ADD;
275 RAISE FND_API.G_EXC_ERROR;
276 END IF;
277
278 DELETE FROM bsc_kpi_measure_props
279 WHERE indicator = p_objective_id
280 AND kpi_measure_id = p_kpi_measure_id;
281
282 IF (p_commit = FND_API.G_TRUE) THEN
283 COMMIT;
284 END IF;
285
286 EXCEPTION
287 WHEN FND_API.G_EXC_ERROR THEN
288 ROLLBACK TO BscKpiMeasurePvt_Delete;
289 IF (x_msg_data IS NULL) THEN
290 FND_MSG_PUB.Count_And_Get
291 ( p_encoded => FND_API.G_FALSE
292 , p_count => x_msg_count
293 , p_data => x_msg_data
294 );
295 END IF;
296 x_return_status := FND_API.G_RET_STS_ERROR;
297 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
298 ROLLBACK TO BscKpiMeasurePvt_Delete;
299 IF (x_msg_data IS NULL) THEN
300 FND_MSG_PUB.Count_And_Get
301 ( p_encoded => FND_API.G_FALSE
302 , p_count => x_msg_count
303 , p_data => x_msg_data
304 );
305 END IF;
306 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
307 WHEN NO_DATA_FOUND THEN
308 ROLLBACK TO BscKpiMeasurePvt_Delete;
309 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
310 IF (x_msg_data IS NOT NULL) THEN
311 x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_PROPS_PVT.Delete_Kpi_Measure_Props ';
312 ELSE
313 x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_PROPS_PVT.Delete_Kpi_Measure_Props ';
314 END IF;
315 WHEN OTHERS THEN
316 ROLLBACK TO BscKpiMeasurePvt_Delete;
317 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
318 IF (x_msg_data IS NOT NULL) THEN
319 x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_PROPS_PVT.Delete_Kpi_Measure_Props ';
320 ELSE
321 x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_PROPS_PVT.Delete_Kpi_Measure_Props ';
322 END IF;
323 END Delete_Kpi_Measure_Props;
324
325 /************************************************************************************
326 ************************************************************************************/
327 PROCEDURE Delete_Obj_Kpi_Measure_Props (
328 p_commit IN VARCHAR2:= FND_API.G_FALSE
329 , p_objective_id IN NUMBER
330 , x_return_status OUT NOCOPY VARCHAR2
331 , x_msg_count OUT NOCOPY NUMBER
332 , x_msg_data OUT NOCOPY VARCHAR2
333 )
334 IS
335 BEGIN
336 FND_MSG_PUB.Initialize;
337 x_return_status := FND_API.G_RET_STS_SUCCESS;
338
342 FND_MESSAGE.SET_NAME('BSC','BSC_OBJECTIVE_ID_NULL');
339 SAVEPOINT BscKpiMeasurePvt_DeleteAll;
340
341 IF (p_objective_id IS NULL) THEN
343 FND_MSG_PUB.ADD;
344 RAISE FND_API.G_EXC_ERROR;
345 END IF;
346
347 DELETE FROM bsc_kpi_measure_props
348 WHERE indicator = p_objective_id;
349
350 IF (p_commit = FND_API.G_TRUE) THEN
351 COMMIT;
352 END IF;
353
354 EXCEPTION
355 WHEN FND_API.G_EXC_ERROR THEN
356 ROLLBACK TO BscKpiMeasurePvt_DeleteAll;
357 IF (x_msg_data IS NULL) THEN
358 FND_MSG_PUB.Count_And_Get
359 ( p_encoded => FND_API.G_FALSE
360 , p_count => x_msg_count
361 , p_data => x_msg_data
362 );
363 END IF;
364 x_return_status := FND_API.G_RET_STS_ERROR;
365 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
366 ROLLBACK TO BscKpiMeasurePvt_DeleteAll;
367 IF (x_msg_data IS NULL) THEN
368 FND_MSG_PUB.Count_And_Get
369 ( p_encoded => FND_API.G_FALSE
370 , p_count => x_msg_count
371 , p_data => x_msg_data
372 );
373 END IF;
374 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
375 WHEN NO_DATA_FOUND THEN
376 ROLLBACK TO BscKpiMeasurePvt_DeleteAll;
377 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
378 IF (x_msg_data IS NOT NULL) THEN
379 x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_PROPS_PVT.Delete_Obj_Kpi_Measure_Props ';
380 ELSE
381 x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_PROPS_PVT.Delete_Obj_Kpi_Measure_Props ';
382 END IF;
383 WHEN OTHERS THEN
384 ROLLBACK TO BscKpiMeasurePvt_DeleteAll;
385 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
386 IF (x_msg_data IS NOT NULL) THEN
387 x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_PROPS_PVT.Delete_Obj_Kpi_Measure_Props ';
388 ELSE
389 x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_PROPS_PVT.Delete_Obj_Kpi_Measure_Props ';
390 END IF;
391 END Delete_Obj_Kpi_Measure_Props;
392
393 /************************************************************************************
394 ************************************************************************************/
395 PROCEDURE Retrieve_Kpi_Measure_Props (
396 p_objective_id IN NUMBER
397 , p_kpi_measure_id IN NUMBER
398 , x_kpi_measure_rec OUT NOCOPY BSC_KPI_MEASURE_PROPS_PUB.kpi_measure_props_rec
399 , x_return_status OUT NOCOPY VARCHAR2
400 , x_msg_count OUT NOCOPY NUMBER
401 , x_msg_data OUT NOCOPY VARCHAR2
402 )
403 IS
404 BEGIN
405 FND_MSG_PUB.Initialize;
406 x_return_status := FND_API.G_RET_STS_SUCCESS;
407
408 IF (p_objective_id IS NULL) THEN
409 FND_MESSAGE.SET_NAME('BSC','BSC_OBJECTIVE_ID_NULL');
410 FND_MSG_PUB.ADD;
411 RAISE FND_API.G_EXC_ERROR;
412 ELSIF (p_kpi_measure_id IS NULL) THEN
413 FND_MESSAGE.SET_NAME('BSC','BSC_KPI_MEASURE_ID_NULL');
414 FND_MSG_PUB.ADD;
415 RAISE FND_API.G_EXC_ERROR;
416 END IF;
417
418 SELECT
419 indicator
420 , kpi_measure_id
421 , prototype_color_id
422 , prototype_trend_id
423 , color_by_total
424 , disable_color
425 , disable_trend
426 , apply_color_flag
427 , default_calculation
428 , creation_date
429 , created_by
430 , last_update_date
431 , last_updated_by
432 , last_update_login
433 INTO
434 x_kpi_measure_rec.objective_id
435 , x_kpi_measure_rec.kpi_measure_id
436 , x_kpi_measure_rec.prototype_color
437 , x_kpi_measure_rec.prototype_trend
438 , x_kpi_measure_rec.color_by_total
439 , x_kpi_measure_rec.disable_color
440 , x_kpi_measure_rec.disable_trend
441 , x_kpi_measure_rec.apply_color_flag
442 , x_kpi_measure_rec.default_calculation
443 , x_kpi_measure_rec.creation_date
444 , x_kpi_measure_rec.created_by
445 , x_kpi_measure_rec.last_update_date
446 , x_kpi_measure_rec.last_updated_by
447 , x_kpi_measure_rec.last_update_login
448 FROM bsc_kpi_measure_props
449 WHERE indicator = p_objective_id
450 AND kpi_measure_id = p_kpi_measure_id;
451
452 EXCEPTION
453 WHEN FND_API.G_EXC_ERROR THEN
454 IF (x_msg_data IS NULL) THEN
455 FND_MSG_PUB.Count_And_Get
456 ( p_encoded => FND_API.G_FALSE
457 , p_count => x_msg_count
458 , p_data => x_msg_data
459 );
460 END IF;
461 x_return_status := FND_API.G_RET_STS_ERROR;
462 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
463 IF (x_msg_data IS NULL) THEN
464 FND_MSG_PUB.Count_And_Get
465 ( p_encoded => FND_API.G_FALSE
466 , p_count => x_msg_count
467 , p_data => x_msg_data
468 );
469 END IF;
470 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
471 WHEN NO_DATA_FOUND THEN
472 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
473 IF (x_msg_data IS NOT NULL) THEN
474 x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_PROPS_PVT.Retrieve_Kpi_Measure_Props ';
475 ELSE
476 x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_PROPS_PVT.Retrieve_Kpi_Measure_Props ';
477 END IF;
478 WHEN OTHERS THEN
479 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
480 IF (x_msg_data IS NOT NULL) THEN
481 x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_PROPS_PVT.Retrieve_Kpi_Measure_Props ';
482 ELSE
483 x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_PROPS_PVT.Retrieve_Kpi_Measure_Props ';
484 END IF;
485 END Retrieve_Kpi_Measure_Props;
486
487 END BSC_KPI_MEASURE_PROPS_PVT;