The following lines contain the word 'select', 'insert', 'update' or 'delete':
select distinct sysdim.short_name, sysdim.level_view_name
from bsc_sys_dim_levels_b sysdim,
bsc_kpi_dim_levels_b kpidim,
bsc_tmp_opt_ui_kpis proc
where proc.process_id = bsc_metadata_optimizer_pkg.g_ProcessID
and proc.indicator=kpidim.indicator
and kpidim.level_table_name = sysdim.level_table_name
and sysdim.source = 'PMF'
and BIS_UTILITIES_PVT.is_rolling_period_level(sysdim.short_name) = 0
minus
select sysdim.short_name, sysdim.level_view_name
from user_views vws
, bsc_sys_dim_levels_b sysdim
where vws.view_name=sysdim.level_view_name;
SELECT SOURCE_TABLE_NAME
FROM BSC_DB_TABLES_RELS
WHERE TABLE_NAME = p_table;
l_stmt varchar2(1000) := 'select level_view_name from '||BSC_METADATA_OPTIMIZER_PKG.g_filtered_indics||' where indicator=:1 and dim_set_id=:2 and level_pk_col=:3';
l_stmt := l_stmt || ' select distinct
substr(table_name, instr(table_name, ''_'', 1, 2)+1, instr(table_name, ''_'', 1, 3)-instr(table_name, ''_'', 1, 2)-1) indicator,
substr(table_name, instr(table_name, ''_'', 1, 3)+1, instr(table_name, ''_'', 1, 4)-instr(table_name, ''_'', 1, 3)-1) dim_set_id,
table_name
from bsc_db_tables_rels
where table_name like ''BSC_S%''
and (source_table_name like ''BSC_B%'' or source_table_name like ''BSC_T%'' )';
select distinct indicator, dim_set_id from bsc_kpi_data_tables
where table_name in
(select table_name from bsc_db_tables_rels
where table_name like 'BSC_S%'
connect by prior table_name = source_table_name
start with table_name = p_table);
'select distinct indicator, dim_set_id from '||BSC_METADATA_OPTIMIZER_PKG.g_kpi_tmp_table||'
where table_name in
(select table_name from bsc_db_tables_rels
where table_name like ''BSC_S%''
connect by prior table_name = source_table_name
start with table_name = :1)';
select periodicity_id from bsc_db_tables
where table_name = upper(p_table_name);
select count(1)
from bsc_db_tables tbl,
bsc_db_tables_rels rels
where
rels.table_name = p_table
and rels.source_table_name = tbl.table_name
and tbl.table_type = 0;
SELECT MESSAGE
FROM BSC_MESSAGE_LOGS
WHERE TYPE = 0
AND UPPER(SOURCE) = upper(apiName)
AND LAST_UPDATE_LOGIN = bsc_metadata_optimizer_pkg.g_session_id;
SELECT BSC_APPS.Get_Tablespace_Clause_Tbl FROM DUAL;
l_stmt := 'SELECT BSC_APPS.Get_Tablespace_Clause_Idx FROM DUAL';
SELECT BSC_APPS.Get_Storage_Clause FROM DUAL;
SELECT PROJECT_FLAG FROM BSC_DB_TABLES
WHERE TABLE_NAME = p1;
SELECT PROPERTY_CODE FROM BSC_KPI_PROPERTIES
WHERE INDICATOR = Indic
AND UPPER(PROPERTY_CODE) = UPPER(Variable);
UPDATE BSC_KPI_PROPERTIES SET PROPERTY_VALUE = Valor
WHERE INDICATOR = Indic AND PROPERTY_CODE = Variable;
INSERT INTO BSC_KPI_PROPERTIES (INDICATOR, PROPERTY_CODE, PROPERTY_VALUE)
VALUES(Indic, Variable, Valor);
SELECT TABLE_NAME FROM ALL_TAB_COLUMNS
WHERE TABLE_NAME = p_table AND COLUMN_NAME = upper(p_column) AND OWNER = p3;
SELECT MEANING
FROM fnd_lookup_values_vl
WHERE LOOKUP_TYPE = p_lookup_type
AND LOOKUP_CODE = p_lookup_code;
BSC_METADATA_OPTIMIZER_PKG.gArrReservedWords(131) := 'DELETE';
BSC_METADATA_OPTIMIZER_PKG.gArrReservedWords(218) := 'INSERT';
BSC_METADATA_OPTIMIZER_PKG.gArrReservedWords(441) := 'SELECT';
BSC_METADATA_OPTIMIZER_PKG.gArrReservedWords(529) := 'UPDATE';
SELECT MEASURE_COL, HELP, MEASURE_GROUP_ID, PROJECTION_ID, NVL(MEASURE_TYPE, 1) MTYPE
FROM BSC_DB_MEASURE_COLS_VL
WHERE MEASURE_COL NOT IN
(
SELECT MEASURE_COL FROM BSC_SYS_MEASURES M
WHERE NVL(M.SOURCE, 'BSC') = 'PMF'
and not exists( select 1 from BSC_SYS_MEASURES P where p.Measure_Col = m.measure_col
and NVL(p.SOURCE, 'BSC') = 'BSC')
) ORDER BY MEASURE_COL;*/
SELECT DB.MEASURE_COL, DB.HELP, DB.MEASURE_GROUP_ID, DB.PROJECTION_ID, NVL(DB.MEASURE_TYPE, 1) MTYPE, M.SOURCE
FROM BSC_DB_MEASURE_COLS_VL DB,
BSC_SYS_MEASURES M
WHERE db.Measure_Col = m.measure_col
AND M.SOURCE = 'BSC'
UNION
SELECT M.MEASURE_COL, null HELP, -1 MEASURE_GROUP_ID, 0 PROJECTION_ID, 1 MTYPE, M.SOURCE
FROM BSC_SYS_MEASURES M
WHERE M.SOURCE='PMF'
ORDER BY MEASURE_COL;
SELECT PROPERTY_VALUE
FROM BSC_KPI_PROPERTIES
WHERE INDICATOR = Indic
AND PROPERTY_CODE = Variable;
DELETE FROM BSC_TMP_BIG_IN_COND WHERE SESSION_ID = bsc_metadata_optimizer_pkg.g_session_id AND VARIABLE_ID = x_variable_id;
' SELECT VALUE_N FROM BSC_TMP_BIG_IN_COND WHERE SESSION_ID = '||bsc_metadata_optimizer_pkg.g_session_id||
' AND VARIABLE_ID = ' || x_variable_id || ')';
INSERT INTO BSC_TMP_BIG_IN_COND(session_id, variable_id, value_n)
VALUES
(bsc_metadata_optimizer_pkg.g_session_id, x_variable_id, x_value(i));
INSERT INTO BSC_TMP_BIG_IN_COND(session_id, variable_id, value_v)
VALUES
(bsc_metadata_optimizer_pkg.g_session_id, x_variable_id, x_value(i));
DELETE FROM BSC_TMP_BIG_IN_COND WHERE SESSION_ID = bsc_metadata_optimizer_pkg.g_session_id AND VARIABLE_ID = x_variable_id;
' SELECT UPPER(VALUE_V) FROM BSC_TMP_BIG_IN_COND WHERE SESSION_ID = '||bsc_metadata_optimizer_pkg.g_session_id
||' AND VARIABLE_ID = '||x_variable_id||')';
PROCEDURE InsertRelatedTables(arrTables in dbms_Sql.varchar2_table,
numTables in number) IS
arrNewTables dbms_sql.varchar2_table;
writeTmp( 'Inside InsertRelatedTables, numTables='||numTables, fnd_log.level_procedure, false);
writeTmp('Insert related tables, tables are ', fnd_log.level_statement, false);
l_stmt := 'SELECT TABLE_NAME FROM BSC_DB_TABLES_RELS WHERE '|| strWhereInChildTables;
l_stmt := 'SELECT SOURCE_TABLE_NAME FROM BSC_DB_TABLES_RELS WHERE '|| strWhereInParentTables;
l_stmt := 'SELECT TABLE_NAME FROM '||BSC_METADATA_OPTIMIZER_PKG.g_kpi_tmp_table||' WHERE INDICATOR IN (
SELECT INDICATOR FROM '||BSC_METADATA_OPTIMIZER_PKG.g_kpi_tmp_table||' WHERE '|| strWhereInNewTables||')
AND '|| strWhereNotInNewTables ||' AND TABLE_NAME IS NOT NULL ';
InsertRelatedTables (arrNewTables, numNewTables);
writeTmp( 'Compl. InsertRelatedTables', fnd_log.level_procedure, false);
writeTmp( 'Exception in InsertRelatedTables :'||l_error, FND_LOG.LEVEL_UNEXPECTED, true);
l_stmt := 'SELECT DISTINCT M.MEASURE_COL, M.SOURCE, M.MEASURE_ID FROM BSC_SYS_MEASURES M, '||
BSC_METADATA_OPTIMIZER_PKG.g_dbmeasure_tmp_table||' I
WHERE I.MEASURE_ID = M.MEASURE_ID AND ('|| strWhereInIndics ||' )
AND M.TYPE = 0';
l_stmt := 'SELECT DISTINCT M.MEASURE_ID, M.MEASURE_COL FROM BSC_SYS_MEASURES M, '
||BSC_METADATA_OPTIMIZER_PKG.g_dbmeasure_tmp_table||
' I WHERE I.MEASURE_ID = M.MEASURE_ID
AND ('|| strWhereNotInIndics ||' )
AND M.TYPE = 0 ';
l_stmt := 'SELECT DISTINCT INDICATOR FROM BSC_DB_MEASURE_BY_DIM_SET_V WHERE ('|| strWhereInMeasures || ')';
l_stack := l_stack ||newline||'going to update...';
UPDATE BSC_KPIS_B
SET PROTOTYPE_FLAG = DECODE(PROTOTYPE_FLAG, 2, 2, 3, 3, 4),
LAST_UPDATED_BY = BSC_METADATA_OPTIMIZER_PKG.gUserId,
LAST_UPDATE_DATE = SYSDATE
WHERE INDICATOR = l_indicator
AND prototype_flag not in (2,3);
l_stack := l_stack ||'updated '||l_indicator||' to 4';
l_stmt := 'SELECT PROPERTY_VALUE FROM BSC_SYS_INIT WHERE UPPER(PROPERTY_CODE) = :1';
PROCEDURE insert_per(p_periodicity IN NUMBER, p_origin IN VARCHAR2) IS
l_origin_list DBMS_SQL.NUMBER_TABLE;
l_stmt VARCHAR2(1000) := 'INSERT INTO '||l_table_name||'(periodicity, source) values (:1, :2)';
writeTmp('Exception in insert_per:'||sqlerrm, FND_LOG.LEVEL_EXCEPTION, true);
SELECT distinct sysper.PERIODICITY_ID, sysper.SOURCE
FROM BSC_SYS_PERIODICITIES sysper
ORDER BY PERIODICITY_ID;
insert_per(cPeriodRow.periodicity_id, cPeriodRow.source);
l_stmt := ' select periodicity from '||l_table_name||' connect by periodicity = prior source start with periodicity = :1';
SELECT distinct sysper.PERIODICITY_ID, sysper.SOURCE, sysper.EDW_FLAG, sysper.YEARLY_FLAG,
sysper.CALENDAR_ID, NVL(sysper.PERIODICITY_TYPE, 0) AS PERIODICITY_TYPE
FROM BSC_SYS_PERIODICITIES_VL sysper
ORDER BY PERIODICITY_ID;
SELECT
B.CALENDAR_ID,
B.EDW_FLAG,
B.NAME,
B.FISCAL_YEAR,
B.RANGE_YR_MOD,
NVL(B.EDW_CALENDAR_TYPE_ID, 0) SOURCE,
(
NVL((SELECT MAX(NUM_OF_YEARS - PREVIOUS_YEARS)
FROM BSC_KPI_PERIODICITIES
WHERE NVL(NUM_OF_YEARS, 0) > 0 AND
PERIODICITY_ID IN (SELECT PERIODICITY_ID
FROM BSC_SYS_PERIODICITIES S
WHERE S.CALENDAR_ID = B.CALENDAR_ID))
, 1)
) AS MAX_FORYEAR,
(
NVL((SELECT MAX(PREVIOUS_YEARS)
FROM BSC_KPI_PERIODICITIES
WHERE NVL(NUM_OF_YEARS, 0) > 0 AND
PERIODICITY_ID IN (SELECT PERIODICITY_ID
FROM BSC_SYS_PERIODICITIES S
WHERE S.CALENDAR_ID = B.CALENDAR_ID))
, 1)
) AS MAX_PREVIOUS,
--Added 05/18/2005 after conversation with Venu
--DBI calendar ids should be 1001, 1002 or 1003
EDW_CALENDAR_ID
FROM
BSC_SYS_CALENDARS_VL B;
PROCEDURE InsertDirectTables(arrTables in out nocopy dbms_Sql.varchar2_table, p_variable_id IN NUMBER) IS
CURSOR cStoITables IS
select distinct source_table_name from bsc_db_tables_rels
connect by table_name = prior source_table_name
start with table_name in (
SELECT VALUE_V FROM BSC_TMP_BIG_IN_COND WHERE SESSION_ID = bsc_metadata_optimizer_pkg.g_session_id
AND VARIABLE_ID = p_variable_id);
l_stmt VARCHAR2(1000):= 'select distinct source_table_name from bsc_db_tables_rels
connect by table_name = prior source_table_name
start with table_name in (';
Procedure MarkTablesForSelectedKPIs IS
l_stmt varchar2(1000);
writeTmp( 'Inside MarkTablesForSelectedKPIs', FND_LOG.LEVEL_PROCEDURE, false);
BSC_METADATA_OPTIMIZER_PKG.garrTables.delete;
l_stmt := ' SELECT DISTINCT TABLE_NAME FROM BSC_KPI_DATA_TABLES WHERE ('||
strWhereInIndics|| ') AND TABLE_NAME IS NOT NULL';
writeTmp( 'Calling InsertDirectTables', FND_LOG.LEVEL_STATEMENT, false);
InsertDirectTables(BSC_METADATA_OPTIMIZER_PKG.garrTables, 21);
writeTmp( 'Done with InsertDirectTables', FND_LOG.LEVEL_STATEMENT, false);
writeTmp( 'Calling InsertRelatedTables', FND_LOG.LEVEL_STATEMENT, false);
InsertRelatedTables( arrayDirectTables, BSC_METADATA_OPTIMIZER_PKG.gnumTables);
writeTmp( 'Done InsertRelatedTables', FND_LOG.LEVEL_STATEMENT, false);
l_varchar2_list.delete;
l_varchar2_list.delete;
l_dontProcessIndics := 'SELECT DISTINCT INDICATOR FROM '||BSC_METADATA_OPTIMIZER_PKG.g_kpi_tmp_table||' WHERE ('||strWhereInTables|| ')';
l_dontDropTables := ' select source_table_name from bsc_db_tables_rels
connect by table_name = prior source_table_name start with table_name in
(select table_name from '||BSC_METADATA_OPTIMIZER_PKG.g_kpi_tmp_table||' where indicator in ('||l_dontProcessIndics||') )';
l_dropTables := 'select table_name from bsc_db_tables where ('||strWhereInDirectTables||') '||' and table_name not in ('||
l_dontDropTables||')';
BSC_METADATA_OPTIMIZER_PKG.garrTables.delete;
writeTmp( 'Completed MarkTablesForSelectedKPIs', FND_LOG.LEVEL_PROCEDURE, false);
writeTmp('Exception in MarkTablesForSelectedKPIs : '||lError);
SELECT DISTINCT K.INDICATOR
FROM BSC_KPIS_B K, BSC_TAB_INDICATORS T WHERE K.INDICATOR = T.INDICATOR (+)
AND T.INDICATOR IS NULL AND K.PROTOTYPE_FLAG <> 2 ORDER BY K.INDICATOR;
SELECT DISTINCT INDICATOR, SOURCE_INDICATOR FROM BSC_KPIS_B
WHERE SHARE_FLAG = 3 AND SOURCE_INDICATOR IS NOT NULL AND PROTOTYPE_FLAG <> 2 ;
SELECT DISTINCT K.INDICATOR
FROM BSC_KPIS_B K
WHERE EDW_FLAG = 1
AND EXISTS ( SELECT P.PROPERTY_CODE FROM BSC_KPI_PROPERTIES P
WHERE P.INDICATOR = K.INDICATOR AND P.PROPERTY_VALUE = 0
AND P.PROPERTY_CODE IN ('EDW_DATASET_STATUS', 'EDW_CALENDAR_STATUS', 'EDW_DIMENSION_STATUS'));
SELECT TABLE_NAME FROM BSC_DB_TABLES WHERE TABLE_TYPE <> 2;
SELECT INDICATOR FROM BSC_KPIS_B WHERE PROTOTYPE_FLAG = 4 ORDER BY INDICATOR;
BSC_METADATA_OPTIMIZER_PKG.garrIndics.delete;
BSC_METADATA_OPTIMIZER_PKG.garrIndics4.delete;
BSC_METADATA_OPTIMIZER_PKG.garrTables.delete;
UPDATE bsc_kpis_b
SET prototype_flag = 3
WHERE prototype_flag=1;
l_stmt := 'SELECT DISTINCT INDICATOR, NAME, PROTOTYPE_FLAG,
INDICATOR_TYPE, CONFIG_TYPE, PERIODICITY_ID,
SHARE_FLAG, SOURCE_INDICATOR,
EDW_FLAG FROM BSC_KPIS_VL ';
DELETE FROM BSC_TMP_OPT_UI_KPIS WHERE process_id = BSC_METADATA_OPTIMIZER_PKG.g_processID;
INSERT INTO BSC_TMP_OPT_UI_KPIS (INDICATOR, PROTOTYPE_FLAG, PROCESS_ID)
SELECT INDICATOR, PROTOTYPE_FLAG, BSC_METADATA_OPTIMIZER_PKG.g_processID
FROM BSC_KPIS_VL
where short_name is null OR
(short_name is not null and BSC_DBGEN_UTILS.Get_Objective_Type(short_name) = 'OBJECTIVE');
SELECT COUNT(1) INTO l_total_count FROM BSC_KPIS_VL;
ELSE-- Modified or Selected indicators
l_stmt := l_stmt || ' where prototype_flag in (2,3) and indicator in (SELECT INDICATOR FROM BSC_TMP_OPT_UI_KPIS WHERE process_id = '||BSC_METADATA_OPTIMIZER_PKG.g_processID||')';
ELSE -- incremental mode or selected mode
MarkTablesForSelectedKPIs;
--Add indicators with flag = 4 (reconfigure update)
--in the collection gIndicadores
--Of course if the indicator is already in gIndicadores (Structural changes) we do not change it.
--Init an array with the Kpis in prototype 4 (changes in loader configuration)
l_stmt := 'SELECT DISTINCT INDICATOR, NAME, PROTOTYPE_FLAG,
INDICATOR_TYPE, CONFIG_TYPE, PERIODICITY_ID,
SHARE_FLAG, SOURCE_INDICATOR,
EDW_FLAG FROM BSC_KPIS_VL WHERE INDICATOR in
(select indicator from bsc_tmp_opt_ui_kpis where prototype_flag =4 and process_id= :1) ORDER BY INDICATOR';
l_stmt := 'SELECT DISTINCT INDICATOR, NAME, PROTOTYPE_FLAG, INDICATOR_TYPE,
CONFIG_TYPE, PERIODICITY_ID, SHARE_FLAG, SOURCE_INDICATOR,
EDW_FLAG FROM BSC_KPIS_VL ';
l_stmt := l_stmt ||' WHERE INDICATOR IN (SELECT INDICATOR FROM BSC_TMP_OPT_UI_KPIS WHERE process_id=:1) ';
SELECT count(1) FROM USER_OBJECTS
WHERE OBJECT_NAME = upper(ObjectName);
SELECT 1 FROM ALL_TABLES
WHERE TABLE_NAME = pTableName
AND OWNER = pOwner;
l_stmt := l_stmt||' AS SELECT * FROM '||TableName||' '||p_where_clause;
l_stmt := 'select count(1) from '||CopyTableName;
writeTmp('# of rows inserted into '||CopyTableName||':'||l_val, FND_LOG.LEVEL_STATEMENT, false);
SELECT index_name, uniqueness
FROM all_indexes
WHERE table_name = TableName
AND owner = pOwner;
SELECT column_name
FROM all_ind_columns
WHERE index_name = pIndex
AND table_owner = pOwner
AND column_name not like 'SYS%$'
ORDER BY column_position;
SELECT R.TABLE_NAME
FROM BSC_DB_TABLES_RELS R, BSC_DB_TABLES T
WHERE R.SOURCE_TABLE_NAME = T.TABLE_NAME
AND T.TABLE_TYPE = 0;
SELECT index_name FROM ALL_INDEXES WHERE
table_name = UPPER(p_table) AND table_owner = bsc_metadata_optimizer_pkg.gBscSchema;
SELECT SOURCE_TABLE_NAME FROM BSC_DB_TABLES_RELS
CONNECT BY TABLE_NAME=prior SOURCE_TABLE_NAME
start with table_name in
(select distinct table_name from '||BSC_METADATA_OPTIMIZER_PKG.g_kpi_tmp_table||' where indicator in
(select indicator from bsc_tmp_opt_ui_kpis where process_id='||BSC_METADATA_OPTIMIZER_PKG.g_processID||')
)
UNION
SELECT TABLE_NAME FROM BSC_DB_TABLES_RELS
CONNECT BY TABLE_NAME=prior SOURCE_TABLE_NAME
start with table_name in
(select distinct table_name from '||BSC_METADATA_OPTIMIZER_PKG.g_kpi_tmp_table||' where indicator in
(select indicator from bsc_tmp_opt_ui_kpis where process_id='||BSC_METADATA_OPTIMIZER_PKG.g_processID||')
)
)';
(select indicator from bsc_tmp_opt_ui_kpis where process_id='||BSC_METADATA_OPTIMIZER_PKG.g_processID||')';
(select source_table_name from '||BSC_METADATA_OPTIMIZER_PKG.g_db_table_rels_last||'
connect by table_name = prior source_table_name
start with table_name in (select table_name from '||BSC_METADATA_OPTIMIZER_PKG.g_kpi_data_last||'))';
PROCEDURE InsertChildTables_LAST(arrTables IN dbms_sql.varchar2_table,
numTables IN OUT NOCOPY number,
arrChildTables IN OUT NOCOPY dbms_sql.varchar2_table,
numChildTables IN OUT NOCOPY number) IS
l_table_name varchar2(300);
select table_name from bsc_db_tables_rels
connect by prior table_name = source_Table_name
start with source_table_name = pOriginTable;
arrTablesAux.delete;
InsertChildTables_LAST (arrTablesAux, numTablesAux, arrChildTables, numChildTables);
writeTmp( 'Exception in InsertChildTables_LAST :'||l_error, FND_LOG.LEVEL_UNEXPECTED, true);
l_stmt VARCHAR2(1000):='SELECT R.TABLE_NAME, R.SOURCE_TABLE_NAME, BT.PERIODICITY_ID
FROM '||BSC_METADATA_OPTIMIZER_PKG.g_db_table_rels_last||' R, '||
BSC_METADATA_OPTIMIZER_PKG.g_db_tables_last||' IT, '||
BSC_METADATA_OPTIMIZER_PKG.g_db_tables_last||' BT
WHERE R.SOURCE_TABLE_NAME = IT.TABLE_NAME
AND IT.TABLE_TYPE = 0
AND R.TABLE_NAME = BT.TABLE_NAME
AND IT.TABLE_NAME IN
(SELECT SOURCE_TABLE_NAME FROM BSC_DB_TABLES_RELS
CONNECT BY TABLE_NAME=prior SOURCE_TABLE_NAME
start with table_name in
(select distinct table_name from '||BSC_METADATA_OPTIMIZER_PKG.g_kpi_tmp_table||' where indicator in
(select indicator from bsc_tmp_opt_ui_kpis where process_id=:1)
)
)
ORDER BY R.SOURCE_TABLE_NAME';
SELECT column_name FROM all_tab_columns
WHERE table_name = pTableName
AND owner = pOwner
ORDER BY column_id;
InsertChildTables_LAST(arrTables, numTables, arrChildTables, numChildTables);
l_stmt := 'SELECT DISTINCT INDICATOR FROM '||BSC_METADATA_OPTIMIZER_PKG.g_kpi_tmp_table||' WHERE '||strWhereInChildTables;
l_stmt := 'SELECT DISTINCT INDICATOR FROM '||BSC_METADATA_OPTIMIZER_PKG.g_kpi_tmp_table||' WHERE TABLE_NAME IS NOT NULL';
BSC_METADATA_OPTIMIZER_PKG.garrOldIndicators.delete;
l_arr_indicators.delete;
PROCEDURE deletePreviousRunTables IS
l_stmt varchar2(1000);
writeTmp( 'Inside deletePreviousRunTables, time is '||get_time, FND_LOG.LEVEL_STATEMENT, true);
l_stmt := ' UPDATE BSC_KPIS_B
SET PROTOTYPE_FLAG = DECODE(PROTOTYPE_FLAG, 2, 2, 3),
LAST_UPDATED_BY = :1,
LAST_UPDATE_DATE = SYSDATE WHERE '|| strWhereInIndics;
l_stmt := 'SELECT DISTINCT MV_NAME FROM BSC_KPI_DATA_TABLES WHERE ('|| strWhereInIndics ||') AND MV_NAME IS NOT NULL';
l_stmt := 'SELECT DISTINCT BSC_BIA_WRAPPER.Get_Sum_Table_MV_Name(SOURCE_TABLE_NAME) MV_NAME
FROM BSC_DB_TABLES_RELS WHERE TABLE_NAME IN (
SELECT TABLE_NAME
FROM '||BSC_METADATA_OPTIMIZER_PKG.g_kpi_tmp_table||'
WHERE (' || strWhereInIndics || ') AND TABLE_NAME IS NOT NULL ) AND RELATION_TYPE = 1';
l_stmt := 'SELECT DISTINCT PROJECTION_DATA FROM BSC_KPI_DATA_TABLES WHERE ('|| strWhereInIndics || ')
AND PROJECTION_DATA IS NOT NULL';
l_stmt := 'UPDATE BSC_KPI_DATA_TABLES
SET TABLE_NAME = NULL, MV_NAME = NULL, DATA_SOURCE = NULL,
SQL_STMT = NULL, PROJECTION_SOURCE = 0, PROJECTION_DATA = NULL
WHERE '|| strWhereInIndics;
l_stmt := 'UPDATE BSC_KPIS_B SET PROTOTYPE_FLAG = DECODE(PROTOTYPE_FLAG, 2, 2, 4), '||
' LAST_UPDATED_BY = :1 ,'||
' LAST_UPDATE_DATE = SYSDATE '||
' WHERE (' || strWhereInIndics4 || ')';
l_stmt := 'SELECT DISTINCT MV_NAME FROM BSC_KPI_DATA_TABLES WHERE ('|| strWhereInIndics4 ||')';
l_stmt := 'SELECT DISTINCT BSC_BIA_WRAPPER.Get_Sum_Table_MV_Name(SOURCE_TABLE_NAME) MV_NAME
FROM BSC_DB_TABLES_RELS WHERE TABLE_NAME IN (
SELECT TABLE_NAME FROM BSC_KPI_DATA_TABLES WHERE ('|| strWhereInIndics4 || ')';
l_stmt := 'DELETE FROM BSC_DB_TABLES WHERE '||strWhereInTables;
l_stmt := 'DELETE FROM BSC_DB_TABLES_RELS WHERE '|| strWhereInTables;
l_stmt := 'DELETE FROM BSC_DB_TABLES_COLS WHERE '|| strWhereInTables;
l_stmt := 'DELETE FROM BSC_DB_CALCULATIONS WHERE '|| strWhereInTables;
writeTmp( 'Compl deletePreviousRunTables, system time is '||get_time, FND_LOG.LEVEL_STATEMENT, true);
bsc_mo_helper_pkg.writeTmp( 'Exception in deletePreviousRunTables '||l_ERROR, FND_LOG.LEVEL_UNEXPECTED, true);
SELECT Count(1) INTO l_count FROM BSC_SYS_INIT
WHERE UPPER(PROPERTY_CODE) = UPPER(propertyCode);
UPDATE BSC_SYS_INIT SET PROPERTY_VALUE = propertyValue, LAST_UPDATED_BY = BSC_METADATA_OPTIMIZER_PKG.gUserID, LAST_UPDATE_DATE = SYSDATE
WHERE UPPER(PROPERTY_CODE) = UPPER(propertyCode);
INSERT INTO BSC_SYS_INIT (PROPERTY_CODE, PROPERTY_VALUE, CREATED_BY, CREATION_DATE, LAST_UPDATED_BY, LAST_UPDATE_DATE)
VALUES(propertyCode, propertyValue, BSC_METADATA_OPTIMIZER_PKG.gUserID, SYSDATE, BSC_METADATA_OPTIMIZER_PKG.gUserID, SYSDATE);
BSC_UPDATE_UTIL.Populate_Calendar_Tables(Calendar.Code);
BSC_MO_HELPER_PKG.CheckError('BSC_UPDATE_UTIL.Populate_Calendar_Tables');
UPDATE BSC_DB_TABLES SET NUM_OF_YEARS = num_anos, PREVIOUS_YEARS = num_anosant
WHERE PERIODICITY_ID IN (
SELECT PERIODICITY_ID FROM BSC_SYS_PERIODICITIES
WHERE CALENDAR_ID = Calendar.Code );
BSC_UPDATE_UTIL.Populate_Calendar_Tables(Calendar.Code);
BSC_MO_HELPER_PKG.CheckError('BSC_UPDATE_UTIL.Populate_Calendar_Tables');
UPDATE BSC_KPI_PERIODICITIES K
SET CURRENT_PERIOD =
(SELECT DECODE(P.YEARLY_FLAG, 1, C.FISCAL_YEAR, 1)
FROM BSC_SYS_PERIODICITIES P, BSC_SYS_CALENDARS_B C
WHERE K.PERIODICITY_ID = P.PERIODICITY_ID
AND P.CALENDAR_ID = C.CALENDAR_ID
)
WHERE INDICATOR = Indicador.Code;
UPDATE BSC_SYS_KPI_COLORS
SET KPI_COLOR = BSC_METADATA_OPTIMIZER_PKG.ColorG,
ACTUAL_DATA = NULL,
BUDGET_DATA = NULL
WHERE INDICATOR = Indicador.Code;
UPDATE bsc_sys_objective_colors
SET obj_color = BSC_METADATA_OPTIMIZER_PKG.ColorG
WHERE indicator = Indicador.Code;
UPDATE BSC_KPI_DEFAULTS_TL D
SET PERIOD_NAME = (
SELECT
CASE WHEN NVL(C.EDW_CALENDAR_TYPE_ID, 0) = 0 AND P.YEARLY_FLAG = 1 THEN
K.PERIODICITY_ID||'-'||C.FISCAL_YEAR
ELSE
(SELECT
K.PERIODICITY_ID||'-'||L.NAME
FROM
BSC_KPI_PERIODICITIES KP,
BSC_SYS_PERIODS_TL L
WHERE
K.INDICATOR = KP.INDICATOR AND
K.PERIODICITY_ID = KP.PERIODICITY_ID AND
C.FISCAL_YEAR = L.YEAR AND
KP.PERIODICITY_ID = L.PERIODICITY_ID AND
KP.CURRENT_PERIOD = L.PERIOD_ID AND
D.LANGUAGE = L.LANGUAGE
)
END
FROM
BSC_DB_COLOR_KPI_V K,
BSC_SYS_PERIODICITIES P,
BSC_SYS_CALENDARS_B C
WHERE
K.TAB_ID = D.TAB_ID AND
K.INDICATOR = D.INDICATOR AND
K.PERIODICITY_ID = P.PERIODICITY_ID AND
P.CALENDAR_ID = C.CALENDAR_ID
)
WHERE
INDICATOR = Indicador.Code;
--Update date of indicator
UPDATE BSC_KPI_DEFAULTS_B SET LAST_UPDATE_DATE = SYSDATE WHERE INDICATOR = Indicador.Code;
WriteInitTable( 'UPDATE_DATE', to_char(sysdate, 'dd/mm/yyyy'));
'SELECT last.table_name, last.column_name
FROM '||bsc_metadata_optimizer_pkg.g_db_tables_cols_last||' last
, bsc_tmp_big_in_cond cond
WHERE last.table_name = cond.value_v
AND cond.variable_id = :1
AND cond.session_id = :2
AND last.column_type = :3
MINUS
SELECT cols.table_name, cols.column_name
FROM bsc_db_tables_cols cols
, bsc_db_tables_rels rels
, bsc_tmp_big_in_cond cond
WHERE cond.value_v = rels.source_table_name
AND rels.table_name = cols.table_name
AND cond.variable_id = :4
AND cond.session_id = :5
AND cols.column_type = :6';
DELETE bsc_db_tables_cols
WHERE table_name = p_Table_name
AND column_name = p_column_name;
'select distinct source_table_name from '||BSC_METADATA_OPTIMIZER_PKG.g_db_table_rels_last||'
connect by table_name = prior source_table_name
start with table_name in (select value_v from bsc_tmp_big_in_cond where variable_id=:1 and session_id=:2)';
SELECT distinct table_name FROM '||BSC_METADATA_OPTIMIZER_PKG.g_db_table_rels_last||' last
WHERE table_name LIKE ''BSC_S%'' AND source_table_name NOT like ''BSC_S%''
AND table_name in
(select distinct table_name
from '||BSC_METADATA_OPTIMIZER_PKG.g_kpi_data_last||' )';
select distinct level_table_name
from bsc_sys_dim_levels_b lvl
, all_snapshot_logs log
where log.log_owner=BSC_METADATA_OPTIMIZER_PKG.gBSCSchema
and log.master = lvl.level_Table_name
minus
select distinct level_table_name
from bsc_sys_dim_levels_b lvl
, all_snapshot_logs log
, all_dependencies db
, all_mviews mv
where log.log_owner=BSC_METADATA_OPTIMIZER_PKG.gBSCSchema
and log.master = lvl.level_Table_name
and db.referenced_owner=BSC_METADATA_OPTIMIZER_PKG.gBSCSchema
and db.referenced_type = 'TABLE'
and db.referenced_name = lvl.level_table_name
and db.type = 'MATERIALIZED VIEW'
and db.owner=mv.owner
and db.name=mv.mview_name
and mv.owner = BSC_METADATA_OPTIMIZER_PKG.gAppsSchema
and mv.fast_refreshable<>'NO';
with kpi_data as(SELECT DISTINCT TABLE_NAME
FROM BSC_KPI_DATA_TABLES
WHERE TABLE_NAME IS NOT NULL )
SELECT table_name from kpi_data
UNION
SELECT DISTINCT SOURCE_TABLE_NAME FROM BSC_DB_TABLES_RELS
START WITH table_name IN (SELECT TABLE_NAME from kpi_data)
CONNECT BY PRIOR source_table_name = table_name ; */
select table_name from bsc_db_tables where table_type=0
union all
SELECT DISTINCT table_name
from BSC_DB_TABLES_RELS
START WITH source_TABLE_NAME IN
(select table_name from bsc_db_tables where table_type=0)
CONNECT BY PRIOR TABLE_NAME = source_TABLE_NAME;
SELECT table_name, owner
FROM all_tables
WHERE (table_name like BSC_METADATA_OPTIMIZER_PKG.g_kpi_tmp_table_pfx||'%'
OR table_name like BSC_METADATA_OPTIMIZER_PKG.g_period_circ_check_pfx||'%'
OR table_name like BSC_METADATA_OPTIMIZER_PKG.g_filtered_indics_pfx||'%'
OR table_name like BSC_METADATA_OPTIMIZER_PKG.g_db_tables_last_pfx||'%'
OR table_name like BSC_METADATA_OPTIMIZER_PKG.g_db_tables_rels_last_pfx||'%'
OR table_name like BSC_METADATA_OPTIMIZER_PKG.g_kpi_data_last_pfx||'%'
OR table_name like BSC_METADATA_OPTIMIZER_PKG.g_db_tables_cols_last_pfx||'%'
OR table_name like 'BSC_TMP_COL_TYPE%'
)
AND owner in (BSC_METADATA_OPTIMIZER_PKG.gAppsSchema, BSC_METADATA_OPTIMIZER_PKG.gBSCSchema))
SELECT table_name, owner
FROM btable
MINUS
SELECT table_name, owner
FROM btable, v$session
WHERE substr(table_name, instr(table_name, '_', -1)+1, 100) in
(select to_char(audsid) from v$session where status<>'KILLED');
l_stmt := 'SELECT DISTINCT TABLE_NAME FROM BSC_DB_TABLES WHERE TABLE_TYPE <> 2 AND NOT (' ||
strWhereInCondition || ')';
l_stmt := 'SELECT DISTINCT TABLE_NAME FROM BSC_DB_TABLES WHERE TABLE_TYPE <> :1
minus
select upper(value_v) from bsc_tmp_big_in_cond where variable_id=:2 and session_id = :3';
EXECUTE IMMEDIATE ' DELETE FROM BSC_DB_TABLES WHERE '||strWhereInCondition;
EXECUTE IMMEDIATE ' DELETE FROM BSC_DB_TABLES_RELS WHERE '|| strWhereInCondition;
EXECUTE IMMEDIATE ' DELETE FROM BSC_DB_TABLES_COLS WHERE '|| strWhereInCondition;
EXECUTE IMMEDIATE ' DELETE FROM BSC_DB_CALCULATIONS WHERE '|| strWhereInCondition;
EXECUTE IMMEDIATE ' DELETE FROM BSC_DB_TABLES WHERE table_name IN '||l_drop_these;
EXECUTE IMMEDIATE ' DELETE FROM BSC_DB_TABLES_RELS WHERE table_name IN '||l_drop_these;
EXECUTE IMMEDIATE ' DELETE FROM BSC_DB_TABLES_COLS WHERE table_name IN '||l_drop_these;
EXECUTE IMMEDIATE ' DELETE FROM BSC_DB_CALCULATIONS WHERE table_name IN '||l_drop_these;
BSC_MO_HELPER_PKG.writeTmp('Deleted invalid entries from metadata tables '||get_time, FND_LOG.LEVEL_PROCEDURE);
UPDATE BSC_KPI_PROPERTIES set property_value = 1 where property_code = BSC_METADATA_OPTIMIZER_PKG.IMPL_TYPE;
BSC_MO_HELPER_PKG.writeTmp('Updated kpi_properties '||get_time, FND_LOG.LEVEL_PROCEDURE);
g_stack.delete(g_stack.first);
PROCEDURE UpdateFlags IS
l_stmt VARCHAR2(300);
BSC_MO_HELPER_PKG.writeTmp('Inside UpdateFlags '||get_time, FND_LOG.LEVEL_PROCEDURE, true);
DELETE FROM BSC_KPIS_B WHERE INDICATOR = BSC_METADATA_OPTIMIZER_PKG.gIndicators(i).Code;
DELETE FROM BSC_KPIS_TL WHERE INDICATOR = BSC_METADATA_OPTIMIZER_PKG.gIndicators(i).code;
DELETE FROM BSC_KPI_DATA_TABLES WHERE INDICATOR = BSC_METADATA_OPTIMIZER_PKG.gIndicators(i).code;
UPDATE BSC_KPIS_B SET PROTOTYPE_FLAG = 0,
LAST_UPDATED_BY = BSC_METADATA_OPTIMIZER_PKG.gUserId,
LAST_UPDATE_DATE = SYSDATE
WHERE INDICATOR = BSC_METADATA_OPTIMIZER_PKG.gIndicators(i).Code;
UPDATE bsc_kpi_analysis_measures_b
SET prototype_flag = 0
WHERE indicator = BSC_METADATA_OPTIMIZER_PKG.gIndicators(i).Code;
UPDATE BSC_KPIS_B SET PROTOTYPE_FLAG = 6,
LAST_UPDATED_BY = BSC_METADATA_OPTIMIZER_PKG.gUserId,
LAST_UPDATE_DATE = SYSDATE
WHERE INDICATOR = BSC_METADATA_OPTIMIZER_PKG.gIndicators(i).Code;
UPDATE bsc_kpi_analysis_measures_b
SET prototype_flag = 7
WHERE indicator = BSC_METADATA_OPTIMIZER_PKG.gIndicators(i).Code;
UPDATE BSC_KPIS_B SET PROTOTYPE_FLAG = 6,
LAST_UPDATED_BY = BSC_METADATA_OPTIMIZER_PKG.gUserId,
LAST_UPDATE_DATE = SYSDATE
WHERE INDICATOR = BSC_METADATA_OPTIMIZER_PKG.gIndicators(i).Code;
UPDATE bsc_kpi_analysis_measures_b
SET prototype_flag = 7
WHERE indicator = BSC_METADATA_OPTIMIZER_PKG.gIndicators(i).Code;
/*UPDATE BSC_KPI_ANALYSIS_MEASURES_B
SET PROTOTYPE_FLAG = 0
WHERE DATASET_ID IN (
SELECT DATASET_ID FROM BSC_SYS_DATASETS_B
WHERE NVL(SOURCE, 'BSC') = 'PMF')
AND INDICATOR IN (SELECT INDICATOR FROM BSC_TMP_OPT_UI_KPIS WHERE process_id = BSC_METADATA_OPTIMIZER_PKG.g_processID);*/
UPDATE BSC_SYS_CALENDARS_B SET RANGE_YR_MOD = 0;
execute immediate 'delete bsc_tmp_opt_ui_kpis where process_id=:1' using BSC_METADATA_OPTIMIZER_PKG.g_processID;
BSC_MO_HELPER_PKG.writeTmp('Completed UpdateFlags'||get_time, FND_LOG.LEVEL_PROCEDURE, true);
writeTmp('Exception in UpdateFlags:'||sqlerrm, FND_LOG.LEVEL_UNEXPECTED, true);
SELECT key_name, Origin, Need_zero_code, Calc_zero_code,
Filter_View_Name, dim_index
from BSC_TMP_OPT_KEY_COLS
WHERE
table_name = table_name
and key_name = key_name;
CURSOR cKeys IS SELECT key_name, Origin, Need_zero_code, Calc_zero_code,
Filter_View_Name, dim_index from BSC_TMP_OPT_KEY_COLS WHERE table_name = pTableName
order by seqnum;
SELECT
field_name, aggfunction, origin, avglflag, avgltotalcolumn, avglcountercolumn,
Internal_Column_Type, Internal_Column_Source
from BSC_TMP_OPT_DATA_COLS
WHERE
table_name = table_name
and upper(field_name) = upper(field_name);
BSC_METADATA_OPTIMIZER_PKG.g_time_updateOneDisagg := BSC_METADATA_OPTIMIZER_PKG.g_time_updateOneDisagg + (sysdate - l_start_time) * 86400;
SELECT field_name, aggfunction, origin, avglflag, avgltotalcolumn, avglcountercolumn,
Internal_Column_Type, Internal_Column_Source
from BSC_TMP_OPT_DATA_COLS WHERE
table_name = pTableName
order by seqnum;
SELECT S.DIM_LEVEL_ID, S.LEVEL_TABLE_NAME, S.TABLE_TYPE, S.source,
S.LEVEL_PK_COL, S.USER_KEY_SIZE, S.DISP_KEY_SIZE, NVL(S.EDW_FLAG, 0) AS EDW_FLAG, R.SOURCE_TABLE_NAME
FROM BSC_SYS_DIM_LEVELS_B S, BSC_DB_TABLES_RELS R
WHERE S.LEVEL_TABLE_NAME = R.TABLE_NAME (+)
ORDER BY LEVEL_TABLE_NAME;
SELECT D.LEVEL_TABLE_NAME, D.LEVEL_PK_COL
FROM BSC_SYS_DIM_LEVELS_B D, BSC_SYS_DIM_LEVEL_RELS R
WHERE D.DIM_LEVEL_ID = R.PARENT_DIM_LEVEL_ID
AND R.DIM_LEVEL_ID = p_dimID
AND R.RELATION_TYPE = p_relation_type;
SELECT COLUMN_NAME
FROM BSC_SYS_DIM_LEVEL_COLS
WHERE DIM_LEVEL_ID = p_DIM_LEVEL_ID
AND UPPER(COLUMN_TYPE) = 'A';
SELECT DISTINCT D.RELATION_COL, T.SOURCE_TABLE_NAME
FROM BSC_SYS_DIM_LEVEL_RELS D, BSC_DB_TABLES_RELS T
WHERE D.RELATION_TYPE = 2 AND D.RELATION_COL = T.TABLE_NAME (+);
SELECT A.LEVEL_TABLE_NAME AS TABLE_A,
A.LEVEL_PK_COL AS PK_COL_A,
B.LEVEL_TABLE_NAME AS TABLE_B,
B.LEVEL_PK_COL AS PK_COL_B
FROM BSC_SYS_DIM_LEVELS_B A,
BSC_SYS_DIM_LEVEL_RELS R,
BSC_SYS_DIM_LEVELS_B B
WHERE
A.DIM_LEVEL_ID = R.DIM_LEVEL_ID AND
R.PARENT_DIM_LEVEL_ID = B.DIM_LEVEL_ID AND
UPPER(R.RELATION_COL) = upper(pRelation);
select count(1) into l_count
from bsc_kpi_properties p
, bsc_kpis_vl k
where p.indicator=k.indicator
and p.property_code=bsc_metadata_optimizer_pkg.impl_type
and p.property_value = 2
-- only production objectives
and k.prototype_flag not in (1,2,3,4)
;
l_lud_stmt varchar2(1000):= 'select last_update_date
from bsc_reporting_calendar
where calendar_id=:1 and rownum=1';
select calendar_id, last_update_date
from bsc_sys_calendars_b;
writeTmp('LUD for sys calendar '||i.calendar_id ||':'||to_char(i.last_update_date, 'mm/dd/yy hh24:mi:ss')||
' and rpt calendar:'||to_char( l_rpt_lud, 'mm/dd/yy hh24:mi:ss' ));
IF (l_rpt_lud is not null and l_rpt_lud>=i.last_update_date) then
null;