12: -- based and disable_color was TRUE earlier (The current series should have
13: -- p_Default_Flag set to 1)
14: ************************************************************************************/
15: PROCEDURE Check_Color_Props(
16: p_commit IN VARCHAR2 := FND_API.G_FALSE
17: ,p_Indicator IN NUMBER
18: ,p_Analysis_Option0 IN NUMBER
19: ,p_Analysis_Option1 IN NUMBER
20: ,p_Analysis_Option2 IN NUMBER
63:
64: BEGIN
65:
66: SAVEPOINT Check_Color_Props_PUB;
67: x_return_status := FND_API.G_RET_STS_SUCCESS;
68: FND_MSG_PUB.Initialize;
69:
70: OPEN c_kpi_measure_id;
71: FETCH c_kpi_measure_id INTO l_kpi_measure_id;
78: , x_return_status => x_return_status
79: , x_msg_count => x_msg_count
80: , x_msg_data => x_msg_data
81: ) ;
82: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
83: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
84: END IF;
85:
86: OPEN c_Default_AO_Comb;
79: , x_msg_count => x_msg_count
80: , x_msg_data => x_msg_data
81: ) ;
82: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
83: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
84: END IF;
85:
86: OPEN c_Default_AO_Comb;
87: FETCH c_Default_AO_Comb INTO l_A0_Def, l_A1_Def, l_A2_Def;
103: l_kpi_measure_props_rec.disable_color := 'F';
104: END IF;
105:
106: BSC_KPI_MEASURE_PROPS_PUB.Update_Kpi_Measure_Props (
107: p_Commit => FND_API.G_FALSE
108: , p_kpi_measure_rec => l_kpi_measure_props_rec
109: , p_cascade_shared => FALSE
110: , x_return_status => x_return_status
111: , x_msg_count => x_msg_count
110: , x_return_status => x_return_status
111: , x_msg_count => x_msg_count
112: , x_msg_data => x_msg_data
113: ) ;
114: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
115: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
116: END IF;
117:
118: IF FND_API.To_Boolean(p_Commit) THEN
111: , x_msg_count => x_msg_count
112: , x_msg_data => x_msg_data
113: ) ;
114: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
115: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
116: END IF;
117:
118: IF FND_API.To_Boolean(p_Commit) THEN
119: COMMIT;
114: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
115: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
116: END IF;
117:
118: IF FND_API.To_Boolean(p_Commit) THEN
119: COMMIT;
120: END IF;
121:
122: EXCEPTION
119: COMMIT;
120: END IF;
121:
122: EXCEPTION
123: WHEN FND_API.G_EXC_ERROR THEN
124: ROLLBACK TO Check_Color_Props_PUB;
125: IF (x_msg_data IS NULL) THEN
126: FND_MSG_PUB.Count_And_Get
127: ( p_encoded => FND_API.G_FALSE
123: WHEN FND_API.G_EXC_ERROR THEN
124: ROLLBACK TO Check_Color_Props_PUB;
125: IF (x_msg_data IS NULL) THEN
126: FND_MSG_PUB.Count_And_Get
127: ( p_encoded => FND_API.G_FALSE
128: , p_count => x_msg_count
129: , p_data => x_msg_data
130: );
131: END IF;
128: , p_count => x_msg_count
129: , p_data => x_msg_data
130: );
131: END IF;
132: x_return_status := FND_API.G_RET_STS_ERROR;
133: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
134: ROLLBACK TO Check_Color_Props_PUB;
135: IF (x_msg_data IS NULL) THEN
136: FND_MSG_PUB.Count_And_Get
129: , p_data => x_msg_data
130: );
131: END IF;
132: x_return_status := FND_API.G_RET_STS_ERROR;
133: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
134: ROLLBACK TO Check_Color_Props_PUB;
135: IF (x_msg_data IS NULL) THEN
136: FND_MSG_PUB.Count_And_Get
137: ( p_encoded => FND_API.G_FALSE
133: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
134: ROLLBACK TO Check_Color_Props_PUB;
135: IF (x_msg_data IS NULL) THEN
136: FND_MSG_PUB.Count_And_Get
137: ( p_encoded => FND_API.G_FALSE
138: , p_count => x_msg_count
139: , p_data => x_msg_data
140: );
141: END IF;
138: , p_count => x_msg_count
139: , p_data => x_msg_data
140: );
141: END IF;
142: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
143: WHEN NO_DATA_FOUND THEN
144: ROLLBACK TO Check_Color_Props_PUB;
145: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
146: IF (x_msg_data IS NOT NULL) THEN
141: END IF;
142: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
143: WHEN NO_DATA_FOUND THEN
144: ROLLBACK TO Check_Color_Props_PUB;
145: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
146: IF (x_msg_data IS NOT NULL) THEN
147: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Check_Color_Props ';
148: ELSE
149: x_msg_data := SQLERRM||'BSC_KPI_SERIES_PUB.Check_Color_Props ';
149: x_msg_data := SQLERRM||'BSC_KPI_SERIES_PUB.Check_Color_Props ';
150: END IF;
151: WHEN OTHERS THEN
152: ROLLBACK TO Check_Color_Props_PUB;
153: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
154: IF (x_msg_data IS NOT NULL) THEN
155: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Check_Color_Props ';
156: ELSE
157: x_msg_data := SQLERRM||' at BSC_KPI_SERIES_PUB.Check_Color_Props ';
164: -- Sets the default calculation at the kpi level
165: -- populates the default_calculation of bsc_kpi_measure_props
166: ************************************************************************************/
167: PROCEDURE Save_Default_Calculation(
168: p_commit IN VARCHAR2 := FND_API.G_FALSE
169: ,p_Indicator IN NUMBER
170: ,p_Analysis_Option0 IN NUMBER
171: ,p_Analysis_Option1 IN NUMBER
172: ,p_Analysis_Option2 IN NUMBER
171: ,p_Analysis_Option1 IN NUMBER
172: ,p_Analysis_Option2 IN NUMBER
173: ,p_Series_Id IN NUMBER
174: ,p_default_calculation IN NUMBER := NULL
175: ,p_casacade_shared IN VARCHAR2 := FND_API.G_TRUE
176: ,x_return_status OUT NOCOPY VARCHAR2
177: ,x_msg_count OUT NOCOPY NUMBER
178: ,x_msg_data OUT NOCOPY VARCHAR2
179: ) IS
205:
206: BEGIN
207:
208: SAVEPOINT Save_Default_Calculation_PUB;
209: x_return_status := FND_API.G_RET_STS_SUCCESS;
210: FND_MSG_PUB.Initialize;
211:
212: OPEN c_kpi_measure_id;
213: FETCH c_kpi_measure_id INTO l_kpi_measure_id;
220: , x_return_status => x_return_status
221: , x_msg_count => x_msg_count
222: , x_msg_data => x_msg_data
223: ) ;
224: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
225: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
226: END IF;
227:
228: IF NOT BSC_COPY_INDICATOR_PUB.Is_Numeric_Field_Equal(l_kpi_measure_props_rec.default_calculation, p_default_calculation) THEN
221: , x_msg_count => x_msg_count
222: , x_msg_data => x_msg_data
223: ) ;
224: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
225: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
226: END IF;
227:
228: IF NOT BSC_COPY_INDICATOR_PUB.Is_Numeric_Field_Equal(l_kpi_measure_props_rec.default_calculation, p_default_calculation) THEN
229: l_kpi_measure_props_rec.default_calculation := p_default_calculation;
228: IF NOT BSC_COPY_INDICATOR_PUB.Is_Numeric_Field_Equal(l_kpi_measure_props_rec.default_calculation, p_default_calculation) THEN
229: l_kpi_measure_props_rec.default_calculation := p_default_calculation;
230:
231: BSC_KPI_MEASURE_PROPS_PUB.Update_Kpi_Measure_Props (
232: p_Commit => FND_API.G_FALSE
233: , p_kpi_measure_rec => l_kpi_measure_props_rec
234: , p_cascade_shared => FALSE
235: , x_return_status => x_return_status
236: , x_msg_count => x_msg_count
235: , x_return_status => x_return_status
236: , x_msg_count => x_msg_count
237: , x_msg_data => x_msg_data
238: ) ;
239: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
240: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
241: END IF;
242:
243: l_color_rollup_type := BSC_COLOR_CALC_UTIL.Get_Obj_Color_Rollup_Type(p_Indicator);
236: , x_msg_count => x_msg_count
237: , x_msg_data => x_msg_data
238: ) ;
239: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
240: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
241: END IF;
242:
243: l_color_rollup_type := BSC_COLOR_CALC_UTIL.Get_Obj_Color_Rollup_Type(p_Indicator);
244: IF l_color_rollup_type <> BSC_COLOR_CALC_UTIL.DEFAULT_KPI OR
249: ,x_newflag => BSC_DESIGNER_PVT.G_ActionFlag.GAA_Color
250: );
251: END IF;
252:
253: IF p_casacade_shared = FND_API.G_TRUE THEN
254: FOR cd IN c_shared_objs LOOP
255: Save_Default_Calculation(
256: p_commit => FND_API.G_FALSE
257: ,p_Indicator => cd.Indicator
252:
253: IF p_casacade_shared = FND_API.G_TRUE THEN
254: FOR cd IN c_shared_objs LOOP
255: Save_Default_Calculation(
256: p_commit => FND_API.G_FALSE
257: ,p_Indicator => cd.Indicator
258: ,p_Analysis_Option0 => p_Analysis_Option0
259: ,p_Analysis_Option1 => p_Analysis_Option1
260: ,p_Analysis_Option2 => p_Analysis_Option2
259: ,p_Analysis_Option1 => p_Analysis_Option1
260: ,p_Analysis_Option2 => p_Analysis_Option2
261: ,p_Series_Id => p_Series_Id
262: ,p_default_calculation => p_default_calculation
263: ,p_casacade_shared => FND_API.G_FALSE
264: ,x_return_status => x_return_status
265: ,x_msg_count => x_msg_count
266: ,x_msg_data => x_msg_data
267: );
264: ,x_return_status => x_return_status
265: ,x_msg_count => x_msg_count
266: ,x_msg_data => x_msg_data
267: );
268: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
269: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
270: END IF;
271:
272: END LOOP;
265: ,x_msg_count => x_msg_count
266: ,x_msg_data => x_msg_data
267: );
268: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
269: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
270: END IF;
271:
272: END LOOP;
273: END IF;
271:
272: END LOOP;
273: END IF;
274:
275: IF FND_API.To_Boolean(p_Commit) THEN
276: COMMIT;
277: END IF;
278: END IF;
279: EXCEPTION
276: COMMIT;
277: END IF;
278: END IF;
279: EXCEPTION
280: WHEN FND_API.G_EXC_ERROR THEN
281: ROLLBACK TO Save_Default_Calculation_PUB;
282: IF (x_msg_data IS NULL) THEN
283: FND_MSG_PUB.Count_And_Get
284: ( p_encoded => FND_API.G_FALSE
280: WHEN FND_API.G_EXC_ERROR THEN
281: ROLLBACK TO Save_Default_Calculation_PUB;
282: IF (x_msg_data IS NULL) THEN
283: FND_MSG_PUB.Count_And_Get
284: ( p_encoded => FND_API.G_FALSE
285: , p_count => x_msg_count
286: , p_data => x_msg_data
287: );
288: END IF;
285: , p_count => x_msg_count
286: , p_data => x_msg_data
287: );
288: END IF;
289: x_return_status := FND_API.G_RET_STS_ERROR;
290: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
291: ROLLBACK TO Save_Default_Calculation_PUB;
292: IF (x_msg_data IS NULL) THEN
293: FND_MSG_PUB.Count_And_Get
286: , p_data => x_msg_data
287: );
288: END IF;
289: x_return_status := FND_API.G_RET_STS_ERROR;
290: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
291: ROLLBACK TO Save_Default_Calculation_PUB;
292: IF (x_msg_data IS NULL) THEN
293: FND_MSG_PUB.Count_And_Get
294: ( p_encoded => FND_API.G_FALSE
290: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
291: ROLLBACK TO Save_Default_Calculation_PUB;
292: IF (x_msg_data IS NULL) THEN
293: FND_MSG_PUB.Count_And_Get
294: ( p_encoded => FND_API.G_FALSE
295: , p_count => x_msg_count
296: , p_data => x_msg_data
297: );
298: END IF;
295: , p_count => x_msg_count
296: , p_data => x_msg_data
297: );
298: END IF;
299: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
300: WHEN NO_DATA_FOUND THEN
301: ROLLBACK TO Save_Default_Calculation_PUB;
302: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
303: IF (x_msg_data IS NOT NULL) THEN
298: END IF;
299: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
300: WHEN NO_DATA_FOUND THEN
301: ROLLBACK TO Save_Default_Calculation_PUB;
302: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
303: IF (x_msg_data IS NOT NULL) THEN
304: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Save_Default_Calculation ';
305: ELSE
306: x_msg_data := SQLERRM||'BSC_KPI_SERIES_PUB.Save_Default_Calculation ';
306: x_msg_data := SQLERRM||'BSC_KPI_SERIES_PUB.Save_Default_Calculation ';
307: END IF;
308: WHEN OTHERS THEN
309: ROLLBACK TO Save_Default_Calculation_PUB;
310: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
311: IF (x_msg_data IS NOT NULL) THEN
312: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Save_Default_Calculation ';
313: ELSE
314: x_msg_data := SQLERRM||' at BSC_KPI_SERIES_PUB.Save_Default_Calculation ';
322: -- has atleast one series set as default
323: ************************************************************************************/
324:
325: PROCEDURE Check_Series_Default_Props(
326: p_commit IN VARCHAR2 := FND_API.G_FALSE
327: ,p_Indicator IN NUMBER
328: ,x_return_status OUT NOCOPY VARCHAR2
329: ,x_msg_count OUT NOCOPY NUMBER
330: ,x_msg_data OUT NOCOPY VARCHAR2
348: default_value = 1;
349:
350: BEGIN
351: SAVEPOINT Check_Series_Default_Props_PUB;
352: x_return_status := FND_API.G_RET_STS_SUCCESS;
353: FND_MSG_PUB.Initialize;
354:
355: SELECT
356: a0_default,a1_default,a2_default
383: analysis_option2 = l_AnaOpt2_Default AND
384: series_id = l_First_Series_Id;
385: CLOSE c_Preselected_Series;
386:
387: IF FND_API.To_Boolean( p_commit ) THEN
388: COMMIT;
389: END IF;
390:
391: EXCEPTION
390:
391: EXCEPTION
392: WHEN OTHERS THEN
393: ROLLBACK TO Check_Series_Default_Props_PUB;
394: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
395: IF (x_msg_data IS NOT NULL) THEN
396: x_msg_data := x_msg_data||' -> BSC_OBJ_ANALYSIS_OPTIONS_PUB.Check_Series_Default_Props ';
397: ELSE
398: x_msg_data := SQLERRM||' at BSC_OBJ_ANALYSIS_OPTIONS_PUB.Check_Series_Default_Props ';
403: -- API name : Update_Color_Structure_Flags
404: -- Type : Private
405: ************************************************************************************/
406: PROCEDURE Update_Color_Structure_Flags (
407: p_commit IN VARCHAR2 := FND_API.G_FALSE
408: ,p_Indicator IN NUMBER
409: ,p_Action_Flag IN NUMBER := 3
410: ,x_return_status OUT NOCOPY VARCHAR2
411: ,x_msg_count OUT NOCOPY NUMBER
423: share_flag = 2;
424:
425: BEGIN
426:
427: x_return_status := FND_API.G_RET_STS_SUCCESS;
428:
429: IF p_Action_Flag = 7 THEN
430: BSC_DESIGNER_PVT.ActionFlag_Change (
431: x_indicator => p_Indicator
451: );
452: END LOOP;
453: END IF;
454:
455: IF (p_commit = FND_API.G_TRUE) THEN
456: COMMIT;
457: END IF;
458:
459: EXCEPTION
456: COMMIT;
457: END IF;
458:
459: EXCEPTION
460: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
461: IF (x_msg_data IS NULL) THEN
462: FND_MSG_PUB.Count_And_Get
463: ( p_encoded => FND_API.G_FALSE
464: , p_count => x_msg_count
459: EXCEPTION
460: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
461: IF (x_msg_data IS NULL) THEN
462: FND_MSG_PUB.Count_And_Get
463: ( p_encoded => FND_API.G_FALSE
464: , p_count => x_msg_count
465: , p_data => x_msg_data
466: );
467: END IF;
464: , p_count => x_msg_count
465: , p_data => x_msg_data
466: );
467: END IF;
468: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
469: WHEN OTHERS THEN
470: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
471: IF (x_msg_data IS NOT NULL) THEN
472: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Update_Color_Structure_Flags ';
466: );
467: END IF;
468: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
469: WHEN OTHERS THEN
470: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
471: IF (x_msg_data IS NOT NULL) THEN
472: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Update_Color_Structure_Flags ';
473: ELSE
474: x_msg_data := SQLERRM||' at BSC_KPI_SERIES_PUB.Update_Color_Structure_Flags ';
480: -- Type : Private
481: ************************************************************************************/
482: FUNCTION Get_Series_Color (
483: p_Color_Values IN FND_TABLE_OF_NUMBER := NULL
484: ,p_Get_Actual_Color IN VARCHAR2 := FND_API.G_TRUE
485: ) RETURN NUMBER IS
486:
487: l_Color_Value bsc_kpi_analysis_measures_b.series_color%TYPE := 0;
488: l_bm_id bsc_sys_benchmarks_b.bm_id%TYPE;
491: BEGIN
492:
493: WHILE (NOT found AND i < p_Color_Values.COUNT) LOOP
494: l_bm_id := p_Color_Values(i);
495: IF (FND_API.To_Boolean( p_Get_Actual_Color) AND l_bm_id = 0) THEN
496: l_Color_Value := p_Color_Values(i + 1);
497: found := TRUE;
498: END IF;
499: IF (NOT FND_API.To_Boolean( p_Get_Actual_Color) AND l_bm_id = 0) THEN
495: IF (FND_API.To_Boolean( p_Get_Actual_Color) AND l_bm_id = 0) THEN
496: l_Color_Value := p_Color_Values(i + 1);
497: found := TRUE;
498: END IF;
499: IF (NOT FND_API.To_Boolean( p_Get_Actual_Color) AND l_bm_id = 0) THEN
500: l_Color_Value := p_Color_Values(i + 1);
501: found := TRUE;
502: END IF;
503: i := i + 2;
515: -- 2. Populates the series color properties into bsc_kpi_series_colors
516: -- 3. Also sets the color enable/disable properties
517: ************************************************************************************/
518: PROCEDURE Create_Analysis_Measure_UI(
519: p_commit IN VARCHAR2 := FND_API.G_FALSE
520: ,p_Indicator IN NUMBER
521: ,p_Analysis_Option0 IN NUMBER
522: ,p_Analysis_Option1 IN NUMBER
523: ,p_Analysis_Option2 IN NUMBER
553: prototype_flag <> 2 AND
554: share_flag = 2;
555:
556: BEGIN
557: x_return_status := FND_API.G_RET_STS_SUCCESS;
558:
559: IF p_Indicator IS NOT NULL THEN
560: l_Count := BSC_DIMENSION_LEVELS_PVT.Validate_Value( 'BSC_KPIS_B'
561: ,'indicator'
563: IF l_Count = 0 THEN
564: FND_MESSAGE.SET_NAME('BSC','BSC_INVALID_KPI_ID');
565: FND_MESSAGE.SET_TOKEN('BSC_KPI', p_Indicator);
566: FND_MSG_PUB.ADD;
567: RAISE FND_API.G_EXC_ERROR;
568: END IF;
569: ELSE
570: FND_MESSAGE.SET_NAME('BSC','BSC_NO_KPI_ID_ENTERED');
571: FND_MESSAGE.SET_TOKEN('BSC_KPI', p_Indicator);
569: ELSE
570: FND_MESSAGE.SET_NAME('BSC','BSC_NO_KPI_ID_ENTERED');
571: FND_MESSAGE.SET_TOKEN('BSC_KPI', p_Indicator);
572: FND_MSG_PUB.ADD;
573: RAISE FND_API.G_EXC_ERROR;
574: END IF;
575: BSC_BIS_LOCKS_PUB.LOCK_KPI
576: ( p_Kpi_Id => p_Indicator
577: , p_time_stamp => p_time_stamp
579: , x_return_status => x_return_status
580: , x_msg_count => x_msg_count
581: , x_msg_data => x_msg_data
582: );
583: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
584: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
585: END IF;
586:
587: l_Anal_Opt_Rec.Bsc_Kpi_Id := p_Indicator;
580: , x_msg_count => x_msg_count
581: , x_msg_data => x_msg_data
582: );
583: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
584: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
585: END IF;
586:
587: l_Anal_Opt_Rec.Bsc_Kpi_Id := p_Indicator;
588: l_Anal_Opt_Rec.Bsc_Option_Group0 := p_Analysis_Option0;
597: l_Anal_Opt_Rec.Bsc_Dataset_Default_Value := p_Default_Flag;
598: l_Anal_Opt_Rec.Bsc_Measure_Long_Name := p_Series_Name;
599: l_Anal_Opt_Rec.Bsc_Measure_Help := p_Series_Help;
600: l_Anal_Opt_Rec.Bsc_Dataset_Stack_Series_Id := p_Stack_Series_Id;
601: l_Anal_Opt_Rec.Bsc_Dataset_Series_Color := Get_Series_Color (p_Color_Values, FND_API.G_TRUE);
602: l_Anal_Opt_Rec.Bsc_Dataset_Bm_Color := Get_Series_Color (p_Color_Values, FND_API.G_TRUE);
603:
604: BSC_ANALYSIS_OPTION_PUB.Create_Analysis_Measures(
605: p_commit => FND_API.G_FALSE
598: l_Anal_Opt_Rec.Bsc_Measure_Long_Name := p_Series_Name;
599: l_Anal_Opt_Rec.Bsc_Measure_Help := p_Series_Help;
600: l_Anal_Opt_Rec.Bsc_Dataset_Stack_Series_Id := p_Stack_Series_Id;
601: l_Anal_Opt_Rec.Bsc_Dataset_Series_Color := Get_Series_Color (p_Color_Values, FND_API.G_TRUE);
602: l_Anal_Opt_Rec.Bsc_Dataset_Bm_Color := Get_Series_Color (p_Color_Values, FND_API.G_TRUE);
603:
604: BSC_ANALYSIS_OPTION_PUB.Create_Analysis_Measures(
605: p_commit => FND_API.G_FALSE
606: ,p_Anal_Opt_Rec => l_Anal_Opt_Rec
601: l_Anal_Opt_Rec.Bsc_Dataset_Series_Color := Get_Series_Color (p_Color_Values, FND_API.G_TRUE);
602: l_Anal_Opt_Rec.Bsc_Dataset_Bm_Color := Get_Series_Color (p_Color_Values, FND_API.G_TRUE);
603:
604: BSC_ANALYSIS_OPTION_PUB.Create_Analysis_Measures(
605: p_commit => FND_API.G_FALSE
606: ,p_Anal_Opt_Rec => l_Anal_Opt_Rec
607: ,x_return_status => x_return_status
608: ,x_msg_count => x_msg_count
609: ,x_msg_data => x_msg_data
607: ,x_return_status => x_return_status
608: ,x_msg_count => x_msg_count
609: ,x_msg_data => x_msg_data
610: );
611: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
612: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
613: END IF;
614:
615:
608: ,x_msg_count => x_msg_count
609: ,x_msg_data => x_msg_data
610: );
611: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
612: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
613: END IF;
614:
615:
616: --Populate bsc_kpi_series_colors table
616: --Populate bsc_kpi_series_colors table
617: IF p_Color_Values IS NOT NULL THEN
618: --Populate bsc_kpi_series_colors table
619: Populate_Kpi_Series_Colors (
620: p_commit => FND_API.G_FALSE
621: ,p_Anal_Opt_Rec => l_Anal_Opt_Rec
622: ,p_Color_Values => p_Color_Values
623: ,x_return_status => x_return_status
624: ,x_msg_count => x_msg_count
623: ,x_return_status => x_return_status
624: ,x_msg_count => x_msg_count
625: ,x_msg_data => x_msg_data
626: );
627: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
628: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
629: END IF;
630: END IF;
631:
624: ,x_msg_count => x_msg_count
625: ,x_msg_data => x_msg_data
626: );
627: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
628: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
629: END IF;
630: END IF;
631:
632: Check_Color_Props(
629: END IF;
630: END IF;
631:
632: Check_Color_Props(
633: p_commit => FND_API.G_FALSE
634: ,p_Indicator => p_Indicator
635: ,p_Analysis_Option0 => p_Analysis_Option0
636: ,p_Analysis_Option1 => p_Analysis_Option1
637: ,p_Analysis_Option2 => p_Analysis_Option2
642: ,x_return_status => x_return_status
643: ,x_msg_count => x_msg_count
644: ,x_msg_data => x_msg_data
645: );
646: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
647: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
648: END IF;
649:
650: FOR cd in c_shared_objs LOOP
643: ,x_msg_count => x_msg_count
644: ,x_msg_data => x_msg_data
645: );
646: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
647: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
648: END IF;
649:
650: FOR cd in c_shared_objs LOOP
651: l_Anal_Opt_Rec.Bsc_Kpi_Id := cd.indicator;
649:
650: FOR cd in c_shared_objs LOOP
651: l_Anal_Opt_Rec.Bsc_Kpi_Id := cd.indicator;
652: BSC_ANALYSIS_OPTION_PUB.Create_Analysis_Measures(
653: p_commit => FND_API.G_FALSE
654: ,p_Anal_Opt_Rec => l_Anal_Opt_Rec
655: ,x_return_status => x_return_status
656: ,x_msg_count => x_msg_count
657: ,x_msg_data => x_msg_data
655: ,x_return_status => x_return_status
656: ,x_msg_count => x_msg_count
657: ,x_msg_data => x_msg_data
658: );
659: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
660: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
661: END IF;
662: --Populate bsc_kpi_series_colors table
663: IF p_Color_Values IS NOT NULL THEN
656: ,x_msg_count => x_msg_count
657: ,x_msg_data => x_msg_data
658: );
659: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
660: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
661: END IF;
662: --Populate bsc_kpi_series_colors table
663: IF p_Color_Values IS NOT NULL THEN
664: --Populate bsc_kpi_series_colors table
662: --Populate bsc_kpi_series_colors table
663: IF p_Color_Values IS NOT NULL THEN
664: --Populate bsc_kpi_series_colors table
665: Populate_Kpi_Series_Colors (
666: p_commit => FND_API.G_FALSE
667: ,p_Anal_Opt_Rec => l_Anal_Opt_Rec
668: ,p_Color_Values => p_Color_Values
669: ,x_return_status => x_return_status
670: ,x_msg_count => x_msg_count
669: ,x_return_status => x_return_status
670: ,x_msg_count => x_msg_count
671: ,x_msg_data => x_msg_data
672: );
673: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
674: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
675: END IF;
676: END IF;
677:
670: ,x_msg_count => x_msg_count
671: ,x_msg_data => x_msg_data
672: );
673: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
674: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
675: END IF;
676: END IF;
677:
678: Check_Color_Props(
675: END IF;
676: END IF;
677:
678: Check_Color_Props(
679: p_commit => FND_API.G_FALSE
680: ,p_Indicator => cd.indicator
681: ,p_Analysis_Option0 => p_Analysis_Option0
682: ,p_Analysis_Option1 => p_Analysis_Option1
683: ,p_Analysis_Option2 => p_Analysis_Option2
688: ,x_return_status => x_return_status
689: ,x_msg_count => x_msg_count
690: ,x_msg_data => x_msg_data
691: );
692: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
693: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
694: END IF;
695: END LOOP;
696:
689: ,x_msg_count => x_msg_count
690: ,x_msg_data => x_msg_data
691: );
692: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
693: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
694: END IF;
695: END LOOP;
696:
697: Save_Default_Calculation(
694: END IF;
695: END LOOP;
696:
697: Save_Default_Calculation(
698: p_commit => FND_API.G_FALSE
699: ,p_Indicator => p_Indicator
700: ,p_Analysis_Option0 => p_Analysis_Option0
701: ,p_Analysis_Option1 => p_Analysis_Option1
702: ,p_Analysis_Option2 => p_Analysis_Option2
705: ,x_return_status => x_return_status
706: ,x_msg_count => x_msg_count
707: ,x_msg_data => x_msg_data
708: );
709: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
710: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
711: END IF;
712:
713:
706: ,x_msg_count => x_msg_count
707: ,x_msg_data => x_msg_data
708: );
709: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
710: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
711: END IF;
712:
713:
714: IF (p_commit = FND_API.G_TRUE) THEN
710: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
711: END IF;
712:
713:
714: IF (p_commit = FND_API.G_TRUE) THEN
715: COMMIT;
716: END IF;
717:
718: EXCEPTION
715: COMMIT;
716: END IF;
717:
718: EXCEPTION
719: WHEN FND_API.G_EXC_ERROR THEN
720: IF (x_msg_data IS NULL) THEN
721: FND_MSG_PUB.Count_And_Get
722: ( p_encoded => FND_API.G_FALSE
723: , p_count => x_msg_count
718: EXCEPTION
719: WHEN FND_API.G_EXC_ERROR THEN
720: IF (x_msg_data IS NULL) THEN
721: FND_MSG_PUB.Count_And_Get
722: ( p_encoded => FND_API.G_FALSE
723: , p_count => x_msg_count
724: , p_data => x_msg_data
725: );
726: END IF;
723: , p_count => x_msg_count
724: , p_data => x_msg_data
725: );
726: END IF;
727: x_return_status := FND_API.G_RET_STS_ERROR;
728: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
729: IF (x_msg_data IS NULL) THEN
730: FND_MSG_PUB.Count_And_Get
731: ( p_encoded => FND_API.G_FALSE
724: , p_data => x_msg_data
725: );
726: END IF;
727: x_return_status := FND_API.G_RET_STS_ERROR;
728: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
729: IF (x_msg_data IS NULL) THEN
730: FND_MSG_PUB.Count_And_Get
731: ( p_encoded => FND_API.G_FALSE
732: , p_count => x_msg_count
727: x_return_status := FND_API.G_RET_STS_ERROR;
728: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
729: IF (x_msg_data IS NULL) THEN
730: FND_MSG_PUB.Count_And_Get
731: ( p_encoded => FND_API.G_FALSE
732: , p_count => x_msg_count
733: , p_data => x_msg_data
734: );
735: END IF;
732: , p_count => x_msg_count
733: , p_data => x_msg_data
734: );
735: END IF;
736: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
737: WHEN NO_DATA_FOUND THEN
738: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
739: IF (x_msg_data IS NOT NULL) THEN
740: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Create_Analysis_Measure_UI ';
734: );
735: END IF;
736: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
737: WHEN NO_DATA_FOUND THEN
738: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
739: IF (x_msg_data IS NOT NULL) THEN
740: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Create_Analysis_Measure_UI ';
741: ELSE
742: x_msg_data := SQLERRM||'BSC_KPI_SERIES_PUB.Create_Analysis_Measure_UI ';
741: ELSE
742: x_msg_data := SQLERRM||'BSC_KPI_SERIES_PUB.Create_Analysis_Measure_UI ';
743: END IF;
744: WHEN OTHERS THEN
745: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
746: IF (x_msg_data IS NOT NULL) THEN
747: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Create_Analysis_Measure_UI ';
748: ELSE
749: x_msg_data := SQLERRM||' at BSC_KPI_SERIES_PUB.Create_Analysis_Measure_UI ';
760: -- 2. Updates the series color properties
761: -- 3. Also checks for the color enable/disable properties
762: ************************************************************************************/
763: PROCEDURE Update_Analysis_Measure_UI(
764: p_commit IN VARCHAR2 := FND_API.G_FALSE
765: ,p_Indicator IN NUMBER
766: ,p_Analysis_Option0 IN NUMBER
767: ,p_Analysis_Option1 IN NUMBER
768: ,p_Analysis_Option2 IN NUMBER
801: prototype_flag <> 2 AND
802: share_flag = 2;
803:
804: BEGIN
805: x_return_status := FND_API.G_RET_STS_SUCCESS;
806:
807: IF p_Indicator IS NOT NULL THEN
808: l_Count := BSC_DIMENSION_LEVELS_PVT.Validate_Value( 'BSC_KPIS_B'
809: ,'indicator'
811: IF l_Count = 0 THEN
812: FND_MESSAGE.SET_NAME('BSC','BSC_INVALID_KPI_ID');
813: FND_MESSAGE.SET_TOKEN('BSC_KPI', p_Indicator);
814: FND_MSG_PUB.ADD;
815: RAISE FND_API.G_EXC_ERROR;
816: END IF;
817: ELSE
818: FND_MESSAGE.SET_NAME('BSC','BSC_NO_KPI_ID_ENTERED');
819: FND_MESSAGE.SET_TOKEN('BSC_KPI', p_Indicator);
817: ELSE
818: FND_MESSAGE.SET_NAME('BSC','BSC_NO_KPI_ID_ENTERED');
819: FND_MESSAGE.SET_TOKEN('BSC_KPI', p_Indicator);
820: FND_MSG_PUB.ADD;
821: RAISE FND_API.G_EXC_ERROR;
822: END IF;
823: BSC_BIS_LOCKS_PUB.LOCK_KPI
824: ( p_Kpi_Id => p_Indicator
825: , p_time_stamp => p_time_stamp
827: , x_return_status => x_return_status
828: , x_msg_count => x_msg_count
829: , x_msg_data => x_msg_data
830: );
831: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
832: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
833: END IF;
834:
835: l_Measure_Source := bsc_Oaf_Views_Pvt.Get_Dataset_Source(x_Dataset_Id => p_DataSet_Id);
828: , x_msg_count => x_msg_count
829: , x_msg_data => x_msg_data
830: );
831: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
832: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
833: END IF;
834:
835: l_Measure_Source := bsc_Oaf_Views_Pvt.Get_Dataset_Source(x_Dataset_Id => p_DataSet_Id);
836: l_old_default_kpi := BSC_COLOR_CALC_UTIL.Get_Default_Kpi_Measure_Id(p_Indicator);
859: analysis_group_id = 0 AND
860: option_id = p_Analysis_Option0;
861:
862: BSC_BIS_KPI_MEAS_PUB.Update_KPI_Analysis_Options -- This will cascade to the shared
863: ( p_commit => FND_API.G_FALSE
864: , p_kpi_id => p_Indicator
865: , p_data_source => l_Measure_Source
866: , p_analysis_group_id => 0
867: , p_analysis_option_id0 => p_Analysis_Option0
885: , x_return_status => x_return_status
886: , x_msg_count => x_msg_count
887: , x_msg_data => x_msg_data
888: );
889: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
890: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
891: END IF;
892: ELSE
893: l_Anal_Opt_Rec.Bsc_Kpi_Id := p_Indicator;
886: , x_msg_count => x_msg_count
887: , x_msg_data => x_msg_data
888: );
889: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
890: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
891: END IF;
892: ELSE
893: l_Anal_Opt_Rec.Bsc_Kpi_Id := p_Indicator;
894: l_Anal_Opt_Rec.Bsc_Option_Group0 := p_Analysis_Option0;
903: l_Anal_Opt_Rec.Bsc_Dataset_Default_Value := p_Default_Flag;
904: l_Anal_Opt_Rec.Bsc_Measure_Long_Name := p_Series_Name;
905: l_Anal_Opt_Rec.Bsc_Measure_Help := p_Series_Help;
906: l_Anal_Opt_Rec.Bsc_Dataset_Stack_Series_Id := p_Stack_Series_Id;
907: l_Anal_Opt_Rec.Bsc_Change_Action_Flag := FND_API.G_FALSE;
908:
909: BSC_ANALYSIS_OPTION_PUB.Update_Analysis_Measures(
910: p_commit => FND_API.G_FALSE
911: ,p_Anal_Opt_Rec => l_Anal_Opt_Rec
906: l_Anal_Opt_Rec.Bsc_Dataset_Stack_Series_Id := p_Stack_Series_Id;
907: l_Anal_Opt_Rec.Bsc_Change_Action_Flag := FND_API.G_FALSE;
908:
909: BSC_ANALYSIS_OPTION_PUB.Update_Analysis_Measures(
910: p_commit => FND_API.G_FALSE
911: ,p_Anal_Opt_Rec => l_Anal_Opt_Rec
912: ,x_return_status => x_return_status
913: ,x_msg_count => x_msg_count
914: ,x_msg_data => x_msg_data
912: ,x_return_status => x_return_status
913: ,x_msg_count => x_msg_count
914: ,x_msg_data => x_msg_data
915: );
916: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
917: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
918: END IF;
919:
920:
913: ,x_msg_count => x_msg_count
914: ,x_msg_data => x_msg_data
915: );
916: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
917: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
918: END IF;
919:
920:
921: IF p_Color_Values IS NOT NULL THEN
920:
921: IF p_Color_Values IS NOT NULL THEN
922: --Populate bsc_kpi_series_colors table
923: Populate_Kpi_Series_Colors (
924: p_commit => FND_API.G_FALSE
925: ,p_Anal_Opt_Rec => l_Anal_Opt_Rec
926: ,p_Color_Values => p_Color_Values
927: ,x_return_status => x_return_status
928: ,x_msg_count => x_msg_count
927: ,x_return_status => x_return_status
928: ,x_msg_count => x_msg_count
929: ,x_msg_data => x_msg_data
930: );
931: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
932: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
933: END IF;
934: END IF;
935:
928: ,x_msg_count => x_msg_count
929: ,x_msg_data => x_msg_data
930: );
931: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
932: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
933: END IF;
934: END IF;
935:
936: FOR cd in c_shared_objs LOOP
935:
936: FOR cd in c_shared_objs LOOP
937: l_Anal_Opt_Rec.Bsc_Kpi_Id := cd.indicator;
938: BSC_ANALYSIS_OPTION_PUB.Update_Analysis_Measures(
939: p_commit => FND_API.G_FALSE
940: ,p_Anal_Opt_Rec => l_Anal_Opt_Rec
941: ,x_return_status => x_return_status
942: ,x_msg_count => x_msg_count
943: ,x_msg_data => x_msg_data
941: ,x_return_status => x_return_status
942: ,x_msg_count => x_msg_count
943: ,x_msg_data => x_msg_data
944: );
945: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
946: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
947: END IF;
948:
949: IF p_Color_Values IS NOT NULL THEN
942: ,x_msg_count => x_msg_count
943: ,x_msg_data => x_msg_data
944: );
945: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
946: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
947: END IF;
948:
949: IF p_Color_Values IS NOT NULL THEN
950: --Populate bsc_kpi_series_colors table
948:
949: IF p_Color_Values IS NOT NULL THEN
950: --Populate bsc_kpi_series_colors table
951: Populate_Kpi_Series_Colors (
952: p_commit => FND_API.G_FALSE
953: ,p_Anal_Opt_Rec => l_Anal_Opt_Rec
954: ,p_Color_Values => p_Color_Values
955: ,x_return_status => x_return_status
956: ,x_msg_count => x_msg_count
955: ,x_return_status => x_return_status
956: ,x_msg_count => x_msg_count
957: ,x_msg_data => x_msg_data
958: );
959: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
960: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
961: END IF;
962: END IF;
963: END LOOP;
956: ,x_msg_count => x_msg_count
957: ,x_msg_data => x_msg_data
958: );
959: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
960: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
961: END IF;
962: END IF;
963: END LOOP;
964: END IF;
963: END LOOP;
964: END IF;
965:
966: Save_Default_Calculation(
967: p_commit => FND_API.G_FALSE
968: ,p_Indicator => p_Indicator
969: ,p_Analysis_Option0 => p_Analysis_Option0
970: ,p_Analysis_Option1 => p_Analysis_Option1
971: ,p_Analysis_Option2 => p_Analysis_Option2
974: ,x_return_status => x_return_status
975: ,x_msg_count => x_msg_count
976: ,x_msg_data => x_msg_data
977: );
978: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
979: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
980: END IF;
981:
982: -- This API should be called for both BIS and non-BIS type measures
975: ,x_msg_count => x_msg_count
976: ,x_msg_data => x_msg_data
977: );
978: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
979: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
980: END IF;
981:
982: -- This API should be called for both BIS and non-BIS type measures
983: Check_Color_Props(
980: END IF;
981:
982: -- This API should be called for both BIS and non-BIS type measures
983: Check_Color_Props(
984: p_commit => FND_API.G_FALSE
985: ,p_Indicator => p_Indicator
986: ,p_Analysis_Option0 => p_Analysis_Option0
987: ,p_Analysis_Option1 => p_Analysis_Option1
988: ,p_Analysis_Option2 => p_Analysis_Option2
993: ,x_return_status => x_return_status
994: ,x_msg_count => x_msg_count
995: ,x_msg_data => x_msg_data
996: );
997: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
998: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
999: END IF;
1000:
1001: FOR cd in c_shared_objs LOOP
994: ,x_msg_count => x_msg_count
995: ,x_msg_data => x_msg_data
996: );
997: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
998: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
999: END IF;
1000:
1001: FOR cd in c_shared_objs LOOP
1002: Check_Color_Props(
999: END IF;
1000:
1001: FOR cd in c_shared_objs LOOP
1002: Check_Color_Props(
1003: p_commit => FND_API.G_FALSE
1004: ,p_Indicator => cd.indicator
1005: ,p_Analysis_Option0 => p_Analysis_Option0
1006: ,p_Analysis_Option1 => p_Analysis_Option1
1007: ,p_Analysis_Option2 => p_Analysis_Option2
1012: ,x_return_status => x_return_status
1013: ,x_msg_count => x_msg_count
1014: ,x_msg_data => x_msg_data
1015: );
1016: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1017: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1018: END IF;
1019: END LOOP;
1020:
1013: ,x_msg_count => x_msg_count
1014: ,x_msg_data => x_msg_data
1015: );
1016: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1017: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1018: END IF;
1019: END LOOP;
1020:
1021: IF (p_commit = FND_API.G_TRUE) THEN
1017: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1018: END IF;
1019: END LOOP;
1020:
1021: IF (p_commit = FND_API.G_TRUE) THEN
1022: COMMIT;
1023: END IF;
1024:
1025: EXCEPTION
1022: COMMIT;
1023: END IF;
1024:
1025: EXCEPTION
1026: WHEN FND_API.G_EXC_ERROR THEN
1027: IF (x_msg_data IS NULL) THEN
1028: FND_MSG_PUB.Count_And_Get
1029: ( p_encoded => FND_API.G_FALSE
1030: , p_count => x_msg_count
1025: EXCEPTION
1026: WHEN FND_API.G_EXC_ERROR THEN
1027: IF (x_msg_data IS NULL) THEN
1028: FND_MSG_PUB.Count_And_Get
1029: ( p_encoded => FND_API.G_FALSE
1030: , p_count => x_msg_count
1031: , p_data => x_msg_data
1032: );
1033: END IF;
1030: , p_count => x_msg_count
1031: , p_data => x_msg_data
1032: );
1033: END IF;
1034: x_return_status := FND_API.G_RET_STS_ERROR;
1035: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1036: IF (x_msg_data IS NULL) THEN
1037: FND_MSG_PUB.Count_And_Get
1038: ( p_encoded => FND_API.G_FALSE
1031: , p_data => x_msg_data
1032: );
1033: END IF;
1034: x_return_status := FND_API.G_RET_STS_ERROR;
1035: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1036: IF (x_msg_data IS NULL) THEN
1037: FND_MSG_PUB.Count_And_Get
1038: ( p_encoded => FND_API.G_FALSE
1039: , p_count => x_msg_count
1034: x_return_status := FND_API.G_RET_STS_ERROR;
1035: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1036: IF (x_msg_data IS NULL) THEN
1037: FND_MSG_PUB.Count_And_Get
1038: ( p_encoded => FND_API.G_FALSE
1039: , p_count => x_msg_count
1040: , p_data => x_msg_data
1041: );
1042: END IF;
1039: , p_count => x_msg_count
1040: , p_data => x_msg_data
1041: );
1042: END IF;
1043: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1044: WHEN NO_DATA_FOUND THEN
1045: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1046: IF (x_msg_data IS NOT NULL) THEN
1047: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Update_Analysis_Measure_UI ';
1041: );
1042: END IF;
1043: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1044: WHEN NO_DATA_FOUND THEN
1045: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1046: IF (x_msg_data IS NOT NULL) THEN
1047: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Update_Analysis_Measure_UI ';
1048: ELSE
1049: x_msg_data := SQLERRM||'BSC_KPI_SERIES_PUB.Update_Analysis_Measure_UI ';
1048: ELSE
1049: x_msg_data := SQLERRM||'BSC_KPI_SERIES_PUB.Update_Analysis_Measure_UI ';
1050: END IF;
1051: WHEN OTHERS THEN
1052: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1053: IF (x_msg_data IS NOT NULL) THEN
1054: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Update_Analysis_Measure_UI ';
1055: ELSE
1056: x_msg_data := SQLERRM||' at BSC_KPI_SERIES_PUB.Update_Analysis_Measure_UI ';
1064: -- 1. Deltes the entries from bsc_kpi_analysis_measures tables
1065: -- 2. Deletes the series color properties
1066: ************************************************************************************/
1067: PROCEDURE Delete_Analysis_Measure_UI(
1068: p_commit IN VARCHAR2 := FND_API.G_FALSE
1069: ,p_Indicator IN NUMBER
1070: ,p_Analysis_Option0 IN NUMBER
1071: ,p_Analysis_Option1 IN NUMBER
1072: ,p_Analysis_Option2 IN NUMBER
1092: source_indicator = p_Indicator AND
1093: prototype_flag <> 2 AND
1094: share_flag = 2;
1095: BEGIN
1096: x_return_status := FND_API.G_RET_STS_SUCCESS;
1097:
1098: IF p_Indicator IS NOT NULL THEN
1099: l_Count := BSC_DIMENSION_LEVELS_PVT.Validate_Value( 'BSC_KPIS_B'
1100: ,'indicator'
1102: IF l_Count = 0 THEN
1103: FND_MESSAGE.SET_NAME('BSC','BSC_INVALID_KPI_ID');
1104: FND_MESSAGE.SET_TOKEN('BSC_KPI', p_Indicator);
1105: FND_MSG_PUB.ADD;
1106: RAISE FND_API.G_EXC_ERROR;
1107: END IF;
1108: ELSE
1109: FND_MESSAGE.SET_NAME('BSC','BSC_NO_KPI_ID_ENTERED');
1110: FND_MESSAGE.SET_TOKEN('BSC_KPI', p_Indicator);
1108: ELSE
1109: FND_MESSAGE.SET_NAME('BSC','BSC_NO_KPI_ID_ENTERED');
1110: FND_MESSAGE.SET_TOKEN('BSC_KPI', p_Indicator);
1111: FND_MSG_PUB.ADD;
1112: RAISE FND_API.G_EXC_ERROR;
1113: END IF;
1114: BSC_BIS_LOCKS_PUB.LOCK_KPI
1115: ( p_Kpi_Id => p_Indicator
1116: , p_time_stamp => p_time_stamp
1118: , x_return_status => x_return_status
1119: , x_msg_count => x_msg_count
1120: , x_msg_data => x_msg_data
1121: );
1122: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1123: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1124: END IF;
1125:
1126: SELECT
1119: , x_msg_count => x_msg_count
1120: , x_msg_data => x_msg_data
1121: );
1122: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1123: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1124: END IF;
1125:
1126: SELECT
1127: kpi_measure_id
1147: l_Reset_Default := TRUE;
1148: END IF;
1149:
1150: BSC_ANALYSIS_OPTION_PUB.Delete_Analysis_Measures(
1151: p_commit => FND_API.G_FALSE
1152: ,p_Anal_Opt_Rec => l_Anal_Opt_Rec
1153: ,x_return_status => x_return_status
1154: ,x_msg_count => x_msg_count
1155: ,x_msg_data => x_msg_data
1153: ,x_return_status => x_return_status
1154: ,x_msg_count => x_msg_count
1155: ,x_msg_data => x_msg_data
1156: );
1157: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1158: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1159: END IF;
1160:
1161: Delete_Kpi_Series_Colors(
1154: ,x_msg_count => x_msg_count
1155: ,x_msg_data => x_msg_data
1156: );
1157: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1158: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1159: END IF;
1160:
1161: Delete_Kpi_Series_Colors(
1162: p_commit => FND_API.G_FALSE
1158: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1159: END IF;
1160:
1161: Delete_Kpi_Series_Colors(
1162: p_commit => FND_API.G_FALSE
1163: ,p_Anal_Opt_Rec => l_Anal_Opt_Rec
1164: ,x_return_status => x_return_status
1165: ,x_msg_count => x_msg_count
1166: ,x_msg_data => x_msg_data
1164: ,x_return_status => x_return_status
1165: ,x_msg_count => x_msg_count
1166: ,x_msg_data => x_msg_data
1167: );
1168: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1169: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1170: END IF;
1171:
1172: IF l_Reset_Default THEN
1165: ,x_msg_count => x_msg_count
1166: ,x_msg_data => x_msg_data
1167: );
1168: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1169: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1170: END IF;
1171:
1172: IF l_Reset_Default THEN
1173: Check_Series_Default_Props (
1170: END IF;
1171:
1172: IF l_Reset_Default THEN
1173: Check_Series_Default_Props (
1174: p_commit => FND_API.G_FALSE
1175: ,p_Indicator => p_Indicator
1176: ,x_return_status => x_return_status
1177: ,x_msg_count => x_msg_count
1178: ,x_msg_data => x_msg_data
1176: ,x_return_status => x_return_status
1177: ,x_msg_count => x_msg_count
1178: ,x_msg_data => x_msg_data
1179: );
1180: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1181: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1182: END IF;
1183: END IF;
1184:
1177: ,x_msg_count => x_msg_count
1178: ,x_msg_data => x_msg_data
1179: );
1180: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1181: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1182: END IF;
1183: END IF;
1184:
1185: FOR cd in c_shared_objs LOOP
1184:
1185: FOR cd in c_shared_objs LOOP
1186: l_Anal_Opt_Rec.Bsc_Kpi_Id := cd.indicator;
1187: BSC_ANALYSIS_OPTION_PUB.Delete_Analysis_Measures(
1188: p_commit => FND_API.G_FALSE
1189: ,p_Anal_Opt_Rec => l_Anal_Opt_Rec
1190: ,x_return_status => x_return_status
1191: ,x_msg_count => x_msg_count
1192: ,x_msg_data => x_msg_data
1190: ,x_return_status => x_return_status
1191: ,x_msg_count => x_msg_count
1192: ,x_msg_data => x_msg_data
1193: );
1194: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1195: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1196: END IF;
1197:
1198: Delete_Kpi_Series_Colors(
1191: ,x_msg_count => x_msg_count
1192: ,x_msg_data => x_msg_data
1193: );
1194: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1195: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1196: END IF;
1197:
1198: Delete_Kpi_Series_Colors(
1199: p_commit => FND_API.G_FALSE
1195: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1196: END IF;
1197:
1198: Delete_Kpi_Series_Colors(
1199: p_commit => FND_API.G_FALSE
1200: ,p_Anal_Opt_Rec => l_Anal_Opt_Rec
1201: ,x_return_status => x_return_status
1202: ,x_msg_count => x_msg_count
1203: ,x_msg_data => x_msg_data
1201: ,x_return_status => x_return_status
1202: ,x_msg_count => x_msg_count
1203: ,x_msg_data => x_msg_data
1204: );
1205: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1206: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1207: END IF;
1208:
1209: IF l_Reset_Default THEN
1202: ,x_msg_count => x_msg_count
1203: ,x_msg_data => x_msg_data
1204: );
1205: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1206: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1207: END IF;
1208:
1209: IF l_Reset_Default THEN
1210: Check_Series_Default_Props (
1207: END IF;
1208:
1209: IF l_Reset_Default THEN
1210: Check_Series_Default_Props (
1211: p_commit => FND_API.G_FALSE
1212: ,p_Indicator => cd.Indicator
1213: ,x_return_status => x_return_status
1214: ,x_msg_count => x_msg_count
1215: ,x_msg_data => x_msg_data
1213: ,x_return_status => x_return_status
1214: ,x_msg_count => x_msg_count
1215: ,x_msg_data => x_msg_data
1216: );
1217: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1218: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1219: END IF;
1220: END IF;
1221:
1214: ,x_msg_count => x_msg_count
1215: ,x_msg_data => x_msg_data
1216: );
1217: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1218: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1219: END IF;
1220: END IF;
1221:
1222: END LOOP;
1220: END IF;
1221:
1222: END LOOP;
1223:
1224: IF (p_commit = FND_API.G_TRUE) THEN
1225: COMMIT;
1226: END IF;
1227:
1228: EXCEPTION
1225: COMMIT;
1226: END IF;
1227:
1228: EXCEPTION
1229: WHEN FND_API.G_EXC_ERROR THEN
1230: IF (x_msg_data IS NULL) THEN
1231: FND_MSG_PUB.Count_And_Get
1232: ( p_encoded => FND_API.G_FALSE
1233: , p_count => x_msg_count
1228: EXCEPTION
1229: WHEN FND_API.G_EXC_ERROR THEN
1230: IF (x_msg_data IS NULL) THEN
1231: FND_MSG_PUB.Count_And_Get
1232: ( p_encoded => FND_API.G_FALSE
1233: , p_count => x_msg_count
1234: , p_data => x_msg_data
1235: );
1236: END IF;
1233: , p_count => x_msg_count
1234: , p_data => x_msg_data
1235: );
1236: END IF;
1237: x_return_status := FND_API.G_RET_STS_ERROR;
1238: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1239: IF (x_msg_data IS NULL) THEN
1240: FND_MSG_PUB.Count_And_Get
1241: ( p_encoded => FND_API.G_FALSE
1234: , p_data => x_msg_data
1235: );
1236: END IF;
1237: x_return_status := FND_API.G_RET_STS_ERROR;
1238: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1239: IF (x_msg_data IS NULL) THEN
1240: FND_MSG_PUB.Count_And_Get
1241: ( p_encoded => FND_API.G_FALSE
1242: , p_count => x_msg_count
1237: x_return_status := FND_API.G_RET_STS_ERROR;
1238: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1239: IF (x_msg_data IS NULL) THEN
1240: FND_MSG_PUB.Count_And_Get
1241: ( p_encoded => FND_API.G_FALSE
1242: , p_count => x_msg_count
1243: , p_data => x_msg_data
1244: );
1245: END IF;
1242: , p_count => x_msg_count
1243: , p_data => x_msg_data
1244: );
1245: END IF;
1246: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1247: WHEN NO_DATA_FOUND THEN
1248: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1249: IF (x_msg_data IS NOT NULL) THEN
1250: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Delete_Analysis_Measure_UI ';
1244: );
1245: END IF;
1246: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1247: WHEN NO_DATA_FOUND THEN
1248: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1249: IF (x_msg_data IS NOT NULL) THEN
1250: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Delete_Analysis_Measure_UI ';
1251: ELSE
1252: x_msg_data := SQLERRM||'BSC_KPI_SERIES_PUB.Delete_Analysis_Measure_UI ';
1251: ELSE
1252: x_msg_data := SQLERRM||'BSC_KPI_SERIES_PUB.Delete_Analysis_Measure_UI ';
1253: END IF;
1254: WHEN OTHERS THEN
1255: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1256: IF (x_msg_data IS NOT NULL) THEN
1257: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Delete_Analysis_Measure_UI ';
1258: ELSE
1259: x_msg_data := SQLERRM||' at BSC_KPI_SERIES_PUB.Delete_Analysis_Measure_UI ';
1268: -- p_Color_Values
1269: ************************************************************************************/
1270:
1271: PROCEDURE Populate_Kpi_Series_Colors(
1272: p_commit IN VARCHAR2 := FND_API.G_FALSE
1273: ,p_Anal_Opt_Rec IN BSC_ANALYSIS_OPTION_PUB.Bsc_Option_Rec_Type
1274: ,p_Color_Values IN FND_TABLE_OF_NUMBER
1275: ,x_return_status OUT NOCOPY VARCHAR2
1276: ,x_msg_count OUT NOCOPY NUMBER
1282: BEGIN
1283:
1284: SAVEPOINT Pop_Kpi_Series_PUB;
1285: FND_MSG_PUB.Initialize;
1286: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
1287:
1288: DELETE FROM bsc_kpi_series_colors
1289: WHERE indicator = p_Anal_Opt_Rec.Bsc_Kpi_Id AND
1290: analysis_option0 = p_Anal_Opt_Rec.Bsc_Option_Group0 AND
1315: i := i + 2;
1316: END LOOP;
1317:
1318:
1319: IF (p_commit = FND_API.G_TRUE) THEN
1320: COMMIT;
1321: END IF;
1322:
1323:
1321: END IF;
1322:
1323:
1324: EXCEPTION
1325: WHEN FND_API.G_EXC_ERROR THEN
1326: ROLLBACK TO Pop_Kpi_Series_PUB;
1327: IF (x_msg_data IS NULL) THEN
1328: FND_MSG_PUB.Count_And_Get
1329: ( p_encoded => FND_API.G_FALSE
1325: WHEN FND_API.G_EXC_ERROR THEN
1326: ROLLBACK TO Pop_Kpi_Series_PUB;
1327: IF (x_msg_data IS NULL) THEN
1328: FND_MSG_PUB.Count_And_Get
1329: ( p_encoded => FND_API.G_FALSE
1330: , p_count => x_msg_count
1331: , p_data => x_msg_data
1332: );
1333: END IF;
1330: , p_count => x_msg_count
1331: , p_data => x_msg_data
1332: );
1333: END IF;
1334: x_return_status := FND_API.G_RET_STS_ERROR;
1335: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1336: ROLLBACK TO Pop_Kpi_Series_PUB;
1337: IF (x_msg_data IS NULL) THEN
1338: FND_MSG_PUB.Count_And_Get
1331: , p_data => x_msg_data
1332: );
1333: END IF;
1334: x_return_status := FND_API.G_RET_STS_ERROR;
1335: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1336: ROLLBACK TO Pop_Kpi_Series_PUB;
1337: IF (x_msg_data IS NULL) THEN
1338: FND_MSG_PUB.Count_And_Get
1339: ( p_encoded => FND_API.G_FALSE
1335: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1336: ROLLBACK TO Pop_Kpi_Series_PUB;
1337: IF (x_msg_data IS NULL) THEN
1338: FND_MSG_PUB.Count_And_Get
1339: ( p_encoded => FND_API.G_FALSE
1340: , p_count => x_msg_count
1341: , p_data => x_msg_data
1342: );
1343: END IF;
1340: , p_count => x_msg_count
1341: , p_data => x_msg_data
1342: );
1343: END IF;
1344: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1345: WHEN NO_DATA_FOUND THEN
1346: ROLLBACK TO Pop_Kpi_Series_PUB;
1347: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1348: IF (x_msg_data IS NOT NULL) THEN
1343: END IF;
1344: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1345: WHEN NO_DATA_FOUND THEN
1346: ROLLBACK TO Pop_Kpi_Series_PUB;
1347: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1348: IF (x_msg_data IS NOT NULL) THEN
1349: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Populate_Kpi_Series_Colors ';
1350: ELSE
1351: x_msg_data := SQLERRM||'BSC_KPI_SERIES_PUB.Populate_Kpi_Series_Colors ';
1351: x_msg_data := SQLERRM||'BSC_KPI_SERIES_PUB.Populate_Kpi_Series_Colors ';
1352: END IF;
1353: WHEN OTHERS THEN
1354: ROLLBACK TO Pop_Kpi_Series_PUB;
1355: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1356: IF (x_msg_data IS NOT NULL) THEN
1357: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Populate_Kpi_Series_Colors ';
1358: ELSE
1359: x_msg_data := SQLERRM||' at BSC_KPI_SERIES_PUB.Populate_Kpi_Series_Colors ';
1367: -- Deletes the entries from bsc_kpi_series_colors
1368: ************************************************************************************/
1369:
1370: PROCEDURE Delete_Kpi_Series_Colors(
1371: p_commit IN VARCHAR2 := FND_API.G_FALSE
1372: ,p_Anal_Opt_Rec IN BSC_ANALYSIS_OPTION_PUB.Bsc_Option_Rec_Type
1373: ,x_return_status OUT NOCOPY VARCHAR2
1374: ,x_msg_count OUT NOCOPY NUMBER
1375: ,x_msg_data OUT NOCOPY VARCHAR2
1377: BEGIN
1378:
1379: SAVEPOINT Delete_Kpi_SeriesColor_PUB;
1380: FND_MSG_PUB.Initialize;
1381: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
1382:
1383: DELETE FROM bsc_kpi_series_colors
1384: WHERE indicator = p_Anal_Opt_Rec.Bsc_Kpi_Id AND
1385: analysis_option0 = p_Anal_Opt_Rec.Bsc_Option_Group0 AND
1386: analysis_option1 = p_Anal_Opt_Rec.Bsc_Option_Group1 AND
1387: analysis_option2 = p_Anal_Opt_Rec.Bsc_Option_Group2 AND
1388: series_id = p_Anal_Opt_Rec.Bsc_Dataset_Series_Id;
1389:
1390: IF (p_commit = FND_API.G_TRUE) THEN
1391: COMMIT;
1392: END IF;
1393:
1394:
1392: END IF;
1393:
1394:
1395: EXCEPTION
1396: WHEN FND_API.G_EXC_ERROR THEN
1397: ROLLBACK TO Delete_Kpi_SeriesColor_PUB;
1398: IF (x_msg_data IS NULL) THEN
1399: FND_MSG_PUB.Count_And_Get
1400: ( p_encoded => FND_API.G_FALSE
1396: WHEN FND_API.G_EXC_ERROR THEN
1397: ROLLBACK TO Delete_Kpi_SeriesColor_PUB;
1398: IF (x_msg_data IS NULL) THEN
1399: FND_MSG_PUB.Count_And_Get
1400: ( p_encoded => FND_API.G_FALSE
1401: , p_count => x_msg_count
1402: , p_data => x_msg_data
1403: );
1404: END IF;
1401: , p_count => x_msg_count
1402: , p_data => x_msg_data
1403: );
1404: END IF;
1405: x_return_status := FND_API.G_RET_STS_ERROR;
1406: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1407: ROLLBACK TO Delete_Kpi_SeriesColor_PUB;
1408: IF (x_msg_data IS NULL) THEN
1409: FND_MSG_PUB.Count_And_Get
1402: , p_data => x_msg_data
1403: );
1404: END IF;
1405: x_return_status := FND_API.G_RET_STS_ERROR;
1406: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1407: ROLLBACK TO Delete_Kpi_SeriesColor_PUB;
1408: IF (x_msg_data IS NULL) THEN
1409: FND_MSG_PUB.Count_And_Get
1410: ( p_encoded => FND_API.G_FALSE
1406: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1407: ROLLBACK TO Delete_Kpi_SeriesColor_PUB;
1408: IF (x_msg_data IS NULL) THEN
1409: FND_MSG_PUB.Count_And_Get
1410: ( p_encoded => FND_API.G_FALSE
1411: , p_count => x_msg_count
1412: , p_data => x_msg_data
1413: );
1414: END IF;
1411: , p_count => x_msg_count
1412: , p_data => x_msg_data
1413: );
1414: END IF;
1415: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1416: WHEN NO_DATA_FOUND THEN
1417: ROLLBACK TO Delete_Kpi_SeriesColor_PUB;
1418: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1419: IF (x_msg_data IS NOT NULL) THEN
1414: END IF;
1415: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1416: WHEN NO_DATA_FOUND THEN
1417: ROLLBACK TO Delete_Kpi_SeriesColor_PUB;
1418: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1419: IF (x_msg_data IS NOT NULL) THEN
1420: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Delete_Kpi_Series_Colors ';
1421: ELSE
1422: x_msg_data := SQLERRM||'BSC_KPI_SERIES_PUB.Delete_Kpi_Series_Colors ';
1422: x_msg_data := SQLERRM||'BSC_KPI_SERIES_PUB.Delete_Kpi_Series_Colors ';
1423: END IF;
1424: WHEN OTHERS THEN
1425: ROLLBACK TO Delete_Kpi_SeriesColor_PUB;
1426: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1427: IF (x_msg_data IS NOT NULL) THEN
1428: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Delete_Kpi_Series_Colors ';
1429: ELSE
1430: x_msg_data := SQLERRM||' at BSC_KPI_SERIES_PUB.Delete_Kpi_Series_Colors ';
1478: -- p_Delete_Mode - Set to 1 when a series is deleted from the HGridw
1479: ************************************************************************************/
1480:
1481: PROCEDURE Check_Series_Structure_Change (
1482: p_commit IN VARCHAR2 := FND_API.G_FALSE
1483: ,p_Indicator IN NUMBER
1484: ,p_Analysis_Option0 IN NUMBER
1485: ,p_Analysis_Option1 IN NUMBER
1486: ,p_Analysis_Option2 IN NUMBER
1700: IF l_Structure_Change THEN
1701: FND_MESSAGE.SET_NAME('BSC','BSC_PMD_KPI_STRUCT_INVALID');
1702: FND_MESSAGE.SET_TOKEN('INDICATORS', BSC_BIS_LOCKS_PVT.Get_Kpi_Name(p_Indicator));
1703: FND_MSG_PUB.ADD;
1704: RAISE FND_API.G_EXC_ERROR;
1705: END IF;
1706:
1707:
1708: EXCEPTION
1705: END IF;
1706:
1707:
1708: EXCEPTION
1709: WHEN FND_API.G_EXC_ERROR THEN
1710: IF (x_msg_data IS NULL) THEN
1711: FND_MSG_PUB.Count_And_Get
1712: ( p_encoded => FND_API.G_FALSE
1713: , p_count => x_msg_count
1708: EXCEPTION
1709: WHEN FND_API.G_EXC_ERROR THEN
1710: IF (x_msg_data IS NULL) THEN
1711: FND_MSG_PUB.Count_And_Get
1712: ( p_encoded => FND_API.G_FALSE
1713: , p_count => x_msg_count
1714: , p_data => x_msg_data
1715: );
1716: END IF;
1713: , p_count => x_msg_count
1714: , p_data => x_msg_data
1715: );
1716: END IF;
1717: x_return_status := FND_API.G_RET_STS_ERROR;
1718: WHEN OTHERS THEN
1719: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1720: IF (x_msg_data IS NOT NULL) THEN
1721: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Check_Series_Structure_Change ';
1715: );
1716: END IF;
1717: x_return_status := FND_API.G_RET_STS_ERROR;
1718: WHEN OTHERS THEN
1719: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1720: IF (x_msg_data IS NOT NULL) THEN
1721: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Check_Series_Structure_Change ';
1722: ELSE
1723: x_msg_data := SQLERRM||'BSC_KPI_SERIES_PUB.Check_Series_Structure_Change ';
1729: -- Type : Public
1730: ************************************************************************************/
1731:
1732: PROCEDURE Update_Kpi_Time_Stamp(
1733: p_commit IN varchar2 := FND_API.G_FALSE
1734: ,p_Indicator IN NUMBER
1735: ,x_return_status OUT NOCOPY varchar2
1736: ,x_msg_count OUT NOCOPY number
1737: ,x_msg_data OUT NOCOPY varchar2
1754: SAVEPOINT ObjKpiTimeStampPUB;
1755:
1756: l_Bsc_Kpi_Entity_Rec.Bsc_Kpi_Id := p_Indicator;
1757: BSC_KPI_PUB.Update_Kpi_Time_Stamp(
1758: p_commit => FND_API.G_FALSE
1759: ,p_Bsc_Kpi_Entity_Rec => l_Bsc_Kpi_Entity_Rec
1760: ,x_return_status => x_return_status
1761: ,x_msg_count => x_msg_count
1762: ,x_msg_data => x_msg_data
1760: ,x_return_status => x_return_status
1761: ,x_msg_count => x_msg_count
1762: ,x_msg_data => x_msg_data
1763: );
1764: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1765: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1766: END IF;
1767: BSC_DESIGNER_PVT.Deflt_Update_AOPTS ( x_indicator => l_Bsc_Kpi_Entity_Rec.Bsc_Kpi_Id);
1768:
1761: ,x_msg_count => x_msg_count
1762: ,x_msg_data => x_msg_data
1763: );
1764: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1765: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1766: END IF;
1767: BSC_DESIGNER_PVT.Deflt_Update_AOPTS ( x_indicator => l_Bsc_Kpi_Entity_Rec.Bsc_Kpi_Id);
1768:
1769: FOR cd in c_shared_objs LOOP
1768:
1769: FOR cd in c_shared_objs LOOP
1770: l_Bsc_Kpi_Entity_Rec.Bsc_Kpi_Id := cd.indicator;
1771: BSC_KPI_PUB.Update_Kpi_Time_Stamp(
1772: p_commit => FND_API.G_FALSE
1773: ,p_Bsc_Kpi_Entity_Rec => l_Bsc_Kpi_Entity_Rec
1774: ,x_return_status => x_return_status
1775: ,x_msg_count => x_msg_count
1776: ,x_msg_data => x_msg_data
1774: ,x_return_status => x_return_status
1775: ,x_msg_count => x_msg_count
1776: ,x_msg_data => x_msg_data
1777: );
1778: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1779: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1780: END IF;
1781: BSC_DESIGNER_PVT.Deflt_Update_AOPTS ( x_indicator => cd.indicator );
1782: END LOOP;
1775: ,x_msg_count => x_msg_count
1776: ,x_msg_data => x_msg_data
1777: );
1778: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1779: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1780: END IF;
1781: BSC_DESIGNER_PVT.Deflt_Update_AOPTS ( x_indicator => cd.indicator );
1782: END LOOP;
1783:
1780: END IF;
1781: BSC_DESIGNER_PVT.Deflt_Update_AOPTS ( x_indicator => cd.indicator );
1782: END LOOP;
1783:
1784: IF fnd_api.to_boolean(p_commit) THEN
1785: COMMIT;
1786: END IF;
1787:
1788: EXCEPTION
1785: COMMIT;
1786: END IF;
1787:
1788: EXCEPTION
1789: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1790: ROLLBACK TO ObjKpiTimeStampPUB;
1791: IF (x_msg_data IS NULL) THEN
1792: FND_MSG_PUB.Count_And_Get
1793: ( p_encoded => FND_API.G_FALSE
1789: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1790: ROLLBACK TO ObjKpiTimeStampPUB;
1791: IF (x_msg_data IS NULL) THEN
1792: FND_MSG_PUB.Count_And_Get
1793: ( p_encoded => FND_API.G_FALSE
1794: , p_count => x_msg_count
1795: , p_data => x_msg_data
1796: );
1797: END IF;
1794: , p_count => x_msg_count
1795: , p_data => x_msg_data
1796: );
1797: END IF;
1798: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1799: WHEN OTHERS THEN
1800: ROLLBACK TO ObjKpiTimeStampPUB;
1801: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1802: IF (x_msg_data IS NOT NULL) THEN
1797: END IF;
1798: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1799: WHEN OTHERS THEN
1800: ROLLBACK TO ObjKpiTimeStampPUB;
1801: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1802: IF (x_msg_data IS NOT NULL) THEN
1803: x_msg_data := x_msg_data||' ->BSC_KPI_SERIES_PUB.Update_Kpi_Time_Stamp ';
1804: ELSE
1805: x_msg_data := SQLERRM||' at BSC_KPI_SERIES_PUB.Update_Kpi_Time_Stamp ';