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: cyril <cyril_at_stockholding.com>
Date: Wed, 31 May 2000 10:32:58 +0530
Message-Id: <10514.107213@fatcity.com>


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)

Subject: Re: Many tables in a view.

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 &
Received on Wed May 31 2000 - 00:02:58 CDT

Original text of this message

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