Skip Headers

Oracle® Argus Safety BI Publisher Periodic Reporting Extensibility Guide Release 1.0 E56916-01 |
| Contents

Previous | Next |

# 6 Customizing a BIP Report

This chapter describes the options available for extending an out-of-the-box BI Publisher Periodic report. It contains the following sections:

- Section 6.1, "Database Layer"

- Section 6.2, "Extending the BI Publisher Data Model"

Note: Oracle encourages customers to extend reports for their use but is not obliged to support the custom or extended code and is not responsible for any loss or damage caused by the extended code.

BI Publisher Periodic Reporting has the following customizable layers:

- Database layer

- BI Publisher layer

  This further comprises:

  - Data Model layer

  - Report Layout layer

## 6.1 Database Layer

Objects specific to BIP Periodic Reporting are present in a separate schema created during the installation of the Argus Safety database. This schema only has a limited set of objects and access privileges. Table 6-1 illustrates these objects and privileges.

Table 6-1 Objects and Access Privileges

Tables | Global Temporary tables populate the report. RM tables persist data for Argus Mart OBIEE dashboards. Configuration tables store report parameter prompts and case series data.
Packages | There are 3 packages: The main package loads the temp table data. The utility package holds the commonly used functions while loading the temp table data. The user exit package customizes the loaded temp table data. None of the packages are wrapped.
Views | Used for grouping and accessed in the BI Publisher data model.
Access Grants | BI Publisher has read-only access to the following objects in the Argus Safety application schema: List and configuration tables Case series tables Case tables Common packages such as gss, gss_util, gss_periodic, p_initialize_access and gss_wnds It has INSERT and SELECT access to: CMN_REG_REPORTS PER_RPT_QUEUE PER_RPT_STATUS CMN_PER_SUB_CHILD CASE_REG_REPORTS Report output tables
Invoker Rights | BIP packages are created with Invoker rights with CURRENT_USER as the AUTHID.
Enterprise Security | The new schema implements the Argus Safety enterprise security features. For data selection, call gss_util.set_context (uname, enterprise).

### 6.1.1 Configuration Extensibility

You can update the out-of-the-box data in the CFG_RPT_AGG_PARAMS table to modify report names. This configuration change is used for:

- Updating the parameter prompt text in the report output.

- Modifying the order of displaying report parameter prompts.

- Validating details of the parameter.

Note: These are configuration changes and do not impact any other functionality. Also, there is no UI for this table. You can use any database tool connecting to the Argus Safety application schema.

### 6.1.2 Extending with User Exits

You can manipulate the data present in GTT and RM tables using user exits that are called after data loading of each temp table. You can customize already loaded data using the data load. There is one user exit per temp table.

Figure 6-1 Extending with User Exits

Description of "Figure 6-1 Extending with User Exits"

Figure 6-2 displays the structure of an out-of-the-box user exit.

Figure 6-2 Structure of an Out-of-the-box Exit

Description of "Figure 6-2 Structure of an Out-of-the-box Exit"

An out-of-the-box user exit only has a null statement between the log handlers. You can add logic (as necessary) to insert, update, or delete rows from corresponding or related tables.

### 6.1.3 Extending Global Temporary Tables

You might not need to extend the Global Temporary tables as the out-of-the-box table itself contains multiple flexible columns. Each GTT and RM table contains:

- 15 columns of type VARCHAR2 (4000)

- 4 columns to support DATE fields. The data type is VARCHAR2(8)

- 2 clob columns

You can fill these columns by using user exits.

### 6.1.4 Extending using Custom Objects

You must retain the integrity of the reports while extending out-of-the-box periodic report database objects. You must create a new custom schema (using the naming standard BIP_CUSTOM) where you can deploy your custom objects.

#### 6.1.4.1 Adding New Columns to GTT or RM Tables

To add new columns to GTT and RM tables:

1. Create a replica of the GTT in the custom schema. For example, if the customer needs new columns in the GTT_RPT_AGG_CASE table, create the replica of this table in the custom schema, named XX_ GTT_RPT_AGG_CASE.

2. Add the new columns to the replica table in the custom schema.

3. Grant the new table access to the out-of-the-box BIP schema.

4. Create a synonym for this object (public synonym). The BIP schema can access this new object.

5. Modify the user exit package corresponding to this GTT to fill in the new custom table and logistics to load the additional two columns.

#### 6.1.4.2 Filling Custom Tables

Follow the same procedure for filling custom tables. You do not need to replicate a table from the BIP schema.

#### 6.1.4.3 Filling Custom Views

You might need to deploy custom views for solving complicated logistics. This functionality is limited to accessing the objects of the BIP schema only.

To fill custom views, perform the following steps:

1. Create the view in the custom schema.

2. Grant BIP schema access to the view.

3. Create a synonym for the view (public synonym).

You can use this view either in the BIP schema or in the BI data model.

#### 6.1.4.4 Filling Custom Packages

Follow the same procedure for filling custom packages.

## 6.2 Extending the BI Publisher Data Model

Note: While extending BI Publisher reports, irrespective of whether the extension is in the data model layer or the layout, Oracle recommends taking a complete backup of the report in another catalog folder and then proceeding with the extension.

For more information on extending the BI Publisher Data model or layout, refer to the BI Publisher Guides.