226: given a set of levels, find out the kpi/dimset which has ANY of the levels specified
227: */
228: /* Requested Signature
229: procedure get_kpi_for_dim(
230: p_levels dbms_sql.varchar2_table,
231: p_kpi out nocopy bsc_aw_adapter_dim.kpi_for_dim_tb) */
232: function get_facts_for_levels(p_levels dbms_sql.varchar2_table) return BSC_DBGEN_STD_METADATA.tab_clsFact is
233:
234:
228: /* Requested Signature
229: procedure get_kpi_for_dim(
230: p_levels dbms_sql.varchar2_table,
231: p_kpi out nocopy bsc_aw_adapter_dim.kpi_for_dim_tb) */
232: function get_facts_for_levels(p_levels dbms_sql.varchar2_table) return BSC_DBGEN_STD_METADATA.tab_clsFact is
233:
234:
235: l_facts BSC_DBGEN_STD_METADATA.tab_clsFact ;
236: l_fact_tmp BSC_DBGEN_STD_METADATA.tab_clsFact;
246: raise;
247: End;
248: /* Requested Signature
249: procedure get_dims_for_kpis(
250: p_kpi_list dbms_sql.varchar2_table,
251: p_dim_list out nocopy dbms_sql.varchar2_table)*/
252: -- use existing api
253:
254: /* Requested signature function is_dim_recursive(p_dim_level varchar2) return varchar2 is */
247: End;
248: /* Requested Signature
249: procedure get_dims_for_kpis(
250: p_kpi_list dbms_sql.varchar2_table,
251: p_dim_list out nocopy dbms_sql.varchar2_table)*/
252: -- use existing api
253:
254: /* Requested signature function is_dim_recursive(p_dim_level varchar2) return varchar2 is */
255: function is_dim_recursive(p_dim_level varchar2) return boolean is
284: */
285: -- Venu asked me to ignore this - 31 Jan 2005
286: /*
287: procedure get_dim_data_source(
288: p_level_list dbms_sql.varchar2_table,
289: p_level_pk_col out nocopy dbms_sql.varchar2_table,
290: p_data_source out nocopy varchar2,
291: p_inc_data_source out nocopy varchar2
292: ) is
285: -- Venu asked me to ignore this - 31 Jan 2005
286: /*
287: procedure get_dim_data_source(
288: p_level_list dbms_sql.varchar2_table,
289: p_level_pk_col out nocopy dbms_sql.varchar2_table,
290: p_data_source out nocopy varchar2,
291: p_inc_data_source out nocopy varchar2
292: ) is
293: Begin
328:
329: /* requested signature
330: procedure get_kpi_for_calendar(
331: p_calendar_id number,
332: p_kpi_list out nocopy dbms_sql.varchar2_table) is
333: */
334: function get_fact_ids_for_calendar(
335: p_calendar_id number) return dbms_sql.number_table
336: is
331: p_calendar_id number,
332: p_kpi_list out nocopy dbms_sql.varchar2_table) is
333: */
334: function get_fact_ids_for_calendar(
335: p_calendar_id number) return dbms_sql.number_table
336: is
337:
338:
339: cursor cCalendars IS
340: select kpi.indicator from bsc_kpi_periodicities kpi,
341: bsc_sys_periodicities sysper
342: where kpi.periodicity_id = sysper.periodicity_id
343: and sysper.calendar_id= p_calendar_id;
344: l_fact_ids dbms_sql.number_table;
345: l_fact_id number;
346: Begin
347: OPEN cCalendars;
348: LOOP
384: End;
385: /*Req signature
386: procedure get_kpi_dim_sets(
387: p_kpi varchar2,
388: p_dim_set out nocopy dbms_sql.varchar2_table
389: */
390:
391: function get_dim_sets_for_fact(
392: p_fact varchar2
389: */
390:
391: function get_dim_sets_for_fact(
392: p_fact varchar2
393: ) return dbms_sql.number_table
394: is
395:
396:
397: l_dim_sets dbms_sql.number_table;
393: ) return dbms_sql.number_table
394: is
395:
396:
397: l_dim_sets dbms_sql.number_table;
398: Begin
399: --IF get_fact_source(to_number(p_kpi)) = BSC_DBGEN_STD_METADATA.BSC THEN
400: l_dim_sets := BSC_DBGEN_BSC_READER.get_dim_sets_for_fact(to_number(p_fact));
401: --ELSE -- AK report
420: /*Requested Signature
421: procedure get_dim_set_dims(
422: p_kpi varchar2,
423: p_dim_set varchar2,
424: p_dim_level out nocopy dbms_sql.varchar2_table)*/
425:
426: -- use get_dimensions_for_fact
427:
428: /*
433: */
434: /*procedure get_dim_set_measures(
435: p_kpi varchar2,
436: p_dim_set varchar2,
437: p_measure out nocopy dbms_sql.varchar2_table,
438: p_measure_type out nocopy dbms_sql.varchar2_table,
439: p_data_type out nocopy dbms_sql.varchar2_table,
440: p_agg_formula out nocopy dbms_sql.varchar2_table)
441: Use get_measures_for_fact
434: /*procedure get_dim_set_measures(
435: p_kpi varchar2,
436: p_dim_set varchar2,
437: p_measure out nocopy dbms_sql.varchar2_table,
438: p_measure_type out nocopy dbms_sql.varchar2_table,
439: p_data_type out nocopy dbms_sql.varchar2_table,
440: p_agg_formula out nocopy dbms_sql.varchar2_table)
441: Use get_measures_for_fact
442: */
435: p_kpi varchar2,
436: p_dim_set varchar2,
437: p_measure out nocopy dbms_sql.varchar2_table,
438: p_measure_type out nocopy dbms_sql.varchar2_table,
439: p_data_type out nocopy dbms_sql.varchar2_table,
440: p_agg_formula out nocopy dbms_sql.varchar2_table)
441: Use get_measures_for_fact
442: */
443:
436: p_dim_set varchar2,
437: p_measure out nocopy dbms_sql.varchar2_table,
438: p_measure_type out nocopy dbms_sql.varchar2_table,
439: p_data_type out nocopy dbms_sql.varchar2_table,
440: p_agg_formula out nocopy dbms_sql.varchar2_table)
441: Use get_measures_for_fact
442: */
443:
444: /* Requested
479: /* Reuse get levels for fact API and check target_level property to be 1
480: procedure get_target_levels(
481: p_kpi varchar2,
482: p_dim_set varchar2,
483: p_levels out nocopy dbms_sql.varchar2_table) is
484: Begin
485: if p_kpi='3014' then
486: return;
487: end if;
524: Req sig
525: procedure get_dim_level_filter(
526: p_kpi varchar2,
527: p_level varchar2,
528: p_filter out nocopy dbms_sql.varchar2_table) is*/
529: function get_filter_for_dim_level(
530: p_fact varchar2,
531: p_level varchar2) return varchar2 is
532:
541: /*Requested Signature
542: procedure get_s_views(
543: p_fact varchar2,
544: p_dim_set varchar2,
545: p_s_views out nocopy dbms_sql.varchar2_table) is*/
546: function get_s_views(
547: p_fact IN VARCHAR2,
548: p_dim_set IN NUMBER)
549: return dbms_sql.varchar2_table is
545: p_s_views out nocopy dbms_sql.varchar2_table) is*/
546: function get_s_views(
547: p_fact IN VARCHAR2,
548: p_dim_set IN NUMBER)
549: return dbms_sql.varchar2_table is
550:
551:
552: Begin
553: return BSC_DBGEN_BSC_READER.get_s_views(p_fact, p_dim_set);
557:
558: /* Req sig
559: procedure get_s_view_levels(
560: p_s_view varchar2,
561: p_levels out nocopy dbms_sql.varchar2_table) is
562: Use following api */
563:
564: /*
565: return all the levels of the base table. the dim set may have 5 levels. the base table may have 10. we
581: procedure get_base_table_levels(
582: p_fact varchar2,
583: p_dim_set varchar2,
584: p_base_table varchar2,
585: p_bt_levels out nocopy dbms_sql.varchar2_table,
586: p_bt_level_fks out nocopy dbms_sql.varchar2_table,
587: p_bt_level_pks out nocopy dbms_sql.varchar2_table
588: ) is*/
589: function get_levels_for_table(
582: p_fact varchar2,
583: p_dim_set varchar2,
584: p_base_table varchar2,
585: p_bt_levels out nocopy dbms_sql.varchar2_table,
586: p_bt_level_fks out nocopy dbms_sql.varchar2_table,
587: p_bt_level_pks out nocopy dbms_sql.varchar2_table
588: ) is*/
589: function get_levels_for_table(
590: p_table_name varchar2
583: p_dim_set varchar2,
584: p_base_table varchar2,
585: p_bt_levels out nocopy dbms_sql.varchar2_table,
586: p_bt_level_fks out nocopy dbms_sql.varchar2_table,
587: p_bt_level_pks out nocopy dbms_sql.varchar2_table
588: ) is*/
589: function get_levels_for_table(
590: p_table_name varchar2
591: ) return BSC_DBGEN_STD_METADATA.tab_clsLevel is
607: procedure get_base_table_measures(
608: p_fact varchar2,
609: p_dim_set varchar2,
610: p_base_table varchar2,
611: p_measures out nocopy dbms_sql.varchar2_table,
612: p_bt_formula out nocopy dbms_sql.varchar2_table) */
613:
614: function get_b_table_measures_for_fact(
615: p_fact varchar2,
608: p_fact varchar2,
609: p_dim_set varchar2,
610: p_base_table varchar2,
611: p_measures out nocopy dbms_sql.varchar2_table,
612: p_bt_formula out nocopy dbms_sql.varchar2_table) */
613:
614: function get_b_table_measures_for_fact(
615: p_fact varchar2,
616: p_dim_set varchar2,
635: /*
636: procedure get_kpi_periodicities(
637: p_kpi varchar2,
638: p_dim_set varchar2,
639: p_periodicity out nocopy dbms_sql.number_table
640: ) is
641: Begin
642: if p_kpi='3014' then
643: p_periodicity(1):=9;
685: /*Req sig
686: procedure get_zero_code_levels(
687: p_kpi varchar2,
688: p_dim_set varchar2,
689: p_levels out nocopy dbms_sql.varchar2_table) is*/
690: function get_zero_code_levels(
691: p_fact varchar2,
692: p_dim_set varchar2) return BSC_DBGEN_STD_METADATA.tab_clsLevel is
693:
701: /* Req sig
702: procedure get_dim_set_base_tables(
703: p_kpi varchar2,
704: p_dim_set varchar2,
705: p_base_tables out nocopy dbms_sql.varchar2_table) is*/
706: function get_base_tables_for_dim_set(
707: p_fact in varchar2,
708: p_dim_set in varchar2,
709: p_targets in boolean) return dbms_sql.varchar2_table is
705: p_base_tables out nocopy dbms_sql.varchar2_table) is*/
706: function get_base_tables_for_dim_set(
707: p_fact in varchar2,
708: p_dim_set in varchar2,
709: p_targets in boolean) return dbms_sql.varchar2_table is
710:
711:
712: Begin
713: return BSC_DBGEN_BSC_READER.get_base_tables_for_dim_set(to_number(p_fact), to_number(p_dim_set), p_targets);
718: /* Req sig
719: procedure get_dim_set_target_base_tables(
720: p_kpi varchar2,
721: p_dim_set varchar2,
722: p_base_tables out nocopy dbms_sql.varchar2_table) is
723: Use get_base_tables_for_dim_set with p_targets=true
724: */
725:
726:
768:
769: /*
770: returns all the kpi that have been implemented in AW
771: */
772: function get_all_facts_in_aw return dbms_sql.varchar2_table is
773:
774:
775: Begin
776: return BSC_DBGEN_BSC_READER.get_all_facts_in_aw;
781: /* Req sig
782: procedure get_z_s_views(
783: p_kpi varchar2,
784: p_dim_set varchar2,
785: p_s_views out nocopy dbms_sql.varchar2_table)*/
786: function get_z_s_views(
787: p_fact IN VARCHAR2,
788: p_dim_set IN NUMBER)
789: return dbms_sql.varchar2_table is
785: p_s_views out nocopy dbms_sql.varchar2_table)*/
786: function get_z_s_views(
787: p_fact IN VARCHAR2,
788: p_dim_set IN NUMBER)
789: return dbms_sql.varchar2_table is
790:
791:
792: Begin
793: return BSC_DBGEN_BSC_READER.get_z_s_views(p_fact, p_dim_set);
809: -- AUTHOR/DATE - MODIFICATIONS (AUTHOR/DATE/DESCRIPTION):
810: -- Arun.Santhanam March 10, 2005
811: --***************************************************************************
812: Function get_all_levels_for_fact(p_fact IN VARCHAR2)
813: RETURN DBMS_SQL.VARCHAR2_TABLE IS
814:
815: BEGIN
816: return BSC_DBGEN_BSC_READER.get_all_levels_for_fact(p_fact);
817: END;
822: BEGIN
823: return BSC_DBGEN_BSC_READER.get_dimension_level_short_name(p_dim_level_table_name);
824: END;
825:
826: function get_measures_for_short_names(p_short_names in dbms_sql.varchar2_table) return dbms_sql.varchar2_table is
827: begin
828: return BSC_DBGEN_BSC_READER.get_measures_for_short_names(p_short_names);
829: end;
830:
827: begin
828: return BSC_DBGEN_BSC_READER.get_measures_for_short_names(p_short_names);
829: end;
830:
831: function get_dim_levels_for_short_names(p_short_names in dbms_sql.varchar2_table) return dbms_sql.varchar2_table is
832: begin
833: return BSC_DBGEN_BSC_READER.get_dim_levels_for_short_names(p_short_names);
834: end;
835:
858: return bsc_dbgen_bsc_reader.get_children_for_level_aw(p_level_name, p_num_levels);
859: end;
860:
861:
862: procedure mark_facts_in_process(p_facts in dbms_sql.varchar2_table) is
863: begin
864: g_assume_production_facts.delete;
865: for i in 1..p_facts.count loop
866: g_assume_production_facts(i):=p_facts(i);
866: g_assume_production_facts(i):=p_facts(i);
867: end loop;
868: end;
869:
870: function get_target_per_for_b_table(p_fact in varchar2, p_dim_set in number, p_b_table in varchar2) return dbms_sql.varchar2_table is
871: begin
872: return bsc_dbgen_bsc_reader.get_target_per_for_b_table(p_fact, p_dim_set, p_b_table);
873:
874: end;
938: end;
939:
940: function get_table_properties(p_table_name in VARCHAR2, p_property varchar2) return varchar2 is
941:
942: l_properties dbms_sql.varchar2_table;
943: l_property_values dbms_sql.varchar2_table;
944: begin
945: l_properties(1) := p_property;
946: l_property_values := get_table_properties(p_table_name, l_properties);
939:
940: function get_table_properties(p_table_name in VARCHAR2, p_property varchar2) return varchar2 is
941:
942: l_properties dbms_sql.varchar2_table;
943: l_property_values dbms_sql.varchar2_table;
944: begin
945: l_properties(1) := p_property;
946: l_property_values := get_table_properties(p_table_name, l_properties);
947: return l_property_values(1);
947: return l_property_values(1);
948: end;
949:
950:
951: function get_table_properties(p_table_name in VARCHAR2, p_property_list in dbms_sql.VARCHAR2_table) return dbms_sql.VARCHAR2_table IS
952: cursor cProperty is
953: select properties from bsc_db_tables
954: where table_name = p_table_name;
955: l_db_property varchar2(4000);
954: where table_name = p_table_name;
955: l_db_property varchar2(4000);
956: l_index number;
957:
958: l_property_values dbms_sql.varchar2_table;
959: begin
960: if p_property_list.count = 0 then
961: return p_property_list;
962: end if;