The following lines contain the word 'select', 'insert', 'update' or 'delete':
REM | 22-JUL-2003 ADRAO Bug #3034094 - Fixed in Update_Dimension |
REM | 30-JUL-2003 PAJOHRI Bug #3075316, 3073486 |
REM | 09-SEP-2003 ASHANKAR Bug #3129610 |
REM | 13-SEP-2003 MAHRAO Fix for bug# 3099977, added p_create_view flag |
REM | 20-OCT-2003 PAJOHRI Bug #3179995 |
REM | 20-OCT-2003 PAJOHRI Bug #3179995 |
REM | 04-NOV-2003 PAJOHRI Bug #3152258 |
REM | 04-NOV-2003 PAJOHRI Bug #3220613 |
REM | 04-NOV-2003 PAJOHRI Bug #3232366 |
REM | 04-NOV-2003 PAJOHRI Bug #3269384 |
REM | 08-DEC-2003 KYADAMAK Bug #3225685 |
REM | 02-MAR-2004 ankgoel Bug #3464470 |
REM | 30-MAR-2004 KYADAMAK BUG #3516466 Passing default appid as 271 |
REM | 12-APR-2004 PAJOHRI Bug #3426566, modified the logic to use dimension|
REM | 'UNASSIGNED' always if there if no Dimension/ |
REM | Dimension Object association for PMF and retain |
REM | 'All Enable' flag |
REM | 19-APR-2004 PAJOHRI Bug #3541933, fix for filter buttons |
REM | 23-APR-2004 ASHANKAR Bug #3518610,Added the fucntion Validate |
REM | listbutton |
REM | 05-MAY-2004 PAJOHRI Bug #3590436, fixed Sync_Dimensions_In_Bis |
REM | 16-JUN-2004 PAJOHRI Bug #3659486, to support 'All Enable' flag in |
REM | Dimension/Dimension Object Association Page |
REM | 09-AUG-2004 sawu Used c_BSC_DIM constant in create_dimension |
REM | 11-AUG-2004 sawu Added create_dimension() for bug#3819855 with |
REM | p_is_default_short_name |
REM | 17-AUG-2004 wleung modified Bug#3784852 on Assign_Unassign_Dim_Objs |
REM | 08-SEP-2004 visuri Added Dim_With_Single_Dim_Obj() and |
REM | Is_Dim_Empty() for bug #3784852 |
REM | 09-SEP-2004 visuri Shifted Remove_Empty_Dims_For_DimSet() from |
REM | BSC_BIS_KPI_MEAS_PUB for bug #3784852 |
REM | 08-OCT-2004 rpenneru added Modified for bug#3939995 |
REM | 27-OCT-2004 sawu Bug#3947903: added Is_Objective_Assigned() |
REM | 08-Feb-05 ankgoel Enh#4172034 DD Seeding by Product Teams |
REM | 02-Mar-05 ppandey Bug#4211876 Prmary Dim provided for |
REM | Update_Dimension_Level should not be accepte. |
REM | 29-Mar-05 ankagarw bug# 4218260 Unable to save comparison source |
REM | label lov value |
REM | 31-MAR-05 adrao Modified API check_sametype_dims to remove |
REM | disctinction betweem BSC and BIS Dimesion Objs |
REM | 11-APR-2005 kyadamak bug#4290070 Not recreating views for rolling dims|
REM | 06-JUN-2005 mdamle Enh#4403547 Set default p_commit to false for |
REM | dim. group apis called from EOs |
REM | 18-Jul-2005 ppandey Enh #4417483, Restrict Internal/Calendar Dims |
REM | 20-Jul-2005 ppandey Bug #4495539, MIXED Dim Obj not allowed from DD |
REM | 11-AUG-2005 ppandey Bug #4324947 Validation for Dim,Dim Obj in Rpt |
REM | 06-Jan-2006 akoduri Enh#4739401 - Hide Dimensions/Dim Objects |
REM | 10-FEB-2006 akoduri Bug#4997042 Cascade 'All' property from dim |
REM | designer to dim groups of Reports |
REM | 15-JUN-2006 ashankar Bug#5254737 Made changes to Create_Dimension |
REM | Method.Removed the parameter value 'TRUE' in |
REM | FND_MESSAGE.SET_TOKEN API |
REM | 27-Jun-07 ashankar Bug#6134149 synching up the dim obj props to |
REM | BSC_KPI_MEASURE_PROPS table |
REM | 02-AUG-07 psomesul B#6168487-Handling dim. object comparison settings |
REM +=======================================================================+
*/
CONFIG_LIMIT_DIM CONSTANT NUMBER := 8;
SELECT Dimension_ID
FROM BIS_DIMENSIONS
WHERE Short_Name = p_Short_Name;
SELECT Dim_Group_ID
FROM BSC_SYS_DIM_GROUPS_VL
WHERE Short_Name = p_Short_Name;
SELECT COUNT(1) INTO l_Count
FROM BSC_KPI_DIM_GROUPS
WHERE DIM_GROUP_ID= p_dim_group_id;
SELECT Name
FROM BSC_SYS_DIM_GROUPS_VL
WHERE Short_Name = p_Short_Name;
SELECT COUNT(1) INTO l_Count
FROM BSC_SYS_DIM_LEVELS_BY_GROUP
WHERE Dim_Level_Id = p_Dim_Level_Id
AND Dim_Group_Id = p_Dim_Grp_Id;
SELECT B.Short_Name
FROM BIS_LEVELS A
, BIS_DIMENSIONS B
WHERE A.Short_Name = p_Dim_Obj_Short_Name
AND A.Dimension_Id = B.Dimension_Id;
SELECT Total_Flag
FROM BSC_SYS_DIM_LEVELS_BY_GROUP
WHERE Dim_Level_Id = l_Bsc_Dim_Obj_ID
AND Dim_Group_Id = l_Bsc_Group_ID;
SELECT COUNT(Dim_Group_ID) INTO l_Count
FROM BSC_SYS_DIM_LEVELS_BY_GROUP
WHERE Dim_Level_Id = p_Dim_Level_Id;
SELECT B.Short_Name
FROM BIS_LEVELS A
, BIS_DIMENSIONS B
WHERE A.Short_Name = p_Dim_Obj_Short_Name
AND A.Dimension_Id = B.Dimension_Id;
SELECT Total_Flag
FROM BSC_SYS_DIM_LEVELS_BY_GROUP
WHERE Dim_Group_Id = l_Bsc_Group_ID
AND Dim_Level_Id = l_Bsc_Level_ID;
UPDATE BSC_SYS_DIM_LEVELS_BY_GROUP
SET Total_Flag = l_Total_Flag
WHERE Dim_Level_Id = l_Bsc_Level_ID;
SELECT B.Short_Name
FROM BIS_LEVELS A
, BIS_DIMENSIONS B
WHERE A.Short_Name = p_Dim_Obj_Short_Name
AND A.Dimension_Id = B.Dimension_Id;
SELECT Dim_Group_Id
FROM BSC_SYS_DIM_LEVELS_BY_GROUP
WHERE Dim_Level_Id = l_Bsc_Level_ID
ORDER BY Dim_Level_Index DESC;
SELECT Short_Name
FROM BSC_SYS_DIM_GROUPS_VL
WHERE Dim_Group_Id = l_Bsc_Group_ID;
SELECT LEVEL_ID
, SHORT_NAME
, DIMENSION_ID
, LEVEL_VALUES_VIEW_NAME
, WHERE_CLAUSE
, CREATION_DATE
, CREATED_BY
, LAST_UPDATE_DATE
, LAST_UPDATED_BY
, LAST_UPDATE_LOGIN
, SOURCE
, COMPARISON_LABEL_CODE
, ATTRIBUTE_CODE
, APPLICATION_ID
, VIEW_OBJECT_NAME
, DEFAULT_VALUES_API
, DEFAULT_SEARCH
, LONG_LOV
, MASTER_LEVEL
, ENABLED
, DRILL_TO_FORM_FUNCTION
, HIDE_IN_DESIGN
FROM BIS_LEVELS A
WHERE A.Short_Name = p_Dim_Obj_Short_Name;
BIS_DIMENSION_LEVEL_PUB.Update_Dimension_Level
( p_api_version => 1.0
, p_commit => FND_API.G_FALSE
, p_validation_level => FND_API.G_VALID_LEVEL_FULL
, p_Dimension_Level_Rec => l_bis_dimension_level_rec
, x_return_status => x_return_status
, x_error_Tbl => l_error_tbl
);
PROCEDURE Delete_Dim_Objs_In_DSet
( p_MTab_Tbl IN BSC_BIS_DIMENSION_PUB.KPI_Dim_Set_Table_Type
, x_return_status OUT NOCOPY VARCHAR2
, x_msg_count OUT NOCOPY NUMBER
, x_msg_data OUT NOCOPY VARCHAR2
) IS
BEGIN
FOR i IN 0..(p_MTab_Tbl.COUNT-1) LOOP
BSC_BIS_KPI_MEAS_PUB.Delete_Dim_Objs_In_DSet
( p_commit => FND_API.G_FALSE
, p_kpi_id => p_MTab_Tbl(i).p_kpi_id
, p_dim_set_id => p_MTab_Tbl(i).p_dim_set_id
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
END Delete_Dim_Objs_In_DSet;
, p_delete IN BOOLEAN := FALSE
, x_return_status OUT NOCOPY VARCHAR2
, x_msg_count OUT NOCOPY NUMBER
, x_msg_data OUT NOCOPY VARCHAR2
) IS
BEGIN
FOR i IN 0..(p_MTab_Tbl.COUNT-1) LOOP
BSC_BIS_KPI_MEAS_PUB.Create_Dim_Objs_In_DSet
( p_commit => FND_API.G_FALSE
, p_kpi_id => p_MTab_Tbl(i).p_kpi_id
, p_dim_set_id => p_MTab_Tbl(i).p_dim_set_id
, p_kpi_flag_change => p_kpi_flag_change
, p_delete => p_delete
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
, p_delete IN BOOLEAN := FALSE
, p_old_default IN VARCHAR2
, p_new_default IN VARCHAR2
, p_dim_obj_short_name IN VARCHAR2
, p_dim_obj_objs_tbl IN OUT NOCOPY BSC_BIS_DIMENSION_PUB.dimobj_obj_kpis_tbl_type
, x_return_status OUT NOCOPY VARCHAR2
, x_msg_count OUT NOCOPY NUMBER
, x_msg_data OUT NOCOPY VARCHAR2
) IS
l_kpi_flag_change VARCHAR2(1);
, p_delete => p_delete
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
SELECT DISTINCT A.indicator INDICATOR
, A.dim_set_id DIM_SET_ID
, A.Dim_Group_Index
FROM BSC_KPI_DIM_GROUPS A
, BSC_KPIS_B B
WHERE A.INDICATOR = B.INDICATOR
AND B.share_flag <> 2
AND A.dim_group_id = p_dim_group_id
ORDER BY A.Dim_Group_Index;
SELECT a.indicator indicator, a.kpi_measure_id
FROM BSC_DB_DATASET_DIM_SETS_V a, bsc_kpi_dim_levels_vl b
WHERE a.indicator = b.indicator
AND a.dim_set_id = b.dim_set_id
AND b.level_shortname = p_dim_obj_short_name;
SELECT NVL(MAX(dim_group_id) + 1, 0)
INTO l_count
FROM BSC_SYS_DIM_GROUPS_TL;
SELECT COUNT(1) INTO l_count
FROM (SELECT COUNT(1) rec_count
FROM BSC_SYS_DIM_GROUPS_VL
WHERE UPPER(Short_Name) = UPPER(l_temp_var)
UNION
SELECT COUNT(1) rec_count
FROM BIS_DIMENSIONS_VL
WHERE UPPER(Short_Name) = UPPER(l_temp_var))
WHERE rec_count > 0;
SELECT COUNT(1) INTO l_count
FROM BSC_SYS_DIM_GROUPS_TL
WHERE UPPER(short_name) = UPPER(l_dim_short_name);
SELECT COUNT(1) INTO l_count
FROM BIS_DIMENSIONS_VL
WHERE UPPER(short_name) = UPPER(l_dim_short_name);
SELECT COUNT(1) INTO l_count
FROM BIS_DIMENSIONS_VL
WHERE UPPER(name) = UPPER(p_display_name);
SELECT COUNT(1) INTO l_count
FROM BIS_DIMENSIONS_VL
WHERE UPPER(name) = UPPER(l_pmf_disp_name);
SELECT COUNT(1) INTO l_count
FROM BSC_SYS_DIM_GROUPS_VL
WHERE UPPER(name) = UPPER(p_display_name);
SELECT COUNT(1) INTO l_count
FROM BIS_DIMENSIONS_VL
WHERE UPPER(name) = UPPER(p_display_name);
( p_selected_dim_objets => l_Dim_Obj_Tab
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
SELECT dim_group_id
INTO l_bis_dimension_rec.Dim_Grp_Id
FROM BSC_SYS_DIM_GROUPS_VL
WHERE Short_Name = l_bsc_dimension_rec.Bsc_Dim_Level_Group_short_name;
SELECT B.Short_Name
, B.Dim_Level_ID
FROM BSC_SYS_DIM_LEVELS_B B
, BSC_SYS_DIM_LEVELS_BY_GROUP A
WHERE A.dim_group_id =
( SELECT dim_group_id
FROM BSC_SYS_DIM_GROUPS_VL
WHERE Short_Name = p_dim_short_name
)
AND A.Dim_Level_Id = B.Dim_Level_Id
ORDER BY A.Dim_Level_Index;
SELECT dim_group_id
FROM BSC_SYS_DIM_GROUPS_VL
WHERE short_name = p_dim_short_name;
SELECT Dim_Level_Id
, Source
FROM BSC_SYS_DIM_LEVELS_B
WHERE Short_Name = l_dim_obj_name;
FND_MESSAGE.SET_NAME('BSC','BSC_MUSER_DELETE_MESSAGE');
BSC_BIS_DIMENSION_PUB.Delete_Dim_Objs_In_DSet
( p_MTab_Tbl => l_MTab_Tbl
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
FND_MESSAGE.SET_NAME('BSC','BSC_MUSER_DELETE_MESSAGE');
SELECT Dim_Level_Index INTO l_original_tab_index
FROM BSC_SYS_DIM_LEVELS_BY_GROUP
WHERE Dim_Group_Id = l_dim_group_id
AND Dim_Level_ID = l_MTab_DimRels1(i).p_dim_obj_id;
BSC_DIMENSION_GROUPS_PUB.Update_Dim_Levels_In_Group
( p_commit => FND_API.G_FALSE
, p_Dim_Grp_Rec => l_bsc_dimension_rec
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
SELECT Dim_Level_Index
INTO l_original_tab_index
FROM BSC_SYS_DIM_LEVELS_BY_GROUP
WHERE Dim_Group_Id = l_dim_group_id
AND Dim_Level_ID = l_MTab_DimRels2(l_tab_index).p_dim_obj_id;
BSC_DIMENSION_GROUPS_PUB.Update_Dim_Levels_In_Group
( p_commit => FND_API.G_FALSE
, p_Dim_Grp_Rec => l_bsc_dimension_rec
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
ASSIGN OR UPDATE A DIMENSION OBJECT TO DIMENSION
*********************************************************************************/
PROCEDURE Assign_Dimension_Object
( p_commit IN VARCHAR2 := FND_API.G_FALSE -- mdamle 06/06/2005 - Set default p_commit to false for dim. group apis called from EO
, p_dim_short_name IN VARCHAR2
, p_dim_obj_short_name IN VARCHAR2
, p_comp_flag IN NUMBER
, p_no_items IN NUMBER
, p_parent_in_tot IN NUMBER
, p_total_flag IN NUMBER
, p_default_value IN VARCHAR2
, p_time_stamp IN VARCHAR2 := NULL -- Granular Locking
, p_create_view IN NUMBER := 0
, p_where_clause IN VARCHAR2 := NULL
, x_return_status OUT NOCOPY VARCHAR2
, x_msg_count OUT NOCOPY NUMBER
, x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Dim_Grp_Id BSC_SYS_DIM_GROUPS_TL.Dim_Group_Id%TYPE;
SELECT dim_level_id FROM BSC_SYS_DIM_LEVELS_B
WHERE short_name = p_dim_obj_short_name;
SELECT dim_group_id FROM BSC_SYS_DIM_GROUPS_VL
WHERE short_name = p_dim_short_name;
SELECT B.Default_Value
, C.Short_Name
, C.Source
, C.Name
FROM BSC_SYS_DIM_LEVELS_BY_GROUP B,
BSC_SYS_DIM_GROUPS_VL V,
BSC_SYS_DIM_LEVELS_VL C
WHERE V.Dim_Group_Id = B.Dim_Group_Id
AND B.Dim_Level_Id = C.Dim_Level_Id
AND V.Short_Name = p_Dim_Short_Name;
SELECT Default_Value
FROM BSC_SYS_DIM_LEVELS_BY_GROUP
WHERE Dim_Group_Id = l_bsc_dimension_rec.Bsc_Dim_Level_Group_Id;
SELECT a.indicator,
a.kpi_measure_id
FROM bsc_db_dataset_dim_sets_v a,
bsc_kpi_dim_levels_vl b
WHERE a.indicator =b.indicator
AND a.dim_set_id =b.dim_set_id
AND b.level_shortname =p_dim_obj_short_name;
FND_MESSAGE.SET_NAME('BSC','BSC_MUSER_DELETE_MESSAGE');
SELECT COUNT(B.DEFAULT_VALUE)
INTO l_count
FROM BSC_SYS_DIM_LEVELS_BY_GROUP B
WHERE B.DIM_GROUP_ID = l_bsc_dimension_rec.Bsc_Dim_Level_Group_Id;
FND_MESSAGE.SET_NAME('BSC','BSC_MUSER_DELETE_MESSAGE');
BSC_BIS_LOCKS_PUB.Lock_Update_Dim_Obj_In_Dim
( p_dim_object_id => l_bsc_dimension_rec.Bsc_Level_Id
, p_dimension_id => l_bsc_dimension_rec.Bsc_Dim_Level_Group_Id
, p_time_stamp => p_time_stamp -- Granular Locking
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
BSC_BIS_DIMENSION_PUB.Delete_Dim_Objs_In_DSet
( p_MTab_Tbl => l_MTab_Tbl
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
BSC_DIMENSION_GROUPS_PUB.Update_Dim_Levels_In_Group
( p_commit => FND_API.G_FALSE
, p_Dim_Grp_Rec => l_bsc_dimension_rec
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
UPDATE BSC_SYS_DIM_LEVELS_BY_GROUP
SET Dim_Group_ID = l_bsc_dimension_rec.Bsc_Dim_Level_Group_Id
WHERE Dim_Level_ID = l_bsc_dimension_rec.Bsc_Level_Id
AND Dim_Group_ID = l_Dim_Grp_Id;
BSC_KPI_MEASURE_PROPS_PUB.Update_Kpi_Measure_Props
(
p_commit => FND_API.G_FALSE
, p_kpi_measure_rec => l_kpi_measure_props_rec
, p_cascade_shared => TRUE
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
SELECT Dim_Group_Id
FROM BSC_SYS_DIM_GROUPS_VL
WHERE Short_Name = p_dim_short_name;
SELECT Dim_Level_Id
, Source
FROM BSC_SYS_DIM_LEVELS_B
WHERE Short_Name = l_dim_obj_name;
SELECT Short_Name
FROM BIS_LEVELS
WHERE Dimension_Id = l_Bis_Group_ID;
FND_MESSAGE.SET_NAME('BSC','BSC_MUSER_DELETE_MESSAGE');
BSC_BIS_LOCKS_PUB.Lock_Update_Dimension
( p_dimension_id => l_bsc_dimension_rec.Bsc_Dim_Level_Group_Id
, p_selected_dim_objets => l_Dim_Obj_Tab
, p_time_stamp => p_time_stamp -- Granular Locking
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
BSC_BIS_DIMENSION_PUB.Delete_Dim_Objs_In_DSet
( p_MTab_Tbl => l_MTab_Tbl
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
FND_MESSAGE.SET_NAME('BSC','BSC_MUSER_DELETE_MESSAGE');
UPDATE BSC_SYS_DIM_LEVELS_BY_GROUP
SET Dim_Group_Id = l_Dim_Grp_ID
WHERE Dim_Group_Id = l_bsc_dimension_rec.Bsc_Dim_Level_Group_Id
AND Dim_Level_Id = l_bsc_dimension_rec.Bsc_Level_Id;
BSC_DIMENSION_GROUPS_PUB.Delete_Dim_Levels_In_Group
( p_commit => FND_API.G_FALSE
, p_Dim_Grp_Rec => l_bsc_dimension_rec
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
SELECT DIM_NAME
INTO l_dim_name
FROM BSC_BIS_DIM_VL
WHERE SHORT_NAME = p_dim_short_name;
SELECT NAME
INTO l_dim_obj_name
FROM BSC_BIS_DIM_OBJS_VL
WHERE SHORT_NAME = l_unassign;
, p_Entity_Action_Type => BSC_UTILITY.c_UPDATE
, x_Return_Status => x_return_status
, x_Msg_Count => x_msg_count
, x_Msg_Data => x_msg_data
);
SELECT B.SHORT_NAME
FROM BIS_LEVELS A
, BIS_DIMENSIONS B
WHERE B.DIMENSION_ID = A.DIMENSION_ID
AND A.SHORT_NAME = l_dim_obj_sht_name;
SELECT dim_short_name
FROM BSC_BIS_DIM_OBJ_BY_DIM_VL
WHERE obj_short_name = l_dim_obj_sht_name
AND dim_short_name <>p_dim_short_name;
UPDATE DIMENSION
*********************************************************************************/
PROCEDURE Update_Dimension
( p_commit IN VARCHAR2 := FND_API.G_FALSE -- mdamle 06/06/2005 - Set default p_commit to false for dim. group apis called from EO
, p_dim_short_name IN VARCHAR2
, p_display_name IN VARCHAR2
, p_description IN VARCHAR2
, p_application_id IN NUMBER
, p_time_stamp IN VARCHAR2 := NULL -- Granular Locking
, p_hide IN VARCHAR2 := FND_API.G_FALSE
, x_return_status OUT NOCOPY VARCHAR2
, x_msg_count OUT NOCOPY NUMBER
, x_msg_data OUT NOCOPY VARCHAR2
)IS
l_bis_dimension_rec BIS_DIMENSION_PUB.Dimension_Rec_Type;
SELECT name, dim_group_id
FROM BSC_SYS_DIM_GROUPS_VL
WHERE short_name = l_dim_short_name;
SELECT name, description, dimension_id
FROM BIS_DIMENSIONS_VL
WHERE short_name = l_dim_short_name;
SAVEPOINT UpdateBSCDimensionPMD;
FND_MESSAGE.SET_NAME('BSC','BSC_MUSER_DELETE_MESSAGE');
SELECT COUNT(1) INTO l_count
FROM BIS_DIMENSIONS_VL
WHERE UPPER(short_name) <> UPPER(l_dim_short_name)
AND UPPER(name) = UPPER(p_display_name);
SELECT COUNT(1) INTO l_count
FROM BIS_DIMENSIONS_VL
WHERE UPPER(name) = UPPER(l_pmf_disp_name);
BIS_DIMENSION_PUB.Update_Dimension
( p_api_version => 1.0
, p_commit => FND_API.G_FALSE
, p_validation_level => FND_API.G_VALID_LEVEL_FULL
, p_Dimension_Rec => l_bis_dimension_rec
, x_return_status => x_return_status
, x_error_Tbl => l_error_tbl
);
UPDATE BIS_DIMENSIONS
SET Dim_Grp_ID =
( SELECT dim_group_id
FROM BSC_SYS_DIM_GROUPS_VL
WHERE Short_Name = l_bsc_dimension_rec.Bsc_Dim_Level_Group_short_name
);
BSC_DIMENSION_GROUPS_PUB.Update_Dimension_Group
( p_commit => FND_API.G_FALSE
, p_Dim_Grp_Rec => l_bsc_dimension_rec
, p_create_Dim_Levels => FALSE
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
ROLLBACK TO UpdateBSCDimensionPMD;
ROLLBACK TO UpdateBSCDimensionPMD;
ROLLBACK TO UpdateBSCDimensionPMD;
x_msg_data := x_msg_data||' -> BSC_BIS_DIMENSION_PUB.Update_Dimension ';
x_msg_data := SQLERRM||' at BSC_BIS_DIMENSION_PUB.Update_Dimension ';
ROLLBACK TO UpdateBSCDimensionPMD;
x_msg_data := x_msg_data||' -> BSC_BIS_DIMENSION_PUB.Update_Dimension ';
x_msg_data := SQLERRM||' at BSC_BIS_DIMENSION_PUB.Update_Dimension ';
END Update_Dimension;
UPDATE DIMENSION
*********************************************************************************/
PROCEDURE Update_Dimension
( p_commit IN VARCHAR2 := FND_API.G_FALSE -- mdamle 06/06/2005 - Set default p_commit to false for dim. group apis called from EO
, p_dim_short_name IN VARCHAR2
, p_display_name IN VARCHAR2
, p_description IN VARCHAR2
, p_application_id IN NUMBER
, p_assign_dim_obj_names IN VARCHAR2
, p_unassign_dim_obj_names IN VARCHAR2
, p_time_stamp IN VARCHAR2 := NULL -- Granular Locking
, p_hide IN VARCHAR2 := FND_API.G_FALSE
, p_Restrict_Dim_Validate IN VARCHAR2 := NULL
, x_return_status OUT NOCOPY VARCHAR2
, x_msg_count OUT NOCOPY NUMBER
, x_msg_data OUT NOCOPY VARCHAR2
)IS
-- START Granular Locking Declaration added by Aditya
l_bsc_dimension_rec BSC_DIMENSION_GROUPS_PUB.Bsc_Dim_Group_Rec_Type;
SELECT dim_group_id
FROM BSC_SYS_DIM_GROUPS_VL
WHERE short_name = p_dim_short_name;
SELECT DISTINCT indicator
FROM BSC_KPI_DIM_GROUPS
WHERE dim_group_id = l_bsc_dimension_rec.Bsc_Dim_Level_Group_Id;
FND_MESSAGE.SET_NAME('BSC','BSC_MUSER_DELETE_MESSAGE');
SELECT COUNT(1) INTO l_count
FROM BSC_SYS_DIM_GROUPS_VL
WHERE UPPER(short_name) <> UPPER(p_dim_short_name)
AND UPPER(name) = UPPER(p_display_name); -- already trimmed from JAVA
SELECT COUNT(1) INTO l_count
FROM BIS_DIMENSIONS_VL
WHERE UPPER(short_name) <> UPPER(p_dim_short_name)
AND UPPER(name) = UPPER(p_display_name);
BSC_BIS_LOCKS_PUB.Lock_Update_Dimension
( p_dimension_id => l_bsc_dimension_rec.Bsc_Dim_Level_Group_Id
, p_selected_dim_objets => l_Dim_Obj_Tab
, p_time_stamp => p_time_stamp -- Granular Locking
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
BSC_BIS_DIMENSION_PUB.Update_Dimension
( p_commit => FND_API.G_FALSE
, p_dim_short_name => p_dim_short_name
, p_display_name => p_display_name
, p_description => p_description
, p_application_id => p_application_id
, p_time_stamp => NULL -- Granular Locking
, p_hide => p_hide
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
x_msg_data := x_msg_data||' -> BSC_BIS_DIMENSION_PUB.Update_Dimension ';
x_msg_data := SQLERRM||' at BSC_BIS_DIMENSION_PUB.Update_Dimension ';
x_msg_data := x_msg_data||' -> BSC_BIS_DIMENSION_PUB.Update_Dimension ';
x_msg_data := SQLERRM||' at BSC_BIS_DIMENSION_PUB.Update_Dimension ';
END Update_Dimension;
UPDATE DIMENSION
*********************************************************************************/
PROCEDURE Update_Dimension
( p_commit IN VARCHAR2 := FND_API.G_FALSE -- mdamle 06/06/2005 - Set default p_commit to false for dim. group apis called from EO
, p_dim_short_name IN VARCHAR2
, p_display_name IN VARCHAR2
, p_description IN VARCHAR2
, p_application_id IN NUMBER
, p_dim_obj_short_names IN VARCHAR2
, p_time_stamp IN VARCHAR2 := NULL -- Granular Locking
, p_hide IN VARCHAR2 := FND_API.G_FALSE
, p_Restrict_Dim_Validate IN VARCHAR2 := NULL
, x_return_status OUT NOCOPY VARCHAR2
, x_msg_count OUT NOCOPY NUMBER
, x_msg_data OUT NOCOPY VARCHAR2
)IS
l_bsc_dimension_rec BSC_DIMENSION_GROUPS_PUB.Bsc_Dim_Group_Rec_Type;
SELECT dim_group_id
FROM BSC_SYS_DIM_GROUPS_VL WHERE short_name = p_dim_short_name;
SELECT short_name
FROM BSC_SYS_DIM_LEVELS_B
WHERE dim_level_id IN (SELECT dim_level_id
FROM BSC_SYS_DIM_LEVELS_BY_GROUP
WHERE dim_group_id = l_bsc_dimension_rec.Bsc_Dim_Level_Group_Id);
SELECT grp.indicator , grp.dim_set_id,count(kpi.dim_level_index)
FROM BSC_KPI_DIM_GROUPS grp,
BSC_KPI_DIM_LEVELS_B kpi
WHERE kpi.indicator = grp.indicator
AND kpi.dim_set_id = grp.dim_set_id
AND grp.dim_group_id = l_bsc_dimension_rec.Bsc_Dim_Level_Group_Id
GROUP BY grp.indicator,grp.dim_set_id;
FND_MESSAGE.SET_NAME('BSC','BSC_MUSER_DELETE_MESSAGE');
BSC_BIS_DIMENSION_PUB.Update_Dimension
( p_commit => FND_API.G_FALSE
, p_dim_short_name => p_dim_short_name
, p_display_name => p_display_name
, p_description => p_description
, p_application_id => p_application_id
, p_assign_dim_obj_names => p_dim_obj_short_names
, p_unassign_dim_obj_names => l_unassign_dim_obj_names
, p_time_stamp => p_time_stamp -- Need to add timestamp
, p_hide => p_hide
, p_Restrict_Dim_Validate => p_Restrict_Dim_Validate
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
SELECT NAME INTO l_kpi_name
FROM BSC_KPIS_VL
WHERE INDICATOR = l_kpi_id;
x_msg_data := x_msg_data||' -> BSC_BIS_DIMENSION_PUB.Update_Dimension ';
x_msg_data := SQLERRM||' at BSC_BIS_DIMENSION_PUB.Update_Dimension ';
x_msg_data := x_msg_data||' -> BSC_BIS_DIMENSION_PUB.Update_Dimension ';
x_msg_data := SQLERRM||' at BSC_BIS_DIMENSION_PUB.Update_Dimension ';
END Update_Dimension;
DELETE DIMENSION
*********************************************************************************/
PROCEDURE Delete_Dimension
( p_commit IN VARCHAR2 := FND_API.G_FALSE -- mdamle 06/06/2005 - Set default p_commit to false for dim. group apis called from EO
, p_dim_short_name IN VARCHAR2
, x_return_status OUT NOCOPY VARCHAR2
, x_msg_count OUT NOCOPY NUMBER
, x_msg_data OUT NOCOPY VARCHAR2
) IS
l_delete BOOLEAN := TRUE;
l_delete_count NUMBER := 0;
SELECT dimension_id
,name
FROM BIS_DIMENSIONS_VL
WHERE short_name = p_dim_short_name;
SELECT dim_group_id
, name
FROM BSC_SYS_DIM_GROUPS_VL
WHERE short_name = p_dim_short_name;
SELECT Short_Name
FROM BIS_LEVELS
WHERE Dimension_Id = l_bis_dimension_rec.dimension_id;
SAVEPOINT DeleteBSCDimensionsPMD;
FND_MESSAGE.SET_NAME('BSC','BSC_B_CAN_NOT_DELETE_GROUP');
l_delete := FALSE;
IF (l_delete) THEN
SELECT COUNT(1) INTO l_count
FROM BIS_INDICATOR_DIMENSIONS
WHERE DIMENSION_ID = l_bis_dimension_rec.dimension_id;
FND_MESSAGE.SET_NAME('BSC','BSC_NOT_DELETE_DIM_IN_MEASURE');
BIS_DIMENSION_PUB.Delete_Dimension
( p_commit => FND_API.G_FALSE
, p_validation_level => FND_API.G_VALID_LEVEL_FULL
, p_Dimension_Rec => l_bis_dimension_rec
, x_return_status => x_return_status
, x_error_Tbl => l_error_tbl
);
l_delete_count := l_delete_count + 1;
l_delete := TRUE;
l_delete := FALSE;
IF (l_delete) THEN
-- START: Granular Locking to Lock Dimension Group when it is being deleted.
SELECT COUNT(1) INTO l_count
FROM BSC_KPI_DIM_GROUPS
WHERE dim_group_id = l_bsc_dimension_rec.Bsc_Dim_Level_Group_Id;
FND_MESSAGE.SET_NAME('BSC','BSC_NOT_DELETE_DIMENSIONS');
BSC_DIMENSION_GROUPS_PUB.Delete_Dimension_Group
( p_commit => FND_API.G_FALSE
, p_Dim_Grp_Rec => l_bsc_dimension_rec
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
l_delete_count := l_delete_count + 1;
l_delete := TRUE;
IF (l_delete_count = 0) THEN
FND_MESSAGE.SET_NAME('BSC','BSC_MUSER_DELETE_MESSAGE');
ROLLBACK TO DeleteBSCDimensionsPMD;
ROLLBACK TO DeleteBSCDimensionsPMD;
ROLLBACK TO DeleteBSCDimensionsPMD;
x_msg_data := x_msg_data||' -> BSC_BIS_DIMENSION_PUB.Delete_Dimension ';
x_msg_data := SQLERRM||' at BSC_BIS_DIMENSION_PUB.Delete_Dimension ';
ROLLBACK TO DeleteBSCDimensionsPMD;
x_msg_data := x_msg_data||' -> BSC_BIS_DIMENSION_PUB.Delete_Dimension ';
x_msg_data := SQLERRM||' at BSC_BIS_DIMENSION_PUB.Delete_Dimension ';
END Delete_Dimension;
SELECT VL.Source
FROM BSC_SYS_DIM_GROUPS_TL TL
, BSC_SYS_DIM_LEVELS_BY_GROUP GP
, BSC_SYS_DIM_LEVELS_B VL
WHERE TL.Dim_Group_Id = GP.Dim_Group_Id
AND GP.Dim_Level_Id = VL.Dim_Level_Id
AND TL.Short_Name = p_short_Name;
SELECT source, name, level_values_view_name, 'ID', 'value'
INTO x_source
, x_dim_lvl_name
, x_dim_lvl_view_name
, x_dim_lvl_pk_key
, x_dim_lvl_name_col
FROM bis_levels_vl
WHERE UPPER(short_name) = UPPER(p_dim_lvl_shrt_name);
l_dim_lvl_sql := 'SELECT dim.DIM_NAME dimshortname, lvl.LEVEL_PREFIX prefix '||
' FROM '||
' edw_dimensions_md_v dim, edw_levels_md_v lvl '||
' WHERE '||
' lvl.DIM_ID = dim.DIM_ID AND '||
' lvl.LEVEL_NAME = :1 ';
l_edw_sql := ' select distinct level_table_col_name ' ||
' from edw_level_Table_atts_md_v ' ||
' where key_type=''UK'' and ' ||
' upper(level_Table_name) = upper(:1) and ' ||
' upper(level_table_col_name) like ''%PK_KEY%''';
l_edw_sql := 'select level_table_col_name ' ||
' from edw_level_Table_atts_md_v ' ||
' where upper(level_Table_name) = upper(:1) and ' ||
' (upper(level_table_col_name) like ''%DESCRIPTION%'' or ' ||
' upper(level_table_col_name) like ''NAME%'') ';
SELECT A.Default_Value
, A.Dim_Group_ID
, C.Source
FROM BSC_SYS_DIM_LEVELS_BY_GROUP A
, BSC_SYS_DIM_GROUPS_VL B
, BSC_SYS_DIM_LEVELS_B C
WHERE A.Dim_Group_Id = B.Dim_Group_Id
AND A.Dim_Level_Id = C.Dim_Level_Id
AND B.Short_Name = p_Dim_Short_Name
AND C.Short_Name = p_dim_Obj_Short_Name;
SELECT a.indicator indicator,
a.kpi_measure_id,
c.color_by_total
FROM bsc_db_dataset_dim_sets_v a,
bsc_kpi_dim_levels_vl b,
bsc_kpi_measure_props c
WHERE a.indicator =b.indicator
AND a.dim_set_id =b.dim_set_id
AND c.indicator = a.indicator
AND c.kpi_measure_id = a.kpi_measure_id
AND b.level_shortname = p_dim_Obj_Short_Name;
SELECT Property_Value INTO l_Prod_Mode
FROM BSC_SYS_INIT
WHERE PROPERTY_CODE ='SYSTEM_STAGE';
l_sql := 'SELECT name, indicator FROM bsc_kpis_vl WHERE indicator IN (' || l_indicator_list || ') AND prototype_flag = 0 AND source_indicator IS NULL';
SELECT C.Short_Name
, B.Dim_Level_Index
, A.Dim_Group_Id
, C.Source
FROM BSC_SYS_DIM_GROUPS_VL A
, BSC_SYS_DIM_LEVELS_BY_GROUP B
, BSC_SYS_DIM_LEVELS_B C
WHERE A.Dim_Group_Id = B.Dim_Group_Id
AND C.Dim_Level_Id = B.Dim_Level_Id
AND A.Short_Name = p_Dim_Short_Name
ORDER BY B.Dim_Level_Index;
SELECT DISTINCT B.Name||'['||B.Indicator||']' INDICATOR
FROM BSC_KPI_DIM_GROUPS A
, BSC_KPIS_VL B
, BSC_SYS_DIM_GROUPS_VL C
WHERE A.INDICATOR = B.INDICATOR
AND B.share_flag <> 2
AND A.Dim_Group_Id = C.Dim_Group_Id
AND C.Short_Name = p_Dim_Short_Name;
SELECT A. INDICATOR
, A.DIM_SET_ID
FROM BSC_KPI_DIM_GROUPS A
, BSC_SYS_DIM_GROUPS_VL B
WHERE A.DIM_GROUP_ID = B.DIM_GROUP_ID
AND B.SHORT_NAME = p_Dim_Short_Name;
SELECT B.SHORT_NAME
FROM BSC_SYS_DIM_LEVELS_B B
,BSC_KPI_DIM_LEVEL_PROPERTIES KDL
WHERE B.DIM_LEVEL_ID = KDL.DIM_LEVEL_ID
AND KDL.indicator = l_kpi_id
AND KDL.dim_set_id = l_dim_set_id;
SELECT BL.SHORT_NAME
FROM BSC_SYS_DIM_LEVELS_BY_GROUP B
,BSC_SYS_DIM_GROUPS_VL VL
,BSC_SYS_DIM_LEVELS_B BL
WHERE VL.DIM_GROUP_ID = B.DIM_GROUP_ID
AND BL.DIM_LEVEL_ID = B.DIM_LEVEL_ID
AND VL.SHORT_NAME = p_Dim_Short_Name;
dim_objs_in_dim.delete;
kpi_dim_set_array.delete;
dim_objs_array.delete;
SELECT count(dim_level_id) into l_count
FROM BSC_SYS_DIM_LEVELS_BY_GROUP
WHERE dim_group_id = l_dim_group_id;
SELECT count(dim_level_id) into l_count
FROM BSC_SYS_DIM_LEVELS_BY_GROUP
WHERE dim_group_id = l_dim_group_id;
SELECT DISTINCT A.indicator INDICATOR
, A.dim_set_id DIM_SET_ID
, A.Dim_Group_Index
FROM BSC_KPI_DIM_GROUPS A
, BSC_KPIS_B B
WHERE A.INDICATOR = B.INDICATOR
AND B.share_flag <> 2
AND A.dim_group_id = l_dim_group_id
ORDER BY A.Dim_Group_Index;
SELECT count(dim_level_id)
FROM BSC_SYS_DIM_LEVELS_BY_GROUP
WHERE dim_group_id = l_dim_group_id;
SELECT count(dim_level_id) into l_count
FROM BSC_SYS_DIM_LEVELS_BY_GROUP
WHERE dim_group_id = l_dim_group_id;
SELECT source,name
FROM bsc_sys_dim_levels_vl
WHERE INSTR(','||p_dim_short_names ||',' , ','||short_name||',') > 0;
SELECT count(distinct(source))
INTO l_diff_source_cnt
FROM bsc_sys_dim_levels_vl
WHERE INSTR(','||p_dim_short_names ||',',','||short_name||',') > 0;
SELECT distinct(NVL(source, 'BSC'))
INTO x_dim_type
FROM bsc_sys_dim_levels_vl
WHERE INSTR(','||p_dim_short_names ||',',','||short_name||',') > 0;
SELECT COUNT(1) INTO l_count
FROM BSC_KPI_DIM_GROUPS KG,
BSC_SYS_DIM_GROUPS_VL G
WHERE KG.DIM_GROUP_ID = G.DIM_GROUP_ID
AND G.SHORT_NAME = p_dim_short_name;
SELECT c.color_by_total
FROM bsc_kpi_measure_props c
WHERE c.indicator = p_obj_id
AND c.kpi_measure_id = p_kpi_measure_id;
SELECT count(0) INTO l_count
FROM bsc_kpis_b WHERE
indicator = p_indicator;