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;