Вы находитесь на странице: 1из 6

This is a readme file that explains how to improve/tune the query performance of ODI interface

SDE_PSFT_9x_ADAPTOR_SDE_PSFT_PROJECTBUDGETFACT (SR 3-9457795411)

Supported OBIA releases: 11.1.7.1


Supported Apps releases: PSFT 9.0 onwards

Issue Summary

Customer reported poor query performance for the following interface -


SDE_PSFT_91_ADAPTOR_SDE_PSFT_PROJECTBUDGETFACT

This technote lists steps given by PSR team to help optimize the load query that’s generated by
ODI. The changes/screenshots are explained for PSFT base adaptor PSFT 9.0.

This technote is also applicable to –


SDE_PSFT_91_ADAPTOR_SDE_PSFT_PROJECTBUDGETFACT

Directions for applying the Fix

1. Open the ODI Studio client and login to the appropriate repository
2. Click on the Designer tab and navigate to the appropriate sde folder for psft under BI
apps project -> Mappings ->SDE_PSFT90_Adaptor (if using psft 90 else use _91)
3. Expand the folder SDE_PSFT_ProjectBudgetFact and navigate to Interfaces folder and
open the SDE_PSFT_ProjectBudgetFact.W_PROJ_BUDGET_FS_SQTRANS.Y interface
(icon marked in yellow)
4. At the bottom click on the ‘Flow’ tab and on the diagram click on the label ‘Staging
Area(ORACLE…)’.
In the property inspector you will see the target properties. Under the IKM properties
scroll down to the ‘OBI_HINT_NESTED’ KM option and change the value from default
variable #ETL_HINT_NESTED to #ETL_HINT_NESTED1 in the ‘Value’ field.
               
5. Save the interface
6. Open the main interface (icon marked in blue)
SDE_PSFT_ProjectBudgetFact.W_PROJ_BUDGET_FS and go to quick edit section.
All lookups/joins based on PS_SET_CNTRL_REC table need to be updated to remove
unnecessary conditions –

Expand Lookups and replace the existing joins between

1. SQTRANS and LKP_SETCNTRLREC_NEW_EXPENDITUR with the following join –

SQTRANS.BUSINESS_UNIT_GL = LKP_SETCNTRLREC_NEW_EXPENDITUR.SETCNTRLVALUE
AND 'DEPT_TBL' = LKP_SETCNTRLREC_NEW_EXPENDITUR.RECNAME
2. SQTRANS and LKP_SETCNTRLREC_NEW_GL_ACCOUNT with the following join –

SQTRANS.BUSINESS_UNIT_GL =
LKP_SETCNTRLREC_NEW_GL_ACCOUNT.SETCNTRLVALUE
AND 'GL_ACCOUNT_TBL' = LKP_SETCNTRLREC_NEW_GL_ACCOUNT.RECNAME

3. SQTRANS and LKP_SETCNTRLREC_NEW_JOB_ID with the following join –

SQTRANS.BUSINESS_UNIT = LKP_SETCNTRLREC_NEW_JOB_ID.SETCNTRLVALUE
AND 'JOBCODE_TBL' = LKP_SETCNTRLREC_NEW_JOB_ID.RECNAME

4. SQTRANS and LKP_SETCNTRLREC_FIN_RES with the following join –

SQTRANS.BUSINESS_UNIT = LKP_SETCNTRLREC_FIN_RES.SETCNTRLVALUE
AND 'PROJ_RES_TYPE' = LKP_SETCNTRLREC_FIN_RES.RECNAME

5. SQTRANS and LKP_SETCNTRLREC_NEW_PROJ_ROLE with the following join –

SQTRANS.BUSINESS_UNIT = LKP_SETCNTRLREC_NEW_PROJ_ROLE.SETCNTRLVALUE
AND 'PROJ_ROLE' = LKP_SETCNTRLREC_NEW_PROJ_ROLE.RECNAME

Expand joins and replace the existing joins between

1. SQTRANS and LKP_SETCNTRLREC_NEW with the following join –

SQTRANS.BUSINESS_UNIT = LKP_SETCNTRLREC_NEW.SETCNTRLVALUE
AND 'CAL_BP_TBL' = LKP_SETCNTRLREC_NEW.RECNAME

2. SQTRANS and LKP_SETCNTRLREC_NEW_START_DT with the following join –

SQTRANS.BUSINESS_UNIT = LKP_SETCNTRLREC_NEW_START_DT.SETCNTRLVALUE
AND 'CAL_BP_TBL' = LKP_SETCNTRLREC_NEW_START_DT.RECNAME

3. SQTRANS and LKP_SETCNTRLREC_NEW_RES_CLASS with the following join –

SQTRANS.BUSINESS_UNIT_GL = LKP_SETCNTRLREC_NEW_RES_CLASS.SETCNTRLVALUE
AND 'GM_BUD_CATEGORY' = LKP_SETCNTRLREC_NEW_RES_CLASS.RECNAME

               
7. Save the interface
8. Regenerate the scenario. Ensure that when the regenerate scenario screen pops up the
newly added variable ETL_HINT_NESTED1 is checked. This can be done either by
selecting it explicitly (highlighted in red) or by clinking in the Use All button at top
(highlighted in blue)
Note: These fixes are to be applied in the right folder for e.g. Apply them in the
SDE_PSFT_91_Adaptor folder of the ODI repository if you are running PSFT 9.1

9. In the designer tab go to Load Plans and Scenarios and expand BIAPPS Load Plan folder
 Load Plan Dev Components  SDE PSFT_9_0

Double click on 3 SDE Fact PRJBUDGET_FG PSFT_9_0

Go to variables section and click on the ‘+’ icon to add variable ETK_HINT_NESTED1.
Save the changes.

Go to steps and select the scenario that loads budget fact i.e
SDE_PSFT_90_ADAPTOR_SDE_PSFT_PROJECTBUDGETFACT

Go to scenario variables section and you would see ETL_HINT_NESTED1 variable there.
Select the overwrite button and enter the following hint against ETL_HINT_NESTED1
variable

FULL=(/*+ USE_HASH(A E D CUSTOMER) */ , /*+ USE_HASH(A E D CUSTOMER) */ , /*+


USE_HASH(A G C F CUSTOMER AN_TYPE) */ , /*+ USE_HASH(A G C F CUSTOMER
AN_TYPE) */); INCR=(/*+ USE_HASH(A E D CUSTOMER) */ , /*+ USE_HASH(A E D
CUSTOMER) */ , /*+ USE_HASH(A G C F CUSTOMER AN_TYPE) */ , /*+ USE_HASH(A G C
F CUSTOMER AN_TYPE) */)
For PSFT 9.1 customer similar changes need to be done in 3 SDE Fact PRJBUDGET_FG
PSFT_9_1 LP Dev component under BIAPPS Load Plan folder  Load Plan Dev
Components  SDE PSFT_9_1

10. Save the changes and regenerate the load plan for the changes to take effect and hints to
get applied to generated queries.

Вам также может понравиться