Information Session

Universe Customisation

Topics
Mincom Standard Universes Guidelines for Customising Standard Universes Other Universe Customisation Options Universe Change Management

Mincom’s Standard Universe

1 (1)

BO_<universe>.xml

CWM_1.0.dt d bo_views.sq l Universe Developer

UMB BO Designer
(Integrity checks)

SQLPlus

Ellipse Database
(class-mapped) <universe>_c.unv

<universe>_o.unv

outer.txt

BO Merge Repository
(merged) <universe>_c.unv

Universe Merge

Universe Administrator

Ellipse Database
Universe Developer

BO Ellipse Repository BO Designer

(completed) <universe>_c.xm l

(Integrity checks,  shortcut joins, further class mapping)

Customer

Mincom Standard Universes
• Each view is defined as a class • Each field is defined as an object in this class
• Note: These are remapped into more meaningful hierarchies.

Mincom Standard Universes
• Supporting Database sql created for:
– – – – – Database Views Database Functions Triggers Reporting Tables Initial Data for these Tables

• Text file with outer joins

Database Functions used in views
• • • • • • • • • EL_CONCAT EL_DATETOWORD EL_GET_DATE EL_GET_DESC EL_NEXT_DAY EL_NUMTOWORD EL_DECTOWORD EL_SUBSTR EL_TODAY

Name
EL_CONCAT

Parameters
CHAR, CHAR (for UDB combinations of CHAR, INT and DATE)

Purpose
Concatenate two strings

Example
EL_CONCAT(EL_CONCAT( rtrim(‘String 1 and ‘), ‘String 2’) returns: ORA and SQS: String 1 and String 2 ‘) ,’

Comment
Input limited to 1000 byte strings

EL_DATETOWORD

DATE, TYPE

Convert a date value to a word

EL_DATETOWORD(EL_TODAY(), ’DAY’) returns: ORA: Monday SQS: Monday

Currently the only valid TYPE is DAY

EL_DAYS_ADD

DATE, INT

Add (or subtract) days to a date

EL_DECTOWORD

NUMBER

Return the words equivalent to the number passed

EL_DECTOWORD(123.45) returns: ORA: One hundred twenty-three.45 SQS: One hundred twenty-three.450

Includes decimal values as numbers. Uses EL_NUMTOWORD. Relies on MSF010 ‘NUWO’ TABLE_TYPE and entries being available.

EL_GET_DATE

CHAR_DATE

Retrieve the real date equivalent of an Ellipse character date from MSFDTE (or null)

EL_GET_DATE(‘20041025’) returns: ORA: 25-OCT-04 SQS: 2004-10-25 00:00:00.000

EL_GET_DESC

TABLE_CODE, TABLE_TYPE

Retrieve the associated TABLE_DESC value from MSF010 (or null)

EL_GET_DESC(‘0001’,’ER’) returns: ORA: INVALID RECORD CODE SQS: INVALID RECORD CODE

May need adjustment for multilanguage

EL_NEXT_DAY

DATE, WEEKDAY

Return the date of the next occurrence of the specified weekday following today

EL_NEXT_DAY(EL_TODAY(), ‘WEDNESDAY’) returns: ORA: 27-OCT-04 SQS: 2004-10-27 13:32:00

Name

Parameters

Purpose

Example

Comment

EL_NUMTOWORD

NUMBER

Return the words equivalent to the number passed

EL_NUMTOWORD(987654321) returns: ORA: Nine hundred eighty-seven million six hundred fifty-four thousand three hundred twenty-one SQS: Nine hundred eighty-seven million six hundred fifty-four thousand three hundred twenty-one EL_RAW_DECODE( MSV050.DFLT_VALUE_RECX1, 201)

Uses ORA built-in function and SQS UDF. Word spellings still to be reviewed. Relies on MSF010 ‘NUWO’ TABLE_TYPE and entries being available.

EL_RAW_DECODE

RAW database column data, maximum length of input data

Return the decoded equivalent of the Ellipse encoded column

SQS only

EL_RAWTONUM

CHAR (translated to a HEX string), INT (number of decimal places)

Translate packed decimal data stored in string to a signed number

ORA: EL_RAWTONUM(RAWTOHEX(SUBSTR(<col >,246,8),3))

Expects string of hexadecimal value of packed decimal data eg 0045329C

EL_SUBSTR

CHAR, INT, INT

Standardise substring function across RDBMS

Invokes built-in SUBSTR function for ORA and UDB and SUBSTRING for SQS

EL_TODAY

none

Retrieve the current date. Use of this function may replace the requirement for MSV_CURRENT_DATE

EL_TODAY() returns: ORA: 25-OCT-04 SQS: 2004-10-25 13:49:28.487

Uses ORA SYSDATE and SQS GETDATE() under the covers. SQS requires the MSV_TODAY view

•EL_NUMTOWORD relies on ‘NUWO’ TABLE_TYPE data on MSF010 •EL_DECTOWORD is not currently used

Default Universe Settings Applied
• Default Contexts added • Loops Checked • Objects and Joins Parsed

Mincom’s Customisations
Script used to: • Remap Classes • Apply Outer Joins • Change all numeric fields measures

What can you customise?

Mincom’s Standard Universe

Modify Existing customisation objects
• If you need to add your own Classes or Objects, you use the supplied Customisation items. You can then modify these items to have an appropriate description, point them to the relevant column, calculation, and so on

What else can you add?
• Add Additional Tables to Universe
– Derived Universe Tables – Database Views

• Add Joins • Add Hierarchies

Guidelines
• No classes or objects to be created or deleted • Classes, Dimension and Measure objects defined in the 'Customisations' class can be modified as required • Tables can be added • Joins can be added • New hierarchies can be added • 'Customisations' classes and objects can be moved out of the 'Customisations' class • Contexts will be deleted during the merge (use 'Detect Contexts' on merged universe to reapply)

Universe Customisation Options
1. Modify the existing Standard Universe
• Mincom’s Supported approach

2. Linking a universe to an existing Standard Universe 3. Copying a Standard Universe and Modifying 4. Create a New Universe from Scratch

Modify the existing Standard Universe
• If guidelines followed the customer merge script can be run to re-apply changes to any new versions of the Standard Universe • If additional components eg. Contexts are added these will need to be managed by the customer themselves and applied after the customer merge has been applied

Linking a universe to an existing Standard Universe
• Can not link a universe that is already linked to another universe • LOV files in core universe not saved • Must re-apply your contexts in derived universe

Copying a Standard Universe and Modifying
• When you copy a standard universe into a derived universe, the resulting components in the derived universe are independent of those in the standard universe. • Any changes made to the standard universe are not inherited by the derived universe

Create a New Universe from Scratch
• Similar issues to copying a standard universe except more development time required as starting from scratch • Need to add all views manually to universe • Better understanding of universe if developed in house • Mincom’s knowledge and support limited

Enriching your Universe
• Create Additional Database Views • Create Additional Database Functions

Database View Example
CREATE OR REPLACE VIEW bo2b. MSV838_PS_MEAS AS SELECT EMPLOYEE_ID, INV_TAX_YEAR, SEQUENCE_NO, GROSS_SALARY, LUMP_SUM_A, LUMP_SUM_B, LUMP_SUM_D, LUMP_SUM_E, FIELD1_9, FIELD2_9, TAX_AMOUNT, NON_GC_EARN, NON_GC_DEDN, PRE_JULY_1983, POST_JUNE_1983, POST_JUNE_1994_INV, ETP_TAX_AMT, FBT_AMT, FBT_GROSSED_AMT, CDEP_SALARY, OTHER_INCOME, TO_CHAR(99999999 - CAST(INV_TAX_YEAR AS INTEGER)) TAX_YEAR, bo2b. EL_NUMTOWORD (TRUNC(TAX_AMOUNT/1000,0)) THOUSANDS, bo2b. EL_NUMTOWORD (TRUNC((TAX_AMOUNT (TRUNC(TAX_AMOUNT/1000,0) * 1000))/100,0)) HUNDREDS, bo2b.EL_NUMTOWORD(TRUNC((TAX_AMOUNT - (TRUNC(TAX_AMOUNT/100,0) * 100))/10,0)) TENS, bo2b. EL_NUMTOWORD (TRUNC(TAX_AMOUNT (TRUNC(TAX_AMOUNT/10,0) * 10),0)) UNIT FROM bo2b.MSV838_MEAS MSV838_MEAS; COMMIT;

Database Functions

Universe Change Management
Three Types of Changes: 2. A pure addition; no change to schema 3. Focused Change; change to a limited set of Objects or part of the schema 4. Widespread change

Potential effect on Report
• Changes to the universe must take into account the impact on existing reports • Auditor may assist in determining this impact • EQM have third party product to determine change impact • Careful management of changes can reduce potential impact • Retesting may be required

Change Objects deleted Objects added

Effect Potentially causes the Report to fail No affect on existing Reports unless the Report specifically needed the Object to be created. Then the Report should be returned to development for the Object to be added Could cause issues if another single Object exists with the new name. Business Objects will assume that this other Object replaces the renamed one when you re-point the Universe. Potentially causes the Report to fail, although there are so many properties that this would need to be considered carefully No change in the functionality of the Report but will change the ‘look’ of it Potentially causes the Report to fail and needs the report’s SQL refreshed to detect problems

Objects renamed

Objects properties changed

Objects formatting changed

Object SQL changed

Change

Effect

Any changes to joins

Potentially causes the Report to fail

Any changes to contexts

Potentially causes the Report to fail

Any changes to tables used by Universe

Potentially causes the Report to fail

Any changes to Universe connections

Potentially causes the Report to fail although unlikely, assuming the new connection points to a valid database structure for the Universe in use

Any changes to hierarchies

Potentially causes the Report to fail although the effect may be minimal

Conclusion
• • • • Many Customisation Options Available The Choice is yours Consider consequences of changes Unsupported changes will need to be managed