Professional Documents
Culture Documents
OBIA 11g ETL Customization Guide
OBIA 11g ETL Customization Guide
Change Record
07/22/2014 Dileep Vasu 5.1 Added the step to set the OBI fact group
flexfield for fact tables, updated to set the P1
constraint as Primary Key
Reviewers
Name Position
Page 2 of 66
Table of Contents
Document Control......................................................................................................................................... 2
Change Record .......................................................................................................................................... 2
Reviewers .................................................................................................................................................. 2
Table of Contents .......................................................................................................................................... 3
Notes on Customization................................................................................................................................ 5
Initial Setup ................................................................................................................................................... 6
Create New Sub-Folders for Customizations and Extensions ................................................................... 6
Versioning the Data Model ..................................................................................................................... 10
Custom Facts and Dimensions -- Source Dependent Extract (SDE) ............................................................ 12
Import Source Tables .............................................................................................................................. 12
Import Target Staging Tables .................................................................................................................. 14
Create the Source Dependent Extract (SDE) mapping............................................................................ 18
Staging Mapping ETL Development Notes.............................................................................................. 21
Create a Package for the SDE Mapping .................................................................................................. 24
Custom Dimensions -- Source Independent Load....................................................................................... 26
Reverse Engineer the Dimension Table .................................................................................................. 26
Set Column Properties for Slowly Changing Dimensions ........................................................................ 31
Create a Sequence for the Surrogate Key ............................................................................................... 32
Create the Source Independent Load (SIL) Mapping .............................................................................. 34
Dimension Mapping ETL Development Notes ........................................................................................ 35
Create a Package for the SIL Mapping .................................................................................................... 37
Custom Facts -- Source Independent Load ................................................................................................. 39
Reverse Engineer the Fact Table ............................................................................................................. 39
Create the Source Independent Load (SIL) Mapping .............................................................................. 45
Create a Package for the SIL Mapping .................................................................................................... 51
Generating Scenarios and Updating the Load Plan for Custom Facts and Dimensions ............................. 52
Client Configuration ................................................................................................................................ 52
Page 3 of 66
Generate Scenarios – Custom Facts and Dimensions ............................................................................. 53
Generating Scenarios for Multiple Packages ...................................................................................... 55
Adding Scenarios for Custom Facts and Dimensions to the Load Plan................................................... 57
Extending a Delivered OBIA Dimension or Fact with New Columns .......................................................... 60
Add Columns to the ODI Metadata Model ............................................................................................. 60
Modifying the Delivered ETL ................................................................................................................... 61
Generate Scenarios ................................................................................................................................. 64
Page 4 of 66
Notes on Customization
1. The types of customization supported by OBIA 11g are described in the Oracle Business
Intelligence Applications Administrator’s Guide:
http://docs.oracle.com/cd/E51479_01/doc.111181/e51483/customizing.htm#i1027294
While the Administration Guide provides the high-level steps for customization, at the time of
writing this document it does not cover specific details (such as setting flexfields) that are
required for customizations to work.
2. Note that by convention, the names of custom objects start with WC_ and use the standard
suffix for the type of object (_D for dimension, _F for fact, _DS for dimension staging etc.). A full
list of table naming conventions is in the Administrator’s Guide:
http://docs.oracle.com/cd/E51479_01/doc.111181/e51483/namingconv.htm#sthref89
3. OBIA 11g has a sample custom fact and dimension (WC_SAMPLE_F and WC_SAMPLE_D) along
with their staging tables that can be used as templates for modeling your custom facts and
dimensions.
4. All the source adaptor folders and the SILOS folder also contain task folders with the interface
and package that load these sample tables (e.g. SDE_<source>_SampleDimension). These can be
used as reference for custom mapping development.
5. OBIA uses its own knowledge modules (e.g. IKM BIAPPS Oracle Control Append) which you
should use in your custom mappings as well. Do not use the standard non-BIAPPS knowledge
modules. The BIAPPS knowledge modules have descriptions that explain what their various
options and limitations are.
6. You can test interfaces and packages by simply executing them in ODI, but note that most
parameters are set by BIACM when you run the execution plan. When running interfaces and
packages within ODI, these parameters use a default value defined in ODI that may affect
testing. For example, DATASOURCE_NUM_ID is set to a default hard-coded value that may not
match your source setup in BIACM which would cause surrogate key lookups to fail.
7. Similarly, for Slowly Changing Dimensions the Type 2 parameter must be set in BIACM and it is
only triggered during incremental loads. In other words, the ODI variables IS_INCREMENTAL and
TYPE2_FLG should be set to Y for SCD behavior to work. For testing you can create a package
that sets these variables to Y before running the custom SIL interface rather than changing the
hard-coded default values.
Page 5 of 66
Initial Setup
4. Similarly, create the Custom_SILOS folder to hold the Source Independent Load interfaces and
packages, and if needed, the Custom_PLP folder for Post-Load Process interfaces and packages.
Page 6 of 66
5. Click on the Connect Navigator on the Designer pane and click Edit Release Tag…
6. In the Release Tag Wizard, select the BIA_11 release tag, and move the newly created
Custom_SILOS and Custom_PLP folders to the selection window on the right. Click Next >.
Page 7 of 66
7. In step 2, click Finish.
8. Similarly, set the release tag for the SDE folder that corresponds to your source system. In this
example, we add the Custom_SDE_PSFT_90_Adaptor to the PSFT_9_0 release tag.
Page 8 of 66
Page 9 of 66
Versioning the Data Model
1. In the Models pane of the Designer tab, expand the Oracle BI Applications folder and right-click
on the Oracle BI Applications model and select Version > Create Version…
2. Enter a Description to identify this version as the baseline delivered data model, and click OK.
3. Navigate to the source model. Right-click and create a version of the model as we did for Oracle
BI Applications. In this case, the source is the Peoplesoft 9.0 CS model under the PeopleSoft 9.0
> PeopleSoft 9.0 CS folder.
Page 10 of 66
Page 11 of 66
Custom Facts and Dimensions -- Source Dependent Extract (SDE)
4. Click on the Reverse Engineer tab, and select <select to change value> in the LIST_OF_TABLES
option.
5. In the Expression Editor enter a comma-separated list of tables that need to be imported.
Page 12 of 66
6. Set the option ONLY_PROCESS_EXISTING_TABLES to false.
Page 13 of 66
8. Set the ADD_SDS_SUPPORT option to true if you intend to use changed data capture with
GoldenGate now or in the future for this source table. This adds the CDC columns used by
GoldenGate to the source table. You can still use the table and ignore these columns in your
mappings if you do not use SDS.
9. Click on the Save icon on the main toolbar, then click on the Reverse Engineer button on top.
10. After the reverse-engineering is complete, the tables are defined under their respective sub-
models.
Page 14 of 66
3. Click on the Reverse Engineer tab on the left. Go to the LIST_OF_TABLES option and select
<select to change value> in the drop-down list.
4. In the Expression Editor window that pops up, enter the name of the newly created custom
table to import. Use a comma-separated list of names to import multiple tables. Click OK to
close the editor. In this example, we import the WC_CSU_CITIZENSHIP_MDS dimension staging
table.
Page 15 of 66
5. Click on the Save icon in the main toolbar, then click on the Reverse Engineer button on top to
import the metadata.
6. When the Execution window appears, click OK to submit the job. To see the status of the
reverse engineering session, go to the Operator window.
7. After reverse engineering is complete, the imported custom table can be found underneath the
Other sub-model.
Page 16 of 66
8. Move the table from Other sub-model to the appropriate sub-model. In this example, we move
the WC_CSU_CITIZENSHIP_MDS table to the Dimension Staging sub-model.
9. Double-click on the table. Set the OLAP Type to the type of the table in the star schema
(Dimension/Slowly Changing Dimension/Fact Table). In this example, the staging table is for a
Slowly Changing Dimension.
Page 17 of 66
10. In the case of Fact Staging tables, move the table to the Fact Stage sub-model.
11. Set the OLAP type for the Fact Staging table to Fact Table.
Page 18 of 66
2. Enter the name of the SDE folder using the naming convention:
SDE_<SOURCE>_<TargetBusinessName>. In this example,
SDE_PSFT_CSUCitizenshipMiniDimension.
3. Expand the newly created subfolder and right-click on Interfaces. Select New Interface…
Page 19 of 66
4. Enter the name of the interface using the following convention:
SDE_<SOURCE>_<TargetBusinessName>.<TargetPhysicalName>. In this example,
SDE_PSFT_CSUCitizenshipMiniDimension.WC_CSU_CITIZENSHIP_MDS.
5. Go to the Mapping tab and drag and drop the target table from the BI Applications model to
the target data store.
Page 20 of 66
6. Drag and drop the source tables from the source (PeopleSoft 9.0 CS) model to the Default
mapping tab and implement the logic specified in the ETL specifications.
Page 21 of 66
(<SourceTable>.<LastUpdateDateColumn> >
TO_DATE_VAR('#LAST_EXTRACT_DATE')),
(<SourceTable>.CDC$_SRC_LAST_UPDATE_DATE >
TO_DATE_VAR('#LAST_EXTRACT_DATE'))))
The RUN_FULL_INCREMENTAL function checks if the load is incremental (#IS_INCREMENTAL). If
it is not an incremental load, it uses the expression to select all records whose creation date is
greater than the initial extract date defined in BIACM (#INITIAL_EXTRACT_DATE). If the load is
incremental, it checks if replication with SDS is being used (#IS_SDS_DEPLOYED). If SDS is used, it
uses the CDC timestamp to select the records created/updated since the last extract date
(#LAST_EXTRACT_DATE). Otherwise it uses the last update date column from the source to
select records created/updated since the last extract date.
2. When mapping the INTEGRATION_ID, use the SPACES2NULL function to remove spaces in the
codes and concatenate key columns using tilde (~) as separator. Note that this is a key column
and should be at level of granularity of the dimension/fact E.g.
SPACES2NULL("Y", CSU_CO_ERSS_STG.CSU_CO_CITIZEN_CD) || '~' ||
SPACES2NULL("Y", CSU_CO_ERSS_STG.CSU_CO_COUNTRY_CIT) || '~' ||
SPACES2NULL("Y", CSU_CO_ERSS_STG.NON_RESIDENT_ALIEN_FLAG)
3. Use the following pre-defined variables to set the DATASOURCE_NUM_ID and TENANT_ID
#DATASOURCE_NUM_ID
‘#TENANT_ID’ (note the quotes)
4. You may use SESSSTARTTIME (the session’s start time) to set CREATED_ON_DT and
CHANGED_ON_DT if suitable columns are not already available in the source.
5. If suitable columns are not available from the source, you may use FLOOR_DATE() to get the
earliest warehouse date for SRC_EFF_FROM_DT, and CEILING_DATE() to get the latest
warehouse date for SRC_EFF_TO_DT .
Page 22 of 66
6. Go to the Flow tab in the interface. The lookup knowledge module for the source is LKM BIApps
SQL to Oracle (Multi-Transport) by default.
7. Set the knowledge module to IKM BIAPPS Oracle Control Append for the target. This truncates
and loads the staging table. If you need distinct rows to be loaded, you can check the Distinct
Rows checkbox under Target Properties in this tab as shown below.
Page 23 of 66
Create a Package for the SDE
Mapping
1. Navigate to Packages below the sub-folder for the SDE interface. Right-click and click on New
Package.
2. Enter the name of the package. The package name follows the same convention as the folder
SDE_<Source>_<BusinessName>
3. Go to the Diagram tab of the package. On the left, scroll down to Variables underneath the BI
Apps Project. Drag and drop the IS_INCREMENTAL variable onto the diagram. The default
operation for the variable step is Refresh Variable.
Page 24 of 66
4. Similarly, drag and drop the LAST_EXTRACT_DATE variable. Then drag and drop the SDE
interface for the dimension staging table onto the diagram.
Page 25 of 66
Custom Dimensions -- Source Independent Load
Page 26 of 66
2. Click OK and click on the Reverse Engineer button.
3. After reverse engineering is complete, Move the table from the Other sub-model to the
Dimension sub-model.
Page 27 of 66
5. If the primary key (<Dimension>_P1) has already been imported, skip to step 10.
6. Right-click on Constraints below the table and click on New Key.
7. Enter the name of the primary key, using the convention <Dimension Name>_P1 and select
Alternate Key as the type of key.
Page 28 of 66
9. Click on the Control tab. Check the boxes for Defined in the Database and Active.
10. Click on the Flexfields tab. For the ODI Bitmap Index flexfield uncheck the Default checkbox and
update the value to N and press the Enter key.
Page 29 of 66
13. Select the columns INTEGRATION_ID, DATASOURCE_NUM_ID, EFFECTIVE_FROM_DT and
EFFECTIVE_TO_DT.
14. Click on the Control tab. Check the boxes for Defined in the Database and Active.
15. Click on the Flexfields tab. For the ODI Bitmap Index flexfield uncheck the Default checkbox and
update the value to N and press the Enter key.
Page 30 of 66
16. Save the changes.
2. Click on the Description tab on the left in the column editor. Set the Slowly Changing
Dimension Behavior to Surrogate Key.
3. Similarly, set the Slowly Changing Dimension Behavior for the following standard columns:
Page 31 of 66
ROW_WID: Surrogate Key
INTEGRATION_ID: Natural Key
DATASOURCE_NUM_ID: Natural Key
CURRENT_FLG: Current Record Flag
EFFECTIVE_FROM_DT: Starting timestamp
EFFECTIVE_TO_DT: Ending timestamp
Note:
The properties for these columns must be set, and are unique to these columns.
Do not confuse SRC_EFF_FROM_DT, SRC_EFF_TO_DT and ACTIVE_FLG with the
EFFECTIVE_FROM_DT, EFFECTIVE_TO_DT and CURRENT_FLG.
SRC_EFF_FROM_DT, SRC_EFF_TO_DT and ACTIVE_FLG are used to identify when the record was
active in the source system.
The EFFECTIVE_FROM_DT, EFFECTIVE_TO_DT and CURRENT_FLG columns are managed by
OBIA. When one of the SCD columns has been changed in the current incremental load, the
previous record is end-dated (EFFECTIVE_TO_DT) and has its CURRENT_FLG set to N.
4. Set the remaining column types as described in the ETL Specifications to either Overwrite on
Change for non-SCD columns or Add Row on Change for SCD columns.
5. The other standard columns (SRC_EFF_TO_DT, SRC_EFF_FROM_DT, ACTIVE_FLG,
AUX1_CHANGED_ON_DT, SRC_EFF_FROM_DT, SRC_EFF_TO_DT etc.) are set to Overwrite on
Change.
Note that the Slowly Changing Dimension Behavior property must be set for all the columns
otherwise you may see errors in the load.
Page 32 of 66
2. Enter the name of the sequence using the naming convention <DimensionName>_SEQ.
Select the Native sequence option under Sequence configuration. Select the DW_BIAPPS11G
schema and use the same name for the Native sequence name.
Page 33 of 66
NOTE: If the sequence name exceeds 30 characters, change the native sequence name to fit.
3. Save the changes.
2. Expand the newly created subfolder and create a new interface. Enter the name of the interface
using the following convention: SIL_<TargetBusinessName>.<TargetPhysicalName>. In this
example, SIL_CSUCitizenshipMiniDimension.WC_CSU_CITIZENSHIP_MD.
3. Go to the Mapping tab and drag and drop the target dimension table from the BI
Applications/Dimension model to the target data store. Drag and drop the staging table from
the BI Applications/Dimension Stage model as the source. Use Automatic Mapping as needed
to map source columns from the staging table to the target dimension table.
Page 34 of 66
Dimension Mapping ETL
Development Notes
1. For the ROW_WID, enter the expression NEXTVAL(<Sequence name>) where <Sequence name>
is the name of the sequence created above. For this example:
NEXTVAL(WC_CSU_CITIZENSHIP_MD_SEQ)
2. Check the Key flag for the DATASOURCE_NUM_ID, INTEGRATION_ID and EFFECTIVE_FROM_DT
columns: Select the column, go to the Property Inspector, scroll down to Target Column
Properties and check the Key checkbox.
3. For the ETL_PROC_WID column, set the value to the variable #ETL_PROC_WID
Page 35 of 66
4. You can derive the EFFECTIVE_FROM_DT column using the SRC_EFF_FROM_DT of the staging
table, like so:
COALESCE(WC_CSU_CITIZENSHIP_MDS.SRC_EFF_FROM_DT, FLOOR_DATE())
5. Set the EFFECTIVE_TO_DT to CEILING_DATE().
6. Set W_INSERT_DT and W_UPDATE_DT to SESSSTARTTIME.
7. For the ROW_WID and W_INSERT_DT columns, uncheck the Update option.
Page 36 of 66
10. Click on the Save icon to save changes.
2. Open the package, and click on the Diagram tab. Drag and drop the IS_INCREMENTAL variable
and set the type to Refresh Variable (default). Drag and drop the SIL interface and connect the
steps.
Page 37 of 66
3. Save the package.
Page 38 of 66
Custom Facts -- Source Independent Load
Page 39 of 66
4. Double-click on the fact table. In the Definition tab, set the OLAP Type to Fact Table.
5. Click on the Flexfields tab. Uncheck the Default box for the OBI Fact Group flexfield and set the
value to X_CUSTOM_FG and press the Enter key. This step is necessary for the custom
dimensions related to this fact table to be included in the load plan.
6. Expand the tree for the fact table. Right-click on Constraints underneath the fact table, and
select New Reference.
Page 40 of 66
7. Use the naming convention FK_<Fact Table>_<Dimension Table> for the name of the foreign
key. If there are multiple foreign keys between the fact and the dimension (i.e. multiple
dimension aliases or roles) then create separate foreign keys for each role, and number the
foreign keys (e.g. FK_WC_CSU_ERSS_F_WC_CSU_CITIZENSHIP_MD1,
FK_WC_CSU_ERSS_F_WC_CSU_CITIZENSHIP_MD2 etc.)
Select User Reference as the Type, and select the dimension table.
8. Click on the Columns tab. Click on the green plus button to add a new column. Using the drop-
down list, select the foreign key column (ends in _WID by convention) in the fact table
corresponding to the dimension for Columns (Foreign Table). Then select the surrogate key
(ROW_WID) column of the dimension table for Columns (Primary Table).
Page 41 of 66
11. Right-click on Constraints below the table and click on New Key.
12. Enter the name of the unique key, using the convention <Fact Name>_U1 and select Primary
Key as the type of key. If this key already exists, double-click on the key and skip to step 15 to
update its flexfield (Note that we still use the U1 suffix although this is a primary key to preserve
the naming convention. The P1 suffix is used for ROW_WID column, which is usually not defined
for fact tables).
13. Click on the Columns sub-tab. Select the columns INTEGRATION_ID and
DATASOURCE_NUM_ID.
14. Click on the Control tab. Check the boxes for Defined in the Database and Active.
Page 42 of 66
15. Click on the Flexfields tab. For the ODI Bitmap Index flexfield uncheck the Default checkbox and
update the value to N and press the Enter key.
19. Enter the name of the index using the convention <FactName>_F<number>. For example,
WC_CSU_ERSS_F_F1, WC_CSU_ERSS_F_F2 etc. Set the Key or Index Type to Non Unique Key.
Page 43 of 66
20. Click on the Columns sub-tab. Select the columns WID column that corresponds to the foreign
key for the dimension (CSU_CITIZNSHP_MINI_WID in this example is the foreign key for the
Citizenship Mini-Dimension).
21. Click on the Control tab. Check the boxes for Defined in the Database and Active.
22. Click on the Flexfields tab. For the OBI Index Type (ETL/Query) flexfield, uncheck the box for
Default and set the value to Query. Ensure that the ODI Bitmap Index flexfield is set to the
value Y.
Page 44 of 66
23. Save the changes and repeat the steps for the bitmap indexes of the remaining key columns.
3. Expand the newly created subfolder and create a new interface. Enter the name of the interface
using the following convention: SIL_<TargetBusinessName>.<TargetPhysicalName>. In this
example, SIL_CSUERSStudentFact.WC_CSU_ERSS_F.
Page 45 of 66
4. Go to the Mapping tab and drag and drop the target fact table from the BI Applications/Fact
model to the target data store. Drag and drop the staging table from the BI Applications/Fact
Stage model as the source. You may use Automatic Mapping to map source columns from the
staging table to the target fact table if applicable.
5. For Date WID columns, instead of the lookup use the following function to convert the date to
key value:
CALCULATE_DT_WID_DFLT(<TableName>.<DateColumnField>,0)
6. For surrogate key lookups, click on the lookup icon (the magnifying glass) on the top of the
mapping sheet.
7. In the Lookup Wizard, ensure that the Driving Table selected is the Fact Staging table. Search for
the name of the dimension under Lookup Table and select it. Specify a meaningful alias as
required. Click on Next >.
Page 46 of 66
8. In the next step of the wizard, select a source column and a target column required for the join
and click on the Join button. Then modify the Lookup condition to construct the
INTEGRATION_ID natural key from the fact staging table (tip: see the expression in the
dimension staging mapping for INTEGRATION_ID) to join with the INTEGRATION_ID of the
dimension table.
Also add the condition to match the DATASOURCE_NUM_ID of the fact staging table with the
DATASOURCE_NUM_ID of the dimension table and add the condition CURRENT_FLG = ‘Y’ to
select the latest SCD2 record from the dimension table. Click on Finish.
Page 47 of 66
9. In the mapping editor, drag and drop the ROW_WID column from the dimension lookup table to
the corresponding foreign key
10. Edit the expression to map unmatched records to the dimension’s “unassigned” record using
the COALESCE function e.g. COALESCE(WC_CSU_CITIZENSHIP_MD.ROW_WID, 0)
Page 48 of 66
11. Similarly add and map all the lookups for the remaining dimensions for the fact table.
12. Check the Key checkbox (in the Property Inspector of the mapping) for the INTEGRATION_ID and
DATASOURCE_NUM_ID fields.
Page 49 of 66
16. Go to the Flow tab. Select the IKM BIAPPS Oracle Incremental Update using the IKM Selector.
Save the changes.
Page 50 of 66
Create a Package for the SIL
Mapping
1. Create a package under the SIL folder for the dimension, using the same naming convention
SIL_<BusinessName>
2. Open the package, and click on the Diagram tab. Drag and drop the IS_INCREMENTAL variable
and set the type to Refresh Variable (default). Drag and drop the SIL interface and connect the
steps.
Page 51 of 66
Generating Scenarios and Updating the Load Plan for Custom Facts and
Dimensions
Client Configuration
Important: Ensure that this property is set in any ODI client you use prior to generating scenarios.
1. Go to the in the main ODI menu and select User Parameters.
Page 52 of 66
Generate Scenarios – Custom
Facts and Dimensions
Note that the procedure listed here in this section is only for custom (WC) dimensions and facts, not for
extensions to the delivered OBIA facts and dimensions.
ODI Scenarios will have to be generated for all SDE and SIL packages for the custom dimensions and
facts. To generate the scenarios for multiple packages skip to the section “Generating Scenarios for
Multiple Packages”. For individual packages, follow the steps below.
1. To generate a scenario, navigate to the SDE package that we created for a custom dimension
(CSU Citizenship Mini Dimension in this example). Right-click and select Generate Scenario…
2. Retain the generated scenario name and version, and check the box to Generate scenario as if
all underlying objects are materialized. Click on OK.
Page 53 of 66
3. Select the option to Use All startup parameters and click on OK.
4. The generated scenario is now visible underneath the package in the tree.
NOTE: In the future if any changes are made to any of the interfaces or the package, the
package must be regenerated. To do this, right-click on the scenario and select Regenerate.
Page 54 of 66
5. Repeat the steps above to generate scenarios for the SDE and SIL packages of all the custom
facts and dimensions.
3. Once all the required packages have been marked, right-click on the containing folder and select
Generate All Scenarios…
Page 55 of 66
4. Set the generation mode to Creation (you can use Re-generate to regenerate scenarios in the
future) and check the option to Generate scenario as if all underlying objects are materialized.
Only packages are to be generated and the filters set for the Group (Smileys in this example)
and Marker (Smiley 1). Click on OK.
Page 56 of 66
6. Wait for the scenarios to be generated. For each generated scenario, select the option to Use All
startup parameters and click on OK.
Page 57 of 66
2. Double-click on the load plan to open it. In the load plan window, go to the Steps sub-tab.
3. In the Steps Hierarchy, click on the top level X_CUSTOM_DIM step and click on the green “+”
button on the top right and select Run Scenario Step.
4. Enter the Scenario Name and Step Name of an SDE dimension package, enter -1 for the version
and click on Finish.
Page 58 of 66
5. Set the Restart option to Restart from failed step.
6. Repeat the above steps for all the custom SDE dimension scenarios and save the load plan.
7. Similarly add the custom fact SDE scenarios to BIAPPS Load Plan > Load Plan Dev Components >
SDE > PSFT_9_0 > 3 SDE Fact X_CUSTOM_FG PSFT_9_0.
8. Also add the custom dimension SIL scenarios to BIAPPS Load Plan > Load Plan Dev Components
> SIL > 3 SIL Dims X_CUSTOM_DIM and the custom fact SIL scenarios to BIAPPS Load Plan >
Load Plan Dev Components > SIL > 3 SIL Fact X_CUSTOM_FG.
9. Create or Regenerate an execution plan for the custom fact group and/or all of SIA including the
custom fact group in the BI Applications Configuration Manager.
Page 59 of 66
Extending a Delivered OBIA Dimension or Fact with New Columns
Columns may be added to extend a dimension or fact delivered by OBIA. These columns are prefixed
with X_ in order to avoid potential conflicts with future OBIA upgrades.
If the source tables for your mappings do not already exist in the ODI model for your source, reverse
engineer them as specified in the “Import Source Tables” section on page 12.
3. Enter the name and specify the data type details of the new column.
Page 60 of 66
4. Continue to add columns as needed, and save the definition when done.
Page 61 of 66
3. Enter a Description to identify this task folder as the original delivered version and click on OK.
Page 62 of 66
4. Copy and paste the folder to the Custom SDE folder (Custom_SDE_PSFT_90_Adaptor).
5. Edit the name of the newly copied folder and remove “Copy of “ from the folder name.
Page 63 of 66
6. Modify the mapping in the Custom SDE folder as per the ETL specifications to map data into the
new X_ fields. Note that you can use the X_CUSTOM column as a guide for mapping your new
column.
Generate Scenarios
1. After making the necessary modifications to the mapping, go back to the original task folder in
the source adaptor folder (SDE_PSFT_90_Adaptor folder in this case) and expand Packages,
then expand the delivered package (SDE_PSFT_SIAAcademicCareerDimension in this example).
Expand Scenarios underneath the package, and double-click on the scenario.
2. Note the name of the scenario and its version (e.g. save the name into a text document). In this
example, SDE_PSFT_90_ADAPTOR_SDE_PSFT_SIAACADEMICCAREERDIMENSION is the name of
the scenario and its version 001.
Page 64 of 66
3. Delete the scenario from the folder. Click Yes to confirm.
4. Go back to the Custom SDE folder and select the package under the task folder of the extended
dimension. Right-click and select Generate Scenario…
5. In the New Scenario window, specify the name that you noted from step 2 above
(SDE_PSFT_90_ADAPTOR_SDE_PSFT_SIAACADEMICCAREERDIMENSION), check the option to
Generate scenario as if all underlying objects are materialized and click OK.
Page 65 of 66
6. When prompted, select the option to Use All scenario variables.
7. Repeat the above steps for the SIL scenario of the extended dimension.
8. All existing and new execution plans would now use the new scenarios generated from the
customized mappings.
Page 66 of 66