DBA Data[Home] [Help]

APPS.BSC_AW_BSC_METADATA dependencies on BSC_AW_ADAPTER_KPI

Line 302: procedure get_kpi_properties(p_kpi in out nocopy bsc_aw_adapter_kpi.kpi_r) is

298: /*
299: gets
300: calendar kpi belongs to
301: */
302: procedure get_kpi_properties(p_kpi in out nocopy bsc_aw_adapter_kpi.kpi_r) is
303: l_calendar number;
304: Begin
305: bsc_metadata.get_kpi_calendar(p_kpi.kpi,l_calendar);
306: p_kpi.calendar:=l_calendar;

Line 316: procedure get_kpi_dim_sets(p_kpi in out nocopy bsc_aw_adapter_kpi.kpi_r) is

312: /*
313: given a kpi find out
314: 1. dim sets
315: */
316: procedure get_kpi_dim_sets(p_kpi in out nocopy bsc_aw_adapter_kpi.kpi_r) is
317: l_dim_set dbms_sql.varchar2_table;
318: Begin
319: bsc_metadata.get_kpi_dim_sets(p_kpi.kpi,l_dim_set);
320: --l_dim_set will be numbers like 1,2 etc to make the name unique, append with kpi

Line 358: p_measure in out nocopy bsc_aw_adapter_kpi.measure_tb

354: */
355: procedure get_dim_set_measures(
356: p_kpi varchar2,
357: p_dim_set varchar2,
358: p_measure in out nocopy bsc_aw_adapter_kpi.measure_tb
359: ) is
360: l_measure dbms_sql.varchar2_table;
361: l_measure_type dbms_sql.varchar2_table;
362: l_data_type dbms_sql.varchar2_table;

Line 394: procedure get_s_views(p_kpi varchar2,p_dim_set in out nocopy bsc_aw_adapter_kpi.dim_set_r) is

390: /*
391: given a dimset, get all the S views and their properties
392: gets both ZMV and regular MV
393: */
394: procedure get_s_views(p_kpi varchar2,p_dim_set in out nocopy bsc_aw_adapter_kpi.dim_set_r) is
395: l_s_views dbms_sql.varchar2_table;
396: l_levels dbms_sql.varchar2_table;
397: l_sview_level bsc_aw_adapter_kpi.level_r;
398: Begin

Line 397: l_sview_level bsc_aw_adapter_kpi.level_r;

393: */
394: procedure get_s_views(p_kpi varchar2,p_dim_set in out nocopy bsc_aw_adapter_kpi.dim_set_r) is
395: l_s_views dbms_sql.varchar2_table;
396: l_levels dbms_sql.varchar2_table;
397: l_sview_level bsc_aw_adapter_kpi.level_r;
398: Begin
399: --get_s_views will return only regular MV not ZMV
400: bsc_metadata.get_s_views(p_kpi,p_dim_set.dim_set,l_s_views);
401: --for each s view get the level info

Line 409: p_dim_set.s_view(p_dim_set.s_view.count).dim(j):=bsc_aw_adapter_kpi.get_kpi_level_dim_r(p_dim_set,l_levels(j));

405: p_dim_set.s_view(p_dim_set.s_view.count+1).s_view:=l_s_views(i);
406: p_dim_set.s_view(p_dim_set.s_view.count).id:='MV_'||i;
407: for j in 1..l_levels.count loop
408: --note>>>a level can be in 1 dim only, even in the case of standalone levels
409: p_dim_set.s_view(p_dim_set.s_view.count).dim(j):=bsc_aw_adapter_kpi.get_kpi_level_dim_r(p_dim_set,l_levels(j));
410: l_sview_level:=bsc_aw_adapter_kpi.get_dim_level_r(p_dim_set.s_view(p_dim_set.s_view.count).dim(j),l_levels(j));
411: p_dim_set.s_view(p_dim_set.s_view.count).dim(j).levels.delete; --only hold the s view level info
412: p_dim_set.s_view(p_dim_set.s_view.count).dim(j).levels(1):=l_sview_level;
413: end loop;

Line 410: l_sview_level:=bsc_aw_adapter_kpi.get_dim_level_r(p_dim_set.s_view(p_dim_set.s_view.count).dim(j),l_levels(j));

406: p_dim_set.s_view(p_dim_set.s_view.count).id:='MV_'||i;
407: for j in 1..l_levels.count loop
408: --note>>>a level can be in 1 dim only, even in the case of standalone levels
409: p_dim_set.s_view(p_dim_set.s_view.count).dim(j):=bsc_aw_adapter_kpi.get_kpi_level_dim_r(p_dim_set,l_levels(j));
410: l_sview_level:=bsc_aw_adapter_kpi.get_dim_level_r(p_dim_set.s_view(p_dim_set.s_view.count).dim(j),l_levels(j));
411: p_dim_set.s_view(p_dim_set.s_view.count).dim(j).levels.delete; --only hold the s view level info
412: p_dim_set.s_view(p_dim_set.s_view.count).dim(j).levels(1):=l_sview_level;
413: end loop;
414: end loop;

Line 424: p_dim_set.z_s_view(p_dim_set.z_s_view.count).dim(j):=bsc_aw_adapter_kpi.get_kpi_level_dim_r(p_dim_set,l_levels(j));

420: bsc_metadata.get_s_view_levels(l_s_views(i),l_levels);
421: p_dim_set.z_s_view(p_dim_set.z_s_view.count+1).s_view:=l_s_views(i);
422: p_dim_set.z_s_view(p_dim_set.z_s_view.count).id:='ZMV_'||i;
423: for j in 1..l_levels.count loop
424: p_dim_set.z_s_view(p_dim_set.z_s_view.count).dim(j):=bsc_aw_adapter_kpi.get_kpi_level_dim_r(p_dim_set,l_levels(j));
425: l_sview_level:=bsc_aw_adapter_kpi.get_dim_level_r(p_dim_set.z_s_view(p_dim_set.z_s_view.count).dim(j),l_levels(j));
426: p_dim_set.z_s_view(p_dim_set.z_s_view.count).dim(j).levels.delete;
427: p_dim_set.z_s_view(p_dim_set.z_s_view.count).dim(j).levels(1):=l_sview_level;
428: end loop;

Line 425: l_sview_level:=bsc_aw_adapter_kpi.get_dim_level_r(p_dim_set.z_s_view(p_dim_set.z_s_view.count).dim(j),l_levels(j));

421: p_dim_set.z_s_view(p_dim_set.z_s_view.count+1).s_view:=l_s_views(i);
422: p_dim_set.z_s_view(p_dim_set.z_s_view.count).id:='ZMV_'||i;
423: for j in 1..l_levels.count loop
424: p_dim_set.z_s_view(p_dim_set.z_s_view.count).dim(j):=bsc_aw_adapter_kpi.get_kpi_level_dim_r(p_dim_set,l_levels(j));
425: l_sview_level:=bsc_aw_adapter_kpi.get_dim_level_r(p_dim_set.z_s_view(p_dim_set.z_s_view.count).dim(j),l_levels(j));
426: p_dim_set.z_s_view(p_dim_set.z_s_view.count).dim(j).levels.delete;
427: p_dim_set.z_s_view(p_dim_set.z_s_view.count).dim(j).levels(1):=l_sview_level;
428: end loop;
429: end loop;

Line 444: procedure get_target_dim_levels(p_kpi varchar2,p_target_dim_set in out nocopy bsc_aw_adapter_kpi.dim_set_r) is

440: raise;
441: End;
442:
443: --this api called only when there are targets at higher levels
444: procedure get_target_dim_levels(p_kpi varchar2,p_target_dim_set in out nocopy bsc_aw_adapter_kpi.dim_set_r) is
445: l_levels dbms_sql.varchar2_table;
446: l_dim bsc_aw_adapter_kpi.dim_tb;--just temp backup
447: Begin
448: --backup dim and level info

Line 446: l_dim bsc_aw_adapter_kpi.dim_tb;--just temp backup

442:
443: --this api called only when there are targets at higher levels
444: procedure get_target_dim_levels(p_kpi varchar2,p_target_dim_set in out nocopy bsc_aw_adapter_kpi.dim_set_r) is
445: l_levels dbms_sql.varchar2_table;
446: l_dim bsc_aw_adapter_kpi.dim_tb;--just temp backup
447: Begin
448: --backup dim and level info
449: l_dim:=p_target_dim_set.dim;
450: --delete all level info

Line 473: procedure get_target_dim_periodicity(p_kpi varchar2,p_target_dim_set in out nocopy bsc_aw_adapter_kpi.dim_set_r) is

469: log_n('Exception in get_target_dim_levels '||sqlerrm);
470: raise;
471: End;
472:
473: procedure get_target_dim_periodicity(p_kpi varchar2,p_target_dim_set in out nocopy bsc_aw_adapter_kpi.dim_set_r) is
474: --
475: l_periodicities dbms_sql.number_table;
476: l_calendar bsc_aw_adapter_kpi.calendar_r;
477: Begin

Line 476: l_calendar bsc_aw_adapter_kpi.calendar_r;

472:
473: procedure get_target_dim_periodicity(p_kpi varchar2,p_target_dim_set in out nocopy bsc_aw_adapter_kpi.dim_set_r) is
474: --
475: l_periodicities dbms_sql.number_table;
476: l_calendar bsc_aw_adapter_kpi.calendar_r;
477: Begin
478: --backup
479: l_calendar:=p_target_dim_set.calendar;
480: p_target_dim_set.calendar.periodicity.delete;

Line 503: p_target_calendar in out nocopy bsc_aw_adapter_kpi.calendar_r,

499: /*
500: fill in higher periodicities for targets
501: */
502: procedure fill_in_target_periodicity(
503: p_target_calendar in out nocopy bsc_aw_adapter_kpi.calendar_r,
504: p_source_calendar bsc_aw_adapter_kpi.calendar_r,
505: p_periodicity varchar2
506: ) is
507: --

Line 504: p_source_calendar bsc_aw_adapter_kpi.calendar_r,

500: fill in higher periodicities for targets
501: */
502: procedure fill_in_target_periodicity(
503: p_target_calendar in out nocopy bsc_aw_adapter_kpi.calendar_r,
504: p_source_calendar bsc_aw_adapter_kpi.calendar_r,
505: p_periodicity varchar2
506: ) is
507: --
508: l_flag boolean;

Line 509: l_periodicity bsc_aw_adapter_kpi.periodicity_r;

505: p_periodicity varchar2
506: ) is
507: --
508: l_flag boolean;
509: l_periodicity bsc_aw_adapter_kpi.periodicity_r;
510: Begin
511: if p_periodicity is not null then
512: l_flag:=false;
513: for i in 1..p_target_calendar.periodicity.count loop

Line 519: p_target_calendar.periodicity(p_target_calendar.periodicity.count+1):=bsc_aw_adapter_kpi.get_periodicity_r(p_source_calendar.periodicity,

515: l_flag:=true;
516: end if;
517: end loop;
518: if l_flag=false then
519: p_target_calendar.periodicity(p_target_calendar.periodicity.count+1):=bsc_aw_adapter_kpi.get_periodicity_r(p_source_calendar.periodicity,
520: p_periodicity);
521: end if;
522: for i in 1..p_source_calendar.parent_child.count loop
523: if p_source_calendar.parent_child(i).child_dim_name=p_periodicity then

Line 547: procedure check_dim_zero_code(p_kpi varchar2,p_dim_set in out nocopy bsc_aw_adapter_kpi.dim_set_r) is

543:
544: /*
545: given a kpi and the dim set, find out the levels and their dim where there is zero code
546: */
547: procedure check_dim_zero_code(p_kpi varchar2,p_dim_set in out nocopy bsc_aw_adapter_kpi.dim_set_r) is
548: l_levels dbms_sql.varchar2_table;
549: Begin
550: bsc_metadata.get_zero_code_levels(p_kpi,p_dim_set.dim_set,l_levels);
551: for i in 1..p_dim_set.dim.count loop

Line 555: --we can do this since check_dim_zero_code comes after get_dim_properties in bsc_aw_adapter_kpi

551: for i in 1..p_dim_set.dim.count loop
552: for j in 1..p_dim_set.dim(i).levels.count loop
553: if bsc_aw_utility.in_array(l_levels,p_dim_set.dim(i).levels(j).level_name) then
554: --we can say there is zero code only if there is zero code level for this level
555: --we can do this since check_dim_zero_code comes after get_dim_properties in bsc_aw_adapter_kpi
556: if p_dim_set.dim(i).levels(j).zero_code_level is not null then
557: p_dim_set.dim(i).levels(j).zero_code:='Y';
558: p_dim_set.dim(i).zero_code:='Y';
559: end if;

Line 571: procedure get_dim_level_properties(p_kpi varchar2,p_dim in out nocopy bsc_aw_adapter_kpi.dim_r) is

567:
568: /*
569: for each level get the pk,fk, datatype info
570: */
571: procedure get_dim_level_properties(p_kpi varchar2,p_dim in out nocopy bsc_aw_adapter_kpi.dim_r) is
572: Begin
573: for i in 1..p_dim.levels.count loop
574: p_dim.levels(i).level_type:=p_dim.property; --normal or time
575: bsc_metadata.get_dim_level_properties(p_dim.levels(i).level_name,

Line 585: procedure get_dim_level_filter(p_kpi varchar2,p_level in out nocopy bsc_aw_adapter_kpi.level_r) is

581: log_n('Exception in get_dim_level_properties '||sqlerrm);
582: raise;
583: End;
584:
585: procedure get_dim_level_filter(p_kpi varchar2,p_level in out nocopy bsc_aw_adapter_kpi.level_r) is
586: Begin
587: bsc_metadata.get_dim_level_filter(p_kpi,p_level.level_name,p_level.filter);
588: Exception when others then
589: log_n('Exception in get_dim_level_filter '||sqlerrm);

Line 613: procedure get_dim_set_data_source(p_kpi varchar2,p_dim_set in out nocopy bsc_aw_adapter_kpi.dim_set_r) is

609: more correction. in bsc, B table to S table mapping is stored. this means a day level B table may feed only week and another
610: day level B table feeds month.
611: if the B table is at a lower periodicity, we need to check which periodicity it feeds
612: */
613: procedure get_dim_set_data_source(p_kpi varchar2,p_dim_set in out nocopy bsc_aw_adapter_kpi.dim_set_r) is
614: l_base_tables dbms_sql.varchar2_table;
615: l_data_source bsc_aw_adapter_kpi.data_source_r;
616: l_ds_periodicity bsc_aw_adapter_kpi.periodicity_tb;
617: l_ds_copy bsc_aw_adapter_kpi.data_source_r;

Line 615: l_data_source bsc_aw_adapter_kpi.data_source_r;

611: if the B table is at a lower periodicity, we need to check which periodicity it feeds
612: */
613: procedure get_dim_set_data_source(p_kpi varchar2,p_dim_set in out nocopy bsc_aw_adapter_kpi.dim_set_r) is
614: l_base_tables dbms_sql.varchar2_table;
615: l_data_source bsc_aw_adapter_kpi.data_source_r;
616: l_ds_periodicity bsc_aw_adapter_kpi.periodicity_tb;
617: l_ds_copy bsc_aw_adapter_kpi.data_source_r;
618: l_feed_periodicity dbms_sql.number_table;
619: Begin

Line 616: l_ds_periodicity bsc_aw_adapter_kpi.periodicity_tb;

612: */
613: procedure get_dim_set_data_source(p_kpi varchar2,p_dim_set in out nocopy bsc_aw_adapter_kpi.dim_set_r) is
614: l_base_tables dbms_sql.varchar2_table;
615: l_data_source bsc_aw_adapter_kpi.data_source_r;
616: l_ds_periodicity bsc_aw_adapter_kpi.periodicity_tb;
617: l_ds_copy bsc_aw_adapter_kpi.data_source_r;
618: l_feed_periodicity dbms_sql.number_table;
619: Begin
620: if p_dim_set.dim_set_type='actual' then

Line 617: l_ds_copy bsc_aw_adapter_kpi.data_source_r;

613: procedure get_dim_set_data_source(p_kpi varchar2,p_dim_set in out nocopy bsc_aw_adapter_kpi.dim_set_r) is
614: l_base_tables dbms_sql.varchar2_table;
615: l_data_source bsc_aw_adapter_kpi.data_source_r;
616: l_ds_periodicity bsc_aw_adapter_kpi.periodicity_tb;
617: l_ds_copy bsc_aw_adapter_kpi.data_source_r;
618: l_feed_periodicity dbms_sql.number_table;
619: Begin
620: if p_dim_set.dim_set_type='actual' then
621: bsc_metadata.get_dim_set_base_tables(p_kpi,p_dim_set.dim_set,l_base_tables);

Line 688: procedure set_measure_properties(p_dim_set bsc_aw_adapter_kpi.dim_set_r,p_data_source in out nocopy bsc_aw_adapter_kpi.data_source_r) is

684: raise;
685: End;
686:
687: /*set the measure properties from dimset into datasource (In get_base_table_data_source only the measure name is set)*/
688: procedure set_measure_properties(p_dim_set bsc_aw_adapter_kpi.dim_set_r,p_data_source in out nocopy bsc_aw_adapter_kpi.data_source_r) is
689: Begin
690: for i in 1..p_data_source.measure.count loop
691: for j in 1..p_dim_set.measure.count loop
692: if lower(p_dim_set.measure(j).measure)=lower(p_data_source.measure(i).measure) then

Line 712: procedure get_ds_relevant_cal_hier(p_calendar in out nocopy bsc_aw_adapter_kpi.calendar_r) is

708: raise;
709: End;
710:
711: /*the DS is at some higher level. get just the upper part of the cal hier */
712: procedure get_ds_relevant_cal_hier(p_calendar in out nocopy bsc_aw_adapter_kpi.calendar_r) is
713: l_upper_hier bsc_aw_adapter_kpi.cal_parent_child_tb;
714: Begin
715: bsc_aw_adapter_kpi.get_upper_cal_hier(p_calendar.parent_child,p_calendar.periodicity(1).aw_dim,l_upper_hier);
716: p_calendar.parent_child.delete;

Line 713: l_upper_hier bsc_aw_adapter_kpi.cal_parent_child_tb;

709: End;
710:
711: /*the DS is at some higher level. get just the upper part of the cal hier */
712: procedure get_ds_relevant_cal_hier(p_calendar in out nocopy bsc_aw_adapter_kpi.calendar_r) is
713: l_upper_hier bsc_aw_adapter_kpi.cal_parent_child_tb;
714: Begin
715: bsc_aw_adapter_kpi.get_upper_cal_hier(p_calendar.parent_child,p_calendar.periodicity(1).aw_dim,l_upper_hier);
716: p_calendar.parent_child.delete;
717: for i in 1..l_upper_hier.count loop

Line 715: bsc_aw_adapter_kpi.get_upper_cal_hier(p_calendar.parent_child,p_calendar.periodicity(1).aw_dim,l_upper_hier);

711: /*the DS is at some higher level. get just the upper part of the cal hier */
712: procedure get_ds_relevant_cal_hier(p_calendar in out nocopy bsc_aw_adapter_kpi.calendar_r) is
713: l_upper_hier bsc_aw_adapter_kpi.cal_parent_child_tb;
714: Begin
715: bsc_aw_adapter_kpi.get_upper_cal_hier(p_calendar.parent_child,p_calendar.periodicity(1).aw_dim,l_upper_hier);
716: p_calendar.parent_child.delete;
717: for i in 1..l_upper_hier.count loop
718: p_calendar.parent_child(p_calendar.parent_child.count+1):=l_upper_hier(i);
719: end loop;

Line 743: p_data_source in out nocopy bsc_aw_adapter_kpi.data_source_r) is

739: procedure get_base_table_data_source(
740: p_kpi varchar2,
741: p_dim_set varchar2,
742: p_base_table varchar2,
743: p_data_source in out nocopy bsc_aw_adapter_kpi.data_source_r) is
744: --
745: l_bt_levels dbms_sql.varchar2_table;
746: l_bt_feed_levels dbms_sql.varchar2_table;
747: l_bt_level_fks dbms_sql.varchar2_table; --contains the fk like city_code etc from the base table

Line 751: l_level bsc_aw_adapter_kpi.level_r;

747: l_bt_level_fks dbms_sql.varchar2_table; --contains the fk like city_code etc from the base table
748: l_bt_level_pks dbms_sql.varchar2_table;
749: l_ds_measures dbms_sql.varchar2_table;--data source measures , same as dim set measures
750: l_formula dbms_sql.varchar2_table;
751: l_level bsc_aw_adapter_kpi.level_r;
752: l_prj_table varchar2(100);
753: l_partition bsc_aw_utility.object_partition_r;
754: l_bt_copy bsc_aw_adapter_kpi.base_table_r;
755: Begin

Line 754: l_bt_copy bsc_aw_adapter_kpi.base_table_r;

750: l_formula dbms_sql.varchar2_table;
751: l_level bsc_aw_adapter_kpi.level_r;
752: l_prj_table varchar2(100);
753: l_partition bsc_aw_utility.object_partition_r;
754: l_bt_copy bsc_aw_adapter_kpi.base_table_r;
755: Begin
756: bsc_metadata.get_base_table_levels(p_kpi,p_dim_set,p_base_table,l_bt_levels,l_bt_level_fks,l_bt_level_pks,l_bt_feed_levels);
757: bsc_metadata.get_base_table_measures(p_kpi,p_dim_set,p_base_table,l_ds_measures,l_formula);
758: bsc_metadata.get_base_table_periodicity(p_base_table,p_data_source.base_tables(1).periodicity.periodicity);

Line 787: procedure get_dim_set_calendar(p_kpi varchar2,p_dim_set in out nocopy bsc_aw_adapter_kpi.dim_set_r) is

783: log_n('Exception in get_base_table_data_source '||sqlerrm);
784: raise;
785: End;
786:
787: procedure get_dim_set_calendar(p_kpi varchar2,p_dim_set in out nocopy bsc_aw_adapter_kpi.dim_set_r) is
788: l_periodicity dbms_sql.number_table;
789: Begin
790: bsc_metadata.get_kpi_periodicities(p_kpi,p_dim_set.dim_set,l_periodicity);
791: for i in 1..l_periodicity.count loop