You are on page 1of 4

o

Approach Note
JSN-444

Oracle Financial Services Software Limited.


Nirlon Compound, Off Western Express Highway,
Near Hub Mall, Goregaon East
Mumbai-400063
India
Tel. 91- 022- 555 98000
Fax: 91- 022- 401 87990

Copyright 2015 Oracle Financial Services Software Limited


All rights reserved.
No part of this work may be reproduced, stored in a retrieval system, adopted or transmitted in any form or by any
means: electronic, mechanical, photographic, graphic, optic recording or otherwise, translated in other language or
computer language, without the prior written permission of Oracle Financial Services Software Limited .
Due care has been taken to make this Approach Note and accompanying software package as accurate as
possible. However, Oracle Financial Services Software Limited makes no representation or warranties with respect
to the contents hereof and shall not be responsible for any loss or damage caused to the user by the direct or
indirect use of this Approach Note and accompanying Software System. Furthermore, Oracle Financial Services
Software Limited reserves the rights to alter, modify or otherwise change in any manner, the contents hereof,
without obligation of Oracle Financial Services Software Limited to notify any person of such revision or changes.
All company and product names are trademarks of the respective companies with which they are associated.

Document Control
File Name:

JSN444_ApproachNote_Ver1.21.doc

Group

RBPG

Revision No:

3.21

Last saved by

Raghuvir Naikuser

Creation Date:

Wednesday, January 27,


2016015

Last Saved On:

Wednesday, January 27,


2016016

Author

Raghuvir Naik

COPYRIGHT (C) 2015 Oracle Financial Services Software Limited.


2

Problem Description
[REFRESH] Performance Improvement for RPT_FT_BKJWD0001 (table for a
report "List of Incomplete FT")
RPT_FT_BKJWD0001 (table for a report "List of Incomplete FT) which is run as
part of CBR REFRESH takes time. UPDATE takes longer in particular.
It took about 33 minutes in monthly batch in September 2015.
We checked the Explain Plan and waiting events to find out that TABLE
ACCESS FULL for "CBR_CI_CUST_NLS_INFO" may have taken time. This is
caused because of no filtering conditions defined for
"CBR_CI_CUST_NLS_INFO".
Since UPDATE aims at updating "RPT_FT_BJKWD0001", it would be sufficient
to refer only to the customer information available in "RPT_FT_BJKWD0001"
which means it does not have to scan all the records in the entire table.

Expected Behavior
Full scan of CBR_CI_CUST_NLS_INFO should be avoided to improve performance.

Proposed solution
1. Current UPDATE query will be modified to add one more condition as
below.
"t.cod_cust_natl_id = b.cod_cust_natl_id"
This would target only those customers which are part of
RPT_FT_BJKWD0001 table. Thus it is expected to improve the
performance.
2. Also new index will be added on CBR_BA_ACCT_STAT_AUD_TRAIL table
for columns (COD_ACCT_NO, DAT_CHANGE). Current function index
TRUNC (DAT_CHANGE) is less effective when data volume is large for a
single day.
3. We cannot eliminate the function index since it is being used in
AP_CBR_POP_BA_ACCT_STAT_AUD during refresh of table
CBR_BA_ACCT_STAT_AUD_TRAIL.
4. Inner Query on CBR_BA_ACCT_STAT_AUD_TRAIL will be modified as shown
below to access both the columns of the newly added index.
After Change update Statement
UPDATE RPT_FT_BJKWD0001 T
SET (NAM_PAYEE, COD_ACCT_NO, NAM_BRANCH) = (SELECT DISTINCT
NAM_CUST_FULL_KANA,
COPYRIGHT (C) 2015 Oracle Financial Services Software Limited.
3

SUBSTR (B.COD_CUST_NATL_ID, 4, 7), BB.NAM_BRANCH


FROM CBR_CI_CUST_NLS_INFO B,
CBR_BA_BRANCH_INFO BB,
CI_CUST_ADDN_DETLS CC,
CH_ACCT_MAST A
WHERE CC.COD_CUST_ID=B.COD_CUST_ID
AND A.COD_CUST=B.COD_CUST_ID
AND B.COD_CUST_NATL_ID = T.COD_CUST_NATL_ID
AND CC.FLG_MNT_STATUS = 'A'
AND A.FLG_MNT_STATUS = 'A'
AND (A.COD_ACCT_STAT NOT IN (1,5)
OR ( A.COD_ACCT_STAT IN (1,5) AND 0 <> (SELECT COUNT(1) FROM
CBR_BA_ACCT_STAT_AUD_TRAIL S WHERE S.COD_ACCT_STAT_CURR = 1 AND
S.COD_ACCT_NO = A.COD_ACCT_NO AND S.DAT_CHANGE >:B1 AND
S.DAT_CHANGE <:B1+1)))
AND B.NAM_CUST_FULL_KANA LIKE
'%'||T.BENEFICIARY_NAME||'%' AND SUBSTR (B.COD_CUST_NATL_ID, 1,
3) = BB.COD_CC_BRN
AND B.MOBILE_NO = REPLACE (T.MOBILE_PHONE, '-'))
WHERE T.USER_TYPE_MOBILE IS NOT NULL

Impacted Area
BJKWD0001 List of Incomplete FT Report
[REFRESH] RPT_FT_BKJWD0001

COPYRIGHT (C) 2015 Oracle Financial Services Software Limited.


4

You might also like