RPASCE Helper Functions and API for IW
RPASCE provides a package RP_G_RPAS_HELPER_PKG with useful methods that can be called from custom code.
Following are the types that are available in RP_G_RPAS_HELPER_PKG:
TYPE t_pair IS RECORD(
l_level varchar2(10),
l_dim varchar2(10)
);TYPE dim_level_array is varray(8) of t_pair; TYPE level_array is varray(50) of varchar2(10);Following are the functions that are available in RP_G_RPAS_HELPER_PKG.
function get_fact_name(meas_name_in IN varchar2) return varchar2;
This function returns the fact name based on the measure name passed. Measure name is defined in Configuration.
declare
l_fact varchar2(30);
begin
l_fact := rp_g_rpas_helper_pkg.get_fact_name('drtynslsu');
end;
function get_na_value(fact_name_in IN varchar2) return varchar2;
Function returns NA Value for a fact.
declare
l_fact varchar2(30);
l_na_value number;
begin
l_fact := rp_g_rpas_helper_pkg.get_fact_name('drtynslsu');
l_na_value := rp_g_rpas_helper_pkg.get_na_value(l_fact);
end;function get_logical_space(fact_name_in IN varchar2) return number;
Function returns logical space for a fact. Logical space is the unpopulated space for a fact.
declare
l_fact varchar2(30);
l_log_space number;
begin
l_fact := rp_g_rpas_helper_pkg.get_fact_name('drtynslsu');
l_log_space := rp_g_rpas_helper_pkg.get_logical_space(l_fact);
end;function get_fact_group_name(fact_name_in IN varchar2) return varchar2;
Function returns the Fact Group name for a fact.
declare
l_fact varchar2(30);
l_group varchar2(30);
begin
l_fact := rp_g_rpas_helper_pkg.get_fact_name('drtynslsu');
l_group := rp_g_rpas_helper_pkg.get_fact_group_name(l_fact);
end;function get_table_name(fact_name_in IN varchar2) return varchar2;
Function returns the Oracle table name that contains the fact as a column.
declare
l_fact varchar2(30);
l_table varchar2(30);
begin
l_fact := rp_g_rpas_helper_pkg.get_fact_name('drtynslsu');
l_table := rp_g_rpas_helper_pkg.get_table_name(l_fact);
end;function get_number_of_partitions return integer;
Function returns the number of partitions in PDS.
declare
l_parts number;
begin
l_parts := rp_g_rpas_helper_pkg.get_number_of_partitions;
end;function get_partition_level return varchar2;
Function returns the level at which is PDS is partitioned
(for example, dept,clss).
declare
l_part_level varchar2(30);
begin
l_part_level := rp_g_rpas_helper_pkg.get_partition_level;
end;function clear_fact(fact_name_in varchar2) return boolean;
Function will clear the data for the fact.
declare
l_result boolean;
begin
l_result := rp_g_rpas_helper_pkg.clear_fact('drtynslsu');
end;function get_base_intx(fact_name_in IN varchar2) return varchar2;
Function returns the base intersection of the fact.
declare
l_fact varchar2(30);
l_intx varchar2(30);
begin
l_fact := rp_g_rpas_helper_pkg.get_fact_name('drtynslsu');
l_intx := rp_g_rpas_helper_pkg.get_base_intx(l_fact);
end;function intx_to_level(intx_in IN varchar2) return dim_level_array;
Function returns the levels and dimensions that are part of an intersection in an array.
declare
l_fact varchar2(30);
l_intx varchar2(30);
l_array dim_level_array;
begin
l_fact := rp_g_rpas_helper_pkg.get_fact_name('drtynslsu');
l_intx := rp_g_rpas_helper_pkg.get_base_intx(l_fact);
l_array := rp_g_rpas_helper_pkg.intx_to_level(l_intx);
end;function get_parent_levels(level_in IN varchar2) return level_array;
This returns all the parent levels of the passed level.
declare
l_array level_array;
begin
l_array := rp_g_rpas_helper_pkg.get_parent_levels('styl');
end;function get_child_levels(level_in IN varchar2) return level_array;
This returns all the child levels of the passed level.
declare
l_array level_array;
begin
l_array := rp_g_rpas_helper_pkg.get_child_levels('styl');
end;function is_higher_level(level1_in IN varchar2, level2_in IN varchar2) return boolean;
Function
return true if level1_in is higher than level2_in. Otherwise false.
declare
l_val boolean;
begin
l_val := rp_g_rpas_helper_pkg.is_higher_level('styl', 'dept');
end;function is_lower_level(level1_in IN varchar2, level2_in IN varchar2) return boolean;
Function
return true if level1_in is lower than level2_in. Otherwise false.
declare
l_val boolean;
begin
l_val := rp_g_rpas_helper_pkg.is_lower_level('dept', 'styl');
end;