The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT column_name
FROM all_tab_columns
WHERE table_name = p_table_name
AND owner = DECODE(USER,BSC_APPS.get_user_schema('APPS'),BSC_APPS.get_user_schema,USER)
ORDER BY column_name;
SELECT ANALYSIS_GROUP_ID
,OPTION_ID
,PARENT_OPTION_ID
,GRANDPARENT_OPTION_ID
,USER_LEVEL0
,USER_LEVEL1
,USER_LEVEL1_DEFAULT
,USER_LEVEL2
,USER_LEVEL2_DEFAULT
FROM BSC_KPI_ANALYSIS_OPTIONS_B
WHERE INDICATOR = h_Trg_kpi_neg;
SELECT DIM_SET_ID
,DIM_LEVEL_INDEX
,USER_LEVEL0
,USER_LEVEL1
,USER_LEVEL1_DEFAULT
,USER_LEVEL2
,USER_LEVEL2_DEFAULT
,LEVEL_VIEW_NAME
FROM BSC_KPI_DIM_LEVELS_B
WHERE INDICATOR = h_Trg_kpi_neg;
SELECT PERIODICITY_ID
,USER_LEVEL0
,USER_LEVEL1
,USER_LEVEL1_DEFAULT
,USER_LEVEL2
,USER_LEVEL2_DEFAULT
FROM BSC_KPI_PERIODICITIES
WHERE INDICATOR = h_Trg_kpi_neg;
SELECT CALCULATION_ID
,USER_LEVEL0
,USER_LEVEL1
,USER_LEVEL1_DEFAULT
,USER_LEVEL2
,USER_LEVEL2_DEFAULT
FROM BSC_KPI_CALCULATIONS
WHERE INDICATOR = h_Trg_kpi_neg;
SELECT DIM_SET_ID
,DIM_LEVEL_ID
,USER_LEVEL0
,USER_LEVEL1
,USER_LEVEL1_DEFAULT
,USER_LEVEL2
,USER_LEVEL2_DEFAULT
FROM BSC_KPI_DIM_LEVEL_PROPERTIES
WHERE INDICATOR = h_Trg_kpi_neg;
x_arr_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
h_sql := 'DELETE ' || p_table_name || ' WHERE ' || h_condition;
BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
h_sql:= 'INSERT INTO ( SELECT ';
h_sql:= h_sql || ' SELECT ';
BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
h_sql:= 'UPDATE ' || p_table_name;
h_sql:= h_sql || ' SET TAB_ID = (SELECT TAB_ID FROM BSC_TAB_INDICATORS WHERE INDICATOR =:1)'; --|| x_Trg_kpi || ')';
UPDATE BSC_KPI_ANALYSIS_OPTIONS_B
SET USER_LEVEL0 = CD.USER_LEVEL0
,USER_LEVEL1 = CD.USER_LEVEL1
,USER_LEVEL1_DEFAULT = CD.USER_LEVEL1_DEFAULT
,USER_LEVEL2 = CD.USER_LEVEL2
,USER_LEVEL2_DEFAULT = CD.USER_LEVEL2_DEFAULT
WHERE INDICATOR = p_Trg_kpi
AND ANALYSIS_GROUP_ID = CD.ANALYSIS_GROUP_ID
AND OPTION_ID = CD.OPTION_ID
AND PARENT_OPTION_ID = CD.PARENT_OPTION_ID
AND GRANDPARENT_OPTION_ID = CD.GRANDPARENT_OPTION_ID;
UPDATE BSC_KPI_DIM_LEVELS_B
SET USER_LEVEL0 = CD.USER_LEVEL0
,USER_LEVEL1 = CD.USER_LEVEL1
,USER_LEVEL1_DEFAULT = CD.USER_LEVEL1_DEFAULT
,USER_LEVEL2 = CD.USER_LEVEL2
,USER_LEVEL2_DEFAULT = CD.USER_LEVEL2_DEFAULT
,LEVEL_VIEW_NAME = CD.LEVEL_VIEW_NAME
WHERE INDICATOR = p_Trg_kpi
AND DIM_SET_ID = CD.DIM_SET_ID
AND DIM_LEVEL_INDEX = CD.DIM_LEVEL_INDEX;
UPDATE BSC_KPI_PERIODICITIES
SET USER_LEVEL0 = CD.USER_LEVEL0
,USER_LEVEL1 = CD.USER_LEVEL1
,USER_LEVEL1_DEFAULT = CD.USER_LEVEL1_DEFAULT
,USER_LEVEL2 = CD.USER_LEVEL2
,USER_LEVEL2_DEFAULT = CD.USER_LEVEL2_DEFAULT
WHERE INDICATOR = p_Trg_kpi
AND PERIODICITY_ID = CD.PERIODICITY_ID;
UPDATE BSC_KPI_CALCULATIONS
SET USER_LEVEL0 = CD.USER_LEVEL0
,USER_LEVEL1 = CD.USER_LEVEL1
,USER_LEVEL1_DEFAULT = CD.USER_LEVEL1_DEFAULT
,USER_LEVEL2 = CD.USER_LEVEL2
,USER_LEVEL2_DEFAULT = CD.USER_LEVEL2_DEFAULT
WHERE INDICATOR = p_Trg_kpi
AND CALCULATION_ID = CD.CALCULATION_ID;
UPDATE BSC_KPI_DIM_LEVEL_PROPERTIES
SET USER_LEVEL0 = CD.USER_LEVEL0
,USER_LEVEL1 = CD.USER_LEVEL1
,USER_LEVEL1_DEFAULT = CD.USER_LEVEL1_DEFAULT
,USER_LEVEL2 = CD.USER_LEVEL2
,USER_LEVEL2_DEFAULT = CD.USER_LEVEL2_DEFAULT
WHERE INDICATOR = p_Trg_kpi
AND DIM_SET_ID = CD.DIM_SET_ID
AND DIM_LEVEL_ID = CD.DIM_LEVEL_ID;
SELECT INDICATOR_TYPE,CONFIG_TYPE
FROM BSC_KPIS_B
WHERE INDICATOR = x_indicator;
SELECT LANGUAGE_CODE INTO
l_base_lang
FROM FND_LANGUAGES
WHERE INSTALLED_FLAG IN ('B');
SELECT INDICATOR FROM BSC_KPIS_B
WHERE PROTOTYPE_FLAG<>2 AND
INDICATOR NOT IN (SELECT INDICATOR FROM BSC_KPI_DEFAULTS_VL);
DELETE BSC_KPI_DEFAULTS_B
WHERE (TAB_ID,INDICATOR) IN
(SELECT TAB_ID,INDICATOR
FROM BSC_KPI_DEFAULTS_B
WHERE (TAB_ID,INDICATOR) NOT IN
(SELECT TAB_ID,INDICATOR FROM BSC_TAB_INDICATORS));
SELECT INDICATOR_TYPE,CONFIG_TYPE
FROM BSC_KPIS_B
WHERE INDICATOR = x_indicator;
Deflt_Update_AOPTS(x_indicator);
Deflt_Update_SN_FM_CM(x_indicator);
Deflt_Update_DIM_SET(x_indicator);
Deflt_Update_DIM_VALUES(x_indicator);
Deflt_Update_DIM_NAMES(x_indicator);
Deflt_Update_PERIOD_NAME(x_indicator);
| Delete the previous and insert a clean records
| PARAMETERS
|
| HISTORY
| 12-NOV-2001 Henry Camacho Created
+---------------------------------------------------------------------------*/
PROCEDURE Deflt_Clear(x_indicator IN NUMBER) IS
CURSOR c_tab_kpi IS
SELECT TAB_ID
FROM BSC_TAB_INDICATORS
WHERE INDICATOR = l_indicator;
h_sql :='DELETE BSC_KPI_DEFAULTS_B WHERE INDICATOR= :1'; --|| l_indicator;
h_sql :='DELETE BSC_KPI_DEFAULTS_TL WHERE INDICATOR= :1';-- || l_indicator;
h_sql :='INSERT INTO BSC_KPI_DEFAULTS_B (TAB_ID,INDICATOR,' ||
'LAST_UPDATE_DATE, LAST_UPDATED_BY, CREATION_DATE, CREATED_BY)' ||
'VALUES ('|| h_tab_id ||',' || l_indicator ||',SYSDATE,' || l_current_user ||',SYSDATE,' || l_current_user || ')';
BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
h_sql :='INSERT INTO BSC_KPI_DEFAULTS_TL (TAB_ID,INDICATOR,LANGUAGE,SOURCE_LANG)' ||
' SELECT '|| h_tab_id ||' TAB_ID,' || l_indicator || ' INDICATOR,' ||
' LANGUAGE_CODE,' || '''' || l_base_lang || '''' ||
' FROM FND_LANGUAGES ' ||
' WHERE INSTALLED_FLAG IN (''B'',''I'')';
BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
| To update the ANALYSIS OPTIONS COLUMNS
| PARAMETERS
|
| HISTORY
| 12-NOV-2001 Henry Camacho Created
| 09-JAN-2003 Malcoln Leung bug fix #2740431
+---------------------------------------------------------------------------*/
PROCEDURE Deflt_Update_AOPTS(x_indicator IN NUMBER) IS
s_node NUMBER;
SELECT LANGUAGE,SOURCE_LANG,NAME
FROM BSC_KPI_TREE_NODES_TL
WHERE INDICATOR = l_indicator AND NODE_ID = s_node;
SELECT A0_DEFAULT,A1_DEFAULT,A2_DEFAULT
FROM BSC_DB_COLOR_AO_DEFAULTS_V
WHERE INDICATOR = l_indicator;
SELECT LANGUAGE,SOURCE_LANG,NAME
FROM BSC_KPI_ANALYSIS_OPTIONS_TL
WHERE INDICATOR = l_indicator AND
ANALYSIS_GROUP_ID = h_a_grp AND
--OPTION_ID = h_a_opt; //bug#2740431
SELECT ANALYSIS_GROUP_ID,DEPENDENCY_FLAG
FROM BSC_KPI_ANALYSIS_GROUPS
WHERE INDICATOR = l_indicator;
h_sql := 'UPDATE BSC_KPI_DEFAULTS_TL SET ANALYSIS_OPTION0_NAME =NULL,' ||
' ANALYSIS_OPTION1_NAME=NULL,ANALYSIS_OPTION2_NAME=NULL '||
' WHERE INDICATOR = :1'; -- || l_indicator;
SELECT PROPERTY_VALUE
INTO s_node
FROM BSC_KPI_PROPERTIES WHERE PROPERTY_CODE='S_NODE_ID'
AND INDICATOR=l_indicator;
h_sql := 'UPDATE BSC_KPI_DEFAULTS_TL SET ' ||
'SOURCE_LANG = :1' || --'''' || h_source_lang || '''' ||
',ANALYSIS_OPTION0_NAME= :2' || --'''' || h_tmp || '''' ||
' WHERE INDICATOR= :3' || --l_indicator ||
' AND LANGUAGE= :4'; --|| '''' || h_lang || '''';
h_sql := 'UPDATE BSC_KPI_DEFAULTS_TL SET SERIES_NAME=NULL' ||
' WHERE INDICATOR=:1'; --|| l_indicator;
h_sql := 'UPDATE BSC_KPI_DEFAULTS_TL SET ' ||
'SOURCE_LANG = :1' || --'''' || h_source_lang || '''' ||
',ANALYSIS_OPTION0_NAME= :2' || --'''' || h_tmp || '''' ||
' WHERE INDICATOR= :3' || --l_indicator ||
' AND LANGUAGE= :4'; --|| '''' || h_lang || '''';
h_sql := 'UPDATE BSC_KPI_DEFAULTS_TL SET ' ||
'SOURCE_LANG = :1' || --'''' || h_source_lang || '''' ||
',ANALYSIS_OPTION0_NAME= :2' || --'''' || h_tmp || '''' ||
' WHERE INDICATOR= :3' || --l_indicator ||
' AND LANGUAGE= :4'; --|| '''' || h_lang || '''';
h_sql := 'UPDATE BSC_KPI_DEFAULTS_TL SET ' ||
'SOURCE_LANG = :1' || --'''' || h_source_lang || '''' ||
',ANALYSIS_OPTION0_NAME= :2' || --'''' || h_tmp || '''' ||
' WHERE INDICATOR= :3' || --l_indicator ||
' AND LANGUAGE= :4'; --|| '''' || h_lang || '''';
x_source => 'Deflt_Update_AOPTS');
END Deflt_Update_AOPTS;
| To update the SERIES_NAME, FORMAT_MASK,COLOR_METHOD,
| MEASURE_SOURCE 06/06/02
| PARAMETERS
|
| HISTORY
| 12-NOV-2001 Henry Camacho Created
+---------------------------------------------------------------------------*/
PROCEDURE Deflt_Update_SN_FM_CM(x_indicator IN NUMBER) IS
h_msg VARCHAR2(1000);
SELECT F.FORMAT,COLOR_METHOD
FROM BSC_KPI_TREE_NODES_B B,
BSC_SYS_FORMATS F
WHERE INDICATOR = l_indicator AND NODE_ID = s_node
AND F.FORMAT_ID = B.FORMAT_ID;
SELECT A0_DEFAULT,A1_DEFAULT,A2_DEFAULT
FROM BSC_DB_COLOR_AO_DEFAULTS_V
WHERE INDICATOR = l_indicator;
SELECT B.SERIES_ID,F.FORMAT,DS.COLOR_METHOD
FROM BSC_KPI_ANALYSIS_MEASURES_B B,BSC_SYS_FORMATS F,BSC_SYS_DATASETS_B DS
WHERE INDICATOR = l_indicator
AND B.ANALYSIS_OPTION0= h_a0
AND B.ANALYSIS_OPTION1= h_a1
AND B.ANALYSIS_OPTION2= h_a2
AND F.FORMAT_ID = DS.FORMAT_ID
AND B.DATASET_ID = DS.DATASET_ID
AND B.DEFAULT_VALUE = 1;
SELECT LANGUAGE,SOURCE_LANG,NAME
FROM BSC_KPI_ANALYSIS_MEASURES_TL
WHERE INDICATOR = l_indicator
AND ANALYSIS_OPTION0= h_a0
AND ANALYSIS_OPTION1= h_a1
AND ANALYSIS_OPTION2= h_a2
AND SERIES_ID = h_serie_id;
h_sql := 'UPDATE BSC_KPI_DEFAULTS_B SET ' ||
' FORMAT_MASK =NULL,' ||
' COLOR_METHOD=NULL, ' ||
' MEASURE_SOURCE = ''BSC''' ||
' WHERE INDICATOR =:1'; -- || l_indicator;
h_sql := 'UPDATE BSC_KPI_DEFAULTS_TL SET ' ||
' SERIES_NAME= NULL' ||
' WHERE INDICATOR =:1'; --|| l_indicator;
SELECT PROPERTY_VALUE
INTO s_node
FROM BSC_KPI_PROPERTIES WHERE PROPERTY_CODE='S_NODE_ID'
AND INDICATOR = l_indicator;
h_sql := 'UPDATE BSC_KPI_DEFAULTS_B SET ' ||
' FORMAT_MASK = :1' || --'''' || h_format_mask || '''' ||
',COLOR_METHOD=:2' || --h_color_method ||
' WHERE INDICATOR=:3'; --|| l_indicator;
h_sql := 'UPDATE BSC_KPI_DEFAULTS_TL SET SERIES_NAME=NULL' ||
' WHERE INDICATOR=:1'; -- || l_indicator;
h_sql := 'UPDATE BSC_KPI_DEFAULTS_B SET ' ||
' FORMAT_MASK = :1' || --'''' || h_format_mask || '''' ||
',COLOR_METHOD=:2' || --h_color_method ||
' WHERE INDICATOR=:3'; --|| l_indicator;
h_sql := 'UPDATE BSC_KPI_DEFAULTS_TL SET ' ||
'SOURCE_LANG = :1' || --'''' || h_source_lang || '''' ||
',SERIES_NAME=:2' || --'''' || h_tmp || '''' ||
' WHERE INDICATOR=:3' || --l_indicator ||
' AND LANGUAGE=:4'; --|| '''' || h_lang || '''';
SELECT NVL(SOURCE,'BSC')
INTO h_Kpi_Measure_Source
FROM BSC_SYS_DATASETS_B A,
(SELECT DATASET_ID
FROM BSC_KPI_ANALYSIS_MEASURES_B MS,
BSC_DB_COLOR_AO_DEFAULTS_V DF
WHERE ANALYSIS_OPTION0 = DF.A0_DEFAULT
AND ANALYSIS_OPTION1 = DF.A1_DEFAULT
AND ANALYSIS_OPTION2= DF.A2_DEFAULT
AND DEFAULT_VALUE = 1
AND MS.INDICATOR = DF.INDICATOR
AND MS.INDICATOR= x_indicator) B
WHERE A.DATASET_ID = B.DATASET_ID;
h_sql := 'UPDATE BSC_KPI_DEFAULTS_B SET ' ||
' MEASURE_SOURCE = :1' || --'''' || h_kpi_measure_source || '''' ||
' WHERE INDICATOR=:2'; --|| l_indicator;
x_source => 'Deflt_Update_SN_FM_CM');
END Deflt_Update_SN_FM_CM;
| To update the DIM_SET
| PARAMETERS
|
| HISTORY
| 13-NOV-2001 Henry Camacho Created
+---------------------------------------------------------------------------*/
PROCEDURE Deflt_Update_DIM_SET(x_indicator IN NUMBER) IS
h_msg VARCHAR2(1000);
h_sql := 'UPDATE BSC_KPI_DEFAULTS_B KD SET ' ||
' DIM_SET_ID = (SELECT DIM_SET_ID ' ||
' FROM BSC_DB_COLOR_KPI_DEFAULTS_V DB ' ||
' WHERE KD.INDICATOR = DB.INDICATOR (+)) ' ||
' WHERE KD.INDICATOR =:1'; --|| l_indicator;
x_source => 'Deflt_Update_DIM_SET');
END Deflt_Update_DIM_SET;
| To update the Dimension values
| PARAMETERS
|
| HISTORY
| 13-NOV-2001 Henry Camacho Created
+---------------------------------------------------------------------------*/
PROCEDURE Deflt_Update_DIM_VALUES(x_indicator IN NUMBER) IS
h_msg VARCHAR2(1000);
h_sql := 'UPDATE BSC_KPI_DEFAULTS_B KD SET ' ||
' DIM_LEVEL1_VALUE = (SELECT DECODE(DEFAULT_KEY_VALUE, NULL, DECODE(DEFAULT_VALUE,''C'',-1,0), DEFAULT_KEY_VALUE) VALUE ' ||
' FROM BSC_KPI_DIM_LEVELS_B KDL ' ||
' WHERE KDL.DIM_LEVEL_INDEX = 0 ' ||
' AND KDL.INDICATOR = KD.INDICATOR ' ||
' AND KDL.DIM_SET_ID = KD.DIM_SET_ID),' ||
' DIM_LEVEL2_VALUE = (SELECT DECODE(DEFAULT_KEY_VALUE, NULL, DECODE(DEFAULT_VALUE,''C'',-1,0), DEFAULT_KEY_VALUE) VALUE ' ||
' FROM BSC_KPI_DIM_LEVELS_B KDL ' ||
' where KDL.DIM_LEVEL_INDEX = 1 ' ||
' AND KDL.INDICATOR = KD.INDICATOR ' ||
' AND KDL.DIM_SET_ID = KD.DIM_SET_ID), ' ||
' DIM_LEVEL3_VALUE = (SELECT DECODE(DEFAULT_KEY_VALUE, NULL, DECODE(DEFAULT_VALUE,''C'',-1,0), DEFAULT_KEY_VALUE) VALUE ' ||
' FROM BSC_KPI_DIM_LEVELS_B KDL ' ||
' WHERE KDL.DIM_LEVEL_INDEX = 2 ' ||
' AND KDL.INDICATOR = KD.INDICATOR ' ||
' AND KDL.DIM_SET_ID = KD.DIM_SET_ID), ' ||
' DIM_LEVEL4_VALUE = (SELECT DECODE(DEFAULT_KEY_VALUE, NULL, DECODE(DEFAULT_VALUE,''C'',-1,0), DEFAULT_KEY_VALUE) VALUE ' ||
' FROM BSC_KPI_DIM_LEVELS_B KDL ' ||
' WHERE KDL.DIM_LEVEL_INDEX = 3 ' ||
' AND KDL.INDICATOR = KD.INDICATOR ' ||
' AND KDL.DIM_SET_ID = KD.DIM_SET_ID), ' ||
' DIM_LEVEL5_VALUE = (SELECT DECODE(DEFAULT_KEY_VALUE, NULL, DECODE(DEFAULT_VALUE,''C'',-1,0), DEFAULT_KEY_VALUE) VALUE ' ||
' FROM BSC_KPI_DIM_LEVELS_B KDL ' ||
' WHERE KDL.DIM_LEVEL_INDEX = 4 ' ||
' AND KDL.INDICATOR = KD.INDICATOR ' ||
' AND KDL.DIM_SET_ID = KD.DIM_SET_ID), ' ||
' DIM_LEVEL6_VALUE = (SELECT DECODE(DEFAULT_KEY_VALUE, NULL, DECODE(DEFAULT_VALUE,''C'',-1,0), DEFAULT_KEY_VALUE) VALUE ' ||
' FROM BSC_KPI_DIM_LEVELS_B KDL ' ||
' WHERE KDL.DIM_LEVEL_INDEX = 5 ' ||
' AND KDL.INDICATOR = KD.INDICATOR ' ||
' AND KDL.DIM_SET_ID = KD.DIM_SET_ID), ' ||
' DIM_LEVEL7_VALUE = (SELECT DECODE(DEFAULT_KEY_VALUE, NULL, DECODE(DEFAULT_VALUE,''C'',-1,0), DEFAULT_KEY_VALUE) VALUE ' ||
' FROM BSC_KPI_DIM_LEVELS_B KDL ' ||
' WHERE KDL.DIM_LEVEL_INDEX = 6 ' ||
' AND KDL.INDICATOR = KD.INDICATOR ' ||
' AND KDL.DIM_SET_ID = KD.DIM_SET_ID), ' ||
' DIM_LEVEL8_VALUE = (SELECT DECODE(DEFAULT_KEY_VALUE, NULL, DECODE(DEFAULT_VALUE,''C'',-1,0), DEFAULT_KEY_VALUE) VALUE ' ||
' FROM BSC_KPI_DIM_LEVELS_B KDL ' ||
' WHERE KDL.DIM_LEVEL_INDEX = 7 ' ||
' AND KDL.INDICATOR = KD.INDICATOR ' ||
' AND KDL.DIM_SET_ID = KD.DIM_SET_ID) ' ||
' WHERE KD.INDICATOR =:1'; --|| l_indicator;
x_source => 'Deflt_Update_DIM_VALUES');
END Deflt_Update_DIM_VALUES;
| To update the Dimension names
| PARAMETERS
|
| HISTORY
| 13-NOV-2001 Henry Camacho Created
+---------------------------------------------------------------------------*/
PROCEDURE Deflt_Update_DIM_NAMES(x_indicator IN NUMBER) IS
h_msg VARCHAR2(1000);
SELECT VL.DIM_SET_ID,VL.DIM_LEVEL_INDEX, VL.LEVEL_VIEW_NAME,VL.VALUE_ORDER_BY
FROM BSC_KPI_DIM_LEVELS_VL VL,
BSC_KPI_DEFAULTS_B DF
WHERE VL.INDICATOR =l_indicator
AND VL.INDICATOR = DF.INDICATOR
AND VL.DIM_SET_ID = DF.DIM_SET_ID
AND VL.DEFAULT_VALUE='T'
AND VL.TOTAL_DISP_NAME IS NULL
AND VL.PARENT_LEVEL_INDEX IS NULL
AND VL.DIM_LEVEL_INDEX <8;
SELECT B.DIM_SET_ID,TL.LANGUAGE,
DECODE(B.STATUS,2,TL.NAME,NULL) AS NAME,
DECODE(DEFAULT_KEY_VALUE,NULL,
DECODE(DEFAULT_VALUE,
'C',COMP_DISP_NAME,TOTAL_DISP_NAME),NULL) TEXT
FROM BSC_KPI_DIM_LEVELS_B B,
BSC_KPI_DIM_LEVELS_TL TL,
BSC_KPI_DEFAULTS_B DF
WHERE B.INDICATOR = l_indicator AND
B.INDICATOR = TL.INDICATOR AND
B.INDICATOR = DF.INDICATOR AND
B.DIM_SET_ID =DF.DIM_SET_ID AND
B.DIM_SET_ID =TL.DIM_SET_ID AND
B.DIM_LEVEL_INDEX = TL.DIM_LEVEL_INDEX AND
B.DIM_LEVEL_INDEX = h_drill;
SELECT DIM_SET_ID,DIM_LEVEL_INDEX,LEVEL_TABLE_NAME,DEFAULT_KEY_VALUE
FROM BSC_KPI_DIM_LEVELS_VL
WHERE INDICATOR=l_indicator
AND DEFAULT_KEY_VALUE>0
AND DIM_LEVEL_INDEX<8;
h_sql := 'UPDATE BSC_KPI_DEFAULTS_TL SET DIM_LEVEL1_NAME=NULL,'||
' DIM_LEVEL2_NAME=NULL,DIM_LEVEL3_NAME=NULL,'||
' DIM_LEVEL4_NAME=NULL,DIM_LEVEL5_NAME=NULL,'||
' DIM_LEVEL6_NAME=NULL,DIM_LEVEL7_NAME=NULL,'||
' DIM_LEVEL8_NAME=NULL ' ||
' WHERE INDICATOR =:1'; --|| l_indicator;
h_sql := 'UPDATE BSC_KPI_DEFAULTS_TL SET ' ||
' DIM_LEVEL' || TO_CHAR(h_i + 1) || '_NAME= ';
h_sql := 'UPDATE BSC_KPI_DEFAULTS_TL SET DIM_LEVEL' || (h_dim_level_index + 1) || '_TEXT= :1' || --'''' || h_dim_txt || '''' ||
' WHERE INDICATOR =:2'; --|| l_indicator;
h_sql := 'UPDATE BSC_KPI_DEFAULTS_TL DTL SET DIM_LEVEL' || (h_dim_level_index + 1) || '_TEXT=( ' ||
' SELECT NAME FROM ' || l_LEVEL_TABLE_NAME ||
' WHERE CODE = :1' || --l_DEFAULT_KEY_VALUE ||
' AND '||
' DTL.LANGUAGE =LANGUAGE) WHERE INDICATOR = :2'; --|| l_indicator;
x_source => 'Deflt_Update_DIM_NAMES');
END Deflt_Update_DIM_NAMES;
/*h_sql := 'SELECT NAME FROM ' || master ||
' WHERE CODE = FND_GLOBAL.EMPLOYEE_ID';*/
h_sql := 'SELECT NAME FROM ' || master ||
' WHERE CODE <> 0 ';
| update period_name
| PARAMETERS
|
| HISTORY
| 14-NOV-2001 Henry Camacho Created
+---------------------------------------------------------------------------*/
PROCEDURE Deflt_Update_PERIOD_NAME(x_indicator IN NUMBER) IS
h_msg VARCHAR2(1000);
SELECT FISCAL_YEAR FROM
BSC_KPIS_VL
WHERE INDICATOR= l_indicator;
SELECT P.PERIODICITY_ID,P.CURRENT_PERIOD
FROM BSC_KPIS_B B, BSC_KPI_PERIODICITIES P
WHERE P.INDICATOR= l_indicator
AND P.INDICATOR= B.INDICATOR AND
P.PERIODICITY_ID = B.PERIODICITY_ID;
h_sql := 'UPDATE BSC_KPI_DEFAULTS_TL KD SET '||
' PERIOD_NAME =:1' || --'''' || h_str || '''' ||
' WHERE KD.INDICATOR =:2'; --|| l_indicator;
h_sql := ' UPDATE BSC_KPI_DEFAULTS_TL KD SET '||
' PERIOD_NAME = ( '||
' SELECT ' || h_str ||
' FROM BSC_SYS_PERIODS_TL P '||
' WHERE ' ||
' P.YEAR= :1' || --h_year ||
' AND P.LANGUAGE = KD.LANGUAGE '||
' AND P.PERIODICITY_ID = :2' || --h_periodicity ||
' AND P.PERIOD_ID = :3' || ')' || --h_cur_period || ')' ||
' WHERE KD.INDICATOR = :4'; --|| l_indicator;
x_source => 'Deflt_Update_PERIOD');
END Deflt_Update_PERIOD_NAME;
SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS
WHERE TABLE_NAME = x_table_name
AND OWNER = DECODE(USER,BSC_APPS.get_user_schema('APPS'),BSC_APPS.get_user_schema,USER)
ORDER BY COLUMN_NAME;
SELECT
TRG.ANALYSIS_GROUP_ID,
TRG.OPTION_ID,
TRG.PARENT_OPTION_ID,
TRG.GRANDPARENT_OPTION_ID,
TRG.USER_LEVEL1
FROM BSC_KPI_ANALYSIS_OPTIONS_VL SRC,
BSC_KPI_ANALYSIS_OPTIONS_VL TRG
WHERE
SRC.ANALYSIS_GROUP_ID= TRG.ANALYSIS_GROUP_ID AND
SRC.PARENT_OPTION_ID= TRG.PARENT_OPTION_ID AND
SRC.GRANDPARENT_OPTION_ID= TRG.GRANDPARENT_OPTION_ID AND
SRC.NAME = TRG.NAME AND
SRC.USER_LEVEL1 <> 1 AND
SRC.INDICATOR = x_Src_kpi AND
TRG.INDICATOR = h_Trg_kpi_neg;
x_arr_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
h_sql := 'DELETE ' || x_table_name || ' WHERE ' || h_condition;
BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
h_sql:= 'INSERT INTO ( SELECT ';
h_sql:= h_sql || ' SELECT ';
BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
h_sql:= 'UPDATE ' || x_table_name;
h_sql:= h_sql || ' SET TAB_ID = (SELECT TAB_ID FROM BSC_TAB_INDICATORS WHERE INDICATOR =:1)'; --|| x_Trg_kpi || ')';
h_sql := 'UPDATE ' || x_table_name;
PROCEDURE insert_kpi_meas_data (
p_table_name IN VARCHAR2
, p_src_kpi IN NUMBER
, p_trg_kpi IN NUMBER
, p_src_kpi_measure_id IN NUMBER
, p_trg_kpi_measure_id IN NUMBER
)
IS
CURSOR c_column IS
SELECT column_name
FROM all_tab_columns
WHERE table_name = p_table_name
AND owner = DECODE(USER, BSC_APPS.get_user_schema('APPS'), BSC_APPS.get_user_schema, USER)
AND UPPER(column_name) <> 'KPI_MEASURE_ID'
AND UPPER(column_name) <> 'INDICATOR'
ORDER BY column_name;
x_arr_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
h_sql:= 'INSERT INTO ' || p_table_name || ' ( indicator, kpi_measure_id, ';
h_sql:= h_sql || ' SELECT ' || p_trg_kpi || ' AS indicator, ' ;
BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
, x_source => 'BSC_DESIGNER_PVT.insert_kpi_meas_data'
);
END insert_kpi_meas_data;
l_sql := BSC_DESIGNER_PVT.Format_DbLink_String('SELECT color_range_id, property_value FROM bsc_color_type_props');
SELECT bsc_color_range_id_s.NEXTVAL INTO l_trg_color_range_id from dual;
UPDATE bsc_color_type_props
SET color_range_id = l_trg_color_range_id
WHERE indicator = p_trg_kpi
AND kpi_measure_id = p_trg_kpi_measure_id
AND NVL(property_value, -1) = DECODE(l_src_property_value, NULL, -1, l_src_property_value);
UPDATE bsc_color_type_props
SET color_range_id = l_trg_color_range_id
WHERE indicator = p_trg_kpi
AND kpi_measure_id IS NULL;
l_sql := 'INSERT INTO bsc_color_ranges (color_range_id, color_range_sequence, low, high, color_id)';
l_sql := l_sql || 'SELECT '|| l_trg_color_range_id || ' AS color_range_id, color_range_sequence';
h_sql := 'DELETE ' || g_obj_kpi_metadata_tables(i).table_name ||
' WHERE indicator = ' || p_trg_kpi;
BSC_UPDATE_UTIL.Execute_Immediate(h_sql);
l_ao_comb_sql := BSC_DESIGNER_PVT.Format_DbLink_String('SELECT distinct kpi_measure_id FROM bsc_kpi_analysis_measures_b');
SELECT bsc_kpi_measure_s.NEXTVAL INTO l_trg_kpi_measure_id from dual;
insert_kpi_meas_data (
p_table_name => g_obj_kpi_metadata_tables(i).table_name
, p_src_kpi => p_src_kpi
, p_trg_kpi => p_trg_kpi
, p_src_kpi_measure_id => l_src_kpi_measure_id
, p_trg_kpi_measure_id => l_trg_kpi_measure_id
);
insert_kpi_meas_data (
p_table_name => 'BSC_COLOR_TYPE_PROPS'
, p_src_kpi => p_src_kpi
, p_trg_kpi => p_trg_kpi
, p_src_kpi_measure_id => NULL
, p_trg_kpi_measure_id => NULL
);
SELECT COUNT(1) INTO l_Count
FROM bsc_color_type_props
WHERE indicator = p_trg_kpi AND kpi_measure_id IS NULL;
UPDATE bsc_kpi_analysis_measures_b
SET prototype_flag = 7
WHERE indicator = p_trg_kpi;
x_arr BSC_UPDATE_UTIL.t_array_of_varchar2;
x_arrayShared_tables BSC_UPDATE_UTIL.t_array_of_varchar2;
SELECT NVL(CSF_ID,1)
INTO h_CSF_id
FROM BSC_KPIS_B WHERE INDICATOR = x_Trg_kpi;
SELECT NVL(IND_GROUP_ID,1)
INTO h_Ind_group_id
FROM BSC_KPIS_B WHERE INDICATOR = x_Trg_kpi;
SELECT NVL(DISP_ORDER,1)
INTO h_Disp_Order
FROM BSC_KPIS_B WHERE INDICATOR = x_Trg_kpi;
SELECT NVL(SHARE_FLAG,0)
INTO h_Source_Flag
FROM BSC_KPIS_B WHERE INDICATOR = x_Trg_kpi;
SELECT SOURCE_INDICATOR
INTO h_Source_Indicator
FROM BSC_KPIS_B WHERE INDICATOR = x_Trg_kpi;
SELECT NVL(PROTOTYPE_FLAG,1)
INTO h_TRG_Flag
FROM BSC_KPIS_B WHERE INDICATOR = x_Trg_kpi;
BscKpisB_Update(x_Trg_kpi, 'CSF_ID', h_CSF_id);
BscKpisB_Update(x_Trg_kpi, 'IND_GROUP_ID', h_Ind_group_id);
BscKpisB_Update(x_Trg_kpi, 'DISP_ORDER', h_Disp_Order);
BscKpisB_Update(x_Trg_kpi, 'SHARE_FLAG', h_Source_Flag);
BscKpisB_Update(x_Trg_kpi, 'SOURCE_INDICATOR', h_Source_Indicator);
h_sql := 'UPDATE BSC_KPIS_B SET SHARE_FLAG =3 ' || h_condition;
h_sql := 'UPDATE BSC_KPIS_B SET SOURCE_INDICATOR =:1 ' --|| x_Src_kpi
|| h_condition;
SELECT NVL(PROTOTYPE_FLAG,1)
INTO h_SRC_Flag
FROM BSC_KPIS_B WHERE INDICATOR = x_Src_kpi;
BscKpisB_Update(x_Trg_kpi, 'PROTOTYPE_FLAG', h_SRC_Flag);
BscKpisB_Update(x_Trg_kpi, 'PROTOTYPE_FLAG', h_TRG_Flag);
UPDATE BSC_KPI_ANALYSIS_OPTIONS_B
SET INDICATOR = h_Trg_kpi_neg
WHERE INDICATOR = x_Trg_kpi;
UPDATE BSC_KPI_PERIODICITIES
SET INDICATOR = h_Trg_kpi_neg
WHERE INDICATOR = x_Trg_kpi;
UPDATE BSC_KPI_CALCULATIONS
SET INDICATOR = h_Trg_kpi_neg
WHERE INDICATOR = x_Trg_kpi;
UPDATE BSC_KPI_DIM_LEVELS_B
SET INDICATOR = h_Trg_kpi_neg
WHERE INDICATOR = x_Trg_kpi;
UPDATE BSC_KPI_DIM_LEVEL_PROPERTIES
SET INDICATOR = h_Trg_kpi_neg
WHERE INDICATOR = x_Trg_kpi;
h_sql := 'DELETE BSC_KPI_ANALYSIS_OPTIONS_B WHERE INDICATOR=:1'; --|| h_Trg_kpi_neg;
h_sql := 'DELETE BSC_KPI_ANALYSIS_OPTIONS_TL WHERE INDICATOR=:1'; --|| h_Trg_kpi_neg;
h_sql := 'DELETE BSC_KPI_PERIODICITIES WHERE INDICATOR=:1'; --|| h_Trg_kpi_neg;
h_sql := 'DELETE BSC_KPI_CALCULATIONS WHERE INDICATOR=:1'; --|| h_Trg_kpi_neg;
h_sql := 'DELETE BSC_KPI_DIM_LEVELS_B WHERE INDICATOR=:1'; --|| h_Trg_kpi_neg;
h_sql := 'DELETE BSC_KPI_DIM_LEVEL_PROPERTIES WHERE INDICATOR=:1'; --|| h_Trg_kpi_neg;
h_sql := 'UPDATE BSC_KPIS_B SET SHARE_FLAG =2 ' || h_condition;
h_sql := 'DELETE BSC_KPI_ANALYSIS_OPTIONS_B WHERE INDICATOR=:1'; --|| h_Trg_kpi_neg;
h_sql := 'DELETE BSC_KPI_ANALYSIS_OPTIONS_TL WHERE INDICATOR=:1'; --|| h_Trg_kpi_neg;
h_sql := 'DELETE BSC_KPI_PERIODICITIES WHERE INDICATOR=:1'; --|| h_Trg_kpi_neg;
h_sql := 'DELETE BSC_KPI_CALCULATIONS WHERE INDICATOR=:1'; --|| h_Trg_kpi_neg;
h_sql := 'DELETE BSC_KPI_DIM_LEVELS_B WHERE INDICATOR=:1'; --|| h_Trg_kpi_neg;
h_sql := 'DELETE BSC_KPI_DIM_LEVEL_PROPERTIES WHERE INDICATOR=:1'; --|| h_Trg_kpi_neg;
PROCEDURE BscKpisB_Update(x_Ind IN NUMBER, x_Field IN VARCHAR, x_Val IN VARCHAR) IS
/*===========================================================================+
| DESCRIPTION:
| Updates a record in the BSC_KPIS_B table.
| PARAMETERS:
| Ind Indicator Code
| VARIABLE Variable name
| Valor Value
| OUTPUT:
| AUTHOR/DATE - MODIFICATIONS (AUTHOR/DATE/DESCRIPTION):
| henry camacho 03/17/99
| hcc. 12/01/99 Data Model 4.0
+---------------------------------------------------------------------------*/
h_sql VARCHAR2(32000);
h_sql := 'UPDATE BSC_KPIS_B SET ' || x_Field || ' = :1 '
|| ' WHERE INDICATOR=:2'; --|| x_Ind;
x_source => 'BscKpisB_Update');
END BscKpisB_Update;
x_array IN OUT NOCOPY BSC_UPDATE_UTIL.t_array_of_varchar2,
x_separator IN VARCHAR2
) RETURN NUMBER IS
h_num_items NUMBER := 0;
SELECT DFT.INDICATOR
FROM BSC_DB_COLOR_KPI_V DFT,
(SELECT DISTINCT INDICATOR,DIM_SET_ID,NVL(LEVEL_SOURCE,'BSC') SOURCE
FROM BSC_KPI_DIM_LEVELS_VL) DIM
WHERE DFT.INDICATOR = DIM .INDICATOR
AND DFT.DIM_SET_ID = DIM .DIM_SET_ID
AND DFT.TAB_ID = x_Tab_id
AND DIM.SOURCE ='PMF';
PROCEDURE Update_Kpi_Prototype_Flag (
p_objective_id IN NUMBER
, p_kpi_measure_id IN NUMBER := NULL
, p_flag IN NUMBER
) IS
l_anal_measure_rec BSC_ANALYSIS_OPTION_PUB.bsc_option_rec_type;
UPDATE bsc_kpi_analysis_measures_b
SET prototype_flag = p_flag
WHERE indicator = p_objective_id
AND kpi_measure_id = p_kpi_measure_id;
UPDATE bsc_kpi_analysis_measures_b
SET prototype_flag = p_flag
WHERE indicator = p_objective_id;
x_source => 'BSC_DESIGNER_PVT.Update_Kpi_Prototype_Flag');
END Update_Kpi_Prototype_Flag;
SELECT PROPERTY_VALUE
INTO h_stage
FROM BSC_SYS_INIT
WHERE PROPERTY_CODE = 'SYSTEM_STAGE';
SELECT PROTOTYPE_FLAG
INTO h_currentFlag
FROM BSC_KPIS_B
WHERE INDICATOR = p_indicator;
BSC_KPI_PUB.Update_Kpi_Time_Stamp( l_commit,my_kpi_Record,l_return_status,l_msg_count,l_msg_data);
IF h_currentFlag = G_ActionFlag.Delete_kpi THEN
--DBMS_OUTPUT.PUT_LINE('exit h_currentFlag = G_ActionFlag.Delete_kpi ');
ELSIF p_newflag = G_ActionFlag.Delete_kpi THEN
--DBMS_OUTPUT.PUT_LINE('7. p_newflag = G_ActionFlag.Delete_kpi ');
ELSIF p_newflag = G_ActionFlag.GAA_Update THEN
-- CHANGE FOR Normal,GAA_color,Update_Update,Update_color
IF h_currentFlag = G_ActionFlag.Normal OR
h_currentFlag = G_ActionFlag.GAA_Color OR
h_currentFlag = G_ActionFlag.Update_Update OR
h_currentFlag = G_ActionFlag.Update_color THEN
h_newflag := G_ActionFlag.GAA_Update;
IF h_currentFlag = G_ActionFlag.Normal OR h_currentFlag = G_ActionFlag.Update_color THEN
h_newflag := G_ActionFlag.GAA_Color;
UPDATE BSC_KPIS_B SET PROTOTYPE_FLAG =h_newflag
WHERE INDICATOR = p_indicator;
SELECT COUNT(INDICATOR)
INTO l_count_kpis
FROM BSC_KPI_DATA_TABLES
WHERE INDICATOR = p_indicator
AND TABLE_NAME IS NOT NULL;
DELETE BSC_KPI_DATA_TABLES WHERE DIM_SET_ID =0 AND INDICATOR = p_indicator;
INSERT INTO BSC_KPI_DATA_TABLES
(INDICATOR,PERIODICITY_ID,DIM_SET_ID,LEVEL_COMB,TABLE_NAME,FILTER_CONDITION)
(SELECT INDICATOR INDICATOR,PERIODICITY_ID PERIODICITY_ID,0 DIM_SET_ID,'?' LEVEL_COMB,
NULL TABLE_NAME,NULL FILTER_CONDITION FROM BSC_KPI_PERIODICITIES
WHERE INDICATOR = p_indicator);
UPDATE BSC_KPIS_B SET PUBLISH_FLAG = 1
WHERE INDICATOR = p_indicator;
UPDATE BSC_KPIS_B SET PUBLISH_FLAG = 0
WHERE INDICATOR = p_indicator;
Update_Kpi_Prototype_Flag( p_objective_id => p_indicator
, p_flag => C_COLOR_CHANGE
);
IF p_newflag <> G_ActionFlag.Normal AND p_newflag <> G_ActionFlag.Update_color THEN
--IF p_newflag <> 0 AND p_newflag <> 7 THEN
-- Update KPI level prototype_flag to 7
Update_Kpi_Prototype_Flag( p_objective_id => p_indicator
, p_flag => C_COLOR_CHANGE
);
SELECT distinct(INDICATOR)
FROM BSC_KPI_DIM_LEVEL_PROPERTIES
WHERE DIM_LEVEL_ID = x_dim_level_id;
| - Delete Dimension Group
| - Add or Delete Dimension in a Dimension Group
| - Edit Dimension Properties inside a Dimension Group
|
| PSEUDO CODE
|
| -Search for all the KPIs that are using this Dimension (Group)
| -Change the Action Flag
|
| PARAMETERS
| x_dim_level_id
| HISTORY
| 15-MAY-2003 Aditya Rao Created
+---------------------------------------------------------------------------*/
PROCEDURE Dimension_Change(x_dim_group_id IN NUMBER, x_flag IN NUMBER) IS
CURSOR c_kpi_dim_group_id IS
SELECT DISTINCT(INDICATOR)
FROM BSC_KPI_DIM_GROUPS
WHERE DIM_GROUP_ID = x_dim_group_id;
| - Delete Dimension Group
| - Add or Delete Dimension in a Dimension Group
| - Edit Dimension Properties inside a Dimension Group
|
| PSEUDO CODE
|
| -Search for all the KPIs that are using this Dimension (Group)
| -Change the Action Flag
|
| PARAMETERS
| x_grp_short_name
| HISTORY
| 15-MAY-2003 Aditya Rao Created
+---------------------------------------------------------------------------*/
PROCEDURE Dimension_Change(x_grp_short_name IN VARCHAR2, x_flag IN NUMBER) IS
CURSOR c_group_id IS
SELECT DIM_GROUP_ID
FROM BSC_SYS_DIM_GROUPS_VL
WHERE SHORT_NAME = x_grp_short_name;
SELECT
column_name
FROM
all_tab_columns
WHERE
table_name = p_table_name
AND
owner = DECODE(USER,BSC_APPS.get_user_schema('APPS'),BSC_APPS.get_user_schema,USER)
ORDER BY column_name;
l_arr_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
l_sql:= 'INSERT INTO ( SELECT ';
l_sql:= l_sql || ' SELECT ';
x_array IN BSC_UPDATE_UTIL.t_array_of_varchar2,
x_num_items IN NUMBER
) RETURN BOOLEAN IS
h_i NUMBER;
l_src_languages BSC_UPDATE_UTIL.t_array_of_varchar2;
l_trg_languages BSC_UPDATE_UTIL.t_array_of_varchar2;
SELECT
column_name
FROM
all_tab_columns
WHERE
table_name = p_table_name
AND
owner = l_owner
ORDER BY column_name;
l_insert VARCHAR2(32000);
l_select VARCHAR2(32000);
l_arr_columns BSC_UPDATE_UTIL.t_array_of_varchar2;
SELECT DECODE(USER,BSC_APPS.get_user_schema('APPS'),BSC_APPS.get_user_schema('BSC'),USER)
INTO l_owner FROM DUAL;
SELECT DECODE(USER,BSC_APPS.get_user_schema('APPS'),BSC_APPS.get_user_schema('BIS'),USER)
INTO l_owner FROM DUAL;
SELECT DECODE(USER,BSC_APPS.get_user_schema('APPS'),BSC_APPS.get_user_schema('FND'),USER)
INTO l_owner FROM DUAL;
SELECT DECODE(USER,BSC_APPS.get_user_schema('APPS'),BSC_APPS.get_user_schema('AK'),USER)
INTO l_owner FROM DUAL;
l_sql := 'SELECT DISTINCT language_code, installed_flag'||
' FROM fnd_languages';
l_sql := 'SELECT DISTINCT language_code'||
' FROM fnd_languages'||
' WHERE installed_flag IN (:1, :2)';
l_sql := 'SELECT COUNT(1) FROM ' || p_Table_Name || ' WHERE '|| l_condition ;
l_insert := NULL;
l_select := NULL;
IF l_insert IS NOT NULL THEN
l_insert := l_insert||', ';
l_select := l_select||', ';
l_insert := l_insert||l_colum;
l_select := l_select||''''||l_trg_languages(i)||'''';
l_select := l_select||l_colum;
l_sql := 'INSERT INTO '||p_Table_Name||' ('||l_insert||')'||
' SELECT '||l_select||
' FROM '||p_Table_Name||
' WHERE LANGUAGE = :1 AND ' || l_condition;
l_sql := 'DELETE FROM '||p_Table_Name||
' WHERE LANGUAGE = :1 AND ' || l_condition;
l_sql := BSC_DESIGNER_PVT.Format_DbLink_String('SELECT DECODE(share_flag, 2, 3, 5) FROM bsc_kpis_vl');
SELECT
BSC_INDICATOR_ID_S.NEXTVAL
INTO
l_Target_Value
FROM DUAL;