213: l_attached VARCHAR2(2);
214:
215: BEGIN
216:
217: l_attached := FND_API.G_TRUE;
218: SELECT COUNT(0)
219: INTO l_count
220: FROM bsc_tab_indicators
221: WHERE tab_id = p_tabId
221: WHERE tab_id = p_tabId
222: AND indicator = p_indicator;
223:
224: IF(l_count =0)THEN
225: l_attached := FND_API.G_FALSE;
226: END IF;
227:
228: RETURN l_attached;
229:
233: --------------------------------------------------------------------------------
234: -- Create BSC KPI with BIS Dimension from start to end.
235: --------------------------------------------------------------------------------
236: PROCEDURE Create_Kpi_End_To_End(
237: p_Commit IN VARCHAR2 := FND_API.G_FALSE
238: ,p_Responsibility_Id IN NUMBER
239: ,p_Create_New_Kpi IN VARCHAR2 := FND_API.G_FALSE
240: ,p_Kpi_Id_To_Add_Measure IN VARCHAR2 := NULL
241: ,p_Param_Portlet_Region_Code IN VARCHAR2
235: --------------------------------------------------------------------------------
236: PROCEDURE Create_Kpi_End_To_End(
237: p_Commit IN VARCHAR2 := FND_API.G_FALSE
238: ,p_Responsibility_Id IN NUMBER
239: ,p_Create_New_Kpi IN VARCHAR2 := FND_API.G_FALSE
240: ,p_Kpi_Id_To_Add_Measure IN VARCHAR2 := NULL
241: ,p_Param_Portlet_Region_Code IN VARCHAR2
242: ,p_Kpi_Name IN VARCHAR2 := NULL
243: ,p_Kpi_Description IN VARCHAR2 := NULL
253: ,p_Measure_Min_Act_Value IN NUMBER := NULL
254: ,p_Measure_Max_Act_Value IN NUMBER := NULL
255: ,p_Page_Function_Name IN VARCHAR2
256: ,p_Kpi_Portlet_Function_Name IN VARCHAR2
257: ,p_Create_Region_Per_Ao IN VARCHAR2 := FND_API.G_TRUE
258: ,p_Measure_App_Id IN NUMBER := NULL
259: ,p_Func_Area_Short_Name IN VARCHAR2 := NULL
260: ,x_Measure_Short_Name OUT NOCOPY VARCHAR2
261: ,x_Kpi_Id OUT NOCOPY NUMBER
283: BEGIN
284: SAVEPOINT CreateEndToEndKPI;
285: FND_MSG_PUB.Initialize;
286:
287: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
288:
289: IF (p_Param_Portlet_Region_Code IS NULL) THEN
290: FND_MESSAGE.SET_NAME('BSC','BSC_NO_PARAM_PORTLET');
291: FND_MSG_PUB.ADD;
288:
289: IF (p_Param_Portlet_Region_Code IS NULL) THEN
290: FND_MESSAGE.SET_NAME('BSC','BSC_NO_PARAM_PORTLET');
291: FND_MSG_PUB.ADD;
292: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
293: END IF;
294:
295: -- added for Bug#4558279
296: BSC_BIS_KPI_CRUD_PUB.Cascade_Parameter_Portlet (
304: , x_Return_Status => x_Return_Status
305: , x_Msg_Count => x_Msg_Count
306: , x_Msg_Data => x_Msg_Data
307: );
308: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
309: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
310: END IF;
311:
312: l_User_Page_Name := BSC_BIS_CUSTOM_KPI_UTIL_PUB.Get_User_Function_Name(p_Page_Function_Name);
305: , x_Msg_Count => x_Msg_Count
306: , x_Msg_Data => x_Msg_Data
307: );
308: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
309: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
310: END IF;
311:
312: l_User_Page_Name := BSC_BIS_CUSTOM_KPI_UTIL_PUB.Get_User_Function_Name(p_Page_Function_Name);
313: l_User_Portlet_Name := BSC_BIS_CUSTOM_KPI_UTIL_PUB.Get_User_Function_Name(p_Kpi_Portlet_Function_Name);
323: , p_Region_Function_Name => NULL
324: , p_Region_User_Function_Name => NULL
325: , p_Dim_Obj_Short_Names => NULL
326: , p_Measure_Short_Name => p_Measure_Short_Name
327: , p_Force_Create_Dim => FND_API.G_FALSE
328: , p_Responsibility_Id => p_Responsibility_Id
329: , p_Measure_Name => p_Measure_Name
330: , p_Measure_Description => p_Measure_Description
331: , p_Dataset_Format_Id => p_Dataset_Format_Id
331: , p_Dataset_Format_Id => p_Dataset_Format_Id
332: , p_Dataset_Autoscale_Flag => p_Dataset_Autoscale_Flag
333: , p_Measure_Operation => p_Measure_Operation
334: , p_Measure_Increase_In_Measure => p_Measure_Increase_In_Measure
335: , p_Measure_Obsolete => FND_API.G_FALSE
336: , p_Type => NULL
337: , p_Measure_Random_Style => p_Measure_Random_Style
338: , p_Measure_Min_Act_Value => p_Measure_Min_Act_Value
339: , p_Measure_Max_Act_Value => p_Measure_Max_Act_Value
345: , x_Return_Status => x_Return_Status
346: , x_Msg_Count => x_Msg_Count
347: , x_Msg_Data => x_Msg_Data
348: );
349: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
350: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
351: END IF;
352:
353:
346: , x_Msg_Count => x_Msg_Count
347: , x_Msg_Data => x_Msg_Data
348: );
349: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
350: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
351: END IF;
352:
353:
354: IF (x_Measure_Short_Name IS NULL) THEN
353:
354: IF (x_Measure_Short_Name IS NULL) THEN
355: FND_MESSAGE.SET_NAME('BSC','BSC_DIP_MEASURE_SNAME_IS_NULL');
356: FND_MSG_PUB.ADD;
357: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
358: END IF;
359:
360: -- Get the KPI Associated
361: l_Kpi_Id := x_Kpi_Id;
361: l_Kpi_Id := x_Kpi_Id;
362: l_Dataset_Id := BSC_BIS_KPI_CRUD_PUB.Get_Dataset_Id(x_Measure_Short_Name);
363: l_Analysis_Option := BSC_BIS_KPI_CRUD_PUB.Get_AO_Id_By_Measure(l_Kpi_Id, l_Dataset_Id);
364:
365: IF ((p_Create_Region_Per_AO = FND_API.G_TRUE) OR (l_Does_Kpi_Exist = FALSE)) THEN
366:
367: BSC_BIS_KPI_CRUD_PUB.Create_Ak_Metadata(
368: p_Commit => p_Commit
369: , p_Create_Region_Per_AO => p_Create_Region_Per_AO
381: , x_Return_Status => x_Return_Status
382: , x_Msg_Count => x_Msg_Count
383: , x_Msg_Data => x_Msg_Data
384: );
385: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
386: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
387: END IF;
388: ELSE
389:
382: , x_Msg_Count => x_Msg_Count
383: , x_Msg_Data => x_Msg_Data
384: );
385: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
386: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
387: END IF;
388: ELSE
389:
390: -- Single Region (BSC_
405: ,x_Return_Status => x_Return_Status
406: ,x_Msg_Count => x_Msg_Count
407: ,x_Msg_Data => x_Msg_Data
408: );
409: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
410: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
411: END IF;
412:
413: END IF;
406: ,x_Msg_Count => x_Msg_Count
407: ,x_Msg_Data => x_Msg_Data
408: );
409: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
410: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
411: END IF;
412:
413: END IF;
414:
411: END IF;
412:
413: END IF;
414:
415: IF (p_Commit = FND_API.G_TRUE) THEN
416: COMMIT;
417: END IF;
418:
419: EXCEPTION
416: COMMIT;
417: END IF;
418:
419: EXCEPTION
420: WHEN FND_API.G_EXC_ERROR THEN
421: ROLLBACK TO CreateEndToEndKPI;
422: IF (x_msg_data IS NULL) THEN
423: FND_MSG_PUB.Count_And_Get
424: ( p_encoded => FND_API.G_FALSE
420: WHEN FND_API.G_EXC_ERROR THEN
421: ROLLBACK TO CreateEndToEndKPI;
422: IF (x_msg_data IS NULL) THEN
423: FND_MSG_PUB.Count_And_Get
424: ( p_encoded => FND_API.G_FALSE
425: , p_count => x_msg_count
426: , p_data => x_msg_data
427: );
428: END IF;
425: , p_count => x_msg_count
426: , p_data => x_msg_data
427: );
428: END IF;
429: x_Return_Status := FND_API.G_RET_STS_ERROR;
430: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
431: ROLLBACK TO CreateEndToEndKPI;
432: IF (x_msg_data IS NULL) THEN
433: FND_MSG_PUB.Count_And_Get
426: , p_data => x_msg_data
427: );
428: END IF;
429: x_Return_Status := FND_API.G_RET_STS_ERROR;
430: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
431: ROLLBACK TO CreateEndToEndKPI;
432: IF (x_msg_data IS NULL) THEN
433: FND_MSG_PUB.Count_And_Get
434: ( p_encoded => FND_API.G_FALSE
430: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
431: ROLLBACK TO CreateEndToEndKPI;
432: IF (x_msg_data IS NULL) THEN
433: FND_MSG_PUB.Count_And_Get
434: ( p_encoded => FND_API.G_FALSE
435: , p_count => x_msg_count
436: , p_data => x_msg_data
437: );
438: END IF;
435: , p_count => x_msg_count
436: , p_data => x_msg_data
437: );
438: END IF;
439: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
440: WHEN NO_DATA_FOUND THEN
441: ROLLBACK TO CreateEndToEndKPI;
442: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
443: IF (x_msg_data IS NOT NULL) THEN
438: END IF;
439: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
440: WHEN NO_DATA_FOUND THEN
441: ROLLBACK TO CreateEndToEndKPI;
442: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
443: IF (x_msg_data IS NOT NULL) THEN
444: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Create_Kpi_End_To_End ';
445: ELSE
446: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Create_Kpi_End_To_End ';
446: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Create_Kpi_End_To_End ';
447: END IF;
448: WHEN OTHERS THEN
449: ROLLBACK TO CreateEndToEndKPI;
450: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
451: IF (x_msg_data IS NOT NULL) THEN
452: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Create_Kpi_End_To_End ';
453: ELSE
454: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Create_Kpi_End_To_End ';
460: API to updaate End 2 End KPI
461: */
462:
463: PROCEDURE Update_Kpi_End_To_End(
464: p_Commit IN VARCHAR2 := FND_API.G_FALSE
465: ,p_Param_Portlet_Region_Code IN VARCHAR2
466: ,p_Page_Function_Name IN VARCHAR2
467: ,p_Kpi_Portlet_Function_Name IN VARCHAR2
468: ,p_Measure_Name IN VARCHAR2
518:
519: SAVEPOINT UpdateEndToEndKPI;
520: -- Initialize the Messaging
521: FND_MSG_PUB.Initialize;
522: x_return_status := FND_API.G_RET_STS_SUCCESS;
523:
524: -- Get the KPI ID from the Measure Short_Name (Bug#3766839)
525: l_Kpi_Id := NVL(BSC_BIS_KPI_CRUD_PUB.Get_Objective_By_Kpi(p_Measure_Short_Name),
526: BSC_BIS_KPI_CRUD_PUB.C_INVALID_ENTITY);
532:
533: IF (p_Param_Portlet_Region_Code IS NULL) THEN
534: FND_MESSAGE.SET_NAME('BSC','BSC_NO_PARAM_PORTLET');
535: FND_MSG_PUB.ADD;
536: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
537: END IF;
538:
539: --DBMS_OUTPUT.PUT_LINE('is_Indicator_In_Production');
540:
558: IF (x_Msg_Data IS NOT NULL) THEN
559: FND_MESSAGE.SET_NAME('BSC','BSC_INVALID_REG_DIM_AK ');
560: FND_MESSAGE.SET_TOKEN('CODE', p_Param_Portlet_Region_Code);
561: FND_MSG_PUB.ADD;
562: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
563: END IF;
564:
565:
566: -- Need to update the Region Item FORMAT_ID and AUTOSCALE FLAG
649: ,x_Msg_Count => x_msg_count
650: ,x_Msg_Data => x_msg_data
651: );
652:
653: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
654: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
655: END IF;
656:
657:
650: ,x_Msg_Data => x_msg_data
651: );
652:
653: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
654: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
655: END IF;
656:
657:
658:
667: ,x_msg_count => x_msg_count
668: ,x_msg_data => x_msg_data
669: );
670:
671: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
672: -- debug
673: FND_MESSAGE.SET_NAME('BSC','BSC_ANA_OPT_NO_UPD_DEL');
674: FND_MESSAGE.SET_TOKEN('ACTION', BSC_APPS.Get_Lookup_Value('BSC_UI_COMMON','UPDATE'));
675: FND_MESSAGE.SET_TOKEN('KPI', l_Kpi_Id);
674: FND_MESSAGE.SET_TOKEN('ACTION', BSC_APPS.Get_Lookup_Value('BSC_UI_COMMON','UPDATE'));
675: FND_MESSAGE.SET_TOKEN('KPI', l_Kpi_Id);
676: FND_MESSAGE.SET_TOKEN('DATASET_ID', l_Dataset_Id);
677: FND_MSG_PUB.ADD;
678: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
679: END IF;
680:
681: -------------------------------------------------------
682: ----- BSC and BIS tables
698: x_return_status => x_return_status,
699: x_msg_count => x_msg_count,
700: x_msg_data => x_msg_data
701: );
702: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
703: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
704: END IF;
705:
706: BSC_BIS_KPI_CRUD_PUB.Update_Addl_Ak_Region_Items(
699: x_msg_count => x_msg_count,
700: x_msg_data => x_msg_data
701: );
702: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
703: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
704: END IF;
705:
706: BSC_BIS_KPI_CRUD_PUB.Update_Addl_Ak_Region_Items(
707: p_commit => p_commit
713: , x_return_status => x_return_status
714: , x_msg_count => x_msg_count
715: , x_msg_data => x_msg_data
716: );
717: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
718: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
719: END IF;
720:
721: -- Changed p_Disable_View_By = 'N' for Bug#3844823
714: , x_msg_count => x_msg_count
715: , x_msg_data => x_msg_data
716: );
717: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
718: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
719: END IF;
720:
721: -- Changed p_Disable_View_By = 'N' for Bug#3844823
722:
735: , x_return_status => x_return_status
736: , x_msg_count => x_msg_count
737: , x_msg_data => x_msg_data
738: ) ;
739: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
740: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
741: END IF;
742:
743: -- added for Bug#3844849
736: , x_msg_count => x_msg_count
737: , x_msg_data => x_msg_data
738: ) ;
739: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
740: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
741: END IF;
742:
743: -- added for Bug#3844849
744: l_Form_Parameters := 'pForceRun=Y' || '&' || 'pRegionCode=' || l_Region_Code
770: );
771: END IF;
772:
773: EXCEPTION
774: WHEN FND_API.G_EXC_ERROR THEN
775: IF (x_msg_data IS NULL) THEN
776: FND_MSG_PUB.Count_And_Get
777: ( p_encoded => FND_API.G_FALSE
778: , p_count => x_msg_count
773: EXCEPTION
774: WHEN FND_API.G_EXC_ERROR THEN
775: IF (x_msg_data IS NULL) THEN
776: FND_MSG_PUB.Count_And_Get
777: ( p_encoded => FND_API.G_FALSE
778: , p_count => x_msg_count
779: , p_data => x_msg_data
780: );
781: END IF;
778: , p_count => x_msg_count
779: , p_data => x_msg_data
780: );
781: END IF;
782: x_return_status := FND_API.G_RET_STS_ERROR;
783: ROLLBACK TO UpdateEndToEndKPI;
784: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
785: IF (x_msg_data IS NULL) THEN
786: FND_MSG_PUB.Count_And_Get
780: );
781: END IF;
782: x_return_status := FND_API.G_RET_STS_ERROR;
783: ROLLBACK TO UpdateEndToEndKPI;
784: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
785: IF (x_msg_data IS NULL) THEN
786: FND_MSG_PUB.Count_And_Get
787: ( p_encoded => FND_API.G_FALSE
788: , p_count => x_msg_count
783: ROLLBACK TO UpdateEndToEndKPI;
784: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
785: IF (x_msg_data IS NULL) THEN
786: FND_MSG_PUB.Count_And_Get
787: ( p_encoded => FND_API.G_FALSE
788: , p_count => x_msg_count
789: , p_data => x_msg_data
790: );
791: END IF;
788: , p_count => x_msg_count
789: , p_data => x_msg_data
790: );
791: END IF;
792: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
793: ROLLBACK TO UpdateEndToEndKPI;
794: WHEN NO_DATA_FOUND THEN
795: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
796: IF (x_msg_data IS NOT NULL) THEN
791: END IF;
792: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
793: ROLLBACK TO UpdateEndToEndKPI;
794: WHEN NO_DATA_FOUND THEN
795: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
796: IF (x_msg_data IS NOT NULL) THEN
797: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Update_Kpi_End_To_End ';
798: ELSE
799: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Update_Kpi_End_To_End ';
799: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Update_Kpi_End_To_End ';
800: END IF;
801: ROLLBACK TO UpdateEndToEndKPI;
802: WHEN OTHERS THEN
803: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
804: IF (x_msg_data IS NOT NULL) THEN
805: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Update_Kpi_End_To_End ';
806: ELSE
807: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Update_Kpi_End_To_End ';
817: */
818:
819:
820: PROCEDURE Delete_Kpi_End_To_End(
821: p_Commit IN VARCHAR2 := FND_API.G_FALSE
822: ,p_Param_Portlet_Region_Code IN VARCHAR2
823: ,p_Measure_Short_Name IN VARCHAR2 := NULL
824: ,p_Page_Function_Name IN VARCHAR2
825: ,p_Kpi_Portlet_Function_Name IN VARCHAR2
853: -- Load local variables.
854: SAVEPOINT DeleteEndToEndKPI;
855:
856: FND_MSG_PUB.Initialize;
857: x_return_status := FND_API.G_RET_STS_SUCCESS;
858:
859:
860: IF (p_Param_Portlet_Region_Code IS NULL) THEN
861: FND_MESSAGE.SET_NAME('BSC','BSC_NO_PARAM_PORTLET');
859:
860: IF (p_Param_Portlet_Region_Code IS NULL) THEN
861: FND_MESSAGE.SET_NAME('BSC','BSC_NO_PARAM_PORTLET');
862: FND_MSG_PUB.ADD;
863: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
864: END IF;
865:
866:
867: -- should take l_kpi_id from the measure_short_name only and not from
878: IF l_count = 0 THEN
879: FND_MESSAGE.SET_NAME('BSC','BSC_MUSER_DELETE_MESSAGE');
880: FND_MESSAGE.SET_TOKEN('TYPE', BSC_APPS.Get_Lookup_Value('BSC_UI_COMMON','EDW_MEASURE'));
881: FND_MSG_PUB.ADD;
882: RAISE FND_API.G_EXC_ERROR;
883: END IF;
884:
885: SELECT COUNT(1) INTO l_Count
886: FROM BSC_KPIS_B
888: IF l_count = 0 THEN
889: FND_MESSAGE.SET_NAME('BSC','BSC_MUSER_DELETE_MESSAGE');
890: FND_MESSAGE.SET_TOKEN('TYPE', BSC_APPS.Get_Lookup_Value('BSC_UI_COMMON','KPI'));
891: FND_MSG_PUB.ADD;
892: RAISE FND_API.G_EXC_ERROR;
893: END IF;
894:
895: --DBMS_OUTPUT.PUT_LINE('Get_Num_Measures_By_Kpi -> ' || Get_Num_Measures_By_Kpi(l_Kpi_Id));
896:
914: , x_Return_Status => x_Return_Status
915: , x_Msg_Count => x_Msg_Count
916: , x_Msg_Data => x_Msg_Data
917: );
918: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
919: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
920: END IF;
921:
922: ELSE -- If the Analysis Option does not have its own AK Region
915: , x_Msg_Count => x_Msg_Count
916: , x_Msg_Data => x_Msg_Data
917: );
918: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
919: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
920: END IF;
921:
922: ELSE -- If the Analysis Option does not have its own AK Region
923: l_Region_Code := BSC_BIS_CUSTOM_KPI_UTIL_PUB.Get_Region_Code(l_Kpi_Id, NULL);
933: ,x_return_status => x_return_status
934: ,x_msg_count => x_msg_count
935: ,x_msg_data => x_msg_data
936: );
937: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
938: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
939: END IF;
940: END IF;
941:
934: ,x_msg_count => x_msg_count
935: ,x_msg_data => x_msg_data
936: );
937: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
938: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
939: END IF;
940: END IF;
941:
942:
948: ,x_msg_count => x_msg_count
949: ,x_msg_data => x_msg_data
950: );
951:
952: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
953: FND_MESSAGE.SET_NAME('BSC','BSC_ANA_OPT_NO_UPD_DEL');
954: FND_MESSAGE.SET_TOKEN('ACTION', BSC_APPS.Get_Lookup_Value('BSC_UI_COMMON','UPDATE'));
955: FND_MESSAGE.SET_TOKEN('KPI', l_kpi_Id);
956: FND_MESSAGE.SET_TOKEN('DATASET_ID', l_Dataset_Id);
954: FND_MESSAGE.SET_TOKEN('ACTION', BSC_APPS.Get_Lookup_Value('BSC_UI_COMMON','UPDATE'));
955: FND_MESSAGE.SET_TOKEN('KPI', l_kpi_Id);
956: FND_MESSAGE.SET_TOKEN('DATASET_ID', l_Dataset_Id);
957: FND_MSG_PUB.ADD;
958: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
959: END IF;
960:
961:
962: -- Delete the Measure from the DB (BSC and BIS).
967: ,x_return_status => x_return_status
968: ,x_msg_count => x_msg_count
969: ,x_msg_data => x_msg_data
970: );
971: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
972: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
973: END IF;
974:
975: SELECT NVL(MAX(ANALYSIS_OPTION0), 0)
968: ,x_msg_count => x_msg_count
969: ,x_msg_data => x_msg_data
970: );
971: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
972: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
973: END IF;
974:
975: SELECT NVL(MAX(ANALYSIS_OPTION0), 0)
976: INTO l_Last_Analysis_Option
986: , x_Return_Status => x_Return_Status
987: , x_Msg_Count => x_Msg_Count
988: , x_Msg_Data => x_Msg_Data
989: );
990: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
991: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
992: END IF;
993: END IF;
994:
987: , x_Msg_Count => x_Msg_Count
988: , x_Msg_Data => x_Msg_Data
989: );
990: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
991: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
992: END IF;
993: END IF;
994:
995: ELSE -- End - IF NOT Get_Num_Measures_By_Kpi > 1 (delete all the KPI Metatada and Regions)
1011: , x_Return_Status => x_Return_Status
1012: , x_Msg_Count => x_Msg_Count
1013: , x_Msg_Data => x_Msg_Data
1014: );
1015: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1016: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1017: END IF;
1018:
1019: /*
1012: , x_Msg_Count => x_Msg_Count
1013: , x_Msg_Data => x_Msg_Data
1014: );
1015: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1016: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1017: END IF;
1018:
1019: /*
1020: At this point, Delete ALL the KPI Metadata and info related to the KPI.
1027: ,x_Return_Status => x_Return_Status
1028: ,x_Msg_Count => x_Msg_Count
1029: ,x_Msg_Data => x_Msg_Data
1030: );
1031: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1032: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1033: END IF;
1034: --DBMS_OUTPUT.PUT_LINE('Outside FND_FORM_FUNCTIONS_PKG.DELETE_ROW ' );
1035:
1028: ,x_Msg_Count => x_Msg_Count
1029: ,x_Msg_Data => x_Msg_Data
1030: );
1031: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1032: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1033: END IF;
1034: --DBMS_OUTPUT.PUT_LINE('Outside FND_FORM_FUNCTIONS_PKG.DELETE_ROW ' );
1035:
1036: -- Delete the Actual Measure from BSC and BIS Datamodel.
1041: ,x_return_status => x_return_status
1042: ,x_msg_count => x_msg_count
1043: ,x_msg_data => x_msg_data
1044: );
1045: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1046: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1047: END IF;
1048:
1049: l_Parameter_Portlet := BSC_BIS_KPI_CRUD_PUB.Get_Param_Portlet_By_Region(l_Region_Code);
1042: ,x_msg_count => x_msg_count
1043: ,x_msg_data => x_msg_data
1044: );
1045: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1046: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1047: END IF;
1048:
1049: l_Parameter_Portlet := BSC_BIS_KPI_CRUD_PUB.Get_Param_Portlet_By_Region(l_Region_Code);
1050:
1058: , x_Return_Status => x_Return_Status
1059: , x_Msg_Count => x_Msg_Count
1060: , x_Msg_Data => x_Msg_Data
1061: );
1062: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1063: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1064: END IF;
1065:
1066:
1059: , x_Msg_Count => x_Msg_Count
1060: , x_Msg_Data => x_Msg_Data
1061: );
1062: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1063: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1064: END IF;
1065:
1066:
1067: BSC_BIS_DIMENSION_PUB.Delete_Dimension
1070: , x_return_status => x_Return_Status
1071: , x_msg_count => x_Msg_Count
1072: , x_msg_data => x_Msg_Data
1073: );
1074: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1075: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1076: END IF;
1077: END IF;
1078:
1071: , x_msg_count => x_Msg_Count
1072: , x_msg_data => x_Msg_Data
1073: );
1074: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1075: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1076: END IF;
1077: END IF;
1078:
1079:
1079:
1080: END IF; -- End - Get_Num_Measures_By_Kpi
1081: --DBMS_OUTPUT.PUT_LINE('End of Delete_Kpi_End_To_End' );
1082: EXCEPTION
1083: WHEN FND_API.G_EXC_ERROR THEN
1084: IF (x_msg_data IS NULL) THEN
1085: FND_MSG_PUB.Count_And_Get
1086: ( p_encoded => FND_API.G_FALSE
1087: , p_count => x_msg_count
1082: EXCEPTION
1083: WHEN FND_API.G_EXC_ERROR THEN
1084: IF (x_msg_data IS NULL) THEN
1085: FND_MSG_PUB.Count_And_Get
1086: ( p_encoded => FND_API.G_FALSE
1087: , p_count => x_msg_count
1088: , p_data => x_msg_data
1089: );
1090: END IF;
1087: , p_count => x_msg_count
1088: , p_data => x_msg_data
1089: );
1090: END IF;
1091: x_return_status := FND_API.G_RET_STS_ERROR;
1092: ROLLBACK TO DeleteEndToEndKPI;
1093: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1094: IF (x_msg_data IS NULL) THEN
1095: FND_MSG_PUB.Count_And_Get
1089: );
1090: END IF;
1091: x_return_status := FND_API.G_RET_STS_ERROR;
1092: ROLLBACK TO DeleteEndToEndKPI;
1093: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1094: IF (x_msg_data IS NULL) THEN
1095: FND_MSG_PUB.Count_And_Get
1096: ( p_encoded => FND_API.G_FALSE
1097: , p_count => x_msg_count
1092: ROLLBACK TO DeleteEndToEndKPI;
1093: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1094: IF (x_msg_data IS NULL) THEN
1095: FND_MSG_PUB.Count_And_Get
1096: ( p_encoded => FND_API.G_FALSE
1097: , p_count => x_msg_count
1098: , p_data => x_msg_data
1099: );
1100: END IF;
1097: , p_count => x_msg_count
1098: , p_data => x_msg_data
1099: );
1100: END IF;
1101: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1102: ROLLBACK TO DeleteEndToEndKPI;
1103: WHEN NO_DATA_FOUND THEN
1104: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1105: IF (x_msg_data IS NOT NULL) THEN
1100: END IF;
1101: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1102: ROLLBACK TO DeleteEndToEndKPI;
1103: WHEN NO_DATA_FOUND THEN
1104: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1105: IF (x_msg_data IS NOT NULL) THEN
1106: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Delete_Kpi_End_To_End ';
1107: ELSE
1108: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Delete_Kpi_End_To_End ';
1108: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Delete_Kpi_End_To_End ';
1109: END IF;
1110: ROLLBACK TO DeleteEndToEndKPI;
1111: WHEN OTHERS THEN
1112: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1113: IF (x_msg_data IS NOT NULL) THEN
1114: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Delete_Kpi_End_To_End ';
1115: ELSE
1116: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Delete_Kpi_End_To_End ';
1234: IF l_Dim_Id_Cnt <> 1 THEN
1235: FND_MESSAGE.SET_NAME('BSC','BSC_INVALID_GROUP_SHORT_NAME');
1236: FND_MESSAGE.SET_TOKEN('BSC_GROUP_SHORT_NAME', l_dimension_grp(l_counter), TRUE);
1237: FND_MSG_PUB.ADD;
1238: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1239: END IF;
1240:
1241: l_Dim_Id_Cnt := 0;
1242:
1251: -- if no dimension set, raise exception
1252: IF (l_counter = 1) THEN
1253: FND_MESSAGE.SET_NAME('BSC','BSC_NO_DIM_SET_ASSOC');
1254: FND_MSG_PUB.ADD;
1255: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1256: END IF;
1257:
1258: -- decrement by one to match the actual number of elements
1259: x_non_time_counter := x_non_time_counter - 1;
1259: x_non_time_counter := x_non_time_counter - 1;
1260: x_time_counter := x_time_counter - 1;
1261:
1262: EXCEPTION
1263: WHEN FND_API.G_EXC_ERROR THEN
1264: IF c_Dim%ISOPEN THEN
1265: CLOSE c_Dim;
1266: END IF;
1267:
1266: END IF;
1267:
1268: IF (x_msg_data IS NULL) THEN
1269: FND_MSG_PUB.Count_And_Get
1270: ( p_encoded => FND_API.G_FALSE
1271: , p_count => l_msg_count
1272: , p_data => x_msg_data
1273: );
1274: END IF;
1271: , p_count => l_msg_count
1272: , p_data => x_msg_data
1273: );
1274: END IF;
1275: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1276: IF c_Dim%ISOPEN THEN
1277: CLOSE c_Dim;
1278: END IF;
1279:
1278: END IF;
1279:
1280: IF (x_msg_data IS NULL) THEN
1281: FND_MSG_PUB.Count_And_Get
1282: ( p_encoded => FND_API.G_FALSE
1283: , p_count => l_msg_count
1284: , p_data => x_msg_data
1285: );
1286: END IF;
1311:
1312:
1313:
1314: PROCEDURE Create_Dim_Level_Region_Item(
1315: p_commit VARCHAR2 := FND_API.G_FALSE
1316: ,p_non_time_counter NUMBER
1317: ,p_non_time_dimension_objects bsc_varchar2_tbl_type
1318: ,p_non_time_dimension_groups bsc_varchar2_tbl_type
1319: ,p_time_counter NUMBER
1453:
1454:
1455:
1456: PROCEDURE Create_Measure(
1457: p_commit VARCHAR2 := FND_API.G_FALSE
1458: ,x_dataset_id OUT NOCOPY NUMBER
1459: ,p_kpi_id NUMBER
1460: ,p_dataset_source VARCHAR2
1461: ,p_measure_name VARCHAR2
1464: ,p_dataset_format_id NUMBER
1465: ,p_dataset_autoscale_flag NUMBER
1466: ,p_measure_operation VARCHAR2
1467: ,p_measure_increase_in_measure VARCHAR2
1468: ,p_measure_obsolete VARCHAR2 := FND_API.G_FALSE
1469: ,p_type VARCHAR2 -- This is used for weighted kpis,This can take values CDS_SCORE,CDS_PERF or Null
1470: ,p_measure_random_style NUMBER
1471: ,p_measure_min_act_value NUMBER
1472: ,p_measure_max_act_value NUMBER
1497:
1498:
1499: SAVEPOINT CreateMeasureSP;
1500: FND_MSG_PUB.Initialize;
1501: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
1502:
1503: --DBMS_OUTPUT.PUT_LINE('STAGE 8B1');
1504:
1505: -- added exception handling for Bug#3755656
1550: ,p_func_area_short_name => p_Func_Area_Short_Name
1551: ,x_return_status => x_return_status
1552: ,x_msg_count => x_msg_count
1553: ,x_msg_data => x_msg_data);
1554: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1555: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1556: END IF;
1557:
1558: --DBMS_OUTPUT.PUT_LINE('STAGE 8B2 - ' || x_dataset_id);
1551: ,x_return_status => x_return_status
1552: ,x_msg_count => x_msg_count
1553: ,x_msg_data => x_msg_data);
1554: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1555: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1556: END IF;
1557:
1558: --DBMS_OUTPUT.PUT_LINE('STAGE 8B2 - ' || x_dataset_id);
1559: --DBMS_OUTPUT.PUT_LINE('STAGE 8B3 - ' || p_measure_short_name);
1574: --DBMS_OUTPUT.PUT_LINE('STAGE 8B4 - ' || l_measure_short_name);
1575:
1576:
1577: EXCEPTION
1578: WHEN FND_API.G_EXC_ERROR THEN
1579: ROLLBACK TO CreateMeasureSP;
1580: IF (x_msg_data IS NULL) THEN
1581: FND_MSG_PUB.Count_And_Get
1582: ( p_encoded => FND_API.G_FALSE
1578: WHEN FND_API.G_EXC_ERROR THEN
1579: ROLLBACK TO CreateMeasureSP;
1580: IF (x_msg_data IS NULL) THEN
1581: FND_MSG_PUB.Count_And_Get
1582: ( p_encoded => FND_API.G_FALSE
1583: , p_count => x_msg_count
1584: , p_data => x_msg_data
1585: );
1586: END IF;
1583: , p_count => x_msg_count
1584: , p_data => x_msg_data
1585: );
1586: END IF;
1587: x_Return_Status := FND_API.G_RET_STS_ERROR;
1588: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1589: ROLLBACK TO CreateMeasureSP;
1590: IF (x_msg_data IS NULL) THEN
1591: FND_MSG_PUB.Count_And_Get
1584: , p_data => x_msg_data
1585: );
1586: END IF;
1587: x_Return_Status := FND_API.G_RET_STS_ERROR;
1588: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1589: ROLLBACK TO CreateMeasureSP;
1590: IF (x_msg_data IS NULL) THEN
1591: FND_MSG_PUB.Count_And_Get
1592: ( p_encoded => FND_API.G_FALSE
1588: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1589: ROLLBACK TO CreateMeasureSP;
1590: IF (x_msg_data IS NULL) THEN
1591: FND_MSG_PUB.Count_And_Get
1592: ( p_encoded => FND_API.G_FALSE
1593: , p_count => x_msg_count
1594: , p_data => x_msg_data
1595: );
1596: END IF;
1593: , p_count => x_msg_count
1594: , p_data => x_msg_data
1595: );
1596: END IF;
1597: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
1598: WHEN NO_DATA_FOUND THEN
1599: ROLLBACK TO CreateMeasureSP;
1600: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
1601: IF (x_msg_data IS NOT NULL) THEN
1596: END IF;
1597: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
1598: WHEN NO_DATA_FOUND THEN
1599: ROLLBACK TO CreateMeasureSP;
1600: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
1601: IF (x_msg_data IS NOT NULL) THEN
1602: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Create_Measure ';
1603: ELSE
1604: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Create_Measure ';
1604: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Create_Measure ';
1605: END IF;
1606: WHEN OTHERS THEN
1607: ROLLBACK TO CreateMeasureSP;
1608: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
1609: IF (x_msg_data IS NOT NULL) THEN
1610: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Create_Measure ';
1611: ELSE
1612: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Create_Measure ';
1614: END Create_Measure;
1615:
1616:
1617: PROCEDURE Associate_KPI_To_AO(
1618: p_Commit VARCHAR2 := FND_API.G_FALSE
1619: ,p_Indicator NUMBER
1620: ,p_Dataset_Id NUMBER
1621: ,p_Measure_Name VARCHAR2
1622: ,p_Measure_Description VARCHAR2
1632:
1633: BEGIN
1634: SAVEPOINT AssociateKPIToAO;
1635: FND_MSG_PUB.Initialize;
1636: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
1637:
1638: SELECT A.SHORT_NAME
1639: INTO l_Measure_Short_Name
1640: FROM BSC_SYS_MEASURES A
1666: ,x_Msg_Count => x_Msg_Count
1667: ,x_Msg_Data => x_Msg_Data
1668: );
1669:
1670: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1671: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1672: END IF;
1673:
1674: -- Currently we need to indentify if the first analysis option will
1667: ,x_Msg_Data => x_Msg_Data
1668: );
1669:
1670: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1671: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1672: END IF;
1673:
1674: -- Currently we need to indentify if the first analysis option will
1675: -- be replaced by the newly added AO or not, until that is figured out
1682: , x_Return_Status => x_return_status
1683: , x_Msg_Count => x_msg_count
1684: , x_Msg_Data => x_msg_data
1685: );
1686: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1687: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1688: END IF;
1689:
1690:
1683: , x_Msg_Count => x_msg_count
1684: , x_Msg_Data => x_msg_data
1685: );
1686: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1687: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1688: END IF;
1689:
1690:
1691: EXCEPTION
1688: END IF;
1689:
1690:
1691: EXCEPTION
1692: WHEN FND_API.G_EXC_ERROR THEN
1693: ROLLBACK TO AssociateKPIToAO;
1694: IF (x_msg_data IS NULL) THEN
1695: FND_MSG_PUB.Count_And_Get
1696: ( p_encoded => FND_API.G_FALSE
1692: WHEN FND_API.G_EXC_ERROR THEN
1693: ROLLBACK TO AssociateKPIToAO;
1694: IF (x_msg_data IS NULL) THEN
1695: FND_MSG_PUB.Count_And_Get
1696: ( p_encoded => FND_API.G_FALSE
1697: , p_count => x_msg_count
1698: , p_data => x_msg_data
1699: );
1700: END IF;
1697: , p_count => x_msg_count
1698: , p_data => x_msg_data
1699: );
1700: END IF;
1701: x_Return_Status := FND_API.G_RET_STS_ERROR;
1702: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1703: ROLLBACK TO AssociateKPIToAO;
1704: IF (x_msg_data IS NULL) THEN
1705: FND_MSG_PUB.Count_And_Get
1698: , p_data => x_msg_data
1699: );
1700: END IF;
1701: x_Return_Status := FND_API.G_RET_STS_ERROR;
1702: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1703: ROLLBACK TO AssociateKPIToAO;
1704: IF (x_msg_data IS NULL) THEN
1705: FND_MSG_PUB.Count_And_Get
1706: ( p_encoded => FND_API.G_FALSE
1702: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1703: ROLLBACK TO AssociateKPIToAO;
1704: IF (x_msg_data IS NULL) THEN
1705: FND_MSG_PUB.Count_And_Get
1706: ( p_encoded => FND_API.G_FALSE
1707: , p_count => x_msg_count
1708: , p_data => x_msg_data
1709: );
1710: END IF;
1707: , p_count => x_msg_count
1708: , p_data => x_msg_data
1709: );
1710: END IF;
1711: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
1712: WHEN NO_DATA_FOUND THEN
1713: ROLLBACK TO AssociateKPIToAO;
1714: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
1715: IF (x_msg_data IS NOT NULL) THEN
1710: END IF;
1711: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
1712: WHEN NO_DATA_FOUND THEN
1713: ROLLBACK TO AssociateKPIToAO;
1714: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
1715: IF (x_msg_data IS NOT NULL) THEN
1716: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Associate_KPI_To_AO ';
1717: ELSE
1718: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Associate_KPI_To_AO ';
1718: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Associate_KPI_To_AO ';
1719: END IF;
1720: WHEN OTHERS THEN
1721: ROLLBACK TO AssociateKPIToAO;
1722: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
1723: IF (x_msg_data IS NOT NULL) THEN
1724: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Associate_KPI_To_AO ';
1725: ELSE
1726: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Associate_KPI_To_AO ';
1799: ,x_return_status => x_return_status
1800: ,x_msg_count => x_msg_count
1801: ,x_msg_data => x_msg_data
1802: );
1803: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1804: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1805: END IF;
1806:
1807:
1800: ,x_msg_count => x_msg_count
1801: ,x_msg_data => x_msg_data
1802: );
1803: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1804: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1805: END IF;
1806:
1807:
1808: END Create_Measure_Region_Item;
1923: END LOOP;
1924:
1925: -- concatenate dimension object short name
1926: IF ((l_dimension_object_name IS NOT NULL) AND
1927: (Is_Excluded_Dimension_Object(l_dimension_object) = FND_API.G_FALSE)) THEN
1928: if (l_counter = 1) then
1929: l_dim_obj_short_names := l_dimension_object_name;
1930: else
1931: l_dim_obj_short_names := l_dim_obj_short_names || '!@#$' || l_dimension_object_name;
1940: -- if no dimension set, raise exception
1941: IF (l_counter = 1) THEN
1942: FND_MESSAGE.SET_NAME('BSC','BSC_NO_DIM_OBJ_PARAM_PORTLET');
1943: FND_MSG_PUB.ADD;
1944: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1945: END IF;
1946:
1947: x_dim_obj_list := l_dim_obj_short_names;
1948:
1948:
1949:
1950: EXCEPTION
1951:
1952: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1953: --ROLLBACK TO BSCCrtKPIWBisDimWrp;
1954: IF (x_msg_data IS NULL) THEN
1955: FND_MSG_PUB.Count_And_Get
1956: ( p_encoded => FND_API.G_FALSE
1952: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1953: --ROLLBACK TO BSCCrtKPIWBisDimWrp;
1954: IF (x_msg_data IS NULL) THEN
1955: FND_MSG_PUB.Count_And_Get
1956: ( p_encoded => FND_API.G_FALSE
1957: , p_count => x_msg_count
1958: , p_data => x_msg_data
1959: );
1960: END IF;
1957: , p_count => x_msg_count
1958: , p_data => x_msg_data
1959: );
1960: END IF;
1961: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1962:
1963: WHEN NO_DATA_FOUND THEN
1964: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1965: IF (x_msg_data IS NOT NULL) THEN
1960: END IF;
1961: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1962:
1963: WHEN NO_DATA_FOUND THEN
1964: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1965: IF (x_msg_data IS NOT NULL) THEN
1966: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.RETRIEVE_DIMENSION_OBJECTS ';
1967: ELSE
1968: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.RETRIEVE_DIMENSION_OBJECTS ';
1967: ELSE
1968: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.RETRIEVE_DIMENSION_OBJECTS ';
1969: END IF;
1970: WHEN OTHERS THEN
1971: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1972: IF (x_msg_data IS NOT NULL) THEN
1973: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.RETRIEVE_DIMENSION_OBJECTS ';
1974: ELSE
1975: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.RETRIEVE_DIMENSION_OBJECTS ';
2056:
2057:
2058:
2059: Procedure Assign_Kpi_Periodicities(
2060: p_commit IN VARCHAR2 --:= FND_API.G_FALSE
2061: ,p_kpi_id IN NUMBER
2062: ,p_Time_Dim_obj_sns IN VARCHAR2 -- 'MONTH,QUATERLY'
2063: ,p_Dft_Dim_obj_sn IN VARCHAR2 --:= NULL
2064: ,p_Daily_Flag IN VARCHAR2 --:= FND_API.G_FALSE
2060: p_commit IN VARCHAR2 --:= FND_API.G_FALSE
2061: ,p_kpi_id IN NUMBER
2062: ,p_Time_Dim_obj_sns IN VARCHAR2 -- 'MONTH,QUATERLY'
2063: ,p_Dft_Dim_obj_sn IN VARCHAR2 --:= NULL
2064: ,p_Daily_Flag IN VARCHAR2 --:= FND_API.G_FALSE
2065: ,p_Is_XTD_Enabled IN VARCHAR2
2066: ,x_return_status OUT NOCOPY VARCHAR2
2067: ,x_msg_count OUT NOCOPY NUMBER
2068: ,x_msg_data OUT NOCOPY VARCHAR2
2091: WHERE EDW_CALENDAR_TYPE_ID = 1
2092: AND EDW_CALENDAR_ID = p_Calendar;
2093:
2094: BEGIN
2095: x_return_status := FND_API.G_RET_STS_SUCCESS;
2096: SAVEPOINT BSCAsgnKpiPeriodicities;
2097: FND_MSG_PUB.Initialize;
2098: l_Time_Dim_obj_sns:= p_Time_Dim_obj_sns;
2099: IF (p_Time_Dim_obj_sns IS NULL AND p_Is_XTD_Enabled = FND_API.G_TRUE) THEN
2095: x_return_status := FND_API.G_RET_STS_SUCCESS;
2096: SAVEPOINT BSCAsgnKpiPeriodicities;
2097: FND_MSG_PUB.Initialize;
2098: l_Time_Dim_obj_sns:= p_Time_Dim_obj_sns;
2099: IF (p_Time_Dim_obj_sns IS NULL AND p_Is_XTD_Enabled = FND_API.G_TRUE) THEN
2100: SELECT CALENDAR_ID
2101: INTO l_kpi_calendar_id
2102: FROM BSC_KPIS_B
2103: WHERE INDICATOR = p_kpi_id;
2112: ,p_dim_name => l_Time_Dim_Obj_sh)) LOOP
2113: l_periodicity_id := NULL;
2114:
2115: -- added condition for Calendar Enhancement#4376162
2116: IF (BSC_BIS_KPI_CRUD_PUB.Is_DimObj_Periodicity(l_Time_Dim_Obj_Sh) = FND_API.G_TRUE) THEN
2117: BSC_BIS_KPI_CRUD_PUB.Get_Non_DBI_Periodicities (
2118: p_Time_Short_Name => l_Time_Dim_Obj_Sh
2119: , x_Periodicity_Id => l_Periodicity_Id
2120: , x_Calendar_Id => l_Calendar_Id_Aux
2121: , x_Return_Status => x_Return_Status
2122: , x_Msg_Count => x_Msg_Count
2123: , x_Msg_Data => x_Msg_Data
2124: );
2125: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2126: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2127: END IF;
2128:
2129: ELSE
2122: , x_Msg_Count => x_Msg_Count
2123: , x_Msg_Data => x_Msg_Data
2124: );
2125: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2126: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2127: END IF;
2128:
2129: ELSE
2130:
2152: ELSE
2153: FND_MESSAGE.SET_NAME('BSC','BSC_NO_PERIODICITY_FOUND_DL');
2154: FND_MESSAGE.SET_TOKEN('SHORT_NAME', l_Time_Dim_Obj_sh );
2155: FND_MSG_PUB.ADD;
2156: RAISE FND_API.G_EXC_ERROR;
2157: END IF;
2158: --DBMS_OUTPUT.PUT_LINE(' l_periodicity_ids = '||l_periodicity_ids);
2159: END LOOP;
2160: --DBMS_OUTPUT.PUT_LINE(' l_calendar_id = '||l_calendar_id);
2161: --DBMS_OUTPUT.PUT_LINE(' l_periodicity_ids = '||l_periodicity_ids);
2162:
2163: IF l_calendar_id IS NOT NULL THEN
2164: --DBMS_OUTPUT.PUT_LINE(' p_Daily_Flag = '||p_Daily_Flag);
2165: IF p_Is_XTD_Enabled = FND_API.G_TRUE THEN
2166: --DBMS_OUTPUT.PUT_LINE(' before open c_YearPerioditY');
2167: OPEN c_YearPeriodity;
2168: --DBMS_OUTPUT.PUT_LINE(' AFTER open c_YearPerioditY');
2169: FETCH c_YearPeriodity into l_periodicity_id;
2186: ,x_return_status => x_return_status
2187: ,x_msg_count => x_msg_count
2188: ,x_msg_data => x_msg_data
2189: );
2190: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2191: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2192: END IF;
2193:
2194: ELSE -- if l_Calendar_Id is NULL added for Bug#3769227
2187: ,x_msg_count => x_msg_count
2188: ,x_msg_data => x_msg_data
2189: );
2190: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2191: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2192: END IF;
2193:
2194: ELSE -- if l_Calendar_Id is NULL added for Bug#3769227
2195: IF (p_Is_XTD_Enabled = FND_API.G_TRUE) THEN
2191: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2192: END IF;
2193:
2194: ELSE -- if l_Calendar_Id is NULL added for Bug#3769227
2195: IF (p_Is_XTD_Enabled = FND_API.G_TRUE) THEN
2196: OPEN c1 (1001);
2197: FETCH c1 INTO l_Calendar_Id;
2198: CLOSE c1;
2199:
2207: ,x_msg_count => x_Msg_Count
2208: ,x_msg_data => x_Msg_Data
2209: );
2210:
2211: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
2212: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2213: END IF;
2214:
2215: END IF;
2208: ,x_msg_data => x_Msg_Data
2209: );
2210:
2211: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
2212: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2213: END IF;
2214:
2215: END IF;
2216: END IF;
2214:
2215: END IF;
2216: END IF;
2217: EXCEPTION
2218: WHEN FND_API.G_EXC_ERROR THEN
2219: ROLLBACK TO BSCAsgnKpiPeriodicities;
2220: IF (x_msg_data IS NULL) THEN
2221: FND_MSG_PUB.Count_And_Get
2222: ( p_encoded => FND_API.G_FALSE
2218: WHEN FND_API.G_EXC_ERROR THEN
2219: ROLLBACK TO BSCAsgnKpiPeriodicities;
2220: IF (x_msg_data IS NULL) THEN
2221: FND_MSG_PUB.Count_And_Get
2222: ( p_encoded => FND_API.G_FALSE
2223: , p_count => x_msg_count
2224: , p_data => x_msg_data
2225: );
2226: END IF;
2223: , p_count => x_msg_count
2224: , p_data => x_msg_data
2225: );
2226: END IF;
2227: --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_ERROR '||x_msg_data);
2228: x_return_status := FND_API.G_RET_STS_ERROR;
2229: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2230: ROLLBACK TO BSCAsgnKpiPeriodicities;
2231: IF (x_msg_data IS NULL) THEN
2224: , p_data => x_msg_data
2225: );
2226: END IF;
2227: --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_ERROR '||x_msg_data);
2228: x_return_status := FND_API.G_RET_STS_ERROR;
2229: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2230: ROLLBACK TO BSCAsgnKpiPeriodicities;
2231: IF (x_msg_data IS NULL) THEN
2232: FND_MSG_PUB.Count_And_Get
2225: );
2226: END IF;
2227: --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_ERROR '||x_msg_data);
2228: x_return_status := FND_API.G_RET_STS_ERROR;
2229: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2230: ROLLBACK TO BSCAsgnKpiPeriodicities;
2231: IF (x_msg_data IS NULL) THEN
2232: FND_MSG_PUB.Count_And_Get
2233: ( p_encoded => FND_API.G_FALSE
2229: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2230: ROLLBACK TO BSCAsgnKpiPeriodicities;
2231: IF (x_msg_data IS NULL) THEN
2232: FND_MSG_PUB.Count_And_Get
2233: ( p_encoded => FND_API.G_FALSE
2234: , p_count => x_msg_count
2235: , p_data => x_msg_data
2236: );
2237: END IF;
2234: , p_count => x_msg_count
2235: , p_data => x_msg_data
2236: );
2237: END IF;
2238: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2239: --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_UNEXPECTED_ERROR '||x_msg_data);
2240: WHEN OTHERS THEN
2241: ROLLBACK TO BSCAsgnKpiPeriodicities;
2242: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2235: , p_data => x_msg_data
2236: );
2237: END IF;
2238: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2239: --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_UNEXPECTED_ERROR '||x_msg_data);
2240: WHEN OTHERS THEN
2241: ROLLBACK TO BSCAsgnKpiPeriodicities;
2242: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2243: IF (x_msg_data IS NOT NULL) THEN
2238: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2239: --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_UNEXPECTED_ERROR '||x_msg_data);
2240: WHEN OTHERS THEN
2241: ROLLBACK TO BSCAsgnKpiPeriodicities;
2242: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2243: IF (x_msg_data IS NOT NULL) THEN
2244: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Assign_Kpi_Periodicities ';
2245: ELSE
2246: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Assign_Kpi_Periodicities ';
2252: PROCEDURE Update_Actual_Data_Source(
2253: p_Kpi_Id IN NUMBER
2254: , p_Dataset_Id IN NUMBER
2255: , p_Measure_Short_Name IN VARCHAR2
2256: , p_Create_Region_Per_AO IN VARCHAR2 := FND_API.G_FALSE
2257:
2258: ) IS
2259:
2260: l_value VARCHAR2(1000);
2265:
2266:
2267: l_Analysis_Option := NULL;
2268:
2269: IF (p_Create_Region_Per_AO = FND_API.G_TRUE) THEN
2270: l_Analysis_Option := Get_AO_Id_By_Measure (
2271: p_Kpi_Id => p_kpi_id
2272: , p_Dataset_Id => p_dataset_id
2273: );
2367: ELSE
2368: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Update_Dim_Dim_Level_Columns ';
2369: END IF;
2370: WHEN OTHERS THEN
2371: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2372: IF (x_msg_data IS NOT NULL) THEN
2373: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Update_Dim_Dim_Level_Columns ';
2374: ELSE
2375: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Update_Dim_Dim_Level_Columns ';
2469: ,x_Return_Status => x_Return_Status
2470: ,x_Msg_Count => x_Msg_Count
2471: ,x_Msg_Data => x_Msg_Data
2472: );
2473: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
2474: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2475: END IF;
2476:
2477: --DBMS_OUTPUT.PUT_LINE('region_code = ' || BSC_UTILITY.C_BSC_UNDERSCORE || p_kpi_id);
2470: ,x_Msg_Count => x_Msg_Count
2471: ,x_Msg_Data => x_Msg_Data
2472: );
2473: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
2474: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2475: END IF;
2476:
2477: --DBMS_OUTPUT.PUT_LINE('region_code = ' || BSC_UTILITY.C_BSC_UNDERSCORE || p_kpi_id);
2478: --DBMS_OUTPUT.PUT_LINE('return_status_for measure_region_item = ' || x_return_status);
2476:
2477: --DBMS_OUTPUT.PUT_LINE('region_code = ' || BSC_UTILITY.C_BSC_UNDERSCORE || p_kpi_id);
2478: --DBMS_OUTPUT.PUT_LINE('return_status_for measure_region_item = ' || x_return_status);
2479: EXCEPTION
2480: WHEN FND_API.G_EXC_ERROR THEN
2481: IF (x_msg_data IS NULL) THEN
2482: FND_MSG_PUB.Count_And_Get
2483: ( p_encoded => FND_API.G_FALSE
2484: , p_count => x_msg_count
2479: EXCEPTION
2480: WHEN FND_API.G_EXC_ERROR THEN
2481: IF (x_msg_data IS NULL) THEN
2482: FND_MSG_PUB.Count_And_Get
2483: ( p_encoded => FND_API.G_FALSE
2484: , p_count => x_msg_count
2485: , p_data => x_msg_data
2486: );
2487: END IF;
2484: , p_count => x_msg_count
2485: , p_data => x_msg_data
2486: );
2487: END IF;
2488: x_return_status := FND_API.G_RET_STS_ERROR;
2489: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2490: IF (x_msg_data IS NULL) THEN
2491: FND_MSG_PUB.Count_And_Get
2492: ( p_encoded => FND_API.G_FALSE
2485: , p_data => x_msg_data
2486: );
2487: END IF;
2488: x_return_status := FND_API.G_RET_STS_ERROR;
2489: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2490: IF (x_msg_data IS NULL) THEN
2491: FND_MSG_PUB.Count_And_Get
2492: ( p_encoded => FND_API.G_FALSE
2493: , p_count => x_msg_count
2488: x_return_status := FND_API.G_RET_STS_ERROR;
2489: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2490: IF (x_msg_data IS NULL) THEN
2491: FND_MSG_PUB.Count_And_Get
2492: ( p_encoded => FND_API.G_FALSE
2493: , p_count => x_msg_count
2494: , p_data => x_msg_data
2495: );
2496: END IF;
2493: , p_count => x_msg_count
2494: , p_data => x_msg_data
2495: );
2496: END IF;
2497: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2498:
2499: WHEN NO_DATA_FOUND THEN
2500: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2501: IF (x_msg_data IS NOT NULL) THEN
2496: END IF;
2497: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2498:
2499: WHEN NO_DATA_FOUND THEN
2500: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2501: IF (x_msg_data IS NOT NULL) THEN
2502: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Update_Measure_Region_Item ';
2503: ELSE
2504: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Update_Measure_Region_Item ';
2503: ELSE
2504: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Update_Measure_Region_Item ';
2505: END IF;
2506: WHEN OTHERS THEN
2507: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2508: IF (x_msg_data IS NOT NULL) THEN
2509: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Update_Measure_Region_Item ';
2510: ELSE
2511: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Update_Measure_Region_Item ';
2519: Procedure to Delete the Measure Region Item
2520: */
2521:
2522: PROCEDURE Delete_Measure_Region_Item(
2523: p_commit VARCHAR2 := FND_API.G_FALSE,
2524: p_Param_Portlet_Region_Code VARCHAR2,
2525: p_Measure_Short_Name VARCHAR2,
2526: p_Application_Id NUMBER,
2527: x_return_status OUT NOCOPY VARCHAR2,
2553:
2554:
2555:
2556: PROCEDURE Unassign_Kpi_Analysis_Option (
2557: p_Commit VARCHAR2 := FND_API.G_FALSE
2558: ,p_Kpi_Id NUMBER
2559: ,p_Dataset_Id NUMBER
2560: ,x_return_status OUT NOCOPY VARCHAR2
2561: ,x_msg_count OUT NOCOPY NUMBER
2582: BEGIN
2583: --DBMS_OUTPUT.PUT_LINE('Inside Unassign_Kpi_Analysis_Option' );
2584:
2585:
2586: x_return_status := FND_API.G_RET_STS_SUCCESS;
2587:
2588: l_counter := 0;
2589:
2590: l_Option0 := 0;
2609:
2610: -- We need to ensure that we dont delete invalid entries, since
2611: -- currently we are querying only using (Indicator, Dataset_Id)
2612:
2613: x_return_status := FND_API.G_RET_STS_SUCCESS;
2614:
2615: IF (l_counter = 1) THEN
2616: BSC_BIS_KPI_MEAS_PUB.Delete_KPI_Multi_Groups_Opts
2617: ( p_commit => p_Commit
2628: );
2629:
2630: --DBMS_OUTPUT.PUT_LINE('BSC_BIS_KPI_MEAS_PUB.Delete_KPI_Multi_Groups_Opts - x_return_status ' || x_return_status);
2631: ELSE
2632: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2633: END IF;
2634:
2635: END Unassign_Kpi_Analysis_Option;
2636:
2673: END Get_Kpi_Id;
2674:
2675:
2676: PROCEDURE Delete_Dim_Level_Region_Item(
2677: p_commit VARCHAR2 := FND_API.G_FALSE
2678: ,p_Application_Id NUMBER
2679: ,p_Non_Time_Counter NUMBER
2680: ,p_Non_Time_Dimension_Objects bsc_varchar2_tbl_type
2681: ,p_Non_Time_Dimension_Groups bsc_varchar2_tbl_type
2752: */
2753:
2754:
2755: PROCEDURE Update_Kpi_Analysis_Option (
2756: p_Commit VARCHAR2 := FND_API.G_FALSE
2757: ,p_Kpi_Id NUMBER
2758: ,p_Dataset_Id NUMBER
2759: ,p_Measure_Name VARCHAR2
2760: ,p_Measure_Description VARCHAR2
2792:
2793: -- We need to ensure that we dont delete invalid entries, since
2794: -- currently we are querying only using (Indicator, Dataset_Id)
2795:
2796: x_return_status := FND_API.G_RET_STS_SUCCESS;
2797:
2798: IF (l_Counter = 1) THEN
2799: UPDATE BSC_KPI_ANALYSIS_OPTIONS_TL
2800: SET NAME = p_Measure_Name
2818: AND SERIES_ID = 0
2819: AND USERENV('LANG') IN (LANGUAGE, SOURCE_LANG);
2820:
2821: ELSE
2822: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2823: END IF;
2824:
2825:
2826: END Update_Kpi_Analysis_Option;
2932: END Get_AO_Id_By_Measure;
2933:
2934:
2935: PROCEDURE Create_Region_By_AO (
2936: p_Commit VARCHAR2 := FND_API.G_FALSE
2937: , p_Kpi_Id IN NUMBER
2938: , p_Analysis_Option_Id IN NUMBER := NULL
2939: , p_Dim_Set_Id IN NUMBER
2940: , p_Region_Name IN VARCHAR2
2993: ,x_return_status => x_return_status
2994: ,x_msg_count => x_msg_count
2995: ,x_msg_data => x_msg_data
2996: );
2997: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2998: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2999: END IF;
3000:
3001: EXCEPTION
2994: ,x_msg_count => x_msg_count
2995: ,x_msg_data => x_msg_data
2996: );
2997: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2998: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2999: END IF;
3000:
3001: EXCEPTION
3002: WHEN FND_API.G_EXC_ERROR THEN
2998: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2999: END IF;
3000:
3001: EXCEPTION
3002: WHEN FND_API.G_EXC_ERROR THEN
3003: IF (x_msg_data IS NULL) THEN
3004: FND_MSG_PUB.Count_And_Get
3005: ( p_encoded => FND_API.G_FALSE
3006: , p_count => x_msg_count
3001: EXCEPTION
3002: WHEN FND_API.G_EXC_ERROR THEN
3003: IF (x_msg_data IS NULL) THEN
3004: FND_MSG_PUB.Count_And_Get
3005: ( p_encoded => FND_API.G_FALSE
3006: , p_count => x_msg_count
3007: , p_data => x_msg_data
3008: );
3009: END IF;
3006: , p_count => x_msg_count
3007: , p_data => x_msg_data
3008: );
3009: END IF;
3010: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3011: IF (x_msg_data IS NULL) THEN
3012: FND_MSG_PUB.Count_And_Get
3013: ( p_encoded => FND_API.G_FALSE
3014: , p_count => x_msg_count
3009: END IF;
3010: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3011: IF (x_msg_data IS NULL) THEN
3012: FND_MSG_PUB.Count_And_Get
3013: ( p_encoded => FND_API.G_FALSE
3014: , p_count => x_msg_count
3015: , p_data => x_msg_data
3016: );
3017: END IF;
3034:
3035: -- Update Region By Analysis Option ID
3036:
3037: PROCEDURE Update_Region_By_AO (
3038: p_Commit VARCHAR2 := FND_API.G_FALSE
3039: , p_Kpi_Id IN NUMBER
3040: , p_Analysis_Option_Id IN NUMBER
3041: , p_Dim_Set_Id IN NUMBER
3042: , p_Region_Name IN VARCHAR2
3089: ,x_return_status => x_return_status
3090: ,x_msg_count => x_msg_count
3091: ,x_msg_data => x_msg_data
3092: );
3093: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3094: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3095: END IF;
3096:
3097: EXCEPTION
3090: ,x_msg_count => x_msg_count
3091: ,x_msg_data => x_msg_data
3092: );
3093: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3094: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3095: END IF;
3096:
3097: EXCEPTION
3098: WHEN FND_API.G_EXC_ERROR THEN
3094: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3095: END IF;
3096:
3097: EXCEPTION
3098: WHEN FND_API.G_EXC_ERROR THEN
3099: IF (x_msg_data IS NULL) THEN
3100: FND_MSG_PUB.Count_And_Get
3101: ( p_encoded => FND_API.G_FALSE
3102: , p_count => x_msg_count
3097: EXCEPTION
3098: WHEN FND_API.G_EXC_ERROR THEN
3099: IF (x_msg_data IS NULL) THEN
3100: FND_MSG_PUB.Count_And_Get
3101: ( p_encoded => FND_API.G_FALSE
3102: , p_count => x_msg_count
3103: , p_data => x_msg_data
3104: );
3105: END IF;
3102: , p_count => x_msg_count
3103: , p_data => x_msg_data
3104: );
3105: END IF;
3106: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3107: IF (x_msg_data IS NULL) THEN
3108: FND_MSG_PUB.Count_And_Get
3109: ( p_encoded => FND_API.G_FALSE
3110: , p_count => x_msg_count
3105: END IF;
3106: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3107: IF (x_msg_data IS NULL) THEN
3108: FND_MSG_PUB.Count_And_Get
3109: ( p_encoded => FND_API.G_FALSE
3110: , p_count => x_msg_count
3111: , p_data => x_msg_data
3112: );
3113: END IF;
3361: END Create_Nested_Region_Item;
3362:
3363:
3364: PROCEDURE Delete_Nested_Region_Item(
3365: p_commit VARCHAR2 := FND_API.G_FALSE,
3366: p_Root_AK_Region VARCHAR2,
3367: p_Application_Id NUMBER,
3368: p_Nested_Region_Code VARCHAR2,
3369: x_return_status OUT NOCOPY VARCHAR2,
3396: FUNCTION IS_NOT_NULL(p_name VARCHAR2)
3397: RETURN VARCHAR2 IS
3398: BEGIN
3399: IF (p_name IS NULL) THEN
3400: RETURN FND_API.G_FALSE;
3401: END IF;
3402: RETURN FND_API.G_TRUE;
3403: END IS_NOT_NULL;
3404:
3398: BEGIN
3399: IF (p_name IS NULL) THEN
3400: RETURN FND_API.G_FALSE;
3401: END IF;
3402: RETURN FND_API.G_TRUE;
3403: END IS_NOT_NULL;
3404:
3405:
3406: /*this function will return 'T' (FND_API.G_TRUE) if the passed short_name of KPI Group
3402: RETURN FND_API.G_TRUE;
3403: END IS_NOT_NULL;
3404:
3405:
3406: /*this function will return 'T' (FND_API.G_TRUE) if the passed short_name of KPI Group
3407: is created through KPI End to End module otherwise 'F' (FND_API.G_FALSE)
3408:
3409: This function assumes the Short_Name passed is valid and exists in
3410: BSC Metadata. It will not be checked from BSC tables due to performance reasons.
3403: END IS_NOT_NULL;
3404:
3405:
3406: /*this function will return 'T' (FND_API.G_TRUE) if the passed short_name of KPI Group
3407: is created through KPI End to End module otherwise 'F' (FND_API.G_FALSE)
3408:
3409: This function assumes the Short_Name passed is valid and exists in
3410: BSC Metadata. It will not be checked from BSC tables due to performance reasons.
3411:
3416: BEGIN
3417: RETURN IS_NOT_NULL(p_Short_Name);
3418: EXCEPTION
3419: WHEN OTHERS THEN
3420: RETURN FND_API.G_FALSE;
3421: END is_KPI_EndToEnd_Group;
3422:
3423:
3424: /*this function will return 'T' (FND_API.G_TRUE) if the passed short_name of KPI
3420: RETURN FND_API.G_FALSE;
3421: END is_KPI_EndToEnd_Group;
3422:
3423:
3424: /*this function will return 'T' (FND_API.G_TRUE) if the passed short_name of KPI
3425: is created through KPI End to End module otherwise 'F' (FND_API.G_FALSE)
3426:
3427: This function assumes the Short_Name passed is valid and exists in
3428: BSC Metadata. It will not be checked from BSC tables due to performance reasons.
3421: END is_KPI_EndToEnd_Group;
3422:
3423:
3424: /*this function will return 'T' (FND_API.G_TRUE) if the passed short_name of KPI
3425: is created through KPI End to End module otherwise 'F' (FND_API.G_FALSE)
3426:
3427: This function assumes the Short_Name passed is valid and exists in
3428: BSC Metadata. It will not be checked from BSC tables due to performance reasons.
3429:
3434: BEGIN
3435: RETURN IS_NOT_NULL(p_Short_Name);
3436: EXCEPTION
3437: WHEN OTHERS THEN
3438: RETURN FND_API.G_FALSE;
3439: END is_KPI_EndToEnd_KPI;
3440:
3441: FUNCTION is_KPI_EndToEnd_AnaOpt(p_Short_Name VARCHAR2)
3442: RETURN VARCHAR2 IS
3443: BEGIN
3444: RETURN IS_NOT_NULL(p_Short_Name);
3445: EXCEPTION
3446: WHEN OTHERS THEN
3447: RETURN FND_API.G_FALSE;
3448: END is_KPI_EndToEnd_AnaOpt;
3449:
3450:
3451:
3448: END is_KPI_EndToEnd_AnaOpt;
3449:
3450:
3451:
3452: /*this function will return 'T' (FND_API.G_TRUE) if the passed short_name of Dimension Object
3453: is created through KPI End to End module otherwise 'F' (FND_API.G_FALSE)
3454:
3455: This function assumes the Short_Name passed is valid and exists in
3456: BSC Metadata. It will not be checked from BSC tables due to performance reasons.
3449:
3450:
3451:
3452: /*this function will return 'T' (FND_API.G_TRUE) if the passed short_name of Dimension Object
3453: is created through KPI End to End module otherwise 'F' (FND_API.G_FALSE)
3454:
3455: This function assumes the Short_Name passed is valid and exists in
3456: BSC Metadata. It will not be checked from BSC tables due to performance reasons.
3457:
3461: RETURN VARCHAR2 IS
3462: l_Count NUMBER;
3463: BEGIN
3464: IF (p_Short_Name IS NULL) THEN
3465: RETURN FND_API.G_FALSE;
3466: END IF;
3467:
3468: l_Count := 0;
3469:
3472: WHERE Attribute_Code = p_Short_Name;
3473: --AND Attribute_Application_Id = 271;
3474:
3475: IF (l_Count = 0) THEN
3476: RETURN FND_API.G_FALSE;
3477: ELSE
3478: RETURN FND_API.G_TRUE;
3479: END IF;
3480: EXCEPTION
3474:
3475: IF (l_Count = 0) THEN
3476: RETURN FND_API.G_FALSE;
3477: ELSE
3478: RETURN FND_API.G_TRUE;
3479: END IF;
3480: EXCEPTION
3481: WHEN OTHERS THEN
3482: RETURN FND_API.G_FALSE;
3478: RETURN FND_API.G_TRUE;
3479: END IF;
3480: EXCEPTION
3481: WHEN OTHERS THEN
3482: RETURN FND_API.G_FALSE;
3483: END is_KPI_EndToEnd_DimObject;
3484:
3485:
3486: /*this function will return 'T' (FND_API.G_TRUE) if the passed short_name of Dimension
3482: RETURN FND_API.G_FALSE;
3483: END is_KPI_EndToEnd_DimObject;
3484:
3485:
3486: /*this function will return 'T' (FND_API.G_TRUE) if the passed short_name of Dimension
3487: is created through KPI End to End module otherwise 'F' (FND_API.G_FALSE)
3488:
3489: This function assumes the Short_Name passed is valid and exists in
3490: BSC Metadata. It will not be checked from BSC tables due to performance reasons.
3483: END is_KPI_EndToEnd_DimObject;
3484:
3485:
3486: /*this function will return 'T' (FND_API.G_TRUE) if the passed short_name of Dimension
3487: is created through KPI End to End module otherwise 'F' (FND_API.G_FALSE)
3488:
3489: This function assumes the Short_Name passed is valid and exists in
3490: BSC Metadata. It will not be checked from BSC tables due to performance reasons.
3491:
3495: RETURN VARCHAR2 IS
3496: l_Count NUMBER;
3497: BEGIN
3498: IF (p_Short_Name IS NULL) THEN
3499: RETURN FND_API.G_FALSE;
3500: END IF;
3501:
3502: l_Count := 0;
3503:
3506: WHERE Region_Code = p_Short_Name;
3507: --AND Region_Application_Id = 271;--hardcoded application id will be removed with a constant
3508:
3509: IF (l_Count = 0) THEN
3510: RETURN FND_API.G_FALSE;
3511: ELSE
3512: RETURN FND_API.G_TRUE;
3513: END IF;
3514: EXCEPTION
3508:
3509: IF (l_Count = 0) THEN
3510: RETURN FND_API.G_FALSE;
3511: ELSE
3512: RETURN FND_API.G_TRUE;
3513: END IF;
3514: EXCEPTION
3515: WHEN OTHERS THEN
3516: RETURN FND_API.G_FALSE;
3512: RETURN FND_API.G_TRUE;
3513: END IF;
3514: EXCEPTION
3515: WHEN OTHERS THEN
3516: RETURN FND_API.G_FALSE;
3517: END is_KPI_EndToEnd_Dimension;
3518:
3519:
3520: -- This function is scalable only to 99 region items for any regions,
3578: Create Wrapper for Generic Region Item Creation
3579: */
3580:
3581: PROCEDURE Create_Sim_Generic_Region_Item(
3582: p_commit IN VARCHAR2 := FND_API.G_FALSE
3583: , p_Region_Code IN VARCHAR2
3584: , p_Region_Application_Id IN NUMBER
3585: , p_Attribute_Code IN VARCHAR2
3586: , p_Attribute_Application_Id IN NUMBER
3673: The API creates a All additional Region Items for the specified
3674: AK Region
3675: */
3676: PROCEDURE Create_Addl_Ak_Region_Items(
3677: p_commit IN VARCHAR2 := FND_API.G_FALSE
3678: , p_Region_Code IN VARCHAR2
3679: , p_Region_Application_Id IN NUMBER
3680: , p_Display_Sequence IN NUMBER
3681: , p_Display_Format IN VARCHAR2
3707: l_msg_data VARCHAR2(2000);
3708: BEGIN
3709:
3710: FND_MSG_PUB.Initialize;
3711: x_return_status := FND_API.G_RET_STS_SUCCESS;
3712: l_has_comp_or_plan := BSC_BIS_KPI_CRUD_PUB.Has_Compare_To_Or_Plan (p_Param_Portlet_Region_Code);
3713:
3714: -- Create a new Nested Region Item (with Param Region Code)
3715: Create_Sim_Generic_Region_Item(
3742: , x_return_status => x_return_status
3743: , x_msg_count => x_msg_count
3744: , x_msg_data => x_msg_data
3745: );
3746: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3747: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3748: END IF;
3749:
3750: ---------------------------------------------------------------------
3743: , x_msg_count => x_msg_count
3744: , x_msg_data => x_msg_data
3745: );
3746: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3747: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3748: END IF;
3749:
3750: ---------------------------------------------------------------------
3751: /*
3768: ,x_msg_data=>l_msg_data
3769: );
3770:
3771: IF (l_msg_data IS NOT NULL) THEN
3772: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3773: END IF;
3774:
3775: IF (l_time_dim_obj_short_names IS NULL) THEN
3776:
3808:
3809:
3810: END IF;
3811:
3812: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3813: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3814: END IF;
3815:
3816: ---------------------------------------------------------------------
3809:
3810: END IF;
3811:
3812: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3813: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3814: END IF;
3815:
3816: ---------------------------------------------------------------------
3817:
3855: , x_return_status => x_return_status
3856: , x_msg_count => x_msg_count
3857: , x_msg_data => x_msg_data
3858: );
3859: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3860: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3861: END IF;
3862:
3863:
3856: , x_msg_count => x_msg_count
3857: , x_msg_data => x_msg_data
3858: );
3859: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3860: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3861: END IF;
3862:
3863:
3864: -- Create a Compare-To Region Item
3903: , x_msg_count => x_msg_count
3904: , x_msg_data => x_msg_data
3905: );
3906:
3907: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3908: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3909: END IF;
3910:
3911:
3904: , x_msg_data => x_msg_data
3905: );
3906:
3907: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3908: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3909: END IF;
3910:
3911:
3912: -- Create a Change Region Item
3958: , x_msg_count => x_msg_count
3959: , x_msg_data => x_msg_data
3960: );
3961:
3962: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3963: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3964: END IF;
3965: END IF;
3966:
3959: , x_msg_data => x_msg_data
3960: );
3961:
3962: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3963: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3964: END IF;
3965: END IF;
3966:
3967:
3998: , x_msg_count => x_msg_count
3999: , x_msg_data => x_msg_data
4000: );
4001:
4002: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4003: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4004: END IF; */
4005:
4006: EXCEPTION
3999: , x_msg_data => x_msg_data
4000: );
4001:
4002: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4003: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4004: END IF; */
4005:
4006: EXCEPTION
4007: WHEN FND_API.G_EXC_ERROR THEN
4003: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4004: END IF; */
4005:
4006: EXCEPTION
4007: WHEN FND_API.G_EXC_ERROR THEN
4008: IF (x_msg_data IS NULL) THEN
4009: FND_MSG_PUB.Count_And_Get
4010: ( p_encoded => FND_API.G_FALSE
4011: , p_count => x_msg_count
4006: EXCEPTION
4007: WHEN FND_API.G_EXC_ERROR THEN
4008: IF (x_msg_data IS NULL) THEN
4009: FND_MSG_PUB.Count_And_Get
4010: ( p_encoded => FND_API.G_FALSE
4011: , p_count => x_msg_count
4012: , p_data => x_msg_data
4013: );
4014: END IF;
4011: , p_count => x_msg_count
4012: , p_data => x_msg_data
4013: );
4014: END IF;
4015: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4016: IF (x_msg_data IS NULL) THEN
4017: FND_MSG_PUB.Count_And_Get
4018: ( p_encoded => FND_API.G_FALSE
4019: , p_count => x_msg_count
4014: END IF;
4015: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4016: IF (x_msg_data IS NULL) THEN
4017: FND_MSG_PUB.Count_And_Get
4018: ( p_encoded => FND_API.G_FALSE
4019: , p_count => x_msg_count
4020: , p_data => x_msg_data
4021: );
4022: END IF;
4036: END Create_Addl_Ak_Region_Items;
4037:
4038:
4039: PROCEDURE Delete_Misc_Region_Items(
4040: p_commit VARCHAR2 := FND_API.G_FALSE,
4041: p_Region_Code VARCHAR2,
4042: p_Application_Id NUMBER,
4043: x_return_status OUT NOCOPY VARCHAR2,
4044: x_msg_count OUT NOCOPY NUMBER,
4087: Update Wrapper for Generic Region Item Creation
4088: */
4089:
4090: PROCEDURE Update_Sim_Generic_Region_Item(
4091: p_commit IN VARCHAR2 := FND_API.G_FALSE
4092: , p_Region_Code IN VARCHAR2
4093: , p_Region_Application_Id IN NUMBER
4094: , p_Attribute_Code IN VARCHAR2
4095: , p_Attribute_Application_Id IN NUMBER
4183:
4184:
4185:
4186: PROCEDURE Update_Addl_Ak_Region_Items(
4187: p_commit IN VARCHAR2 := FND_API.G_FALSE
4188: , p_Region_Code IN VARCHAR2
4189: , p_Region_Application_Id IN NUMBER
4190: , p_Display_Format IN VARCHAR2
4191: , p_Format_id IN NUMBER
4231:
4232: BEGIN
4233:
4234: FND_MSG_PUB.Initialize;
4235: x_return_status := FND_API.G_RET_STS_SUCCESS;
4236:
4237:
4238:
4239: l_Colspan_Attr_Code := get_Unique_Attribute_Code (
4288: , x_msg_count => x_msg_count
4289: , x_msg_data => x_msg_data
4290: );
4291:
4292: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4293: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4294: END IF;
4295: END LOOP;
4296:
4289: , x_msg_data => x_msg_data
4290: );
4291:
4292: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4293: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4294: END IF;
4295: END LOOP;
4296:
4297:
4353: , x_msg_count => x_msg_count
4354: , x_msg_data => x_msg_data
4355: );
4356:
4357: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4358: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4359: END IF;
4360: END LOOP;
4361:
4354: , x_msg_data => x_msg_data
4355: );
4356:
4357: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4358: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4359: END IF;
4360: END LOOP;
4361:
4362:
4362:
4363:
4364:
4365: EXCEPTION
4366: WHEN FND_API.G_EXC_ERROR THEN
4367: IF (x_msg_data IS NULL) THEN
4368: FND_MSG_PUB.Count_And_Get
4369: ( p_encoded => FND_API.G_FALSE
4370: , p_count => x_msg_count
4365: EXCEPTION
4366: WHEN FND_API.G_EXC_ERROR THEN
4367: IF (x_msg_data IS NULL) THEN
4368: FND_MSG_PUB.Count_And_Get
4369: ( p_encoded => FND_API.G_FALSE
4370: , p_count => x_msg_count
4371: , p_data => x_msg_data
4372: );
4373: END IF;
4370: , p_count => x_msg_count
4371: , p_data => x_msg_data
4372: );
4373: END IF;
4374: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4375: IF (x_msg_data IS NULL) THEN
4376: FND_MSG_PUB.Count_And_Get
4377: ( p_encoded => FND_API.G_FALSE
4378: , p_count => x_msg_count
4373: END IF;
4374: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4375: IF (x_msg_data IS NULL) THEN
4376: FND_MSG_PUB.Count_And_Get
4377: ( p_encoded => FND_API.G_FALSE
4378: , p_count => x_msg_count
4379: , p_data => x_msg_data
4380: );
4381: END IF;
4432:
4433: RETURN x_measure_group_id;
4434:
4435: WHEN OTHERS THEN
4436: x_return_status := FND_API.G_RET_STS_ERROR;
4437: x_msg_data := BSC_APPS.GET_MESSAGE( 'BSC_KPI_ETE_MEASURE_GROUP_ERR');
4438:
4439: RETURN BSC_BIS_KPI_CRUD_PUB.c_measure_group_id_error;
4440:
4478:
4479: */
4480:
4481: PROCEDURE Create_Dimension(
4482: p_Commit IN VARCHAR2 := FND_API.G_FALSE
4483: ,p_Dim_Short_Name IN VARCHAR2
4484: ,p_Display_Name IN VARCHAR2
4485: ,p_Description IN VARCHAR2
4486: ,p_Dim_Objs_Record IN BSC_BIS_KPI_CRUD_PUB.BSC_VARCHAR2_TBL_TYPE
4486: ,p_Dim_Objs_Record IN BSC_BIS_KPI_CRUD_PUB.BSC_VARCHAR2_TBL_TYPE
4487: ,p_Dim_Obj_Short_Names IN VARCHAR2
4488: ,p_Dim_Objects_Counter IN NUMBER
4489: ,p_Application_Id IN NUMBER
4490: ,p_hide IN VARCHAR2 := FND_API.G_FALSE
4491: ,x_Return_Status OUT NOCOPY VARCHAR2
4492: ,x_Msg_Count OUT NOCOPY NUMBER
4493: ,x_Msg_Data OUT NOCOPY VARCHAR2
4494: ) IS
4526:
4527: BEGIN
4528: SAVEPOINT KpiCrudCreateDimension;
4529: FND_MSG_PUB.Initialize;
4530: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
4531:
4532:
4533: -- Attempt to create a Dimension for the Parameter Portlet RegionCode.
4534: BSC_BIS_DIMENSION_PUB.Create_Dimension(
4543: ,x_msg_count => x_Msg_Count
4544: ,x_msg_data => x_Msg_Data
4545: );
4546:
4547: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4548: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4549: END IF;
4550:
4551: IF (c_Get_Prop_Dim%ISOPEN) THEN
4544: ,x_msg_data => x_Msg_Data
4545: );
4546:
4547: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4548: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4549: END IF;
4550:
4551: IF (c_Get_Prop_Dim%ISOPEN) THEN
4552: CLOSE c_Get_Prop_Dim;
4565:
4566: IF(c_Get_Prop_Dim%NOTFOUND) THEN
4567: FND_MESSAGE.SET_NAME('BSC','BSC_DIP_ERR_GET_GROUP_ID');
4568: FND_MSG_PUB.ADD;
4569: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4570: END IF;
4571:
4572: CLOSE c_Get_Prop_Dim;
4573:
4571:
4572: CLOSE c_Get_Prop_Dim;
4573:
4574: -- ADRAO added condition for Bug#3770986
4575: IF (Is_Excluded_Dimension_Object(l_Dim_Obj_Short_Name) = FND_API.G_FALSE) THEN
4576: BSC_BIS_DIMENSION_PUB.Assign_Dimension_Object
4577: ( p_commit => FND_API.G_FALSE
4578: , p_dim_short_name => p_Dim_Short_Name
4579: , p_dim_obj_short_name => l_Dim_Obj_Short_Name
4573:
4574: -- ADRAO added condition for Bug#3770986
4575: IF (Is_Excluded_Dimension_Object(l_Dim_Obj_Short_Name) = FND_API.G_FALSE) THEN
4576: BSC_BIS_DIMENSION_PUB.Assign_Dimension_Object
4577: ( p_commit => FND_API.G_FALSE
4578: , p_dim_short_name => p_Dim_Short_Name
4579: , p_dim_obj_short_name => l_Dim_Obj_Short_Name
4580: , p_comp_flag => l_Comparison_Flag -- this value is acting like a flag
4581: , p_no_items => 0
4588: , x_msg_count => x_msg_count
4589: , x_msg_data => x_msg_data
4590: );
4591: --DBMS_OUTPUT.PUT_LINE('(step 13 c)l_Dim_Obj_Short_Name - ' || l_Dim_Obj_Short_Name);
4592: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4593: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4594: END IF;
4595: END IF;
4596: END LOOP;*/
4589: , x_msg_data => x_msg_data
4590: );
4591: --DBMS_OUTPUT.PUT_LINE('(step 13 c)l_Dim_Obj_Short_Name - ' || l_Dim_Obj_Short_Name);
4592: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4593: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4594: END IF;
4595: END IF;
4596: END LOOP;*/
4597:
4601: DBMS_OUTPUT.PUT_LINE (' dim_level_index - ' || ctmp.dim_level_index);
4602: END LOOP; */
4603:
4604:
4605: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
4606:
4607: EXCEPTION
4608: WHEN FND_API.G_EXC_ERROR THEN
4609: ROLLBACK TO KpiCrudCreateDimension;
4604:
4605: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
4606:
4607: EXCEPTION
4608: WHEN FND_API.G_EXC_ERROR THEN
4609: ROLLBACK TO KpiCrudCreateDimension;
4610: IF (c_Get_Prop_Dim%ISOPEN) THEN
4611: CLOSE c_Get_Prop_Dim;
4612: END IF;
4611: CLOSE c_Get_Prop_Dim;
4612: END IF;
4613: IF (x_msg_data IS NULL) THEN
4614: FND_MSG_PUB.Count_And_Get
4615: ( p_encoded => FND_API.G_FALSE
4616: , p_count => x_msg_count
4617: , p_data => x_msg_data
4618: );
4619: END IF;
4616: , p_count => x_msg_count
4617: , p_data => x_msg_data
4618: );
4619: END IF;
4620: x_return_status := FND_API.G_RET_STS_ERROR;
4621: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4622: ROLLBACK TO KpiCrudCreateDimension;
4623: IF (c_Get_Prop_Dim%ISOPEN) THEN
4624: CLOSE c_Get_Prop_Dim;
4617: , p_data => x_msg_data
4618: );
4619: END IF;
4620: x_return_status := FND_API.G_RET_STS_ERROR;
4621: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4622: ROLLBACK TO KpiCrudCreateDimension;
4623: IF (c_Get_Prop_Dim%ISOPEN) THEN
4624: CLOSE c_Get_Prop_Dim;
4625: END IF;
4624: CLOSE c_Get_Prop_Dim;
4625: END IF;
4626: IF (x_msg_data IS NULL) THEN
4627: FND_MSG_PUB.Count_And_Get
4628: ( p_encoded => FND_API.G_FALSE
4629: , p_count => x_msg_count
4630: , p_data => x_msg_data
4631: );
4632: END IF;
4629: , p_count => x_msg_count
4630: , p_data => x_msg_data
4631: );
4632: END IF;
4633: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4634: WHEN NO_DATA_FOUND THEN
4635: ROLLBACK TO KpiCrudCreateDimension;
4636: IF (c_Get_Prop_Dim%ISOPEN) THEN
4637: CLOSE c_Get_Prop_Dim;
4635: ROLLBACK TO KpiCrudCreateDimension;
4636: IF (c_Get_Prop_Dim%ISOPEN) THEN
4637: CLOSE c_Get_Prop_Dim;
4638: END IF;
4639: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4640: IF (x_msg_data IS NOT NULL) THEN
4641: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Create_Dimension ';
4642: ELSE
4643: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Create_Dimension ';
4646: ROLLBACK TO KpiCrudCreateDimension;
4647: IF (c_Get_Prop_Dim%ISOPEN) THEN
4648: CLOSE c_Get_Prop_Dim;
4649: END IF;
4650: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4651: IF (x_msg_data IS NOT NULL) THEN
4652: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Create_Dimension ';
4653: ELSE
4654: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Create_Dimension ';
4660: Creates all the AK Metadata Required by an KPI, Analysis Options combination.
4661: */
4662:
4663: PROCEDURE Create_Ak_Metadata(
4664: p_Commit IN VARCHAR2 := FND_API.G_FALSE
4665: , p_Create_Region_Per_AO IN VARCHAR2 := FND_API.G_TRUE
4666: , p_Kpi_Id IN NUMBER
4667: , p_Analysis_Option_Id IN NUMBER
4668: , p_Dim_Set_Id IN NUMBER
4661: */
4662:
4663: PROCEDURE Create_Ak_Metadata(
4664: p_Commit IN VARCHAR2 := FND_API.G_FALSE
4665: , p_Create_Region_Per_AO IN VARCHAR2 := FND_API.G_TRUE
4666: , p_Kpi_Id IN NUMBER
4667: , p_Analysis_Option_Id IN NUMBER
4668: , p_Dim_Set_Id IN NUMBER
4669: , p_Measure_Short_Name IN VARCHAR2
4690: SAVEPOINT CreateAkMetadata;
4691: FND_MSG_PUB.Initialize;
4692:
4693: -- Initialize Procedure Variables.
4694: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
4695:
4696: Create_Region_By_AO (
4697: p_Commit => p_Commit
4698: , p_Kpi_Id => p_Kpi_Id
4705: , x_return_status => x_Return_Status
4706: , x_msg_count => x_Msg_Count
4707: , x_msg_data => x_Msg_Data
4708: );
4709: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4710: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4711: END IF;
4712:
4713:
4706: , x_msg_count => x_Msg_Count
4707: , x_msg_data => x_Msg_Data
4708: );
4709: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4710: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4711: END IF;
4712:
4713:
4714: l_Region_Code := BSC_BIS_CUSTOM_KPI_UTIL_PUB.Get_Region_Code(p_Kpi_Id, p_Analysis_Option_Id);
4737: , x_msg_count => x_Msg_Count
4738: , x_msg_data => x_Msg_Data
4739: );
4740:
4741: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4742: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4743: END IF;
4744: --DBMS_OUTPUT.PUT_LINE('Outside Create_Measure_Region_Item ' );
4745:
4738: , x_msg_data => x_Msg_Data
4739: );
4740:
4741: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4742: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4743: END IF;
4744: --DBMS_OUTPUT.PUT_LINE('Outside Create_Measure_Region_Item ' );
4745:
4746: -- udpate the actual data source column in
4796: ,X_CONTEXT_DEPENDENCE => 'RESP'
4797: );
4798:
4799: EXCEPTION
4800: WHEN FND_API.G_EXC_ERROR THEN
4801: ROLLBACK TO CreateAkMetadata;
4802: IF (x_msg_data IS NULL) THEN
4803: FND_MSG_PUB.Count_And_Get
4804: ( p_encoded => FND_API.G_FALSE
4800: WHEN FND_API.G_EXC_ERROR THEN
4801: ROLLBACK TO CreateAkMetadata;
4802: IF (x_msg_data IS NULL) THEN
4803: FND_MSG_PUB.Count_And_Get
4804: ( p_encoded => FND_API.G_FALSE
4805: , p_count => x_msg_count
4806: , p_data => x_msg_data
4807: );
4808: END IF;
4805: , p_count => x_msg_count
4806: , p_data => x_msg_data
4807: );
4808: END IF;
4809: x_return_status := FND_API.G_RET_STS_ERROR;
4810: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4811: ROLLBACK TO CreateAkMetadata;
4812: IF (x_msg_data IS NULL) THEN
4813: FND_MSG_PUB.Count_And_Get
4806: , p_data => x_msg_data
4807: );
4808: END IF;
4809: x_return_status := FND_API.G_RET_STS_ERROR;
4810: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4811: ROLLBACK TO CreateAkMetadata;
4812: IF (x_msg_data IS NULL) THEN
4813: FND_MSG_PUB.Count_And_Get
4814: ( p_encoded => FND_API.G_FALSE
4810: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4811: ROLLBACK TO CreateAkMetadata;
4812: IF (x_msg_data IS NULL) THEN
4813: FND_MSG_PUB.Count_And_Get
4814: ( p_encoded => FND_API.G_FALSE
4815: , p_count => x_msg_count
4816: , p_data => x_msg_data
4817: );
4818: END IF;
4815: , p_count => x_msg_count
4816: , p_data => x_msg_data
4817: );
4818: END IF;
4819: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4820: WHEN NO_DATA_FOUND THEN
4821: ROLLBACK TO CreateAkMetadata;
4822: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4823: IF (x_msg_data IS NOT NULL) THEN
4818: END IF;
4819: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4820: WHEN NO_DATA_FOUND THEN
4821: ROLLBACK TO CreateAkMetadata;
4822: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4823: IF (x_msg_data IS NOT NULL) THEN
4824: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Create_Ak_Metadata ';
4825: ELSE
4826: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Create_Ak_Metadata ';
4826: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Create_Ak_Metadata ';
4827: END IF;
4828: WHEN OTHERS THEN
4829: ROLLBACK TO CreateAkMetadata;
4830: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4831: IF (x_msg_data IS NOT NULL) THEN
4832: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Create_Ak_Metadata ';
4833: ELSE
4834: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Create_Ak_Metadata ';
4860: , p_Dataset_Format_Id IN NUMBER
4861: , p_Dataset_Autoscale_Flag IN NUMBER
4862: , p_Measure_Operation IN VARCHAR2
4863: , p_Measure_Increase_In_Measure IN VARCHAR2
4864: , p_Measure_Obsolete IN VARCHAR2 := FND_API.G_FALSE
4865: , p_Type IN VARCHAR2-- This is used for weighted kpis,This can take values CDS_SCORE,CDS_PERF or Null
4866: , p_Measure_Random_Style IN NUMBER
4867: , p_Measure_Min_Act_Value IN NUMBER
4868: , p_Measure_Max_Act_Value IN NUMBER
4943:
4944: FND_MSG_PUB.Initialize;
4945:
4946: -- Initialize Procedure Variables.
4947: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
4948:
4949:
4950:
4951:
4997: END IF;
4998:
4999: -- This is fix for Bug#4327887
5000: -- Check if AS_OF_DATE is enabled at the Paramter Portlet
5001: IF ((is_XTD_Enabled(p_Param_Portlet_Region_Code) = FND_API.G_TRUE) OR (l_Is_From_Report_Designer)) THEN
5002: -- Check if Advance Summarization Profile > 1, else throw and error.
5003: IF (BSC_UTILITY.Is_Adv_Summarization_Enabled = FND_API.G_FALSE) THEN
5004: FND_MESSAGE.SET_NAME('BSC','BSC_ENABLE_ADV_SUMMARIZATION');
5005: FND_MSG_PUB.ADD;
4999: -- This is fix for Bug#4327887
5000: -- Check if AS_OF_DATE is enabled at the Paramter Portlet
5001: IF ((is_XTD_Enabled(p_Param_Portlet_Region_Code) = FND_API.G_TRUE) OR (l_Is_From_Report_Designer)) THEN
5002: -- Check if Advance Summarization Profile > 1, else throw and error.
5003: IF (BSC_UTILITY.Is_Adv_Summarization_Enabled = FND_API.G_FALSE) THEN
5004: FND_MESSAGE.SET_NAME('BSC','BSC_ENABLE_ADV_SUMMARIZATION');
5005: FND_MSG_PUB.ADD;
5006: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5007: END IF;
5002: -- Check if Advance Summarization Profile > 1, else throw and error.
5003: IF (BSC_UTILITY.Is_Adv_Summarization_Enabled = FND_API.G_FALSE) THEN
5004: FND_MESSAGE.SET_NAME('BSC','BSC_ENABLE_ADV_SUMMARIZATION');
5005: FND_MSG_PUB.ADD;
5006: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5007: END IF;
5008: END IF;
5009:
5010: x_Non_Time_Dim_Obj_Short_Names := NULL;
5037: , x_Time_Counter => x_Time_Counter
5038: , x_Msg_Data => x_Msg_Data
5039: );
5040: IF (x_msg_data IS NOT NULL) THEN
5041: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5042: END IF;
5043: ELSE
5044: IF (p_Dim_Obj_Short_Names IS NOT NULL) THEN
5045: BSC_BIS_KPI_CRUD_PUB.Get_Dim_Info_From_ParamPortlet(
5083: ELSE
5084: -- Get the Source Group ID to be populated to BSC_DB_MEASURE_COLS_VL
5085: l_Measure_Group_Id := Get_Measure_Group_Id(l_Key_Short_Name, x_Return_Status, x_Msg_Data);
5086: IF (x_Msg_Data IS NOT NULL) THEN
5087: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5088: END IF;
5089: END IF;
5090:
5091:
5120: ,p_Tab_Name => l_tab_name
5121: ,p_Tab_Help => l_User_Page_Report_Name
5122: ,p_Tab_Info => l_User_Page_Report_Name
5123: );
5124: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5125: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5126: END IF;
5127: END IF;
5128: ELSE
5121: ,p_Tab_Help => l_User_Page_Report_Name
5122: ,p_Tab_Info => l_User_Page_Report_Name
5123: );
5124: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5125: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5126: END IF;
5127: END IF;
5128: ELSE
5129: l_Tab_Id :=p_Obj_Tab_Id;
5147: ,x_Return_Status => x_Return_Status
5148: ,x_Msg_Count => x_Msg_Count
5149: ,x_Msg_Data => x_Msg_Data
5150: );
5151: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5152: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5153: END IF;
5154: END IF;
5155: ELSE
5148: ,x_Msg_Count => x_Msg_Count
5149: ,x_Msg_Data => x_Msg_Data
5150: );
5151: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5152: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5153: END IF;
5154: END IF;
5155: ELSE
5156: l_Kpi_Group_Id := p_Obj_Grp_Id;
5177: ,x_Return_Status => x_Return_Status
5178: ,x_Msg_Count => x_Msg_Count
5179: ,x_Msg_Data => x_Msg_Data
5180: );
5181: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5182: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5183: END IF;
5184:
5185:
5178: ,x_Msg_Count => x_Msg_Count
5179: ,x_Msg_Data => x_Msg_Data
5180: );
5181: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5182: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5183: END IF;
5184:
5185:
5186:
5188: -- API to enable XTD, iViewer will show XTD Checked default.
5189: -- Enable XTD if enabled at the Parameter Portlet level only.
5190: -- added condition for AGRD
5191: IF (l_Is_From_Report_Designer = FALSE) THEN
5192: IF (is_XTD_Enabled(p_Param_Portlet_Region_Code) = FND_API.G_TRUE) THEN
5193:
5194: BSC_BIS_KPI_CRUD_PUB.Enable_Kpi_Calculation (
5195: p_Commit => p_Commit
5196: , p_Kpi_Id => l_Kpi_Id
5199: , x_Return_Status => x_Return_Status
5200: , x_Msg_Count => x_Msg_Count
5201: , x_Msg_Data => x_Msg_Data
5202: );
5203: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5204: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5205: END IF;
5206: END IF;
5207: END IF;
5200: , x_Msg_Count => x_Msg_Count
5201: , x_Msg_Data => x_Msg_Data
5202: );
5203: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5204: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5205: END IF;
5206: END IF;
5207: END IF;
5208:
5221: --DBMS_OUTPUT.PUT_LINE('INSIDE l_Kpi_Group_Id - ' ||l_Kpi_Group_Id);
5222: IF(l_obj_type = BSC_BIS_KPI_CRUD_PUB.C_SIMULATION_INDICATOR) THEN
5223:
5224: BSC_PMF_UI_WRAPPER.Assign_KPI(
5225: p_Commit => FND_API.G_FALSE
5226: ,p_kpi_id => l_kpi_id
5227: ,p_tab_id => l_Tab_Id
5228: ,x_return_status => x_return_status
5229: ,x_msg_count => x_msg_count
5229: ,x_msg_count => x_msg_count
5230: ,x_msg_data => x_msg_data
5231: );
5232:
5233: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5234: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5235: END IF;
5236:
5237: ELSE
5230: ,x_msg_data => x_msg_data
5231: );
5232:
5233: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5234: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5235: END IF;
5236:
5237: ELSE
5238: BSC_PMF_UI_WRAPPER.Assign_KPI_Group(
5243: ,x_Msg_Count => x_Msg_Count
5244: ,x_Msg_Data => x_Msg_Data
5245: );
5246: END IF;
5247: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5248: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5249: END IF;
5250: END IF;
5251: END IF;
5244: ,x_Msg_Data => x_Msg_Data
5245: );
5246: END IF;
5247: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5248: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5249: END IF;
5250: END IF;
5251: END IF;
5252:
5258: --
5259:
5260: l_kpi_id := Get_Kpi_Id(l_Key_Short_Name);
5261:
5262: IF(l_kpi_id <> -1000 AND Is_Assign_To_Tab(l_kpi_id,p_Obj_Tab_Id)=FND_API.G_FALSE)THEN
5263: BSC_PMF_UI_WRAPPER.Assign_KPI(
5264: p_Commit => FND_API.G_FALSE
5265: ,p_kpi_id => l_kpi_id
5266: ,p_tab_id => p_Obj_Tab_Id
5260: l_kpi_id := Get_Kpi_Id(l_Key_Short_Name);
5261:
5262: IF(l_kpi_id <> -1000 AND Is_Assign_To_Tab(l_kpi_id,p_Obj_Tab_Id)=FND_API.G_FALSE)THEN
5263: BSC_PMF_UI_WRAPPER.Assign_KPI(
5264: p_Commit => FND_API.G_FALSE
5265: ,p_kpi_id => l_kpi_id
5266: ,p_tab_id => p_Obj_Tab_Id
5267: ,x_return_status => x_return_status
5268: ,x_msg_count => x_msg_count
5267: ,x_return_status => x_return_status
5268: ,x_msg_count => x_msg_count
5269: ,x_msg_data => x_msg_data
5270: );
5271: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5272: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5273: END IF;
5274: END IF;
5275: END IF;
5268: ,x_msg_count => x_msg_count
5269: ,x_msg_data => x_msg_data
5270: );
5271: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5272: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5273: END IF;
5274: END IF;
5275: END IF;
5276:
5350: -- Passed AK type and AK source (pl/sql), since they were getting updated to null
5351: -- modified condition for Bug#4599432
5352:
5353:
5354: IF (BSC_UTILITY.Is_Measure_Seeded(p_Measure_Short_Name) = FND_API.G_FALSE AND BSC_UTILITY.is_Calculated_kpi(p_Measure_Short_Name)= FND_API.G_FALSE) THEN
5355:
5356: BSC_BIS_MEASURE_PUB.Update_Measure(
5357: p_Commit => p_Commit
5358: ,p_Dataset_Id => l_Dataset_Id
5402: ,x_Msg_Count => x_Msg_Count
5403: ,x_Msg_Data => x_Msg_Data
5404: );
5405:
5406: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5407: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5408: END IF;
5409: END IF;
5410:
5403: ,x_Msg_Data => x_Msg_Data
5404: );
5405:
5406: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5407: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5408: END IF;
5409: END IF;
5410:
5411:
5435: , x_Return_Status => x_Return_Status
5436: , x_Msg_Count => x_Msg_Count
5437: , x_Msg_Data => x_Msg_Data
5438: );
5439: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5440: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5441: END IF;
5442:
5443:
5436: , x_Msg_Count => x_Msg_Count
5437: , x_Msg_Data => x_Msg_Data
5438: );
5439: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5440: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5441: END IF;
5442:
5443:
5444:
5460: , x_Return_Status => x_Return_Status
5461: , x_Msg_Count => x_Msg_Count
5462: , x_Msg_Data => x_Msg_Data
5463: );
5464: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5465: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5466: END IF;
5467:
5468: END IF;
5461: , x_Msg_Count => x_Msg_Count
5462: , x_Msg_Data => x_Msg_Data
5463: );
5464: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5465: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5466: END IF;
5467:
5468: END IF;
5469:
5502: ,x_Return_Status => x_Return_Status
5503: ,x_Msg_Count => x_Msg_Count
5504: ,x_Msg_Data => x_Msg_Data
5505: );
5506: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5507: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5508: END IF;
5509:
5510: --DBMS_OUTPUT.PUT_LINE('STAGE 8');
5503: ,x_Msg_Count => x_Msg_Count
5504: ,x_Msg_Data => x_Msg_Data
5505: );
5506: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5507: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5508: END IF;
5509:
5510: --DBMS_OUTPUT.PUT_LINE('STAGE 8');
5511:
5516: , x_Return_Status => x_Return_Status
5517: , x_Msg_Count => x_Msg_Count
5518: , x_Msg_Data => x_Msg_Data
5519: );
5520: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5521: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5522: END IF;
5523:
5524: -- Assign the above Measure (aka KPI) to the Analysis Option (aka Measure)
5517: , x_Msg_Count => x_Msg_Count
5518: , x_Msg_Data => x_Msg_Data
5519: );
5520: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5521: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5522: END IF;
5523:
5524: -- Assign the above Measure (aka KPI) to the Analysis Option (aka Measure)
5525: -- of the KPI (aka Objective)
5555: );
5556: --DBMS_OUTPUT.PUT_LINE('(10) x_Return_Status ' || x_Return_Status);
5557: --DBMS_OUTPUT.PUT_LINE('(10) x_msg_data ' || x_Msg_Data);
5558:
5559: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5560: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5561: END IF;
5562:
5563: /*
5556: --DBMS_OUTPUT.PUT_LINE('(10) x_Return_Status ' || x_Return_Status);
5557: --DBMS_OUTPUT.PUT_LINE('(10) x_msg_data ' || x_Msg_Data);
5558:
5559: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5560: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5561: END IF;
5562:
5563: /*
5564: Need to move the below to a new PL/SQL API - TODO
5607: , x_Return_Status => x_Return_Status
5608: , x_Msg_Count => x_Msg_Count
5609: , x_Msg_Data => x_Msg_Data
5610: );
5611: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5612: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5613: END IF;
5614:
5615:
5608: , x_Msg_Count => x_Msg_Count
5609: , x_Msg_Data => x_Msg_Data
5610: );
5611: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5612: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5613: END IF;
5614:
5615:
5616: END IF;
5645: ,p_Dim_Objs_Record => x_Non_Time_Dimension_Objects
5646: ,p_Dim_Obj_Short_Names => x_Non_Time_Dim_Obj_Short_Names
5647: ,p_Dim_Objects_Counter => NVL(x_Non_Time_Counter, 0)
5648: ,p_Application_Id => BSC_BIS_KPI_CRUD_PUB.C_BSC_APPLICATION_ID
5649: ,p_hide => FND_API.G_TRUE
5650: ,x_Return_Status => x_Return_Status
5651: ,x_Msg_Count => x_Msg_Count
5652: ,x_Msg_Data => x_Msg_Data
5653: );
5650: ,x_Return_Status => x_Return_Status
5651: ,x_Msg_Count => x_Msg_Count
5652: ,x_Msg_Data => x_Msg_Data
5653: );
5654: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5655: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5656: END IF;
5657:
5658: END IF;
5651: ,x_Msg_Count => x_Msg_Count
5652: ,x_Msg_Data => x_Msg_Data
5653: );
5654: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5655: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5656: END IF;
5657:
5658: END IF;
5659:
5664: p_Commit => p_Commit
5665: ,p_Kpi_Id => l_Kpi_Id
5666: ,p_Time_Dim_Obj_Sns => x_Time_Dim_Obj_Short_Names
5667: ,p_Dft_Dim_Obj_Sn => NULL
5668: ,p_Daily_Flag => FND_API.G_TRUE
5669: ,p_Is_XTD_Enabled => l_Is_XTD_Enabled
5670: ,x_Return_Status => x_Return_Status
5671: ,x_Msg_Count => x_Msg_Count
5672: ,x_Msg_Data => x_Msg_Data
5670: ,x_Return_Status => x_Return_Status
5671: ,x_Msg_Count => x_Msg_Count
5672: ,x_Msg_Data => x_Msg_Data
5673: );
5674: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5675: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5676: END IF;
5677:
5678:
5671: ,x_Msg_Count => x_Msg_Count
5672: ,x_Msg_Data => x_Msg_Data
5673: );
5674: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5675: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5676: END IF;
5677:
5678:
5679:
5706:
5707:
5708: --DBMS_OUTPUT.PUT_LINE('(13) x_Return_Status ' || x_Return_Status);
5709: --DBMS_OUTPUT.PUT_LINE('(13) x_msg_data ' || x_Msg_Data);
5710: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5711: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5712: END IF;
5713: ELSIF ((l_Is_From_Report_Designer) AND (l_Does_Dim_Group_Exist) AND (p_Force_Create_Dim = FND_API.G_TRUE)) THEN
5714: -- should we add a condition to check for existance of dimension here?
5707:
5708: --DBMS_OUTPUT.PUT_LINE('(13) x_Return_Status ' || x_Return_Status);
5709: --DBMS_OUTPUT.PUT_LINE('(13) x_msg_data ' || x_Msg_Data);
5710: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5711: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5712: END IF;
5713: ELSIF ((l_Is_From_Report_Designer) AND (l_Does_Dim_Group_Exist) AND (p_Force_Create_Dim = FND_API.G_TRUE)) THEN
5714: -- should we add a condition to check for existance of dimension here?
5715: BSC_BIS_DIMENSION_PUB.Assign_Dimension_Objects
5709: --DBMS_OUTPUT.PUT_LINE('(13) x_msg_data ' || x_Msg_Data);
5710: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5711: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5712: END IF;
5713: ELSIF ((l_Is_From_Report_Designer) AND (l_Does_Dim_Group_Exist) AND (p_Force_Create_Dim = FND_API.G_TRUE)) THEN
5714: -- should we add a condition to check for existance of dimension here?
5715: BSC_BIS_DIMENSION_PUB.Assign_Dimension_Objects
5716: ( p_commit => p_Commit
5717: , p_dim_short_name => l_Dimension_Short_Name
5721: , x_return_status => x_Return_Status
5722: , x_msg_count => x_Msg_Count
5723: , x_msg_data => x_Msg_Data
5724: );
5725: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5726: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5727: END IF;
5728:
5729:
5722: , x_msg_count => x_Msg_Count
5723: , x_msg_data => x_Msg_Data
5724: );
5725: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5726: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5727: END IF;
5728:
5729:
5730:
5736: p_Commit => p_Commit
5737: ,p_Kpi_Id => l_Kpi_Id
5738: ,p_Time_Dim_Obj_Sns => x_Time_Dim_Obj_Short_Names
5739: ,p_Dft_Dim_Obj_Sn => NULL
5740: ,p_Daily_Flag => FND_API.G_TRUE
5741: ,p_Is_XTD_Enabled => l_Is_XTD_Enabled
5742: ,x_Return_Status => x_Return_Status
5743: ,x_Msg_Count => x_Msg_Count
5744: ,x_Msg_Data => x_Msg_Data
5742: ,x_Return_Status => x_Return_Status
5743: ,x_Msg_Count => x_Msg_Count
5744: ,x_Msg_Data => x_Msg_Data
5745: );
5746: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5747: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5748: END IF;
5749: --DBMS_OUTPUT.PUT_LINE('STAGE 11B');
5750:
5743: ,x_Msg_Count => x_Msg_Count
5744: ,x_Msg_Data => x_Msg_Data
5745: );
5746: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
5747: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5748: END IF;
5749: --DBMS_OUTPUT.PUT_LINE('STAGE 11B');
5750:
5751: END IF;
5757:
5758: -- called Delete_Kpi_AT() to remove AT created KPI base metadata, Bug#4064587
5759: -- its necessary to be called, since there would be still metadata left in BSC_KPIS_B/TL table.
5760: EXCEPTION
5761: WHEN FND_API.G_EXC_ERROR THEN
5762:
5763: ROLLBACK TO CreateBscBisMetadata;
5764:
5765: IF (x_msg_data IS NULL) THEN
5763: ROLLBACK TO CreateBscBisMetadata;
5764:
5765: IF (x_msg_data IS NULL) THEN
5766: FND_MSG_PUB.Count_And_Get
5767: ( p_encoded => FND_API.G_FALSE
5768: , p_count => x_msg_count
5769: , p_data => x_msg_data
5770: );
5771: END IF;
5769: , p_data => x_msg_data
5770: );
5771: END IF;
5772:
5773: x_Return_Status := FND_API.G_RET_STS_ERROR;
5774: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5775:
5776: ROLLBACK TO CreateBscBisMetadata;
5777:
5770: );
5771: END IF;
5772:
5773: x_Return_Status := FND_API.G_RET_STS_ERROR;
5774: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5775:
5776: ROLLBACK TO CreateBscBisMetadata;
5777:
5778: IF (x_msg_data IS NULL) THEN
5776: ROLLBACK TO CreateBscBisMetadata;
5777:
5778: IF (x_msg_data IS NULL) THEN
5779: FND_MSG_PUB.Count_And_Get
5780: ( p_encoded => FND_API.G_FALSE
5781: , p_count => x_msg_count
5782: , p_data => x_msg_data
5783: );
5784: END IF;
5781: , p_count => x_msg_count
5782: , p_data => x_msg_data
5783: );
5784: END IF;
5785: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
5786: WHEN NO_DATA_FOUND THEN
5787:
5788: ROLLBACK TO CreateBscBisMetadata;
5789: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
5785: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
5786: WHEN NO_DATA_FOUND THEN
5787:
5788: ROLLBACK TO CreateBscBisMetadata;
5789: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
5790: IF (x_msg_data IS NOT NULL) THEN
5791: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Create_Bsc_Bis_Metadata ';
5792: ELSE
5793: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Create_Bsc_Bis_Metadata ';
5794: END IF;
5795: WHEN OTHERS THEN
5796:
5797: ROLLBACK TO CreateBscBisMetadata;
5798: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
5799: IF (x_msg_data IS NOT NULL) THEN
5800: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Create_Bsc_Bis_Metadata ';
5801: ELSE
5802: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Create_Bsc_Bis_Metadata ';
5818: SAVEPOINT DeleteAKMetadata;
5819: FND_MSG_PUB.Initialize;
5820:
5821: -- Initialize Procedure Variables.
5822: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
5823:
5824: BSC_BIS_KPI_CRUD_PUB.Delete_Misc_Region_Items(
5825: p_commit => p_commit
5826: , p_Region_Code => p_Region_Code
5828: , x_return_status => x_return_status
5829: , x_msg_count => x_msg_count
5830: , x_msg_data => x_msg_data
5831: );
5832: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5833: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5834: END IF;
5835:
5836:
5829: , x_msg_count => x_msg_count
5830: , x_msg_data => x_msg_data
5831: );
5832: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5833: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5834: END IF;
5835:
5836:
5837: BIS_PMV_REGION_PVT.DELETE_REGION
5841: , x_return_status => x_return_status
5842: , x_msg_count => x_msg_count
5843: , x_msg_data => x_msg_data
5844: );
5845: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5846: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5847: END IF;
5848:
5849: FND_FORM_FUNCTIONS_PKG.DELETE_ROW (
5842: , x_msg_count => x_msg_count
5843: , x_msg_data => x_msg_data
5844: );
5845: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5846: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5847: END IF;
5848:
5849: FND_FORM_FUNCTIONS_PKG.DELETE_ROW (
5850: X_FUNCTION_ID => BSC_BIS_KPI_CRUD_PUB.Get_Function_Id_By_Name(p_Region_Code)
5850: X_FUNCTION_ID => BSC_BIS_KPI_CRUD_PUB.Get_Function_Id_By_Name(p_Region_Code)
5851: );
5852:
5853: EXCEPTION
5854: WHEN FND_API.G_EXC_ERROR THEN
5855: ROLLBACK TO DeleteAKMetadata;
5856: IF (x_msg_data IS NULL) THEN
5857: FND_MSG_PUB.Count_And_Get
5858: ( p_encoded => FND_API.G_FALSE
5854: WHEN FND_API.G_EXC_ERROR THEN
5855: ROLLBACK TO DeleteAKMetadata;
5856: IF (x_msg_data IS NULL) THEN
5857: FND_MSG_PUB.Count_And_Get
5858: ( p_encoded => FND_API.G_FALSE
5859: , p_count => x_msg_count
5860: , p_data => x_msg_data
5861: );
5862: END IF;
5859: , p_count => x_msg_count
5860: , p_data => x_msg_data
5861: );
5862: END IF;
5863: x_Return_Status := FND_API.G_RET_STS_ERROR;
5864: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5865: ROLLBACK TO DeleteAKMetadata;
5866: IF (x_msg_data IS NULL) THEN
5867: FND_MSG_PUB.Count_And_Get
5860: , p_data => x_msg_data
5861: );
5862: END IF;
5863: x_Return_Status := FND_API.G_RET_STS_ERROR;
5864: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5865: ROLLBACK TO DeleteAKMetadata;
5866: IF (x_msg_data IS NULL) THEN
5867: FND_MSG_PUB.Count_And_Get
5868: ( p_encoded => FND_API.G_FALSE
5864: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5865: ROLLBACK TO DeleteAKMetadata;
5866: IF (x_msg_data IS NULL) THEN
5867: FND_MSG_PUB.Count_And_Get
5868: ( p_encoded => FND_API.G_FALSE
5869: , p_count => x_msg_count
5870: , p_data => x_msg_data
5871: );
5872: END IF;
5869: , p_count => x_msg_count
5870: , p_data => x_msg_data
5871: );
5872: END IF;
5873: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
5874: WHEN NO_DATA_FOUND THEN
5875: ROLLBACK TO DeleteAKMetadata;
5876: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
5877: IF (x_msg_data IS NOT NULL) THEN
5872: END IF;
5873: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
5874: WHEN NO_DATA_FOUND THEN
5875: ROLLBACK TO DeleteAKMetadata;
5876: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
5877: IF (x_msg_data IS NOT NULL) THEN
5878: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Delete_AK_Metadata ';
5879: ELSE
5880: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Delete_AK_Metadata ';
5880: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Delete_AK_Metadata ';
5881: END IF;
5882: WHEN OTHERS THEN
5883: ROLLBACK TO DeleteAKMetadata;
5884: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
5885: IF (x_msg_data IS NOT NULL) THEN
5886: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Delete_AK_Metadata ';
5887: ELSE
5888: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Delete_AK_Metadata ';
5924: BEGIN
5925:
5926: SAVEPOINT RefereshAKMetadata;
5927: FND_MSG_PUB.Initialize;
5928: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
5929:
5930: -- Delete all AK Data Starting from p_Deleted_AO_Index (Analysis Option Index + 1)
5931: FOR cRefresh IN c_RefreshAK LOOP
5932: l_Region_Code := BSC_BIS_CUSTOM_KPI_UTIL_PUB.Get_Region_Code(p_Kpi_Id, (cRefresh.ANALYSIS_OPTION0)+1);
5937: , x_Return_Status => x_Return_Status
5938: , x_Msg_Count => x_Msg_Count
5939: , x_Msg_Data => x_Msg_Data
5940: );
5941: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5942: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5943: END IF;
5944: END LOOP;
5945:
5938: , x_Msg_Count => x_Msg_Count
5939: , x_Msg_Data => x_Msg_Data
5940: );
5941: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5942: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5943: END IF;
5944: END LOOP;
5945:
5946:
5947: -- Recreate AK Metadata with new Analysis Option combination
5948: FOR cRefresh IN c_RefreshAK LOOP
5949: BSC_BIS_KPI_CRUD_PUB.Create_Ak_Metadata(
5950: p_Commit => p_Commit
5951: , p_Create_Region_Per_AO => FND_API.G_TRUE
5952: , p_Kpi_Id => p_Kpi_Id
5953: , p_Analysis_Option_Id => cRefresh.ANALYSIS_OPTION0
5954: , p_Dim_Set_Id => 0
5955: , p_Measure_Short_Name => cRefresh.SHORT_NAME
5963: , x_Return_Status => x_Return_Status
5964: , x_Msg_Count => x_Msg_Count
5965: , x_Msg_Data => x_Msg_Data
5966: );
5967: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5968: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5969: END IF;
5970: END LOOP;
5971:
5964: , x_Msg_Count => x_Msg_Count
5965: , x_Msg_Data => x_Msg_Data
5966: );
5967: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5968: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5969: END IF;
5970: END LOOP;
5971:
5972: EXCEPTION
5969: END IF;
5970: END LOOP;
5971:
5972: EXCEPTION
5973: WHEN FND_API.G_EXC_ERROR THEN
5974: ROLLBACK TO RefereshAKMetadata;
5975: IF (x_msg_data IS NULL) THEN
5976: FND_MSG_PUB.Count_And_Get
5977: ( p_encoded => FND_API.G_FALSE
5973: WHEN FND_API.G_EXC_ERROR THEN
5974: ROLLBACK TO RefereshAKMetadata;
5975: IF (x_msg_data IS NULL) THEN
5976: FND_MSG_PUB.Count_And_Get
5977: ( p_encoded => FND_API.G_FALSE
5978: , p_count => x_msg_count
5979: , p_data => x_msg_data
5980: );
5981: END IF;
5978: , p_count => x_msg_count
5979: , p_data => x_msg_data
5980: );
5981: END IF;
5982: x_Return_Status := FND_API.G_RET_STS_ERROR;
5983: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5984: ROLLBACK TO RefereshAKMetadata;
5985: IF (x_msg_data IS NULL) THEN
5986: FND_MSG_PUB.Count_And_Get
5979: , p_data => x_msg_data
5980: );
5981: END IF;
5982: x_Return_Status := FND_API.G_RET_STS_ERROR;
5983: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5984: ROLLBACK TO RefereshAKMetadata;
5985: IF (x_msg_data IS NULL) THEN
5986: FND_MSG_PUB.Count_And_Get
5987: ( p_encoded => FND_API.G_FALSE
5983: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5984: ROLLBACK TO RefereshAKMetadata;
5985: IF (x_msg_data IS NULL) THEN
5986: FND_MSG_PUB.Count_And_Get
5987: ( p_encoded => FND_API.G_FALSE
5988: , p_count => x_msg_count
5989: , p_data => x_msg_data
5990: );
5991: END IF;
5988: , p_count => x_msg_count
5989: , p_data => x_msg_data
5990: );
5991: END IF;
5992: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
5993: WHEN NO_DATA_FOUND THEN
5994: ROLLBACK TO RefereshAKMetadata;
5995: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
5996: IF (x_msg_data IS NOT NULL) THEN
5991: END IF;
5992: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
5993: WHEN NO_DATA_FOUND THEN
5994: ROLLBACK TO RefereshAKMetadata;
5995: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
5996: IF (x_msg_data IS NOT NULL) THEN
5997: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Referesh_AK_Metadata ';
5998: ELSE
5999: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Referesh_AK_Metadata ';
5999: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Referesh_AK_Metadata ';
6000: END IF;
6001: WHEN OTHERS THEN
6002: ROLLBACK TO RefereshAKMetadata;
6003: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6004: IF (x_msg_data IS NOT NULL) THEN
6005: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Referesh_AK_Metadata ';
6006: ELSE
6007: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Referesh_AK_Metadata ';
6024: BEGIN
6025:
6026: SAVEPOINT ApplyDisableCalculations;
6027: FND_MSG_PUB.Initialize;
6028: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
6029:
6030: -- Call type Constructor.
6031: l_Disable_Calc_List := BSC_NUM_LIST(
6032: BSC_BIS_KPI_CRUD_PUB.C_CALC_TC
6046: ,x_return_status => x_Return_Status
6047: ,x_msg_count => x_Msg_Count
6048: ,x_msg_data => x_Msg_Data
6049: );
6050: IF ((x_return_status <> FND_API.G_RET_STS_SUCCESS)) THEN
6051: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6052: END IF;
6053:
6054: EXCEPTION
6047: ,x_msg_count => x_Msg_Count
6048: ,x_msg_data => x_Msg_Data
6049: );
6050: IF ((x_return_status <> FND_API.G_RET_STS_SUCCESS)) THEN
6051: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6052: END IF;
6053:
6054: EXCEPTION
6055: WHEN FND_API.G_EXC_ERROR THEN
6051: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6052: END IF;
6053:
6054: EXCEPTION
6055: WHEN FND_API.G_EXC_ERROR THEN
6056: ROLLBACK TO ApplyDisableCalculations;
6057: IF (x_msg_data IS NULL) THEN
6058: FND_MSG_PUB.Count_And_Get
6059: ( p_encoded => FND_API.G_FALSE
6055: WHEN FND_API.G_EXC_ERROR THEN
6056: ROLLBACK TO ApplyDisableCalculations;
6057: IF (x_msg_data IS NULL) THEN
6058: FND_MSG_PUB.Count_And_Get
6059: ( p_encoded => FND_API.G_FALSE
6060: , p_count => x_msg_count
6061: , p_data => x_msg_data
6062: );
6063: END IF;
6060: , p_count => x_msg_count
6061: , p_data => x_msg_data
6062: );
6063: END IF;
6064: x_Return_Status := FND_API.G_RET_STS_ERROR;
6065: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6066: ROLLBACK TO ApplyDisableCalculations;
6067: IF (x_msg_data IS NULL) THEN
6068: FND_MSG_PUB.Count_And_Get
6061: , p_data => x_msg_data
6062: );
6063: END IF;
6064: x_Return_Status := FND_API.G_RET_STS_ERROR;
6065: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6066: ROLLBACK TO ApplyDisableCalculations;
6067: IF (x_msg_data IS NULL) THEN
6068: FND_MSG_PUB.Count_And_Get
6069: ( p_encoded => FND_API.G_FALSE
6065: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6066: ROLLBACK TO ApplyDisableCalculations;
6067: IF (x_msg_data IS NULL) THEN
6068: FND_MSG_PUB.Count_And_Get
6069: ( p_encoded => FND_API.G_FALSE
6070: , p_count => x_msg_count
6071: , p_data => x_msg_data
6072: );
6073: END IF;
6070: , p_count => x_msg_count
6071: , p_data => x_msg_data
6072: );
6073: END IF;
6074: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6075: WHEN NO_DATA_FOUND THEN
6076: ROLLBACK TO ApplyDisableCalculations;
6077: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6078: IF (x_msg_data IS NOT NULL) THEN
6073: END IF;
6074: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6075: WHEN NO_DATA_FOUND THEN
6076: ROLLBACK TO ApplyDisableCalculations;
6077: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6078: IF (x_msg_data IS NOT NULL) THEN
6079: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Apply_Disable_Calculations ';
6080: ELSE
6081: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Apply_Disable_Calculations ';
6081: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Apply_Disable_Calculations ';
6082: END IF;
6083: WHEN OTHERS THEN
6084: ROLLBACK TO ApplyDisableCalculations;
6085: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6086: IF (x_msg_data IS NOT NULL) THEN
6087: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Apply_Disable_Calculations ';
6088: ELSE
6089: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Apply_Disable_Calculations ';
6108: l_Bsc_Kpi_Entity_Rec BSC_KPI_PUB.Bsc_Kpi_Entity_Rec;
6109: BEGIN
6110: SAVEPOINT EnableKpiCalculation;
6111: FND_MSG_PUB.Initialize;
6112: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
6113:
6114: l_Bsc_Kpi_Entity_Rec.Bsc_Kpi_Id := p_Kpi_Id;
6115: l_Bsc_Kpi_Entity_Rec.Bsc_Kpi_Calculation_Id := p_Calculation_Id;
6116: l_Bsc_Kpi_Entity_Rec.Bsc_Kpi_User_Level0 := BSC_BIS_KPI_CRUD_PUB.C_ENABLE_CALC_U0;
6124: ,x_Return_Status => x_Return_Status
6125: ,x_Msg_Count => x_Msg_Count
6126: ,x_Msg_Data => x_Msg_Data
6127: );
6128: IF ((x_return_status <> FND_API.G_RET_STS_SUCCESS)) THEN
6129: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6130: END IF;
6131:
6132: EXCEPTION
6125: ,x_Msg_Count => x_Msg_Count
6126: ,x_Msg_Data => x_Msg_Data
6127: );
6128: IF ((x_return_status <> FND_API.G_RET_STS_SUCCESS)) THEN
6129: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6130: END IF;
6131:
6132: EXCEPTION
6133: WHEN FND_API.G_EXC_ERROR THEN
6129: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6130: END IF;
6131:
6132: EXCEPTION
6133: WHEN FND_API.G_EXC_ERROR THEN
6134: ROLLBACK TO EnableKpiCalculation;
6135: IF (x_msg_data IS NULL) THEN
6136: FND_MSG_PUB.Count_And_Get
6137: ( p_encoded => FND_API.G_FALSE
6133: WHEN FND_API.G_EXC_ERROR THEN
6134: ROLLBACK TO EnableKpiCalculation;
6135: IF (x_msg_data IS NULL) THEN
6136: FND_MSG_PUB.Count_And_Get
6137: ( p_encoded => FND_API.G_FALSE
6138: , p_count => x_msg_count
6139: , p_data => x_msg_data
6140: );
6141: END IF;
6138: , p_count => x_msg_count
6139: , p_data => x_msg_data
6140: );
6141: END IF;
6142: x_Return_Status := FND_API.G_RET_STS_ERROR;
6143: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6144: ROLLBACK TO EnableKpiCalculation;
6145: IF (x_msg_data IS NULL) THEN
6146: FND_MSG_PUB.Count_And_Get
6139: , p_data => x_msg_data
6140: );
6141: END IF;
6142: x_Return_Status := FND_API.G_RET_STS_ERROR;
6143: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6144: ROLLBACK TO EnableKpiCalculation;
6145: IF (x_msg_data IS NULL) THEN
6146: FND_MSG_PUB.Count_And_Get
6147: ( p_encoded => FND_API.G_FALSE
6143: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6144: ROLLBACK TO EnableKpiCalculation;
6145: IF (x_msg_data IS NULL) THEN
6146: FND_MSG_PUB.Count_And_Get
6147: ( p_encoded => FND_API.G_FALSE
6148: , p_count => x_msg_count
6149: , p_data => x_msg_data
6150: );
6151: END IF;
6148: , p_count => x_msg_count
6149: , p_data => x_msg_data
6150: );
6151: END IF;
6152: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6153: WHEN NO_DATA_FOUND THEN
6154: ROLLBACK TO EnableKpiCalculation;
6155: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6156: IF (x_msg_data IS NOT NULL) THEN
6151: END IF;
6152: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6153: WHEN NO_DATA_FOUND THEN
6154: ROLLBACK TO EnableKpiCalculation;
6155: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6156: IF (x_msg_data IS NOT NULL) THEN
6157: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Enable_Kpi_Calculation ';
6158: ELSE
6159: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Enable_Kpi_Calculation ';
6159: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Enable_Kpi_Calculation ';
6160: END IF;
6161: WHEN OTHERS THEN
6162: ROLLBACK TO EnableKpiCalculation;
6163: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6164: IF (x_msg_data IS NOT NULL) THEN
6165: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Enable_Kpi_Calculation ';
6166: ELSE
6167: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Enable_Kpi_Calculation ';
6188: l_Dummy_Non_Time_Dims VARCHAR2(32000);
6189: l_Dummy_Non_Time_Counter NUMBER;
6190: BEGIN
6191: FND_MSG_PUB.Initialize;
6192: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
6193:
6194: BSC_BIS_KPI_CRUD_PUB.Get_Dim_Obj_By_Dimension (
6195: p_Dim_Short_Name => p_Dim_Short_Name
6196: , x_Time_Dim_Obj_Short_Names => x_Time_Dim_Obj_Short_Names
6200: , x_Return_Status => x_Return_Status
6201: , x_Msg_Count => x_Msg_Count
6202: , x_Msg_Data => x_Msg_Data
6203: );
6204: IF ((x_return_status <> FND_API.G_RET_STS_SUCCESS)) THEN
6205: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6206: END IF;
6207:
6208:
6201: , x_Msg_Count => x_Msg_Count
6202: , x_Msg_Data => x_Msg_Data
6203: );
6204: IF ((x_return_status <> FND_API.G_RET_STS_SUCCESS)) THEN
6205: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6206: END IF;
6207:
6208:
6209: EXCEPTION
6206: END IF;
6207:
6208:
6209: EXCEPTION
6210: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6211: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6212: IF (x_msg_data IS NULL) THEN
6213: FND_MSG_PUB.Count_And_Get
6214: ( p_encoded => FND_API.G_FALSE
6207:
6208:
6209: EXCEPTION
6210: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6211: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6212: IF (x_msg_data IS NULL) THEN
6213: FND_MSG_PUB.Count_And_Get
6214: ( p_encoded => FND_API.G_FALSE
6215: , p_count => x_msg_count
6210: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6211: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6212: IF (x_msg_data IS NULL) THEN
6213: FND_MSG_PUB.Count_And_Get
6214: ( p_encoded => FND_API.G_FALSE
6215: , p_count => x_msg_count
6216: , p_data => x_msg_data
6217: );
6218: END IF;
6216: , p_data => x_msg_data
6217: );
6218: END IF;
6219: WHEN OTHERS THEN
6220: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6221: IF (x_msg_data IS NOT NULL) THEN
6222: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Get_Time_Dim_Obj_By_Dim ';
6223: ELSE
6224: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Get_Time_Dim_Obj_By_Dim ';
6244: l_Dummy_Time_Counter NUMBER;
6245: BEGIN
6246:
6247: FND_MSG_PUB.Initialize;
6248: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
6249:
6250: BSC_BIS_KPI_CRUD_PUB.Get_Dim_Obj_By_Dimension (
6251: p_Dim_Short_Name => p_Dim_Short_Name
6252: , x_Time_Dim_Obj_Short_Names => l_Dummy_Time_Dims
6256: , x_Return_Status => x_Return_Status
6257: , x_Msg_Count => x_Msg_Count
6258: , x_Msg_Data => x_Msg_Data
6259: );
6260: IF ((x_return_status <> FND_API.G_RET_STS_SUCCESS)) THEN
6261: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6262: END IF;
6263:
6264:
6257: , x_Msg_Count => x_Msg_Count
6258: , x_Msg_Data => x_Msg_Data
6259: );
6260: IF ((x_return_status <> FND_API.G_RET_STS_SUCCESS)) THEN
6261: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6262: END IF;
6263:
6264:
6265: EXCEPTION
6262: END IF;
6263:
6264:
6265: EXCEPTION
6266: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6267: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6268: IF (x_msg_data IS NULL) THEN
6269: FND_MSG_PUB.Count_And_Get
6270: ( p_encoded => FND_API.G_FALSE
6263:
6264:
6265: EXCEPTION
6266: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6267: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6268: IF (x_msg_data IS NULL) THEN
6269: FND_MSG_PUB.Count_And_Get
6270: ( p_encoded => FND_API.G_FALSE
6271: , p_count => x_msg_count
6266: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6267: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6268: IF (x_msg_data IS NULL) THEN
6269: FND_MSG_PUB.Count_And_Get
6270: ( p_encoded => FND_API.G_FALSE
6271: , p_count => x_msg_count
6272: , p_data => x_msg_data
6273: );
6274: END IF;
6272: , p_data => x_msg_data
6273: );
6274: END IF;
6275: WHEN OTHERS THEN
6276: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6277: IF (x_msg_data IS NOT NULL) THEN
6278: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Get_Non_Time_Dim_Obj_By_Dim ';
6279: ELSE
6280: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Get_Non_Time_Dim_Obj_By_Dim ';
6309: l_Count NUMBER;
6310:
6311: BEGIN
6312: FND_MSG_PUB.Initialize;
6313: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
6314:
6315: x_Time_Dim_Obj_Counter := 0;
6316: x_Non_Time_Dim_Obj_Counter := 0;
6317:
6322: IF l_Count = 0 THEN
6323: FND_MESSAGE.SET_NAME('BSC','BSC_INVALID_GROUP_SHORT_NAME');
6324: FND_MESSAGE.SET_TOKEN('BSC_GROUP_SHORT_NAME', p_Dim_Short_Name, TRUE);
6325: FND_MSG_PUB.ADD;
6326: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6327: END IF;
6328:
6329: FOR c_DSN IN c_Dim_Obj_Short_Name LOOP
6330: IF(BSC_BIS_KPI_CRUD_PUB.Is_Time_Dim_Obj(c_DSN.SHORT_NAME) = FND_API.G_TRUE) THEN
6326: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6327: END IF;
6328:
6329: FOR c_DSN IN c_Dim_Obj_Short_Name LOOP
6330: IF(BSC_BIS_KPI_CRUD_PUB.Is_Time_Dim_Obj(c_DSN.SHORT_NAME) = FND_API.G_TRUE) THEN
6331: IF(x_Time_Dim_Obj_Counter = 0) THEN
6332: x_Time_Dim_Obj_Short_Names := c_DSN.SHORT_NAME;
6333: ELSE
6334: x_Time_Dim_Obj_Short_Names := x_Time_Dim_Obj_Short_Names || ',' || c_DSN.SHORT_NAME;
6345: END LOOP;
6346:
6347:
6348: EXCEPTION
6349: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6350: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6351: IF (x_msg_data IS NULL) THEN
6352: FND_MSG_PUB.Count_And_Get
6353: ( p_encoded => FND_API.G_FALSE
6346:
6347:
6348: EXCEPTION
6349: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6350: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6351: IF (x_msg_data IS NULL) THEN
6352: FND_MSG_PUB.Count_And_Get
6353: ( p_encoded => FND_API.G_FALSE
6354: , p_count => x_msg_count
6349: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6350: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6351: IF (x_msg_data IS NULL) THEN
6352: FND_MSG_PUB.Count_And_Get
6353: ( p_encoded => FND_API.G_FALSE
6354: , p_count => x_msg_count
6355: , p_data => x_msg_data
6356: );
6357: END IF;
6355: , p_data => x_msg_data
6356: );
6357: END IF;
6358: WHEN OTHERS THEN
6359: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
6360: IF (x_msg_data IS NOT NULL) THEN
6361: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Get_Dim_Obj_By_Dimension ';
6362: ELSE
6363: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Get_Dim_Obj_By_Dimension ';
6377: IS
6378: l_Is_Time_Dim_Obj VARCHAR2(2);
6379: BEGIN
6380: NULL;
6381: SELECT DECODE(COUNT(1), 0, FND_API.G_FALSE, FND_API.G_TRUE)
6382: INTO l_Is_Time_Dim_Obj
6383: FROM BSC_SYS_DIM_GROUPS_VL DG,
6384: BSC_SYS_DIM_LEVELS_BY_GROUP DD,
6385: BSC_SYS_DIM_LEVELS_B DO
6404: BEGIN
6405:
6406: x_Is_Time_Dim_Obj := NULL;
6407:
6408: SELECT DECODE(COUNT(1), 0, FND_API.G_FALSE, FND_API.G_TRUE)
6409: INTO x_Is_Time_Dim_Obj
6410: FROM BSC_SYS_DIM_GROUPS_VL DG,
6411: BSC_SYS_DIM_LEVELS_BY_GROUP DD,
6412: BSC_SYS_DIM_LEVELS_B DO
6427: BEGIN
6428:
6429: IF((p_Dimension_Short_Name = BSC_BIS_KPI_CRUD_PUB.C_OLTP_TIME) OR
6430: (p_Dimension_Short_Name = BSC_BIS_KPI_CRUD_PUB.C_EDW_TIME)) THEN
6431: x_Is_Time_Dimension := FND_API.G_TRUE;
6432: ELSE
6433: x_Is_Time_Dimension := FND_API.G_FALSE;
6434: END IF;
6435: END Is_Time_Dimension;
6429: IF((p_Dimension_Short_Name = BSC_BIS_KPI_CRUD_PUB.C_OLTP_TIME) OR
6430: (p_Dimension_Short_Name = BSC_BIS_KPI_CRUD_PUB.C_EDW_TIME)) THEN
6431: x_Is_Time_Dimension := FND_API.G_TRUE;
6432: ELSE
6433: x_Is_Time_Dimension := FND_API.G_FALSE;
6434: END IF;
6435: END Is_Time_Dimension;
6436:
6437:
6566: WHERE REGION_CODE = p_Region_Code
6567: AND ATTRIBUTE_CODE = BSC_BIS_KPI_CRUD_PUB.C_AS_OF_DATE;
6568:
6569: IF (l_Count = 0) THEN
6570: RETURN FND_API.G_FALSE;
6571: ELSE
6572: RETURN FND_API.G_TRUE;
6573: END IF;
6574:
6568:
6569: IF (l_Count = 0) THEN
6570: RETURN FND_API.G_FALSE;
6571: ELSE
6572: RETURN FND_API.G_TRUE;
6573: END IF;
6574:
6575: EXCEPTION
6576: WHEN OTHERS THEN
6573: END IF;
6574:
6575: EXCEPTION
6576: WHEN OTHERS THEN
6577: RETURN FND_API.G_FALSE;
6578: END is_XTD_Enabled;
6579:
6580:
6581: -- Checks if AS_OF_DATE is enabled for the Parameter Portlet
6587: BEGIN
6588:
6589: FOR i IN 1..p_Time_Dimension_Objects.COUNT LOOP
6590: IF (p_Time_Dimension_Objects(i) = BSC_BIS_KPI_CRUD_PUB.C_AS_OF_DATE) THEN
6591: RETURN FND_API.G_TRUE;
6592: END IF;
6593: END LOOP;
6594:
6595:
6592: END IF;
6593: END LOOP;
6594:
6595:
6596: RETURN FND_API.G_FALSE;
6597:
6598: EXCEPTION
6599: WHEN OTHERS THEN
6600: RETURN FND_API.G_FALSE;
6596: RETURN FND_API.G_FALSE;
6597:
6598: EXCEPTION
6599: WHEN OTHERS THEN
6600: RETURN FND_API.G_FALSE;
6601: END is_XTD_Enabled;
6602:
6603:
6604:
6673: l_Index NUMBER;
6674: l_Return VARCHAR2(3);
6675:
6676: BEGIN
6677: l_Return := FND_API.G_FALSE;
6678:
6679: FOR l_Index IN 1..G_EXCLUDE_DIMOBJ_CLASS.LAST LOOP
6680: IF (p_Short_Name = G_EXCLUDE_DIMOBJ_CLASS(l_Index)) THEN
6681: l_Return := FND_API.G_TRUE;
6677: l_Return := FND_API.G_FALSE;
6678:
6679: FOR l_Index IN 1..G_EXCLUDE_DIMOBJ_CLASS.LAST LOOP
6680: IF (p_Short_Name = G_EXCLUDE_DIMOBJ_CLASS(l_Index)) THEN
6681: l_Return := FND_API.G_TRUE;
6682: EXIT;
6683: END IF;
6684: END LOOP;
6685:
6686: RETURN l_Return;
6687:
6688: EXCEPTION
6689: WHEN OTHERS THEN
6690: RETURN FND_API.G_FALSE;
6691: END Is_Excluded_Dimension_Object;
6692:
6693:
6694:
6757: AND RI.REGION_CODE = R.REGION_CODE;
6758: BEGIN
6759:
6760: FND_MSG_PUB.Initialize;
6761: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
6762:
6763:
6764: l_Index_Count := 0;
6765: l_Measure_Short_Name := p_Measure_Short_Name;
6797: , p_Obj_Type => l_Parent_Object_Type
6798: , x_Return_Status => l_Return_Status
6799: , x_Msg_Data => l_Return_Msg
6800: );
6801: IF ((l_Return_Status IS NOT NULL) AND (l_Return_Status <> FND_API.G_RET_STS_SUCCESS)) THEN
6802: FND_MSG_PUB.Initialize;
6803: FND_MESSAGE.SET_NAME('BIS',l_Return_Msg);
6804: FND_MSG_PUB.ADD;
6805: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6801: IF ((l_Return_Status IS NOT NULL) AND (l_Return_Status <> FND_API.G_RET_STS_SUCCESS)) THEN
6802: FND_MSG_PUB.Initialize;
6803: FND_MESSAGE.SET_NAME('BIS',l_Return_Msg);
6804: FND_MSG_PUB.ADD;
6805: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6806: END IF;
6807:
6808: -- If the Report is associated with more than 1 Overview pages/KPI List.
6809: IF (l_Parent_Obj_Table.COUNT > 1) THEN
6941: FND_MESSAGE.SET_TOKEN('OBJ_NAME', l_Kpi_Name);
6942: FND_MESSAGE.SET_TOKEN('DEP_OBJ_LIST', l_Message);
6943: FND_MSG_PUB.ADD;
6944: FND_MSG_PUB.Count_And_Get
6945: ( p_encoded => FND_API.G_FALSE
6946: , p_count => x_Msg_Count
6947: , p_data => x_Msg_Data
6948: );
6949: END IF;
6952: FND_MESSAGE.SET_NAME('BSC','BSC_KPI_IN_USE');
6953: FND_MESSAGE.SET_TOKEN('OBJ_NAME', l_Kpi_Name);
6954: FND_MESSAGE.SET_TOKEN('DEP_OBJ_LIST', l_Message);
6955: FND_MSG_PUB.ADD;
6956: RAISE FND_API.G_EXC_ERROR;
6957: END IF;
6958:
6959: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
6960:
6955: FND_MSG_PUB.ADD;
6956: RAISE FND_API.G_EXC_ERROR;
6957: END IF;
6958:
6959: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
6960:
6961: EXCEPTION
6962: WHEN FND_API.G_EXC_ERROR THEN
6963: IF (c_Kpi_Report_List%ISOPEN) THEN
6958:
6959: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
6960:
6961: EXCEPTION
6962: WHEN FND_API.G_EXC_ERROR THEN
6963: IF (c_Kpi_Report_List%ISOPEN) THEN
6964: CLOSE c_Kpi_Report_List;
6965: END IF;
6966:
6972: CLOSE c_PMV_Report_List;
6973: END IF;
6974:
6975: FND_MSG_PUB.Count_And_Get
6976: ( p_encoded => FND_API.G_FALSE
6977: , p_count => x_Msg_Count
6978: , p_data => x_Msg_Data
6979: );
6980:
6977: , p_count => x_Msg_Count
6978: , p_data => x_Msg_Data
6979: );
6980:
6981: x_Return_Status := FND_API.G_RET_STS_ERROR;
6982: WHEN OTHERS THEN
6983: IF (c_Kpi_Report_List%ISOPEN) THEN
6984: CLOSE c_Kpi_Report_List;
6985: END IF;
6992: CLOSE c_PMV_Report_List;
6993: END IF;
6994:
6995: FND_MSG_PUB.Count_And_Get
6996: ( p_encoded => FND_API.G_FALSE
6997: , p_count => x_Msg_Count
6998: , p_data => x_Msg_Data
6999: );
7000:
7002: x_Msg_Data := x_Msg_Data; --||' -> BSC_BIS_KPI_CRUD_PUB.Validate_Kpi_Delete ';
7003: ELSE
7004: x_Msg_Data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Validate_Kpi_Delete ';
7005: END IF;
7006: x_Return_Status := FND_API.G_RET_STS_ERROR;
7007:
7008:
7009: END Validate_Kpi_Delete;
7010:
7020: l_Error_Msg VARCHAR2(255);
7021: BEGIN
7022:
7023: FND_MSG_PUB.Initialize;
7024: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
7025:
7026: -- call the DBI API to populate DBI Calendars into BSC_SYS_CALENDARS and BSC_SYS_PERIODICITIES.
7027: BSC_DBI_CALENDAR.Load_Dbi_Cal_Metadata(l_Error_Msg);
7028:
7029: IF (l_Error_Msg IS NOT NULL) THEN
7030: FND_MESSAGE.SET_NAME('BSC','BSC_ERR_LOAD_DBI_CAL_METADATA');
7031: FND_MESSAGE.SET_TOKEN('ERRMSG', l_Error_Msg);
7032: FND_MSG_PUB.ADD;
7033: RAISE FND_API.G_EXC_ERROR;
7034: END IF;
7035:
7036: EXCEPTION
7037: WHEN FND_API.G_EXC_ERROR THEN
7033: RAISE FND_API.G_EXC_ERROR;
7034: END IF;
7035:
7036: EXCEPTION
7037: WHEN FND_API.G_EXC_ERROR THEN
7038: FND_MSG_PUB.Count_And_Get
7039: ( p_encoded => FND_API.G_FALSE
7040: , p_count => x_Msg_Count
7041: , p_data => x_Msg_Data
7035:
7036: EXCEPTION
7037: WHEN FND_API.G_EXC_ERROR THEN
7038: FND_MSG_PUB.Count_And_Get
7039: ( p_encoded => FND_API.G_FALSE
7040: , p_count => x_Msg_Count
7041: , p_data => x_Msg_Data
7042: );
7043:
7040: , p_count => x_Msg_Count
7041: , p_data => x_Msg_Data
7042: );
7043:
7044: x_Return_Status := FND_API.G_RET_STS_ERROR;
7045: WHEN OTHERS THEN
7046: FND_MSG_PUB.Count_And_Get
7047: ( p_encoded => FND_API.G_FALSE
7048: , p_count => x_Msg_Count
7043:
7044: x_Return_Status := FND_API.G_RET_STS_ERROR;
7045: WHEN OTHERS THEN
7046: FND_MSG_PUB.Count_And_Get
7047: ( p_encoded => FND_API.G_FALSE
7048: , p_count => x_Msg_Count
7049: , p_data => x_Msg_Data
7050: );
7051:
7053: x_Msg_Data := x_Msg_Data||' -> BSC_BIS_KPI_CRUD_PUB.Populate_DBI_Calendar ';
7054: ELSE
7055: x_Msg_Data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Populate_DBI_Calendar ';
7056: END IF;
7057: x_Return_Status := FND_API.G_RET_STS_ERROR;
7058:
7059: END Populate_DBI_Calendar;
7060:
7061: -- added for Bug#3777647
7113: IS
7114: BEGIN
7115: FND_MSG_PUB.Initialize;
7116:
7117: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
7118:
7119: IF (p_Param_Portlet_Region_Code IS NULL) THEN
7120: FND_MESSAGE.SET_NAME('BSC','BSC_NO_PARAM_PORTLET');
7121: FND_MSG_PUB.ADD;
7118:
7119: IF (p_Param_Portlet_Region_Code IS NULL) THEN
7120: FND_MESSAGE.SET_NAME('BSC','BSC_NO_PARAM_PORTLET');
7121: FND_MSG_PUB.ADD;
7122: RAISE FND_API.G_EXC_ERROR;
7123: END IF;
7124:
7125: -- Check if AS_OF_DATE is enabled at the Paramter Portlet
7126: IF (is_XTD_Enabled(p_Param_Portlet_Region_Code) = FND_API.G_TRUE) THEN
7122: RAISE FND_API.G_EXC_ERROR;
7123: END IF;
7124:
7125: -- Check if AS_OF_DATE is enabled at the Paramter Portlet
7126: IF (is_XTD_Enabled(p_Param_Portlet_Region_Code) = FND_API.G_TRUE) THEN
7127: -- Check if Advance Summarization Profile >= 0, else throw and error.
7128: IF (BSC_UTILITY.Is_Adv_Summarization_Enabled = FND_API.G_FALSE) THEN
7129: FND_MESSAGE.SET_NAME('BSC','BSC_ENABLE_ADV_SUMMARIZATION');
7130: FND_MSG_PUB.ADD;
7124:
7125: -- Check if AS_OF_DATE is enabled at the Paramter Portlet
7126: IF (is_XTD_Enabled(p_Param_Portlet_Region_Code) = FND_API.G_TRUE) THEN
7127: -- Check if Advance Summarization Profile >= 0, else throw and error.
7128: IF (BSC_UTILITY.Is_Adv_Summarization_Enabled = FND_API.G_FALSE) THEN
7129: FND_MESSAGE.SET_NAME('BSC','BSC_ENABLE_ADV_SUMMARIZATION');
7130: FND_MSG_PUB.ADD;
7131: RAISE FND_API.G_EXC_ERROR;
7132: END IF;
7127: -- Check if Advance Summarization Profile >= 0, else throw and error.
7128: IF (BSC_UTILITY.Is_Adv_Summarization_Enabled = FND_API.G_FALSE) THEN
7129: FND_MESSAGE.SET_NAME('BSC','BSC_ENABLE_ADV_SUMMARIZATION');
7130: FND_MSG_PUB.ADD;
7131: RAISE FND_API.G_EXC_ERROR;
7132: END IF;
7133: END IF;
7134:
7135: EXCEPTION
7132: END IF;
7133: END IF;
7134:
7135: EXCEPTION
7136: WHEN FND_API.G_EXC_ERROR THEN
7137: FND_MSG_PUB.Count_And_Get
7138: ( p_encoded => FND_API.G_FALSE
7139: , p_count => x_Msg_Count
7140: , p_data => x_Msg_Data
7134:
7135: EXCEPTION
7136: WHEN FND_API.G_EXC_ERROR THEN
7137: FND_MSG_PUB.Count_And_Get
7138: ( p_encoded => FND_API.G_FALSE
7139: , p_count => x_Msg_Count
7140: , p_data => x_Msg_Data
7141: );
7142:
7139: , p_count => x_Msg_Count
7140: , p_data => x_Msg_Data
7141: );
7142:
7143: x_Return_Status := FND_API.G_RET_STS_ERROR;
7144: WHEN OTHERS THEN
7145: FND_MSG_PUB.Count_And_Get
7146: ( p_encoded => FND_API.G_FALSE
7147: , p_count => x_Msg_Count
7142:
7143: x_Return_Status := FND_API.G_RET_STS_ERROR;
7144: WHEN OTHERS THEN
7145: FND_MSG_PUB.Count_And_Get
7146: ( p_encoded => FND_API.G_FALSE
7147: , p_count => x_Msg_Count
7148: , p_data => x_Msg_Data
7149: );
7150:
7152: x_Msg_Data := x_Msg_Data||' -> BSC_BIS_KPI_CRUD_PUB.Check_XTD_Summarization ';
7153: ELSE
7154: x_Msg_Data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Check_XTD_Summarization ';
7155: END IF;
7156: x_Return_Status := FND_API.G_RET_STS_ERROR;
7157:
7158: END Check_XTD_Summarization;
7159:
7160: -- Return the Custom KPI details for Bug#3814292
7246: deleting each analysis option will delete the assosiated base Measure,
7247: Fnd Form function and Report.
7248: */
7249: PROCEDURE Delete_S2E_Objective(
7250: p_commit IN VARCHAR2 := FND_API.G_FALSE
7251: ,p_indicator IN NUMBER
7252: ,x_return_status OUT NOCOPY VARCHAR2
7253: ,x_msg_count OUT NOCOPY NUMBER
7254: ,x_msg_data OUT NOCOPY VARCHAR2
7281: l_measure_names shortnames_array;
7282: l_index pls_integer;
7283:
7284: BEGIN
7285: x_return_status := FND_API.G_RET_STS_SUCCESS;
7286: l_index := 1;
7287:
7288: FOR cd_get_analysis_option IN c_get_ana_options LOOP
7289: l_ana_option0 := cd_get_analysis_option.analysis_option0;
7318: x_Msg_Data => x_msg_data);
7319: l_index := l_measure_names.next(l_index);
7320: END LOOP;
7321:
7322: IF(p_Commit = FND_API.G_TRUE) THEN
7323: commit;
7324: END IF;
7325:
7326: EXCEPTION
7323: commit;
7324: END IF;
7325:
7326: EXCEPTION
7327: WHEN FND_API.G_EXC_ERROR THEN
7328: IF (x_msg_data IS NULL) THEN
7329: FND_MSG_PUB.Count_And_Get
7330: ( p_encoded => FND_API.G_FALSE
7331: ,p_count => x_msg_count
7326: EXCEPTION
7327: WHEN FND_API.G_EXC_ERROR THEN
7328: IF (x_msg_data IS NULL) THEN
7329: FND_MSG_PUB.Count_And_Get
7330: ( p_encoded => FND_API.G_FALSE
7331: ,p_count => x_msg_count
7332: ,p_data => x_msg_data
7333: );
7334: END IF;
7331: ,p_count => x_msg_count
7332: ,p_data => x_msg_data
7333: );
7334: END IF;
7335: x_return_status := FND_API.G_RET_STS_ERROR;
7336: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7337: IF (x_msg_data IS NULL) THEN
7338: FND_MSG_PUB.Count_And_Get
7339: ( p_encoded => FND_API.G_FALSE
7332: ,p_data => x_msg_data
7333: );
7334: END IF;
7335: x_return_status := FND_API.G_RET_STS_ERROR;
7336: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7337: IF (x_msg_data IS NULL) THEN
7338: FND_MSG_PUB.Count_And_Get
7339: ( p_encoded => FND_API.G_FALSE
7340: ,p_count => x_msg_count
7335: x_return_status := FND_API.G_RET_STS_ERROR;
7336: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7337: IF (x_msg_data IS NULL) THEN
7338: FND_MSG_PUB.Count_And_Get
7339: ( p_encoded => FND_API.G_FALSE
7340: ,p_count => x_msg_count
7341: ,p_data => x_msg_data
7342: );
7343: END IF;
7340: ,p_count => x_msg_count
7341: ,p_data => x_msg_data
7342: );
7343: END IF;
7344: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7345: WHEN NO_DATA_FOUND THEN
7346: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7347: IF (x_msg_data IS NOT NULL) THEN
7348: x_msg_data := x_msg_data||' -> Delete_S2E_Objective ';
7342: );
7343: END IF;
7344: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7345: WHEN NO_DATA_FOUND THEN
7346: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7347: IF (x_msg_data IS NOT NULL) THEN
7348: x_msg_data := x_msg_data||' -> Delete_S2E_Objective ';
7349: ELSE
7350: x_msg_data := SQLERRM||' at Delete_S2E_Objective ';
7349: ELSE
7350: x_msg_data := SQLERRM||' at Delete_S2E_Objective ';
7351: END IF;
7352: WHEN OTHERS THEN
7353: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7354: IF (x_msg_data IS NOT NULL) THEN
7355: x_msg_data := x_msg_data||' -> Delete_S2E_Objective ';
7356: ELSE
7357: x_msg_data := SQLERRM||' at Delete_S2E_Objective ';
7364: deleting all objectives under this group.
7365: */
7366:
7367: PROCEDURE Delete_S2E_ObjectiveGroup(
7368: p_commit IN VARCHAR2 := FND_API.G_FALSE
7369: ,p_tabId IN NUMBER
7370: ,x_return_status OUT NOCOPY VARCHAR2
7371: ,x_msg_count OUT NOCOPY NUMBER
7372: ,x_msg_data OUT NOCOPY VARCHAR2
7395: , x_msg_count => x_msg_count
7396: , x_msg_data => x_msg_data
7397: );
7398:
7399: IF(p_Commit = FND_API.G_TRUE) THEN
7400: commit;
7401: END IF;
7402:
7403: EXCEPTION
7400: commit;
7401: END IF;
7402:
7403: EXCEPTION
7404: WHEN FND_API.G_EXC_ERROR THEN
7405: IF (x_msg_data IS NULL) THEN
7406: FND_MSG_PUB.Count_And_Get
7407: ( p_encoded => FND_API.G_FALSE
7408: ,p_count => x_msg_count
7403: EXCEPTION
7404: WHEN FND_API.G_EXC_ERROR THEN
7405: IF (x_msg_data IS NULL) THEN
7406: FND_MSG_PUB.Count_And_Get
7407: ( p_encoded => FND_API.G_FALSE
7408: ,p_count => x_msg_count
7409: ,p_data => x_msg_data
7410: );
7411: END IF;
7408: ,p_count => x_msg_count
7409: ,p_data => x_msg_data
7410: );
7411: END IF;
7412: x_return_status := FND_API.G_RET_STS_ERROR;
7413: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7414: IF (x_msg_data IS NULL) THEN
7415: FND_MSG_PUB.Count_And_Get
7416: ( p_encoded => FND_API.G_FALSE
7409: ,p_data => x_msg_data
7410: );
7411: END IF;
7412: x_return_status := FND_API.G_RET_STS_ERROR;
7413: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7414: IF (x_msg_data IS NULL) THEN
7415: FND_MSG_PUB.Count_And_Get
7416: ( p_encoded => FND_API.G_FALSE
7417: ,p_count => x_msg_count
7412: x_return_status := FND_API.G_RET_STS_ERROR;
7413: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7414: IF (x_msg_data IS NULL) THEN
7415: FND_MSG_PUB.Count_And_Get
7416: ( p_encoded => FND_API.G_FALSE
7417: ,p_count => x_msg_count
7418: ,p_data => x_msg_data
7419: );
7420: END IF;
7417: ,p_count => x_msg_count
7418: ,p_data => x_msg_data
7419: );
7420: END IF;
7421: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7422: WHEN NO_DATA_FOUND THEN
7423: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7424: IF (x_msg_data IS NOT NULL) THEN
7425: x_msg_data := x_msg_data||' -> Delete_S2E_ObjectiveGroup';
7419: );
7420: END IF;
7421: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7422: WHEN NO_DATA_FOUND THEN
7423: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7424: IF (x_msg_data IS NOT NULL) THEN
7425: x_msg_data := x_msg_data||' -> Delete_S2E_ObjectiveGroup';
7426: ELSE
7427: x_msg_data := SQLERRM||' at Delete_S2E_ObjectiveGroup ';
7426: ELSE
7427: x_msg_data := SQLERRM||' at Delete_S2E_ObjectiveGroup ';
7428: END IF;
7429: WHEN OTHERS THEN
7430: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7431: IF (x_msg_data IS NOT NULL) THEN
7432: x_msg_data := x_msg_data||' -> Delete_S2E_ObjectiveGroup ';
7433: ELSE
7434: x_msg_data := SQLERRM||' at Delete_S2E_ObjectiveGroup ';
7438: /*
7439: API to delete S2E Scorecard. This is wrapper API to delete scorecard
7440: */
7441: PROCEDURE Delete_S2E_Scorecard(
7442: p_commit IN VARCHAR2 := FND_API.G_FALSE
7443: ,p_tabId IN number
7444: ,x_return_status OUT NOCOPY varchar2
7445: ,x_msg_count OUT NOCOPY number
7446: ,x_msg_data OUT NOCOPY varchar2
7452: , x_msg_count => x_msg_count
7453: , x_msg_data => x_msg_data
7454: );
7455:
7456: IF(p_Commit = FND_API.G_TRUE) THEN
7457: commit;
7458: END IF;
7459:
7460: EXCEPTION
7457: commit;
7458: END IF;
7459:
7460: EXCEPTION
7461: WHEN FND_API.G_EXC_ERROR THEN
7462: IF (x_msg_data IS NULL) THEN
7463: FND_MSG_PUB.Count_And_Get
7464: ( p_encoded => FND_API.G_FALSE
7465: ,p_count => x_msg_count
7460: EXCEPTION
7461: WHEN FND_API.G_EXC_ERROR THEN
7462: IF (x_msg_data IS NULL) THEN
7463: FND_MSG_PUB.Count_And_Get
7464: ( p_encoded => FND_API.G_FALSE
7465: ,p_count => x_msg_count
7466: ,p_data => x_msg_data
7467: );
7468: END IF;
7465: ,p_count => x_msg_count
7466: ,p_data => x_msg_data
7467: );
7468: END IF;
7469: x_return_status := FND_API.G_RET_STS_ERROR;
7470: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7471: IF (x_msg_data IS NULL) THEN
7472: FND_MSG_PUB.Count_And_Get
7473: ( p_encoded => FND_API.G_FALSE
7466: ,p_data => x_msg_data
7467: );
7468: END IF;
7469: x_return_status := FND_API.G_RET_STS_ERROR;
7470: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7471: IF (x_msg_data IS NULL) THEN
7472: FND_MSG_PUB.Count_And_Get
7473: ( p_encoded => FND_API.G_FALSE
7474: ,p_count => x_msg_count
7469: x_return_status := FND_API.G_RET_STS_ERROR;
7470: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7471: IF (x_msg_data IS NULL) THEN
7472: FND_MSG_PUB.Count_And_Get
7473: ( p_encoded => FND_API.G_FALSE
7474: ,p_count => x_msg_count
7475: ,p_data => x_msg_data
7476: );
7477: END IF;
7474: ,p_count => x_msg_count
7475: ,p_data => x_msg_data
7476: );
7477: END IF;
7478: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7479: WHEN NO_DATA_FOUND THEN
7480: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7481: IF (x_msg_data IS NOT NULL) THEN
7482: x_msg_data := x_msg_data||' -> BSC_PMF_UI_WRAPPER.Delete_Tab ';
7476: );
7477: END IF;
7478: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7479: WHEN NO_DATA_FOUND THEN
7480: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7481: IF (x_msg_data IS NOT NULL) THEN
7482: x_msg_data := x_msg_data||' -> BSC_PMF_UI_WRAPPER.Delete_Tab ';
7483: ELSE
7484: x_msg_data := SQLERRM||' at BSC_PMF_UI_WRAPPER.Delete_Tab ';
7483: ELSE
7484: x_msg_data := SQLERRM||' at BSC_PMF_UI_WRAPPER.Delete_Tab ';
7485: END IF;
7486: WHEN OTHERS THEN
7487: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7488: IF (x_msg_data IS NOT NULL) THEN
7489: x_msg_data := x_msg_data||' -> BSC_PMF_UI_WRAPPER.Delete_Tab ';
7490: ELSE
7491: x_msg_data := SQLERRM||' at BSC_PMF_UI_WRAPPER.Delete_Tab ';
7493: END Delete_S2E_Scorecard;
7494:
7495:
7496: procedure Delete_S2E_Metadata(
7497: p_commit IN VARCHAR2 := FND_API.G_FALSE
7498: ,p_tab_id IN number
7499: ,x_return_status OUT NOCOPY varchar2
7500: ,x_msg_count OUT NOCOPY number
7501: ,x_msg_data OUT NOCOPY varchar2
7513: WHERE tab_id = p_tab_id;
7514:
7515: BEGIN
7516: FND_MSG_PUB.Initialize;
7517: x_return_status := FND_API.G_RET_STS_SUCCESS;
7518:
7519: IF (c_tab_indicators%ISOPEN) THEN
7520: CLOSE c_tab_indicators;
7521: END IF;
7524: FETCH c_tab_indicators INTO l_indicator;
7525: CLOSE c_tab_indicators;
7526:
7527: Delete_S2E_Objective(
7528: p_commit => FND_API.G_FALSE
7529: ,p_indicator => l_indicator
7530: ,x_return_status => l_ret_status
7531: ,x_msg_count => l_msg_count
7532: ,x_msg_data => l_msg_data );
7530: ,x_return_status => l_ret_status
7531: ,x_msg_count => l_msg_count
7532: ,x_msg_data => l_msg_data );
7533:
7534: IF (l_ret_status is not null AND l_ret_status <> FND_API.G_RET_STS_SUCCESS ) THEN
7535: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7536: END IF;
7537:
7538: Delete_S2E_ObjectiveGroup(
7531: ,x_msg_count => l_msg_count
7532: ,x_msg_data => l_msg_data );
7533:
7534: IF (l_ret_status is not null AND l_ret_status <> FND_API.G_RET_STS_SUCCESS ) THEN
7535: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7536: END IF;
7537:
7538: Delete_S2E_ObjectiveGroup(
7539: p_commit => FND_API.G_FALSE
7535: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7536: END IF;
7537:
7538: Delete_S2E_ObjectiveGroup(
7539: p_commit => FND_API.G_FALSE
7540: ,p_tabId => p_tab_id
7541: ,x_return_status => l_ret_status
7542: ,x_msg_count => l_msg_count
7543: ,x_msg_data => l_msg_data );
7542: ,x_msg_count => l_msg_count
7543: ,x_msg_data => l_msg_data );
7544:
7545:
7546: IF (l_ret_status is not null AND l_ret_status <> FND_API.G_RET_STS_SUCCESS ) THEN
7547: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7548: END IF;
7549:
7550: Delete_S2E_Scorecard(
7543: ,x_msg_data => l_msg_data );
7544:
7545:
7546: IF (l_ret_status is not null AND l_ret_status <> FND_API.G_RET_STS_SUCCESS ) THEN
7547: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7548: END IF;
7549:
7550: Delete_S2E_Scorecard(
7551: p_commit => FND_API.G_FALSE
7547: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7548: END IF;
7549:
7550: Delete_S2E_Scorecard(
7551: p_commit => FND_API.G_FALSE
7552: ,p_tabId => p_tab_id
7553: ,x_return_status => l_ret_status
7554: ,x_msg_count => l_msg_count
7555: ,x_msg_data => l_msg_data );
7554: ,x_msg_count => l_msg_count
7555: ,x_msg_data => l_msg_data );
7556:
7557:
7558: IF (l_ret_status is not null AND l_ret_status <> FND_API.G_RET_STS_SUCCESS ) THEN
7559: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7560: END IF;
7561:
7562: IF(p_Commit = FND_API.G_TRUE) THEN
7555: ,x_msg_data => l_msg_data );
7556:
7557:
7558: IF (l_ret_status is not null AND l_ret_status <> FND_API.G_RET_STS_SUCCESS ) THEN
7559: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7560: END IF;
7561:
7562: IF(p_Commit = FND_API.G_TRUE) THEN
7563: commit;
7558: IF (l_ret_status is not null AND l_ret_status <> FND_API.G_RET_STS_SUCCESS ) THEN
7559: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7560: END IF;
7561:
7562: IF(p_Commit = FND_API.G_TRUE) THEN
7563: commit;
7564: END IF;
7565:
7566: EXCEPTION
7563: commit;
7564: END IF;
7565:
7566: EXCEPTION
7567: WHEN FND_API.G_EXC_ERROR THEN
7568: IF (x_msg_data IS NULL) THEN
7569: FND_MSG_PUB.Count_And_Get
7570: ( p_encoded => FND_API.G_FALSE
7571: ,p_count => x_msg_count
7566: EXCEPTION
7567: WHEN FND_API.G_EXC_ERROR THEN
7568: IF (x_msg_data IS NULL) THEN
7569: FND_MSG_PUB.Count_And_Get
7570: ( p_encoded => FND_API.G_FALSE
7571: ,p_count => x_msg_count
7572: ,p_data => x_msg_data
7573: );
7574: END IF;
7571: ,p_count => x_msg_count
7572: ,p_data => x_msg_data
7573: );
7574: END IF;
7575: x_return_status := FND_API.G_RET_STS_ERROR;
7576: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7577: IF (x_msg_data IS NULL) THEN
7578: FND_MSG_PUB.Count_And_Get
7579: ( p_encoded => FND_API.G_FALSE
7572: ,p_data => x_msg_data
7573: );
7574: END IF;
7575: x_return_status := FND_API.G_RET_STS_ERROR;
7576: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7577: IF (x_msg_data IS NULL) THEN
7578: FND_MSG_PUB.Count_And_Get
7579: ( p_encoded => FND_API.G_FALSE
7580: ,p_count => x_msg_count
7575: x_return_status := FND_API.G_RET_STS_ERROR;
7576: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7577: IF (x_msg_data IS NULL) THEN
7578: FND_MSG_PUB.Count_And_Get
7579: ( p_encoded => FND_API.G_FALSE
7580: ,p_count => x_msg_count
7581: ,p_data => x_msg_data
7582: );
7583: END IF;
7580: ,p_count => x_msg_count
7581: ,p_data => x_msg_data
7582: );
7583: END IF;
7584: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7585: WHEN NO_DATA_FOUND THEN
7586: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7587: IF (x_msg_data IS NOT NULL) THEN
7588: x_msg_data := x_msg_data||' -> Delete_S2E_Metadata ';
7582: );
7583: END IF;
7584: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7585: WHEN NO_DATA_FOUND THEN
7586: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7587: IF (x_msg_data IS NOT NULL) THEN
7588: x_msg_data := x_msg_data||' -> Delete_S2E_Metadata ';
7589: ELSE
7590: x_msg_data := SQLERRM||' at Delete_S2E_Metadata ';
7589: ELSE
7590: x_msg_data := SQLERRM||' at Delete_S2E_Metadata ';
7591: END IF;
7592: WHEN OTHERS THEN
7593: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7594: IF (x_msg_data IS NOT NULL) THEN
7595: x_msg_data := x_msg_data||' -> Delete_S2E_Metadata ';
7596: ELSE
7597: x_msg_data := SQLERRM||' at Delete_S2E_Metadata ';
7620: WHERE a.indicator = p_indicator;
7621:
7622: BEGIN
7623: FND_MSG_PUB.Initialize;
7624: x_return_status := FND_API.G_RET_STS_SUCCESS;
7625:
7626: IF(c_get_objective%ISOPEN) THEN
7627: CLOSE c_get_objective;
7628: END IF;
7644: FND_MESSAGE.SET_TOKEN('CUST_KPI_LIST',l_cust_kpis);
7645: FND_MSG_PUB.ADD;
7646:
7647: FND_MSG_PUB.Count_And_Get
7648: ( p_encoded => FND_API.G_FALSE
7649: , p_count => x_msg_count
7650: , p_data => x_msg_data
7651: );
7652:
7651: );
7652:
7653: EXCEPTION
7654: WHEN NO_DATA_FOUND THEN
7655: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7656: IF (x_msg_data IS NOT NULL) THEN
7657: x_msg_data := x_msg_data||' -> Get_S2E_Scorecard_DeleteMessage ';
7658: ELSE
7659: x_msg_data := SQLERRM||' at ';
7658: ELSE
7659: x_msg_data := SQLERRM||' at ';
7660: END IF;
7661: WHEN OTHERS THEN
7662: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7663: IF (x_msg_data IS NOT NULL) THEN
7664: x_msg_data := x_msg_data||' -> Get_S2E_Scorecard_DeleteMessage ';
7665: ELSE
7666: x_msg_data := SQLERRM||' at Get_S2E_Scorecard_DeleteMessage ';
7753: x_All_Dim_Group_Ids(4) := NULL;
7754: x_All_Dim_Group_Ids(5) := NULL;
7755: x_All_Dim_Group_Ids(6) := NULL;
7756: x_All_Dim_Group_Ids(7) := NULL;
7757: x_is_as_of_date := FND_API.G_FALSE;
7758:
7759: WHILE (
7760: is_More( p_dim_short_names => l_Dimension_Info
7761: , p_dim_name => l_Dim_Plus_DimObj_Info
7765: l_Dimension_Grp(l_counter) := SUBSTR(l_Dim_Plus_DimObj_Info, 1, INSTR(l_Dim_Plus_DimObj_Info,'+') - 1);
7766: l_Dimension_Object(l_counter) := SUBSTR(l_Dim_Plus_DimObj_Info, INSTR(l_Dim_Plus_DimObj_Info,'+') + 1);
7767:
7768: IF (l_Dimension_Grp(l_counter) = C_AS_OF_DATE OR l_Dimension_Object(l_counter) = C_AS_OF_DATE) THEN
7769: x_is_as_of_date := FND_API.G_TRUE;
7770: END IF;
7771:
7772: IF ((l_Dimension_Grp(l_counter) <> C_TIME_COMPARISON)
7773: AND ( NOT((l_Dimension_Grp(l_counter) = C_AS_OF_DATE) OR (l_Dimension_Object(l_counter) = C_AS_OF_DATE)))) THEN
7772: IF ((l_Dimension_Grp(l_counter) <> C_TIME_COMPARISON)
7773: AND ( NOT((l_Dimension_Grp(l_counter) = C_AS_OF_DATE) OR (l_Dimension_Object(l_counter) = C_AS_OF_DATE)))) THEN
7774: IF ((l_Dimension_Grp(l_Counter) <> BSC_BIS_KPI_CRUD_PUB.C_OLTP_TIME) AND
7775: (l_Dimension_Grp(l_Counter) <> BSC_BIS_KPI_CRUD_PUB.C_EDW_TIME) AND
7776: (BSC_BIS_KPI_CRUD_PUB.Is_Dimension_Calendar(l_Dimension_Grp(l_Counter)) <> FND_API.G_TRUE)) THEN
7777:
7778: x_Non_Time_Dimension_Groups(x_Non_Time_Counter) := l_Dimension_Grp(l_Counter);
7779: x_Non_Time_Dimension_Objects(x_Non_Time_Counter) := l_dimension_object(l_Counter);
7780:
7809: IF l_Dim_Id_Cnt <> 1 THEN
7810: FND_MESSAGE.SET_NAME('BSC','BSC_INVALID_GROUP_SHORT_NAME');
7811: FND_MESSAGE.SET_TOKEN('BSC_GROUP_SHORT_NAME', l_dimension_grp(l_counter), TRUE);
7812: FND_MSG_PUB.ADD;
7813: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7814: END IF;
7815:
7816: l_Dim_Id_Cnt := 0;
7817:
7824: x_Non_Time_Counter := x_Non_Time_Counter - 1;
7825: x_Time_Counter := x_Time_Counter - 1;
7826:
7827: EXCEPTION
7828: WHEN FND_API.G_EXC_ERROR THEN
7829: IF (x_msg_data IS NULL) THEN
7830: FND_MSG_PUB.Count_And_Get
7831: ( p_encoded => FND_API.G_FALSE
7832: , p_count => l_msg_count
7827: EXCEPTION
7828: WHEN FND_API.G_EXC_ERROR THEN
7829: IF (x_msg_data IS NULL) THEN
7830: FND_MSG_PUB.Count_And_Get
7831: ( p_encoded => FND_API.G_FALSE
7832: , p_count => l_msg_count
7833: , p_data => x_msg_data
7834: );
7835: END IF;
7832: , p_count => l_msg_count
7833: , p_data => x_msg_data
7834: );
7835: END IF;
7836: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7837: IF (x_msg_data IS NULL) THEN
7838: FND_MSG_PUB.Count_And_Get
7839: ( p_encoded => FND_API.G_FALSE
7840: , p_count => l_msg_count
7835: END IF;
7836: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7837: IF (x_msg_data IS NULL) THEN
7838: FND_MSG_PUB.Count_And_Get
7839: ( p_encoded => FND_API.G_FALSE
7840: , p_count => l_msg_count
7841: , p_data => x_msg_data
7842: );
7843: END IF;
7900:
7901:
7902:
7903: EXCEPTION
7904: WHEN FND_API.G_EXC_ERROR THEN
7905:
7906: IF (x_msg_data IS NULL) THEN
7907: FND_MSG_PUB.Count_And_Get
7908: ( p_encoded => FND_API.G_FALSE
7904: WHEN FND_API.G_EXC_ERROR THEN
7905:
7906: IF (x_msg_data IS NULL) THEN
7907: FND_MSG_PUB.Count_And_Get
7908: ( p_encoded => FND_API.G_FALSE
7909: , p_count => x_msg_count
7910: , p_data => x_msg_data
7911: );
7912: END IF;
7909: , p_count => x_msg_count
7910: , p_data => x_msg_data
7911: );
7912: END IF;
7913: x_Return_Status := FND_API.G_RET_STS_ERROR;
7914:
7915: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7916:
7917: IF (x_msg_data IS NULL) THEN
7911: );
7912: END IF;
7913: x_Return_Status := FND_API.G_RET_STS_ERROR;
7914:
7915: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7916:
7917: IF (x_msg_data IS NULL) THEN
7918: FND_MSG_PUB.Count_And_Get
7919: ( p_encoded => FND_API.G_FALSE
7915: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7916:
7917: IF (x_msg_data IS NULL) THEN
7918: FND_MSG_PUB.Count_And_Get
7919: ( p_encoded => FND_API.G_FALSE
7920: , p_count => x_msg_count
7921: , p_data => x_msg_data
7922: );
7923: END IF;
7920: , p_count => x_msg_count
7921: , p_data => x_msg_data
7922: );
7923: END IF;
7924: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
7925:
7926: WHEN NO_DATA_FOUND THEN
7927:
7928: IF (x_msg_data IS NOT NULL) THEN
7929: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Refresh_Ak_Bsc_Bis_Metadata ';
7930: ELSE
7931: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Refresh_Ak_Bsc_Bis_Metadata ';
7932: END IF;
7933: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
7934:
7935: WHEN OTHERS THEN
7936:
7937: IF (x_msg_data IS NOT NULL) THEN
7938: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Refresh_Ak_Bsc_Bis_Metadata ';
7939: ELSE
7940: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Refresh_Ak_Bsc_Bis_Metadata ';
7941: END IF;
7942: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
7943:
7944: END Refresh_Ak_Bsc_Bis_Metadata;
7945:
7946: PROCEDURE Refresh_Ak_Bsc_Bis_Metadata(
7982: BEGIN
7983: SAVEPOINT RefreshAkBscBisMeta;
7984:
7985: FND_MSG_PUB.Initialize;
7986: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
7987:
7988: -- 1) Cascaded back to AK Metadata (AK_REGIONS, AK_REGION_ITEMS, FND_FORM_FUNCTIONS_VL
7989: l_report_region_rec.Region_Code := p_Region_Code;
7990: l_report_region_rec.Region_Name := BIS_COMMON_UTILS.G_DEF_CHAR;
8021: ,x_return_status => x_return_status
8022: ,x_msg_count => x_msg_count
8023: ,x_msg_data => x_msg_data
8024: );
8025: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8026: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8027: END IF;
8028:
8029:
8022: ,x_msg_count => x_msg_count
8023: ,x_msg_data => x_msg_data
8024: );
8025: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8026: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8027: END IF;
8028:
8029:
8030: -- 2) Sequence the Data Series
8031:
8032: -- awaiting PL/SQL from William.
8033:
8034: -- 3) Refresh Dimension Metadata
8035: IF (p_Force_Create_Dim = FND_API.G_TRUE) THEN
8036:
8037: x_Non_Time_Dim_Obj_Short_Names := NULL;
8038:
8039: IF (p_Dim_Obj_Short_Names IS NOT NULL) THEN
8053: );
8054:
8055: -- code to recreate Periodicities goes here.
8056:
8057: IF (Has_Time_Dim_Obj_Changed(x_Time_Dim_Obj_Short_Names, p_Kpi_Id, l_Is_XTD_Enabled) = FND_API.G_TRUE) THEN
8058: BSC_BIS_KPI_CRUD_PUB.Assign_KPI_Periodicities(
8059: p_Commit => p_Commit
8060: ,p_Kpi_Id => p_Kpi_Id
8061: ,p_Time_Dim_Obj_Sns => x_Time_Dim_Obj_Short_Names
8065: ,x_Return_Status => x_Return_Status
8066: ,x_Msg_Count => x_Msg_Count
8067: ,x_Msg_Data => x_Msg_Data
8068: );
8069: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
8070: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8071: END IF;
8072: END IF;
8073: END IF;
8066: ,x_Msg_Count => x_Msg_Count
8067: ,x_Msg_Data => x_Msg_Data
8068: );
8069: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
8070: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8071: END IF;
8072: END IF;
8073: END IF;
8074:
8071: END IF;
8072: END IF;
8073: END IF;
8074:
8075: IF (Has_Non_Time_Dim_Obj_Changed(x_Non_Time_Dim_Obj_Short_Names, p_Kpi_Id)= FND_API.G_TRUE) THEN
8076: BSC_BIS_DIMENSION_PUB.Update_Dimension
8077: ( p_commit => p_Commit
8078: , p_dim_short_name => p_Region_Code
8079: , p_display_name => p_Region_Code
8080: , p_description => p_Region_Code
8081: , p_application_id => p_Region_Application_Id
8082: , p_dim_obj_short_names => x_Non_Time_Dim_Obj_Short_Names
8083: , p_time_stamp => NULL
8084: , p_hide => FND_API.G_TRUE
8085: , x_return_status => x_Return_Status
8086: , x_msg_count => x_Msg_Count
8087: , x_msg_data => x_Msg_Data
8088: );
8085: , x_return_status => x_Return_Status
8086: , x_msg_count => x_Msg_Count
8087: , x_msg_data => x_Msg_Data
8088: );
8089: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8090: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8091: END IF;
8092:
8093: -- added for Bug#4923006
8086: , x_msg_count => x_Msg_Count
8087: , x_msg_data => x_Msg_Data
8088: );
8089: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8090: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8091: END IF;
8092:
8093: -- added for Bug#4923006
8094: IF (Is_Dim_Associated_To_Objective (p_Region_Code, p_Kpi_Id) = FND_API.G_FALSE) THEN
8090: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8091: END IF;
8092:
8093: -- added for Bug#4923006
8094: IF (Is_Dim_Associated_To_Objective (p_Region_Code, p_Kpi_Id) = FND_API.G_FALSE) THEN
8095: BSC_BIS_KPI_MEAS_PUB.Assign_Dims_To_Dim_Set(
8096: p_Commit => p_Commit
8097: ,p_Kpi_Id => p_Kpi_Id
8098: ,p_Dim_Set_Id => 0
8101: ,x_Return_Status => x_Return_Status
8102: ,x_Msg_Count => x_Msg_Count
8103: ,x_Msg_Data => x_Msg_Data
8104: );
8105: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
8106: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8107: END IF;
8108: END IF;
8109: END IF;
8102: ,x_Msg_Count => x_Msg_Count
8103: ,x_Msg_Data => x_Msg_Data
8104: );
8105: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
8106: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8107: END IF;
8108: END IF;
8109: END IF;
8110: END IF;
8112:
8113: -- reorder the Measure at the series level (Including delete/add)
8114: l_Measure_Short_Names := BSC_BIS_KPI_CRUD_PUB.Get_DS_Sequence_From_AK(p_Region_Code, p_Kpi_Id);
8115:
8116: IF (Has_Measure_Column_Changed(l_Measure_Short_Names, p_Kpi_Id) = FND_API.G_TRUE) THEN
8117: BSC_ANALYSIS_OPTION_PUB.Rearrange_Data_Series(
8118: p_commit => FND_API.G_FALSE
8119: ,p_Kpi_Id => p_Kpi_Id
8120: ,p_option_group0 => 0
8114: l_Measure_Short_Names := BSC_BIS_KPI_CRUD_PUB.Get_DS_Sequence_From_AK(p_Region_Code, p_Kpi_Id);
8115:
8116: IF (Has_Measure_Column_Changed(l_Measure_Short_Names, p_Kpi_Id) = FND_API.G_TRUE) THEN
8117: BSC_ANALYSIS_OPTION_PUB.Rearrange_Data_Series(
8118: p_commit => FND_API.G_FALSE
8119: ,p_Kpi_Id => p_Kpi_Id
8120: ,p_option_group0 => 0
8121: ,p_option_group1 => 0
8122: ,p_option_group2 => 0
8120: ,p_option_group0 => 0
8121: ,p_option_group1 => 0
8122: ,p_option_group2 => 0
8123: ,p_Measure_Seq => l_Measure_Short_Names
8124: ,p_add_flag => FND_API.G_TRUE
8125: ,p_remove_flag => FND_API.G_TRUE
8126: ,x_return_status => x_return_status
8127: ,x_msg_count => x_msg_count
8128: ,x_msg_data => x_msg_data
8121: ,p_option_group1 => 0
8122: ,p_option_group2 => 0
8123: ,p_Measure_Seq => l_Measure_Short_Names
8124: ,p_add_flag => FND_API.G_TRUE
8125: ,p_remove_flag => FND_API.G_TRUE
8126: ,x_return_status => x_return_status
8127: ,x_msg_count => x_msg_count
8128: ,x_msg_data => x_msg_data
8129: );
8126: ,x_return_status => x_return_status
8127: ,x_msg_count => x_msg_count
8128: ,x_msg_data => x_msg_data
8129: );
8130: IF ((x_Return_Status IS NOT NULL) AND (x_Return_Status <> FND_API.G_RET_STS_SUCCESS)) THEN
8131: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8132: END IF;
8133: END IF;
8134:
8127: ,x_msg_count => x_msg_count
8128: ,x_msg_data => x_msg_data
8129: );
8130: IF ((x_Return_Status IS NOT NULL) AND (x_Return_Status <> FND_API.G_RET_STS_SUCCESS)) THEN
8131: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8132: END IF;
8133: END IF;
8134:
8135: -- Update the Objective Name to correspond with the AK Region Code
8148: , x_return_status => x_return_status
8149: , x_msg_count => x_msg_count
8150: , x_msg_data => x_msg_data
8151: );
8152: IF ((x_Return_Status IS NOT NULL) AND (x_Return_Status <> FND_API.G_RET_STS_SUCCESS)) THEN
8153: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8154: END IF;
8155:
8156: -- We have BSC_KPIS_TL.HELP is VARCHAR2(150);
8149: , x_msg_count => x_msg_count
8150: , x_msg_data => x_msg_data
8151: );
8152: IF ((x_Return_Status IS NOT NULL) AND (x_Return_Status <> FND_API.G_RET_STS_SUCCESS)) THEN
8153: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8154: END IF;
8155:
8156: -- We have BSC_KPIS_TL.HELP is VARCHAR2(150);
8157: l_Region_Description := SUBSTR(l_Region_Description, 1, 150);
8164: ,x_Msg_Data => x_msg_data
8165: ,p_Kpi_Name => l_Region_Name
8166: ,p_Kpi_Help => l_Region_Description
8167: );
8168: IF ((x_Return_Status IS NOT NULL) AND (x_Return_Status <> FND_API.G_RET_STS_SUCCESS)) THEN
8169: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8170: END IF;
8171:
8172: EXCEPTION
8165: ,p_Kpi_Name => l_Region_Name
8166: ,p_Kpi_Help => l_Region_Description
8167: );
8168: IF ((x_Return_Status IS NOT NULL) AND (x_Return_Status <> FND_API.G_RET_STS_SUCCESS)) THEN
8169: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8170: END IF;
8171:
8172: EXCEPTION
8173: WHEN FND_API.G_EXC_ERROR THEN
8169: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8170: END IF;
8171:
8172: EXCEPTION
8173: WHEN FND_API.G_EXC_ERROR THEN
8174: ROLLBACK TO RefreshAkBscBisMeta;
8175:
8176: IF (x_msg_data IS NULL) THEN
8177: FND_MSG_PUB.Count_And_Get
8174: ROLLBACK TO RefreshAkBscBisMeta;
8175:
8176: IF (x_msg_data IS NULL) THEN
8177: FND_MSG_PUB.Count_And_Get
8178: ( p_encoded => FND_API.G_FALSE
8179: , p_count => x_msg_count
8180: , p_data => x_msg_data
8181: );
8182: END IF;
8179: , p_count => x_msg_count
8180: , p_data => x_msg_data
8181: );
8182: END IF;
8183: x_Return_Status := FND_API.G_RET_STS_ERROR;
8184:
8185: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8186: ROLLBACK TO RefreshAkBscBisMeta;
8187:
8181: );
8182: END IF;
8183: x_Return_Status := FND_API.G_RET_STS_ERROR;
8184:
8185: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8186: ROLLBACK TO RefreshAkBscBisMeta;
8187:
8188: IF (x_msg_data IS NULL) THEN
8189: FND_MSG_PUB.Count_And_Get
8186: ROLLBACK TO RefreshAkBscBisMeta;
8187:
8188: IF (x_msg_data IS NULL) THEN
8189: FND_MSG_PUB.Count_And_Get
8190: ( p_encoded => FND_API.G_FALSE
8191: , p_count => x_msg_count
8192: , p_data => x_msg_data
8193: );
8194: END IF;
8191: , p_count => x_msg_count
8192: , p_data => x_msg_data
8193: );
8194: END IF;
8195: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
8196:
8197: WHEN NO_DATA_FOUND THEN
8198: ROLLBACK TO RefreshAkBscBisMeta;
8199:
8201: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Refresh_Ak_Bsc_Bis_Metadata ';
8202: ELSE
8203: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Refresh_Ak_Bsc_Bis_Metadata ';
8204: END IF;
8205: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
8206:
8207: WHEN OTHERS THEN
8208: ROLLBACK TO RefreshAkBscBisMeta;
8209:
8211: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Refresh_Ak_Bsc_Bis_Metadata ';
8212: ELSE
8213: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Refresh_Ak_Bsc_Bis_Metadata ';
8214: END IF;
8215: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
8216:
8217: END Refresh_Ak_Bsc_Bis_Metadata;
8218:
8219:
8392:
8393:
8394: --IF AG Report is NOT in Production Mode
8395: PROCEDURE Convert_AutoGen_To_ViewBased (
8396: p_Commit IN VARCHAR2 := FND_API.G_FALSE
8397: , p_Region_Code IN VARCHAR2
8398: , p_Region_Application_Id IN NUMBER
8399: , x_Return_Status OUT NOCOPY VARCHAR
8400: , x_Msg_Count OUT NOCOPY NUMBER
8422: AND I.DATASET_ID = A.DATASET_ID;
8423:
8424: BEGIN
8425: SAVEPOINT MigAGRVBR;
8426: x_return_status := FND_API.G_RET_STS_SUCCESS;
8427:
8428: l_Kpi_Id := BSC_BIS_KPI_CRUD_PUB.Get_Kpi_Id(p_Region_Code);
8429:
8430: IF (l_Kpi_Id = BSC_BIS_KPI_CRUD_PUB.C_INVALID_ENTITY) THEN
8429:
8430: IF (l_Kpi_Id = BSC_BIS_KPI_CRUD_PUB.C_INVALID_ENTITY) THEN
8431: FND_MESSAGE.SET_NAME('BSC','BSC_SETUP_REPORT_DEF');
8432: FND_MSG_PUB.ADD;
8433: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8434: END IF;
8435:
8436: l_Count := 0;
8437: FOR cMSN IN c_Measure_Short_Names LOOP
8439: l_Count := l_Count + 1;
8440: --DBMS_OUTPUT.PUT_LINE('l_Measure_List(' || l_Count || ') - ' || cMSN.SHORT_NAME);
8441: END LOOP;
8442:
8443: l_Delete_Measure := FND_API.G_FALSE;
8444: l_Delete_Dimensions := FND_API.G_FALSE;
8445:
8446: BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata (
8447: p_Commit => p_Commit
8440: --DBMS_OUTPUT.PUT_LINE('l_Measure_List(' || l_Count || ') - ' || cMSN.SHORT_NAME);
8441: END LOOP;
8442:
8443: l_Delete_Measure := FND_API.G_FALSE;
8444: l_Delete_Dimensions := FND_API.G_FALSE;
8445:
8446: BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata (
8447: p_Commit => p_Commit
8448: , p_Region_Code => p_Region_Code
8452: , x_Msg_Count => x_Msg_Count
8453: , x_Msg_Data => x_Msg_Data
8454: );
8455:
8456: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8457: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8458: END IF;
8459:
8460: /*
8453: , x_Msg_Data => x_Msg_Data
8454: );
8455:
8456: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8457: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8458: END IF;
8459:
8460: /*
8461:
8479:
8480: */
8481: --DBMS_OUTPUT.PUT_LINE('Coming to ... BSC_BIS_KPI_CRUD_PUB.Switch_Measure_Type');
8482:
8483: IF (l_Delete_Measure = FND_API.G_FALSE) THEN
8484: FOR iCount IN 0..l_Measure_List.LAST LOOP
8485: --DBMS_OUTPUT.PUT_LINE('loop ... BSC_BIS_KPI_CRUD_PUB.Switch_Measure_Type ... ' || l_Measure_List(iCount));
8486: BSC_BIS_KPI_CRUD_PUB.Switch_Measure_Type (
8487: p_Commit => p_Commit
8486: BSC_BIS_KPI_CRUD_PUB.Switch_Measure_Type (
8487: p_Commit => p_Commit
8488: , p_Measure_Short_Name => l_Measure_List(iCount)
8489: , p_Target_Source => BSC_BIS_MEASURE_PUB.c_PMF
8490: , p_Delete_Columns => FND_API.G_FALSE
8491: , p_Clean_Measure_Date_Source => FND_API.G_TRUE
8492: , x_Return_Status => x_Return_Status
8493: , x_Msg_Count => x_Msg_Count
8494: , x_Msg_Data => x_Msg_Data
8487: p_Commit => p_Commit
8488: , p_Measure_Short_Name => l_Measure_List(iCount)
8489: , p_Target_Source => BSC_BIS_MEASURE_PUB.c_PMF
8490: , p_Delete_Columns => FND_API.G_FALSE
8491: , p_Clean_Measure_Date_Source => FND_API.G_TRUE
8492: , x_Return_Status => x_Return_Status
8493: , x_Msg_Count => x_Msg_Count
8494: , x_Msg_Data => x_Msg_Data
8495: );
8494: , x_Msg_Data => x_Msg_Data
8495: );
8496: --DBMS_OUTPUT.PUT_LINE(' loop ... x_Return_Status ' || x_Return_Status);
8497: --DBMS_OUTPUT.PUT_LINE(' loop ... x_Msg_Data ' || x_Msg_Data);
8498: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8499: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8500: END IF;
8501: END LOOP;
8502: END IF;
8495: );
8496: --DBMS_OUTPUT.PUT_LINE(' loop ... x_Return_Status ' || x_Return_Status);
8497: --DBMS_OUTPUT.PUT_LINE(' loop ... x_Msg_Data ' || x_Msg_Data);
8498: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8499: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8500: END IF;
8501: END LOOP;
8502: END IF;
8503:
8543:
8544: --DBMS_OUTPUT.PUT_LINE(' AK ... x_Return_Status ' || x_Return_Status);
8545: --DBMS_OUTPUT.PUT_LINE(' AK ... x_Msg_Data ' || x_Msg_Data);
8546:
8547: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8548: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8549: END IF;
8550:
8551:
8544: --DBMS_OUTPUT.PUT_LINE(' AK ... x_Return_Status ' || x_Return_Status);
8545: --DBMS_OUTPUT.PUT_LINE(' AK ... x_Msg_Data ' || x_Msg_Data);
8546:
8547: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8548: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8549: END IF;
8550:
8551:
8552: EXCEPTION
8549: END IF;
8550:
8551:
8552: EXCEPTION
8553: WHEN FND_API.G_EXC_ERROR THEN
8554: IF (x_msg_data IS NULL) THEN
8555: FND_MSG_PUB.Count_And_Get
8556: ( p_encoded => FND_API.G_FALSE
8557: , p_count => x_msg_count
8552: EXCEPTION
8553: WHEN FND_API.G_EXC_ERROR THEN
8554: IF (x_msg_data IS NULL) THEN
8555: FND_MSG_PUB.Count_And_Get
8556: ( p_encoded => FND_API.G_FALSE
8557: , p_count => x_msg_count
8558: , p_data => x_msg_data
8559: );
8560: END IF;
8557: , p_count => x_msg_count
8558: , p_data => x_msg_data
8559: );
8560: END IF;
8561: x_return_status := FND_API.G_RET_STS_ERROR;
8562: ROLLBACK TO MigAGRVBR;
8563: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8564: IF (x_msg_data IS NULL) THEN
8565: FND_MSG_PUB.Count_And_Get
8559: );
8560: END IF;
8561: x_return_status := FND_API.G_RET_STS_ERROR;
8562: ROLLBACK TO MigAGRVBR;
8563: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8564: IF (x_msg_data IS NULL) THEN
8565: FND_MSG_PUB.Count_And_Get
8566: ( p_encoded => FND_API.G_FALSE
8567: , p_count => x_msg_count
8562: ROLLBACK TO MigAGRVBR;
8563: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8564: IF (x_msg_data IS NULL) THEN
8565: FND_MSG_PUB.Count_And_Get
8566: ( p_encoded => FND_API.G_FALSE
8567: , p_count => x_msg_count
8568: , p_data => x_msg_data
8569: );
8570: END IF;
8567: , p_count => x_msg_count
8568: , p_data => x_msg_data
8569: );
8570: END IF;
8571: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8572: ROLLBACK TO MigAGRVBR;
8573: WHEN NO_DATA_FOUND THEN
8574: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8575: IF (x_msg_data IS NOT NULL) THEN
8570: END IF;
8571: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8572: ROLLBACK TO MigAGRVBR;
8573: WHEN NO_DATA_FOUND THEN
8574: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8575: IF (x_msg_data IS NOT NULL) THEN
8576: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Convert_AutoGen_To_ViewBased ';
8577: ELSE
8578: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Convert_AutoGen_To_ViewBased ';
8578: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Convert_AutoGen_To_ViewBased ';
8579: END IF;
8580: ROLLBACK TO MigAGRVBR;
8581: WHEN OTHERS THEN
8582: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8583: IF (x_msg_data IS NOT NULL) THEN
8584: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Convert_AutoGen_To_ViewBased ';
8585: ELSE
8586: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Convert_AutoGen_To_ViewBased ';
8591:
8592:
8593: -- Delete's all the BSC metadata associated with Report designer, with Measure optionally
8594: PROCEDURE Delete_AG_Bsc_Metadata (
8595: p_Commit IN VARCHAR2 := FND_API.G_FALSE
8596: , p_Region_Code IN VARCHAR2
8597: , p_Delete_Measures IN VARCHAR2
8598: , p_Delete_Dimensions IN VARCHAR2
8599: , x_Return_Status OUT NOCOPY VARCHAR
8621:
8622: BEGIN
8623:
8624: SAVEPOINT DelAGRBscMD;
8625: x_return_status := FND_API.G_RET_STS_SUCCESS;
8626:
8627:
8628: -- Deleting of the Dimension has been disabled since, it will from now on have the
8629: -- where clase and during conversion from AG to PLSQL we need to retain the whereclase,
8626:
8627:
8628: -- Deleting of the Dimension has been disabled since, it will from now on have the
8629: -- where clase and during conversion from AG to PLSQL we need to retain the whereclase,
8630: l_Delete_Dimension := FND_API.G_FALSE;
8631:
8632: l_Kpi_Id := BSC_BIS_KPI_CRUD_PUB.Get_Kpi_Id(p_Region_Code);
8633:
8634: IF (l_Kpi_Id = BSC_BIS_KPI_CRUD_PUB.C_INVALID_ENTITY) THEN
8633:
8634: IF (l_Kpi_Id = BSC_BIS_KPI_CRUD_PUB.C_INVALID_ENTITY) THEN
8635: FND_MESSAGE.SET_NAME('BSC','BSC_SETUP_REPORT_DEF');
8636: FND_MSG_PUB.ADD;
8637: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8638: END IF;
8639:
8640: l_Count := 0;
8641: FOR cMSN IN c_Measure_Short_Names LOOP
8678: ,x_Return_Status => x_Return_Status
8679: ,x_Msg_Count => x_Msg_Count
8680: ,x_Msg_Data => x_Msg_Data
8681: );
8682: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8683: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8684: END IF;
8685:
8686: /*****************************************88
8679: ,x_Msg_Count => x_Msg_Count
8680: ,x_Msg_Data => x_Msg_Data
8681: );
8682: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8683: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8684: END IF;
8685:
8686: /*****************************************88
8687: For Simulation Tree Enhancement we will not have the tab_id and
8703: ,x_return_status => x_Return_Status
8704: ,x_msg_count => x_Msg_Count
8705: ,x_msg_data => x_Msg_Data
8706: );
8707: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8708: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8709: END IF;
8710:
8711:
8704: ,x_msg_count => x_Msg_Count
8705: ,x_msg_data => x_Msg_Data
8706: );
8707: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8708: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8709: END IF;
8710:
8711:
8712: -- Delete the -1 entry as well.
8717: ,x_return_status => x_Return_Status
8718: ,x_msg_count => x_Msg_Count
8719: ,x_msg_data => x_Msg_Data
8720: );
8721: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8722: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8723: END IF;
8724:
8725: /*
8718: ,x_msg_count => x_Msg_Count
8719: ,x_msg_data => x_Msg_Data
8720: );
8721: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8722: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8723: END IF;
8724:
8725: /*
8726: + Delete the Scorecard Created for the AG Report
8732: , x_Return_Status => x_Return_Status
8733: , x_Msg_Count => x_Msg_Count
8734: , x_Msg_Data => x_Msg_Data
8735: );
8736: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8737: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8738: END IF;
8739: END IF;
8740:
8733: , x_Msg_Count => x_Msg_Count
8734: , x_Msg_Data => x_Msg_Data
8735: );
8736: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8737: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8738: END IF;
8739: END IF;
8740:
8741: /*
8751: SELECT COUNT(1) INTO l_Count
8752: FROM BSC_SYS_DIM_GROUPS_VL G
8753: WHERE G.SHORT_NAME = p_Region_Code;
8754:
8755: IF ((p_Delete_Dimensions = FND_API.G_TRUE) AND (l_Count <> 0)) THEN
8756: BSC_BIS_DIMENSION_PUB.Delete_Dimension
8757: ( p_commit => p_Commit
8758: , p_dim_short_name => p_Region_Code
8759: , x_return_status => x_Return_Status
8759: , x_return_status => x_Return_Status
8760: , x_msg_count => x_Msg_Count
8761: , x_msg_data => x_Msg_Data
8762: );
8763: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8764: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8765: END IF;
8766: END IF;
8767:
8760: , x_msg_count => x_Msg_Count
8761: , x_msg_data => x_Msg_Data
8762: );
8763: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8764: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8765: END IF;
8766: END IF;
8767:
8768: -- Delete completely all measures associated to the report.
8770: This feature is best *not* used under any circumstances, except
8771: when a complete cleanup is required at the backend layer
8772: */
8773:
8774: IF (p_Delete_Measures = FND_API.G_TRUE) THEN
8775: --DBMS_OUTPUT.PUT_LINE(' Step 1');
8776: --DBMS_OUTPUT.PUT_LINE(' l_Measure_List.COUNT - ' || l_Measure_List.COUNT);
8777: --DBMS_OUTPUT.PUT_LINE(' l_Measure_List.LAST - ' || l_Measure_List.LAST);
8778:
8791: ,x_return_status => x_return_status
8792: ,x_msg_count => x_msg_count
8793: ,x_msg_data => x_msg_data
8794: );
8795: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8796: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8797: END IF;
8798: END LOOP;
8799: END IF;
8792: ,x_msg_count => x_msg_count
8793: ,x_msg_data => x_msg_data
8794: );
8795: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8796: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8797: END IF;
8798: END LOOP;
8799: END IF;
8800:
8797: END IF;
8798: END LOOP;
8799: END IF;
8800:
8801: IF (p_Commit = FND_API.G_TRUE) THEN
8802: COMMIT;
8803: END IF;
8804:
8805:
8803: END IF;
8804:
8805:
8806: EXCEPTION
8807: WHEN FND_API.G_EXC_ERROR THEN
8808: IF (x_msg_data IS NULL) THEN
8809: FND_MSG_PUB.Count_And_Get
8810: ( p_encoded => FND_API.G_FALSE
8811: , p_count => x_msg_count
8806: EXCEPTION
8807: WHEN FND_API.G_EXC_ERROR THEN
8808: IF (x_msg_data IS NULL) THEN
8809: FND_MSG_PUB.Count_And_Get
8810: ( p_encoded => FND_API.G_FALSE
8811: , p_count => x_msg_count
8812: , p_data => x_msg_data
8813: );
8814: END IF;
8811: , p_count => x_msg_count
8812: , p_data => x_msg_data
8813: );
8814: END IF;
8815: x_return_status := FND_API.G_RET_STS_ERROR;
8816: ROLLBACK TO DelAGRBscMD;
8817: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8818: IF (x_msg_data IS NULL) THEN
8819: FND_MSG_PUB.Count_And_Get
8813: );
8814: END IF;
8815: x_return_status := FND_API.G_RET_STS_ERROR;
8816: ROLLBACK TO DelAGRBscMD;
8817: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8818: IF (x_msg_data IS NULL) THEN
8819: FND_MSG_PUB.Count_And_Get
8820: ( p_encoded => FND_API.G_FALSE
8821: , p_count => x_msg_count
8816: ROLLBACK TO DelAGRBscMD;
8817: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8818: IF (x_msg_data IS NULL) THEN
8819: FND_MSG_PUB.Count_And_Get
8820: ( p_encoded => FND_API.G_FALSE
8821: , p_count => x_msg_count
8822: , p_data => x_msg_data
8823: );
8824: END IF;
8821: , p_count => x_msg_count
8822: , p_data => x_msg_data
8823: );
8824: END IF;
8825: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8826: ROLLBACK TO DelAGRBscMD;
8827: WHEN NO_DATA_FOUND THEN
8828: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8829: IF (x_msg_data IS NOT NULL) THEN
8824: END IF;
8825: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8826: ROLLBACK TO DelAGRBscMD;
8827: WHEN NO_DATA_FOUND THEN
8828: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8829: IF (x_msg_data IS NOT NULL) THEN
8830: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata ';
8831: ELSE
8832: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata ';
8832: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata ';
8833: END IF;
8834: ROLLBACK TO DelAGRBscMD;
8835: WHEN OTHERS THEN
8836: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8837: IF (x_msg_data IS NOT NULL) THEN
8838: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata ';
8839: ELSE
8840: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata ';
8847: -- Converts a measure from AG to Existing Source with the following option
8848: -- Deletes the source groups
8849: -- Empties the BIS_INDICATORS source and type.
8850: PROCEDURE Switch_Measure_Type (
8851: p_Commit IN VARCHAR2 := FND_API.G_FALSE
8852: , p_Measure_Short_Name IN VARCHAR2
8853: , p_Target_Source IN VARCHAR2
8854: , p_Delete_Columns IN VARCHAR2
8855: , p_Clean_Measure_Date_Source IN VARCHAR2
8863: l_Dataset_Id NUMBER;
8864:
8865: BEGIN
8866: SAVEPOINT SwitchMeasureType;
8867: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
8868: l_Measure_Source := Get_Measure_Source(p_Measure_Short_Name);
8869:
8870: IF((p_Target_Source = BSC_BIS_MEASURE_PUB.c_BSC) OR (p_Target_Source = l_Measure_Source)) THEN
8871: --- Conversion from PMF to BSC is currently not supported,
8893: --DBMS_OUTPUT.PUT_LINE('Error - ' || SQLERRM);
8894: NULL;
8895: END;
8896:
8897: IF(p_Delete_Columns = FND_API.G_TRUE) THEN
8898: -- delete the measure columns
8899: BSC_DB_MEASURE_COLS_PKG.DELETE_ROW(l_Measure_Column);
8900: END IF;
8901:
8898: -- delete the measure columns
8899: BSC_DB_MEASURE_COLS_PKG.DELETE_ROW(l_Measure_Column);
8900: END IF;
8901:
8902: IF (p_Clean_Measure_Date_Source = FND_API.G_TRUE) THEN
8903: BEGIN
8904:
8905: UPDATE BIS_INDICATORS B
8906: SET B.ACTUAL_DATA_SOURCE = NULL
8913: END IF;
8914: END IF;
8915:
8916: EXCEPTION
8917: WHEN FND_API.G_EXC_ERROR THEN
8918: IF (x_msg_data IS NULL) THEN
8919: FND_MSG_PUB.Count_And_Get
8920: ( p_encoded => FND_API.G_FALSE
8921: , p_count => x_msg_count
8916: EXCEPTION
8917: WHEN FND_API.G_EXC_ERROR THEN
8918: IF (x_msg_data IS NULL) THEN
8919: FND_MSG_PUB.Count_And_Get
8920: ( p_encoded => FND_API.G_FALSE
8921: , p_count => x_msg_count
8922: , p_data => x_msg_data
8923: );
8924: END IF;
8921: , p_count => x_msg_count
8922: , p_data => x_msg_data
8923: );
8924: END IF;
8925: x_return_status := FND_API.G_RET_STS_ERROR;
8926: ROLLBACK TO SwitchMeasureType;
8927: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8928: IF (x_msg_data IS NULL) THEN
8929: FND_MSG_PUB.Count_And_Get
8923: );
8924: END IF;
8925: x_return_status := FND_API.G_RET_STS_ERROR;
8926: ROLLBACK TO SwitchMeasureType;
8927: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8928: IF (x_msg_data IS NULL) THEN
8929: FND_MSG_PUB.Count_And_Get
8930: ( p_encoded => FND_API.G_FALSE
8931: , p_count => x_msg_count
8926: ROLLBACK TO SwitchMeasureType;
8927: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8928: IF (x_msg_data IS NULL) THEN
8929: FND_MSG_PUB.Count_And_Get
8930: ( p_encoded => FND_API.G_FALSE
8931: , p_count => x_msg_count
8932: , p_data => x_msg_data
8933: );
8934: END IF;
8931: , p_count => x_msg_count
8932: , p_data => x_msg_data
8933: );
8934: END IF;
8935: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8936: ROLLBACK TO SwitchMeasureType;
8937: WHEN NO_DATA_FOUND THEN
8938: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8939: IF (x_msg_data IS NOT NULL) THEN
8934: END IF;
8935: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8936: ROLLBACK TO SwitchMeasureType;
8937: WHEN NO_DATA_FOUND THEN
8938: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8939: IF (x_msg_data IS NOT NULL) THEN
8940: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Switch_Measure_Type ';
8941: ELSE
8942: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Switch_Measure_Type ';
8942: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Switch_Measure_Type ';
8943: END IF;
8944: ROLLBACK TO SwitchMeasureType;
8945: WHEN OTHERS THEN
8946: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8947: IF (x_msg_data IS NOT NULL) THEN
8948: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Switch_Measure_Type ';
8949: ELSE
8950: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Switch_Measure_Type ';
9003: -- data source was not getting updated .This condition will check for such measures.
9004: l_meas_source := Get_Measure_Source(p_Measures_Short_Name);
9005: IF (l_count = 0 AND (BSC_BIS_KPI_CRUD_PUB.Get_Objective_By_AGKpi(p_Measures_Short_Name) = BSC_BIS_KPI_CRUD_PUB.C_INVALID_ENTITY) AND
9006: (l_meas_source = BSC_BIS_MEASURE_PUB.c_PMF OR l_meas_source = BSC_BIS_MEASURE_PUB.c_BSC)) THEN
9007: RETURN FND_API.G_FALSE;
9008: END IF;
9009:
9010: RETURN FND_API.G_TRUE;
9011:
9006: (l_meas_source = BSC_BIS_MEASURE_PUB.c_PMF OR l_meas_source = BSC_BIS_MEASURE_PUB.c_BSC)) THEN
9007: RETURN FND_API.G_FALSE;
9008: END IF;
9009:
9010: RETURN FND_API.G_TRUE;
9011:
9012: EXCEPTION
9013: WHEN OTHERS THEN
9014: RETURN FND_API.G_FALSE;
9010: RETURN FND_API.G_TRUE;
9011:
9012: EXCEPTION
9013: WHEN OTHERS THEN
9014: RETURN FND_API.G_FALSE;
9015: END Is_Measure_Data_Source_Valid;
9016:
9017:
9018: -- changed the if condition for Bug#4642136
9031: WHERE B.SHORT_NAME = p_Measures_Short_Name;
9032:
9033:
9034: -- Invalid Data sources should be returned as NULL (so that they are updatable)
9035: IF (Is_Measure_Data_Source_Valid(p_Measures_Short_Name,l_Actual_Data_Source) = FND_API.G_FALSE) THEN
9036: RETURN NULL;
9037: ELSE
9038: RETURN l_Actual_Data_Source;
9039: END IF;
9099: FROM BIS_INDICATORS B
9100: WHERE B.SHORT_NAME = p_Measures_Short_Name;
9101:
9102: -- Invalid Data sources should be returned as NULL (so that they are updatable)
9103: IF (Is_Measure_Data_Source_Valid(p_Measures_Short_Name,l_Actual_Data_Source) = FND_API.G_FALSE) THEN
9104: RETURN NULL;
9105: ELSE
9106: RETURN l_Actual_Data_Source_Type;
9107: END IF;
9130:
9131: -- The scorecard is the same as the analysis_option,
9132: -- hence it must have been created from AG Report flow
9133: IF (l_Count <> 0) THEN
9134: RETURN FND_API.G_TRUE;
9135: END IF;
9136:
9137: RETURN FND_API.G_FALSE;
9138:
9133: IF (l_Count <> 0) THEN
9134: RETURN FND_API.G_TRUE;
9135: END IF;
9136:
9137: RETURN FND_API.G_FALSE;
9138:
9139: EXCEPTION
9140: WHEN OTHERS THEN
9141: RETURN FND_API.G_FALSE;
9137: RETURN FND_API.G_FALSE;
9138:
9139: EXCEPTION
9140: WHEN OTHERS THEN
9141: RETURN FND_API.G_FALSE;
9142: END is_Scorecard_From_AG_Report;
9143:
9144:
9145: -- Check if the Periodicities have been changed from the Parameter Section
9171:
9172: l_Time_Dim_Obj_Short_Names := p_Time_Dim_Objects;
9173:
9174: IF (p_Time_Dim_Objects IS NULL) THEN
9175: RETURN FND_API.G_TRUE;
9176: END IF;
9177:
9178: l_Loop_Count := 0;
9179: l_Period_Count := 0;
9219: l_Daily_Found := TRUE;
9220: END IF;
9221:
9222: IF (l_Count <> 1) THEN
9223: RETURN FND_API.G_TRUE;
9224: END IF;
9225: END IF;
9226:
9227: END LOOP;
9230: FROM BSC_KPI_PERIODICITIES K
9231: WHERE K.INDICATOR = p_Kpi_Id;
9232:
9233: -- We need to ignore the DAY365, since it is mandatory.
9234: IF ((p_Is_Xtd <> FND_API.G_TRUE) AND (NOT l_Daily_Found)) THEN
9235: l_Daily_Diff := 0;
9236: ELSE
9237: l_Daily_Diff := 1;
9238: END IF;
9237: l_Daily_Diff := 1;
9238: END IF;
9239:
9240: IF (l_Loop_Count <> (l_Count-l_Daily_Diff)) THEN
9241: RETURN FND_API.G_TRUE;
9242: END IF;
9243:
9244:
9245: RETURN FND_API.G_FALSE;
9241: RETURN FND_API.G_TRUE;
9242: END IF;
9243:
9244:
9245: RETURN FND_API.G_FALSE;
9246:
9247: EXCEPTION
9248: WHEN OTHERS THEN
9249: RETURN FND_API.G_FALSE;
9245: RETURN FND_API.G_FALSE;
9246:
9247: EXCEPTION
9248: WHEN OTHERS THEN
9249: RETURN FND_API.G_FALSE;
9250: END Has_Time_Dim_Obj_Changed;
9251:
9252:
9253: FUNCTION Has_Non_Time_Dim_Obj_Changed (
9282:
9283: IF ((l_Non_Time_Dim_Obj_Short_Names IS NULL AND l_Obj_NT_Dim_Obj_Short_Names IS NOT NULL) OR
9284: (l_Non_Time_Dim_Obj_Short_Names IS NOT NULL AND l_Obj_NT_Dim_Obj_Short_Names IS NULL) OR
9285: (l_Non_Time_Dim_Obj_Short_Names <> l_Obj_NT_Dim_Obj_Short_Names)) THEN
9286: RETURN FND_API.G_TRUE;
9287: END IF;
9288:
9289: RETURN FND_API.G_FALSE;
9290: EXCEPTION
9285: (l_Non_Time_Dim_Obj_Short_Names <> l_Obj_NT_Dim_Obj_Short_Names)) THEN
9286: RETURN FND_API.G_TRUE;
9287: END IF;
9288:
9289: RETURN FND_API.G_FALSE;
9290: EXCEPTION
9291: WHEN OTHERS THEN
9292: RETURN FND_API.G_FALSE;
9293: END Has_Non_Time_Dim_Obj_Changed;
9288:
9289: RETURN FND_API.G_FALSE;
9290: EXCEPTION
9291: WHEN OTHERS THEN
9292: RETURN FND_API.G_FALSE;
9293: END Has_Non_Time_Dim_Obj_Changed;
9294:
9295: -- Check if the measure sequence has changed or not
9296: FUNCTION Has_Measure_Column_Changed (
9321:
9322: IF ((l_Measure_Short_Names <> p_Measure_Short_Names) OR
9323: (p_Measure_Short_Names IS NULL AND l_Measure_Short_Names IS NOT NULL) OR
9324: (l_Measure_Short_Names IS NULL AND p_Measure_Short_Names IS NOT NULL)) THEN
9325: RETURN FND_API.G_TRUE;
9326: END IF;
9327:
9328: RETURN FND_API.G_FALSE;
9329:
9324: (l_Measure_Short_Names IS NULL AND p_Measure_Short_Names IS NOT NULL)) THEN
9325: RETURN FND_API.G_TRUE;
9326: END IF;
9327:
9328: RETURN FND_API.G_FALSE;
9329:
9330: EXCEPTION
9331: WHEN OTHERS THEN
9332: RETURN FND_API.G_FALSE;
9328: RETURN FND_API.G_FALSE;
9329:
9330: EXCEPTION
9331: WHEN OTHERS THEN
9332: RETURN FND_API.G_FALSE;
9333: END Has_Measure_Column_Changed;
9334:
9335: -- Checks if the measures have been changed or not
9336: FUNCTION Have_Measures_Changed (
9372: AND K.DATASET_ID <>-1
9373: ORDER BY K.SERIES_ID;
9374:
9375: IF (l_CurrentMeasCnt <> l_PreviousMeasCnt) THEN
9376: RETURN FND_API.G_TRUE;
9377: END IF;
9378:
9379: l_Measure_Short_Names := ',' || p_Measure_Short_Names || ',';
9380: FOR c_MSN IN c_Meas_Short_Names LOOP
9379: l_Measure_Short_Names := ',' || p_Measure_Short_Names || ',';
9380: FOR c_MSN IN c_Meas_Short_Names LOOP
9381: l_Cur_Meas_Short_Name := ',' || c_MSN.SHORT_NAME || ',';
9382: IF(LENGTH(l_Measure_Short_Names) - LENGTH(REPLACE(l_Measure_Short_Names,l_Cur_Meas_Short_Name)) = 0) THEN
9383: RETURN FND_API.G_TRUE;
9384: END IF;
9385: END LOOP;
9386:
9387: RETURN FND_API.G_FALSE;
9383: RETURN FND_API.G_TRUE;
9384: END IF;
9385: END LOOP;
9386:
9387: RETURN FND_API.G_FALSE;
9388:
9389: EXCEPTION
9390: WHEN OTHERS THEN
9391: RETURN FND_API.G_FALSE;
9387: RETURN FND_API.G_FALSE;
9388:
9389: EXCEPTION
9390: WHEN OTHERS THEN
9391: RETURN FND_API.G_FALSE;
9392: END Have_Measures_Changed;
9393:
9394:
9395: /************************************************************
9402: /************************************************************/
9403:
9404: PROCEDURE Delete_Tab_And_TabViews
9405: (
9406: p_commit IN VARCHAR2 := FND_API.G_FALSE
9407: , p_region_code IN AK_REGION_ITEMS.region_code%TYPE
9408: , x_Return_Status OUT NOCOPY VARCHAR2
9409: , x_Msg_Count OUT NOCOPY NUMBER
9410: , x_Msg_Data OUT NOCOPY VARCHAR2
9417: WHERE SHORT_NAME = p_region_code;
9418:
9419: BEGIN
9420: FND_MSG_PUB.INITIALIZE;
9421: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
9422:
9423: FOR cTabId IN c_GetTabId LOOP
9424: l_tab_id := cTabId.tab_id;
9425: END LOOP;
9433: , x_Return_Status => x_Return_Status
9434: , x_Msg_Count => x_Msg_Count
9435: , x_Msg_Data => x_Msg_Data
9436: );
9437: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
9438: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9439: END IF;
9440: END IF;
9441: IF(p_commit =FND_API.G_TRUE)THEN
9434: , x_Msg_Count => x_Msg_Count
9435: , x_Msg_Data => x_Msg_Data
9436: );
9437: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
9438: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9439: END IF;
9440: END IF;
9441: IF(p_commit =FND_API.G_TRUE)THEN
9442: COMMIT;
9437: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
9438: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9439: END IF;
9440: END IF;
9441: IF(p_commit =FND_API.G_TRUE)THEN
9442: COMMIT;
9443: END IF;
9444:
9445: EXCEPTION
9443: END IF;
9444:
9445: EXCEPTION
9446:
9447: WHEN FND_API.G_EXC_ERROR THEN
9448: IF (x_Msg_Data IS NULL) THEN
9449: FND_MSG_PUB.Count_And_Get
9450: ( p_encoded => FND_API.G_FALSE
9451: ,p_count => x_Msg_Data
9446:
9447: WHEN FND_API.G_EXC_ERROR THEN
9448: IF (x_Msg_Data IS NULL) THEN
9449: FND_MSG_PUB.Count_And_Get
9450: ( p_encoded => FND_API.G_FALSE
9451: ,p_count => x_Msg_Data
9452: ,p_data => x_Msg_Count
9453: );
9454: END IF;
9451: ,p_count => x_Msg_Data
9452: ,p_data => x_Msg_Count
9453: );
9454: END IF;
9455: x_Return_Status := FND_API.G_RET_STS_ERROR;
9456:
9457: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9458: IF (x_Msg_Data IS NULL) THEN
9459: FND_MSG_PUB.Count_And_Get
9453: );
9454: END IF;
9455: x_Return_Status := FND_API.G_RET_STS_ERROR;
9456:
9457: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9458: IF (x_Msg_Data IS NULL) THEN
9459: FND_MSG_PUB.Count_And_Get
9460: ( p_encoded => FND_API.G_FALSE
9461: ,p_count => x_Msg_Data
9456:
9457: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9458: IF (x_Msg_Data IS NULL) THEN
9459: FND_MSG_PUB.Count_And_Get
9460: ( p_encoded => FND_API.G_FALSE
9461: ,p_count => x_Msg_Data
9462: ,p_data => x_Msg_Count
9463: );
9464: END IF;
9462: ,p_data => x_Msg_Count
9463: );
9464: END IF;
9465:
9466: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
9467: --DBMS_OUTPUT.PUT_LINE\n('EXCEPTION FND_API.G_EXC_UNEXPECTED_ERROR '||x_msg_data);
9468:
9469: WHEN NO_DATA_FOUND THEN
9470: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
9463: );
9464: END IF;
9465:
9466: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
9467: --DBMS_OUTPUT.PUT_LINE\n('EXCEPTION FND_API.G_EXC_UNEXPECTED_ERROR '||x_msg_data);
9468:
9469: WHEN NO_DATA_FOUND THEN
9470: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
9471: IF (x_Msg_Data IS NOT NULL) THEN
9466: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
9467: --DBMS_OUTPUT.PUT_LINE\n('EXCEPTION FND_API.G_EXC_UNEXPECTED_ERROR '||x_msg_data);
9468:
9469: WHEN NO_DATA_FOUND THEN
9470: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
9471: IF (x_Msg_Data IS NOT NULL) THEN
9472: x_msg_data := x_Msg_Data||' -> BSC_BIS_KPI_CRUD_PUB.Delete_Tab_And_TabViews ';
9473: ELSE
9474: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Delete_Tab_And_TabViews ';
9476:
9477: --DBMS_OUTPUT.PUT_LINE\n('EXCEPTION NO_DATA_FOUND '||x_msg_data);
9478:
9479: WHEN OTHERS THEN
9480: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
9481: IF (x_Msg_Data IS NOT NULL) THEN
9482: x_Msg_Data := x_Msg_Data||' -> BSC_BIS_KPI_CRUD_PUB.Delete_Tab_And_TabViews ';
9483: ELSE
9484: x_Msg_Data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Delete_Tab_And_TabViews ';
9492: a custom view and that custom view is attached to a report
9493: Input : p_region_code Region code of the report
9494: p_region_app_id application id of the report
9495: Ouput : x_has_cust_view
9496: FND_API.G_FALSE --> indicates custom view was not created for the report
9497: FND_API.G_TRUE --> indicates custom view exists for the report along with the measures
9498: Even though custom view exists but with no measures even then this
9499: out values will be false.
9500: : x_meas_sht_names --> Comma separated measure short names.
9493: Input : p_region_code Region code of the report
9494: p_region_app_id application id of the report
9495: Ouput : x_has_cust_view
9496: FND_API.G_FALSE --> indicates custom view was not created for the report
9497: FND_API.G_TRUE --> indicates custom view exists for the report along with the measures
9498: Even though custom view exists but with no measures even then this
9499: out values will be false.
9500: : x_meas_sht_names --> Comma separated measure short names.
9501: Creator : ashankar 27-May-2005
9536: AND A.short_name = p_region_code;
9537:
9538: BEGIN
9539: FND_MSG_PUB.INITIALIZE;
9540: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
9541: x_has_cust_view := FND_API.G_FALSE;
9542:
9543: SELECT COUNT(0)
9544: INTO l_count
9537:
9538: BEGIN
9539: FND_MSG_PUB.INITIALIZE;
9540: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
9541: x_has_cust_view := FND_API.G_FALSE;
9542:
9543: SELECT COUNT(0)
9544: INTO l_count
9545: FROM AK_REGION_ITEMS
9557:
9558: FOR cd1 IN c_cust_views LOOP
9559: x_scorecard_id := cd1.tab_id;
9560: x_tabview_id := cd1.tab_view_id;
9561: x_has_cust_view := FND_API.G_TRUE;
9562: -- x_last_update_date := TO_CHAR(cd1.last_update_date, BSC_BIS_LOCKS_PUB.C_TIME_STAMP_FORMAT);
9563: END LOOP;
9564:
9565: END IF;
9567:
9568:
9569: EXCEPTION
9570: WHEN OTHERS THEN
9571: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9572: IF (x_msg_data IS NOT NULL) THEN
9573: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Get_Measures_From_CustomView ';
9574: ELSE
9575: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Get_Measures_From_CustomView ';
9610: FETCH c_form_function INTO l_web_html_call;
9611: CLOSE c_form_function;
9612:
9613: IF((UPPER(l_web_html_call)=BSC_BIS_KPI_CRUD_PUB.C_BISVIEWER_SHOWREPORT) OR (UPPER(l_web_html_call) = UPPER(BSC_BIS_KPI_CRUD_PUB.c_bisreportpg)))THEN
9614: RETURN FND_API.G_TRUE;
9615: END IF;
9616:
9617: RETURN FND_API.G_FALSE;
9618:
9613: IF((UPPER(l_web_html_call)=BSC_BIS_KPI_CRUD_PUB.C_BISVIEWER_SHOWREPORT) OR (UPPER(l_web_html_call) = UPPER(BSC_BIS_KPI_CRUD_PUB.c_bisreportpg)))THEN
9614: RETURN FND_API.G_TRUE;
9615: END IF;
9616:
9617: RETURN FND_API.G_FALSE;
9618:
9619: EXCEPTION
9620: WHEN OTHERS THEN
9621: IF(c_form_function%ISOPEN) THEN
9620: WHEN OTHERS THEN
9621: IF(c_form_function%ISOPEN) THEN
9622: CLOSE c_form_function;
9623: END IF;
9624: RETURN FND_API.G_FALSE;
9625: END is_Scorecard_From_Reports;
9626:
9627: -- Check if the Dimension Object is a BSC periodicity
9628: FUNCTION Is_DimObj_Periodicity(
9636: FROM BSC_SYS_PERIODICITIES P
9637: WHERE P.SHORT_NAME = p_Short_Name;
9638:
9639: IF (l_Count <> 0) THEN
9640: RETURN FND_API.G_TRUE;
9641: END IF;
9642:
9643: RETURN FND_API.G_FALSE;
9644:
9639: IF (l_Count <> 0) THEN
9640: RETURN FND_API.G_TRUE;
9641: END IF;
9642:
9643: RETURN FND_API.G_FALSE;
9644:
9645: EXCEPTION
9646: WHEN OTHERS THEN
9647: RETURN FND_API.G_FALSE;
9643: RETURN FND_API.G_FALSE;
9644:
9645: EXCEPTION
9646: WHEN OTHERS THEN
9647: RETURN FND_API.G_FALSE;
9648: END Is_DimObj_Periodicity;
9649:
9650:
9651: -- Check if the Dimension is a Custom/DBI Calendar
9660: FROM BSC_SYS_CALENDARS_B P
9661: WHERE P.SHORT_NAME = p_Short_Name;
9662:
9663: IF (l_Count <> 0) THEN
9664: RETURN FND_API.G_TRUE;
9665: END IF;
9666:
9667: RETURN FND_API.G_FALSE;
9668:
9663: IF (l_Count <> 0) THEN
9664: RETURN FND_API.G_TRUE;
9665: END IF;
9666:
9667: RETURN FND_API.G_FALSE;
9668:
9669: EXCEPTION
9670: WHEN OTHERS THEN
9671: RETURN FND_API.G_FALSE;
9667: RETURN FND_API.G_FALSE;
9668:
9669: EXCEPTION
9670: WHEN OTHERS THEN
9671: RETURN FND_API.G_FALSE;
9672: END Is_Dimension_Calendar;
9673:
9674: -- This API is similar to BSC_DBI_CALENDAR.get_bsc_Periodicity,
9675: -- except that it queries directly from the BSC_SYS_PERIODICITIES table
9683: ) IS
9684: BEGIN
9685: FND_MSG_PUB.Initialize;
9686:
9687: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
9688:
9689: IF (p_Time_Short_Name IS NULL) THEN
9690: FND_MESSAGE.SET_NAME('BSC','BSC_TIME_PERIODICITY_NULL');
9691: FND_MSG_PUB.ADD;
9688:
9689: IF (p_Time_Short_Name IS NULL) THEN
9690: FND_MESSAGE.SET_NAME('BSC','BSC_TIME_PERIODICITY_NULL');
9691: FND_MSG_PUB.ADD;
9692: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9693: END IF;
9694:
9695: SELECT B.PERIODICITY_ID, B.CALENDAR_ID
9696: INTO x_Periodicity_Id, x_Calendar_Id
9701: WHEN NO_DATA_FOUND THEN
9702: IF(x_Msg_Data IS NULL) THEN
9703: x_Msg_Data := BSC_APPS.Get_Message('BSC_PER_CAL_NOT_EXIST');
9704: END IF;
9705: x_return_status := FND_API.G_RET_STS_ERROR;
9706: WHEN OTHERS THEN
9707: IF (x_msg_data IS NULL) THEN
9708: FND_MSG_PUB.Count_And_Get
9709: ( p_encoded => FND_API.G_FALSE
9705: x_return_status := FND_API.G_RET_STS_ERROR;
9706: WHEN OTHERS THEN
9707: IF (x_msg_data IS NULL) THEN
9708: FND_MSG_PUB.Count_And_Get
9709: ( p_encoded => FND_API.G_FALSE
9710: , p_count => x_msg_count
9711: , p_data => x_msg_data
9712: );
9713: END IF;
9710: , p_count => x_msg_count
9711: , p_data => x_msg_data
9712: );
9713: END IF;
9714: x_return_status := FND_API.G_RET_STS_ERROR;
9715: END Get_Non_DBI_Periodicities;
9716:
9717:
9718: PROCEDURE Is_Struct_Change_For_AG_Report
9737: l_Non_Time_Counter NUMBER;
9738: l_Time_Counter NUMBER;
9739: l_Is_XTD_Enabled VARCHAR2(1);
9740: BEGIN
9741: x_Result := FND_API.G_FALSE;
9742: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
9743: l_Kpi_Id := Get_Kpi_Id(p_Region_Code);
9744: Get_Dim_Info_From_ParamPortlet(
9745: p_Dimension_Info => p_Dim_Obj_Short_Names
9738: l_Time_Counter NUMBER;
9739: l_Is_XTD_Enabled VARCHAR2(1);
9740: BEGIN
9741: x_Result := FND_API.G_FALSE;
9742: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
9743: l_Kpi_Id := Get_Kpi_Id(p_Region_Code);
9744: Get_Dim_Info_From_ParamPortlet(
9745: p_Dimension_Info => p_Dim_Obj_Short_Names
9746: ,x_non_time_dimension_groups => l_Non_Time_Dimension_Groups
9755: ,x_msg_data => x_Msg_Data
9756: ,x_is_as_of_date => l_Is_XTD_Enabled
9757: );
9758:
9759: IF((Has_Time_Dim_Obj_Changed(l_Time_Dim_Obj_Short_Names, l_Kpi_Id, l_Is_XTD_Enabled) = FND_API.G_TRUE) OR
9760: (Has_Non_Time_Dim_Obj_Changed(l_Non_Time_Dim_Obj_Short_Names,l_Kpi_Id) = FND_API.G_TRUE)) THEN
9761: x_Result := FND_API.G_TRUE;
9762: RETURN;
9763: END IF;
9756: ,x_is_as_of_date => l_Is_XTD_Enabled
9757: );
9758:
9759: IF((Has_Time_Dim_Obj_Changed(l_Time_Dim_Obj_Short_Names, l_Kpi_Id, l_Is_XTD_Enabled) = FND_API.G_TRUE) OR
9760: (Has_Non_Time_Dim_Obj_Changed(l_Non_Time_Dim_Obj_Short_Names,l_Kpi_Id) = FND_API.G_TRUE)) THEN
9761: x_Result := FND_API.G_TRUE;
9762: RETURN;
9763: END IF;
9764: IF (Have_Measures_Changed(p_Measure_Short_Names,l_Kpi_Id) = FND_API.G_TRUE) THEN
9757: );
9758:
9759: IF((Has_Time_Dim_Obj_Changed(l_Time_Dim_Obj_Short_Names, l_Kpi_Id, l_Is_XTD_Enabled) = FND_API.G_TRUE) OR
9760: (Has_Non_Time_Dim_Obj_Changed(l_Non_Time_Dim_Obj_Short_Names,l_Kpi_Id) = FND_API.G_TRUE)) THEN
9761: x_Result := FND_API.G_TRUE;
9762: RETURN;
9763: END IF;
9764: IF (Have_Measures_Changed(p_Measure_Short_Names,l_Kpi_Id) = FND_API.G_TRUE) THEN
9765: x_Result := FND_API.G_TRUE;
9760: (Has_Non_Time_Dim_Obj_Changed(l_Non_Time_Dim_Obj_Short_Names,l_Kpi_Id) = FND_API.G_TRUE)) THEN
9761: x_Result := FND_API.G_TRUE;
9762: RETURN;
9763: END IF;
9764: IF (Have_Measures_Changed(p_Measure_Short_Names,l_Kpi_Id) = FND_API.G_TRUE) THEN
9765: x_Result := FND_API.G_TRUE;
9766: END IF;
9767: EXCEPTION
9768: WHEN OTHERS THEN
9761: x_Result := FND_API.G_TRUE;
9762: RETURN;
9763: END IF;
9764: IF (Have_Measures_Changed(p_Measure_Short_Names,l_Kpi_Id) = FND_API.G_TRUE) THEN
9765: x_Result := FND_API.G_TRUE;
9766: END IF;
9767: EXCEPTION
9768: WHEN OTHERS THEN
9769: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9765: x_Result := FND_API.G_TRUE;
9766: END IF;
9767: EXCEPTION
9768: WHEN OTHERS THEN
9769: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9770: IF (x_msg_data IS NOT NULL) THEN
9771: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Is_Struct_Change_For_AG_Report ';
9772: ELSE
9773: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Is_Struct_Change_For_AG_Report ';
9826: 'HIDE_VIEW_BY_DIM_SINGLE');
9827:
9828:
9829: IF (l_Count <> 0) THEN
9830: RETURN FND_API.G_TRUE;
9831: END IF;
9832:
9833:
9834: RETURN FND_API.G_FALSE;
9830: RETURN FND_API.G_TRUE;
9831: END IF;
9832:
9833:
9834: RETURN FND_API.G_FALSE;
9835: EXCEPTION
9836: WHEN OTHERS THEN
9837: RETURN FND_API.G_FALSE;
9838: END Is_Dim_Exist_In_Current_Region;
9833:
9834: RETURN FND_API.G_FALSE;
9835: EXCEPTION
9836: WHEN OTHERS THEN
9837: RETURN FND_API.G_FALSE;
9838: END Is_Dim_Exist_In_Current_Region;
9839:
9840:
9841: /*******************************************
9858: FOR cGNR IN c_Get_Nested_Region_Items LOOP
9859: IF (Is_Dim_Exist_In_Current_Region(
9860: cGNR.NESTED_REGION_CODE,
9861: cGNR.NESTED_REGION_APPLICATION_ID
9862: ) = FND_API.G_TRUE) THEN
9863: RETURN FND_API.G_TRUE;
9864: END IF;
9865: END LOOP;
9866:
9859: IF (Is_Dim_Exist_In_Current_Region(
9860: cGNR.NESTED_REGION_CODE,
9861: cGNR.NESTED_REGION_APPLICATION_ID
9862: ) = FND_API.G_TRUE) THEN
9863: RETURN FND_API.G_TRUE;
9864: END IF;
9865: END LOOP;
9866:
9867: RETURN FND_API.G_FALSE;
9863: RETURN FND_API.G_TRUE;
9864: END IF;
9865: END LOOP;
9866:
9867: RETURN FND_API.G_FALSE;
9868:
9869: EXCEPTION
9870: WHEN OTHERS THEN
9871: RETURN FND_API.G_FALSE;
9867: RETURN FND_API.G_FALSE;
9868:
9869: EXCEPTION
9870: WHEN OTHERS THEN
9871: RETURN FND_API.G_FALSE;
9872: END Is_Dim_Exist_In_Nested_Region;
9873:
9874:
9875: /*******************************************
9879: p_Region_Code IN AK_REGIONS.REGION_CODE%TYPE
9880: , p_Region_Application_Id IN AK_REGIONS.REGION_APPLICATION_ID%TYPE
9881: ) RETURN VARCHAR2 IS
9882: BEGIN
9883: IF ((Is_Dim_Exist_In_Current_Region(p_Region_Code, p_Region_Application_Id) = FND_API.G_TRUE) AND
9884: (Is_Dim_Exist_In_Nested_Region(p_Region_Code,p_Region_Application_Id) = FND_API.G_TRUE)) THEN
9885: RETURN FND_API.G_TRUE;
9886: END IF;
9887: EXCEPTION
9880: , p_Region_Application_Id IN AK_REGIONS.REGION_APPLICATION_ID%TYPE
9881: ) RETURN VARCHAR2 IS
9882: BEGIN
9883: IF ((Is_Dim_Exist_In_Current_Region(p_Region_Code, p_Region_Application_Id) = FND_API.G_TRUE) AND
9884: (Is_Dim_Exist_In_Nested_Region(p_Region_Code,p_Region_Application_Id) = FND_API.G_TRUE)) THEN
9885: RETURN FND_API.G_TRUE;
9886: END IF;
9887: EXCEPTION
9888: WHEN OTHERS THEN
9881: ) RETURN VARCHAR2 IS
9882: BEGIN
9883: IF ((Is_Dim_Exist_In_Current_Region(p_Region_Code, p_Region_Application_Id) = FND_API.G_TRUE) AND
9884: (Is_Dim_Exist_In_Nested_Region(p_Region_Code,p_Region_Application_Id) = FND_API.G_TRUE)) THEN
9885: RETURN FND_API.G_TRUE;
9886: END IF;
9887: EXCEPTION
9888: WHEN OTHERS THEN
9889: RETURN FND_API.G_FALSE;
9885: RETURN FND_API.G_TRUE;
9886: END IF;
9887: EXCEPTION
9888: WHEN OTHERS THEN
9889: RETURN FND_API.G_FALSE;
9890: END Is_New_Param_Portlet_Required;
9891:
9892:
9893:
9907: IF(p_Action_Type = BSC_UTILITY.c_CREATE) THEN
9908: IF (Is_Dim_Exist_In_Nested_Region(
9909: p_Param_Region_Code,
9910: p_Param_Region_Application_Id
9911: ) = FND_API.G_TRUE) THEN
9912: IF (NOT Does_KPI_Exist(p_Page_Function_Name)) THEN
9913: BSC_BIS_KPI_CRUD_PUB.Create_Parameter_Portlet (
9914: p_Commit => p_Commit
9915: , p_Region_Code => p_Param_Region_Code
9919: , x_Return_Status => x_Return_Status
9920: , x_Msg_Count => x_Msg_Count
9921: , x_Msg_Data => x_Msg_Data
9922: );
9923: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
9924: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9925: END IF;
9926: ELSE
9927: x_Region_Code := Get_Param_Portlet_By_Dashboard(p_Page_Function_Name);
9920: , x_Msg_Count => x_Msg_Count
9921: , x_Msg_Data => x_Msg_Data
9922: );
9923: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
9924: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9925: END IF;
9926: ELSE
9927: x_Region_Code := Get_Param_Portlet_By_Dashboard(p_Page_Function_Name);
9928: x_Region_Application_Id := Get_Region_Application_Id(x_Region_Code);
9938: x_Region_Code := Get_Param_Portlet_By_Dashboard(p_Page_Function_Name);
9939: x_Region_Application_Id := Get_Region_Application_Id(x_Region_Code);
9940: END IF;
9941: EXCEPTION
9942: WHEN FND_API.G_EXC_ERROR THEN
9943: IF (x_msg_data IS NULL) THEN
9944: FND_MSG_PUB.Count_And_Get
9945: ( p_encoded => FND_API.G_FALSE
9946: , p_count => x_msg_count
9941: EXCEPTION
9942: WHEN FND_API.G_EXC_ERROR THEN
9943: IF (x_msg_data IS NULL) THEN
9944: FND_MSG_PUB.Count_And_Get
9945: ( p_encoded => FND_API.G_FALSE
9946: , p_count => x_msg_count
9947: , p_data => x_msg_data
9948: );
9949: END IF;
9946: , p_count => x_msg_count
9947: , p_data => x_msg_data
9948: );
9949: END IF;
9950: x_return_status := FND_API.G_RET_STS_ERROR;
9951: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9952: IF (x_msg_data IS NULL) THEN
9953: FND_MSG_PUB.Count_And_Get
9954: ( p_encoded => FND_API.G_FALSE
9947: , p_data => x_msg_data
9948: );
9949: END IF;
9950: x_return_status := FND_API.G_RET_STS_ERROR;
9951: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9952: IF (x_msg_data IS NULL) THEN
9953: FND_MSG_PUB.Count_And_Get
9954: ( p_encoded => FND_API.G_FALSE
9955: , p_count => x_msg_count
9950: x_return_status := FND_API.G_RET_STS_ERROR;
9951: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9952: IF (x_msg_data IS NULL) THEN
9953: FND_MSG_PUB.Count_And_Get
9954: ( p_encoded => FND_API.G_FALSE
9955: , p_count => x_msg_count
9956: , p_data => x_msg_data
9957: );
9958: END IF;
9955: , p_count => x_msg_count
9956: , p_data => x_msg_data
9957: );
9958: END IF;
9959: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9960: WHEN NO_DATA_FOUND THEN
9961: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9962: IF (x_msg_data IS NOT NULL) THEN
9963: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Cascade_Parameter_Portlet ';
9957: );
9958: END IF;
9959: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9960: WHEN NO_DATA_FOUND THEN
9961: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9962: IF (x_msg_data IS NOT NULL) THEN
9963: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Cascade_Parameter_Portlet ';
9964: ELSE
9965: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Cascade_Parameter_Portlet ';
9964: ELSE
9965: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Cascade_Parameter_Portlet ';
9966: END IF;
9967: WHEN OTHERS THEN
9968: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9969: IF (x_msg_data IS NOT NULL) THEN
9970: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Cascade_Parameter_Portlet ';
9971: ELSE
9972: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Cascade_Parameter_Portlet ';
9994:
9995: SAVEPOINT CascadeParamPortlet;
9996: FND_MSG_PUB.Initialize;
9997:
9998: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
9999:
10000: -- get a new region_code
10001: l_Region_Code := Get_New_Region_Code;
10002:
10033: ,x_return_status => x_return_status
10034: ,x_msg_count => x_msg_count
10035: ,x_msg_data => x_msg_data
10036: );
10037: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10038: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10039: END IF;
10040:
10041: BSC_BIS_KPI_CRUD_PUB.Unroll_RegionItems_Into_Record (
10034: ,x_msg_count => x_msg_count
10035: ,x_msg_data => x_msg_data
10036: );
10037: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10038: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10039: END IF;
10040:
10041: BSC_BIS_KPI_CRUD_PUB.Unroll_RegionItems_Into_Record (
10042: p_Region_Code => p_Region_Code
10052: ,x_return_status => x_return_status
10053: ,x_msg_count => x_msg_count
10054: ,x_msg_data => x_msg_data
10055: );
10056: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10057: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10058: END IF;
10059:
10060: x_Region_Code := l_Region_Code;
10053: ,x_msg_count => x_msg_count
10054: ,x_msg_data => x_msg_data
10055: );
10056: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10057: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10058: END IF;
10059:
10060: x_Region_Code := l_Region_Code;
10061: x_Region_Application_Id := BSC_BIS_KPI_CRUD_PUB.C_BSC_APPLICATION_ID;
10060: x_Region_Code := l_Region_Code;
10061: x_Region_Application_Id := BSC_BIS_KPI_CRUD_PUB.C_BSC_APPLICATION_ID;
10062:
10063: EXCEPTION
10064: WHEN FND_API.G_EXC_ERROR THEN
10065: IF (x_msg_data IS NULL) THEN
10066: FND_MSG_PUB.Count_And_Get
10067: ( p_encoded => FND_API.G_FALSE
10068: , p_count => x_msg_count
10063: EXCEPTION
10064: WHEN FND_API.G_EXC_ERROR THEN
10065: IF (x_msg_data IS NULL) THEN
10066: FND_MSG_PUB.Count_And_Get
10067: ( p_encoded => FND_API.G_FALSE
10068: , p_count => x_msg_count
10069: , p_data => x_msg_data
10070: );
10071: END IF;
10068: , p_count => x_msg_count
10069: , p_data => x_msg_data
10070: );
10071: END IF;
10072: x_return_status := FND_API.G_RET_STS_ERROR;
10073: ROLLBACK TO CascadeParamPortlet;
10074: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10075: IF (x_msg_data IS NULL) THEN
10076: FND_MSG_PUB.Count_And_Get
10070: );
10071: END IF;
10072: x_return_status := FND_API.G_RET_STS_ERROR;
10073: ROLLBACK TO CascadeParamPortlet;
10074: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10075: IF (x_msg_data IS NULL) THEN
10076: FND_MSG_PUB.Count_And_Get
10077: ( p_encoded => FND_API.G_FALSE
10078: , p_count => x_msg_count
10073: ROLLBACK TO CascadeParamPortlet;
10074: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10075: IF (x_msg_data IS NULL) THEN
10076: FND_MSG_PUB.Count_And_Get
10077: ( p_encoded => FND_API.G_FALSE
10078: , p_count => x_msg_count
10079: , p_data => x_msg_data
10080: );
10081: END IF;
10078: , p_count => x_msg_count
10079: , p_data => x_msg_data
10080: );
10081: END IF;
10082: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10083: ROLLBACK TO CascadeParamPortlet;
10084: WHEN NO_DATA_FOUND THEN
10085: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10086: IF (x_msg_data IS NOT NULL) THEN
10081: END IF;
10082: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10083: ROLLBACK TO CascadeParamPortlet;
10084: WHEN NO_DATA_FOUND THEN
10085: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10086: IF (x_msg_data IS NOT NULL) THEN
10087: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Create_Parameter_Portlet ';
10088: ELSE
10089: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Create_Parameter_Portlet ';
10089: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Create_Parameter_Portlet ';
10090: END IF;
10091: ROLLBACK TO CascadeParamPortlet;
10092: WHEN OTHERS THEN
10093: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10094: IF (x_msg_data IS NOT NULL) THEN
10095: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Create_Parameter_Portlet ';
10096: ELSE
10097: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Create_Parameter_Portlet ';
10345: END Get_Comparison_Source;
10346:
10347:
10348: PROCEDURE Migrate_AGR_To_PLSQL (
10349: p_Commit IN VARCHAR := FND_API.G_FALSE
10350: , p_Region_Application_Id IN VARCHAR2
10351: , p_Region_Code IN VARCHAR2
10352: , p_Update_AK_Metadata IN VARCHAR2
10353: , p_Plsql_For_Report_Query IN VARCHAR2
10375: BEGIN
10376: SAVEPOINT MigrateAGRTOPLSQL1;
10377: FND_MSG_PUB.Initialize;
10378:
10379: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
10380:
10381: --DBMS_OUTPUT.PUT_LINE(' Line 2 ');
10382: l_Delete_Measure := FND_API.G_FALSE;
10383: l_Delete_Dimensions := FND_API.G_FALSE;
10378:
10379: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
10380:
10381: --DBMS_OUTPUT.PUT_LINE(' Line 2 ');
10382: l_Delete_Measure := FND_API.G_FALSE;
10383: l_Delete_Dimensions := FND_API.G_FALSE;
10384:
10385: BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata (
10386: p_Commit => p_Commit
10379: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
10380:
10381: --DBMS_OUTPUT.PUT_LINE(' Line 2 ');
10382: l_Delete_Measure := FND_API.G_FALSE;
10383: l_Delete_Dimensions := FND_API.G_FALSE;
10384:
10385: BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata (
10386: p_Commit => p_Commit
10387: , p_Region_Code => p_Region_Code
10390: , x_Return_Status => x_Return_Status
10391: , x_Msg_Count => x_Msg_Count
10392: , x_Msg_Data => x_Msg_Data
10393: );
10394: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10395: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10396: END IF;
10397:
10398: -- extended the condition for measures too for Bug#4958056 - for Cascade_Attr_Code_Into_Measure
10391: , x_Msg_Count => x_Msg_Count
10392: , x_Msg_Data => x_Msg_Data
10393: );
10394: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10395: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10396: END IF;
10397:
10398: -- extended the condition for measures too for Bug#4958056 - for Cascade_Attr_Code_Into_Measure
10399: IF (p_Update_AK_Metadata = FND_API.G_TRUE) THEN
10395: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10396: END IF;
10397:
10398: -- extended the condition for measures too for Bug#4958056 - for Cascade_Attr_Code_Into_Measure
10399: IF (p_Update_AK_Metadata = FND_API.G_TRUE) THEN
10400: l_report_region_rec.Region_Code := p_Region_Code;
10401: l_report_region_rec.Region_Name := BIS_COMMON_UTILS.G_DEF_CHAR;
10402: l_report_region_rec.Region_Description := BIS_COMMON_UTILS.G_DEF_CHAR;
10403: l_report_region_rec.Region_Application_Id := p_Region_Application_Id;
10430: ,x_return_status => x_return_status
10431: ,x_msg_count => x_msg_count
10432: ,x_msg_data => x_msg_data
10433: );
10434: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10435: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10436: END IF;
10437:
10438: BSC_BIS_KPI_CRUD_PUB.Cascade_Attr_Code_Into_Measure (
10431: ,x_msg_count => x_msg_count
10432: ,x_msg_data => x_msg_data
10433: );
10434: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10435: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10436: END IF;
10437:
10438: BSC_BIS_KPI_CRUD_PUB.Cascade_Attr_Code_Into_Measure (
10439: p_Commit => p_Commit
10446: , x_Return_Status => x_Return_Status
10447: , x_Msg_Count => x_Msg_Count
10448: , x_Msg_Data => x_Msg_Data
10449: );
10450: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10451: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10452: END IF;
10453: END IF;
10454:
10447: , x_Msg_Count => x_Msg_Count
10448: , x_Msg_Data => x_Msg_Data
10449: );
10450: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10451: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10452: END IF;
10453: END IF;
10454:
10455: EXCEPTION
10452: END IF;
10453: END IF;
10454:
10455: EXCEPTION
10456: WHEN FND_API.G_EXC_ERROR THEN
10457: ROLLBACK TO MigrateAGRTOPLSQL1;
10458: IF (x_msg_data IS NULL) THEN
10459: FND_MSG_PUB.Count_And_Get
10460: ( p_encoded => FND_API.G_FALSE
10456: WHEN FND_API.G_EXC_ERROR THEN
10457: ROLLBACK TO MigrateAGRTOPLSQL1;
10458: IF (x_msg_data IS NULL) THEN
10459: FND_MSG_PUB.Count_And_Get
10460: ( p_encoded => FND_API.G_FALSE
10461: , p_count => x_msg_count
10462: , p_data => x_msg_data
10463: );
10464: END IF;
10461: , p_count => x_msg_count
10462: , p_data => x_msg_data
10463: );
10464: END IF;
10465: x_return_status := FND_API.G_RET_STS_ERROR;
10466: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10467: ROLLBACK TO MigrateAGRTOPLSQL1;
10468: IF (x_msg_data IS NULL) THEN
10469: FND_MSG_PUB.Count_And_Get
10462: , p_data => x_msg_data
10463: );
10464: END IF;
10465: x_return_status := FND_API.G_RET_STS_ERROR;
10466: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10467: ROLLBACK TO MigrateAGRTOPLSQL1;
10468: IF (x_msg_data IS NULL) THEN
10469: FND_MSG_PUB.Count_And_Get
10470: ( p_encoded => FND_API.G_FALSE
10466: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10467: ROLLBACK TO MigrateAGRTOPLSQL1;
10468: IF (x_msg_data IS NULL) THEN
10469: FND_MSG_PUB.Count_And_Get
10470: ( p_encoded => FND_API.G_FALSE
10471: , p_count => x_msg_count
10472: , p_data => x_msg_data
10473: );
10474: END IF;
10471: , p_count => x_msg_count
10472: , p_data => x_msg_data
10473: );
10474: END IF;
10475: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10476: WHEN NO_DATA_FOUND THEN
10477: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10478: ROLLBACK TO MigrateAGRTOPLSQL1;
10479: IF (x_msg_data IS NOT NULL) THEN
10473: );
10474: END IF;
10475: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10476: WHEN NO_DATA_FOUND THEN
10477: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10478: ROLLBACK TO MigrateAGRTOPLSQL1;
10479: IF (x_msg_data IS NOT NULL) THEN
10480: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Migrate_AGR_To_PLSQL ';
10481: ELSE
10481: ELSE
10482: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Migrate_AGR_To_PLSQL ';
10483: END IF;
10484: WHEN OTHERS THEN
10485: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10486: ROLLBACK TO MigrateAGRTOPLSQL1;
10487: IF (x_msg_data IS NOT NULL) THEN
10488: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Migrate_AGR_To_PLSQL ';
10489: ELSE
10499: in no way modified/delete's AK Metadata.
10500: */
10501:
10502: PROCEDURE Migrate_AGR_To_PLSQL (
10503: p_Commit IN VARCHAR := FND_API.G_FALSE
10504: , p_Region_Application_Id IN VARCHAR2
10505: , p_Region_Code IN VARCHAR2
10506: , x_Return_Status OUT NOCOPY VARCHAR
10507: , x_Msg_Count OUT NOCOPY NUMBER
10510: BEGIN
10511: SAVEPOINT MigrateAGRTOPLSQL;
10512: FND_MSG_PUB.Initialize;
10513:
10514: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
10515:
10516: BSC_BIS_KPI_CRUD_PUB.Migrate_AGR_To_PLSQL (
10517: p_Commit => p_Commit
10518: , p_Region_Application_Id => p_Region_Application_Id
10516: BSC_BIS_KPI_CRUD_PUB.Migrate_AGR_To_PLSQL (
10517: p_Commit => p_Commit
10518: , p_Region_Application_Id => p_Region_Application_Id
10519: , p_Region_Code => p_Region_Code
10520: , p_Update_AK_Metadata => FND_API.G_FALSE
10521: , p_Plsql_For_Report_Query => NULL
10522: , p_Old_Attribute_Code_App_Ids => NULL
10523: , p_Old_Attribute_Codes => NULL
10524: , p_New_Attribute_Code_App_Ids => NULL
10526: , x_Return_Status => x_Return_Status
10527: , x_Msg_Count => x_Msg_Count
10528: , x_Msg_Data => x_Msg_Data
10529: );
10530: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10531: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10532: END IF;
10533:
10534: IF (p_Commit = FND_API.G_TRUE) THEN
10527: , x_Msg_Count => x_Msg_Count
10528: , x_Msg_Data => x_Msg_Data
10529: );
10530: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10531: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10532: END IF;
10533:
10534: IF (p_Commit = FND_API.G_TRUE) THEN
10535: COMMIT;
10530: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10531: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10532: END IF;
10533:
10534: IF (p_Commit = FND_API.G_TRUE) THEN
10535: COMMIT;
10536: END IF;
10537: EXCEPTION
10538: WHEN FND_API.G_EXC_ERROR THEN
10534: IF (p_Commit = FND_API.G_TRUE) THEN
10535: COMMIT;
10536: END IF;
10537: EXCEPTION
10538: WHEN FND_API.G_EXC_ERROR THEN
10539: ROLLBACK TO MigrateAGRTOPLSQL;
10540: IF (x_msg_data IS NULL) THEN
10541: FND_MSG_PUB.Count_And_Get
10542: ( p_encoded => FND_API.G_FALSE
10538: WHEN FND_API.G_EXC_ERROR THEN
10539: ROLLBACK TO MigrateAGRTOPLSQL;
10540: IF (x_msg_data IS NULL) THEN
10541: FND_MSG_PUB.Count_And_Get
10542: ( p_encoded => FND_API.G_FALSE
10543: , p_count => x_msg_count
10544: , p_data => x_msg_data
10545: );
10546: END IF;
10543: , p_count => x_msg_count
10544: , p_data => x_msg_data
10545: );
10546: END IF;
10547: x_return_status := FND_API.G_RET_STS_ERROR;
10548: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10549: ROLLBACK TO MigrateAGRTOPLSQL;
10550: IF (x_msg_data IS NULL) THEN
10551: FND_MSG_PUB.Count_And_Get
10544: , p_data => x_msg_data
10545: );
10546: END IF;
10547: x_return_status := FND_API.G_RET_STS_ERROR;
10548: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10549: ROLLBACK TO MigrateAGRTOPLSQL;
10550: IF (x_msg_data IS NULL) THEN
10551: FND_MSG_PUB.Count_And_Get
10552: ( p_encoded => FND_API.G_FALSE
10548: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10549: ROLLBACK TO MigrateAGRTOPLSQL;
10550: IF (x_msg_data IS NULL) THEN
10551: FND_MSG_PUB.Count_And_Get
10552: ( p_encoded => FND_API.G_FALSE
10553: , p_count => x_msg_count
10554: , p_data => x_msg_data
10555: );
10556: END IF;
10553: , p_count => x_msg_count
10554: , p_data => x_msg_data
10555: );
10556: END IF;
10557: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10558: WHEN NO_DATA_FOUND THEN
10559: ROLLBACK TO MigrateAGRTOPLSQL;
10560: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10561: IF (x_msg_data IS NOT NULL) THEN
10556: END IF;
10557: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10558: WHEN NO_DATA_FOUND THEN
10559: ROLLBACK TO MigrateAGRTOPLSQL;
10560: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10561: IF (x_msg_data IS NOT NULL) THEN
10562: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Migrate_AGR_To_PLSQL ';
10563: ELSE
10564: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Migrate_AGR_To_PLSQL ';
10564: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Migrate_AGR_To_PLSQL ';
10565: END IF;
10566: WHEN OTHERS THEN
10567: ROLLBACK TO MigrateAGRTOPLSQL;
10568: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10569: IF (x_msg_data IS NOT NULL) THEN
10570: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Migrate_AGR_To_PLSQL ';
10571: ELSE
10572: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Migrate_AGR_To_PLSQL ';
10582: l_Region_Code AK_REGIONS.REGION_CODE%TYPE;
10583: l_Actual_Data_Source BIS_INDICATORS.ACTUAL_DATA_SOURCE%TYPE;
10584: l_Return VARCHAR2(1);
10585: BEGIN
10586: l_Return := FND_API.G_FALSE;
10587:
10588: l_Actual_Data_Source := BSC_BIS_KPI_CRUD_PUB.Get_Actual_Source_Data(p_Measure_Short_Name);
10589: IF((l_Actual_Data_Source IS NOT NULL) AND (p_Region_Code IS NOT NULL)) THEN
10590: l_Region_Code := SUBSTR(l_Actual_Data_Source, 1, INSTR(l_Actual_Data_Source, '.')-1);
10589: IF((l_Actual_Data_Source IS NOT NULL) AND (p_Region_Code IS NOT NULL)) THEN
10590: l_Region_Code := SUBSTR(l_Actual_Data_Source, 1, INSTR(l_Actual_Data_Source, '.')-1);
10591:
10592: IF ((l_Region_Code IS NOT NULL) AND (l_Region_Code = p_Region_Code)) THEN
10593: l_Return := FND_API.G_TRUE;
10594: END IF;
10595: END IF;
10596:
10597: RETURN l_Return;
10597: RETURN l_Return;
10598:
10599: EXCEPTION
10600: WHEN OTHERS THEN
10601: RETURN FND_API.G_FALSE;
10602: END Is_Primary_Source_Of_Measure;
10603:
10604: /*
10605: Provide WARNING notes - and usage guide.
10605: Provide WARNING notes - and usage guide.
10606: */
10607:
10608: PROCEDURE Cascade_Attr_Code_Into_Measure (
10609: p_Commit IN VARCHAR := FND_API.G_FALSE
10610: , p_Region_Code IN VARCHAR2
10611: , p_Region_Application_Id IN VARCHAR2
10612: , p_Old_Attribute_Codes IN VARCHAR2
10613: , p_Old_Attribute_Code_App_Ids IN VARCHAR2
10650:
10651: SAVEPOINT CascdAttrCode;
10652: FND_MSG_PUB.Initialize;
10653:
10654: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
10655:
10656: FOR cMSN IN cMeasureShortNames LOOP
10657: l_Measure_Short_Name := cMSN.ATTRIBUTE2;
10658: l_Measure_Attr_Code := cMSN.ATTRIBUTE_CODE;
10657: l_Measure_Short_Name := cMSN.ATTRIBUTE2;
10658: l_Measure_Attr_Code := cMSN.ATTRIBUTE_CODE;
10659: l_Compare_Attr_Code := BSC_BIS_KPI_CRUD_PUB.Get_Compare_Attribute_Code(p_Region_Code, l_Measure_Short_Name);
10660:
10661: IF (BSC_UTILITY.Is_Measure_Seeded(l_Measure_Short_Name) = FND_API.G_FALSE AND
10662: BSC_BIS_KPI_CRUD_PUB.Is_Primary_Source_Of_Measure(l_Measure_Short_Name, p_Region_Code)
10663: = FND_API.G_FALSE) THEN
10664:
10665: FOR cMP IN cMeasureProperties LOOP
10659: l_Compare_Attr_Code := BSC_BIS_KPI_CRUD_PUB.Get_Compare_Attribute_Code(p_Region_Code, l_Measure_Short_Name);
10660:
10661: IF (BSC_UTILITY.Is_Measure_Seeded(l_Measure_Short_Name) = FND_API.G_FALSE AND
10662: BSC_BIS_KPI_CRUD_PUB.Is_Primary_Source_Of_Measure(l_Measure_Short_Name, p_Region_Code)
10663: = FND_API.G_FALSE) THEN
10664:
10665: FOR cMP IN cMeasureProperties LOOP
10666: l_Actual_Data_Source_Type := cMP.ACTUAL_DATA_SOURCE_TYPE;
10667: l_Actual_Data_Source := cMP.ACTUAL_DATA_SOURCE;
10675:
10676: BSC_ANALYSIS_OPTION_PVT.Cascade_Data_Src_Values (
10677: p_Commit => p_Commit
10678: , p_Measure_Short_Name => l_Measure_Short_Name
10679: , p_Empty_Source => FND_API.G_FALSE
10680: , p_Actual_Data_Source_Type => l_Actual_Data_Source_Type
10681: , p_Actual_Data_Source => l_Actual_Data_Source
10682: , p_Function_Name => l_Function_Name
10683: , p_Enable_Link => l_Enable_Link
10685: , x_Return_Status => x_Return_Status
10686: , x_Msg_Count => x_Msg_Count
10687: , x_Msg_Data => x_Msg_Data
10688: );
10689: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10690: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10691: END IF;
10692:
10693: IF (Get_Measure_Source(l_Measure_Short_Name) = BSC_BIS_MEASURE_PUB.c_CDS) THEN
10686: , x_Msg_Count => x_Msg_Count
10687: , x_Msg_Data => x_Msg_Data
10688: );
10689: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10690: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10691: END IF;
10692:
10693: IF (Get_Measure_Source(l_Measure_Short_Name) = BSC_BIS_MEASURE_PUB.c_CDS) THEN
10694: IF ((p_Old_Attribute_Codes IS NOT NULL) AND (p_New_Attribute_Codes IS NOT NULL)) THEN
10702: , x_Return_Status => x_Return_Status
10703: , x_Msg_Count => x_Msg_Count
10704: , x_Msg_Data => x_Msg_Data
10705: );
10706: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10707: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10708: END IF;
10709: END IF;
10710: END IF;
10703: , x_Msg_Count => x_Msg_Count
10704: , x_Msg_Data => x_Msg_Data
10705: );
10706: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10707: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10708: END IF;
10709: END IF;
10710: END IF;
10711: END IF;
10710: END IF;
10711: END IF;
10712: END LOOP;
10713: EXCEPTION
10714: WHEN FND_API.G_EXC_ERROR THEN
10715: ROLLBACK TO CascdAttrCode;
10716: IF (x_msg_data IS NULL) THEN
10717: FND_MSG_PUB.Count_And_Get
10718: ( p_encoded => FND_API.G_FALSE
10714: WHEN FND_API.G_EXC_ERROR THEN
10715: ROLLBACK TO CascdAttrCode;
10716: IF (x_msg_data IS NULL) THEN
10717: FND_MSG_PUB.Count_And_Get
10718: ( p_encoded => FND_API.G_FALSE
10719: , p_count => x_msg_count
10720: , p_data => x_msg_data
10721: );
10722: END IF;
10719: , p_count => x_msg_count
10720: , p_data => x_msg_data
10721: );
10722: END IF;
10723: x_return_status := FND_API.G_RET_STS_ERROR;
10724: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10725: ROLLBACK TO CascdAttrCode;
10726: IF (x_msg_data IS NULL) THEN
10727: FND_MSG_PUB.Count_And_Get
10720: , p_data => x_msg_data
10721: );
10722: END IF;
10723: x_return_status := FND_API.G_RET_STS_ERROR;
10724: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10725: ROLLBACK TO CascdAttrCode;
10726: IF (x_msg_data IS NULL) THEN
10727: FND_MSG_PUB.Count_And_Get
10728: ( p_encoded => FND_API.G_FALSE
10724: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10725: ROLLBACK TO CascdAttrCode;
10726: IF (x_msg_data IS NULL) THEN
10727: FND_MSG_PUB.Count_And_Get
10728: ( p_encoded => FND_API.G_FALSE
10729: , p_count => x_msg_count
10730: , p_data => x_msg_data
10731: );
10732: END IF;
10729: , p_count => x_msg_count
10730: , p_data => x_msg_data
10731: );
10732: END IF;
10733: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10734: WHEN NO_DATA_FOUND THEN
10735: ROLLBACK TO CascdAttrCode;
10736: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10737: IF (x_msg_data IS NOT NULL) THEN
10732: END IF;
10733: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10734: WHEN NO_DATA_FOUND THEN
10735: ROLLBACK TO CascdAttrCode;
10736: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10737: IF (x_msg_data IS NOT NULL) THEN
10738: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Cascade_Attr_Code_Into_Measure ';
10739: ELSE
10740: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Cascade_Attr_Code_Into_Measure ';
10740: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Cascade_Attr_Code_Into_Measure ';
10741: END IF;
10742: WHEN OTHERS THEN
10743: ROLLBACK TO CascdAttrCode;
10744: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10745: IF (x_msg_data IS NOT NULL) THEN
10746: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Cascade_Attr_Code_Into_Measure ';
10747: ELSE
10748: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Cascade_Attr_Code_Into_Measure ';
10753: -- This API will cascade the changes into CDS types of measures
10754: -- whenever there is a change in the ATTRIBUTE_CODE of the Region_Items
10755:
10756: PROCEDURE Cascade_Changes_Into_Forumla (
10757: p_Commit IN VARCHAR := FND_API.G_FALSE
10758: , p_Measure_Short_Name IN VARCHAR2
10759: , p_Old_Attribute_Codes IN VARCHAR2
10760: , p_Old_Attribute_Code_App_Ids IN VARCHAR2
10761: , p_New_Attribute_Codes IN VARCHAR2
10792: BEGIN
10793: SAVEPOINT CascdAttrCodeIntoForm;
10794: FND_MSG_PUB.Initialize;
10795:
10796: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
10797:
10798: FOR cForm IN c_GetFormula LOOP
10799: l_Formula := cForm.MEASURE_COL;
10800: l_Measure_Id := cForm.MEASURE_ID;
10859: ,x_return_status => x_return_status
10860: ,x_msg_count => x_msg_count
10861: ,x_msg_data => x_msg_data
10862: );
10863: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10864: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10865: END IF;
10866:
10867: IF (p_Commit = FND_API.G_TRUE) THEN
10860: ,x_msg_count => x_msg_count
10861: ,x_msg_data => x_msg_data
10862: );
10863: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10864: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10865: END IF;
10866:
10867: IF (p_Commit = FND_API.G_TRUE) THEN
10868: COMMIT;
10863: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10864: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10865: END IF;
10866:
10867: IF (p_Commit = FND_API.G_TRUE) THEN
10868: COMMIT;
10869: END IF;
10870: EXCEPTION
10871: WHEN FND_API.G_EXC_ERROR THEN
10867: IF (p_Commit = FND_API.G_TRUE) THEN
10868: COMMIT;
10869: END IF;
10870: EXCEPTION
10871: WHEN FND_API.G_EXC_ERROR THEN
10872: ROLLBACK TO CascdAttrCodeIntoForm;
10873: IF (x_msg_data IS NULL) THEN
10874: FND_MSG_PUB.Count_And_Get
10875: ( p_encoded => FND_API.G_FALSE
10871: WHEN FND_API.G_EXC_ERROR THEN
10872: ROLLBACK TO CascdAttrCodeIntoForm;
10873: IF (x_msg_data IS NULL) THEN
10874: FND_MSG_PUB.Count_And_Get
10875: ( p_encoded => FND_API.G_FALSE
10876: , p_count => x_msg_count
10877: , p_data => x_msg_data
10878: );
10879: END IF;
10876: , p_count => x_msg_count
10877: , p_data => x_msg_data
10878: );
10879: END IF;
10880: x_return_status := FND_API.G_RET_STS_ERROR;
10881: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10882: ROLLBACK TO CascdAttrCodeIntoForm;
10883: IF (x_msg_data IS NULL) THEN
10884: FND_MSG_PUB.Count_And_Get
10877: , p_data => x_msg_data
10878: );
10879: END IF;
10880: x_return_status := FND_API.G_RET_STS_ERROR;
10881: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10882: ROLLBACK TO CascdAttrCodeIntoForm;
10883: IF (x_msg_data IS NULL) THEN
10884: FND_MSG_PUB.Count_And_Get
10885: ( p_encoded => FND_API.G_FALSE
10881: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10882: ROLLBACK TO CascdAttrCodeIntoForm;
10883: IF (x_msg_data IS NULL) THEN
10884: FND_MSG_PUB.Count_And_Get
10885: ( p_encoded => FND_API.G_FALSE
10886: , p_count => x_msg_count
10887: , p_data => x_msg_data
10888: );
10889: END IF;
10886: , p_count => x_msg_count
10887: , p_data => x_msg_data
10888: );
10889: END IF;
10890: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10891: WHEN NO_DATA_FOUND THEN
10892: ROLLBACK TO CascdAttrCodeIntoForm;
10893: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10894: IF (x_msg_data IS NOT NULL) THEN
10889: END IF;
10890: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10891: WHEN NO_DATA_FOUND THEN
10892: ROLLBACK TO CascdAttrCodeIntoForm;
10893: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10894: IF (x_msg_data IS NOT NULL) THEN
10895: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Cascade_Changes_Into_Forumla ';
10896: ELSE
10897: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Cascade_Changes_Into_Forumla ';
10897: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Cascade_Changes_Into_Forumla ';
10898: END IF;
10899: WHEN OTHERS THEN
10900: ROLLBACK TO CascdAttrCodeIntoForm;
10901: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10902: IF (x_msg_data IS NOT NULL) THEN
10903: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Cascade_Changes_Into_Forumla ';
10904: ELSE
10905: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Cascade_Changes_Into_Forumla ';
10927: AND KG.DIM_GROUP_ID = G.DIM_GROUP_ID;
10928:
10929:
10930: IF (l_Count = 0) THEN
10931: RETURN FND_API.G_FALSE;
10932: ELSE
10933: RETURN FND_API.G_TRUE;
10934: END IF;
10935:
10929:
10930: IF (l_Count = 0) THEN
10931: RETURN FND_API.G_FALSE;
10932: ELSE
10933: RETURN FND_API.G_TRUE;
10934: END IF;
10935:
10936: EXCEPTION
10937: WHEN OTHERS THEN
10934: END IF;
10935:
10936: EXCEPTION
10937: WHEN OTHERS THEN
10938: RETURN FND_API.G_FALSE;
10939: END Is_Dim_Associated_To_Objective;
10940:
10941: -- Wrapper added for Bug#4932280
10942: PROCEDURE Delete_AG_Bsc_Metadata (
10939: END Is_Dim_Associated_To_Objective;
10940:
10941: -- Wrapper added for Bug#4932280
10942: PROCEDURE Delete_AG_Bsc_Metadata (
10943: p_Commit IN VARCHAR2 := FND_API.G_FALSE
10944: , p_Region_Code IN VARCHAR2
10945: , p_Delete_Measures IN VARCHAR2
10946: , x_Return_Status OUT NOCOPY VARCHAR
10947: , x_Msg_Count OUT NOCOPY NUMBER
10952: BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata (
10953: p_Commit => p_Commit
10954: , p_Region_Code => p_Region_Code
10955: , p_Delete_Measures => p_Delete_Measures
10956: , p_Delete_Dimensions => FND_API.G_TRUE
10957: , x_Return_Status => x_Return_Status
10958: , x_Msg_Count => x_Msg_Count
10959: , x_Msg_Data => x_Msg_Data
10960: );
10957: , x_Return_Status => x_Return_Status
10958: , x_Msg_Count => x_Msg_Count
10959: , x_Msg_Data => x_Msg_Data
10960: );
10961: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10962: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10963: END IF;
10964:
10965: EXCEPTION
10958: , x_Msg_Count => x_Msg_Count
10959: , x_Msg_Data => x_Msg_Data
10960: );
10961: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10962: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10963: END IF;
10964:
10965: EXCEPTION
10966: WHEN FND_API.G_EXC_ERROR THEN
10962: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10963: END IF;
10964:
10965: EXCEPTION
10966: WHEN FND_API.G_EXC_ERROR THEN
10967: IF (x_msg_data IS NULL) THEN
10968: FND_MSG_PUB.Count_And_Get
10969: ( p_encoded => FND_API.G_FALSE
10970: , p_count => x_msg_count
10965: EXCEPTION
10966: WHEN FND_API.G_EXC_ERROR THEN
10967: IF (x_msg_data IS NULL) THEN
10968: FND_MSG_PUB.Count_And_Get
10969: ( p_encoded => FND_API.G_FALSE
10970: , p_count => x_msg_count
10971: , p_data => x_msg_data
10972: );
10973: END IF;
10970: , p_count => x_msg_count
10971: , p_data => x_msg_data
10972: );
10973: END IF;
10974: x_return_status := FND_API.G_RET_STS_ERROR;
10975: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10976: IF (x_msg_data IS NULL) THEN
10977: FND_MSG_PUB.Count_And_Get
10978: ( p_encoded => FND_API.G_FALSE
10971: , p_data => x_msg_data
10972: );
10973: END IF;
10974: x_return_status := FND_API.G_RET_STS_ERROR;
10975: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10976: IF (x_msg_data IS NULL) THEN
10977: FND_MSG_PUB.Count_And_Get
10978: ( p_encoded => FND_API.G_FALSE
10979: , p_count => x_msg_count
10974: x_return_status := FND_API.G_RET_STS_ERROR;
10975: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10976: IF (x_msg_data IS NULL) THEN
10977: FND_MSG_PUB.Count_And_Get
10978: ( p_encoded => FND_API.G_FALSE
10979: , p_count => x_msg_count
10980: , p_data => x_msg_data
10981: );
10982: END IF;
10979: , p_count => x_msg_count
10980: , p_data => x_msg_data
10981: );
10982: END IF;
10983: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10984: WHEN NO_DATA_FOUND THEN
10985: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10986: IF (x_msg_data IS NOT NULL) THEN
10987: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata ';
10981: );
10982: END IF;
10983: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10984: WHEN NO_DATA_FOUND THEN
10985: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10986: IF (x_msg_data IS NOT NULL) THEN
10987: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata ';
10988: ELSE
10989: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata ';
10988: ELSE
10989: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata ';
10990: END IF;
10991: WHEN OTHERS THEN
10992: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10993: IF (x_msg_data IS NOT NULL) THEN
10994: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata ';
10995: ELSE
10996: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata ';
11001: --Wrapper added for bug#4741919
11002: --Wrapper is required to call Rearrange_Data_Series API
11003: --which will reset all the measures to the next datasource or null.
11004: PROCEDURE Delete_AG_Report (
11005: p_Commit IN VARCHAR2 := FND_API.G_FALSE
11006: , p_Region_Code IN VARCHAR2
11007: , p_Delete_Measures IN VARCHAR2
11008: , x_Return_Status OUT NOCOPY VARCHAR
11009: , x_Msg_Count OUT NOCOPY NUMBER
11013: l_Kpi_Id NUMBER;
11014: BEGIN
11015: SAVEPOINT DelAGRep;
11016: FND_MSG_PUB.Initialize;
11017: x_return_status := FND_API.G_RET_STS_SUCCESS;
11018:
11019: l_Kpi_Id := BSC_BIS_KPI_CRUD_PUB.Get_Kpi_Id(p_Region_Code);
11020: IF (l_Kpi_Id = BSC_BIS_KPI_CRUD_PUB.C_INVALID_ENTITY) THEN
11021: FND_MESSAGE.SET_NAME('BSC','BSC_SETUP_REPORT_DEF');
11019: l_Kpi_Id := BSC_BIS_KPI_CRUD_PUB.Get_Kpi_Id(p_Region_Code);
11020: IF (l_Kpi_Id = BSC_BIS_KPI_CRUD_PUB.C_INVALID_ENTITY) THEN
11021: FND_MESSAGE.SET_NAME('BSC','BSC_SETUP_REPORT_DEF');
11022: FND_MSG_PUB.ADD;
11023: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11024: END IF;
11025:
11026: BSC_ANALYSIS_OPTION_PUB.Rearrange_Data_Series(
11027: p_commit => FND_API.G_FALSE
11023: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11024: END IF;
11025:
11026: BSC_ANALYSIS_OPTION_PUB.Rearrange_Data_Series(
11027: p_commit => FND_API.G_FALSE
11028: ,p_Kpi_Id => l_Kpi_Id
11029: ,p_option_group0 => 0
11030: ,p_option_group1 => 0
11031: ,p_option_group2 => 0
11029: ,p_option_group0 => 0
11030: ,p_option_group1 => 0
11031: ,p_option_group2 => 0
11032: ,p_Measure_Seq => NULL
11033: ,p_add_flag => FND_API.G_TRUE
11034: ,p_remove_flag => FND_API.G_TRUE
11035: ,x_return_status => x_return_status
11036: ,x_msg_count => x_msg_count
11037: ,x_msg_data => x_msg_data
11030: ,p_option_group1 => 0
11031: ,p_option_group2 => 0
11032: ,p_Measure_Seq => NULL
11033: ,p_add_flag => FND_API.G_TRUE
11034: ,p_remove_flag => FND_API.G_TRUE
11035: ,x_return_status => x_return_status
11036: ,x_msg_count => x_msg_count
11037: ,x_msg_data => x_msg_data
11038: );
11035: ,x_return_status => x_return_status
11036: ,x_msg_count => x_msg_count
11037: ,x_msg_data => x_msg_data
11038: );
11039: IF ((x_Return_Status IS NOT NULL) AND (x_Return_Status <> FND_API.G_RET_STS_SUCCESS)) THEN
11040: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11041: END IF;
11042:
11043: BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata (
11036: ,x_msg_count => x_msg_count
11037: ,x_msg_data => x_msg_data
11038: );
11039: IF ((x_Return_Status IS NOT NULL) AND (x_Return_Status <> FND_API.G_RET_STS_SUCCESS)) THEN
11040: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11041: END IF;
11042:
11043: BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata (
11044: p_Commit => FND_API.G_FALSE
11040: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11041: END IF;
11042:
11043: BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata (
11044: p_Commit => FND_API.G_FALSE
11045: ,p_Region_Code => p_Region_Code
11046: ,p_Delete_Measures => p_Delete_Measures
11047: ,x_return_status => x_return_status
11048: ,x_msg_count => x_msg_count
11048: ,x_msg_count => x_msg_count
11049: ,x_msg_data => x_msg_data
11050: );
11051:
11052: IF ((x_return_status IS NOT NULL) AND (x_return_status <> FND_API.G_RET_STS_SUCCESS)) THEN
11053: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11054: END IF;
11055:
11056: EXCEPTION
11049: ,x_msg_data => x_msg_data
11050: );
11051:
11052: IF ((x_return_status IS NOT NULL) AND (x_return_status <> FND_API.G_RET_STS_SUCCESS)) THEN
11053: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11054: END IF;
11055:
11056: EXCEPTION
11057: WHEN FND_API.G_EXC_ERROR THEN
11053: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11054: END IF;
11055:
11056: EXCEPTION
11057: WHEN FND_API.G_EXC_ERROR THEN
11058: IF (x_msg_data IS NULL) THEN
11059: FND_MSG_PUB.Count_And_Get
11060: ( p_encoded => FND_API.G_FALSE
11061: , p_count => x_msg_count
11056: EXCEPTION
11057: WHEN FND_API.G_EXC_ERROR THEN
11058: IF (x_msg_data IS NULL) THEN
11059: FND_MSG_PUB.Count_And_Get
11060: ( p_encoded => FND_API.G_FALSE
11061: , p_count => x_msg_count
11062: , p_data => x_msg_data
11063: );
11064: END IF;
11061: , p_count => x_msg_count
11062: , p_data => x_msg_data
11063: );
11064: END IF;
11065: x_return_status := FND_API.G_RET_STS_ERROR;
11066: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11067: IF (x_msg_data IS NULL) THEN
11068: FND_MSG_PUB.Count_And_Get
11069: ( p_encoded => FND_API.G_FALSE
11062: , p_data => x_msg_data
11063: );
11064: END IF;
11065: x_return_status := FND_API.G_RET_STS_ERROR;
11066: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11067: IF (x_msg_data IS NULL) THEN
11068: FND_MSG_PUB.Count_And_Get
11069: ( p_encoded => FND_API.G_FALSE
11070: , p_count => x_msg_count
11065: x_return_status := FND_API.G_RET_STS_ERROR;
11066: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11067: IF (x_msg_data IS NULL) THEN
11068: FND_MSG_PUB.Count_And_Get
11069: ( p_encoded => FND_API.G_FALSE
11070: , p_count => x_msg_count
11071: , p_data => x_msg_data
11072: );
11073: END IF;
11070: , p_count => x_msg_count
11071: , p_data => x_msg_data
11072: );
11073: END IF;
11074: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11075: WHEN NO_DATA_FOUND THEN
11076: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11077: IF (x_msg_data IS NOT NULL) THEN
11078: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Delete_AG_Report ';
11072: );
11073: END IF;
11074: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11075: WHEN NO_DATA_FOUND THEN
11076: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11077: IF (x_msg_data IS NOT NULL) THEN
11078: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Delete_AG_Report ';
11079: ELSE
11080: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Delete_AG_Report ';
11079: ELSE
11080: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Delete_AG_Report ';
11081: END IF;
11082: WHEN OTHERS THEN
11083: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11084: IF (x_msg_data IS NOT NULL) THEN
11085: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Delete_AG_Report ';
11086: ELSE
11087: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Delete_AG_Report ';
11090:
11091:
11092: -- Added from Enhancement Number#4952167
11093: PROCEDURE Migrate_AGR_To_VBR (
11094: p_Commit IN VARCHAR2 := FND_API.G_FALSE
11095: , p_Region_Application_Id IN VARCHAR2
11096: , p_Region_Code IN VARCHAR2
11097: , x_Return_Status OUT NOCOPY VARCHAR
11098: , x_Msg_Count OUT NOCOPY NUMBER
11103: BEGIN
11104: SAVEPOINT MigrateAGRTOVBR;
11105: FND_MSG_PUB.Initialize;
11106:
11107: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
11108:
11109: l_Delete_Measure := FND_API.G_FALSE;
11110: l_Delete_Dimensions := FND_API.G_FALSE;
11111:
11105: FND_MSG_PUB.Initialize;
11106:
11107: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
11108:
11109: l_Delete_Measure := FND_API.G_FALSE;
11110: l_Delete_Dimensions := FND_API.G_FALSE;
11111:
11112: BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata (
11113: p_Commit => p_Commit
11106:
11107: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
11108:
11109: l_Delete_Measure := FND_API.G_FALSE;
11110: l_Delete_Dimensions := FND_API.G_FALSE;
11111:
11112: BSC_BIS_KPI_CRUD_PUB.Delete_AG_Bsc_Metadata (
11113: p_Commit => p_Commit
11114: , p_Region_Code => p_Region_Code
11117: , x_Return_Status => x_Return_Status
11118: , x_Msg_Count => x_Msg_Count
11119: , x_Msg_Data => x_Msg_Data
11120: );
11121: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
11122: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11123: END IF;
11124:
11125: EXCEPTION
11118: , x_Msg_Count => x_Msg_Count
11119: , x_Msg_Data => x_Msg_Data
11120: );
11121: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
11122: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11123: END IF;
11124:
11125: EXCEPTION
11126: WHEN FND_API.G_EXC_ERROR THEN
11122: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11123: END IF;
11124:
11125: EXCEPTION
11126: WHEN FND_API.G_EXC_ERROR THEN
11127: ROLLBACK TO MigrateAGRTOVBR;
11128: IF (x_msg_data IS NULL) THEN
11129: FND_MSG_PUB.Count_And_Get
11130: ( p_encoded => FND_API.G_FALSE
11126: WHEN FND_API.G_EXC_ERROR THEN
11127: ROLLBACK TO MigrateAGRTOVBR;
11128: IF (x_msg_data IS NULL) THEN
11129: FND_MSG_PUB.Count_And_Get
11130: ( p_encoded => FND_API.G_FALSE
11131: , p_count => x_msg_count
11132: , p_data => x_msg_data
11133: );
11134: END IF;
11131: , p_count => x_msg_count
11132: , p_data => x_msg_data
11133: );
11134: END IF;
11135: x_return_status := FND_API.G_RET_STS_ERROR;
11136: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11137: ROLLBACK TO MigrateAGRTOVBR;
11138: IF (x_msg_data IS NULL) THEN
11139: FND_MSG_PUB.Count_And_Get
11132: , p_data => x_msg_data
11133: );
11134: END IF;
11135: x_return_status := FND_API.G_RET_STS_ERROR;
11136: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11137: ROLLBACK TO MigrateAGRTOVBR;
11138: IF (x_msg_data IS NULL) THEN
11139: FND_MSG_PUB.Count_And_Get
11140: ( p_encoded => FND_API.G_FALSE
11136: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11137: ROLLBACK TO MigrateAGRTOVBR;
11138: IF (x_msg_data IS NULL) THEN
11139: FND_MSG_PUB.Count_And_Get
11140: ( p_encoded => FND_API.G_FALSE
11141: , p_count => x_msg_count
11142: , p_data => x_msg_data
11143: );
11144: END IF;
11141: , p_count => x_msg_count
11142: , p_data => x_msg_data
11143: );
11144: END IF;
11145: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11146: WHEN NO_DATA_FOUND THEN
11147: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11148: ROLLBACK TO MigrateAGRTOVBR;
11149: IF (x_msg_data IS NOT NULL) THEN
11143: );
11144: END IF;
11145: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11146: WHEN NO_DATA_FOUND THEN
11147: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11148: ROLLBACK TO MigrateAGRTOVBR;
11149: IF (x_msg_data IS NOT NULL) THEN
11150: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Migrate_AGR_To_VBR ';
11151: ELSE
11151: ELSE
11152: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Migrate_AGR_To_VBR ';
11153: END IF;
11154: WHEN OTHERS THEN
11155: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11156: ROLLBACK TO MigrateAGRTOVBR;
11157: IF (x_msg_data IS NOT NULL) THEN
11158: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Migrate_AGR_To_VBR ';
11159: ELSE
11163:
11164:
11165: -- Added from Enhancement Number#4952167
11166: PROCEDURE Migrate_To_Existing_Source (
11167: p_Commit IN VARCHAR2 := FND_API.G_FALSE
11168: , p_Existing_Report_Type IN VARCHAR2
11169: , p_Region_Application_Id IN VARCHAR2
11170: , p_Region_Code IN VARCHAR2
11171: , x_Return_Status OUT NOCOPY VARCHAR
11174: ) IS
11175: BEGIN
11176: SAVEPOINT MigrateAGRTOEXTNSRC;
11177: FND_MSG_PUB.Initialize;
11178: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
11179:
11180: IF (p_Existing_Report_Type = BSC_BIS_KPI_CRUD_PUB.C_PLSQL_BASED_REPORT_TYPE) THEN
11181: BSC_BIS_KPI_CRUD_PUB.Migrate_AGR_To_PLSQL (
11182: p_Commit => p_Commit
11185: , x_Return_Status => x_Return_Status
11186: , x_Msg_Count => x_Msg_Count
11187: , x_Msg_Data => x_Msg_Data
11188: );
11189: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
11190: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11191: END IF;
11192: ELSIF (p_Existing_Report_Type = BSC_BIS_KPI_CRUD_PUB.C_VIEW_BASED_REPORT_TYPE) THEN
11193: BSC_BIS_KPI_CRUD_PUB.Migrate_AGR_To_VBR (
11186: , x_Msg_Count => x_Msg_Count
11187: , x_Msg_Data => x_Msg_Data
11188: );
11189: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
11190: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11191: END IF;
11192: ELSIF (p_Existing_Report_Type = BSC_BIS_KPI_CRUD_PUB.C_VIEW_BASED_REPORT_TYPE) THEN
11193: BSC_BIS_KPI_CRUD_PUB.Migrate_AGR_To_VBR (
11194: p_Commit => p_Commit
11197: , x_Return_Status => x_Return_Status
11198: , x_Msg_Count => x_Msg_Count
11199: , x_Msg_Data => x_Msg_Data
11200: );
11201: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
11202: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11203: END IF;
11204: END IF;
11205:
11198: , x_Msg_Count => x_Msg_Count
11199: , x_Msg_Data => x_Msg_Data
11200: );
11201: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
11202: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11203: END IF;
11204: END IF;
11205:
11206: EXCEPTION
11203: END IF;
11204: END IF;
11205:
11206: EXCEPTION
11207: WHEN FND_API.G_EXC_ERROR THEN
11208: ROLLBACK TO MigrateAGRTOEXTNSRC;
11209: IF (x_msg_data IS NULL) THEN
11210: FND_MSG_PUB.Count_And_Get
11211: ( p_encoded => FND_API.G_FALSE
11207: WHEN FND_API.G_EXC_ERROR THEN
11208: ROLLBACK TO MigrateAGRTOEXTNSRC;
11209: IF (x_msg_data IS NULL) THEN
11210: FND_MSG_PUB.Count_And_Get
11211: ( p_encoded => FND_API.G_FALSE
11212: , p_count => x_msg_count
11213: , p_data => x_msg_data
11214: );
11215: END IF;
11212: , p_count => x_msg_count
11213: , p_data => x_msg_data
11214: );
11215: END IF;
11216: x_return_status := FND_API.G_RET_STS_ERROR;
11217: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11218: ROLLBACK TO MigrateAGRTOEXTNSRC;
11219: IF (x_msg_data IS NULL) THEN
11220: FND_MSG_PUB.Count_And_Get
11213: , p_data => x_msg_data
11214: );
11215: END IF;
11216: x_return_status := FND_API.G_RET_STS_ERROR;
11217: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11218: ROLLBACK TO MigrateAGRTOEXTNSRC;
11219: IF (x_msg_data IS NULL) THEN
11220: FND_MSG_PUB.Count_And_Get
11221: ( p_encoded => FND_API.G_FALSE
11217: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11218: ROLLBACK TO MigrateAGRTOEXTNSRC;
11219: IF (x_msg_data IS NULL) THEN
11220: FND_MSG_PUB.Count_And_Get
11221: ( p_encoded => FND_API.G_FALSE
11222: , p_count => x_msg_count
11223: , p_data => x_msg_data
11224: );
11225: END IF;
11222: , p_count => x_msg_count
11223: , p_data => x_msg_data
11224: );
11225: END IF;
11226: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11227: WHEN NO_DATA_FOUND THEN
11228: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11229: ROLLBACK TO MigrateAGRTOEXTNSRC;
11230: IF (x_msg_data IS NOT NULL) THEN
11224: );
11225: END IF;
11226: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11227: WHEN NO_DATA_FOUND THEN
11228: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11229: ROLLBACK TO MigrateAGRTOEXTNSRC;
11230: IF (x_msg_data IS NOT NULL) THEN
11231: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Migrate_To_Existing_Source ';
11232: ELSE
11232: ELSE
11233: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Migrate_To_Existing_Source ';
11234: END IF;
11235: WHEN OTHERS THEN
11236: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11237: ROLLBACK TO MigrateAGRTOEXTNSRC;
11238: IF (x_msg_data IS NOT NULL) THEN
11239: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Migrate_To_Existing_Source ';
11240: ELSE
11267: AND KP.INDICATOR = KG.INDICATOR
11268: AND KP.PROTOTYPE_FLAG >= 0
11269: AND KP.PROTOTYPE_FLAG <= DECODE(p_Production_Only, 'T', 0, 7);
11270: BEGIN
11271: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
11272:
11273: FOR cOL IN c_Objective_List LOOP
11274: IF(x_Msg_Data IS NULL) THEN
11275: x_Msg_Data := cOL.NAME;
11278: END IF;
11279: END LOOP;
11280:
11281: IF (x_Msg_Data IS NULL) THEN
11282: x_Return_Status := FND_API.G_RET_STS_ERROR;
11283: END IF;
11284:
11285: EXCEPTION
11286: WHEN OTHERS THEN
11283: END IF;
11284:
11285: EXCEPTION
11286: WHEN OTHERS THEN
11287: x_Return_Status := FND_API.G_RET_STS_ERROR;
11288: END Get_Obj_By_Dim_Region_Code;
11289:
11290:
11291: -- This API will take the Region Code and try to cascase it to the pl/sql layer.
11325:
11326: SAVEPOINT CascadeDimByRegion;
11327: FND_MSG_PUB.Initialize;
11328:
11329: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
11330:
11331:
11332: FOR cOL IN c_Objective_List LOOP
11333: l_Kpi_Id := cOL.INDICATOR;
11346: , x_Msg_Data => x_Msg_Data
11347: );
11348:
11349: l_Is_XTD_Enabled := BSC_BIS_KPI_CRUD_PUB.is_XTD_Enabled(p_Region_Code);
11350: IF ((Has_Time_Dim_Obj_Changed(x_Time_Dim_Obj_Short_Names, l_Kpi_Id, l_Is_XTD_Enabled) = FND_API.G_TRUE) OR
11351: (p_Force_Change = FND_API.G_TRUE)) THEN
11352: BSC_BIS_KPI_CRUD_PUB.Assign_KPI_Periodicities(
11353: p_Commit => p_Commit
11354: ,p_Kpi_Id => l_Kpi_Id
11347: );
11348:
11349: l_Is_XTD_Enabled := BSC_BIS_KPI_CRUD_PUB.is_XTD_Enabled(p_Region_Code);
11350: IF ((Has_Time_Dim_Obj_Changed(x_Time_Dim_Obj_Short_Names, l_Kpi_Id, l_Is_XTD_Enabled) = FND_API.G_TRUE) OR
11351: (p_Force_Change = FND_API.G_TRUE)) THEN
11352: BSC_BIS_KPI_CRUD_PUB.Assign_KPI_Periodicities(
11353: p_Commit => p_Commit
11354: ,p_Kpi_Id => l_Kpi_Id
11355: ,p_Time_Dim_Obj_Sns => x_Time_Dim_Obj_Short_Names
11359: ,x_Return_Status => x_Return_Status
11360: ,x_Msg_Count => x_Msg_Count
11361: ,x_Msg_Data => x_Msg_Data
11362: );
11363: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
11364: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11365: END IF;
11366: END IF;
11367:
11360: ,x_Msg_Count => x_Msg_Count
11361: ,x_Msg_Data => x_Msg_Data
11362: );
11363: IF (x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
11364: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11365: END IF;
11366: END IF;
11367:
11368: IF ((Has_Non_Time_Dim_Obj_Changed(x_Non_Time_Dim_Obj_Short_Names, l_Kpi_Id)= FND_API.G_TRUE) OR
11364: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11365: END IF;
11366: END IF;
11367:
11368: IF ((Has_Non_Time_Dim_Obj_Changed(x_Non_Time_Dim_Obj_Short_Names, l_Kpi_Id)= FND_API.G_TRUE) OR
11369: (p_Force_Change = FND_API.G_TRUE)) THEN
11370: BSC_BIS_DIMENSION_PUB.Update_Dimension
11371: ( p_commit => p_Commit
11372: , p_dim_short_name => p_Region_Code
11365: END IF;
11366: END IF;
11367:
11368: IF ((Has_Non_Time_Dim_Obj_Changed(x_Non_Time_Dim_Obj_Short_Names, l_Kpi_Id)= FND_API.G_TRUE) OR
11369: (p_Force_Change = FND_API.G_TRUE)) THEN
11370: BSC_BIS_DIMENSION_PUB.Update_Dimension
11371: ( p_commit => p_Commit
11372: , p_dim_short_name => p_Region_Code
11373: , p_display_name => p_Region_Code
11378: , x_return_status => x_Return_Status
11379: , x_msg_count => x_Msg_Count
11380: , x_msg_data => x_Msg_Data
11381: );
11382: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
11383: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11384: END IF;
11385: END IF;
11386: END LOOP;
11379: , x_msg_count => x_Msg_Count
11380: , x_msg_data => x_Msg_Data
11381: );
11382: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
11383: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11384: END IF;
11385: END IF;
11386: END LOOP;
11387:
11385: END IF;
11386: END LOOP;
11387:
11388: EXCEPTION
11389: WHEN FND_API.G_EXC_ERROR THEN
11390: IF (x_msg_data IS NULL) THEN
11391: FND_MSG_PUB.Count_And_Get
11392: ( p_encoded => FND_API.G_FALSE
11393: , p_count => x_msg_count
11388: EXCEPTION
11389: WHEN FND_API.G_EXC_ERROR THEN
11390: IF (x_msg_data IS NULL) THEN
11391: FND_MSG_PUB.Count_And_Get
11392: ( p_encoded => FND_API.G_FALSE
11393: , p_count => x_msg_count
11394: , p_data => x_msg_data
11395: );
11396: END IF;
11393: , p_count => x_msg_count
11394: , p_data => x_msg_data
11395: );
11396: END IF;
11397: x_return_status := FND_API.G_RET_STS_ERROR;
11398: ROLLBACK TO CascadeDimByRegion;
11399: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11400: IF (x_msg_data IS NULL) THEN
11401: FND_MSG_PUB.Count_And_Get
11395: );
11396: END IF;
11397: x_return_status := FND_API.G_RET_STS_ERROR;
11398: ROLLBACK TO CascadeDimByRegion;
11399: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11400: IF (x_msg_data IS NULL) THEN
11401: FND_MSG_PUB.Count_And_Get
11402: ( p_encoded => FND_API.G_FALSE
11403: , p_count => x_msg_count
11398: ROLLBACK TO CascadeDimByRegion;
11399: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11400: IF (x_msg_data IS NULL) THEN
11401: FND_MSG_PUB.Count_And_Get
11402: ( p_encoded => FND_API.G_FALSE
11403: , p_count => x_msg_count
11404: , p_data => x_msg_data
11405: );
11406: END IF;
11403: , p_count => x_msg_count
11404: , p_data => x_msg_data
11405: );
11406: END IF;
11407: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11408: ROLLBACK TO CascadeDimByRegion;
11409: WHEN NO_DATA_FOUND THEN
11410: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11411: IF (x_msg_data IS NOT NULL) THEN
11406: END IF;
11407: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11408: ROLLBACK TO CascadeDimByRegion;
11409: WHEN NO_DATA_FOUND THEN
11410: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11411: IF (x_msg_data IS NOT NULL) THEN
11412: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Cascade_Dimension_By_Region ';
11413: ELSE
11414: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Cascade_Dimension_By_Region ';
11414: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Cascade_Dimension_By_Region ';
11415: END IF;
11416: ROLLBACK TO CascadeDimByRegion;
11417: WHEN OTHERS THEN
11418: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11419: IF (x_msg_data IS NOT NULL) THEN
11420: x_msg_data := x_msg_data||' -> BSC_BIS_KPI_CRUD_PUB.Cascade_Dimension_By_Region ';
11421: ELSE
11422: x_msg_data := SQLERRM||' at BSC_BIS_KPI_CRUD_PUB.Cascade_Dimension_By_Region ';
11470: , p_Dataset_Format_Id IN NUMBER
11471: , p_Dataset_Autoscale_Flag IN NUMBER
11472: , p_Measure_Operation IN VARCHAR2
11473: , p_Measure_Increase_In_Measure IN VARCHAR2
11474: , p_Measure_Obsolete IN VARCHAR2 := FND_API.G_FALSE
11475: , p_Type IN VARCHAR2-- This is used for weighted kpis,This can take values CDS_SCORE,CDS_PERF or Null
11476: , p_Measure_Random_Style IN NUMBER
11477: , p_Measure_Min_Act_Value IN NUMBER
11478: , p_Measure_Max_Act_Value IN NUMBER
11615: l_attribute2 := cd.attribute2;
11616: l_dim := SUBSTR(l_attribute2, 1, INSTR(l_attribute2,'+')-1);
11617: IF((l_dim <> BSC_BIS_KPI_CRUD_PUB.c_oltp_time) AND
11618: (l_dim <> BSC_BIS_KPI_CRUD_PUB.c_edw_time) AND
11619: (BSC_BIS_KPI_CRUD_PUB.Is_Dimension_Calendar(l_dim) <> FND_API.G_TRUE)) THEN
11620: x_non_time_counter:=x_non_time_counter + 1;
11621: x_non_time_dim_dimObjs(x_non_time_counter) := l_attribute2;
11622: END IF;
11623: END LOOP;