Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Many tables in a view.

Re: Many tables in a view.

From: Jack van Zanen <nlzanen1_at_ey.nl>
Date: Wed, 31 May 2000 12:25:00 +0100
Message-Id: <10514.107231@fatcity.com>


Hi,

We have an Oracle guy in here now that is looking at these thing now. My suggestion to the developers was to split things up their reaction was Oracle is not tuned properly. This guy at least confirmed that the querries are the problem and is now trying to tune them somehow. As for the next DBA, everything is documented by the developers so he should be allright.

Jack

"cyril" <cyril_at_stockholding.com>@fatcity.com on 05/31/2000 09:52:24 AM

Please respond to ORACLE-L_at_fatcity.com

Sent by: root_at_fatcity.com

To: Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com> cc:
Subject: Re: Many tables in a view.

Hi Jack..

 That was one of the 'largest' pieces of code, I have seen!

 But I again repeat the question!

 At a later point of time.. (say after u've resigned!).. how does a new DBA  get a match of the views columns..???

"Jack van Zanen" <nlzanen1_at_ey.nl> on 05/23/2000 02:23:36 PM

Please respond to ORACLE-L_at_fatcity.com

To: Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com> cc: (bcc: cyril/DBAMUM01/SHCIL/IN)

Hi All,

Just to give you some additional info:

This is one of the views they came up with and doesn't perform very well.

The second view is from the where clause of the first



CREATE OR REPLACE VIEW CABS.EYNL__VQ_ALL_ENG_RPT1
( ENGAGEMENT_NUMBER,NAME_CODE,SHORT_NAME,FULL_NAME,

       CLIENT_NUMBER,CLIENT_NAME_CODE,CLIENT_SHORT_NAME,
       CLIENT_PTNR_NAME_CODE,CLIENT_DEBTOR_PTNR_NAME_CODE,
       ENG_GROUP_NUMBER,ENG_GROUP_SHORT_NAME,CHARGEABLE_FLAG,
       CLASSIFICATION,CLASS_OF_SERVICE,WORK_TYPE,
       RESP_CENTRE_CODE,RESP_CENTRE_SHORT_NAME,
       RESP_CENTRE_FULL_NAME,RESP_CENTRE_SORT_SEQUENCE,
       RECURRING_WORK_CODE,FEE_ARRANGEMENT,PRACTICE_AREA,
       MAIN_INDUSTRY_CODE,STATUS_SYSTEM,STATUS_USER,
       LOCAL_TAX_CODE,NATIONAL_TAX_CODE,
       WIP_VALUATION_SCHEDULE,PARTNER_NAME_CODE,
       PARTNER_SHORT_NAME,PARTNER_FAMILY_NAME,
       PARTNER_INITIALS,MANAGER_NAME_CODE,MANAGER_SHORT_NAME,
       MANAGER_FAMILY_NAME,MANAGER_INITIALS,
       BILLING_PARTNER_NAME_CODE,BILLING_PARTNER_SHORT_NAME,
       BILLING_PARTNER_FAMILY_NAME,BILLING_PARTNER_INITIALS,
       DEBTOR_OFFICE,LEGAL_ENTITY,ENGAGEMENT_REGION,
       CHARGE_TO_CLIENT_NUMBER,CHARGE_TO_CLIENT_SHORT_NAME,
       TIME_ALLOWED,FUTURE_TIME_ALLOWED,EXPENSE_ALLOWED,
       DEFAULT_INVOICE_FORMAT,LOCKED_FOR_BILLING,
       AUTO_BILLING_METHOD,OTHER_NUMBER,TARGET_REALN_PCT,
       BUDGETED_HOURS,BUDGETED_FEE,BUDGETED_EXPENSE,
       APPLY_EXP_UPLIFT,DATE_CHANGED,CHANGED_BY_USER,
       PROJECT_MANDATORY,BUSINESS_AREA,ROLE_CLNP,ROLE_CLDP,
       ROLE_ENGP,ROLE_ENGM,ROLE_ENGBP,WIP_CURRENCY,
       GLOBAL_CURRENCY,REPORTING_CURRENCY,DATE_LAST_WORKED,
       DATE_LAST_BILL,DATE_LAST_CASH,WIP_DATE_CHANGED,
       DEBTORS_DATE_CHANGED,STATISTICS_AS_AT_DATE,
       WIP_AGEING_BRACKET_1,WIP_AGEING_BRACKET_2,
       WIP_AGEING_BRACKET_3,WIP_AGEING_BRACKET_4,
       WIP_AGEING_BRACKET_5,WIP_AGEING_BRACKET_6,
       WIP_TOTAL_OUTSTANDING,WIP_THIS_PERIOD,WIP_1_PERIOD,
       WIP_2_PERIOD,WIP_3_PERIOD,WIP_4_PERIOD,WIP_5_PERIOD,
       WIP_BAL,WIP_PROVISION,PCT_WIP_PROVISION,
       REALISABLE_WIP_BAL,PCT_WIP_REALISABLE,
       DEBTORS_AGEING_BRACKET_1,DEBTORS_AGEING_BRACKET_2,
       DEBTORS_AGEING_BRACKET_3,DEBTORS_AGEING_BRACKET_4,
       DEBTORS_AGEING_BRACKET_5,DEBTORS_AGEING_BRACKET_6,
       DEBTORS_TOTAL_OUTSTANDING,DEBTORS_THIS_PERIOD,
       DEBTORS_1_PERIOD,DEBTORS_2_PERIOD,DEBTORS_3_PERIOD,
       DEBTORS_4_PERIOD,DEBTORS_5_PERIOD,DEBTORS_BAL,
       DEBTORS_PROVISION,PCT_DEBTORS_PROVISION,
       REALISABLE_DEBTORS_BAL,PCT_DEBTORS_REALISABLE,
       INVESTMENT,REALISABLE_INVESTMENT,
       PCT_INVESTMENT_REALISABLE,UNBLLD_TIME,
       UNBLLD_TIME_WIP_VAL,UNUTLSD_TIME_ACCRLS,
       UNUTLSD_TIME_ACCRLS_VAL,UNBLLD_EXP_WIP_VAL,
       UNUTLSD_EXP_ACCRLS_VAL,GROSS_WIP_BAL,
       UNUTLSD_PROGRESS_BILL,TIME_TTD,TIME_COST_VAL_TTD,
       AVE_COST_RATE_TTD,TIME_STD_VAL_TTD,AVE_STD_RATE_TTD,
       TIME_WIP_VAL_TTD,AVE_WIP_RATE_TTD,EXP_ORIGNL_VAL_TTD,
       EXP_WIP_VAL_TTD,TOTAL_COST_TTD,PRODUCT_SALES_TTD,
       GNRL_W_OFF_TTD,GNRL_W_ON_TTD,NET_BILLING_TTD,
       LOCAL_TAX_VAL_TTD,NATIONAL_TAX_VAL_TTD,
       GROSS_BILLING_TTD,FX_GAIN_WIP_TTD,BILL_ROUNDING_TTD,
       TIME_BILLED_TTD,TIME_COST_VAL_BILLED_TTD,
       TIME_STD_VAL_BILLED_TTD,TIME_WIP_VAL_BILLED_TTD,
       EXP_ORIGNL_VAL_BILLED_TTD,EXP_WIP_VAL_BILLED_TTD,
       TIME_W_OFF_TTD,TIME_COST_VAL_W_OFF_TTD,
       TIME_STD_VAL_W_OFF_TTD,TIME_WIP_VAL_W_OFF_TTD,
       EXP_ORIGNL_VAL_W_OFF_TTD,EXP_WIP_VAL_W_OFF_TTD,
       PROGRESS_BILLS_CREATD_TTD,PROGRESS_BILLS_UTLSD_TTD,
       WIP_PROVISION_TTD,CASH_TTD,FX_GAIN_CASH_TTD,
       BAD_DEBTS_TTD,DEBTORS_PROVISION_TTD,
       PRICE_VARIANCE_TTD,PCT_PRICE_VARIANCE_TTD,
       BILL_VARIANCE_TIME_TTD,PCT_BILL_VARIANCE_TIME_STD_TTD,
       TIME_WIP_VAL_RELIEVED_TTD,
       PCT_VARIANCE_TIME_RELIEVED_TTD,
       EFFICIENCY_VARIANCE_TTD,PCT_EFFICIENCY_VARIANCE_TTD,
       BILL_VARIANCE_EXP_TTD,EXP_WIP_VAL_RELIEVED_TTD,
       PCT_VARIANCE_EXP_RELIEVED_TTD,
       BAD_AND_DOUBTFUL_DEBTS_TTD,NET_FEES_EARNED_TTD,
       PCT_NET_FEES_EARNED_TTD,CONTRIBUTION_TO_PROFIT_TTD,
       PCT_CONTRIB_TO_NET_FEE_TTD,ADMIN_CLIENT,
       CLIENT_SECTOR_CODE,CLIENT_PRACTICE_GROUP,
       MARKET_SEGMENT_GROUP,BETROKKENHEID,
       BETROKKENHEID_DERDEN,OMZETKLASSE,AANTAL_WERK,
       KVK_NUMBER,KVK_DOSSIERNUMMER,CODE_RECHT,
       WIP_LIMIT_APPLS_FLAG,WIP_LIMIT,CLIENT_INFO_ROLE_ONE,
       CLIENT_INFO_ROLE_TWO,CLIENT_DISC_PTNR_AUDIT,
       CLIENT_DISC_PTR_TAX,CLIENT_DISC_PTNR_CONS,CLIENT_SBI,
       BOOK_YEAR,ENG_BILL_NAME,SORT_FIELD,EY_OTHER_NUMBER,
       DECLARATIEKLASSE,ENG_START_DATE,ELAPSE_TIME,RATE_CODE,
       COUNTRY_CODE,CROSS_SELLING,GCC_DIRECT,GCC_INDIRECT,
       INFORMATIONAL_ROLE_ONE,INFORMATIONAL_ROLE_TWO,
       EY_CLASSIFICATION,SBI,SECTOR_CODE,PRACTICE_GROUP,
       GCC_NUMBER,DISC_PARTNER)

AS select
(ENG.ENG_NUMB),
(ENG.NAME_CODE),
(ENG.SHORT_NAME),
(ENG.FULL_NAME),
(ENG.CLNT_NUMB),
(CLNT.NAME_CODE),
(CLNT.SHORT_NAME),
(CLNT.PRTNR_NAME_CODE),
(CLNT.DEBTOR_PRTNR_NAME_CODE),
(ENG.ENG_GROUP_NUMB),
(eng1.SHORT_NAME),
(ENG.CHRGBL_FLAG),
(ENG.CLSSFCTN),
(ENG.CLASS_OF_SERVICE),
(ENG.WORK_TYPE),
(ENG.RESPNBLTY_CNTR_CODE),
(RESPNBLTY_CNTR.SHORT_NAME),
(RESPNBLTY_CNTR.FULL_NAME),
(RESPNBLTY_CNTR.SORT_SEQ),
(ENG.RECRNG_WORK_CODE),
(ENG.FEE_ARRANGEMENT),
(ENG.PRACTICE_AREA),
(ENG.MAIN_INDUSTRY_CODE),
(ENG.CRNT_SYS_STATUS),
(ENG.CRNT_USR_STATUS),
(ENG.LOCAL_TAX_CODE),
(ENG.NATIONAL_TAX_CODE),
(ENG.WIP_CSTNG_SCHDL),
(ENG.PRTNR_NAME_CODE),
(ENG.PRTNR_SHORT_NAME),
(ENG.PRTNR_FAMILY_NAME),
(ENG.PRTNR_INITIALS),
(ENG.MNGR_NAME_CODE),
(ENG.MNGR_SHORT_NAME),
(ENG.MNGR_FAMILY_NAME),
(ENG.MNGR_INITIALS),
(ENG.BILLING_PRTNR_NAME_CODE),
(ENG.BILLING_PRTNR_SHORT_NAME),
(ENG.BILLING_PRTNR_FAMILY_NAME),
(ENG.BILLING_PRTNR_INITIALS),
(ENG.DEBTOR_OFFICE),
(ENG.LEGAL_ENTITY),
(ENG.ENG_REGION),
(ENG.CHRG_TO_CLNT),
(clnt1.SHORT_NAME),
(ENG.TIME_ALLOWED),
(ENG.FUTURE_TIME_ALLOWED),
(ENG.EXP_ALLOWED),
(ENG.DEFAULT_BILL_FORMAT),
(ENG.LOCKED_FOR_BILLING),
(ENG.AUTO_BILL_METHOD),
(ENG.OTHER_NUMB),
(ENG.TRGT_RLSTN_PRCNTG),
(ENG.BDGTD_HOURS),
(ENG.BDGTD_FEE),
(ENG.BDGTD_EXP),
(ENG.APPLY_EXP_UPLIFT),
(ENG.DATE_CHNGD),
(SECURITY_USER.NAME),
(ENG.TIME_EXP_BY_PROJECT),
(CLNT.BUSINESS_AREA),
'--',
'--',
'--',
'--',
'--',

(ENG.WIP_CURR_CODE),
(substr(nvl(SYSTEM_OPTIONS.CONTENT,' '),1,3)),
(substr(nvl(SYSTEM_OPTIONS1.CONTENT,' '),1,3)),
VQ_ALL_ENG_RPT1_SUB.Date_Last_Worked,
VQ_ALL_ENG_RPT1_SUB.Date_Last_Bill,
VQ_ALL_ENG_RPT1_SUB.Date_Last_Cash,
VQ_ALL_ENG_RPT1_SUB.WIP_Date_Changed,
VQ_ALL_ENG_RPT1_SUB.Debtors_Date_Changed,
VQ_ALL_ENG_RPT1_SUB.Statistics_as_at_Date,
VQ_ALL_ENG_RPT1_SUB.WIP_Ageing_Bracket_1,
VQ_ALL_ENG_RPT1_SUB.WIP_Ageing_Bracket_2,
VQ_ALL_ENG_RPT1_SUB.WIP_Ageing_Bracket_3,
VQ_ALL_ENG_RPT1_SUB.WIP_Ageing_Bracket_4,
VQ_ALL_ENG_RPT1_SUB.WIP_Ageing_Bracket_5,
VQ_ALL_ENG_RPT1_SUB.WIP_Ageing_Bracket_6,
-- Not req'd for EYNL VQ_ALL_ENG_RPT1_SUB.WIP_Ageing_Bracket_7, -- Not req'd for EYNL VQ_ALL_ENG_RPT1_SUB.WIP_Ageing_Bracket_8,
VQ_ALL_ENG_RPT1_SUB.WIP_Total_Outstanding,
VQ_ALL_ENG_RPT1_SUB.WIP_This_Period,
VQ_ALL_ENG_RPT1_SUB.WIP_1_Period,
VQ_ALL_ENG_RPT1_SUB.WIP_2_Period,
VQ_ALL_ENG_RPT1_SUB.WIP_3_Period,
VQ_ALL_ENG_RPT1_SUB.WIP_4_Period,
VQ_ALL_ENG_RPT1_SUB.WIP_5_Period,

-- Not req'd for EYNL VQ_ALL_ENG_RPT1_SUB.WIP_6_Period, -- Not req'd for EYNL VQ_ALL_ENG_RPT1_SUB.WIP_7_Period,
VQ_ALL_ENG_RPT1_SUB.WIP_Bal,
VQ_ALL_ENG_RPT1_SUB.WIP_Provision,
VQ_ALL_ENG_RPT1_SUB.Pct_WIP_Provision,
VQ_ALL_ENG_RPT1_SUB.Realisable_WIP_Bal,
VQ_ALL_ENG_RPT1_SUB.Pct_Wip_Realisable,
VQ_ALL_ENG_RPT1_SUB.Debtors_Ageing_Bracket_1,
VQ_ALL_ENG_RPT1_SUB.Debtors_Ageing_Bracket_2,
VQ_ALL_ENG_RPT1_SUB.Debtors_Ageing_Bracket_3,
VQ_ALL_ENG_RPT1_SUB.Debtors_Ageing_Bracket_4,
VQ_ALL_ENG_RPT1_SUB.Debtors_Ageing_Bracket_5,
VQ_ALL_ENG_RPT1_SUB.Debtors_Ageing_Bracket_6,
-- Not req'd for EYNL    VQ_ALL_ENG_RPT1_SUB.Debtors_Ageing_Bracket_7,
-- Not req'd for EYNL    VQ_ALL_ENG_RPT1_SUB.Debtors_Ageing_Bracket_8,
VQ_ALL_ENG_RPT1_SUB.Debtors_Total_Outstanding,
VQ_ALL_ENG_RPT1_SUB.Debtors_This_Period,
VQ_ALL_ENG_RPT1_SUB.Debtors_1_Period,
VQ_ALL_ENG_RPT1_SUB.Debtors_2_Period,
VQ_ALL_ENG_RPT1_SUB.Debtors_3_Period,
VQ_ALL_ENG_RPT1_SUB.Debtors_4_Period,
VQ_ALL_ENG_RPT1_SUB.Debtors_5_Period,
-- Not req'd for EYNL    VQ_ALL_ENG_RPT1_SUB.Debtors_6_Period,
-- Not req'd for EYNL    VQ_ALL_ENG_RPT1_SUB.Debtors_7_Period,
VQ_ALL_ENG_RPT1_SUB.Debtors_Bal,
VQ_ALL_ENG_RPT1_SUB.Debtors_Provision,
VQ_ALL_ENG_RPT1_SUB.Pct_Debtors_Provision,
VQ_ALL_ENG_RPT1_SUB.Realisable_Debtors_Bal,
VQ_ALL_ENG_RPT1_SUB.Pct_Debtors_Realisable,
VQ_ALL_ENG_RPT1_SUB.Investment,
VQ_ALL_ENG_RPT1_SUB.Realisable_Investment,
VQ_ALL_ENG_RPT1_SUB.Pct_Investment_Realisable,
VQ_ALL_ENG_RPT1_SUB.Unblld_Time,
VQ_ALL_ENG_RPT1_SUB.Unblld_Time_Wip_Val,
VQ_ALL_ENG_RPT1_SUB.Unutlsd_Time_Accrls,
VQ_ALL_ENG_RPT1_SUB.Unutlsd_Time_Accrls_Val,
VQ_ALL_ENG_RPT1_SUB.Unblld_Exp_Wip_Val,
VQ_ALL_ENG_RPT1_SUB.Unutlsd_Exp_Accrls_Val,
VQ_ALL_ENG_RPT1_SUB.Gross_WIP_Bal,
VQ_ALL_ENG_RPT1_SUB.Unutlsd_Progress_Bill,
VQ_ALL_ENG_RPT1_SUB.Time_Ttd,
VQ_ALL_ENG_RPT1_SUB.Time_Cost_Val_Ttd,
VQ_ALL_ENG_RPT1_SUB.Ave_Cost_Rate_Ttd,
VQ_ALL_ENG_RPT1_SUB.Time_Std_Val_Ttd,
VQ_ALL_ENG_RPT1_SUB.Ave_Std_Rate_Ttd,
VQ_ALL_ENG_RPT1_SUB.Time_Wip_Val_Ttd,
VQ_ALL_ENG_RPT1_SUB.Ave_Wip_Rate_Ttd,
VQ_ALL_ENG_RPT1_SUB.Exp_Orignl_Val_Ttd,
VQ_ALL_ENG_RPT1_SUB.Exp_Wip_Val_Ttd,
VQ_ALL_ENG_RPT1_SUB.Total_Cost_Ttd,
VQ_ALL_ENG_RPT1_SUB.Product_Sales_Ttd,
VQ_ALL_ENG_RPT1_SUB.Gnrl_W_Off_Ttd,
VQ_ALL_ENG_RPT1_SUB.Gnrl_W_On_Ttd,
VQ_ALL_ENG_RPT1_SUB.Net_Billing_Ttd,
VQ_ALL_ENG_RPT1_SUB.Local_Tax_Val_Ttd,
VQ_ALL_ENG_RPT1_SUB.National_Tax_Val_Ttd,
VQ_ALL_ENG_RPT1_SUB.Gross_Billing_Ttd,
VQ_ALL_ENG_RPT1_SUB.FX_Gain_WIP_Ttd,
VQ_ALL_ENG_RPT1_SUB.Bill_Rounding_Ttd,
VQ_ALL_ENG_RPT1_SUB.Time_Billed_Ttd,
VQ_ALL_ENG_RPT1_SUB.Time_Cost_Val_Billed_Ttd,
VQ_ALL_ENG_RPT1_SUB.Time_Std_Val_Billed_Ttd,
VQ_ALL_ENG_RPT1_SUB.Time_Wip_Val_Billed_Ttd,
VQ_ALL_ENG_RPT1_SUB.Exp_Orignl_Val_Billed_Ttd,
VQ_ALL_ENG_RPT1_SUB.Exp_Wip_Val_Billed_Ttd,
VQ_ALL_ENG_RPT1_SUB.Time_W_Off_Ttd,
VQ_ALL_ENG_RPT1_SUB.Time_Cost_Val_W_Off_Ttd,
VQ_ALL_ENG_RPT1_SUB.Time_Std_Val_W_Off_Ttd,
VQ_ALL_ENG_RPT1_SUB.Time_Wip_Val_W_Off_Ttd,
VQ_ALL_ENG_RPT1_SUB.Exp_Orignl_Val_W_Off_Ttd,
VQ_ALL_ENG_RPT1_SUB.Exp_Wip_Val_W_Off_Ttd,
VQ_ALL_ENG_RPT1_SUB.Progress_Bills_Creatd_Ttd,
VQ_ALL_ENG_RPT1_SUB.Progress_Bills_Utlsd_Ttd,
VQ_ALL_ENG_RPT1_SUB.WIP_Provision_Ttd,
VQ_ALL_ENG_RPT1_SUB.Cash_Ttd,
VQ_ALL_ENG_RPT1_SUB.FX_Gain_Cash_Ttd,
VQ_ALL_ENG_RPT1_SUB.Bad_Debts_Ttd,
VQ_ALL_ENG_RPT1_SUB.Debtors_Provision_Ttd,
VQ_ALL_ENG_RPT1_SUB.Price_Variance_Ttd,
VQ_ALL_ENG_RPT1_SUB.Pct_Price_Variance_Ttd,
VQ_ALL_ENG_RPT1_SUB.Bill_Variance_Time_Ttd,
VQ_ALL_ENG_RPT1_SUB.Pct_Bill_Variance_Time_Std_Ttd,
VQ_ALL_ENG_RPT1_SUB.Time_Wip_Val_Relieved_Ttd,
VQ_ALL_ENG_RPT1_SUB.Pct_Variance_Time_Relieved_Ttd,
VQ_ALL_ENG_RPT1_SUB.Efficiency_Variance_Ttd,
VQ_ALL_ENG_RPT1_SUB.Pct_Efficiency_Variance_Ttd,
VQ_ALL_ENG_RPT1_SUB.Bill_Variance_Exp_Ttd,
VQ_ALL_ENG_RPT1_SUB.Exp_Wip_Val_Relieved_Ttd,
VQ_ALL_ENG_RPT1_SUB.Pct_Variance_Exp_Relieved_Ttd,
VQ_ALL_ENG_RPT1_SUB.Bad_and_Doubtful_Debts_Ttd,
VQ_ALL_ENG_RPT1_SUB.Net_Fees_Earned_Ttd,
VQ_ALL_ENG_RPT1_SUB.Pct_Net_Fees_Earned_Ttd,
VQ_ALL_ENG_RPT1_SUB.Contribution_to_Profit_Ttd,
VQ_ALL_ENG_RPT1_SUB.Pct_Contrib_to_Net_Fee_Ttd,
CLNT.EYNL__ADM_FLAG,
CLNT.EYNL__SECTOR_CODE,
CLNT.EYNL__PRACTICE_GP,
CLNT.EYNL__MARKETSEG_CODE,
CLNT.EYNL__BDERDEN,
CLNT.EYNL__BRKKHEID,
CLNT.EYNL__OMZETKLASSE,
CLNT.EYNL__AANTAL_WERK,
CLNT.EYNL__KVK_NUMB,
CLNT.EYNL__KVK_DOSSI,
CLNT.EYNL__CODE_RECHT,
CLNT.EYNL__WIP_LIMIT_APPLS_FLAG,
CLNT.EYNL__WIP_LIMIT,
CLNT.EYNL__INFO_ROLE1,
CLNT.EYNL__INFO_ROLE2,
CLNT.EYNL__DISPAUDIT_PRTN,
CLNT.EYNL__DISTAX_PRTN,
CLNT.EYNL__DISPCONS_PTRN,
CLNT.EYNL__SBI,
ENG.EYNL__BOOK_YEAR,
ENG.EYNL__ENG_BILL_NAME,
ENG.EYNL__SORT_FIELD,
ENG.EYNL__OTHER_NUMBER,
ENG.EYNL__DECLARATIEKLASSE,
ENG.EYNL__ENG_START_DATE,
ENG.EYNL__ELAPSE_TIME ,
ENG.EYNL__RATE_CODE,
ENG.EYNL__COUNTRY_CODE,
ENG.EYNL__CROSS_SELLING,
ENG.EYNL__GCC_DIRECT,
ENG.EYNL__GCC_INDIRECT,
ENG.EYNL__INFORMATIONAL_ROLE_ONE,
ENG.EYNL__INFORMATIONAL_ROLE_TWO,
ENG.EYNL__CLASSIFICATION,
ENG.EYNL__SBI,
ENG.EYNL__SECTOR_CODE,
ENG.EYNL__PRACTICE_GP,

ENG.EYNL__GCC_NUMBER,
ENG.EYNL__DISC_PARTNER
from ENG, RESPNBLTY_CNTR, SECURITY_USER, CLNT, CLNT CLNT1, ENG ENG1,
     SYSTEM_OPTIONS SYSTEM_OPTIONS, SYSTEM_OPTIONS SYSTEM_OPTIONS1,
     VQ_ALL_ENG_RPT1_SUB

where
RESPNBLTY_CNTR.RESPNBLTY_CNTR_CODE = ENG.RESPNBLTY_CNTR_CODE and SECURITY_USER.USER_HNDL = ENG.CHNGD_BY and CLNT.CLNT_NUMB = ENG.CLNT_NUMB
and CLNT1.CLNT_NUMB (+)= ENG.CHRG_TO_CLNT and ENG1.ENG_NUMB (+)= ENG.ENG_GROUP_NUMB
and SYSTEM_OPTIONS.PRODUCT = 'Time Recording'
and SYSTEM_OPTIONS.SECTOR = 'Multicurrency'
and SYSTEM_OPTIONS.ITEM = 'HomeCurrency'
and SYSTEM_OPTIONS1.PRODUCT = 'Time Recording'
and SYSTEM_OPTIONS1.SECTOR = 'Multicurrency'
and SYSTEM_OPTIONS1.ITEM = 'Reporting1'
and VQ_ALL_ENG_RPT1_SUB.Engagement_Number(+) = ENG.ENG_NUMB

***************************************************************************
*************************

***************************************************************************
*************************
CREATE OR REPLACE VIEW CABS.VQ_ALL_ENG_RPT1_SUB

( ENGAGEMENT_NUMBER,DATE_LAST_WORKED,DATE_LAST_BILL,
DATE_LAST_CASH,WIP_DATE_CHANGED,DEBTORS_DATE_CHANGED, STATISTICS_AS_AT_DATE,WIP_AGEING_BRACKET_1, WIP_AGEING_BRACKET_2,WIP_AGEING_BRACKET_3, WIP_AGEING_BRACKET_4,WIP_AGEING_BRACKET_5, WIP_AGEING_BRACKET_6,WIP_AGEING_BRACKET_7, WIP_AGEING_BRACKET_8,WIP_TOTAL_OUTSTANDING, WIP_THIS_PERIOD,WIP_1_PERIOD,WIP_2_PERIOD, WIP_3_PERIOD,WIP_4_PERIOD,WIP_5_PERIOD,WIP_6_PERIOD, WIP_7_PERIOD,WIP_BAL,WIP_PROVISION,PCT_WIP_PROVISION, REALISABLE_WIP_BAL,PCT_WIP_REALISABLE, DEBTORS_AGEING_BRACKET_1,DEBTORS_AGEING_BRACKET_2, DEBTORS_AGEING_BRACKET_3,DEBTORS_AGEING_BRACKET_4, DEBTORS_AGEING_BRACKET_5,DEBTORS_AGEING_BRACKET_6, DEBTORS_AGEING_BRACKET_7,DEBTORS_AGEING_BRACKET_8, DEBTORS_TOTAL_OUTSTANDING,DEBTORS_THIS_PERIOD, DEBTORS_1_PERIOD,DEBTORS_2_PERIOD,DEBTORS_3_PERIOD, DEBTORS_4_PERIOD,DEBTORS_5_PERIOD,DEBTORS_6_PERIOD, DEBTORS_7_PERIOD,DEBTORS_BAL,DEBTORS_PROVISION, PCT_DEBTORS_PROVISION,REALISABLE_DEBTORS_BAL, PCT_DEBTORS_REALISABLE,INVESTMENT, REALISABLE_INVESTMENT,PCT_INVESTMENT_REALISABLE, UNBLLD_TIME,UNBLLD_TIME_WIP_VAL,UNUTLSD_TIME_ACCRLS, UNUTLSD_TIME_ACCRLS_VAL,UNBLLD_EXP_WIP_VAL, UNUTLSD_EXP_ACCRLS_VAL,GROSS_WIP_BAL, UNUTLSD_PROGRESS_BILL,TIME_TTD,TIME_COST_VAL_TTD, AVE_COST_RATE_TTD,TIME_STD_VAL_TTD,AVE_STD_RATE_TTD, TIME_WIP_VAL_TTD,AVE_WIP_RATE_TTD,EXP_ORIGNL_VAL_TTD, EXP_WIP_VAL_TTD,TOTAL_COST_TTD,PRODUCT_SALES_TTD, GNRL_W_OFF_TTD,GNRL_W_ON_TTD,NET_BILLING_TTD, LOCAL_TAX_VAL_TTD,NATIONAL_TAX_VAL_TTD, GROSS_BILLING_TTD,FX_GAIN_WIP_TTD,BILL_ROUNDING_TTD, TIME_BILLED_TTD,TIME_COST_VAL_BILLED_TTD, TIME_STD_VAL_BILLED_TTD,TIME_WIP_VAL_BILLED_TTD, EXP_ORIGNL_VAL_BILLED_TTD,EXP_WIP_VAL_BILLED_TTD, TIME_W_OFF_TTD,TIME_COST_VAL_W_OFF_TTD, TIME_STD_VAL_W_OFF_TTD,TIME_WIP_VAL_W_OFF_TTD, EXP_ORIGNL_VAL_W_OFF_TTD,EXP_WIP_VAL_W_OFF_TTD, PROGRESS_BILLS_CREATD_TTD,PROGRESS_BILLS_UTLSD_TTD, WIP_PROVISION_TTD,CASH_TTD,FX_GAIN_CASH_TTD, BAD_DEBTS_TTD,DEBTORS_PROVISION_TTD, PRICE_VARIANCE_TTD,PCT_PRICE_VARIANCE_TTD, BILL_VARIANCE_TIME_TTD,PCT_BILL_VARIANCE_TIME_STD_TTD, TIME_WIP_VAL_RELIEVED_TTD, PCT_VARIANCE_TIME_RELIEVED_TTD, EFFICIENCY_VARIANCE_TTD,PCT_EFFICIENCY_VARIANCE_TTD, BILL_VARIANCE_EXP_TTD,EXP_WIP_VAL_RELIEVED_TTD, PCT_VARIANCE_EXP_RELIEVED_TTD, BAD_AND_DOUBTFUL_DEBTS_TTD,NET_FEES_EARNED_TTD, PCT_NET_FEES_EARNED_TTD,CONTRIBUTION_TO_PROFIT_TTD, PCT_CONTRIB_TO_NET_FEE_TTD)

AS select
ENG_WIP_STATS_RPT_1.ENG_NUMB,
max(ENG_WIP_STATS_RPT_1.DATE_LAST_WORKED),
max(ENG_DBTRS_STATS_RPT_1.DATE_LAST_BILL),
max(ENG_DBTRS_STATS_RPT_1.DATE_LAST_CASH),
max(ENG_WIP_STATS_RPT_1.DATE_CHNGD),
max(ENG_DBTRS_STATS_RPT_1.DATE_CHNGD),

max(to_char(greatest(ENG_WIP_STATS_RPT_1.DATE_CHNGD,ENG_DBTRS_STATS_RPT_1.D ATE_CHNGD),
               'DD/MM/YYYY HH:MI:SS')),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_AGEING_1, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_AGEING_2, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_AGEING_3, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_AGEING_4, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_AGEING_5, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_AGEING_6, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_AGEING_7, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_AGEING_8, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_TOTAL_O_S, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_AGEING_1, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_AGEING_2, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_AGEING_3, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_AGEING_4, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_AGEING_5, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_AGEING_6, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_AGEING_7, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_AGEING_8, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_TOTAL_O_S, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_PRVSN_TTD, 0) * -1),

(decode(sum(nvl(ENG_WIP_STATS_RPT_1.WIP_TOTAL_O_S ,0)), 0, 0,
round(sum(nvl(ENG_WIP_STATS_RPT_1.WIP_PRVSN_TTD,0)) / sum(nvl(ENG_WIP_STATS_RPT_1.WIP_TOTAL_O_S ,0)) * 100, 1))),

sum(nvl(ENG_WIP_STATS_RPT_1.WIP_TOTAL_O_S, 0) - nvl(ENG_WIP_STATS_RPT_1.WIP_PRVSN_TTD, 0)),
(decode(sum(nvl(ENG_WIP_STATS_RPT_1.WIP_TOTAL_O_S, 0)), 0, 0,

          round(sum(nvl(ENG_WIP_STATS_RPT_1.WIP_TOTAL_O_S, 0) - nvl(ENG_WIP_STATS_RPT_1.WIP_PRVSN_TTD, 0))

                    / sum(nvl(ENG_WIP_STATS_RPT_1.WIP_TOTAL_O_S, 0)) * 100,
                    1))),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_AGEING_1, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_AGEING_2, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_AGEING_3, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_AGEING_4, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_AGEING_5, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_AGEING_6, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_AGEING_7, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_AGEING_8, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_TOTAL_O_S, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_AGEING_1, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_AGEING_2, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_AGEING_3, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_AGEING_4, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_AGEING_5, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_AGEING_6, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_AGEING_7, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_AGEING_8, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_TOTAL_O_S, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_PRVSN_TTD, 0) * -1),
(decode(sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_TOTAL_O_S ,0)), 0, 0,
          round(sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_PRVSN_TTD,0))
                         / sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_TOTAL_O_S
,0)) *
100,

               1))),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_TOTAL_O_S, 0) - nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_PRVSN_TTD, 0)),
(decode(sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_TOTAL_O_S, 0)), 0, 0,

          round(sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_TOTAL_O_S, 0) - nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_PRVSN_TTD, 0))

                         / sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_TOTAL_O_S,
0)) *
100,

               1))),

sum(nvl(ENG_WIP_STATS_RPT_1.WIP_TOTAL_O_S, 0) +
nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_TOTAL_O_S, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_TOTAL_O_S, 0) -
nvl(ENG_WIP_STATS_RPT_1.WIP_PRVSN_TTD, 0) +
nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_TOTAL_O_S, 0) -
nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_PRVSN_TTD, 0)),

(decode(sum(nvl(ENG_WIP_STATS_RPT_1.WIP_TOTAL_O_S, 0)
+ nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_TOTAL_O_S, 0)), 0, 0, round(sum(nvl(ENG_WIP_STATS_RPT_1.WIP_TOTAL_O_S, 0) + nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_TOTAL_O_S, 0) - nvl(ENG_WIP_STATS_RPT_1.WIP_PRVSN_TTD, 0) - nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_PRVSN_TTD, 0)) / sum(nvl(ENG_WIP_STATS_RPT_1.WIP_TOTAL_O_S, 0) + nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_TOTAL_O_S, 0)) * 100 ,1))), sum(nvl(ENG_WIP_STATS_RPT_1.UNBLLD_TIME, 0)), sum(nvl(ENG_WIP_STATS_RPT_1.TIME_UNBLLD_WIP_VAL, 0)), sum(nvl(ENG_WIP_STATS_RPT_1.TIME_ACCRLS, 0) * -1), sum(nvl(ENG_WIP_STATS_RPT_1.TIME_ACCRLS_WIP_VAL, 0) * -1), sum(nvl(ENG_WIP_STATS_RPT_1.EXP_UNBLLD_WIP_VAL, 0)), sum(nvl(ENG_WIP_STATS_RPT_1.EXP_ACCRLS_WIP_VAL, 0) * -1), sum(nvl(ENG_WIP_STATS_RPT_1.TIME_UNBLLD_WIP_VAL, 0) - nvl(ENG_WIP_STATS_RPT_1.TIME_ACCRLS_WIP_VAL, 0) + nvl(ENG_WIP_STATS_RPT_1.EXP_UNBLLD_WIP_VAL, 0) - nvl(ENG_WIP_STATS_RPT_1.EXP_ACCRLS_WIP_VAL, 0)), sum(nvl(ENG_WIP_STATS_RPT_1.ON_ACCT_UNUTLSD, 0) * -1), sum(nvl(ENG_WIP_STATS_RPT_1.TIME_TTD, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.TIME_COST_VAL_TTD, 0)), decode((sum(nvl(ENG_WIP_STATS_RPT_1.TIME_TTD, 0))), 0, 0, round(sum(nvl(ENG_WIP_STATS_RPT_1.TIME_COST_VAL_TTD, 0)) /
(sum(nvl(ENG_WIP_STATS_RPT_1.TIME_TTD, 0)) / 60.00), 2)),
sum(nvl(ENG_WIP_STATS_RPT_1.TIME_STD_VAL_TTD, 0)), decode((sum(nvl(ENG_WIP_STATS_RPT_1.TIME_TTD, 0))), 0, 0, round(sum((nvl(ENG_WIP_STATS_RPT_1.TIME_STD_VAL_TTD, 0))) /
(sum(nvl(ENG_WIP_STATS_RPT_1.TIME_TTD, 0)) / 60.00), 2)),
sum(nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_TTD, 0)), decode((sum(nvl(ENG_WIP_STATS_RPT_1.TIME_TTD, 0))), 0, 0,
round(sum((nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_TTD, 0))) /

(sum(nvl(ENG_WIP_STATS_RPT_1.TIME_TTD, 0)) / 60.00), 2)),
sum(nvl(ENG_WIP_STATS_RPT_1.EXP_ORIGNL_VAL_TTD, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.EXP_WIP_VAL_TTD, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.TIME_COST_VAL_TTD,0) +
nvl(ENG_WIP_STATS_RPT_1.EXP_ORIGNL_VAL_TTD,0)),
sum(nvl(ENG_WIP_STATS_RPT_1.PRODUCT_SALES_TTD, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.GNRL_W_OFF_TTD, 0) * -1),
sum(nvl(ENG_WIP_STATS_RPT_1.GNRL_W_ON_TTD, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.NET_BILLING_TTD, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.LOCAL_TAX_VAL_TTD, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.NATIONAL_TAX_VAL_TTD, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.NET_BILLING_TTD, 0) +
nvl(ENG_DBTRS_STATS_RPT_1.LOCAL_TAX_VAL_TTD, 0) +
nvl(ENG_DBTRS_STATS_RPT_1.NATIONAL_TAX_VAL_TTD, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_VAL_RATE_GNLS_TTD, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.BILL_ROUNDING_TTD, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.TIME_BILLED_TTD, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.TIME_COST_VAL_BILLED_TTD, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.TIME_STD_VAL_BILLED_TTD, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_BILLED_TTD, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.EXP_ORIGNL_VAL_BILLED_TTD, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.EXP_WIP_VAL_BILLED_TTD, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.TIME_W_OFF_TTD, 0) * -1),
sum(nvl(ENG_WIP_STATS_RPT_1.TIME_COST_VAL_W_OFF_TTD, 0) * -1),
sum(nvl(ENG_WIP_STATS_RPT_1.TIME_STD_VAL_W_OFF_TTD, 0) * -1),
sum(nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_W_OFF_TTD, 0) * -1),
sum(nvl(ENG_WIP_STATS_RPT_1.EXP_ORIGNL_VAL_W_OFF_TTD, 0) * -1),
sum(nvl(ENG_WIP_STATS_RPT_1.EXP_WIP_VAL_W_OFF_TTD, 0) * -1),
sum(nvl(ENG_WIP_STATS_RPT_1.ON_ACCT_CREATD_TTD, 0)),
sum(nvl(ENG_WIP_STATS_RPT_1.ON_ACCT_UTLSD_TTD, 0) * -1),
sum(nvl(ENG_WIP_STATS_RPT_1.WIP_PRVSN_TTD, 0) * -1),
sum(nvl(ENG_DBTRS_STATS_RPT_1.CASH_TTD, 0) * -1),
sum(nvl(ENG_DBTRS_STATS_RPT_1.CASH_RATE_GNLS_TTD, 0)),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_W_OFF_TTD, 0) * -1),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_PRVSN_TTD, 0) * -1),
sum(nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_TTD, 0) -
nvl(ENG_WIP_STATS_RPT_1.TIME_STD_VAL_TTD, 0)),

(decode(sum(nvl(ENG_WIP_STATS_RPT_1.TIME_STD_VAL_TTD, 0)), 0, 0,
round(sum(nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_TTD, 0) - nvl(ENG_WIP_STATS_RPT_1.TIME_STD_VAL_TTD, 0)) / sum(nvl(ENG_WIP_STATS_RPT_1.TIME_STD_VAL_TTD, 0)) * 100 ,1)*-1 )), sum(nvl(ENG_WIP_STATS_RPT_1.GNRL_W_ON_TTD, 0) -
nvl(ENG_WIP_STATS_RPT_1.GNRL_W_OFF_TTD, 0) - nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_W_OFF_TTD, 0)),
(decode(sum(nvl(ENG_WIP_STATS_RPT_1.TIME_STD_VAL_TTD, 0)), 0, 0,
          round(sum(nvl(ENG_WIP_STATS_RPT_1.GNRL_W_ON_TTD, 0)
                    - nvl(ENG_WIP_STATS_RPT_1.GNRL_W_OFF_TTD, 0)
                    - nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_W_OFF_TTD, 0))
                    / sum(nvl(ENG_WIP_STATS_RPT_1.TIME_STD_VAL_TTD, 0)) *
100
               ,1)*-1
          )),

sum(nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_BILLED_TTD, 0) + nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_W_OFF_TTD, 0)),
(decode(sum(nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_BILLED_TTD, 0)
               + nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_W_OFF_TTD, 0)), 0, 0,
          round(sum(nvl(ENG_WIP_STATS_RPT_1.GNRL_W_ON_TTD, 0)
                    - nvl(ENG_WIP_STATS_RPT_1.GNRL_W_OFF_TTD, 0)
                    - nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_W_OFF_TTD, 0))
                    / sum(nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_BILLED_TTD,
0)
                         + nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_W_OFF_TTD,
0)) *
100
               ,1)*-1
          )),
sum(nvl(ENG_WIP_STATS_RPT_1.GNRL_W_ON_TTD, 0) -
nvl(ENG_WIP_STATS_RPT_1.GNRL_W_OFF_TTD, 0) -
nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_W_OFF_TTD, 0) - nvl(ENG_WIP_STATS_RPT_1.WIP_PRVSN_TTD, 0)),
(decode(sum(nvl(ENG_WIP_STATS_RPT_1.TIME_STD_VAL_TTD, 0)), 0, 0,
          round(sum(nvl(ENG_WIP_STATS_RPT_1.GNRL_W_ON_TTD, 0)
                    - nvl(ENG_WIP_STATS_RPT_1.GNRL_W_OFF_TTD, 0)
                    - nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_W_OFF_TTD, 0)
                    - nvl(ENG_WIP_STATS_RPT_1.WIP_PRVSN_TTD, 0))
                    / sum(nvl(ENG_WIP_STATS_RPT_1.TIME_STD_VAL_TTD, 0)) *
100
               ,1)*-1
          )),
sum(nvl(ENG_WIP_STATS_RPT_1.EXP_WIP_VAL_W_OFF_TTD, 0) * -1),
sum(nvl(ENG_WIP_STATS_RPT_1.EXP_WIP_VAL_BILLED_TTD, 0) + nvl(ENG_WIP_STATS_RPT_1.EXP_WIP_VAL_W_OFF_TTD, 0)),
(decode(sum(nvl(ENG_WIP_STATS_RPT_1.EXP_WIP_VAL_BILLED_TTD, 0)
               + nvl(ENG_WIP_STATS_RPT_1.EXP_WIP_VAL_W_OFF_TTD, 0)), 0, 0,
          round(sum(nvl(ENG_WIP_STATS_RPT_1.EXP_WIP_VAL_W_OFF_TTD, 0) * -1)
                    / sum(nvl(ENG_WIP_STATS_RPT_1.EXP_WIP_VAL_BILLED_TTD,
0)
                         + nvl(ENG_WIP_STATS_RPT_1.EXP_WIP_VAL_W_OFF_TTD,
0)) *
100
               ,1)*-1
          )),
sum(nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_W_OFF_TTD, 0) +
nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_PRVSN_TTD, 0))*-1,
sum(nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_TTD, 0) +
nvl(ENG_WIP_STATS_RPT_1.GNRL_W_ON_TTD, 0) -
nvl(ENG_WIP_STATS_RPT_1.GNRL_W_OFF_TTD, 0) -
nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_W_OFF_TTD, 0) -
nvl(ENG_WIP_STATS_RPT_1.WIP_PRVSN_TTD, 0) -
nvl(ENG_WIP_STATS_RPT_1.EXP_WIP_VAL_W_OFF_TTD, 0) -
nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_W_OFF_TTD, 0) -
nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_PRVSN_TTD, 0)),
(decode(sum(nvl(ENG_WIP_STATS_RPT_1.TIME_STD_VAL_TTD, 0)), 0, 0,
          round(sum(nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_TTD, 0)
                    + nvl(ENG_WIP_STATS_RPT_1.GNRL_W_ON_TTD, 0)
                    - nvl(ENG_WIP_STATS_RPT_1.GNRL_W_OFF_TTD, 0)
                    - nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_W_OFF_TTD, 0)
                    - nvl(ENG_WIP_STATS_RPT_1.WIP_PRVSN_TTD, 0)
                    - nvl(ENG_WIP_STATS_RPT_1.EXP_WIP_VAL_W_OFF_TTD, 0)
                    - nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_W_OFF_TTD, 0)
                    - nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_PRVSN_TTD, 0))
                    / sum(nvl(ENG_WIP_STATS_RPT_1.TIME_STD_VAL_TTD, 0)) *
100
               ,1)
          )),
sum(nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_TTD, 0) +
nvl(ENG_WIP_STATS_RPT_1.GNRL_W_ON_TTD, 0) -
nvl(ENG_WIP_STATS_RPT_1.GNRL_W_OFF_TTD, 0) -
nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_W_OFF_TTD, 0) -
nvl(ENG_WIP_STATS_RPT_1.WIP_PRVSN_TTD, 0) -
nvl(ENG_WIP_STATS_RPT_1.EXP_WIP_VAL_W_OFF_TTD, 0) -
nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_W_OFF_TTD, 0) -
nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_PRVSN_TTD, 0) -
nvl(ENG_WIP_STATS_RPT_1.TIME_COST_VAL_TTD, 0)),

(decode(sum(nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_TTD, 0)
+ nvl(ENG_WIP_STATS_RPT_1.GNRL_W_ON_TTD, 0) - nvl(ENG_WIP_STATS_RPT_1.GNRL_W_OFF_TTD, 0) - nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_W_OFF_TTD, 0) - nvl(ENG_WIP_STATS_RPT_1.WIP_PRVSN_TTD, 0) - nvl(ENG_WIP_STATS_RPT_1.EXP_WIP_VAL_W_OFF_TTD, 0) - nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_W_OFF_TTD, 0) - nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_PRVSN_TTD, 0)), 0, 0, round(sum(nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_TTD, 0) + nvl(ENG_WIP_STATS_RPT_1.GNRL_W_ON_TTD, 0) - nvl(ENG_WIP_STATS_RPT_1.GNRL_W_OFF_TTD, 0) - nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_W_OFF_TTD, 0) - nvl(ENG_WIP_STATS_RPT_1.WIP_PRVSN_TTD, 0) - nvl(ENG_WIP_STATS_RPT_1.EXP_WIP_VAL_W_OFF_TTD, 0) - nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_W_OFF_TTD, 0) - nvl(ENG_DBTRS_STATS_RPT_1.DBTRS_PRVSN_TTD, 0) - nvl(ENG_WIP_STATS_RPT_1.TIME_COST_VAL_TTD, 0)) / sum(nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_TTD, 0) + nvl(ENG_WIP_STATS_RPT_1.GNRL_W_ON_TTD, 0) - nvl(ENG_WIP_STATS_RPT_1.GNRL_W_OFF_TTD, 0) -

nvl(ENG_WIP_STATS_RPT_1.TIME_WIP_VAL_W_OFF_TTD, 0)

Jack

Rod Corderey <RodCorderey_at_Lane-Associates.com>@fatcity.com on 05/22/2000 09:45:16 PM

Please respond to ORACLE-L_at_fatcity.com

Sent by: root_at_fatcity.com

To: Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com> cc:

Are your joins simple joins?

If so then if some of the tables being joined are selection and some are control table result joins, then investigate whether the selection/navigation joins can be better served via in clauses and exists/notexists.

Similarly, some of the control table result joins may be removed by embedding in-line views of compound joins to achieve the same results.

If you are able to use in clauses based on highly selective access paths then you should be able to "encourage" the optimiser along the best execution plan.

Rod

--
Rod Corderey

Lane Associates
RodCorderey_at_Lane-Associates.com
http://www.Lane-Associates.com

Jack van Zanen wrote:
>
>
>
> Hi All
>
> I have a question:
>
> If we join 11 tables in a view the performance of a select on that view
will

> drop dramatically compared to 10 tables in the join.
> I have heard something about this being a optimizer issue that does not
really
> like this many tables in a join.
>
> What are the possible solutions to make these querries run better??
>
> Jack
>
> ===================================================================
> De informatie verzonden met dit E-mail bericht is uitsluitend bestemd
voor
> de geadresseerde. Gebruik van deze informatie door anderen dan de
> geadresseerde is verboden. Openbaarmaking, vermenigvuldiging,
verspreiding
> en/of verstrekking van deze informatie aan derden is niet toegestaan.

> Ernst & Young staat niet in voor de juiste en volledige overbrenging van
de
> inhoud van een verzonden E-mail, noch voor tijdige ontvangst daarvan.
> ===================================================================
> The information contained in this communication is confidential and may
be
> legally privileged. It is intended solely for the use of the individual
or
> entity to whom it is addressed and others authorised to receive it. If
you
> are not the intended recipient you are hereby notified that any
disclosure,
> copying,  distribution or taking any action in reliance on the contents
of
> this information is strictly prohibited and may be unlawful. Ernst &
> Young is neither liable  for the proper and complete transmission of the
> information contained in this communication nor for any delay in its
> receipt.
> ===================================================================
>
> --
> Author: Jack van Zanen
>   INET: nlzanen1_at_ey.nl
>
> Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
> San Diego, California        -- Public Internet access / Mailing Lists
> --------------------------------------------------------------------
> To REMOVE yourself from this mailing list, send an E-Mail message
> to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
> the message BODY, include a line containing: UNSUB ORACLE-L
> (or the name of mailing list you want to be removed from).  You may
> also send the HELP command for other information (like subscribing).
--
Author: Rod Corderey
  INET: RodCorderey_at_Lane-Associates.com

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L

(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing). =================================================================== De informatie verzonden met dit E-mail bericht is uitsluitend bestemd voor de geadresseerde. Gebruik van deze informatie door anderen dan de geadresseerde is verboden. Openbaarmaking, vermenigvuldiging, verspreiding en/of verstrekking van deze informatie aan derden is niet toegestaan. Ernst & Young staat niet in voor de juiste en volledige overbrenging van de inhoud van een verzonden E-mail, noch voor tijdige ontvangst daarvan. =================================================================== The information contained in this communication is confidential and may be legally privileged. It is intended solely for the use of the individual or entity to whom it is addressed and others authorised to receive it. If you are not the intended recipient you are hereby notified that any disclosure, copying, distribution or taking any action in reliance on the contents of this information is strictly prohibited and may be unlawful. Ernst & Young is neither liable for the proper and complete transmission of the information contained in this communication nor for any delay in its receipt. =================================================================== -- Author: Jack van Zanen INET: nlzanen1_at_ey.nl Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing). -- Author: cyril INET: cyril_at_stockholding.com Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing). =================================================================== De informatie verzonden met dit E-mail bericht is uitsluitend bestemd voor de geadresseerde. Gebruik van deze informatie door anderen dan de geadresseerde is verboden. Openbaarmaking, vermenigvuldiging, verspreiding en/of verstrekking van deze informatie aan derden is niet toegestaan.
Received on Wed May 31 2000 - 06:25:00 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US