DBA Data[Home] [Help]

APPS.BSC_AW_ADAPTER_KPI dependencies on BSC_AW_BSC_METADATA

Line 33: bsc_aw_bsc_metadata.get_kpi_properties(p_kpi);--gets calendar

29: 1. if recreate is specified, its all cleaned up and recretaed
30: 2. else , return. do nothing
31: */
32: if check_kpi_create(p_kpi.kpi) then
33: bsc_aw_bsc_metadata.get_kpi_properties(p_kpi);--gets calendar
34: bsc_aw_bsc_metadata.get_kpi_dim_sets(p_kpi);
35: --for each dim set, get the bsc dim levels in it. for these levels, get the cc dim
36: for i in 1..p_kpi.dim_set.count loop
37: get_dim_set_properties(p_kpi.kpi,p_kpi.dim_set(i)); --forecast yes or no

Line 34: bsc_aw_bsc_metadata.get_kpi_dim_sets(p_kpi);

30: 2. else , return. do nothing
31: */
32: if check_kpi_create(p_kpi.kpi) then
33: bsc_aw_bsc_metadata.get_kpi_properties(p_kpi);--gets calendar
34: bsc_aw_bsc_metadata.get_kpi_dim_sets(p_kpi);
35: --for each dim set, get the bsc dim levels in it. for these levels, get the cc dim
36: for i in 1..p_kpi.dim_set.count loop
37: get_dim_set_properties(p_kpi.kpi,p_kpi.dim_set(i)); --forecast yes or no
38: get_dim_set_dims(p_kpi.kpi,p_kpi.dim_set(i));

Line 152: bsc_aw_bsc_metadata.get_dim_level_properties gets it from metadata

148: from bsc olap metadata, get the dim properties
149: we consider time and other dim separately. time is considered in calendars, not in dim
150:
151: here we are getting level properties in 2 parts.
152: bsc_aw_bsc_metadata.get_dim_level_properties gets it from metadata
153: for rec dim, we also do bsc_aw_md_api.get_bsc_olap_object_relation to find the rec_parent_level.
154: this is ok since rec_parent_level is not a bsc metadata property. its specific to our implementation.
155: */
156: procedure get_dim_set_dim_properties(p_kpi varchar2,p_dim_set in out nocopy dim_set_r) is

Line 162: bsc_aw_bsc_metadata.check_dim_zero_code(p_kpi,p_dim_set);

158: for i in 1..p_dim_set.dim.count loop
159: get_dim_properties(p_kpi,p_dim_set.dim(i));
160: end loop;
161: --need to see if we need zero code on the dim
162: bsc_aw_bsc_metadata.check_dim_zero_code(p_kpi,p_dim_set);
163: Exception when others then
164: log_n('Exception in get_dim_set_dim_properties '||sqlerrm);
165: raise;
166: End;

Line 173: bsc_aw_bsc_metadata.get_dim_level_properties(p_kpi,p_dim); --pk,fk,datatype for the levels and the filter

169: --
170: l_olap_object_relation bsc_aw_md_wrapper.bsc_olap_object_relation_tb;
171: Begin
172: bsc_aw_md_api.get_dim_properties(p_dim); --recursive, multi level, time or normal, concat?, base value cube etc
173: bsc_aw_bsc_metadata.get_dim_level_properties(p_kpi,p_dim); --pk,fk,datatype for the levels and the filter
174: l_olap_object_relation.delete;
175: --'zero code level' 'recursive parent level'
176: bsc_aw_md_api.get_bsc_olap_object_relation(null,null,null,p_dim.dim_name,'dimension',l_olap_object_relation);
177: for i in 1..l_olap_object_relation.count loop

Line 247: bsc_aw_bsc_metadata.get_dim_set_calendar(p_kpi.kpi,p_dim_set);

243: procedure get_dim_set_calendar(p_kpi kpi_r,p_dim_set in out nocopy dim_set_r) is
244: l_pc cal_parent_child_tb;
245: Begin
246: p_dim_set.calendar.calendar:=p_kpi.calendar;
247: bsc_aw_bsc_metadata.get_dim_set_calendar(p_kpi.kpi,p_dim_set);
248: --give the aw dim names
249: p_dim_set.calendar.aw_dim:=bsc_aw_calendar.get_calendar_name(p_dim_set.calendar.calendar);
250: --set the relation name, periodicity aw name
251: bsc_aw_md_api.get_dim_set_calendar(p_kpi,p_dim_set);

Line 287: bsc_aw_bsc_metadata.get_dim_set_dims(p_kpi,p_dim_set.dim_set,l_dim_level,l_mo_dim_group,l_skip_level);

283: l_mo_dim_group dbms_sql.varchar2_table; --used to see if a level is stand alone or part of parent child
284: l_skip_level dbms_sql.varchar2_table;
285: l_dim varchar2(300);
286: Begin
287: bsc_aw_bsc_metadata.get_dim_set_dims(p_kpi,p_dim_set.dim_set,l_dim_level,l_mo_dim_group,l_skip_level);
288: for i in 1..l_dim_level.count loop
289: bsc_aw_md_api.get_dim_for_level(l_dim_level(i),l_dim);
290: if g_debug then
291: log('For level '||l_dim_level(i)||' got dim '||l_dim);

Line 414: bsc_aw_bsc_metadata.get_dim_set_measures(p_kpi,p_dim_set.dim_set,p_dim_set.measure);

410: End;
411:
412: procedure get_dim_set_measures(p_kpi varchar2,p_dim_set in out nocopy dim_set_r) is
413: Begin
414: bsc_aw_bsc_metadata.get_dim_set_measures(p_kpi,p_dim_set.dim_set,p_dim_set.measure);
415: /*if there are BALANCE LAST VALUE measures add the .period and .year property, used in measure name dim or cubes in 9i */
416: /* NOTE the period cube and year cube name change in create_PT_comp_names for 9i*/
417: for i in 1..p_dim_set.measure.count loop
418: if p_dim_set.measure(i).measure_type=g_balance_last_value_prop then

Line 436: p_kpi.dim_set(i).targets_higher_levels:=bsc_aw_bsc_metadata.is_target_at_higher_level(p_kpi.kpi,p_kpi.dim_set(i).dim_set);

432: */
433: procedure get_dim_set_targets(p_kpi in out nocopy kpi_r) is
434: Begin
435: for i in 1..p_kpi.dim_set.count loop
436: p_kpi.dim_set(i).targets_higher_levels:=bsc_aw_bsc_metadata.is_target_at_higher_level(p_kpi.kpi,p_kpi.dim_set(i).dim_set);
437: if p_kpi.dim_set(i).targets_higher_levels='Y' then
438: p_kpi.target_dim_set(i):=p_kpi.dim_set(i);--copy all dim set properties excluding s_views and data source
439: --change the dimset name. append .target to it
440: p_kpi.target_dim_set(i).dim_set_name:=p_kpi.target_dim_set(i).dim_set_name||'.tgt';

Line 443: bsc_aw_bsc_metadata.get_target_dim_levels(p_kpi.kpi,p_kpi.target_dim_set(i));

439: --change the dimset name. append .target to it
440: p_kpi.target_dim_set(i).dim_set_name:=p_kpi.target_dim_set(i).dim_set_name||'.tgt';
441: p_kpi.target_dim_set(i).dim_set_type:='target';
442: p_kpi.target_dim_set(i).base_dim_set:=p_kpi.dim_set(i).dim_set_name;--for actuals, base_dim_set is null
443: bsc_aw_bsc_metadata.get_target_dim_levels(p_kpi.kpi,p_kpi.target_dim_set(i));
444: bsc_aw_bsc_metadata.get_target_dim_periodicity(p_kpi.kpi,p_kpi.target_dim_set(i));
445: else
446: p_kpi.target_dim_set(i).dim_set:=null;
447: end if;

Line 444: bsc_aw_bsc_metadata.get_target_dim_periodicity(p_kpi.kpi,p_kpi.target_dim_set(i));

440: p_kpi.target_dim_set(i).dim_set_name:=p_kpi.target_dim_set(i).dim_set_name||'.tgt';
441: p_kpi.target_dim_set(i).dim_set_type:='target';
442: p_kpi.target_dim_set(i).base_dim_set:=p_kpi.dim_set(i).dim_set_name;--for actuals, base_dim_set is null
443: bsc_aw_bsc_metadata.get_target_dim_levels(p_kpi.kpi,p_kpi.target_dim_set(i));
444: bsc_aw_bsc_metadata.get_target_dim_periodicity(p_kpi.kpi,p_kpi.target_dim_set(i));
445: else
446: p_kpi.target_dim_set(i).dim_set:=null;
447: end if;
448: end loop;

Line 457: bsc_aw_bsc_metadata.get_s_views(p_kpi,p_dim_set);

453:
454: --get both regular MV and ZMV
455: procedure get_s_views(p_kpi varchar2,p_dim_set in out nocopy dim_set_r) is
456: Begin
457: bsc_aw_bsc_metadata.get_s_views(p_kpi,p_dim_set);
458: Exception when others then
459: log_n('Exception in get_s_views '||sqlerrm);
460: raise;
461: End;

Line 469: filters etc. we assign data_source.dim=dim_set.dim inside bsc_aw_bsc_metadata.get_dim_set_data_source

465: this procedure will create the data sources for dim sets. finds out the base tables, finds out the level
466: of the base tables and create the sql statements as data source
467:
468: at this point in time, we assume that all dim properties have been set. for example, dim levels
469: filters etc. we assign data_source.dim=dim_set.dim inside bsc_aw_bsc_metadata.get_dim_set_data_source
470: --
471: each data source is at a certain periodicity. they also contain
472: */
473: procedure get_dim_set_data_source(p_kpi kpi_r,p_dim_set in out nocopy dim_set_r) is

Line 476: bsc_aw_bsc_metadata.get_dim_set_data_source(p_kpi.kpi,p_dim_set);

472: */
473: procedure get_dim_set_data_source(p_kpi kpi_r,p_dim_set in out nocopy dim_set_r) is
474: Begin
475: --get_dim_set_data_source fills data_source and inc_data_source
476: bsc_aw_bsc_metadata.get_dim_set_data_source(p_kpi.kpi,p_dim_set);
477: Exception when others then
478: log_n('Exception in get_dim_set_data_source '||sqlerrm);
479: raise;
480: End;

Line 1315: l_base_cal_column:=bsc_aw_bsc_metadata.get_db_calendar_column(p_dim_set.calendar.calendar,p_base_table.periodicity.periodicity);

1311: --if p_base_table.periodicity.periodicity <> p_data_source.calendar.periodicity(1).periodicity then
1312: /*there is an interesting issue here. what if the measure is a balance measure and we have to rollup B table on time? so far this
1313: issue has not come up because balance is at day level */
1314: if p_base_table.periodicity.periodicity <> p_data_source.calendar.periodicity(1).periodicity then --then this is coming at a lower level
1315: l_base_cal_column:=bsc_aw_bsc_metadata.get_db_calendar_column(p_dim_set.calendar.calendar,p_base_table.periodicity.periodicity);
1316: --note>>>datasource has one periodicity. see get_dim_set_data_source in bsc_aw_bsc_metadata
1317: l_dimset_cal_column:=bsc_aw_bsc_metadata.get_db_calendar_column(p_dim_set.calendar.calendar,p_data_source.calendar.periodicity(1).periodicity);
1318: p_base_table.base_table_sql(p_base_table.base_table_sql.count+1):='bsc_db_calendar.'||l_dimset_cal_column||' period,'||
1319: 'bsc_db_calendar.year year,';

Line 1316: --note>>>datasource has one periodicity. see get_dim_set_data_source in bsc_aw_bsc_metadata

1312: /*there is an interesting issue here. what if the measure is a balance measure and we have to rollup B table on time? so far this
1313: issue has not come up because balance is at day level */
1314: if p_base_table.periodicity.periodicity <> p_data_source.calendar.periodicity(1).periodicity then --then this is coming at a lower level
1315: l_base_cal_column:=bsc_aw_bsc_metadata.get_db_calendar_column(p_dim_set.calendar.calendar,p_base_table.periodicity.periodicity);
1316: --note>>>datasource has one periodicity. see get_dim_set_data_source in bsc_aw_bsc_metadata
1317: l_dimset_cal_column:=bsc_aw_bsc_metadata.get_db_calendar_column(p_dim_set.calendar.calendar,p_data_source.calendar.periodicity(1).periodicity);
1318: p_base_table.base_table_sql(p_base_table.base_table_sql.count+1):='bsc_db_calendar.'||l_dimset_cal_column||' period,'||
1319: 'bsc_db_calendar.year year,';
1320: l_group_sql(l_group_sql.count+1):='bsc_db_calendar.'||l_dimset_cal_column||',bsc_db_calendar.year,';

Line 1317: l_dimset_cal_column:=bsc_aw_bsc_metadata.get_db_calendar_column(p_dim_set.calendar.calendar,p_data_source.calendar.periodicity(1).periodicity);

1313: issue has not come up because balance is at day level */
1314: if p_base_table.periodicity.periodicity <> p_data_source.calendar.periodicity(1).periodicity then --then this is coming at a lower level
1315: l_base_cal_column:=bsc_aw_bsc_metadata.get_db_calendar_column(p_dim_set.calendar.calendar,p_base_table.periodicity.periodicity);
1316: --note>>>datasource has one periodicity. see get_dim_set_data_source in bsc_aw_bsc_metadata
1317: l_dimset_cal_column:=bsc_aw_bsc_metadata.get_db_calendar_column(p_dim_set.calendar.calendar,p_data_source.calendar.periodicity(1).periodicity);
1318: p_base_table.base_table_sql(p_base_table.base_table_sql.count+1):='bsc_db_calendar.'||l_dimset_cal_column||' period,'||
1319: 'bsc_db_calendar.year year,';
1320: l_group_sql(l_group_sql.count+1):='bsc_db_calendar.'||l_dimset_cal_column||',bsc_db_calendar.year,';
1321: l_from_sql(l_from_sql.count+1):=',(select distinct '||l_base_cal_column||','||l_dimset_cal_column||',year from bsc_db_calendar where calendar_id='||