DBA Data[Home] [Help]

APPS.BSC_DBGEN_BSC_READER dependencies on BSC_DBGEN_STD_METADATA

Line 4: g_sys_measures BSC_DBGEN_STD_METADATA.tab_clsMeasure;

1: Package Body BSC_DBGEN_BSC_READER AS
2: /* $Header: BSCBSRDB.pls 120.19.12000000.2 2007/02/14 10:36:51 rkumar ship $*/
3:
4: g_sys_measures BSC_DBGEN_STD_METADATA.tab_clsMeasure;
5: g_sys_measures_loaded boolean :=false;
6: g_error VARCHAR2(4000);
7:
8: procedure init is

Line 132: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;

128:
129:
130: PROCEDURE load_sys_measures IS
131: l_stmt varchar2(1000);
132: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;
133: l_measure_null BSC_DBGEN_STD_METADATA.clsMeasure;
134: --BSC-PMF Integration: Need to filter out PMF measures
135: CURSOR c1 IS
136: SELECT ms.MEASURE_COL, ms.HELP, ms.MEASURE_GROUP_ID, ms.PROJECTION_ID, NVL(ms.MEASURE_TYPE, 1) MTYPE, sysm.source

Line 133: l_measure_null BSC_DBGEN_STD_METADATA.clsMeasure;

129:
130: PROCEDURE load_sys_measures IS
131: l_stmt varchar2(1000);
132: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;
133: l_measure_null BSC_DBGEN_STD_METADATA.clsMeasure;
134: --BSC-PMF Integration: Need to filter out PMF measures
135: CURSOR c1 IS
136: SELECT ms.MEASURE_COL, ms.HELP, ms.MEASURE_GROUP_ID, ms.PROJECTION_ID, NVL(ms.MEASURE_TYPE, 1) MTYPE, sysm.source
137: FROM BSC_DB_MEASURE_COLS_VL ms,

Line 167: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.PROJECTION_ID, to_char(cRow.PROJECTION_ID));

163: --2: Plan-Based (not used any more)
164: --3: Plan-Based
165: --4: Custom
166: IF (cRow.PROJECTION_ID IS NOT NULL) THEN
167: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.PROJECTION_ID, to_char(cRow.PROJECTION_ID));
168: Else
169: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.PROJECTION_ID, 0);--no projection
170: END IF;
171: l_measure.measure_type := cRow.MTYPE;

Line 169: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.PROJECTION_ID, 0);--no projection

165: --4: Custom
166: IF (cRow.PROJECTION_ID IS NOT NULL) THEN
167: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.PROJECTION_ID, to_char(cRow.PROJECTION_ID));
168: Else
169: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.PROJECTION_ID, 0);--no projection
170: END IF;
171: l_measure.measure_type := cRow.MTYPE;
172: g_sys_measures(g_sys_measures.count+1) := l_measure;
173: END Loop;

Line 197: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;

193: -- AUTHOR/DATE - MODIFICATIONS (AUTHOR/DATE/DESCRIPTION):
194: --***************************************************************************
195:
196: Function sys_measure_exists(p_measure_name IN VARCHAR2, p_measure_source IN VARCHAR2) RETURN BOOLEAN IS
197: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;
198: i NUMBER ;
199: BEGIN
200: IF (g_sys_measures_loaded=false) THEN
201: load_sys_measures;

Line 232: Function measure_exists(p_measure_collection IN BSC_DBGEN_STD_METADATA.tab_clsMeasure, p_measure_name IN VARCHAR2, p_measure_source IN VARCHAR2)

228: -- colMeasures: collection
229: -- measure: field name
230: -- AUTHOR/DATE - MODIFICATIONS (AUTHOR/DATE/DESCRIPTION):
231: --***************************************************************************
232: Function measure_exists(p_measure_collection IN BSC_DBGEN_STD_METADATA.tab_clsMeasure, p_measure_name IN VARCHAR2, p_measure_source IN VARCHAR2)
233: RETURN BOOLEAN IS
234: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;
235: i NUMBER;
236:

Line 234: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;

230: -- AUTHOR/DATE - MODIFICATIONS (AUTHOR/DATE/DESCRIPTION):
231: --***************************************************************************
232: Function measure_exists(p_measure_collection IN BSC_DBGEN_STD_METADATA.tab_clsMeasure, p_measure_name IN VARCHAR2, p_measure_source IN VARCHAR2)
233: RETURN BOOLEAN IS
234: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;
235: i NUMBER;
236:
237: BEGIn
238:

Line 539: return BSC_DBGEN_STD_METADATA.tab_clsMeasure IS

535: End;
536:
537: -- PRIVATE API
538: FUNCTION Get_All_Measures_For_Fact(p_fact IN VARCHAR2, p_dim_set IN NUMBER)
539: return BSC_DBGEN_STD_METADATA.tab_clsMeasure IS
540: l_measure_name varchar2(1000);
541: measures dbms_sql.varchar2_table;
542: l_num_measures NUMBER;
543: l_aggregation_method varchar2(1000);

Line 544: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;

540: l_measure_name varchar2(1000);
541: measures dbms_sql.varchar2_table;
542: l_num_measures NUMBER;
543: l_aggregation_method varchar2(1000);
544: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;
545: l_measure_null BSC_DBGEN_STD_METADATA.clsMeasure;
546: colMeasures BSC_DBGEN_STD_METADATA.tab_clsMeasure;
547: i NUMBER;
548: msg VARCHAR2(1000);

Line 545: l_measure_null BSC_DBGEN_STD_METADATA.clsMeasure;

541: measures dbms_sql.varchar2_table;
542: l_num_measures NUMBER;
543: l_aggregation_method varchar2(1000);
544: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;
545: l_measure_null BSC_DBGEN_STD_METADATA.clsMeasure;
546: colMeasures BSC_DBGEN_STD_METADATA.tab_clsMeasure;
547: i NUMBER;
548: msg VARCHAR2(1000);
549:

Line 546: colMeasures BSC_DBGEN_STD_METADATA.tab_clsMeasure;

542: l_num_measures NUMBER;
543: l_aggregation_method varchar2(1000);
544: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;
545: l_measure_null BSC_DBGEN_STD_METADATA.clsMeasure;
546: colMeasures BSC_DBGEN_STD_METADATA.tab_clsMeasure;
547: i NUMBER;
548: msg VARCHAR2(1000);
549:
550: pFormulaSource VARCHAR2(1000);

Line 606: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_SINGLE_COLUMN, pAvgLSingleColumn);

602: l_measure.measure_type := l_measure_type;
603: l_measure.AGGREGATION_method := FuncAgregSingleColumn;
604: l_measure.datatype := 'NUMBER';
605: l_measure.measure_source := l_measure_source;
606: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_SINGLE_COLUMN, pAvgLSingleColumn);
607: If pAvgLSingleColumn = 'Y' Then
608: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_TOTAL_COLUMN, AvgLTotalColumn);
609: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_COUNTER_COLUMN, AvgLCounterColumn);
610: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.SOURCE_FORMULA, AvgLTotalColumn||'/'||AvgLCounterColumn);

Line 608: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_TOTAL_COLUMN, AvgLTotalColumn);

604: l_measure.datatype := 'NUMBER';
605: l_measure.measure_source := l_measure_source;
606: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_SINGLE_COLUMN, pAvgLSingleColumn);
607: If pAvgLSingleColumn = 'Y' Then
608: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_TOTAL_COLUMN, AvgLTotalColumn);
609: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_COUNTER_COLUMN, AvgLCounterColumn);
610: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.SOURCE_FORMULA, AvgLTotalColumn||'/'||AvgLCounterColumn);
611: END IF;
612: END IF;

Line 609: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_COUNTER_COLUMN, AvgLCounterColumn);

605: l_measure.measure_source := l_measure_source;
606: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_SINGLE_COLUMN, pAvgLSingleColumn);
607: If pAvgLSingleColumn = 'Y' Then
608: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_TOTAL_COLUMN, AvgLTotalColumn);
609: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_COUNTER_COLUMN, AvgLCounterColumn);
610: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.SOURCE_FORMULA, AvgLTotalColumn||'/'||AvgLCounterColumn);
611: END IF;
612: END IF;
613: EXIT WHEN i = Measures.last;

Line 610: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.SOURCE_FORMULA, AvgLTotalColumn||'/'||AvgLCounterColumn);

606: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_SINGLE_COLUMN, pAvgLSingleColumn);
607: If pAvgLSingleColumn = 'Y' Then
608: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_TOTAL_COLUMN, AvgLTotalColumn);
609: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_COUNTER_COLUMN, AvgLCounterColumn);
610: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.SOURCE_FORMULA, AvgLTotalColumn||'/'||AvgLCounterColumn);
611: END IF;
612: END IF;
613: EXIT WHEN i = Measures.last;
614: i := Measures.next(i);

Line 751: Function get_Dimension_Index(p_dimensions IN BSC_DBGEN_STD_METADATA.tab_clsDimension,

747: --
748: -- AUTHOR/DATE - MODIFICATIONS (AUTHOR/DATE/DESCRIPTION):
749: --***************************************************************************
750:
751: Function get_Dimension_Index(p_dimensions IN BSC_DBGEN_STD_METADATA.tab_clsDimension,
752: p_level IN VARCHAR2,
753: p_include_missing_levels IN BOOLEAN,
754: p_missing_levels OUT nocopy DBMS_SQL.VARCHAR2_TABLE)
755: return NUMBER IS

Line 756: l_dimension BSC_DBGEN_STD_METADATA.clsDimension;

752: p_level IN VARCHAR2,
753: p_include_missing_levels IN BOOLEAN,
754: p_missing_levels OUT nocopy DBMS_SQL.VARCHAR2_TABLE)
755: return NUMBER IS
756: l_dimension BSC_DBGEN_STD_METADATA.clsDimension;
757: l_level BSC_DBGEN_STD_METADATA.clsLevel;
758: l_ct NUMBER := 0;
759: j NUMBER := 0;
760: l_groups DBMS_SQL.NUMBER_TABLE;

Line 757: l_level BSC_DBGEN_STD_METADATA.clsLevel;

753: p_include_missing_levels IN BOOLEAN,
754: p_missing_levels OUT nocopy DBMS_SQL.VARCHAR2_TABLE)
755: return NUMBER IS
756: l_dimension BSC_DBGEN_STD_METADATA.clsDimension;
757: l_level BSC_DBGEN_STD_METADATA.clsLevel;
758: l_ct NUMBER := 0;
759: j NUMBER := 0;
760: l_groups DBMS_SQL.NUMBER_TABLE;
761: l_missing_levels DBMS_SQL.VARCHAR2_TABLE;

Line 801: PROCEDURE insert_parents(p_periodicity IN NUMBER, p_parents IN VARCHAR2, p_periodicity_list IN BSC_DBGEN_STD_METADATA.tab_clsPeriodicity) IS

797: RAISE;
798: End ;
799:
800:
801: PROCEDURE insert_parents(p_periodicity IN NUMBER, p_parents IN VARCHAR2, p_periodicity_list IN BSC_DBGEN_STD_METADATA.tab_clsPeriodicity) IS
802: l_parents_list DBMS_SQL.NUMBER_TABLE;
803: l_table_name VARCHAR2(100) := 'bsc_tmp_per_circ_'||userenv('SESSIONID');
804: l_stmt VARCHAR2(1000) := 'INSERT INTO '||l_table_name||'(periodicity, source) values (:1, :2)';
805: l_index NUMBER;

Line 827: FUNCTION configure_parent_periods(p_periodicity_list IN OUT nocopy BSC_DBGEN_STD_METADATA.tab_clsPeriodicity)

823: fnd_file.put_line(fnd_file.log, 'Exception in bsc_dbgen_bsc_reader.insert_parents '||g_error);
824: RAISE;
825: END;
826:
827: FUNCTION configure_parent_periods(p_periodicity_list IN OUT nocopy BSC_DBGEN_STD_METADATA.tab_clsPeriodicity)
828: RETURN BSC_DBGEN_STD_METADATA.tab_clsPeriodicity IS
829: PRAGMA AUTONOMOUS_TRANSACTION;
830: l_table_name VARCHAR2(100) := 'bsc_tmp_per_circ_'||userenv('SESSIONID');
831: l_stmt VARCHAR2(1000) := 'CREATE TABLE '||l_table_name||'(periodicity NUMBER, source NUMBER)';

Line 828: RETURN BSC_DBGEN_STD_METADATA.tab_clsPeriodicity IS

824: RAISE;
825: END;
826:
827: FUNCTION configure_parent_periods(p_periodicity_list IN OUT nocopy BSC_DBGEN_STD_METADATA.tab_clsPeriodicity)
828: RETURN BSC_DBGEN_STD_METADATA.tab_clsPeriodicity IS
829: PRAGMA AUTONOMOUS_TRANSACTION;
830: l_table_name VARCHAR2(100) := 'bsc_tmp_per_circ_'||userenv('SESSIONID');
831: l_stmt VARCHAR2(1000) := 'CREATE TABLE '||l_table_name||'(periodicity NUMBER, source NUMBER)';
832: CURSOR cPeriods (p_periodicity NUMBER) IS

Line 838: l_periodicity_list BSC_DBGEN_STD_METADATA.tab_clsPeriodicity;

834: FROM BSC_SYS_PERIODICITIES_VL
835: WHERE PERIODICITY_ID=p_periodicity;
836: l_parents VARCHAR2(4000);
837: l_temp NUMBER;
838: l_periodicity_list BSC_DBGEN_STD_METADATA.tab_clsPeriodicity;
839: TYPE CurTyp IS REF CURSOR;
840: cv CurTyp;
841: BEGIN
842: l_periodicity_list := p_periodicity_list;

Line 880: FUNCTION Get_Fact_Info(p_process_id IN NUMBER, p_prototype_flag IN NUMBER, p_fact_list IN DBMS_SQL.NUMBER_TABLE ) return BSC_DBGEN_STD_METADATA.tab_clsFact IS

876: RAISE;
877: END;
878:
879:
880: FUNCTION Get_Fact_Info(p_process_id IN NUMBER, p_prototype_flag IN NUMBER, p_fact_list IN DBMS_SQL.NUMBER_TABLE ) return BSC_DBGEN_STD_METADATA.tab_clsFact IS
881: l_stmt varchar2(1000);
882: l_Code number;
883: l_Name BSC_KPIS_VL.NAME%TYPE;
884: l_IndicatorType number;

Line 893: l_fact BSC_DBGEN_STD_METADATA.clsFact;

889: l_Share_Flag number;
890: l_Source_Indicator number;
891: TYPE CurTyp IS REF CURSOR;
892: cv CurTyp;
893: l_fact BSC_DBGEN_STD_METADATA.clsFact;
894: l_fact_list BSC_DBGEN_STD_METADATA.tab_clsFact;
895: strWhereInIndics VARCHAR2(1000);
896: BEGIN
897:

Line 894: l_fact_list BSC_DBGEN_STD_METADATA.tab_clsFact;

890: l_Source_Indicator number;
891: TYPE CurTyp IS REF CURSOR;
892: cv CurTyp;
893: l_fact BSC_DBGEN_STD_METADATA.clsFact;
894: l_fact_list BSC_DBGEN_STD_METADATA.tab_clsFact;
895: strWhereInIndics VARCHAR2(1000);
896: BEGIN
897:
898:

Line 931: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.PROTOTYPE_FLAG, l_action_flag);

927: l_fact.Fact_ID := l_code;
928: l_fact.Fact_Name := l_name;
929: l_fact.fact_type := l_indicatorType;
930: l_fact.Application_short_name := 'BSC';
931: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.PROTOTYPE_FLAG, l_action_flag);
932: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.CONFIG_TYPE, l_ConfigType);
933: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.PERIODICITY_ID, l_per_inter);
934: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.OPTIMIZATION_MODE, l_OptimizationMode);
935: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.SHARE_FLAG,l_share_flag);

Line 932: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.CONFIG_TYPE, l_ConfigType);

928: l_fact.Fact_Name := l_name;
929: l_fact.fact_type := l_indicatorType;
930: l_fact.Application_short_name := 'BSC';
931: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.PROTOTYPE_FLAG, l_action_flag);
932: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.CONFIG_TYPE, l_ConfigType);
933: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.PERIODICITY_ID, l_per_inter);
934: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.OPTIMIZATION_MODE, l_OptimizationMode);
935: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.SHARE_FLAG,l_share_flag);
936: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.SOURCE_INDICATOR, nvl(l_source_indicator, 0));

Line 933: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.PERIODICITY_ID, l_per_inter);

929: l_fact.fact_type := l_indicatorType;
930: l_fact.Application_short_name := 'BSC';
931: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.PROTOTYPE_FLAG, l_action_flag);
932: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.CONFIG_TYPE, l_ConfigType);
933: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.PERIODICITY_ID, l_per_inter);
934: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.OPTIMIZATION_MODE, l_OptimizationMode);
935: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.SHARE_FLAG,l_share_flag);
936: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.SOURCE_INDICATOR, nvl(l_source_indicator, 0));
937: l_fact_list(l_fact_list.count+1) := l_fact;

Line 934: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.OPTIMIZATION_MODE, l_OptimizationMode);

930: l_fact.Application_short_name := 'BSC';
931: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.PROTOTYPE_FLAG, l_action_flag);
932: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.CONFIG_TYPE, l_ConfigType);
933: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.PERIODICITY_ID, l_per_inter);
934: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.OPTIMIZATION_MODE, l_OptimizationMode);
935: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.SHARE_FLAG,l_share_flag);
936: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.SOURCE_INDICATOR, nvl(l_source_indicator, 0));
937: l_fact_list(l_fact_list.count+1) := l_fact;
938: END Loop;

Line 935: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.SHARE_FLAG,l_share_flag);

931: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.PROTOTYPE_FLAG, l_action_flag);
932: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.CONFIG_TYPE, l_ConfigType);
933: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.PERIODICITY_ID, l_per_inter);
934: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.OPTIMIZATION_MODE, l_OptimizationMode);
935: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.SHARE_FLAG,l_share_flag);
936: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.SOURCE_INDICATOR, nvl(l_source_indicator, 0));
937: l_fact_list(l_fact_list.count+1) := l_fact;
938: END Loop;
939: CLOSE cv;

Line 936: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.SOURCE_INDICATOR, nvl(l_source_indicator, 0));

932: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.CONFIG_TYPE, l_ConfigType);
933: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.PERIODICITY_ID, l_per_inter);
934: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.OPTIMIZATION_MODE, l_OptimizationMode);
935: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.SHARE_FLAG,l_share_flag);
936: bsc_dbgen_utils.add_property(l_fact.properties, BSC_DBGEN_STD_METADATA.SOURCE_INDICATOR, nvl(l_source_indicator, 0));
937: l_fact_list(l_fact_list.count+1) := l_fact;
938: END Loop;
939: CLOSE cv;
940: EXCEPTION WHEN OTHERS THEN

Line 946: FUNCTION Get_Fact_Info(p_process_id IN NUMBER, p_prototype_flag IN NUMBER) return BSC_DBGEN_STD_METADATA.tab_clsFact IS

942: fnd_file.put_line(fnd_file.log, 'Exception in bsc_dbgen_bsc_reader.get_fact_info '||g_error);
943: RAISE;
944:
945: END;
946: FUNCTION Get_Fact_Info(p_process_id IN NUMBER, p_prototype_flag IN NUMBER) return BSC_DBGEN_STD_METADATA.tab_clsFact IS
947: l_id_list DBMS_SQL.NUMBER_TABLE;
948: BEGIN
949: return Get_Fact_Info(p_process_id, p_prototype_flag, l_id_list);
950: END;

Line 952: FUNCTION Get_Facts_To_Recreate(p_process_id IN NUMBER) return BSC_DBGEN_STD_METADATA.tab_clsFact IS

948: BEGIN
949: return Get_Fact_Info(p_process_id, p_prototype_flag, l_id_list);
950: END;
951:
952: FUNCTION Get_Facts_To_Recreate(p_process_id IN NUMBER) return BSC_DBGEN_STD_METADATA.tab_clsFact IS
953: BEGIN
954: return get_fact_info(p_process_id, 3);
955: END;
956:

Line 957: FUNCTION Get_Facts_To_Delete(p_process_id IN NUMBER) return BSC_DBGEN_STD_METADATA.tab_clsFact IS

953: BEGIN
954: return get_fact_info(p_process_id, 3);
955: END;
956:
957: FUNCTION Get_Facts_To_Delete(p_process_id IN NUMBER) return BSC_DBGEN_STD_METADATA.tab_clsFact IS
958: BEGIN
959: return get_fact_info(p_process_id, 2);
960: END;
961:

Line 962: FUNCTION Get_Facts_To_Recalculate(p_process_id IN NUMBER) return BSC_DBGEN_STD_METADATA.tab_clsFact IS

958: BEGIN
959: return get_fact_info(p_process_id, 2);
960: END;
961:
962: FUNCTION Get_Facts_To_Recalculate(p_process_id IN NUMBER) return BSC_DBGEN_STD_METADATA.tab_clsFact IS
963: l_stmt Varchar2(1000);
964: strWhereInIndics Varchar2(1000);
965: strWhereNotInIndics Varchar2(1000);
966: strWhereInMeasures Varchar2(1000);

Line 981: l_fact_list BSC_DBGEN_STD_METADATA.tab_clsFact;

977: cv CurTyp;
978:
979: l_error varchar2(400);
980: l_indicator_id NUMBER;
981: l_fact_list BSC_DBGEN_STD_METADATA.tab_clsFact;
982: l_fact BSC_DBGEN_STD_METADATA.clsFact;
983: l_fact_ids DBMS_SQL.NUMBER_TABLE;
984: l_num_measures NUMBER;
985: BEGIN

Line 982: l_fact BSC_DBGEN_STD_METADATA.clsFact;

978:
979: l_error varchar2(400);
980: l_indicator_id NUMBER;
981: l_fact_list BSC_DBGEN_STD_METADATA.tab_clsFact;
982: l_fact BSC_DBGEN_STD_METADATA.clsFact;
983: l_fact_ids DBMS_SQL.NUMBER_TABLE;
984: l_num_measures NUMBER;
985: BEGIN
986: l_fact_list := get_fact_info(p_process_id, 4);

Line 1066: FUNCTION Fact_ID_Exists(p_facts IN BSC_DBGEN_STD_METADATA.tab_clsFact, p_fact_id IN NUMBER) RETURN BOOLEAN IS

1062: bsc_mo_helper_pkg.writeTmp('Exception in Get_Facts_To_Recalculate : '||sqlerrm, FND_LOG.LEVEL_EXCEPTION, true);
1063: raise;
1064: END;
1065:
1066: FUNCTION Fact_ID_Exists(p_facts IN BSC_DBGEN_STD_METADATA.tab_clsFact, p_fact_id IN NUMBER) RETURN BOOLEAN IS
1067: BEGIN
1068: IF (p_facts.count=0) THEN
1069: return false;
1070: END IF;

Line 1124: FUNCTION Get_Facts_To_Process(p_process_id IN NUMBER) return BSC_DBGEN_STD_METADATA.tab_clsFact IS

1120: CLOSE cSTable;
1121: return l_s_tablename;
1122: END;
1123:
1124: FUNCTION Get_Facts_To_Process(p_process_id IN NUMBER) return BSC_DBGEN_STD_METADATA.tab_clsFact IS
1125: l_fact_list BSC_DBGEN_STD_METADATA.tab_clsFact;
1126: l_fact_list_temp BSC_DBGEN_STD_METADATA.tab_clsFact;
1127: BEGIN
1128: l_fact_list := Get_Facts_To_Recreate(p_process_id);

Line 1125: l_fact_list BSC_DBGEN_STD_METADATA.tab_clsFact;

1121: return l_s_tablename;
1122: END;
1123:
1124: FUNCTION Get_Facts_To_Process(p_process_id IN NUMBER) return BSC_DBGEN_STD_METADATA.tab_clsFact IS
1125: l_fact_list BSC_DBGEN_STD_METADATA.tab_clsFact;
1126: l_fact_list_temp BSC_DBGEN_STD_METADATA.tab_clsFact;
1127: BEGIN
1128: l_fact_list := Get_Facts_To_Recreate(p_process_id);
1129: l_fact_list_temp := Get_Facts_To_Delete(p_process_id);

Line 1126: l_fact_list_temp BSC_DBGEN_STD_METADATA.tab_clsFact;

1122: END;
1123:
1124: FUNCTION Get_Facts_To_Process(p_process_id IN NUMBER) return BSC_DBGEN_STD_METADATA.tab_clsFact IS
1125: l_fact_list BSC_DBGEN_STD_METADATA.tab_clsFact;
1126: l_fact_list_temp BSC_DBGEN_STD_METADATA.tab_clsFact;
1127: BEGIN
1128: l_fact_list := Get_Facts_To_Recreate(p_process_id);
1129: l_fact_list_temp := Get_Facts_To_Delete(p_process_id);
1130: IF l_fact_list_temp.count >0 THEN

Line 1154: FUNCTION Get_Measures_For_Fact_dbgen(p_fact IN VARCHAR2, p_dim_set IN NUMBER) return BSC_DBGEN_STD_METADATA.tab_clsMeasure IS

1150: END;
1151:
1152:
1153:
1154: FUNCTION Get_Measures_For_Fact_dbgen(p_fact IN VARCHAR2, p_dim_set IN NUMBER) return BSC_DBGEN_STD_METADATA.tab_clsMeasure IS
1155: l_stmt VARCHAR2(1000);
1156: l_measure_name varchar2(1000);
1157: measures dbms_sql.varchar2_table;
1158: l_num_measures NUMBER;

Line 1160: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;

1156: l_measure_name varchar2(1000);
1157: measures dbms_sql.varchar2_table;
1158: l_num_measures NUMBER;
1159: l_aggregation_method varchar2(1000);
1160: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;
1161: l_measure_null BSC_DBGEN_STD_METADATA.clsMeasure;
1162: colMeasures BSC_DBGEN_STD_METADATA.tab_clsMeasure;
1163: i NUMBER;
1164: msg VARCHAR2(1000);

Line 1161: l_measure_null BSC_DBGEN_STD_METADATA.clsMeasure;

1157: measures dbms_sql.varchar2_table;
1158: l_num_measures NUMBER;
1159: l_aggregation_method varchar2(1000);
1160: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;
1161: l_measure_null BSC_DBGEN_STD_METADATA.clsMeasure;
1162: colMeasures BSC_DBGEN_STD_METADATA.tab_clsMeasure;
1163: i NUMBER;
1164: msg VARCHAR2(1000);
1165:

Line 1162: colMeasures BSC_DBGEN_STD_METADATA.tab_clsMeasure;

1158: l_num_measures NUMBER;
1159: l_aggregation_method varchar2(1000);
1160: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;
1161: l_measure_null BSC_DBGEN_STD_METADATA.clsMeasure;
1162: colMeasures BSC_DBGEN_STD_METADATA.tab_clsMeasure;
1163: i NUMBER;
1164: msg VARCHAR2(1000);
1165:
1166: pFormulaSource VARCHAR2(1000);

Line 1223: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_SINGLE_COLUMN, pAvgLSingleColumn);

1219: l_measure.AGGREGATION_method := FuncAgregSingleColumn;
1220: l_measure.datatype := 'NUMBER';
1221: l_measure.measure_source := l_measure_source;
1222: --l_measure.Origen is not set
1223: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_SINGLE_COLUMN, pAvgLSingleColumn);
1224: If pAvgLSingleColumn = 'Y' Then
1225: --This is a single column, we can have AvgL on a single column.
1226: --We need two internal columns: one for total and one for counter
1227: --Also we need to add the internal columns in gLov and in

Line 1235: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_TOTAL_COLUMN, AvgLTotalColumn);

1231: AvgLTotalColumn := get_Next_Internal_Column_Name;
1232: --Update the measure property pAvgLTotal in the database
1233: SetMeasurePropertyDB (Measures(i), BSC_METADATA_OPTIMIZER_PKG.C_PAVGLTOTAL, AvgLTotalColumn);
1234: END IF;
1235: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_TOTAL_COLUMN, AvgLTotalColumn);
1236: --AddInternalColumnInDB(AvgLTotalColumn, 2, baseColumn, 1);
1237: If AvgLCounterColumn IS NULL Then
1238: AvgLCounterColumn := get_Next_Internal_Column_Name;
1239: --Update the measure property pAvgLCounter in the database

Line 1242: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_COUNTER_COLUMN, AvgLCounterColumn);

1238: AvgLCounterColumn := get_Next_Internal_Column_Name;
1239: --Update the measure property pAvgLCounter in the database
1240: SetMeasurePropertyDB (Measures(i), BSC_METADATA_OPTIMIZER_PKG.C_PAVGLCOUNTER, AvgLCounterColumn);
1241: END IF;
1242: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_COUNTER_COLUMN, AvgLCounterColumn);
1243: --AddInternalColumnInDB(AvgLCounterColumn, 3, baseColumn, 1);
1244: END IF;
1245: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 0); -- Normal
1246: colMeasures(colMeasures.count+1) := l_measure;

Line 1245: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 0); -- Normal

1241: END IF;
1242: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_COUNTER_COLUMN, AvgLCounterColumn);
1243: --AddInternalColumnInDB(AvgLCounterColumn, 3, baseColumn, 1);
1244: END IF;
1245: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 0); -- Normal
1246: colMeasures(colMeasures.count+1) := l_measure;
1247:
1248: If pAvgLSingleColumn = 'Y' Then
1249: --Add the two internal column for AvgL in the collection

Line 1256: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_FLAG, 'N');

1252: l_measure.measure_name := AvgLTotalColumn;
1253: l_measure.aggregation_method := 'SUM';
1254: l_measure.datatype := 'NUMBER';
1255: --l_measure.Origen is not set
1256: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_FLAG, 'N');
1257: --l_measure.avgLTotalColumn does not apply
1258: --l_measure.avgLCounterColumn does not apply
1259:
1260: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 2); --Internal column for Total of AvgL

Line 1260: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 2); --Internal column for Total of AvgL

1256: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_FLAG, 'N');
1257: --l_measure.avgLTotalColumn does not apply
1258: --l_measure.avgLCounterColumn does not apply
1259:
1260: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 2); --Internal column for Total of AvgL
1261: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_SOURCE, Measures(i));
1262: colMeasures(colMeasures.count+1) := l_measure;
1263: --Column for Counter
1264: l_measure := l_measure_null;

Line 1261: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_SOURCE, Measures(i));

1257: --l_measure.avgLTotalColumn does not apply
1258: --l_measure.avgLCounterColumn does not apply
1259:
1260: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 2); --Internal column for Total of AvgL
1261: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_SOURCE, Measures(i));
1262: colMeasures(colMeasures.count+1) := l_measure;
1263: --Column for Counter
1264: l_measure := l_measure_null;
1265: l_measure.measure_Name := AvgLCounterColumn;

Line 1269: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_FLAG, 'N');

1265: l_measure.measure_Name := AvgLCounterColumn;
1266: l_measure.AGGREGATION_method := 'SUM';
1267: l_measure.datatype := 'NUMBER';
1268: --l_measure.Origen is not set
1269: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_FLAG, 'N');
1270: --l_measure.avgLTotalColumn does not apply
1271: --l_measure.avgLCounterColumn does not apply
1272: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 3); --Internal column for Counter of AvgL
1273: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_SOURCE, Measures(i));

Line 1272: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 3); --Internal column for Counter of AvgL

1268: --l_measure.Origen is not set
1269: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_FLAG, 'N');
1270: --l_measure.avgLTotalColumn does not apply
1271: --l_measure.avgLCounterColumn does not apply
1272: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 3); --Internal column for Counter of AvgL
1273: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_SOURCE, Measures(i));
1274: colMeasures(colMeasures.count+1) := l_measure;
1275: END IF;
1276: END IF;

Line 1273: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_SOURCE, Measures(i));

1269: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_FLAG, 'N');
1270: --l_measure.avgLTotalColumn does not apply
1271: --l_measure.avgLCounterColumn does not apply
1272: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 3); --Internal column for Counter of AvgL
1273: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_SOURCE, Measures(i));
1274: colMeasures(colMeasures.count+1) := l_measure;
1275: END IF;
1276: END IF;
1277:

Line 1295: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_FLAG, pAvgL);

1291: l_measure.measure_Name := pFormulaSource;
1292: l_measure.aggregation_method := l_aggregation_method;
1293: l_measure.datatype := 'NUMBER';
1294: --l_measure.Origen is not set
1295: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_FLAG, pAvgL);
1296: If pAvgL = 'Y' Then
1297: --This is a formula calculated in another column, we can have AvgL on a that.
1298: --We need to internal columns: one for total and one for counter
1299: --Also we need to add the internal columns in gLov and in

Line 1307: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_TOTAL_COLUMN, pAvgLTotal);

1303: --Update the measure property pAvgLTotal in the database
1304: SetMeasurePropertyDB( l_measure_name, BSC_METADATA_OPTIMIZER_PKG.C_PAVGLTOTAL, pAvgLTotal);
1305: END IF;
1306: --AddInternalColumnInDB(pAvgLTotal, 2, Measures, l_num_measures);
1307: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_TOTAL_COLUMN, pAvgLTotal);
1308: If pAvgLCounter IS NULL Then
1309: pAvgLCounter := get_Next_Internal_Column_Name;
1310: --Update the measure property pAvgLTotal in the database
1311: SetMeasurePropertyDB( l_measure_name, BSC_METADATA_OPTIMIZER_PKG.C_PAVGLCOUNTER, pAvgLCounter);

Line 1314: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_COUNTER_COLUMN, pAvgLCounter);

1310: --Update the measure property pAvgLTotal in the database
1311: SetMeasurePropertyDB( l_measure_name, BSC_METADATA_OPTIMIZER_PKG.C_PAVGLCOUNTER, pAvgLCounter);
1312: END IF;
1313: --AddInternalColumnInDB( pAvgLCounter, 3, Measures, l_num_measures);
1314: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_COUNTER_COLUMN, pAvgLCounter);
1315: END IF;
1316: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 1); --Internal column for formula
1317: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_SOURCE, l_measure_name); -- Formula Example A/
1318: colMeasures(colMeasures.last +1 ) := l_measure;

Line 1316: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 1); --Internal column for formula

1312: END IF;
1313: --AddInternalColumnInDB( pAvgLCounter, 3, Measures, l_num_measures);
1314: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_COUNTER_COLUMN, pAvgLCounter);
1315: END IF;
1316: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 1); --Internal column for formula
1317: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_SOURCE, l_measure_name); -- Formula Example A/
1318: colMeasures(colMeasures.last +1 ) := l_measure;
1319: If pAvgL = 'Y' Then
1320: --Add the two internal column for AvgL in the collection

Line 1317: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_SOURCE, l_measure_name); -- Formula Example A/

1313: --AddInternalColumnInDB( pAvgLCounter, 3, Measures, l_num_measures);
1314: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_COUNTER_COLUMN, pAvgLCounter);
1315: END IF;
1316: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 1); --Internal column for formula
1317: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_SOURCE, l_measure_name); -- Formula Example A/
1318: colMeasures(colMeasures.last +1 ) := l_measure;
1319: If pAvgL = 'Y' Then
1320: --Add the two internal column for AvgL in the collection
1321: --Bug 2993089: When the column is not a formula but has the option

Line 1333: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_FLAG, 'N');

1329: l_measure.measure_Name := pAvgLTotal;
1330: l_measure.AGGREGATION_method := 'SUM';
1331: l_measure.datatype := 'NUMBER';
1332: --l_measure.Origen is not set
1333: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_FLAG, 'N');
1334: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 2); -- 'Internal column for Total of AvgL
1335: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_SOURCE, l_measure_name); -- Formula Example A/B
1336: colMeasures(colMeasures.last+1) := l_measure ;
1337: END IF;

Line 1334: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 2); -- 'Internal column for Total of AvgL

1330: l_measure.AGGREGATION_method := 'SUM';
1331: l_measure.datatype := 'NUMBER';
1332: --l_measure.Origen is not set
1333: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_FLAG, 'N');
1334: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 2); -- 'Internal column for Total of AvgL
1335: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_SOURCE, l_measure_name); -- Formula Example A/B
1336: colMeasures(colMeasures.last+1) := l_measure ;
1337: END IF;
1338: --Column for Counter

Line 1335: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_SOURCE, l_measure_name); -- Formula Example A/B

1331: l_measure.datatype := 'NUMBER';
1332: --l_measure.Origen is not set
1333: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_FLAG, 'N');
1334: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 2); -- 'Internal column for Total of AvgL
1335: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_SOURCE, l_measure_name); -- Formula Example A/B
1336: colMeasures(colMeasures.last+1) := l_measure ;
1337: END IF;
1338: --Column for Counter
1339: If Not measure_exists(colMeasures, pAvgLCounter, 'BSC') Then

Line 1345: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_FLAG, 'N');

1341: l_measure.measure_name := pAvgLCounter;
1342: l_measure.AGGREGATION_METHOD := 'SUM';
1343: l_measure.datatype := 'NUMBER';
1344: --l_measure.Origen is not set
1345: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_FLAG, 'N');
1346: --l_measure.avgLTotalColumn does not apply
1347: --l_measure.avgLCounterColumn does not apply
1348: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 3); --Internal column for Counter of AvgL
1349: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_SOURCE, l_measure_name); -- Formula Example A/B

Line 1348: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 3); --Internal column for Counter of AvgL

1344: --l_measure.Origen is not set
1345: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_FLAG, 'N');
1346: --l_measure.avgLTotalColumn does not apply
1347: --l_measure.avgLCounterColumn does not apply
1348: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 3); --Internal column for Counter of AvgL
1349: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_SOURCE, l_measure_name); -- Formula Example A/B
1350: colMeasures(colMeasures.last+1) := l_measure ;
1351: END IF;
1352: END IF;

Line 1349: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_SOURCE, l_measure_name); -- Formula Example A/B

1345: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.AVGL_FLAG, 'N');
1346: --l_measure.avgLTotalColumn does not apply
1347: --l_measure.avgLCounterColumn does not apply
1348: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_TYPE, 3); --Internal column for Counter of AvgL
1349: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.INTERNAL_COLUMN_SOURCE, l_measure_name); -- Formula Example A/B
1350: colMeasures(colMeasures.last+1) := l_measure ;
1351: END IF;
1352: END IF;
1353: END IF;

Line 1365: FUNCTION Get_Measures_For_Fact(p_fact IN VARCHAR2, p_dim_set IN NUMBER, p_include_derived_columns IN BOOLEAN default false) return BSC_DBGEN_STD_METADATA.tab_clsMeasure IS

1361: fnd_file.put_line(fnd_file.log, 'Exception in bsc_dbgen_bsc_reader.get_measures_for_fact, p_fact='||p_fact||', dimset='||p_dim_set||g_error);
1362: RAISE;
1363: END;
1364:
1365: FUNCTION Get_Measures_For_Fact(p_fact IN VARCHAR2, p_dim_set IN NUMBER, p_include_derived_columns IN BOOLEAN default false) return BSC_DBGEN_STD_METADATA.tab_clsMeasure IS
1366:
1367: CURSOR cMeasureList IS
1368: SELECT M.MEASURE_COL, NVL(M.OPERATION, 'SUM') AS OPER, m.source measure_source
1369: FROM BSC_SYS_MEASURES M, BSC_DB_MEASURE_BY_DIM_SET_V I

Line 1382: ColMeasures BSC_DBGEN_STD_METADATA.tab_clsMeasure;

1378: FROM BSC_DB_MEASURE_COLS_VL COLS , BSC_SYS_MEASURES sysm
1379: WHERE sysm.measure_col = cols.measure_col(+)
1380: AND sysm.measure_col = p_col;
1381: l_measure_row cProperties%ROWTYPE;
1382: ColMeasures BSC_DBGEN_STD_METADATA.tab_clsMeasure;
1383: l_num_measures NUMBER;
1384: l_measures_list DBMS_SQL.VARCHAR2_TABLE;
1385: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;
1386: l_measure_null BSC_DBGEN_STD_METADATA.clsMeasure;

Line 1385: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;

1381: l_measure_row cProperties%ROWTYPE;
1382: ColMeasures BSC_DBGEN_STD_METADATA.tab_clsMeasure;
1383: l_num_measures NUMBER;
1384: l_measures_list DBMS_SQL.VARCHAR2_TABLE;
1385: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;
1386: l_measure_null BSC_DBGEN_STD_METADATA.clsMeasure;
1387:
1388: BEGIN
1389: IF (p_include_derived_columns) THEN

Line 1386: l_measure_null BSC_DBGEN_STD_METADATA.clsMeasure;

1382: ColMeasures BSC_DBGEN_STD_METADATA.tab_clsMeasure;
1383: l_num_measures NUMBER;
1384: l_measures_list DBMS_SQL.VARCHAR2_TABLE;
1385: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;
1386: l_measure_null BSC_DBGEN_STD_METADATA.clsMeasure;
1387:
1388: BEGIN
1389: IF (p_include_derived_columns) THEN
1390: return get_all_measures_for_fact(p_fact, p_dim_set);

Line 1415: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.PROJECTION_ID, l_measure_row.projection_id);

1411: --1: Statistic
1412: --2: Balance
1413: l_measure.Measure_Type := l_measure_row.measure_type;
1414: l_measure.measure_group := l_measure_row.measure_group_id;
1415: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.PROJECTION_ID, l_measure_row.projection_id);
1416: colMeasures(colMeasures.count+1) := l_measure;
1417: END IF;
1418: END LOOP;
1419: END IF;

Line 1437: FUNCTION Get_Periodicities_For_Fact(p_fact IN VARCHAR2) RETURN BSC_DBGEN_STD_METADATA.tab_ClsPeriodicity IS

1433: -- Indic: indicator code
1434: -- AUTHOR/DATE - MODIFICATIONS (AUTHOR/DATE/DESCRIPTION):
1435: --***************************************************************************
1436:
1437: FUNCTION Get_Periodicities_For_Fact(p_fact IN VARCHAR2) RETURN BSC_DBGEN_STD_METADATA.tab_ClsPeriodicity IS
1438: colPeriodicities BSC_DBGEN_STD_METADATA.tab_ClsPeriodicity;
1439: CURSOR cPeriodicities IS
1440: SELECT kpi.PERIODICITY_ID, NVL(TARGET_LEVEL, 1) AS TARGET_LEVEL, s.calendar_id
1441: FROM BSC_KPI_PERIODICITIES kpi, bsc_sys_periodicities s

Line 1438: colPeriodicities BSC_DBGEN_STD_METADATA.tab_ClsPeriodicity;

1434: -- AUTHOR/DATE - MODIFICATIONS (AUTHOR/DATE/DESCRIPTION):
1435: --***************************************************************************
1436:
1437: FUNCTION Get_Periodicities_For_Fact(p_fact IN VARCHAR2) RETURN BSC_DBGEN_STD_METADATA.tab_ClsPeriodicity IS
1438: colPeriodicities BSC_DBGEN_STD_METADATA.tab_ClsPeriodicity;
1439: CURSOR cPeriodicities IS
1440: SELECT kpi.PERIODICITY_ID, NVL(TARGET_LEVEL, 1) AS TARGET_LEVEL, s.calendar_id
1441: FROM BSC_KPI_PERIODICITIES kpi, bsc_sys_periodicities s
1442: WHERE

Line 1446: l_periodicity BSC_DBGEN_STD_METADATA.ClsPeriodicity ;

1442: WHERE
1443: kpi.periodicity_id = s.periodicity_id
1444: AND kpi.INDICATOR = to_number(p_fact)
1445: ORDER BY PERIODICITY_ID;
1446: l_periodicity BSC_DBGEN_STD_METADATA.ClsPeriodicity ;
1447: cRow cPeriodicities%ROWTYPE;
1448: BEGIN
1449:
1450: OPEN cPeriodicities;

Line 1456: bsc_dbgen_utils.add_property(l_periodicity.properties, BSC_DBGEN_STD_METADATA.TARGET_LEVEL, cRow.target_level);

1452: FETCH cPeriodicities INTO cRow;
1453: EXIT WHEN cPeriodicities%NOTFOUND;
1454: l_periodicity.periodicity_id := cRow.periodicity_id;
1455: l_periodicity.calendar_id := cRow.calendar_id;
1456: bsc_dbgen_utils.add_property(l_periodicity.properties, BSC_DBGEN_STD_METADATA.TARGET_LEVEL, cRow.target_level);
1457: colPeriodicities(colPeriodicities.count+1) := l_periodicity;
1458: END LOOP;
1459: close cPeriodicities;
1460: colPeriodicities := configure_parent_periods(colPeriodicities);

Line 1482: RETURN BSC_DBGEN_STD_METADATA.tab_clsDimension IS

1478: --
1479: -- AUTHOR/DATE - MODIFICATIONS (AUTHOR/DATE/DESCRIPTION):
1480: --***************************************************************************
1481: Function get_dimensions_for_fact(p_fact IN VARCHAR2, p_dim_set IN NUMBER, p_include_missing_levels IN boolean)
1482: RETURN BSC_DBGEN_STD_METADATA.tab_clsDimension IS
1483:
1484: l_dimensions BSC_DBGEN_STD_METADATA.tab_clsDimension;
1485: DimensionLevels BSC_DBGEN_STD_METADATA.clsDimension;
1486: l_missing_levels DBMS_SQL.VARCHAR2_TABLE;

Line 1484: l_dimensions BSC_DBGEN_STD_METADATA.tab_clsDimension;

1480: --***************************************************************************
1481: Function get_dimensions_for_fact(p_fact IN VARCHAR2, p_dim_set IN NUMBER, p_include_missing_levels IN boolean)
1482: RETURN BSC_DBGEN_STD_METADATA.tab_clsDimension IS
1483:
1484: l_dimensions BSC_DBGEN_STD_METADATA.tab_clsDimension;
1485: DimensionLevels BSC_DBGEN_STD_METADATA.clsDimension;
1486: l_missing_levels DBMS_SQL.VARCHAR2_TABLE;
1487: cLevel BSC_DBGEN_STD_METADATA.clsLevel;
1488:

Line 1485: DimensionLevels BSC_DBGEN_STD_METADATA.clsDimension;

1481: Function get_dimensions_for_fact(p_fact IN VARCHAR2, p_dim_set IN NUMBER, p_include_missing_levels IN boolean)
1482: RETURN BSC_DBGEN_STD_METADATA.tab_clsDimension IS
1483:
1484: l_dimensions BSC_DBGEN_STD_METADATA.tab_clsDimension;
1485: DimensionLevels BSC_DBGEN_STD_METADATA.clsDimension;
1486: l_missing_levels DBMS_SQL.VARCHAR2_TABLE;
1487: cLevel BSC_DBGEN_STD_METADATA.clsLevel;
1488:
1489: Level_null BSC_DBGEN_STD_METADATA.clsLevel;

Line 1487: cLevel BSC_DBGEN_STD_METADATA.clsLevel;

1483:
1484: l_dimensions BSC_DBGEN_STD_METADATA.tab_clsDimension;
1485: DimensionLevels BSC_DBGEN_STD_METADATA.clsDimension;
1486: l_missing_levels DBMS_SQL.VARCHAR2_TABLE;
1487: cLevel BSC_DBGEN_STD_METADATA.clsLevel;
1488:
1489: Level_null BSC_DBGEN_STD_METADATA.clsLevel;
1490: Parents1N varchar2(1000);
1491: ParentsMN varchar2(1000);

Line 1489: Level_null BSC_DBGEN_STD_METADATA.clsLevel;

1485: DimensionLevels BSC_DBGEN_STD_METADATA.clsDimension;
1486: l_missing_levels DBMS_SQL.VARCHAR2_TABLE;
1487: cLevel BSC_DBGEN_STD_METADATA.clsLevel;
1488:
1489: Level_null BSC_DBGEN_STD_METADATA.clsLevel;
1490: Parents1N varchar2(1000);
1491: ParentsMN varchar2(1000);
1492: tParents1N varchar2(1000);
1493: tParentsMN varchar2(1000);

Line 1515: l_missing_level BSC_DBGEN_STD_METADATA.clsLevel;

1511: cursor cMissing(p_missing_level VARCHAR2) IS
1512: SELECT DISTINCT LEVEL_PK_COL, NAME, 1 TAR_LEVEL
1513: FROM BSC_SYS_DIM_LEVELS_VL WHERE LEVEL_TABLE_NAME = p_missing_level;
1514: l_missing_level_info cMissing%ROWTYPE;
1515: l_missing_level BSC_DBGEN_STD_METADATA.clsLevel;
1516: l_current_level_index NUMBER := 0;
1517:
1518: l_level_parent BSC_DBGEN_STD_METADATA.clsLevel;
1519: l_level_null BSC_DBGEN_STD_METADATA.clsLevel;

Line 1518: l_level_parent BSC_DBGEN_STD_METADATA.clsLevel;

1514: l_missing_level_info cMissing%ROWTYPE;
1515: l_missing_level BSC_DBGEN_STD_METADATA.clsLevel;
1516: l_current_level_index NUMBER := 0;
1517:
1518: l_level_parent BSC_DBGEN_STD_METADATA.clsLevel;
1519: l_level_null BSC_DBGEN_STD_METADATA.clsLevel;
1520:
1521: BEGIN
1522: l_stmt := 'SELECT DISTINCT kpidim.DIM_LEVEL_INDEX, kpidim.LEVEL_TABLE_NAME, kpidim.LEVEL_PK_COL, kpidim.NAME, NVL(kpidim.TARGET_LEVEL,1) AS TAR_LEVEL' ||

Line 1519: l_level_null BSC_DBGEN_STD_METADATA.clsLevel;

1515: l_missing_level BSC_DBGEN_STD_METADATA.clsLevel;
1516: l_current_level_index NUMBER := 0;
1517:
1518: l_level_parent BSC_DBGEN_STD_METADATA.clsLevel;
1519: l_level_null BSC_DBGEN_STD_METADATA.clsLevel;
1520:
1521: BEGIN
1522: l_stmt := 'SELECT DISTINCT kpidim.DIM_LEVEL_INDEX, kpidim.LEVEL_TABLE_NAME, kpidim.LEVEL_PK_COL, kpidim.NAME, NVL(kpidim.TARGET_LEVEL,1) AS TAR_LEVEL' ||
1523: ' , sysdim.dim_level_id, kpidim.parent_level_rel FROM BSC_KPI_DIM_LEVELS_VL kpidim, BSC_SYS_DIM_LEVELS_B sysdim

Line 1545: bsc_dbgen_utils.add_property(cLevel.properties, BSC_DBGEN_STD_METADATA.TARGET_LEVEL, TargetLevel);

1541: cLevel.level_pk := l_level_pk;
1542: cLevel.level_table_name := l_level_table;
1543: cLevel.level_Name := l_level_table;
1544: cLevel.level_fk := l_level_Fk;
1545: bsc_dbgen_utils.add_property(cLevel.properties, BSC_DBGEN_STD_METADATA.TARGET_LEVEL, TargetLevel);
1546: l_dimension_index := get_dimension_index(l_dimensions, l_level_table, p_include_missing_levels, l_missing_levels);
1547: --Get the index of the drill family which this drill belongs to.
1548: If l_dimension_index <> -1 Then
1549: --Level belongs to family l_dimension_index.

Line 1560: bsc_dbgen_utils.add_property(l_missing_level.properties, BSC_DBGEN_STD_METADATA.MISSING_LEVEL, 'Y');

1556: l_missing_level := level_null;
1557: l_missing_level.level_pk := l_missing_level_info.level_pk_col;
1558: l_missing_level.level_table_name := l_missing_levels(i);
1559: l_missing_level.level_name := l_missing_levels(i);
1560: bsc_dbgen_utils.add_property(l_missing_level.properties, BSC_DBGEN_STD_METADATA.MISSING_LEVEL, 'Y');
1561: l_current_level_index := l_current_level_index + 1;
1562: l_missing_level.level_index := l_current_level_index ;
1563: l_dimensions(l_dimensions.count).Hierarchies(1).Levels(l_current_level_index) := l_missing_level;
1564: END LOOP;

Line 1571: IF bsc_dbgen_utils.get_property_value(cLevel.properties, BSC_DBGEN_STD_METADATA.TARGET_LEVEL) = '1' Then

1567: END IF;
1568: -- needed to handle missing levels
1569: cLevel.level_index := l_current_level_index;
1570: --Review target levels
1571: IF bsc_dbgen_utils.get_property_value(cLevel.properties, BSC_DBGEN_STD_METADATA.TARGET_LEVEL) = '1' Then
1572: --If target apply to this level, then
1573: --it must apply for all parents
1574: IF l_dimensions(l_dimension_index).Hierarchies(1).Levels.count>0 THEN
1575: FOR j IN l_dimensions(l_dimension_index).Hierarchies(1).Levels.first..l_dimensions(l_dimension_index).Hierarchies(1).Levels.last LOOP

Line 1576: bsc_dbgen_utils.add_property(l_dimensions(l_dimension_index).Hierarchies(1).Levels(j).properties, BSC_DBGEN_STD_METADATA.TARGET_LEVEL, 1);

1572: --If target apply to this level, then
1573: --it must apply for all parents
1574: IF l_dimensions(l_dimension_index).Hierarchies(1).Levels.count>0 THEN
1575: FOR j IN l_dimensions(l_dimension_index).Hierarchies(1).Levels.first..l_dimensions(l_dimension_index).Hierarchies(1).Levels.last LOOP
1576: bsc_dbgen_utils.add_property(l_dimensions(l_dimension_index).Hierarchies(1).Levels(j).properties, BSC_DBGEN_STD_METADATA.TARGET_LEVEL, 1);
1577: END LOOP;
1578: END IF;
1579: END IF;
1580: -- set parent levels

Line 1608: bsc_dbgen_utils.add_property(cLevel.properties, BSC_DBGEN_STD_METADATA.TARGET_LEVEL, 1);

1604: --Review target level
1605: --This is the first Level in this family, then target must apply
1606: l_current_level_index := 1;
1607: cLevel.level_index := l_current_level_index;
1608: bsc_dbgen_utils.add_property(cLevel.properties, BSC_DBGEN_STD_METADATA.TARGET_LEVEL, 1);
1609: l_dimensions(l_dimensions.count+1).Hierarchies(1).Levels(1) := cLevel;
1610: END IF;
1611: END Loop;
1612: close cv;

Line 1624: ) RETURN BSC_DBGEN_STD_METADATA.tab_ClsLevelRelationship IS

1620:
1621: function get_parents_for_level(
1622: p_level_name varchar2,
1623: p_num_levels number default 1000000
1624: ) RETURN BSC_DBGEN_STD_METADATA.tab_ClsLevelRelationship IS
1625: CURSOR cParents IS
1626: select parent_lvl.level_table_name parent_level, lvl.level_table_name child_level, 'CODE' parent_pk, parent_lvl.level_pk_col child_fk, level
1627: from
1628: bsc_sys_dim_level_rels rels,

Line 1643: l_lvl_rel BSC_DBGEN_STD_METADATA.ClsLevelRelationship;

1639: start with rels.dim_level_id in
1640: (select dim_level_id from bsc_sys_dim_levels_b where level_table_name = p_level_name)
1641: order by level;
1642:
1643: l_lvl_rel BSC_DBGEN_STD_METADATA.ClsLevelRelationship;
1644: l_tab_rels BSC_DBGEN_STD_METADATA.tab_ClsLevelRelationship;
1645: l_count NUMBER := 1;
1646: BEGIN
1647: FOR i IN cParents

Line 1644: l_tab_rels BSC_DBGEN_STD_METADATA.tab_ClsLevelRelationship;

1640: (select dim_level_id from bsc_sys_dim_levels_b where level_table_name = p_level_name)
1641: order by level;
1642:
1643: l_lvl_rel BSC_DBGEN_STD_METADATA.ClsLevelRelationship;
1644: l_tab_rels BSC_DBGEN_STD_METADATA.tab_ClsLevelRelationship;
1645: l_count NUMBER := 1;
1646: BEGIN
1647: FOR i IN cParents
1648: LOOP

Line 1665: ) RETURN BSC_DBGEN_STD_METADATA.tab_ClsLevelRelationship IS

1661:
1662: function get_children_for_level(
1663: p_level_name varchar2,
1664: p_num_levels number default 1000000
1665: ) RETURN BSC_DBGEN_STD_METADATA.tab_ClsLevelRelationship IS
1666: CURSOR cChildren IS
1667: select parent_lvl.level_table_name parent_level, lvl.level_table_name child_level, 'CODE' parent_pk, rels.relation_col child_fk, level
1668: from
1669: bsc_sys_dim_level_rels rels,

Line 1682: l_lvl_rel BSC_DBGEN_STD_METADATA.ClsLevelRelationship;

1678: and rels.dim_level_id <> rels.parent_dim_level_id
1679: start with rels.parent_dim_level_id in
1680: (select dim_level_id from bsc_sys_dim_levels_b where level_table_name = p_level_name)
1681: order by level;
1682: l_lvl_rel BSC_DBGEN_STD_METADATA.ClsLevelRelationship;
1683: l_tab_rels BSC_DBGEN_STD_METADATA.tab_ClsLevelRelationship;
1684: BEGIN
1685: FOR i IN cChildren
1686: LOOP

Line 1683: l_tab_rels BSC_DBGEN_STD_METADATA.tab_ClsLevelRelationship;

1679: start with rels.parent_dim_level_id in
1680: (select dim_level_id from bsc_sys_dim_levels_b where level_table_name = p_level_name)
1681: order by level;
1682: l_lvl_rel BSC_DBGEN_STD_METADATA.ClsLevelRelationship;
1683: l_tab_rels BSC_DBGEN_STD_METADATA.tab_ClsLevelRelationship;
1684: BEGIN
1685: FOR i IN cChildren
1686: LOOP
1687: l_lvl_rel.Parent_Level := i.parent_level;

Line 1701: ) return BSC_DBGEN_STD_METADATA.clsLevel is

1697: END;
1698:
1699: function get_level_info(
1700: p_level varchar2
1701: ) return BSC_DBGEN_STD_METADATA.clsLevel is
1702: l_level BSC_DBGEN_STD_METADATA.clsLevel ;
1703: CURSOR c_level IS
1704: SELECT dim_level_id , level_pk_col
1705: FROM bsc_sys_dim_levels_b

Line 1702: l_level BSC_DBGEN_STD_METADATA.clsLevel ;

1698:
1699: function get_level_info(
1700: p_level varchar2
1701: ) return BSC_DBGEN_STD_METADATA.clsLevel is
1702: l_level BSC_DBGEN_STD_METADATA.clsLevel ;
1703: CURSOR c_level IS
1704: SELECT dim_level_id , level_pk_col
1705: FROM bsc_sys_dim_levels_b
1706: WHERE level_table_name = p_level;

Line 1721: function get_facts_for_levels(p_levels dbms_sql.varchar2_table) return BSC_DBGEN_STD_METADATA.tab_clsFact is

1717: fnd_file.put_line(FND_FILE.LOG, 'Error in BSC_DBGEN_BSC_READER.Get_Level_Info:level='||p_level||', error='||sqlerrm);
1718: raise;
1719: End;
1720:
1721: function get_facts_for_levels(p_levels dbms_sql.varchar2_table) return BSC_DBGEN_STD_METADATA.tab_clsFact is
1722: l_facts BSC_DBGEN_STD_METADATA.tab_clsFact ;
1723: l_fact BSC_DBGEN_STD_METADATA.clsFact;
1724: l_stmt VARCHAR2(1000);
1725: TYPE CurTyp IS REF CURSOR;

Line 1722: l_facts BSC_DBGEN_STD_METADATA.tab_clsFact ;

1718: raise;
1719: End;
1720:
1721: function get_facts_for_levels(p_levels dbms_sql.varchar2_table) return BSC_DBGEN_STD_METADATA.tab_clsFact is
1722: l_facts BSC_DBGEN_STD_METADATA.tab_clsFact ;
1723: l_fact BSC_DBGEN_STD_METADATA.clsFact;
1724: l_stmt VARCHAR2(1000);
1725: TYPE CurTyp IS REF CURSOR;
1726: cv CurTyp;

Line 1723: l_fact BSC_DBGEN_STD_METADATA.clsFact;

1719: End;
1720:
1721: function get_facts_for_levels(p_levels dbms_sql.varchar2_table) return BSC_DBGEN_STD_METADATA.tab_clsFact is
1722: l_facts BSC_DBGEN_STD_METADATA.tab_clsFact ;
1723: l_fact BSC_DBGEN_STD_METADATA.clsFact;
1724: l_stmt VARCHAR2(1000);
1725: TYPE CurTyp IS REF CURSOR;
1726: cv CurTyp;
1727: l_dim_sets DBMS_SQL.NUMBER_TABLE;

Line 1816: p_table_type VARCHAR2) return BSC_DBGEN_STD_METADATA.tab_clsLevel is

1812:
1813:
1814: function get_levels_for_table(
1815: p_table_name varchar2,
1816: p_table_type VARCHAR2) return BSC_DBGEN_STD_METADATA.tab_clsLevel is
1817: l_level BSC_DBGEN_STD_METADATA.clsLevel ;
1818: cursor cLevels(p_s_table VARCHAR2) IS
1819: select distinct dim_level_id, level_table_name, level_pk_col from bsc_db_tables_cols cols, bsc_sys_dim_levels_b lvl
1820: where

Line 1817: l_level BSC_DBGEN_STD_METADATA.clsLevel ;

1813:
1814: function get_levels_for_table(
1815: p_table_name varchar2,
1816: p_table_type VARCHAR2) return BSC_DBGEN_STD_METADATA.tab_clsLevel is
1817: l_level BSC_DBGEN_STD_METADATA.clsLevel ;
1818: cursor cLevels(p_s_table VARCHAR2) IS
1819: select distinct dim_level_id, level_table_name, level_pk_col from bsc_db_tables_cols cols, bsc_sys_dim_levels_b lvl
1820: where
1821: cols.table_name like p_s_table

Line 1825: l_level_list BSC_DBGEN_STD_METADATA.tab_clsLevel ;

1821: cols.table_name like p_s_table
1822: and cols.column_type='P'
1823: and cols.column_name = lvl.level_pk_col;
1824: l_table_name VARCHAR2(100) ;
1825: l_level_list BSC_DBGEN_STD_METADATA.tab_clsLevel ;
1826: Begin
1827: IF (p_table_type='MV' or p_Table_type='VIEW') THEN
1828: IF (p_table_name like '%ZMV') THEN
1829: l_table_name :=substr(p_table_name, 1, instr(p_table_name, '_ZMV'))||'%';

Line 1899: return BSC_DBGEN_STD_METADATA.tab_clsMeasure IS

1895: p_fact varchar2,
1896: p_dim_set varchar2,
1897: p_base_table varchar2,
1898: p_include_derived_columns boolean)
1899: return BSC_DBGEN_STD_METADATA.tab_clsMeasure IS
1900: CURSOR cMeasures(p_s_table IN VARCHAR2) is
1901: select distinct s_table.column_name
1902: , s_table.source_formula
1903: , measures.MEASURE_GROUP_ID

Line 1949: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;

1945: and s_table.column_name like 'BSCIC%'
1946: and s_table.column_type = 'A'
1947: and measures.measure_col = s_table.column_name
1948: AND measures.measure_col = sysm.measure_col(+);
1949: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;
1950: l_measure_list BSC_DBGEN_STD_METADATA.tab_clsMeasure;
1951: -- there can be multiple Base tables feeding this kpi
1952: -- this may be because of different lowest level periodicities or different measures from diff. tables
1953: CURSOR cLowestStable IS

Line 1950: l_measure_list BSC_DBGEN_STD_METADATA.tab_clsMeasure;

1946: and s_table.column_type = 'A'
1947: and measures.measure_col = s_table.column_name
1948: AND measures.measure_col = sysm.measure_col(+);
1949: l_measure BSC_DBGEN_STD_METADATA.clsMeasure;
1950: l_measure_list BSC_DBGEN_STD_METADATA.tab_clsMeasure;
1951: -- there can be multiple Base tables feeding this kpi
1952: -- this may be because of different lowest level periodicities or different measures from diff. tables
1953: CURSOR cLowestStable IS
1954: SELECT table_name FROM

Line 1981: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.PROJECTION_ID, i.projection_id);

1977: -- just get the operator
1978: l_measure.aggregation_method := substr(i.source_formula, 1, instr(i.source_formula, '(')-1);
1979: l_measure.datatype := 'NUMBER';
1980: l_measure.measure_group := i.measure_group_id;
1981: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.PROJECTION_ID, i.projection_id);
1982: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.SOURCE_FORMULA, i.source_formula);
1983: l_measure_list(l_measure_list.count+1) := l_measure;
1984: END LOOP;
1985: ELSE

Line 1982: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.SOURCE_FORMULA, i.source_formula);

1978: l_measure.aggregation_method := substr(i.source_formula, 1, instr(i.source_formula, '(')-1);
1979: l_measure.datatype := 'NUMBER';
1980: l_measure.measure_group := i.measure_group_id;
1981: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.PROJECTION_ID, i.projection_id);
1982: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.SOURCE_FORMULA, i.source_formula);
1983: l_measure_list(l_measure_list.count+1) := l_measure;
1984: END LOOP;
1985: ELSE
1986: FOR i IN cMeasuresIncludeDerived(l_lowest_s_table) LOOP

Line 1994: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.PROJECTION_ID, i.projection_id);

1990: -- just get the operator
1991: l_measure.aggregation_method := substr(i.source_formula, 1, instr(i.source_formula, '(')-1);
1992: l_measure.datatype := 'NUMBER';
1993: l_measure.measure_group := i.measure_group_id;
1994: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.PROJECTION_ID, i.projection_id);
1995: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.SOURCE_FORMULA, i.source_formula);
1996: -- Bug 4540103 if its a BSCIC column check which B table its from
1997: if i.column_name like 'BSCIC%' then
1998: if is_BSCIC_column_from_b_table(l_lowest_s_table, p_base_table, i.column_name) then

Line 1995: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.SOURCE_FORMULA, i.source_formula);

1991: l_measure.aggregation_method := substr(i.source_formula, 1, instr(i.source_formula, '(')-1);
1992: l_measure.datatype := 'NUMBER';
1993: l_measure.measure_group := i.measure_group_id;
1994: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.PROJECTION_ID, i.projection_id);
1995: bsc_dbgen_utils.add_property(l_measure.properties, BSC_DBGEN_STD_METADATA.SOURCE_FORMULA, i.source_formula);
1996: -- Bug 4540103 if its a BSCIC column check which B table its from
1997: if i.column_name like 'BSCIC%' then
1998: if is_BSCIC_column_from_b_table(l_lowest_s_table, p_base_table, i.column_name) then
1999: l_measure_list(l_measure_list.count+1) := l_measure;

Line 2049: p_dim_set varchar2) return BSC_DBGEN_STD_METADATA.tab_clsLevel is

2045:
2046:
2047: function get_zero_code_levels(
2048: p_fact varchar2,
2049: p_dim_set varchar2) return BSC_DBGEN_STD_METADATA.tab_clsLevel is
2050: CURSOR cSTable(p_num_zero_code in number) IS
2051: select table_name, count(1) ct from bsc_db_calculations
2052: where table_name like 'BSC_S_%'||p_fact||'_'||p_dim_set||'%'
2053: and calculation_type=4

Line 2089: l_level BSC_DBGEN_STD_METADATA.clsLevel ;

2085: and e.DIM_LEVEL_ID=c.DIM_LEVEL_ID
2086: and e.PARENT_DIM_LEVEL_ID=d.DIM_LEVEL_ID) b
2087: where b.LEVEL_TABLE_NAME=a.LEVEL_TABLE_NAME
2088: and b.relation_type<>1;
2089: l_level BSC_DBGEN_STD_METADATA.clsLevel ;
2090: l_level_list BSC_DBGEN_STD_METADATA.tab_clsLevel ;
2091: Begin
2092: --l_s_table_name := get_highest_s_table(p_fact, p_dim_set);
2093: --return get_levels_for_table(l_s_table_name, 'TABLE');

Line 2090: l_level_list BSC_DBGEN_STD_METADATA.tab_clsLevel ;

2086: and e.PARENT_DIM_LEVEL_ID=d.DIM_LEVEL_ID) b
2087: where b.LEVEL_TABLE_NAME=a.LEVEL_TABLE_NAME
2088: and b.relation_type<>1;
2089: l_level BSC_DBGEN_STD_METADATA.clsLevel ;
2090: l_level_list BSC_DBGEN_STD_METADATA.tab_clsLevel ;
2091: Begin
2092: --l_s_table_name := get_highest_s_table(p_fact, p_dim_set);
2093: --return get_levels_for_table(l_s_table_name, 'TABLE');
2094: /*5014050

Line 2383: l_measures BSC_DBGEN_STD_METADATA.tab_clsMeasure;

2379: function is_projection_enabled_for_kpi(
2380: p_kpi in varchar2
2381: ) return varchar2 is
2382: l_dim_sets dbms_sql.number_table;
2383: l_measures BSC_DBGEN_STD_METADATA.tab_clsMeasure;
2384: l_properties BSC_DBGEN_STD_METADATA.tab_ClsProperties;
2385: Begin
2386: l_dim_sets := bsc_dbgen_metadata_reader.get_dim_sets_for_fact(p_kpi);
2387: --DBMS_OUTPUT.PUT_LINE('L_DIM_SETS.COUNT = '||TO_CHAR(l_dim_sets.count));

Line 2384: l_properties BSC_DBGEN_STD_METADATA.tab_ClsProperties;

2380: p_kpi in varchar2
2381: ) return varchar2 is
2382: l_dim_sets dbms_sql.number_table;
2383: l_measures BSC_DBGEN_STD_METADATA.tab_clsMeasure;
2384: l_properties BSC_DBGEN_STD_METADATA.tab_ClsProperties;
2385: Begin
2386: l_dim_sets := bsc_dbgen_metadata_reader.get_dim_sets_for_fact(p_kpi);
2387: --DBMS_OUTPUT.PUT_LINE('L_DIM_SETS.COUNT = '||TO_CHAR(l_dim_sets.count));
2388: IF (l_dim_sets.count > 0) THEN

Line 2394: IF (bsc_dbgen_utils.get_property_value(l_properties, BSC_DBGEN_STD_METADATA.PROJECTION_ID) <> '0') THEN

2390: l_measures := bsc_dbgen_metadata_reader.get_measures_for_fact(p_kpi, l_dim_sets(i));
2391: IF (l_measures.count > 0) THEN
2392: FOR j IN l_measures.first..l_measures.last LOOP
2393: l_properties := l_measures(j).Properties;
2394: IF (bsc_dbgen_utils.get_property_value(l_properties, BSC_DBGEN_STD_METADATA.PROJECTION_ID) <> '0') THEN
2395: RETURN 'Y';
2396: END IF;
2397: END LOOP;
2398: END IF;

Line 2672: ) RETURN BSC_DBGEN_STD_METADATA.tab_ClsLevelRelationship IS

2668:
2669: function get_parents_for_level_aw(
2670: p_level_name varchar2,
2671: p_num_levels number default 1000000
2672: ) RETURN BSC_DBGEN_STD_METADATA.tab_ClsLevelRelationship IS
2673: CURSOR cParents IS
2674: select parent_lvl.level_table_name parent_level, lvl.level_table_name child_level, 'CODE' parent_pk,
2675: -- bug 5168537
2676: --rels.relation_col child_fk,

Line 2695: l_lvl_rel BSC_DBGEN_STD_METADATA.ClsLevelRelationship;

2691: start with rels.dim_level_id in
2692: (select dim_level_id from bsc_sys_dim_levels_b where level_table_name = p_level_name)
2693: order by level;
2694:
2695: l_lvl_rel BSC_DBGEN_STD_METADATA.ClsLevelRelationship;
2696: l_tab_rels BSC_DBGEN_STD_METADATA.tab_ClsLevelRelationship;
2697: l_count NUMBER := 1;
2698:
2699:

Line 2696: l_tab_rels BSC_DBGEN_STD_METADATA.tab_ClsLevelRelationship;

2692: (select dim_level_id from bsc_sys_dim_levels_b where level_table_name = p_level_name)
2693: order by level;
2694:
2695: l_lvl_rel BSC_DBGEN_STD_METADATA.ClsLevelRelationship;
2696: l_tab_rels BSC_DBGEN_STD_METADATA.tab_ClsLevelRelationship;
2697: l_count NUMBER := 1;
2698:
2699:
2700: BEGIN

Line 2722: ) RETURN BSC_DBGEN_STD_METADATA.tab_ClsLevelRelationship IS

2718:
2719: function get_children_for_level_aw(
2720: p_level_name varchar2,
2721: p_num_levels number default 1000000
2722: ) RETURN BSC_DBGEN_STD_METADATA.tab_ClsLevelRelationship IS
2723: CURSOR cChildren IS
2724: select parent_lvl.level_table_name parent_level, lvl.level_table_name child_level, 'CODE' parent_pk, rels.relation_col child_fk, level
2725: from
2726: bsc_sys_dim_level_rels rels,

Line 2739: l_lvl_rel BSC_DBGEN_STD_METADATA.ClsLevelRelationship;

2735: and rels.dim_level_id <> rels.parent_dim_level_id
2736: start with rels.parent_dim_level_id in
2737: (select dim_level_id from bsc_sys_dim_levels_b where level_table_name = p_level_name)
2738: order by level;
2739: l_lvl_rel BSC_DBGEN_STD_METADATA.ClsLevelRelationship;
2740: l_tab_rels BSC_DBGEN_STD_METADATA.tab_ClsLevelRelationship;
2741: BEGIN
2742: FOR i IN cChildren
2743: LOOP

Line 2740: l_tab_rels BSC_DBGEN_STD_METADATA.tab_ClsLevelRelationship;

2736: start with rels.parent_dim_level_id in
2737: (select dim_level_id from bsc_sys_dim_levels_b where level_table_name = p_level_name)
2738: order by level;
2739: l_lvl_rel BSC_DBGEN_STD_METADATA.ClsLevelRelationship;
2740: l_tab_rels BSC_DBGEN_STD_METADATA.tab_ClsLevelRelationship;
2741: BEGIN
2742: FOR i IN cChildren
2743: LOOP
2744: l_lvl_rel.Parent_Level := i.parent_level;

Line 2809: ) return BSC_DBGEN_STD_METADATA.tab_clsColumnMaps

2805: p_fact in varchar2,
2806: p_dim_set in number,
2807: p_b_table_name in varchar2,
2808: p_col_type in varchar2
2809: ) return BSC_DBGEN_STD_METADATA.tab_clsColumnMaps
2810: --BSC_DBGEN_STD_METADATA.tab_clsLevel
2811: is
2812: --Find Summary Table fed by this B table
2813: cursor cSummary(p_pattern in varchar2) is

Line 2810: --BSC_DBGEN_STD_METADATA.tab_clsLevel

2806: p_dim_set in number,
2807: p_b_table_name in varchar2,
2808: p_col_type in varchar2
2809: ) return BSC_DBGEN_STD_METADATA.tab_clsColumnMaps
2810: --BSC_DBGEN_STD_METADATA.tab_clsLevel
2811: is
2812: --Find Summary Table fed by this B table
2813: cursor cSummary(p_pattern in varchar2) is
2814: select distinct table_name from bsc_db_tables_rels

Line 2867: l_col_map BSC_DBGEN_STD_METADATA.clsColumnMaps;

2863: l_col_type2 VARCHAR2(10);
2864: TYPE CurTyp IS REF CURSOR;
2865: cv CurTyp;
2866:
2867: l_col_map BSC_DBGEN_STD_METADATA.clsColumnMaps;
2868: l_col_maps BSC_DBGEN_STD_METADATA.tab_clsColumnMaps;
2869:
2870: Begin
2871: init;

Line 2868: l_col_maps BSC_DBGEN_STD_METADATA.tab_clsColumnMaps;

2864: TYPE CurTyp IS REF CURSOR;
2865: cv CurTyp;
2866:
2867: l_col_map BSC_DBGEN_STD_METADATA.clsColumnMaps;
2868: l_col_maps BSC_DBGEN_STD_METADATA.tab_clsColumnMaps;
2869:
2870: Begin
2871: init;
2872: if (bsc_apps.table_exists(l_col_maps_table)=false) then

Line 2959: l_property_value := p_property_name||BSC_DBGEN_STD_METADATA.BSC_ASSIGNMENT||

2955: begin
2956: open get_old_value;
2957: fetch get_old_value into l_old_value;
2958: close get_old_value;
2959: l_property_value := p_property_name||BSC_DBGEN_STD_METADATA.BSC_ASSIGNMENT||
2960: p_property_value||BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR;
2961: if (l_old_value is null) then
2962: update bsc_db_tables
2963: set properties = l_property_value

Line 2960: p_property_value||BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR;

2956: open get_old_value;
2957: fetch get_old_value into l_old_value;
2958: close get_old_value;
2959: l_property_value := p_property_name||BSC_DBGEN_STD_METADATA.BSC_ASSIGNMENT||
2960: p_property_value||BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR;
2961: if (l_old_value is null) then
2962: update bsc_db_tables
2963: set properties = l_property_value
2964: where table_name = p_table_name;

Line 2968: l_pos := instr(l_old_value, BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR||p_property_name||BSC_DBGEN_STD_METADATA.BSC_ASSIGNMENT);

2964: where table_name = p_table_name;
2965: return;
2966: end if;
2967: -- already has some value, update it in place
2968: l_pos := instr(l_old_value, BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR||p_property_name||BSC_DBGEN_STD_METADATA.BSC_ASSIGNMENT);
2969: if l_pos = 0 then -- check if first value
2970: l_pos := instr(l_old_value, p_property_name||BSC_DBGEN_STD_METADATA.BSC_ASSIGNMENT);
2971: end if;
2972: if l_pos =0 then -- this value does not exist, so append it

Line 2970: l_pos := instr(l_old_value, p_property_name||BSC_DBGEN_STD_METADATA.BSC_ASSIGNMENT);

2966: end if;
2967: -- already has some value, update it in place
2968: l_pos := instr(l_old_value, BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR||p_property_name||BSC_DBGEN_STD_METADATA.BSC_ASSIGNMENT);
2969: if l_pos = 0 then -- check if first value
2970: l_pos := instr(l_old_value, p_property_name||BSC_DBGEN_STD_METADATA.BSC_ASSIGNMENT);
2971: end if;
2972: if l_pos =0 then -- this value does not exist, so append it
2973: update bsc_db_tables
2974: set properties = properties||l_property_value

Line 2982: instr(l_old_value, BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR, l_pos)+

2978: -- value exists, so update old value
2979: if l_pos = 1 then --first value
2980: l_final_value := l_property_Value;
2981: l_final_value := l_final_value||substr(l_old_value,
2982: instr(l_old_value, BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR, l_pos)+
2983: length(BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR) );
2984: else -- intermediate value
2985: l_final_value := substr(l_old_value, 1, l_pos-1+length(BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR))||l_property_value;
2986: l_final_value := l_final_value||substr(l_old_value,

Line 2983: length(BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR) );

2979: if l_pos = 1 then --first value
2980: l_final_value := l_property_Value;
2981: l_final_value := l_final_value||substr(l_old_value,
2982: instr(l_old_value, BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR, l_pos)+
2983: length(BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR) );
2984: else -- intermediate value
2985: l_final_value := substr(l_old_value, 1, l_pos-1+length(BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR))||l_property_value;
2986: l_final_value := l_final_value||substr(l_old_value,
2987: instr(l_old_value, BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR, l_pos, 2)+

Line 2985: l_final_value := substr(l_old_value, 1, l_pos-1+length(BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR))||l_property_value;

2981: l_final_value := l_final_value||substr(l_old_value,
2982: instr(l_old_value, BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR, l_pos)+
2983: length(BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR) );
2984: else -- intermediate value
2985: l_final_value := substr(l_old_value, 1, l_pos-1+length(BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR))||l_property_value;
2986: l_final_value := l_final_value||substr(l_old_value,
2987: instr(l_old_value, BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR, l_pos, 2)+
2988: length(BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR) );
2989: end if;

Line 2987: instr(l_old_value, BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR, l_pos, 2)+

2983: length(BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR) );
2984: else -- intermediate value
2985: l_final_value := substr(l_old_value, 1, l_pos-1+length(BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR))||l_property_value;
2986: l_final_value := l_final_value||substr(l_old_value,
2987: instr(l_old_value, BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR, l_pos, 2)+
2988: length(BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR) );
2989: end if;
2990: -- now add the rest of the string back
2991:

Line 2988: length(BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR) );

2984: else -- intermediate value
2985: l_final_value := substr(l_old_value, 1, l_pos-1+length(BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR))||l_property_value;
2986: l_final_value := l_final_value||substr(l_old_value,
2987: instr(l_old_value, BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR, l_pos, 2)+
2988: length(BSC_DBGEN_STD_METADATA.BSC_PROPERTY_SEPARATOR) );
2989: end if;
2990: -- now add the rest of the string back
2991:
2992: update bsc_db_tables