The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT a.INDICATOR,
a.tab_id,
b.name,
DECODE (
(SELECT COUNT(0)
FROM bsc_sys_filters
WHERE source_type =1
AND source_code =a.tab_id
AND dim_level_id =l_dim_level_id
),0,1,
(SELECT COUNT(0)
FROM bsc_sys_filters
WHERE source_type =1
AND source_code =a.tab_id
AND dim_level_id =l_dim_level_id
AND dim_level_value =l_def_key_id)) total
FROM bsc_tab_indicators a,
bsc_tabs_vl b
WHERE a.tab_id =b.tab_id
AND a.indicator IN
(SELECT INDICATOR
FROM bsc_kpis_vl
WHERE source_indicator =p_kpi_id
AND prototype_flag<>2);
SELECT level_view_name
INTO l_level_view_name
FROM bsc_kpi_dim_levels_vl
WHERE indicator = p_kpi_id
AND dim_set_id = l_dim_set_id
AND dim_level_index = l_dim_level_index;
/* The following API updates default key items
*/
PROCEDURE Update_Default_Key_Items(
p_kpi_id IN VARCHAR2
, p_params IN VARCHAR2
, p_commit 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_count NUMBER;
SELECT count(0) INTO l_count
FROM bsc_kpis_b
WHERE indicator = p_kpi_id
AND source_indicator IS NULL
AND (share_flag =1 OR share_flag = 0) -- OBJECTIVE should be a master or new objective
AND prototype_flag <> 2;
Update_Key_Item
(
p_kpi_id => p_kpi_id
, p_params => p_params
, p_commit => p_commit
, 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_DEFAULT_KEY_ITEM_PUB.Update_Default_Key_Items ';
x_msg_data := SQLERRM||' at BSC_DEFAULT_KEY_ITEM_PUB.Update_Default_Key_Items ';
END Update_Default_Key_Items;
l_sql := 'SELECT ' || p_column_name || ' FROM ' || p_table_name || ' WHERE ' || p_where_cond;
SELECT a.dim_set_id,
a.dim_level_index,
b.dim_level_id
FROM bsc_kpi_dim_levels_vl a,
bsc_sys_dim_levels_b b
WHERE b.short_name =a.level_shortname
AND a.level_shortname =p_dim_obj_sht_name
AND a.indicator =p_indicator;
BSC_DEFAULT_KEY_ITEM_PUB.Update_Key_Item
(
p_kpi_id => l_indicator
, p_params => l_params
, p_commit => FND_API.G_FALSE
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
PROCEDURE Update_Key_Item(
p_kpi_id IN VARCHAR2
, p_params IN VARCHAR2
, p_commit 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_dim_obj_recs BSC_UTILITY.varchar_tabletype;
l_updated NUMBER;
l_updated := 0;
SELECT count(0)
INTO l_count
FROM bsc_kpi_dim_level_properties
WHERE indicator = p_kpi_id
AND dim_set_id = l_dim_set_id
AND dim_level_id= l_dim_level_id;
l_updated := 1;
SELECT count(0) INTO l_count
FROM bsc_kpi_dim_levels_b
WHERE indicator = p_kpi_id
AND dim_set_id = l_dim_set_id
AND dim_level_index = l_dim_level_index;
UPDATE bsc_kpi_dim_level_properties
SET default_key_value = l_def_key_id
WHERE indicator = p_kpi_id
AND dim_set_id = l_dim_set_id
AND dim_level_id = l_dim_level_id;
UPDATE bsc_kpi_dim_levels_b
SET default_key_value = l_def_key_id
WHERE indicator = p_kpi_id
AND dim_set_id = l_dim_set_id
AND dim_level_index = l_dim_level_index;
IF (l_updated = 1) THEN
IF (l_dim_set_ids IS NOT NULL) THEN
l_sql := 'SELECT DISTINCT KPI_MEASURE_ID FROM BSC_DB_DATASET_DIM_SETS_V WHERE indicator = ';
UPDATE bsc_tabs_b
SET last_updated_by = l_user_id,
last_update_date = SYSDATE,
last_update_login = l_login_id
WHERE tab_id IN (
SELECT tab_id
FROM bsc_tab_indicators
WHERE indicator = p_kpi_id);
UPDATE bsc_kpis_b
SET last_updated_by = l_user_id,
last_update_date = SYSDATE,
last_update_login = l_login_id
WHERE indicator = p_kpi_id;
x_msg_data := x_msg_data||' -> BSC_DEFAULT_KEY_ITEM_PUB.Update_Key_Item ';
x_msg_data := SQLERRM||' at BSC_DEFAULT_KEY_ITEM_PUB.Update_Key_Item ';
END Update_Key_Item;
SELECT indicator
FROM bsc_kpis_b
WHERE source_indicator = p_kpi_id
AND share_flag = 2
AND prototype_flag <> 2;
Update_Key_Item
(
p_kpi_id => cd.indicator
, p_params => p_params
, p_commit => p_commit
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);