Wednesday, September 28, 2016

Generating custom module in ODI - A Cleaner Approach

Hi Guys,

There is lot of posts on internet on how to create your own custom fact groups and integrate them in load plans. But almost all of those requires you to intervene in ODI Metadata tables which sometimes leads to haphazard.
In this post, I'll give you the alternate approach that Oracle recommends and works well for all of your custom modules. Also, I'll mention all the bottlenecks that I had dealt during this phase.

Load plan generation in BIACM works through a utility called LPG aka load plan generator which ultimately crawls through the entire ODI code for all the checked Fact group and the associated dimension groups and creates a master load plan which is nothing but a amalgamation of many load plans that resides in dev components. System components tell you the ordering in which the selected dev components should pick up. It is not that convoluted as it sounds. We'll go step by step to understand what's happening and how can we use all these to integrate our custom module.

Below are the steps delineating the process of generating a load plan out of custom fact group
  1. Create Fact Group & Dimension Group (through BIACM)
    1. Goto Manage Business Intelligence Applications > Business Intelligence Applications Offerings tab
    2. Check the box against Oracle Custom Analytics > Custom Functional Area for Custom Analytics.
    3. Now under associated dimension and fact groups click on the + sign to add the fact group followed by the dimension group

  2. Now the next step is to create Dev Components (individual LP consisting of scenarios) in ODI
    1. SDE Dimension LP (_DS scenarios)
    2. SDE Fact LP(_FS scenarios)
    3. SIL Dimension LP (_D scenarios)
    4. SIL Fact LP(_F scenarios)
  3. Add dev components to respective system components (remember the ordering based upon the dependency)
  4. Add Fact group & dimension group name(from step 1) to flex-field value of each individual table at module level. It helps LPG in segregating tables based upon the Module
  5. Create foreign keys in fact table to refer the associated dimension.
Below are some of the issue that I have encountered.

Q: DSN not configured for LS. ODI repository not configured properly , please check ALL the logical schemas associated with the chosen PLV
Make sure in your logical schema, below flexfield values matches exactly with the logical schema of source system defined in BIACM 
  • PRODUCT_LINE_VERSION_KEY,
  • DATA_SERVER_TYPE,
  • LS_DATASOURCE_NUM_ID
  • LS_SCHEMA_TYPE
Q: Load plan generation failing with null 
The trick is to atleast add a single foreign key to a dimension that has its scenario attached in respective dev component.

Q: SDE Dimension flows are not coming in generated load plan
Add a foreign key in fact to that dimension which has its sde also.

reference: https://blogs.oracle.com/biapps/entry/load_plan_generator_an_inside

No comments:

Post a Comment