Oracle Access Manager OAM Host and Port Changes Oracle Internet Directory OID Host and Port Changes and SSL Enablement

19 Creating OAAM Oracle BI Publisher Reports 19-1 19 Creating OAAM Oracle BI Publisher Reports This chapter contains instructions on creating Oracle BI Publisher reports on data in the OAAM schema.

19.1 Create Oracle BI Publisher Reports on Data in the OAAM Schema

Refer to the following sections to create OAAM reports from the Oracle Adaptive Access Manager database. In code listings OAAM table and field names are bold and italic.

19.1.1 Create a Data Model

Refer to the instructions in Creating a New Report at the following URL: http:download.oracle.comdocscdE12844_ 01docbip.1013e12187T518230T518233.htm This section is from the Oracle Business Intelligence Publisher Report Designers Guide at the following URL: http:download.oracle.comdocscdE12844_ 01docbip.1013e12187toc.htm

19.1.2 Map User Defined Enum Numeric Type Codes to Readable Names

Several fields in many tables are numeric type codes, which correspond to OAAM User Defined Enums. Refer to Chapter 7, Customizing Oracle Adaptive Access Manager for more information about OAAM User Defined Enums. Information on how to map those type codes to readable names is presented in this section. There are two methods for resolving these names, and the one to choose depends on whether you need to display English only or you need to display internationalized strings.

19.1.2.1 Results Display

To display a readable string rather than a type code value in the report output, the report writer will need to add a join to the tables that hold the User Defined Enums, and then add the field to the select clause.

19.1.2.2 English Only User Defined Enum Result Display

The following SQL code shows how to add the join criteria to the query: SELECT … FROM … 19-2 Oracle Fusion Middleware Developers Guide for Oracle Adaptive Access Manager LEFT OUTER JOIN SELECT enumElement.num_value, enumElement.label FROM v_b_enum enum INNER JOIN v_b_enum_elmnt enumElement ON on enum.enum_id = enum_ element.enum_id WHERE enum.prop_name = enum name alias ON table.type_field = alias.num_value … In this code, table.type_field is the field containing a type code value that you want to replace with a string. Alias is the name you are giving the inner select clause. Finally, enum_name is the property name of the User Defined Enum. To display in the report, you need to add alias.label to the select clause.

19.1.2.3 Internationalized User Defined Enum Result Display

The following SQL code shows how to add the join criteria to the query: SELECT … FROM … LEFT OUTER JOIN SELECT t0.config_value, element.num_value FROM v_b_config_rb t0 INNER JOIN SELECT enum_element.num_value, enum_element.str_value, enum.prop_name FROM v_b_enum enum INNER JOIN v_b_enum_elmnt enum_element ON enum.enum_id = enum_ element.enum_id WHERE enum.prop_name = enum name element ON t0.config_name=element.prop_name || . || element.str_value || .name WHERE t0.locale_id = SELECT locale_id FROM v_b_locale WHERE language = substr:xdo_user_ui_locale, 1, 2 AND country = substr:xdo_user_ui_locale, 4, 2 AND substr:xdo_user_ui_locale, 1, 2 in de, en, es, fr, it, ja, ko OR substr:xdo_user_ui_locale, 1, 2 = pt AND substr:xdo_user_ui_locale, 4, 2 = BR OR substr:xdo_user_ui_locale, 1, 2 = zh AND substr:xdo_user_ui_locale, 4, 2 IN CN, TW UNION SELECT locale_id FROM v_b_locale WHERE language = substr:xdo_user_ui_locale, 1, 2 AND NOT EXISTSSELECT locale_id FROM v_b_locale WHERE language = substr:xdo_user_ui_locale, 1, 2 AND country = substr:xdo_user_ui_locale, 4, 2 AND country IS NULL AND substr:xdo_user_ui_locale, 1, 2 in de, en, es, fr, it, ja, ko OR substr:xdo_user_ui_locale, 1, 2 = pt AND substr:xdo_user_ui_locale, 4, 2 = BR OR substr:xdo_user_ui_locale, 1, 2 = zh AND substr:xdo_user_ui_locale, 4, 2 IN CN, TW UNION SELECT locale_id FROM v_b_locale WHERE language = en AND NOT substr:xdo_user_ui_locale, 1, 2 in de, en, es, fr, it, ja, ko OR substr:xdo_user_ui_locale, 1, 2 = pt AND substr:xdo_user_ui_locale, 4, 2 = BR OR substr:xdo_user_ui_locale, 1, 2 = zh AND