Home » RDBMS Server » Performance Tuning » Help to tune the query (11.2.0)
Help to tune the query [message #640672] |
Mon, 03 August 2015 07:15 ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
grpatwari
Messages: 288 Registered: June 2008 Location: Hyderabad
|
Senior Member |
|
|
Hi All,
I would like to tune the query as part of my assignment. Please help me to tune this query.
Click here
SELECT distinct INV.NAME,
INV.ID,
INV.MANAGER_ID AS MANAGER_ID,
ODF_PR.ERI_CFR AS CFR ,
(SELECT NVL(SUM(BMS_PAST_DUE),0)
FROM odf_ca_sap_bi BILL
INNER JOIN odf_ca_sap_fd sapfd
ON BILL.odf_parent_id = sapfd.id
JOIN INV_INVESTMENTS A
ON A.ID=sapfd.odf_parent_id
JOIN ODF_CA_PROJECT B
ON A.ID =B.ID
WHERE B.ERI_PROJ_NUMBER=ODF_PR.ERI_PROJ_NUMBER
AND A.IS_ACTIVE =1
) AS BP_KPI,
ODF_PR.ERI_PROJ_NUMBER,
REPORT.EGCT_ST_STAT_NEW,
ODF_PR.p_ass_cst APL_ASSIGN_COST,
ODF_PR.p_budget APL_BUDGET,
ODF_PR.p_ordbkd APL_ORDERS_BKD,
ODF_PR.um_pct APL_UGM_PCT,
ROUND(ODF_PR.ass_prj_nc_um_pct,2) ERI_CALC_TPR_UM_PCT,
-- DECODE(sapfd.kpi_epcq,'G',0,NULL,NULL,1) KPI_1_STATUSKEYCOLOR,
(SELECT MAX(
CASE
WHEN sapfd.kpi_epcq IS NULL
THEN 0
WHEN sapfd.kpi_epcq = 'G'
THEN 1
ELSE 2
END)
FROM odf_ca_sap_fd sapfd
INNER JOIN ODF_CA_PROJECT A
ON sapfd.odf_parent_id=a.id
JOIN INV_INVESTMENTS B
ON A.ID =B.ID
WHERE A.ERI_PROJ_NUMBER = ODF_PR.ERI_PROJ_NUMBER
--AND A.ERI_PRJ_LEVEL != '1'
AND sapfd.ra_key != 'ZPS006'
AND sapfd.wbs_status = 'REL'
AND B.IS_ACTIVE =1
) WBS_KPI,
DECODE(ODF_PR.KPI_3_STATUSKEYCOLOR,'G',1,'R', 2, 'Y', 2,'W', 1, 0) KPI_3_STATUSKEYCOLOR,
ODF_PR.ERI_PROJ_NUMBER,
ODF_PR.p_currency_code EGCT_PROJ_CURRENCY,
( SELECT FULL_NAME FROM SRM_RESOURCES WHERE USER_ID = INV.MANAGER_ID
) FULL_NAME,
CASE
WHEN INV.STAGE_CODE IN ('PROPS_C_TG1_APRVD','PROPS_C_TG1_OPT_OUT')
THEN 'TG1'
WHEN INV.STAGE_CODE = 'PROPS_C_TG2_APRVD'
THEN 'TG2'
WHEN INV.STAGE_CODE = 'PROPS_C_TG3_APRVD'
THEN 'TG3'
WHEN INV.STAGE_CODE = 'PROPS_C_TG4_APRVD'
THEN 'TG4'
WHEN INV.STAGE_CODE = 'PROPS_C_TG5_APRVD'
THEN 'TG5'
WHEN INV.STAGE_CODE = 'PROPS_C_MS6_APRVD'
THEN 'MS6'
ELSE ''
END LATEST_APPROVED_TOLLGATE,
(SELECT MAX(DECODE(PRIORITY_CODE,'LOW',1,'MEDIUM',2,'HIGH',3,0))
FROM RIM_RISKS_AND_ISSUES
WHERE TABLE_NAME = 'SRM_PROJECTS'
AND TYPE_CODE = 'ISSUE'
AND STATUS_CODE !='CLOSED'
AND PK_ID = INV.ID
) AS MAX_ISSUE,
(SELECT MAX(PROBABILITY_ENUM * IMPACT_ENUM)
FROM RIM_RISKS_AND_ISSUES
WHERE TABLE_NAME = 'SRM_PROJECTS'
AND TYPE_CODE = 'RISK'
AND STATUS_CODE !='CLOSED'
AND PK_ID = INV.ID
) AS MAX_RISK
FROM ODF_PROJECT_V2 ODF_PR
JOIN INV_INVESTMENTS INV
ON INV.ID=ODF_PR.ODF_PK
INNER JOIN odf_ca_sap_fd sapfd
ON sapfd.odf_parent_id=inv.id
LEFT OUTER JOIN
(SELECT REP.ODF_PARENT_ID PROJECTID,
REP.EGCT_ST_STAT_NEW
FROM ODF_CA_PROJECT ODF
JOIN ODF_CA_CATSPRJSTATUSREP REP
ON ODF.ID = REP.ODF_PARENT_ID
JOIN
(SELECT ST2.ODF_PARENT_ID,
MAX(ST2.ID) ST_ID
FROM
(SELECT MAX(report_date) AS rep_date,
odf_parent_id
FROM odf_ca_catsprjstatusrep rep,
inv_investments proj
WHERE rep.odf_parent_id = proj.id
AND rep.created_by = proj.manager_id
GROUP BY odf_parent_id
) st1,
odf_ca_catsprjstatusrep st2,
inv_investments inv
WHERE st1.rep_date = st2.report_date
AND st1.odf_parent_id = st2.odf_parent_id
AND st2.odf_parent_id = inv.id
AND st2.created_by = inv.manager_id
GROUP BY st2.odf_parent_id
) MAXREP
ON MAXREP.ST_ID = REP.ID
AND MAXREP.ODF_PARENT_ID = REP.ODF_PARENT_ID
WHERE ODF.id in &project_id
) REPORT ON REPORT.PROJECTID = INV.ID
WHERE
INV.IS_ACTIVE =1
and inv.id in &project_id;
---------------------------------------------------------------------------------------------------------------
SELECT *
FROM table(DBMS_XPLAN.DISPLAY_CURSOR(sql_id=>'3ydvd3ymd5y1t', FORMAT=>'ALLSTATS LAST'));
SQL_ID 3ydvd3ymd5y1t, child number 0
-------------------------------------
SELECT /*+ GATHER_PLAN_STATISTICS */ distinct INV.NAME,
" INV.ID, INV.MANAGER_ID AS MANAGER_ID, ODF_PR.ERI_CFR AS CFR ,
"
(SELECT NVL(SUM(BMS_PAST_DUE),:"SYS_B_00") FROM odf_ca_sap_bi BILL
INNER JOIN odf_ca_sap_fd sapfd ON BILL.odf_parent_id = sapfd.id
JOIN INV_INVESTMENTS A ON A.ID=sapfd.odf_parent_id JOIN
ODF_CA_PROJECT B ON A.ID =B.ID WHERE
"B.ERI_PROJ_NUMBER=ODF_PR.ERI_PROJ_NUMBER
AND A.IS_ACTIVE "
"=:"SYS_B_01" ) AS BP_KPI, ODF_PR.ERI_PROJ_NUMBER,
"
"REPORT.EGCT_ST_STAT_NEW, ODF_PR.p_ass_cst APL_ASSIGN_COST,
"
"ODF_PR.p_budget APL_BUDGET,
ODF_PR.p_ordbkd APL_ORDERS_BKD,
"
"ODF_PR.um_pct APL_UGM_PCT,
ROUND(ODF_PR.ass_prj_nc_um_pct,:"SYS_B_02"
"") ERI_CALC_TPR_UM_PCT,
(SELECT MAX( CASE WHEN "
sapfd.kpi_epcq IS NULL THEN :"SYS_B_03" WHEN
sapfd.kpi_epcq = :"SYS_B_04" THEN :"SYS_B_05" ELSE
:"SYS_B_06" END) FROM odf_ca_sap_fd sapfd INNER JOIN OD
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 2628126725
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | OMem | 1Mem | Used-Mem |
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 6 |00:00:00.14 | 41316 | | | |
| 1 | SORT AGGREGATE | | 6 | 1 | 6 |00:00:00.08 | 24190 | | | |
| 2 | NESTED LOOPS | | 6 | 970 | 136K|00:00:00.07 | 24190 | | | |
| 3 | NESTED LOOPS | | 6 | 197 | 10975 |00:00:00.02 | 5795 | | | |
| 4 | NESTED LOOPS | | 6 | 1 | 6 |00:00:00.01 | 22 | | | |
| 5 | TABLE ACCESS BY INDEX ROWID | ODF_CA_PROJECT | 6 | 1 | 6 |00:00:00.01 | 14 | | | |
|* 6 | INDEX RANGE SCAN | Z_ODF_CA_PROJECT_Z3 | 6 | 1 | 6 |00:00:00.01 | 8 | | | |
|* 7 | INDEX RANGE SCAN | INV_INVESTMENTS_N4 | 6 | 1 | 6 |00:00:00.01 | 8 | | | |
| 8 | TABLE ACCESS BY INDEX ROWID | ODF_CA_SAP_FD | 6 | 189 | 10975 |00:00:00.01 | 5773 | | | |
|* 9 | INDEX RANGE SCAN | IDX$$_1D1390003 | 6 | 189 | 10975 |00:00:00.01 | 45 | | | |
|* 10 | INDEX RANGE SCAN | ODF_CA_SAP_BI_D5 | 10975 | 5 | 136K|00:00:00.04 | 18395 | | | |
| 11 | SORT AGGREGATE | | 6 | 1 | 6 |00:00:00.03 | 16759 | | | |
| 12 | NESTED LOOPS | | 6 | | 6 |00:00:00.03 | 16759 | | | |
| 13 | NESTED LOOPS | | 6 | 2 | 10975 |00:00:00.01 | 67 | | | |
| 14 | NESTED LOOPS | | 6 | 1 | 6 |00:00:00.01 | 22 | | | |
| 15 | TABLE ACCESS BY INDEX ROWID | ODF_CA_PROJECT | 6 | 1 | 6 |00:00:00.01 | 14 | | | |
|* 16 | INDEX RANGE SCAN | Z_ODF_CA_PROJECT_Z3 | 6 | 1 | 6 |00:00:00.01 | 8 | | | |
|* 17 | INDEX RANGE SCAN | INV_INVESTMENTS_N4 | 6 | 1 | 6 |00:00:00.01 | 8 | | | |
|* 18 | INDEX RANGE SCAN | IDX$$_1D1390003 | 6 | 189 | 10975 |00:00:00.01 | 45 | | | |
|* 19 | TABLE ACCESS BY INDEX ROWID | ODF_CA_SAP_FD | 10975 | 2 | 6 |00:00:00.02 | 16692 | | | |
|* 20 | INDEX RANGE SCAN | SRM_RESOURCES_N1 | 6 | 1 | 6 |00:00:00.01 | 14 | | | |
| 21 | SORT AGGREGATE | | 6 | 1 | 6 |00:00:00.01 | 15 | | | |
|* 22 | TABLE ACCESS BY INDEX ROWID | RIM_RISKS_AND_ISSUES | 6 | 1 | 3 |00:00:00.01 | 15 | | | |
|* 23 | INDEX RANGE SCAN | IDX$$_1D1390005 | 6 | 1 | 7 |00:00:00.01 | 8 | | | |
| 24 | SORT AGGREGATE | | 6 | 1 | 6 |00:00:00.01 | 14 | | | |
|* 25 | TABLE ACCESS BY INDEX ROWID | RIM_RISKS_AND_ISSUES | 6 | 1 | 6 |00:00:00.01 | 14 | | | |
|* 26 | INDEX RANGE SCAN | RIM_RISKS_AND_ISSUES_N4 | 6 | 1 | 6 |00:00:00.01 | 8 | | | |
| 27 | HASH UNIQUE | | 1 | 576 | 6 |00:00:00.14 | 41316 | 727K| 727K| 868K (0)|
| 28 | NESTED LOOPS | | 1 | 576 | 10975 |00:00:00.01 | 324 | | | |
| 29 | NESTED LOOPS OUTER | | 1 | 3 | 6 |00:00:00.01 | 261 | | | |
| 30 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 253 | | | |
| 31 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 239 | | | |
| 32 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 225 | | | |
| 33 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 211 | | | |
| 34 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 197 | | | |
| 35 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 189 | | | |
| 36 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 181 | | | |
| 37 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 173 | | | |
| 38 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 165 | | | |
| 39 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 157 | | | |
| 40 | NESTED LOOPS OUTER | | 1 | 3 | 6 |00:00:00.01 | 149 | | | |
| 41 | NESTED LOOPS OUTER | | 1 | 3 | 6 |00:00:00.01 | 142 | | | |
| 42 | INLIST ITERATOR | | 1 | | 6 |00:00:00.01 | 14 | | | |
| 43 | TABLE ACCESS BY INDEX ROWID | INV_INVESTMENTS | 6 | 3 | 6 |00:00:00.01 | 14 | | | |
|* 44 | INDEX RANGE SCAN | INV_INVESTMENTS_N8 | 6 | 3 | 6 |00:00:00.01 | 8 | | | |
| 45 | VIEW PUSHED PREDICATE | | 6 | 1 | 6 |00:00:00.01 | 128 | | | |
|* 46 | FILTER | | 6 | | 6 |00:00:00.01 | 128 | | | |
| 47 | NESTED LOOPS | | 6 | | 6 |00:00:00.01 | 128 | | | |
| 48 | NESTED LOOPS | | 6 | 1 | 6 |00:00:00.01 | 122 | | | |
| 49 | NESTED LOOPS | | 6 | 1 | 6 |00:00:00.01 | 114 | | | |
|* 50 | INDEX UNIQUE SCAN | ODF_CA_PROJECT_PK | 6 | 1 | 6 |00:00:00.01 | 8 | | | |
| 51 | VIEW | | 6 | 1 | 6 |00:00:00.01 | 106 | | | |
| 52 | SORT GROUP BY | | 6 | 1 | 6 |00:00:00.01 | 106 | 2048 | 2048 | 2048 (0)|
|* 53 | FILTER | | 6 | | 6 |00:00:00.01 | 106 | | | |
| 54 | NESTED LOOPS | | 6 | | 6 |00:00:00.01 | 106 | | | |
| 55 | NESTED LOOPS | | 6 | 1 | 38 |00:00:00.01 | 69 | | | |
| 56 | NESTED LOOPS | | 6 | 1 | 6 |00:00:00.01 | 61 | | | |
|* 57 | INDEX RANGE SCAN | INV_INVESTMENTS_U2 | 6 | 1 | 6 |00:00:00.01 | 8 | | | |
| 58 | VIEW | | 6 | 1 | 6 |00:00:00.01 | 53 | | | |
| 59 | SORT GROUP BY | | 6 | 1 | 6 |00:00:00.01 | 53 | 2048 | 2048 | 2048 (0)|
|* 60 | FILTER | | 6 | | 38 |00:00:00.01 | 53 | | | |
| 61 | NESTED LOOPS | | 6 | | 38 |00:00:00.01 | 53 | | | |
| 62 | NESTED LOOPS | | 6 | 1 | 38 |00:00:00.01 | 16 | | | |
|* 63 | INDEX RANGE SCAN | INV_INVESTMENTS_U2 | 6 | 1 | 6 |00:00:00.01 | 8 | | | |
|* 64 | INDEX RANGE SCAN | IDX$$_1D1390004 | 6 | 1 | 38 |00:00:00.01 | 8 | | | |
| 65 | TABLE ACCESS BY INDEX ROWID| ODF_CA_CATSPRJSTATUSREP | 38 | 1 | 38 |00:00:00.01 | 37 | | | |
|* 66 | INDEX RANGE SCAN | IDX$$_1D1390004 | 6 | 1 | 38 |00:00:00.01 | 8 | | | |
|* 67 | TABLE ACCESS BY INDEX ROWID | ODF_CA_CATSPRJSTATUSREP | 38 | 1 | 6 |00:00:00.01 | 37 | | | |
|* 68 | INDEX UNIQUE SCAN | ODF_CA_CATSPRJSTATUSREP_PK | 6 | 1 | 6 |00:00:00.01 | 8 | | | |
|* 69 | TABLE ACCESS BY INDEX ROWID | ODF_CA_CATSPRJSTATUSREP | 6 | 1 | 6 |00:00:00.01 | 6 | | | |
|* 70 | INDEX RANGE SCAN | PRJ_BASELINE_DETAILS_N3 | 6 | 1 | 5 |00:00:00.01 | 7 | | | |
|* 71 | INDEX RANGE SCAN | ODF_OBJECT_INSTANCE_MAPPING_PK | 6 | 1 | 6 |00:00:00.01 | 8 | | | |
|* 72 | INDEX UNIQUE SCAN | ODF_CA_INV_U1 | 6 | 1 | 6 |00:00:00.01 | 8 | | | |
|* 73 | INDEX UNIQUE SCAN | FIN_FINANCIALS_PK | 6 | 1 | 6 |00:00:00.01 | 8 | | | |
|* 74 | INDEX UNIQUE SCAN | ODF_CA_FINANCIALS_PK | 6 | 1 | 6 |00:00:00.01 | 8 | | | |
|* 75 | INDEX UNIQUE SCAN | INV_PROJECTS_U1 | 6 | 1 | 6 |00:00:00.01 | 8 | | | |
|* 76 | INDEX UNIQUE SCAN | PAC_MNT_PROJECTS_PK | 6 | 1 | 6 |00:00:00.01 | 8 | | | |
| 77 | TABLE ACCESS BY INDEX ROWID | ODF_CA_PROJECT | 6 | 1 | 6 |00:00:00.01 | 14 | | | |
|* 78 | INDEX UNIQUE SCAN | ODF_CA_PROJECT_PK | 6 | 1 | 6 |00:00:00.01 | 8 | | | |
| 79 | TABLE ACCESS BY INDEX ROWID | ODF_CA_PROJFINPROPERTIES | 6 | 1 | 6 |00:00:00.01 | 14 | | | |
|* 80 | INDEX UNIQUE SCAN | ODF_CA_PROJFINPROPERTIES_PK | 6 | 1 | 6 |00:00:00.01 | 8 | | | |
|* 81 | INDEX RANGE SCAN | SRM_RESOURCES_N11 | 6 | 1 | 6 |00:00:00.01 | 14 | | | |
|* 82 | INDEX RANGE SCAN | SRM_RESOURCES_N11 | 6 | 1 | 6 |00:00:00.01 | 14 | | | |
|* 83 | INDEX RANGE SCAN | PRJ_EV_HISTORY_N1 | 6 | 1 | 1 |00:00:00.01 | 8 | | | |
|* 84 | INDEX RANGE SCAN | ODF_CA_SAP_FD_U1 | 6 | 189 | 10975 |00:00:00.01 | 63 | | | |
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
6 - access("B"."ERI_PROJ_NUMBER"=:B1)
7 - access("A"."ID"="B"."ID" AND "A"."IS_ACTIVE"=:SYS_B_01)
9 - access("A"."ID"="SAPFD"."ODF_PARENT_ID")
10 - access("BILL"."ODF_PARENT_ID"="SAPFD"."ID")
16 - access("A"."ERI_PROJ_NUMBER"=:B1)
17 - access("A"."ID"="B"."ID" AND "B"."IS_ACTIVE"=:SYS_B_09)
18 - access("SAPFD"."ODF_PARENT_ID"="A"."ID")
19 - filter(("SAPFD"."WBS_STATUS"=:SYS_B_08 AND "SAPFD"."RA_KEY"<>:SYS_B_07))
20 - access("USER_ID"=:B1)
22 - filter(("STATUS_CODE"<>:SYS_B_42 AND "TABLE_NAME"=:SYS_B_40))
23 - access("PK_ID"=:B1 AND "TYPE_CODE"=:SYS_B_41)
25 - filter("TABLE_NAME"=:SYS_B_43)
26 - access("PK_ID"=:B1 AND "TYPE_CODE"=:SYS_B_44)
filter("STATUS_CODE"<>:SYS_B_45)
44 - access("INV"."IS_ACTIVE"=:SYS_B_52 AND (("INV"."ID"=:SYS_B_53 OR "INV"."ID"=:SYS_B_54 OR "INV"."ID"=:SYS_B_55 OR "INV"."ID"=:SYS_B_56 OR "INV"."ID"=:SYS_B_57 OR
"INV"."ID"=:SYS_B_58)))
46 - filter((:SYS_B_53="INV"."ID" OR :SYS_B_54="INV"."ID" OR :SYS_B_55="INV"."ID" OR :SYS_B_56="INV"."ID" OR :SYS_B_57="INV"."ID" OR :SYS_B_58="INV"."ID"))
50 - access("ODF"."ID"="INV"."ID")
filter(("ODF"."ID"=:SYS_B_46 OR "ODF"."ID"=:SYS_B_47 OR "ODF"."ID"=:SYS_B_48 OR "ODF"."ID"=:SYS_B_49 OR "ODF"."ID"=:SYS_B_50 OR "ODF"."ID"=:SYS_B_51))
53 - filter((:SYS_B_53="INV"."ID" OR :SYS_B_54="INV"."ID" OR :SYS_B_55="INV"."ID" OR :SYS_B_56="INV"."ID" OR :SYS_B_57="INV"."ID" OR :SYS_B_58="INV"."ID"))
57 - access("INV"."ID"="INV"."ID")
filter(("INV"."ID"=:SYS_B_53 OR "INV"."ID"=:SYS_B_54 OR "INV"."ID"=:SYS_B_55 OR "INV"."ID"=:SYS_B_56 OR "INV"."ID"=:SYS_B_57 OR "INV"."ID"=:SYS_B_58))
60 - filter((:SYS_B_53="INV"."ID" OR :SYS_B_54="INV"."ID" OR :SYS_B_55="INV"."ID" OR :SYS_B_56="INV"."ID" OR :SYS_B_57="INV"."ID" OR :SYS_B_58="INV"."ID"))
63 - access("PROJ"."ID"="INV"."ID")
filter(("PROJ"."ID"=:SYS_B_53 OR "PROJ"."ID"=:SYS_B_54 OR "PROJ"."ID"=:SYS_B_55 OR "PROJ"."ID"=:SYS_B_56 OR "PROJ"."ID"=:SYS_B_57 OR "PROJ"."ID"=:SYS_B_58))
64 - access("ODF_PARENT_ID"="INV"."ID" AND "REP"."CREATED_BY"="PROJ"."MANAGER_ID")
filter(("REP"."ODF_PARENT_ID"="PROJ"."ID" AND INTERNAL_FUNCTION("ODF_PARENT_ID")))
66 - access("ST2"."ODF_PARENT_ID"="INV"."ID" AND "ST2"."CREATED_BY"="INV"."MANAGER_ID")
filter(("ST1"."ODF_PARENT_ID"="ST2"."ODF_PARENT_ID" AND "ST2"."ODF_PARENT_ID"="INV"."ID" AND INTERNAL_FUNCTION("ST2"."ODF_PARENT_ID")))
67 - filter("ST1"."REP_DATE"="ST2"."REPORT_DATE")
68 - access("MAXREP"."ST_ID"="REP"."ID")
69 - filter(("REP"."ODF_PARENT_ID"="INV"."ID" AND "MAXREP"."ODF_PARENT_ID"="REP"."ODF_PARENT_ID" AND "ODF"."ID"="REP"."ODF_PARENT_ID" AND
INTERNAL_FUNCTION("REP"."ODF_PARENT_ID")))
70 - access("BASEREC"."BASELINE_ID"="BASELINE_ID" AND "BASEREC"."OBJECT_TYPE"='PROJECT')
71 - access("INV"."ID"="OIM7"."PRIMARY_OBJECT_INSTANCE_ID" AND "OIM7"."PRIMARY_OBJECT_INSTANCE_CODE"='project' AND
"OIM7"."SECONDARY_OBJECT_INSTANCE_CODE"='financials')
filter(("OIM7"."SECONDARY_OBJECT_INSTANCE_CODE"='financials' AND INTERNAL_FUNCTION("OIM7"."PRIMARY_OBJECT_INSTANCE_ID")))
72 - access("INV"."ID"="ODF_CA_INV"."ID" AND "ODF_CA_INV"."ODF_OBJECT_CODE"='project')
filter(("ODF_CA_INV"."ID"=:SYS_B_53 OR "ODF_CA_INV"."ID"=:SYS_B_54 OR "ODF_CA_INV"."ID"=:SYS_B_55 OR "ODF_CA_INV"."ID"=:SYS_B_56 OR "ODF_CA_INV"."ID"=:SYS_B_57
OR "ODF_CA_INV"."ID"=:SYS_B_58))
73 - access("FIN_FINANCIALS"."ID"="OIM7"."SECONDARY_OBJECT_INSTANCE_ID")
74 - access("FIN_FINANCIALS"."ID"="ODF_CA_FINANCIALS"."ID")
75 - access("INV"."ID"="INV_PROJECTS"."PRID")
filter(("INV_PROJECTS"."PRID"=:SYS_B_53 OR "INV_PROJECTS"."PRID"=:SYS_B_54 OR "INV_PROJECTS"."PRID"=:SYS_B_55 OR "INV_PROJECTS"."PRID"=:SYS_B_56 OR
"INV_PROJECTS"."PRID"=:SYS_B_57 OR "INV_PROJECTS"."PRID"=:SYS_B_58))
76 - access("INV"."ID"="PAC_MNT_PROJECTS"."ID")
filter(("PAC_MNT_PROJECTS"."ID"=:SYS_B_53 OR "PAC_MNT_PROJECTS"."ID"=:SYS_B_54 OR "PAC_MNT_PROJECTS"."ID"=:SYS_B_55 OR "PAC_MNT_PROJECTS"."ID"=:SYS_B_56 OR
"PAC_MNT_PROJECTS"."ID"=:SYS_B_57 OR "PAC_MNT_PROJECTS"."ID"=:SYS_B_58))
78 - access("INV"."ID"="ODF_CA_PROJECT"."ID")
filter(("ODF_CA_PROJECT"."ID"=:SYS_B_53 OR "ODF_CA_PROJECT"."ID"=:SYS_B_54 OR "ODF_CA_PROJECT"."ID"=:SYS_B_55 OR "ODF_CA_PROJECT"."ID"=:SYS_B_56 OR
"ODF_CA_PROJECT"."ID"=:SYS_B_57 OR "ODF_CA_PROJECT"."ID"=:SYS_B_58))
80 - access("INV"."ID"="ODF_CA_PROJFINPROPERTIES"."ID")
filter(("ODF_CA_PROJFINPROPERTIES"."ID"=:SYS_B_53 OR "ODF_CA_PROJFINPROPERTIES"."ID"=:SYS_B_54 OR "ODF_CA_PROJFINPROPERTIES"."ID"=:SYS_B_55 OR
"ODF_CA_PROJFINPROPERTIES"."ID"=:SYS_B_56 OR "ODF_CA_PROJFINPROPERTIES"."ID"=:SYS_B_57 OR "ODF_CA_PROJFINPROPERTIES"."ID"=:SYS_B_58))
81 - access("CREATED_BY"="CREATED"."USER_ID")
82 - access("LAST_UPDATED_BY"="UPDATED"."USER_ID")
83 - access("EVREC"."OBJECT_ID"="INV"."ID" AND "EVREC"."OBJECT_TYPE"='PROJECT' AND "EVREC"."PERIOD_NUMBER"=0)
filter(("EVREC"."OBJECT_ID"=:SYS_B_53 OR "EVREC"."OBJECT_ID"=:SYS_B_54 OR "EVREC"."OBJECT_ID"=:SYS_B_55 OR "EVREC"."OBJECT_ID"=:SYS_B_56 OR
"EVREC"."OBJECT_ID"=:SYS_B_57 OR "EVREC"."OBJECT_ID"=:SYS_B_58))
84 - access("SAPFD"."ODF_PARENT_ID"="INV"."ID")
filter(("SAPFD"."ODF_PARENT_ID"=:SYS_B_53 OR "SAPFD"."ODF_PARENT_ID"=:SYS_B_54 OR "SAPFD"."ODF_PARENT_ID"=:SYS_B_55 OR "SAPFD"."ODF_PARENT_ID"=:SYS_B_56 OR
"SAPFD"."ODF_PARENT_ID"=:SYS_B_57 OR "SAPFD"."ODF_PARENT_ID"=:SYS_B_58))
Note
-----
- automatic DOP: skipped because of IO calibrate statistics are missing
---------------------------------------------------------------------------------------------------------------------------------------
CREATE OR REPLACE FORCE VIEW "CLARITYDEV"."Z_ODF_PROJECT_V2" ("ODF_PK", "REPORT_CCY") AS
select v.odf_pk, NVL (v.budget_ccy, v.p_currency_code) report_ccy
from odf_project_v2 v ;
---------------------------------------------------------------------------------------------------------------------------------
CREATE OR REPLACE FORCE VIEW "CLARITYDEV"."ODF_PROJECT_V2" ("PMD_ANALYTICAL_PARTITION_BY", "ODF_PK", "PLANNED_BEN_START", "ERI_PROV_ACC_CHKLST", "INVESTMENT_TYPE", "C_HW_SW_REV", "SCHEDULE_START", "LOCATION_CODE", "FAS_SV_UM_PCT", "RESOURCE_CODE", "BUDGET_ROI", "EQP_XCHG_RATE_TYPE", "CHANGE_REQUEST_URL", "NULL_MONEY", "C_NS_CS", "C_DEFER_REV_CURRENCY", "C_PLAN_CST", "C_CS_CS_YTD_CURRENCY", "OBJ_EFFORT_AMT_VAR", "PRFISCALSTART", "PRUSERTEXT6", "PRUSERTEXT7", "PRUSERTEXT4", "PRUSERTEXT5", "PRUSERTEXT2", "PRUSERTEXT3", "PRUSERTEXT1", "CURRENCY_CODE", "ERI_OPT_OUT_TG1", "CREATED_BY", "ERI_FINAL_ACC_CHKLST", "ERI_SDM", "CP_TOT_RR", "ERI_PLAN_RR", "TRANS_COST_LBR_SRC", "KPI_3_REVISE_FIN_DT", "P_ASS_CST", "I_SERV_REV", "INV_FIN_TYPE", "FORECAST_CST_TOTAL", "PERCENT_COMPLETE", "C_ASS_CST", "C_SERV_UM_PCT", "LABOR_BASESUM", "STATUS_INDICATOR", "ERI_APL_CURAPR_CMNTS", "ERI_PO_MANAGER", "ERI_TG4_ACT_DATE", "ERC_CBM", "COMPANY_CODE", "S_BUDGET", "PLANNED_CST_OPERATING_TOTAL", "PLANNED_CST_OPERATING_PCT", "INITIAL_INVESTMENT", "C_WIP", "C_HW_SW_REV_CURRENCY", "BUDGET_MIRR", "RCF_HUMAN_INTERFACE", "EAC_COS_SV", "RCF_ORG_CULTURE", "P_ORDBKD_CS", "P_COMM_CST", "ERI_DOC_TG3_PRESENT", "P_COS_SW", "FORECAST_PAYBACK_PERIOD", "C_SERV_COS", "ERI_TG_PRESENT_T", "ERI_PSP", "NULL_MONEY_CURRENCY", "P_BUDGET", "ERI_OPT_OUT_TG4", "ERI_OPT_OUT_TG3", "CBL_QTC_BGT", "FAS_REV_SV", "BUDGET_COST_CAP", "BUDGET_BENEFIT", "BUDGET_REV_TOTAL", "ODF_ENTITY_CODE", "BUDGET_NPV", "P_UNB_SALES_CURRENCY", "ERI_TOT_RTB", "ERIC_TG1_APPRVD", "BILL_TO_ID", "ERIC_SUPPORT_ACCPT", "ASS_CON_BUD", "ODF_PERIOD_TYPE", "P_ORDBK_QTD_CURRENCY", "C_CLS_BCKLG", "I_PRJ_BUD", "EV_SV", "C_UNB_SALES", "BUDGET_CST_OPERATING_TOTAL", "BASELINE_USAGE", "ENTITY", "OBJ_WORK_STATUS", "EGCT_ERICOLL_SITE", "BUDGET_REV_FINISH", "EAC_COS_SV_CURRENCY", "ERI_PRJ_SCOPE_DET", "ERIC_POP_INITIATED", "C_PRJ_DD", "ERI_TG2_ACT_DATE", "COST_VARIANCE", "ERI_CBL_REV_CURRENCY", "REQ_APPROVAL_REQD", "DESCRIPTION", "PRIORITY", "MTL_XCHG_RATE_TYPE", "BUDGET_CST_CAPITAL_TOTAL", "SCHEDULE_FINISH", "ERI_EXEC_BASELINE", "BASELINE_TIME", "P_COS_YTD", "C_NS_HW", "LABOR_ACTSUM", "BUDGET_PAYBACK_PERIOD", "ERIC_PROJECT_BUDGET", "FORECAST_NPV", "RCF_RESOURCE_AVAIL", "ERI_PLTI_NOMINATOR", "OBJ_COST_AMT_VAR", "BILL_EXPENSES", "BILL_EXPENSE_TYPE", "FORECAST_REV_TOTAL", "ERC_CBB", "ERI_MS6_ACT_DATE", "I_HW_SW_REV", "ERI_DECISION", "P_CLS_BCKLG", "ERI_SC_APPROVAL", "C_SERV_COS_CURRENCY", "ERI_CUS_SUP_HOV_CHK", "PRCPMTYPE", "ERI_CAT_NULL_TEST", "SLA_COMPLIANCE", "EGCT_PROJ_SPEC_PPT", "CP_REV_CURRENCY", "C_PLAN_REV_CURRENCY", "OBJ_EFFORT_VAR", "LBR_XCHG_RATE_TYPE", "ASS_PRJ_NC_UM_PCT", "P_COS", "CBL_PSF_BGT", "C_COMM_CST", "PRDEPARTMENT", "C_COS", "I_SERV_COS", "PLAN_ACTUAL_BENEFIT", "ERI_FIN_RPT_T", "RCF_IMPLEMENTATION", "FORECAST_COST", "P_COS_SW_CURRENCY", "ERI_ESTA_STATUS", "NAME", "BUDGET_COST", "ERC_BUDGET_MAINT", "BUDGET_CST_FINISH", "P_NS_CS_CURRENCY", "ODF_PERIOD_START", "FORECAST_MIRR", "ERI_ERIDOC_FLDR", "ERIC_MOM_HAND_SUP", "RSF_OBS_UNIT", "ERI_OP_CHECK", "GOAL_CODE", "ERI_UMIMPRV_CMNTS", "PLAN_COST", "PROCESS_PROG_FLAG", "BUDGET_CCY", "EGCT_CBL_FINISH", "AGGR_ACTUAL_COST", "ERI_CAT_APPR_DT", "ERI_SV_RTB_CURRENCY", "BGCT_CCY_TEST", "P_RUC", "ERI_KNOWLEDGE_BASE", "ERI_PLAN_RR_CURRENCY", "C_ASS_CST_CURRENCY", "P_COS_QTD", "P_ORDBKD_CURRENCY", "EAC_REV", "MANAGER", "ERI_ACR", "PRCLOSEDTIME", "ERI_MSDP_TGMS_CHKLST", "ERIC_PROJECT_TEAM", "DOCUMENT_TEMPLATES", "ERI_DOC_SUPP_NAME_3", "ERI_EARLY_START", "ERI_DOC_SUPP_NAME_2", "ERI_DOC_SUPP_NAME_1", "EAC_TOT_REV", "ERI_DOC_TG4_PRESENT", "PRASOF", "ERI_PROJ_PHASE", "ERI_FAC_DATE_ACTUAL", "ERI_MISS_OPTOUT", "ERI_TG2_COMPLETE", "PLANNED_BREAKEVEN", "PRPCTCOMPLETE", "C_UM_CS", "LABOR_BASE", "ERIC_TG4_APPROVED", "IS_SYS_VAL_FOR_RR", "P_UM_CS", "ERI_ONE_ENTRY_FORM_T", "BASELINE_COST", "EV_LAST_CALC", "EV_BCWP_OVR", "ERI_ACT_CST_CURRENCY", "ERI_MS6_COMPLETE", "ERI_HS_RTB", "BUDGET_CST_START", "ERI_TG3_ACT_DATE", "PLANNED_NPV", "PLANNED_CST_START", "IS_PROGRAM", "P_ACT_CST_CURRENCY", "S_ASS_CST_CURRENCY", "C_ESTA_ACT", "C_COMM_CST_CURRENCY", "BUDGET_COST_OP", "ERI_SCORE_STATUS", "ERI_PROJ_SC_APPR_DT", "C_ACT_REV_CURRENCY", "CP_HWSW", "ERIC_INTERNAL_HANDOV", "C_OB_CS_YTD_CURRENCY", "APPROVEDTIME", "EGCT_NULL_NUMBER", "EV_ACWP", "RCF_FUNDING", "PRREQUESTEDTIME", "C_COS_CS", "KPI_3_OVER_PRJ_TOT", "SAP_FIN_DATE", "P_CLS_BCKLG_CURRENCY", "CPAR_REGION", "CBL_CSC_BGT_CURRENCY", "P_COS_MTD", "ERIC_CLOSURE_INITIAT", "C_BUDGET_CURRENCY", "WIP_CLASS", "C_NS_CS_CURRENCY", "C_ORDBKD_CS_CURRENCY", "ASS_NC_BUD_CURRENCY", "DEAL_ID", "ERI_DOC_TG5_DECSN", "EV_EAC_AT", "C_UNB_SALES_CURRENCY", "ASS_REV", "ERIC_TG2_APPROVED", "RCF_SPONSORSHIP", "ERIC_MS6_APPROVED", "TRANS_COST_MTL_SRC", "FAS_COS_SV", "ERI_ASSN_SPEC_T", "FORECAST_IRR", "LABOR_VARIANCESUM", "C_NS_CURRENCY", "C_PRJ_BUD_CURRENCY", "EV_PERIOD_ID", "ERIC_TG3_APPROVED", "P_UNB_SALES", "TRANS_RATE_LBR_SRC", "P_NS", "C_ORDBKD_CURRENCY", "ERI_DOC_PRJ_PAGER", "ERI_IS_CPL", "ERI_PROJ_SC_COMP", "CHARGECODEID", "SYSTEM_VALUE_FOR_TCC", "ODF_PERIOD_END", "UM_PCT_QTD", "C_NS_SW", "C_ACT_REV", "P_NS_YTD_CURRENCY", "ERI_HS_RTB_CURRENCY", "CP_MGNT_RES_CURRENCY", "TRANS_RATE_EXP_SRC", "EV_CPI", "KPI_3_STATUSKEYCOLOR", "P_ACT_REV_CURRENCY", "ASS_NC_BUD", "LABOR_ACT", "FORECAST_REV_START", "ERI_ACT_CST", "PLANNED_CST_CAPITAL_TOTAL", "EAC_SVC_UM_PCT", "P_COS_CS_CURRENCY", "MANAGER_ID", "PLANNED_CST_TOTAL", "ERI_TG3_COMPLETE", "ERI_APL_FIN_CMNTS", "TRANS_RATE_MTL_SRC", "ERIC_PROJ_SPEC", "OBJ_SCHEDULE_VAR", "ERI_CFR", "ERI_PROJ_CATEGORY", "ERI_PROJ_KILL", "FAS_REV_SV_CURRENCY", "CP_HWSW_CURRENCY", "I_RR_BGT", "ERI_DOC_STAT_RPRT", "FORECAST_REV_FINISH", "ERI_INT_STAT_T", "ERI_PROJ_CONTOLLER", "P_ASS_CST_CURRENCY", "C_NS_SW_CURRENCY", "UM_PCT_YTD", "EAC_UM_PCT", "ERI_DET_PROJ_PLAN", "PCT_COMPLETE", "EV_CALC_METHOD", "P_ORDBK_YTD", "PLAN_COST_CAP", "P_PLAN_CST", "ERI_MORE_ID", "EGCT_FINAL_REP_PPT", "RISK", "P_COS_QTD_CURRENCY", "P_ORDBK_QTD", "ERI_PROJ_SC_CPM_APPR", "EGCT_PROJECT_TYPE", "P_COS_HW_CURRENCY", "ERI_START_PROPSC", "DEPARTMENT_CODE", "CBL_QTC_BGT_CURRENCY", "PRREQUESTEDBY", "ERC_APL_CLOSE_DATE", "P_ORDBK_MTD", "I_SERV_REV_CURRENCY", "CP_RISK_EXP_CURRENCY", "S_ACT_CST_CURRENCY", "BILLING_PROJECT_ID", "OBJ_EV_SV_PCT", "LABOR_VARIANCE", "EAC_TOT_BGT", "OBJ_REQUEST_CATEGORY", "ERC_APL_PROJ_STAT", "UNIQUE_CODE", "I_REVENUE", "ERI_FAC_DATE", "C_ACT_CST", "EAC_SV_UM_PCT", "ACTUALS", "P_NS_SW", "EV_ETC", "KPI_3_EXCEP_STATUS", "C_ESTA_ACT_CURRENCY", "ERI_CBL_REV", "TARGET_MANAGER_ID", "ERI_DATE_HANDOVER", "IS_FCST_EQ_BDGT", "ERIC_REQ_APPRV_TG3", "ERIC_REQ_APPRV_TG4", "P_NS_QTD", "ETC", "ERIC_REQ_APPRV_TG5", "I_HW_SW_REV_CURRENCY", "UM_PCT", "P_UM_CURRENCY", "DDDDDEDD", "C_CLS_BCKLG_CURRENCY", "APPROVED", "P_UM_CS_CURRENCY", "ERI_DOC_TG5_PRESENT", "TTL_EFFORT", "NPIO_STATUS", "ERI_BASELINE_PLAN", "ERI_KAM_VP", "ODF_EGCT_N1733641259", "CREATED_DATE", "CP_MGNT_RES", "ERI_HI_PROF_PFM", "CREATED_BY_ID", "C_HW_SW_COS", "CP_TEST", "ODF_EGCT_N510366487", "ERI_FIN_MGT_SCORE", "IS_REQUIRED", "P_UM_YTD_CURRENCY", "P_NS_CURRENCY", "C_RUC_CURRENCY", "EV_EAC", "KPI_3_DUE_WTH15_DAYS", "EGCT_NULL_PERCENT", "PLAN_COST_OP", "P_COS_MTD_CURRENCY", "C_NS", "ERC_SCORECARD_OPTOUT", "P_UM_MTD", "CBL_CSC_BGT", "BASELINE_ID", "EV_ETC_AT", "FIN_INT_FLAG", "P_PLAN_REV", "PLANNED_CST_CAPITAL_PCT", "ERI_APL_TPR_CMNTS", "OBJ_COST_PCT_VAR", "ERI_IS_PLTI", "PRUID", "S_BUDGET_CURRENCY", "ERIC_TG1_APPRV_REQ", "C_UM_CS_CURRENCY", "APPROVEDBY_ID", "ERI_CPL_REPORT_T", "ERI_CSR", "PROJ_PROP_C_STATUS", "ERI_PROJ_SPEC_T", "UM_CS_PCT", "BUDGET_REPORT_CCY", "OBJ_PFL_CATEGORY2", "OBJ_PFL_CATEGORY1", "EV_BCWP", "ERI_EVAL_SCORE", "PERCENT_CALC_MODE", "EV_BCWS", "C_NS_HW_CURRENCY", "PROCESS_SCALE_WORK", "BASELINE_FINISH", "OBJ_PFL_CATEGORY4", "EV_SPI", "OBJ_PFL_CATEGORY3", "TRACK_ASSGN_ONLY", "ASSGN_POOL", "ERI_PRGRM_WF_STAT", "P_ORDBKD", "C_PLAN_REV", "IS_ACTIVE", "P_UM_MTD_CURRENCY", "FORECAST_BENEFIT", "EGCT_OBS_INTERNAL", "P_COS_YTD_CURRENCY", "P_COS_CS", "ERI_PROJ_SC_CFR_APPR", "ODF_OBJECT_CODE", "FORECAST_BREAKEVEN", "PLANNED_BEN_TOTAL", "ERI_PROJ_SC_CPM", "IS_CALC_PV_INFO", "ERI_PRJ_LEVEL", "P_NS_HW", "I_SERV_COS_CURRENCY", "KPI_3_NOTOVER_PRJTOT", "S_ACT_CST", "TRACKMODE", "C_HW_SW_COS_CURRENCY", "PLANNED_IRR", "ERI_REV_CODE_KEY_DOC", "ERI_DOC_TG2_PRESENT", "BUDGET_BREAKEVEN", "ASS_CON_BUD_CURRENCY", "SYSTEM_VALUE_FOR_RR", "PROGRESS", "C_CS_CS_YTD", "P_ORDBK_MTD_CURRENCY", "ERC_APL_PROJ_TYPE", "EV_ETC_T", "P_CURRENCY_CODE", "FORECAST_ROI", "S_PLAN_CST_CURRENCY", "P_NS_MTD", "OVERRIDE_VAL_FOR_RR", "ERI_FINAL_PAYOUT", "ERI_TG1_ACT_DATE", "EGCT_CBL_BUDGET", "INT_P_CURRENCY_CODE", "P_NS_QTD_CURRENCY", "ERI_TG4_COMPLETE", "RPT_CURRENCY_CODE", "EV_CV", "SS", "BUDGET_CST_OPERATING_PCT", "EAC_REV_SV", "P_UM_QTD_CURRENCY", "C_CURRENCY_CODE", "PLAN_BENEFIT", "PLANNED_PAYBACK_PERIOD", "ERIC_TG5_APPROVED", "APL_CLOSURE_KPI", "ERI_PROJ_BUDGET", "ERI_TG5_ACT_DATE", "FAS_TOT_BGT", "C_NS_CS_YTD", "TRANS_COST_EXP_SRC", "ERI_LINE_MANAGER", "ERIC_CUSTOMER_HANDOV", "BILL_CURRENCY_CODE", "I_ERI_PROJ_MARGIN", "P_WIP", "PRBUDGET", "C_NS_CS_YTD_CURRENCY", "C_BUDGET", "BUDGET_CST_CAPITAL_PCT", "ERI_MOD_DATE", "ERIC_CUSTOMER_ACCPT", "EAC_BUD_CURRENCY", "P_UM", "C_UM_CURRENCY", "C_COS_SW_CURRENCY", "OBJ_ALIGN_FACTOR3", "STAGE_COUNT", "OBJ_ALIGN_FACTOR4", "OBJ_ALIGN_FACTOR1", "OBJ_ALIGN_FACTOR2", "RCF_SUPPORTABILITY", "C_COS_HW", "OBJ_ALIGN_FACTOR5", "STR_INT_FLAG", "C_WIP_CURRENCY", "OBJ_ALIGN_FACTOR6", "EGCT_SAP_PROPSC_GOV", "CBL_PSF_BGT_CURRENCY", "C_COS_CURRENCY", "I_RR_BGT_CURRENCY", "C_OB_CS_YTD", "ASS_REV_CURRENCY", "OBJ_ALIGNMENT", "ERI_DOC_OTHCOMP_REFS", "RCF_FLEXIBILITY", "P_RUC_CURRENCY", "P_ACT_REV", "C_UM", "I_PRJ_BUD_CURRENCY", "PRFORMAT", "P_PLAN_REV_CURRENCY", "P_NS_YTD", "EAC_REV_CURRENCY", "LAST_UPDATED_DATE", "C_DEFER_REV", "MASTER_PROJECT_CODE", "PURGE_FLAG", "LABOR_EACSUM", "ERI_ONE_ENTRY_FORM", "PROJECT_CODE", "ERI_TG5_PRESENT_T", "BASELINE_START", "I_SERV_UM_PCT", "SYNC_INV_N_BDG_DATES", "S_COMM_CST", "ERI_PROJ_NUMBER", "ERI_TG1_PRESENTATION", "P_DEFER_REV_CURRENCY", "COST_TYPE", "BATCH_CYCLE", "ERI_DOC_SUPP_LINK_2", "OPEN_CR_INDICATOR", "C_ERI_PROJ_MARGIN", "ERI_DOC_SUPP_LINK_3", "EGCT_CBL_UMMRGN", "P_ORDBKD_CS_CURRENCY", "CREATE_NEW_PLAN", "C_ACT_CST_CURRENCY", "ERC_BMS_REMINDER", "TRANS_COST_EQP_SRC", "PRVERSION", "OBJ_EV_CV_PCT", "CP_SERV_CURRENCY", "PLANNED_MIRR", "CP_TOT_COST", "BUDGET_REV_START", "PAGE_LAYOUT", "P_UM_QTD", "UPDATED_BY_ID", "ERI_ACCEPTANCE_PLAN", "ERI_PRT_OF_PMIP", "PRSTARTIMPOSED", "ERI_PROJ_SC_CFR", "C_COS_CS_CURRENCY", "C_SERV_REV", "ERI_DOC_ASSGN_SPEC", "P_DEFER_REV", "ERI_DOC_TG2_DECSN", "ERI_AUDIT_REPORT", "FORECAST_CST_START", "OVERRIDE_VAL_FOR_TCC", "P_ACT_CST", "C_ORDBKD", "P_UM_YTD", "S_PLAN_CST", "DUMMY_CCY_FIELD", "PLANNED_BEN_FINISH", "EV_BAC", "ERI_COMMENT", "OBJ_STATUS_REPORTING", "ERI_MS6_PLAN_DATE", "C_REVENUE", "ERI_CATEGORY_APPR", "S_ASS_CST", "CP_RISK_EXP", "TRANS_RATE_EQP_SRC", "BUDGET_ACTUAL_BENEFIT", "FAS_COS_SV_CURRENCY", "ISOPEN", "CP_TOT_BGT", "EGMT_PRACTICE", "ERI_PROJ_MARGIN", "C_REVENUE_CURRENCY", "ERI_TG4_SUBMITTED", "ERI_PRJ_CCB_LEAD", "IS_SYS_VAL_FOR_TCC", "INVESTMENT_CLASS", "ERI_FCP_NUMBER", "C_SERV_REV_CURRENCY", "C_PLAN_CST_CURRENCY", "ODF_ASR_TEMPLATE", "ERI_DOC_SUPP_LINK_1", "ERIC_TG2_APPRVL_REQ", "STATUS_COMMENT", "ASS_PRJ_CON_UM_PCT", "PROCESS_SCALE_BDGT", "RCF_TECHNICAL", "EV_EAC_T", "ERI_PRJ_COORDINATOR", "ERI_EXISTS_BL", "PRGUIDELINES", "ERI_TG1_COMP", "C_COS_SW", "EXP_XCHG_RATE_TYPE", "PARTITION_CODE", "EAC_REV_SV_CURRENCY", "C_UM_CS_YTD", "ASS_CS_NC_UM_PCT", "BUDGET_CST_TOTAL", "LABOR_ETCSUM", "C_PRJ_BUD", "ERI_OHS_PLAN", "ERI_FAS_APPROVED", "FAS_TOT_REV", "PLANNED_CST_FINISH", "VC_STATUS", "PRFINISHIMPOSED", "P_WIP_CURRENCY", "ERI_MSDP_CHKLIST_T", "IDEA_ID", "LABOR_EFFORT", "P_COMM_CST_CURRENCY", "ERI_HIDE_SUBPAGES", "IS_TEMPLATE", "ERI_TG5_COMPLETE", "IS_APPROVED", "I_REVENUE_CURRENCY", "S_COMM_CST_CURRENCY", "I_HW_SW_COS_CURRENCY", "P_BUDGET_CURRENCY", "IDEA_NAME", "STAGE_NUMBER", "BTM_INTEGRATION", "KPI_3_LAST_INT_DATE", "ODF_ASR_REPORTS", "STATUS", "ERI_DOC_FIN_REPORT", "ERI_SOL_CM", "FORECAST_CST_FINISH", "P_COS_CURRENCY", "P_ORDBK_YTD_CURRENCY", "RCF_INTERDEPENDENCY", "ERI_PROJ_NUMBER_V", "ERI_MOD_BY", "I_HW_SW_COS", "AFFILIATE_PROJECT", "PRSPONSOREDBY", "P_PLAN_CST_CURRENCY", "CBL_SERV_UM", "ALIGNMENT", "UM_PCT_MTD", "NULL_CURRENCY", "ERI_SV_RTB", "ERI_CPL_REPORT", "ERC_APL_SAP_CREATE", "ERI_PLAN_ACCURACY", "P_NS_CS", "UM_IMP_PCT", "P_NS_HW_CURRENCY", "C_ORDBKD_CS", "LABOR_EAC", "P_COS_HW", "KPI_3_PRJ_FIN_DATE", "ERI_PMO_MANAGER", "UPDATED_BY", "CBK_TYPE", "CP_SERV", "RCF_OBJECTIVES", "P_NS_MTD_CURRENCY", "KPI_2_REVISE_PLN_CST", "ERI_CATEGORY_APPROV", "C_RUC", "C_COS_HW_CURRENCY", "C_UM_CS_YTD_CURRENCY", "PLANNED_ROI", "CP_REV", "LABOR_ETC", "EAC_BUD", "ODF_EGCT_N666657121", "P_NS_SW_CURRENCY", "ERI_CUST_SPONSOR", "ERIC_DOC_HANDOVER", "C_RR_BGT_CURRENCY", "BUDGET_IRR", "STAGE_CODE", "ERI_STRATEGIC", "KPI_3_NOPLAN_FINDATE", "C_RR_BGT") AS
select 'x' pmd_analytical_partition_by,
inv_investments.id odf_pk,
fin_financials.PLANNED_BEN_START planned_ben_start,
odf_ca_project.eri_prov_acc_chklst eri_prov_acc_chklst,
ODF_CA_INV.odf_object_code investment_type,
odf_ca_projfinproperties.c_hw_sw_rev c_hw_sw_rev,
inv_investments.schedule_start schedule_start,
pac_mnt_projects.LOCATIONID location_code,
CASE WHEN (odf_ca_projfinproperties.fas_rev_sv*1.00)=0 THEN NULL ELSE ((odf_ca_projfinproperties.fas_rev_sv*1.00)-(odf_ca_projfinproperties.fas_cos_sv*1.00))*100/(odf_ca_projfinproperties.fas_rev_sv*1.00) END fas_sv_um_pct,
pac_mnt_projects.resource_code resource_code,
fin_financials.BUDGET_ROI budget_roi,
pac_mnt_projects.EQUIPMENT_EXCHANGE_RATE_TYPE eqp_xchg_rate_type,
odf_ca_project.change_request_url change_request_url,
odf_ca_project.null_money null_money,
odf_ca_projfinproperties.c_ns_cs c_ns_cs,
odf_ca_projfinproperties.c_defer_rev_currency c_defer_rev_currency,
odf_ca_projfinproperties.c_plan_cst c_plan_cst,
odf_ca_projfinproperties.c_cs_cs_ytd_currency c_cs_cs_ytd_currency,
(((NVL(INV_INVESTMENTS.labor_eacsum,0)/3600)/(select hours_per_day from prj_hours_per_day_v)*1.00)-((BASEREC.USAGE_SUM / 3600) / PRJ_HPD_FACTOR_FCT()*1.00)) obj_effort_amt_var,
inv_projects.prFiscalStart prfiscalstart,
inv_projects.prUserText6 prusertext6,
inv_projects.prUserText7 prusertext7,
inv_projects.prUserText4 prusertext4,
inv_projects.prUserText5 prusertext5,
inv_projects.prUserText2 prusertext2,
inv_projects.prUserText3 prusertext3,
inv_projects.prUserText1 prusertext1,
inv_investments.CURRENCY_CODE currency_code,
odf_ca_project.eri_opt_out_tg1 eri_opt_out_tg1,
CREATED.FULL_NAME created_by,
odf_ca_project.eri_final_acc_chklst eri_final_acc_chklst,
odf_ca_project.eri_sdm eri_sdm,
(nvl((odf_ca_projfinproperties.cp_risk_exp*1.00),0)+nvl((odf_ca_projfinproperties.cp_mgnt_res*1.00),0)) cp_tot_rr,
odf_ca_projfinproperties.eri_plan_rr eri_plan_rr,
pac_mnt_projects.TRANSCOSTSOURCELABOR trans_cost_lbr_src,
odf_ca_project.kpi_3_revise_fin_dt kpi_3_revise_fin_dt,
odf_ca_projfinproperties.p_ass_cst p_ass_cst,
odf_ca_projfinproperties.i_serv_rev i_serv_rev,
inv_projects.TYPE inv_fin_type,
fin_financials.FORECAST_CST_TOTAL forecast_cst_total,
inv_projects.percent_complete percent_complete,
odf_ca_projfinproperties.c_ass_cst c_ass_cst,
odf_ca_projfinproperties.c_serv_um_pct c_serv_um_pct,
(NVL(INV_INVESTMENTS.LABOR_BASESUM,0) / 3600 / PRJ_HPD_FACTOR_FCT()) labor_basesum,
inv_investments.STATUS_INDICATOR status_indicator,
odf_ca_project.eri_apl_curapr_cmnts eri_apl_curapr_cmnts,
odf_ca_project.eri_po_manager eri_po_manager,
odf_ca_project.eri_tg4_act_date eri_tg4_act_date,
odf_ca_project.erc_cbm erc_cbm,
pac_mnt_projects.COMPANY_CODE company_code,
odf_ca_projfinproperties.s_budget s_budget,
fin_financials.PLANNED_CST_OPERATING_TOTAL planned_cst_operating_total,
(SELECT CASE WHEN NVL(F.PLANNED_CST_TOTAL,0) > 0 THEN NVL(F.PLANNED_CST_OPERATING_TOTAL,0) / F.PLANNED_CST_TOTAL
ELSE NULL END FROM FIN_FINANCIALS F
WHERE F.ID = FIN_FINANCIALS.ID) planned_cst_operating_pct,
fin_financials.Initial_Investment initial_investment,
odf_ca_projfinproperties.c_wip c_wip,
odf_ca_projfinproperties.c_hw_sw_rev_currency c_hw_sw_rev_currency,
fin_financials.BUDGET_MIRR budget_mirr,
inv_projects.RCF_HUMAN_INTERFACE rcf_human_interface,
odf_ca_projfinproperties.eac_cos_sv eac_cos_sv,
inv_projects.RCF_ORG_CULTURE rcf_org_culture,
odf_ca_projfinproperties.p_ordbkd_cs p_ordbkd_cs,
odf_ca_projfinproperties.p_comm_cst p_comm_cst,
odf_ca_project.eri_doc_tg3_present eri_doc_tg3_present,
odf_ca_projfinproperties.p_cos_sw p_cos_sw,
fin_financials.FORECAST_PAYBACK_PERIOD forecast_payback_period,
odf_ca_projfinproperties.c_serv_cos c_serv_cos,
odf_ca_project.eri_tg_present_t eri_tg_present_t,
odf_ca_project.eri_psp eri_psp,
odf_ca_project.null_money_currency null_money_currency,
odf_ca_projfinproperties.p_budget p_budget,
odf_ca_project.eri_opt_out_tg4 eri_opt_out_tg4,
odf_ca_project.eri_opt_out_tg3 eri_opt_out_tg3,
odf_ca_project.cbl_qtc_bgt cbl_qtc_bgt,
odf_ca_projfinproperties.fas_rev_sv fas_rev_sv,
fin_financials.BUDGET_COST_CAPITAL budget_cost_cap,
fin_financials.BUDGET_BENEFIT budget_benefit,
fin_financials.BUDGET_REV_TOTAL budget_rev_total,
odf_ca_financials.odf_entity_code odf_entity_code,
fin_financials.BUDGET_NPV budget_npv,
odf_ca_projfinproperties.p_unb_sales_currency p_unb_sales_currency,
(nvl((odf_ca_projfinproperties.eri_hs_rtb*1.00),0)+nvl((odf_ca_projfinproperties.eri_sv_rtb*1.00),0)) eri_tot_rtb, odf_ca_project.eric_tg1_apprvd eric_tg1_apprvd,
pac_mnt_projects.BILL_TO_COMPANY_CODE bill_to_id,
odf_ca_project.eric_support_accpt eric_support_accpt,
odf_ca_projfinproperties.ass_con_bud ass_con_bud,
odf_ca_inv.odf_period_type odf_period_type,
odf_ca_projfinproperties.p_ordbk_qtd_currency p_ordbk_qtd_currency,
odf_ca_projfinproperties.c_cls_bcklg c_cls_bcklg,
odf_ca_projfinproperties.i_prj_bud i_prj_bud,
NVL(EVREC.ITD_BCWP,0) - NVL(EVREC.ITD_BCWS,0) ev_sv, odf_ca_projfinproperties.c_unb_sales c_unb_sales, fin_financials.BUDGET_CST_OPERATING_TOTAL budget_cst_operating_total,
(BASEREC.USAGE_SUM / 3600) / PRJ_HPD_FACTOR_FCT() baseline_usage,
inv_investments.entity_code entity,
odf_ca_inv.obj_work_status obj_work_status,
odf_ca_project.egct_ericoll_site egct_ericoll_site,
fin_financials.BUDGET_REV_FINISH budget_rev_finish,
odf_ca_projfinproperties.eac_cos_sv_currency eac_cos_sv_currency,
odf_ca_project.eri_prj_scope_det eri_prj_scope_det,
odf_ca_project.eric_pop_initiated eric_pop_initiated,
odf_ca_projfinproperties.c_prj_dd c_prj_dd,
odf_ca_project.eri_tg2_act_date eri_tg2_act_date,
(NVL((select fin_financials.planned_cst_total from fin_financials, odf_object_instance_mapping where odf_object_instance_mapping.primary_object_instance_id = inv_investments.id and odf_object_instance_mapping.secondary_object_instance_id = fin_financials.id and odf_object_instance_mapping.primary_object_instance_code = inv_investments.odf_object_code and odf_object_instance_mapping.secondary_object_instance_code = 'financials' ), 0)) -(NVL((SELECT /*+ index(b PPA_WIP_VALUES_U1) */ SUM(b.totalcost) FROM ppa_wip a, ppa_wip_values b WHERE a.transno = b.transno AND b.currency_type = 'HOME' and a.status = 0 AND a.investment_id = inv_investments.id GROUP BY a.investment_id),0)) cost_variance,
odf_ca_project.eri_cbl_rev_currency eri_cbl_rev_currency,
inv_projects.REQ_APPROVAL_REQD req_approval_reqd,
inv_investments.description description,
inv_investments.priority priority,
pac_mnt_projects.MATERIALS_EXCHANGE_RATE_TYPE mtl_xchg_rate_type,
fin_financials.BUDGET_CST_CAPITAL_TOTAL budget_cst_capital_total,
inv_investments.schedule_finish schedule_finish,
odf_ca_project.eri_exec_baseline eri_exec_baseline,
BASEREC.LAST_UPDATED_DATE baseline_time,
odf_ca_projfinproperties.p_cos_ytd p_cos_ytd,
odf_ca_projfinproperties.c_ns_hw c_ns_hw,
(case when inv_investments.schedule_start is not null and inv_investments.schedule_finish is not null THEN (NVL(INV_INVESTMENTS.LABOR_ACTSUM,0) / 3600 / PRJ_HPD_FACTOR_FCT()) ELSE 0 end) labor_actsum,
fin_financials.BUDGET_PAYBACK_PERIOD budget_payback_period,
odf_ca_project.eric_project_budget eric_project_budget,
fin_financials.FORECAST_NPV forecast_npv,
inv_projects.RCF_RESOURCE_AVAIL rcf_resource_avail,
odf_ca_project.eri_plti_nominator eri_plti_nominator,
(((EVREC.ETC*1.00)+(EVREC.ITD_ACWP*1.00))-(EVREC.BAC*1.00)) obj_cost_amt_var,
pac_mnt_projects.EX_BILL_EXPENSES bill_expenses,
inv_investments.bill_expense_type bill_expense_type,
fin_financials.FORECAST_REV_TOTAL forecast_rev_total,
odf_ca_project.erc_cbb erc_cbb,
odf_ca_project.eri_ms6_act_date eri_ms6_act_date,
odf_ca_projfinproperties.i_hw_sw_rev i_hw_sw_rev,
odf_ca_project.eri_decision eri_decision,
odf_ca_projfinproperties.p_cls_bcklg p_cls_bcklg,
odf_ca_project.eri_sc_approval eri_sc_approval,
odf_ca_projfinproperties.c_serv_cos_currency c_serv_cos_currency,
odf_ca_project.eri_cus_sup_hov_chk eri_cus_sup_hov_chk,
inv_projects.prCPMType prcpmtype,
odf_ca_project.eri_cat_null_test eri_cat_null_test,
inv_investments.SLA_COMPLIANCE sla_compliance,
odf_ca_project.egct_proj_spec_ppt egct_proj_spec_ppt,
odf_ca_projfinproperties.cp_rev_currency cp_rev_currency,
odf_ca_projfinproperties.c_plan_rev_currency c_plan_rev_currency,
((CASE WHEN ((BASEREC.USAGE_SUM / 3600) / PRJ_HPD_FACTOR_FCT()*1.00)=0 THEN NULL ELSE (((NVL(INV_INVESTMENTS.labor_eacsum,0)/3600)/(select hours_per_day from prj_hours_per_day_v)*1.00)-((BASEREC.USAGE_SUM / 3600) / PRJ_HPD_FACTOR_FCT()*1.00))/((BASEREC.USAGE_SUM / 3600) / PRJ_HPD_FACTOR_FCT()*1.00) END )*(100.0*1.00)) obj_effort_var,
pac_mnt_projects.LABOR_EXCHANGE_RATE_TYPE lbr_xchg_rate_type,
(CASE WHEN ((odf_ca_projfinproperties.ass_rev*1.00)+(odf_ca_projfinproperties.fas_rev_sv*1.00))=0 THEN NULL ELSE ((((odf_ca_projfinproperties.ass_rev*1.00)+(odf_ca_projfinproperties.fas_rev_sv*1.00))-(odf_ca_projfinproperties.ass_nc_bud*1.00))-(odf_ca_projfinproperties.fas_cos_sv*1.00))*100/((odf_ca_projfinproperties.ass_rev*1.00)+(odf_ca_projfinproperties.fas_rev_sv*1.00)) END*LEAST(nvl((1.0*1.00),coalesce((1.0*1.00),ABS(((odf_ca_projfinproperties.ass_rev*1.00)+(odf_ca_projfinproperties.fas_rev_sv*1.00))),ABS(((odf_ca_projfinproperties.ass_nc_bud*1.00)+(odf_ca_projfinproperties.fas_cos_sv*1.00))))),nvl(ABS(((odf_ca_projfinproperties.ass_rev*1.00)+(odf_ca_projfinproperties.fas_rev_sv*1.00))),coalesce((1.0*1.00),ABS(((odf_ca_projfinproperties.ass_rev*1.00)+(odf_ca_projfinproperties.fas_rev_sv*1.00))),ABS(((odf_ca_projfinproperties.ass_nc_bud*1.00)+(odf_ca_projfinproperties.fas_cos_sv*1.00))))),nvl(ABS(((odf_ca_projfinproperties.ass_nc_bud*1.00)+(odf_ca_projfinproperties.fas_cos_sv*1.00))),coalesce((1.0*1.00),ABS(((odf_ca_projfinproperties.ass_rev*1.00)+(odf_ca_projfinproperties.fas_rev_sv*1.00))),ABS(((odf_ca_projfinproperties.ass_nc_bud*1.00)+(odf_ca_projfinproperties.fas_cos_sv*1.00))))))) ass_prj_nc_um_pct,
odf_ca_projfinproperties.p_cos p_cos,
odf_ca_project.cbl_psf_bgt cbl_psf_bgt,
odf_ca_projfinproperties.c_comm_cst c_comm_cst,
inv_projects.prDepartment prdepartment,
odf_ca_projfinproperties.c_cos c_cos,
odf_ca_projfinproperties.i_serv_cos i_serv_cos,
fin_financials.PLANNED_ACTUAL_BENEFIT plan_actual_benefit,
odf_ca_project.eri_fin_rpt_t eri_fin_rpt_t,
inv_projects.RCF_IMPLEMENTATION rcf_implementation,
fin_financials.FORECAST_COST forecast_cost,
odf_ca_projfinproperties.p_cos_sw_currency p_cos_sw_currency,
odf_ca_projfinproperties.eri_esta_status eri_esta_status,
inv_investments.name name, fin_financials.BUDGET_COST budget_cost,
((odf_ca_project.apl_budget*1)-(odf_ca_project.erc_cbb*1)) erc_budget_maint,
fin_financials.BUDGET_CST_FINISH budget_cst_finish,
odf_ca_projfinproperties.p_ns_cs_currency p_ns_cs_currency,
odf_ca_inv.odf_period_start odf_period_start,
fin_financials.FORECAST_MIRR forecast_mirr,
odf_ca_project.eri_eridoc_fldr eri_eridoc_fldr,
odf_ca_project.eric_mom_hand_sup eric_mom_hand_sup,
inv_investments.RSF_OBS_UNIT rsf_obs_unit,
odf_ca_project.eri_op_check eri_op_check,
inv_investments.GOAL_CODE goal_code,
odf_ca_project.eri_umimprv_cmnts eri_umimprv_cmnts,
fin_financials.PLANNED_COST plan_cost,
odf_ca_project.process_prog_flag process_prog_flag,
odf_ca_projfinproperties.budget_ccy budget_ccy,
odf_ca_project.egct_cbl_finish egct_cbl_finish,
(SELECT /*+ index(b PPA_WIP_VALUES_U1) */ NVL(SUM (b.totalcost), 0) FROM ppa_wip a, ppa_wip_values b WHERE a.transno = b.transno AND b.currency_type = 'HOME' AND a.status = 0 AND a.investment_id = inv_investments.id GROUP BY a.investment_id) aggr_actual_cost,
odf_ca_project.eri_cat_appr_dt eri_cat_appr_dt,
odf_ca_projfinproperties.eri_sv_rtb_currency eri_sv_rtb_currency,
odf_ca_projfinproperties.bgct_ccy_test bgct_ccy_test,
odf_ca_projfinproperties.p_ruc p_ruc,
odf_ca_project.eri_knowledge_base eri_knowledge_base,
odf_ca_projfinproperties.eri_plan_rr_currency eri_plan_rr_currency,
odf_ca_projfinproperties.c_ass_cst_currency c_ass_cst_currency,
odf_ca_projfinproperties.p_cos_qtd p_cos_qtd,
odf_ca_projfinproperties.p_ordbkd_currency p_ordbkd_currency,
odf_ca_projfinproperties.eac_rev eac_rev,
INV_INVESTMENTS.MANAGER_ID manager,
odf_ca_project.eri_acr eri_acr,
inv_projects.prClosedTime prclosedtime,
odf_ca_project.eri_msdp_tgms_chklst eri_msdp_tgms_chklst,
odf_ca_project.eric_project_team eric_project_team,
odf_ca_project.document_templates document_templates,
odf_ca_project.eri_doc_supp_name_3 eri_doc_supp_name_3,
odf_ca_project.eri_early_start eri_early_start,
odf_ca_project.eri_doc_supp_name_2 eri_doc_supp_name_2,
odf_ca_project.eri_doc_supp_name_1 eri_doc_supp_name_1,
(nvl((odf_ca_projfinproperties.eac_rev*1.00),0)+nvl((odf_ca_projfinproperties.eac_rev_sv*1.00),0)) eac_tot_rev,
odf_ca_project.eri_doc_tg4_present eri_doc_tg4_present,
inv_projects.prAsOf prasof,
odf_ca_project.eri_proj_phase eri_proj_phase,
odf_ca_projfinproperties.eri_fac_date_actual eri_fac_date_actual,
odf_ca_project.eri_miss_optout eri_miss_optout,
odf_ca_project.eri_tg2_complete eri_tg2_complete,
fin_financials.PLANNED_BREAKEVEN planned_breakeven,
inv_projects.prPctComplete prpctcomplete,
odf_ca_projfinproperties.c_um_cs c_um_cs,
inv_investments.labor_baseline_curve labor_base,
odf_ca_project.eric_tg4_approved eric_tg4_approved,
fin_financials.is_sys_val_for_rr is_sys_val_for_rr,
odf_ca_projfinproperties.p_um_cs p_um_cs,
odf_ca_project.eri_one_entry_form_t eri_one_entry_form_t,
BASEREC.COST_SUM baseline_cost,
EVREC.LAST_UPDATED_DATE ev_last_calc,
inv_projects.ev_bcwp_ovr ev_bcwp_ovr,
odf_ca_projfinproperties.eri_act_cst_currency eri_act_cst_currency,
odf_ca_project.eri_ms6_complete eri_ms6_complete,
odf_ca_projfinproperties.eri_hs_rtb eri_hs_rtb,
fin_financials.BUDGET_CST_START budget_cst_start,
odf_ca_project.eri_tg3_act_date eri_tg3_act_date,
fin_financials.PLANNED_NPV planned_npv,
fin_financials.PLANNED_CST_START planned_cst_start,
inv_projects.IS_PROGRAM is_program,
odf_ca_projfinproperties.p_act_cst_currency p_act_cst_currency,
odf_ca_projfinproperties.s_ass_cst_currency s_ass_cst_currency,
odf_ca_projfinproperties.c_esta_act c_esta_act,
odf_ca_projfinproperties.c_comm_cst_currency c_comm_cst_currency,
fin_financials.BUDGET_COST_OPERATING budget_cost_op,
odf_ca_project.eri_score_status eri_score_status,
odf_ca_project.eri_proj_sc_appr_dt eri_proj_sc_appr_dt,
odf_ca_projfinproperties.c_act_rev_currency c_act_rev_currency,
odf_ca_projfinproperties.cp_hwsw cp_hwsw,
odf_ca_project.eric_internal_handov eric_internal_handov,
odf_ca_projfinproperties.c_ob_cs_ytd_currency c_ob_cs_ytd_currency,
inv_investments.APPROVEDTIME approvedtime,
odf_ca_project.egct_null_number egct_null_number,
EVREC.ITD_ACWP ev_acwp,
inv_projects.RCF_FUNDING rcf_funding,
inv_projects.prRequestedTime prrequestedtime,
odf_ca_projfinproperties.c_cos_cs c_cos_cs,
odf_ca_project.kpi_3_over_prj_tot kpi_3_over_prj_tot,
odf_ca_projfinproperties.sap_fin_date sap_fin_date,
odf_ca_projfinproperties.p_cls_bcklg_currency p_cls_bcklg_currency,
odf_ca_project.cpar_region cpar_region,
odf_ca_project.cbl_csc_bgt_currency cbl_csc_bgt_currency,
odf_ca_projfinproperties.p_cos_mtd p_cos_mtd,
odf_ca_project.eric_closure_initiat eric_closure_initiat,
odf_ca_projfinproperties.c_budget_currency c_budget_currency,
pac_mnt_projects.WIPCLASS wip_class,
odf_ca_projfinproperties.c_ns_cs_currency c_ns_cs_currency,
odf_ca_projfinproperties.c_ordbkd_cs_currency c_ordbkd_cs_currency,
odf_ca_projfinproperties.ass_nc_bud_currency ass_nc_bud_currency,
odf_ca_project.deal_id deal_id,
odf_ca_project.eri_doc_tg5_decsn eri_doc_tg5_decsn,
CASE WHEN NVL(EVREC.BAC,0) > 0 AND NVL(EVREC.ITD_BCWP,0) > 0 THEN EVREC.ITD_ACWP + (EVREC.BAC - EVREC.ITD_BCWP) ELSE NULL END ev_eac_at,
odf_ca_projfinproperties.c_unb_sales_currency c_unb_sales_currency,
odf_ca_projfinproperties.ass_rev ass_rev,
odf_ca_project.eric_tg2_approved eric_tg2_approved,
inv_projects.RCF_SPONSORSHIP rcf_sponsorship,
odf_ca_project.eric_ms6_approved eric_ms6_approved,
pac_mnt_projects.TRANSCOSTSOURCEMATERIALS trans_cost_mtl_src,
odf_ca_projfinproperties.fas_cos_sv fas_cos_sv,
odf_ca_project.eri_assn_spec_t eri_assn_spec_t,
fin_financials.FORECAST_IRR forecast_irr,
inv_investments.labor_variancesum labor_variancesum,
odf_ca_projfinproperties.c_ns_currency c_ns_currency,
odf_ca_projfinproperties.c_prj_bud_currency c_prj_bud_currency,
inv_projects.EV_PERIOD_ID ev_period_id,
odf_ca_project.eric_tg3_approved eric_tg3_approved,
odf_ca_projfinproperties.p_unb_sales p_unb_sales,
pac_mnt_projects.TRANSRATESOURCELABOR trans_rate_lbr_src,
odf_ca_projfinproperties.p_ns p_ns,
odf_ca_projfinproperties.c_ordbkd_currency c_ordbkd_currency,
odf_ca_project.eri_doc_prj_pager eri_doc_prj_pager,
odf_ca_project.eri_is_cpl eri_is_cpl,
odf_ca_project.eri_proj_sc_comp eri_proj_sc_comp,
inv_investments.chargecodeid chargecodeid,
(select total_cost_of_capital from prsite) system_value_for_tcc,
odf_ca_inv.odf_period_end odf_period_end,
odf_ca_projfinproperties.um_pct_qtd um_pct_qtd,
odf_ca_projfinproperties.c_ns_sw c_ns_sw,
odf_ca_projfinproperties.c_act_rev c_act_rev,
odf_ca_projfinproperties.p_ns_ytd_currency p_ns_ytd_currency,
odf_ca_projfinproperties.eri_hs_rtb_currency eri_hs_rtb_currency,
odf_ca_projfinproperties.cp_mgnt_res_currency cp_mgnt_res_currency,
pac_mnt_projects.TRANSRATESOURCEEXPENSES trans_rate_exp_src,
CASE WHEN NVL(EVREC.ITD_ACWP,0) > 0 THEN NVL(EVREC.ITD_BCWP,0) / EVREC.ITD_ACWP ELSE NULL END ev_cpi,
odf_ca_project.kpi_3_statuskeycolor kpi_3_statuskeycolor,
odf_ca_projfinproperties.p_act_rev_currency p_act_rev_currency,
odf_ca_projfinproperties.ass_nc_bud ass_nc_bud,
inv_investments.labor_act_curve labor_act,
fin_financials.FORECAST_REV_START forecast_rev_start,
odf_ca_projfinproperties.eri_act_cst eri_act_cst,
fin_financials.PLANNED_CST_CAPITAL_TOTAL planned_cst_capital_total,
odf_ca_projfinproperties.eac_svc_um_pct eac_svc_um_pct,
odf_ca_projfinproperties.p_cos_cs_currency p_cos_cs_currency,
inv_investments.MANAGER_ID manager_id,
fin_financials.PLANNED_CST_TOTAL planned_cst_total,
odf_ca_project.eri_tg3_complete eri_tg3_complete,
odf_ca_project.eri_apl_fin_cmnts eri_apl_fin_cmnts,
pac_mnt_projects.TRANSRATESOURCEMATERIALS trans_rate_mtl_src,
odf_ca_project.eric_proj_spec eric_proj_spec,
(CMN_DATE_TIME_DIFF_FCT('Day',inv_investments.schedule_finish,BASEREC.FINISH_DATE)) obj_schedule_var,
odf_ca_project.eri_cfr eri_cfr,
odf_ca_project.eri_proj_category eri_proj_category,
odf_ca_project.eri_proj_kill eri_proj_kill,
odf_ca_projfinproperties.fas_rev_sv_currency fas_rev_sv_currency,
odf_ca_projfinproperties.cp_hwsw_currency cp_hwsw_currency,
odf_ca_projfinproperties.i_rr_bgt i_rr_bgt,
odf_ca_project.eri_doc_stat_rprt eri_doc_stat_rprt,
fin_financials.FORECAST_REV_FINISH forecast_rev_finish,
odf_ca_project.eri_int_stat_t eri_int_stat_t,
odf_ca_project.eri_proj_contoller eri_proj_contoller,
odf_ca_projfinproperties.p_ass_cst_currency p_ass_cst_currency,
odf_ca_projfinproperties.c_ns_sw_currency c_ns_sw_currency,
odf_ca_projfinproperties.um_pct_ytd um_pct_ytd,
(CASE WHEN ((odf_ca_projfinproperties.eac_rev*1.00)+(odf_ca_projfinproperties.eac_rev_sv*1.00))=0 THEN NULL ELSE ((((odf_ca_projfinproperties.eac_rev*1.00)+(odf_ca_projfinproperties.eac_rev_sv*1.00))-(odf_ca_projfinproperties.eac_bud*1.00))-(odf_ca_projfinproperties.eac_cos_sv*1.00))*100/((odf_ca_projfinproperties.eac_rev*1.00)+(odf_ca_projfinproperties.eac_rev_sv*1.00)) END*LEAST(nvl((1.0*1.00),coalesce((1.0*1.00),ABS(((odf_ca_projfinproperties.eac_rev*1.00)+(odf_ca_projfinproperties.eac_rev_sv*1.00))),ABS(((odf_ca_projfinproperties.eac_bud*1.00)+(odf_ca_projfinproperties.eac_cos_sv*1.00))))),nvl(ABS(((odf_ca_projfinproperties.eac_rev*1.00)+(odf_ca_projfinproperties.eac_rev_sv*1.00))),coalesce((1.0*1.00),ABS(((odf_ca_projfinproperties.eac_rev*1.00)+(odf_ca_projfinproperties.eac_rev_sv*1.00))),ABS(((odf_ca_projfinproperties.eac_bud*1.00)+(odf_ca_projfinproperties.eac_cos_sv*1.00))))),nvl(ABS(((odf_ca_projfinproperties.eac_bud*1.00)+(odf_ca_projfinproperties.eac_cos_sv*1.00))),coalesce((1.0*1.00),ABS(((odf_ca_projfinproperties.eac_rev*1.00)+(odf_ca_projfinproperties.eac_rev_sv*1.00))),ABS(((odf_ca_projfinproperties.eac_bud*1.00)+(odf_ca_projfinproperties.eac_cos_sv*1.00))))))) eac_um_pct,
odf_ca_project.eri_det_proj_plan eri_det_proj_plan,
CASE WHEN NVL(INV_INVESTMENTS.labor_eacsum,0) > 0 THEN NVL(INV_INVESTMENTS.labor_actsum,0)/NVL(INV_INVESTMENTS.labor_eacsum,0) ELSE 0 END pct_complete,
inv_projects.ev_calc_method ev_calc_method,
odf_ca_projfinproperties.p_ordbk_ytd p_ordbk_ytd,
fin_financials.PLANNED_COST_CAPITAL plan_cost_cap,
odf_ca_projfinproperties.p_plan_cst p_plan_cst,
odf_ca_project.eri_more_id eri_more_id,
odf_ca_project.egct_final_rep_ppt egct_final_rep_ppt,
round((inv_projects.RCF_FLEXIBILITY * 1.000000 + inv_projects.RCF_FUNDING * 1.000000 + inv_projects.RCF_HUMAN_INTERFACE * 1.000000 + inv_projects.RCF_IMPLEMENTATION * 1.000000 + inv_projects.RCF_INTERDEPENDENCY * 1.000000 + inv_projects.RCF_OBJECTIVES * 1.000000 + inv_projects.RCF_ORG_CULTURE * 1.000000 + inv_projects.RCF_RESOURCE_AVAIL * 1.000000 + inv_projects.RCF_SPONSORSHIP * 1.000000 + inv_projects.RCF_SUPPORTABILITY * 1.000000 + inv_projects.RCF_TECHNICAL * 1.000000) / (1.000000 + 1.000000 + 1.000000 + 1.000000 + 1.000000 + 1.000000 + 1.000000 + 1.000000 + 1.000000 + 1.000000 + 1.000000),0) risk,
odf_ca_projfinproperties.p_cos_qtd_currency p_cos_qtd_currency,
odf_ca_projfinproperties.p_ordbk_qtd p_ordbk_qtd,
odf_ca_project.eri_proj_sc_cpm_appr eri_proj_sc_cpm_appr,
odf_ca_project.egct_project_type egct_project_type,
odf_ca_projfinproperties.p_cos_hw_currency p_cos_hw_currency,
odf_ca_project.eri_start_propsc eri_start_propsc,
pac_mnt_projects.DEPARTCODE department_code,
odf_ca_project.cbl_qtc_bgt_currency cbl_qtc_bgt_currency,
inv_projects.prRequestedBy prrequestedby,
odf_ca_project.erc_apl_close_date erc_apl_close_date,
odf_ca_projfinproperties.p_ordbk_mtd p_ordbk_mtd,
odf_ca_projfinproperties.i_serv_rev_currency i_serv_rev_currency,
odf_ca_projfinproperties.cp_risk_exp_currency cp_risk_exp_currency,
odf_ca_projfinproperties.s_act_cst_currency s_act_cst_currency,
pac_mnt_projects.billing_project_id billing_project_id,
((CASE WHEN (EVREC.ITD_BCWS*1.00)=0 THEN NULL ELSE ((EVREC.ITD_BCWP*1.00)-(EVREC.ITD_BCWS*1.00))/(EVREC.ITD_BCWS*1.00) END )*(100.0*1.00)) obj_ev_sv_pct,
inv_investments.labor_variance_curve labor_variance,
(nvl((odf_ca_projfinproperties.eac_bud*1.00),0)+nvl((odf_ca_projfinproperties.eac_cos_sv*1.00),0)) eac_tot_bgt,
odf_ca_project.obj_request_category obj_request_category,
odf_ca_project.erc_apl_proj_stat erc_apl_proj_stat,
inv_investments.code unique_code,
odf_ca_projfinproperties.i_revenue i_revenue,
odf_ca_project.eri_fac_date eri_fac_date,
odf_ca_projfinproperties.c_act_cst c_act_cst,
CASE WHEN (odf_ca_projfinproperties.eac_rev_sv*1.00)=0 THEN NULL ELSE ((odf_ca_projfinproperties.eac_rev_sv*1.00)-(odf_ca_projfinproperties.eac_cos_sv*1.00))*100/(odf_ca_projfinproperties.eac_rev_sv*1.00) END eac_sv_um_pct,
(NVL(INV_INVESTMENTS.labor_actsum,0)/3600)/(select hours_per_day from prj_hours_per_day_v) actuals,
odf_ca_projfinproperties.p_ns_sw p_ns_sw,
EVREC.ETC ev_etc,
(((GREATEST(nvl((odf_ca_project.kpi_3_notover_prjtot*1),coalesce((odf_ca_project.kpi_3_notover_prjtot*1),(0.0*1))),nvl((0.0*1),coalesce((odf_ca_project.kpi_3_notover_prjtot*1),(0.0*1))))*(1.0*1))+(GREATEST(nvl((odf_ca_project.kpi_3_noplan_findate*1),coalesce((odf_ca_project.kpi_3_noplan_findate*1),(0.0*1))),nvl((0.0*1),coalesce((odf_ca_project.kpi_3_noplan_findate*1),(0.0*1))))*(2.0*1)))+(GREATEST(nvl((odf_ca_project.kpi_3_over_prj_tot*1),coalesce((odf_ca_project.kpi_3_over_prj_tot*1),(0.0*1))),nvl((0.0*1),coalesce((odf_ca_project.kpi_3_over_prj_tot*1),(0.0*1))))*(3.0*1))) kpi_3_excep_status,
odf_ca_projfinproperties.c_esta_act_currency c_esta_act_currency,
odf_ca_project.eri_cbl_rev eri_cbl_rev,
inv_investments.TARGET_MANAGER_ID target_manager_id,
odf_ca_project.eri_date_handover eri_date_handover,
fin_financials.IS_FCST_EQ_BDGT is_fcst_eq_bdgt,
odf_ca_project.eric_req_apprv_tg3 eric_req_apprv_tg3,
odf_ca_project.eric_req_apprv_tg4 eric_req_apprv_tg4,
odf_ca_projfinproperties.p_ns_qtd p_ns_qtd,
(NVL(INV_INVESTMENTS.labor_etcsum,0)/3600)/(select hours_per_day from prj_hours_per_day_v) etc,
odf_ca_project.eric_req_apprv_tg5 eric_req_apprv_tg5,
odf_ca_projfinproperties.i_hw_sw_rev_currency i_hw_sw_rev_currency,
odf_ca_projfinproperties.um_pct um_pct,
odf_ca_projfinproperties.p_um_currency p_um_currency,
odf_ca_projfinproperties.dddddedd dddddedd,
odf_ca_projfinproperties.c_cls_bcklg_currency c_cls_bcklg_currency,
pac_mnt_projects.APPROVED approved,
odf_ca_projfinproperties.p_um_cs_currency p_um_cs_currency,
odf_ca_project.eri_doc_tg5_present eri_doc_tg5_present,
(NVL(INV_INVESTMENTS.labor_eacsum,0)/3600)/(select hours_per_day from prj_hours_per_day_v) ttl_effort,
pac_mnt_projects.STATUS npio_status,
odf_ca_project.eri_baseline_plan eri_baseline_plan,
odf_ca_project.eri_kam_vp eri_kam_vp,
( select poa.unit_id from prj_obs_associations poa, prj_obs_units pou, prj_obs_types pot, prj_obs_object_types poot where NLS_UPPER(poa.table_name) = NLS_UPPER('SRM_PROJECTS') and poa.record_id = INV_INVESTMENTS.ID and poa.unit_id = pou.id and pou.type_id = pot.id and pot.id = poot.type_id and NLS_UPPER(poa.table_name) = NLS_UPPER(poot.table_name) and poot.assoc_att_code = 'odf_egct_n1733641259' ) odf_egct_n1733641259,
INV_INVESTMENTS.CREATED_DATE created_date,
odf_ca_projfinproperties.cp_mgnt_res cp_mgnt_res,
odf_ca_project.eri_hi_prof_pfm eri_hi_prof_pfm, CREATED.ID created_by_id,
odf_ca_projfinproperties.c_hw_sw_cos c_hw_sw_cos,
odf_ca_projfinproperties.cp_test cp_test,
( select poa.unit_id from prj_obs_associations poa, prj_obs_units pou, prj_obs_types pot, prj_obs_object_types poot where NLS_UPPER(poa.table_name) = NLS_UPPER('SRM_PROJECTS') and poa.record_id = INV_INVESTMENTS.ID and poa.unit_id = pou.id and pou.type_id = pot.id and pot.id = poot.type_id and NLS_UPPER(poa.table_name) = NLS_UPPER(poot.table_name) and poot.assoc_att_code = 'odf_egct_n510366487' ) odf_egct_n510366487,
odf_ca_project.eri_fin_mgt_score eri_fin_mgt_score,
inv_investments.IS_REQUIRED is_required,
odf_ca_projfinproperties.p_um_ytd_currency p_um_ytd_currency,
odf_ca_projfinproperties.p_ns_currency p_ns_currency,
odf_ca_projfinproperties.c_ruc_currency c_ruc_currency,
CASE WHEN NVL(EVREC.ITD_ACWP,0) > 0 AND NVL(EVREC.ITD_BCWP,0) > 0 THEN EVREC.ITD_ACWP + ( ( (EVREC.BAC - EVREC.ITD_BCWP) * EVREC.ITD_ACWP ) / ( EVREC.ITD_BCWP )) ELSE NULL END ev_eac,
odf_ca_project.kpi_3_due_wth15_days kpi_3_due_wth15_days,
odf_ca_project.egct_null_percent egct_null_percent,
fin_financials.PLANNED_COST_OPERATING plan_cost_op,
odf_ca_projfinproperties.p_cos_mtd_currency p_cos_mtd_currency,
odf_ca_projfinproperties.c_ns c_ns,
odf_ca_project.erc_scorecard_optout erc_scorecard_optout,
odf_ca_projfinproperties.p_um_mtd p_um_mtd,
odf_ca_project.cbl_csc_bgt cbl_csc_bgt,
inv_investments.BASELINE_ID baseline_id,
CASE WHEN NVL(EVREC.BAC,0) > 0 AND NVL(EVREC.ITD_BCWP,0) > 0 THEN EVREC.BAC - EVREC.ITD_BCWP ELSE NULL END ev_etc_at,
odf_ca_project.fin_int_flag fin_int_flag,
odf_ca_projfinproperties.p_plan_rev p_plan_rev,
(SELECT CASE WHEN NVL(F.PLANNED_CST_TOTAL,0) > 0 THEN NVL(F.PLANNED_CST_CAPITAL_TOTAL,0) / F.PLANNED_CST_TOTAL ELSE NULL END FROM FIN_FINANCIALS F WHERE F.ID = FIN_FINANCIALS.ID) planned_cst_capital_pct,
odf_ca_project.eri_apl_tpr_cmnts eri_apl_tpr_cmnts,
((CASE WHEN (EVREC.BAC*1.00)=0 THEN NULL ELSE (((EVREC.ETC*1.00)+(EVREC.ITD_ACWP*1.00))-(EVREC.BAC*1.00))/(EVREC.BAC*1.00) END )*(100.0*1.00)) obj_cost_pct_var,
odf_ca_project.eri_is_plti eri_is_plti,
inv_projects.prUID pruid,
odf_ca_projfinproperties.s_budget_currency s_budget_currency,
odf_ca_project.eric_tg1_apprv_req eric_tg1_apprv_req,
odf_ca_projfinproperties.c_um_cs_currency c_um_cs_currency,
inv_investments.APPROVEDBY_ID approvedby_id,
odf_ca_project.eri_cpl_report_t eri_cpl_report_t,
odf_ca_project.eri_csr eri_csr,
odf_ca_project.proj_prop_c_status proj_prop_c_status,
odf_ca_project.eri_proj_spec_t eri_proj_spec_t,
odf_ca_projfinproperties.um_cs_pct um_cs_pct,
odf_ca_projfinproperties.budget_report_ccy budget_report_ccy,
odf_ca_inv.obj_pfl_category2 obj_pfl_category2,
odf_ca_inv.obj_pfl_category1 obj_pfl_category1,
EVREC.ITD_BCWP ev_bcwp,
odf_ca_project.eri_eval_score eri_eval_score,
inv_projects.percent_calc_mode percent_calc_mode,
EVREC.ITD_BCWS ev_bcws,
odf_ca_projfinproperties.c_ns_hw_currency c_ns_hw_currency,
inv_projects.PROCESS_SCALE_WORK process_scale_work,
BASEREC.FINISH_DATE baseline_finish,
odf_ca_inv.obj_pfl_category4 obj_pfl_category4,
CASE WHEN NVL(EVREC.ITD_BCWS,0) > 0 THEN NVL(EVREC.ITD_BCWP,0) / EVREC.ITD_BCWS ELSE NULL END ev_spi,
odf_ca_inv.obj_pfl_category3 obj_pfl_category3,
inv_investments.TRACK_ASSGN_ONLY track_assgn_only,
inv_investments.ASSGN_POOL assgn_pool,
odf_ca_project.eri_prgrm_wf_stat eri_prgrm_wf_stat,
odf_ca_projfinproperties.p_ordbkd p_ordbkd,
odf_ca_projfinproperties.c_plan_rev c_plan_rev,
inv_investments.IS_ACTIVE is_active,
odf_ca_projfinproperties.p_um_mtd_currency p_um_mtd_currency,
fin_financials.FORECAST_BENEFIT forecast_benefit,
odf_ca_project.egct_obs_internal egct_obs_internal,
odf_ca_projfinproperties.p_cos_ytd_currency p_cos_ytd_currency,
odf_ca_projfinproperties.p_cos_cs p_cos_cs,
odf_ca_project.eri_proj_sc_cfr_appr eri_proj_sc_cfr_appr,
odf_ca_inv.odf_object_code odf_object_code,
fin_financials.FORECAST_BREAKEVEN forecast_breakeven,
fin_financials.PLANNED_BEN_TOTAL planned_ben_total,
odf_ca_project.eri_proj_sc_cpm eri_proj_sc_cpm,
fin_financials.IS_CALC_PV_INFO is_calc_pv_info,
odf_ca_project.eri_prj_level eri_prj_level,
odf_ca_projfinproperties.p_ns_hw p_ns_hw,
odf_ca_projfinproperties.i_serv_cos_currency i_serv_cos_currency,
odf_ca_project.kpi_3_notover_prjtot kpi_3_notover_prjtot,
odf_ca_projfinproperties.s_act_cst s_act_cst,
inv_investments.track_mode trackmode,
odf_ca_projfinproperties.c_hw_sw_cos_currency c_hw_sw_cos_currency,
fin_financials.PLANNED_IRR planned_irr,
odf_ca_project.eri_rev_code_key_doc eri_rev_code_key_doc,
odf_ca_project.eri_doc_tg2_present eri_doc_tg2_present,
fin_financials.BUDGET_BREAKEVEN budget_breakeven,
odf_ca_projfinproperties.ass_con_bud_currency ass_con_bud_currency,
(select reinvestment_rate from prsite) system_value_for_rr,
inv_investments.PROGRESS progress,
odf_ca_projfinproperties.c_cs_cs_ytd c_cs_cs_ytd,
odf_ca_projfinproperties.p_ordbk_mtd_currency p_ordbk_mtd_currency,
odf_ca_project.erc_apl_proj_type erc_apl_proj_type,
CASE WHEN NVL(EVREC.BAC,0) > 0 AND NVL(EVREC.ITD_BCWP,0) > 0 AND NVL(EVREC.ITD_ACWP,0) > 0 THEN ( ( EVREC.BAC - EVREC.ITD_BCWP ) * EVREC.ITD_ACWP ) / ( EVREC.ITD_BCWP ) ELSE NULL END ev_etc_t,
odf_ca_projfinproperties.p_currency_code p_currency_code,
fin_financials.FORECAST_ROI forecast_roi,
odf_ca_projfinproperties.s_plan_cst_currency s_plan_cst_currency,
odf_ca_projfinproperties.p_ns_mtd p_ns_mtd,
fin_financials.reinvestment_rate override_val_for_rr,
odf_ca_project.eri_final_payout eri_final_payout,
odf_ca_project.eri_tg1_act_date eri_tg1_act_date,
odf_ca_project.egct_cbl_budget egct_cbl_budget,
odf_ca_projfinproperties.int_p_currency_code int_p_currency_code,
odf_ca_projfinproperties.p_ns_qtd_currency p_ns_qtd_currency,
odf_ca_project.eri_tg4_complete eri_tg4_complete,
odf_ca_projfinproperties.rpt_currency_code rpt_currency_code,
NVL(EVREC.ITD_BCWP,0) - NVL(EVREC.ITD_ACWP,0) ev_cv,
odf_ca_project.ss ss,
(SELECT CASE WHEN NVL(F.BUDGET_CST_TOTAL,0) > 0 THEN NVL(F.BUDGET_CST_OPERATING_TOTAL,0) / F.BUDGET_CST_TOTAL ELSE NULL END FROM FIN_FINANCIALS F WHERE F.ID = FIN_FINANCIALS.ID) budget_cst_operating_pct,
odf_ca_projfinproperties.eac_rev_sv eac_rev_sv,
odf_ca_projfinproperties.p_um_qtd_currency p_um_qtd_currency,
odf_ca_projfinproperties.c_currency_code c_currency_code,
fin_financials.PLANNED_BENEFIT plan_benefit,
fin_financials.PLANNED_PAYBACK_PERIOD planned_payback_period,
odf_ca_project.eric_tg5_approved eric_tg5_approved,
(odf_ca_project.apl_closeable_kpi*1) apl_closure_kpi,
odf_ca_project.eri_proj_budget eri_proj_budget,
odf_ca_project.eri_tg5_act_date eri_tg5_act_date,
(nvl((odf_ca_projfinproperties.ass_nc_bud*1.00),0)+nvl((odf_ca_projfinproperties.fas_cos_sv*1.00),0)) fas_tot_bgt,
odf_ca_projfinproperties.c_ns_cs_ytd c_ns_cs_ytd,
pac_mnt_projects.TRANSCOSTSOURCEEXPENSES trans_cost_exp_src,
odf_ca_project.eri_line_manager eri_line_manager,
odf_ca_project.eric_customer_handov eric_customer_handov,
pac_mnt_projects.BILLING_CURRENCY_CODE bill_currency_code,
odf_ca_projfinproperties.i_eri_proj_margin i_eri_proj_margin,
odf_ca_projfinproperties.p_wip p_wip,
inv_projects.prBudget prbudget,
odf_ca_projfinproperties.c_ns_cs_ytd_currency c_ns_cs_ytd_currency,
odf_ca_projfinproperties.c_budget c_budget,
(SELECT CASE WHEN NVL(F.BUDGET_CST_TOTAL,0) > 0 THEN NVL(F.BUDGET_CST_CAPITAL_TOTAL,0) / F.BUDGET_CST_TOTAL ELSE NULL END FROM FIN_FINANCIALS F WHERE F.ID = FIN_FINANCIALS.ID) budget_cst_capital_pct,
odf_ca_project.eri_mod_date eri_mod_date,
odf_ca_project.eric_customer_accpt eric_customer_accpt,
odf_ca_projfinproperties.eac_bud_currency eac_bud_currency,
odf_ca_projfinproperties.p_um p_um,
odf_ca_projfinproperties.c_um_currency c_um_currency,
odf_ca_projfinproperties.c_cos_sw_currency c_cos_sw_currency,
odf_ca_inv.obj_align_factor3 obj_align_factor3,
(SELECT count(id) FROM cmn_lookups_v WHERE parent_lookup_code = INV_INVESTMENTS.process_code AND is_active = 1 AND language_code = 'en') stage_count,
odf_ca_inv.obj_align_factor4 obj_align_factor4,
odf_ca_inv.obj_align_factor1 obj_align_factor1,
odf_ca_inv.obj_align_factor2 obj_align_factor2,
inv_projects.RCF_SUPPORTABILITY rcf_supportability,
odf_ca_projfinproperties.c_cos_hw c_cos_hw,
odf_ca_inv.obj_align_factor5 obj_align_factor5,
odf_ca_project.str_int_flag str_int_flag,
odf_ca_projfinproperties.c_wip_currency c_wip_currency,
odf_ca_inv.obj_align_factor6 obj_align_factor6,
odf_ca_project.egct_sap_propsc_gov egct_sap_propsc_gov,
odf_ca_project.cbl_psf_bgt_currency cbl_psf_bgt_currency,
odf_ca_projfinproperties.c_cos_currency c_cos_currency,
odf_ca_projfinproperties.i_rr_bgt_currency i_rr_bgt_currency,
odf_ca_projfinproperties.c_ob_cs_ytd c_ob_cs_ytd,
odf_ca_projfinproperties.ass_rev_currency ass_rev_currency,
(CASE WHEN (nvl2((odf_ca_inv.obj_align_factor1*1),1,0)+nvl2((odf_ca_inv.obj_align_factor2*1),1,0)+nvl2((odf_ca_inv.obj_align_factor3*1),1,0)+nvl2((odf_ca_inv.obj_align_factor4*1),1,0)+nvl2((odf_ca_inv.obj_align_factor5*1),1,0)+nvl2((odf_ca_inv.obj_align_factor6*1),1,0))=0 THEN NULL ELSE (nvl((odf_ca_inv.obj_align_factor1*1),0)+nvl((odf_ca_inv.obj_align_factor2*1),0)+nvl((odf_ca_inv.obj_align_factor3*1),0)+nvl((odf_ca_inv.obj_align_factor4*1),0)+nvl((odf_ca_inv.obj_align_factor5*1),0)+nvl((odf_ca_inv.obj_align_factor6*1),0))/(nvl2((odf_ca_inv.obj_align_factor1*1),1,0)+nvl2((odf_ca_inv.obj_align_factor2*1),1,0)+nvl2((odf_ca_inv.obj_align_factor3*1),1,0)+nvl2((odf_ca_inv.obj_align_factor4*1),1,0)+nvl2((odf_ca_inv.obj_align_factor5*1),1,0)+nvl2((odf_ca_inv.obj_align_factor6*1),1,0)) END ) obj_alignment,
odf_ca_project.eri_doc_othcomp_refs eri_doc_othcomp_refs,
inv_projects.RCF_FLEXIBILITY rcf_flexibility,
odf_ca_projfinproperties.p_ruc_currency p_ruc_currency,
odf_ca_projfinproperties.p_act_rev p_act_rev,
odf_ca_projfinproperties.c_um c_um,
odf_ca_projfinproperties.i_prj_bud_currency i_prj_bud_currency,
inv_projects.prFormat prformat,
odf_ca_projfinproperties.p_plan_rev_currency p_plan_rev_currency,
odf_ca_projfinproperties.p_ns_ytd p_ns_ytd,
odf_ca_projfinproperties.eac_rev_currency eac_rev_currency,
INV_INVESTMENTS.LAST_UPDATED_DATE last_updated_date,
odf_ca_projfinproperties.c_defer_rev c_defer_rev,
pac_mnt_projects.MASTER_PROJECT_CODE master_project_code,
NVL(INV_INVESTMENTS.PURGE_FLAG,0) purge_flag,
(case when inv_investments.schedule_start is not null and inv_investments.schedule_finish is not null THEN (NVL(INV_INVESTMENTS.LABOR_EACSUM,0) / 3600 / PRJ_HPD_FACTOR_FCT()) ELSE 0 end) labor_eacsum,
odf_ca_project.eri_one_entry_form eri_one_entry_form,
pac_mnt_projects.PROJECT_CODE project_code,
odf_ca_project.eri_tg5_present_t eri_tg5_present_t,
BASEREC.START_DATE baseline_start,
odf_ca_projfinproperties.i_serv_um_pct i_serv_um_pct,
inv_investments.SYNC_INV_N_BDG_DATES sync_inv_n_bdg_dates,
odf_ca_projfinproperties.s_comm_cst s_comm_cst,
odf_ca_project.eri_proj_number eri_proj_number,
odf_ca_project.eri_tg1_presentation eri_tg1_presentation,
odf_ca_projfinproperties.p_defer_rev_currency p_defer_rev_currency,
pac_mnt_projects.COST_TYPE cost_type,
pac_mnt_projects.BILLCYCLE batch_cycle,
odf_ca_project.eri_doc_supp_link_2 eri_doc_supp_link_2,
odf_ca_project.open_cr_indicator open_cr_indicator,
odf_ca_projfinproperties.c_eri_proj_margin c_eri_proj_margin,
odf_ca_project.eri_doc_supp_link_3 eri_doc_supp_link_3,
odf_ca_project.egct_cbl_ummrgn egct_cbl_ummrgn,
odf_ca_projfinproperties.p_ordbkd_cs_currency p_ordbkd_cs_currency,
odf_ca_project.create_new_plan create_new_plan,
odf_ca_projfinproperties.c_act_cst_currency c_act_cst_currency,
odf_ca_project.erc_bms_reminder erc_bms_reminder,
pac_mnt_projects.TRANSCOSTSOURCEEQUIPMENT trans_cost_eqp_src,
inv_projects.prVersion prversion,
((CASE WHEN (EVREC.ITD_BCWP*1.00)=0 THEN NULL ELSE ((EVREC.ITD_BCWP*1.00)-(EVREC.ITD_ACWP*1.00))/(EVREC.ITD_BCWP*1.00) END )*(100.0*1.00)) obj_ev_cv_pct,
odf_ca_projfinproperties.cp_serv_currency cp_serv_currency,
fin_financials.PLANNED_MIRR planned_mirr,
(nvl((odf_ca_projfinproperties.cp_hwsw*1.00),0)+nvl((odf_ca_projfinproperties.cp_serv*1.00),0)) cp_tot_cost,
fin_financials.BUDGET_REV_START budget_rev_start,
( SELECT DECODE( CMN_PAGES.PRINCIPAL_TYPE, 'SYSTEM', CMN_PAGES.ID, NVL( CMN_PAGES.ORIGINATING_PAGE_ID, CMN_PAGES.ID ) ) FROM CMN_INSTANCE_PAGES, CMN_PAGES WHERE CMN_INSTANCE_PAGES.PAGE_FRAME_ID = CMN_PAGES.ID AND CMN_INSTANCE_PAGES.OBJECT_INSTANCE_ID = INV_INVESTMENTS.ID AND CMN_INSTANCE_PAGES.OBJECT_TYPE = 'SRM_PROJECTS' ) page_layout,
odf_ca_projfinproperties.p_um_qtd p_um_qtd,
UPDATED.ID updated_by_id,
odf_ca_project.eri_acceptance_plan eri_acceptance_plan,
odf_ca_project.eri_prt_of_pmip eri_prt_of_pmip,
inv_projects.prStartImposed prstartimposed,
odf_ca_project.eri_proj_sc_cfr eri_proj_sc_cfr,
odf_ca_projfinproperties.c_cos_cs_currency c_cos_cs_currency,
odf_ca_projfinproperties.c_serv_rev c_serv_rev,
odf_ca_project.eri_doc_assgn_spec eri_doc_assgn_spec,
odf_ca_projfinproperties.p_defer_rev p_defer_rev,
odf_ca_project.eri_doc_tg2_decsn eri_doc_tg2_decsn,
odf_ca_project.eri_audit_report eri_audit_report,
fin_financials.FORECAST_CST_START forecast_cst_start,
fin_financials.total_cost_of_capital override_val_for_tcc,
odf_ca_projfinproperties.p_act_cst p_act_cst,
odf_ca_projfinproperties.c_ordbkd c_ordbkd,
odf_ca_projfinproperties.p_um_ytd p_um_ytd,
odf_ca_projfinproperties.s_plan_cst s_plan_cst,
odf_ca_projfinproperties.dummy_ccy_field dummy_ccy_field,
fin_financials.PLANNED_BEN_FINISH planned_ben_finish,
EVREC.BAC ev_bac,
odf_ca_project.eri_comment eri_comment,
odf_ca_project.obj_status_reporting obj_status_reporting,
odf_ca_project.eri_ms6_plan_date eri_ms6_plan_date,
odf_ca_projfinproperties.c_revenue c_revenue,
odf_ca_project.eri_category_appr eri_category_appr,
odf_ca_projfinproperties.s_ass_cst s_ass_cst,
odf_ca_projfinproperties.cp_risk_exp cp_risk_exp,
pac_mnt_projects.TRANSRATESOURCEEQUIPMENT trans_rate_eqp_src,
fin_financials.BUDGET_ACTUAL_BENEFIT budget_actual_benefit,
odf_ca_projfinproperties.fas_cos_sv_currency fas_cos_sv_currency,
inv_investments.is_open_for_te isopen,
(nvl((odf_ca_projfinproperties.cp_hwsw*1.00),0)+nvl((odf_ca_projfinproperties.cp_serv*1.00),0)+nvl((odf_ca_projfinproperties.eri_plan_rr*1.00),0)) cp_tot_bgt,
odf_ca_project.egmt_practice egmt_practice,
odf_ca_project.eri_proj_margin eri_proj_margin,
odf_ca_projfinproperties.c_revenue_currency c_revenue_currency,
odf_ca_project.eri_tg4_submitted eri_tg4_submitted,
odf_ca_project.eri_prj_ccb_lead eri_prj_ccb_lead,
fin_financials.is_sys_val_for_tcc is_sys_val_for_tcc,
pac_mnt_projects.CLASS investment_class,
odf_ca_project.eri_fcp_number eri_fcp_number,
odf_ca_projfinproperties.c_serv_rev_currency c_serv_rev_currency,
odf_ca_projfinproperties.c_plan_cst_currency c_plan_cst_currency,
odf_ca_inv.odf_asr_template odf_asr_template,
odf_ca_project.eri_doc_supp_link_1 eri_doc_supp_link_1,
odf_ca_project.eric_tg2_apprvl_req eric_tg2_apprvl_req,
inv_investments.STATUS_COMMENT status_comment,
(CASE WHEN (odf_ca_projfinproperties.ass_rev*1.00)=0 THEN NULL ELSE ((odf_ca_projfinproperties.ass_rev*1.00)-(odf_ca_projfinproperties.ass_con_bud*1.00))*100/(odf_ca_projfinproperties.ass_rev*1.00) END*LEAST(nvl((1.0*1.00),coalesce((1.0*1.00),ABS((odf_ca_projfinproperties.ass_rev*1.00)),ABS((odf_ca_projfinproperties.ass_con_bud*1.00)))),nvl(ABS((odf_ca_projfinproperties.ass_rev*1.00)),coalesce((1.0*1.00),ABS((odf_ca_projfinproperties.ass_rev*1.00)),ABS((odf_ca_projfinproperties.ass_con_bud*1.00)))),nvl(ABS((odf_ca_projfinproperties.ass_con_bud*1.00)),coalesce((1.0*1.00),ABS((odf_ca_projfinproperties.ass_rev*1.00)),ABS((odf_ca_projfinproperties.ass_con_bud*1.00)))))) ass_prj_con_um_pct,
inv_projects.PROCESS_SCALE_BDGT process_scale_bdgt,
inv_projects.RCF_TECHNICAL rcf_technical,
EVREC.ITD_ACWP + EVREC.ETC ev_eac_t,
odf_ca_project.eri_prj_coordinator eri_prj_coordinator,
odf_ca_project.eri_exists_bl eri_exists_bl,
inv_projects.prGuidelines prguidelines,
odf_ca_project.eri_tg1_comp eri_tg1_comp,
odf_ca_projfinproperties.c_cos_sw c_cos_sw,
pac_mnt_projects.EXPENSE_EXCHANGE_RATE_TYPE exp_xchg_rate_type,
odf_ca_project.partition_code partition_code,
odf_ca_projfinproperties.eac_rev_sv_currency eac_rev_sv_currency,
odf_ca_projfinproperties.c_um_cs_ytd c_um_cs_ytd,
odf_ca_projfinproperties.ass_cs_nc_um_pct ass_cs_nc_um_pct,
fin_financials.BUDGET_CST_TOTAL budget_cst_total,
(case when inv_investments.schedule_start is not null and inv_investments.schedule_finish is not null THEN NVL(INV_INVESTMENTS.LABOR_ETCSUM,0) / 3600 / PRJ_HPD_FACTOR_FCT()) ELSE 0 end) labor_etcsum,
odf_ca_projfinproperties.c_prj_bud c_prj_bud,
odf_ca_project.eri_ohs_plan eri_ohs_plan,
odf_ca_project.eri_fas_approved eri_fas_approved,
(nvl((odf_ca_projfinproperties.ass_rev*1.00),0)+nvl((odf_ca_projfinproperties.fas_rev_sv*1.00),0)) fas_tot_rev,
fin_financials.PLANNED_CST_FINISH planned_cst_finish,
odf_ca_project.vc_status vc_status,
inv_projects.prFinishImposed prfinishimposed,
odf_ca_projfinproperties.p_wip_currency p_wip_currency,
odf_ca_project.eri_msdp_chklist_t eri_msdp_chklist_t,
inv_investments.IDEA_ID idea_id,
((NVL(INV_INVESTMENTS.LABOR_ETCSUM,0) + NVL(INV_INVESTMENTS.LABOR_ACTSUM,0)) / 3600 / PRJ_HPD_FACTOR_FCT()) labor_effort,
odf_ca_projfinproperties.p_comm_cst_currency p_comm_cst_currency,
odf_ca_project.eri_hide_subpages eri_hide_subpages,
inv_projects.IS_TEMPLATE is_template,
odf_ca_project.eri_tg5_complete eri_tg5_complete,
CASE WHEN INV_INVESTMENTS.STATUS = 1 THEN 1 WHEN INV_INVESTMENTS.STATUS = 5 THEN 1 WHEN INV_INVESTMENTS.STATUS = 8 THEN 1 ELSE 0 END is_approved,
odf_ca_projfinproperties.i_revenue_currency i_revenue_currency,
odf_ca_projfinproperties.s_comm_cst_currency s_comm_cst_currency,
odf_ca_projfinproperties.i_hw_sw_cos_currency i_hw_sw_cos_currency,
odf_ca_projfinproperties.p_budget_currency p_budget_currency,
(SELECT ix.NAME FROM INV_INVESTMENTS ix WHERE ix.ID = INV_INVESTMENTS.IDEA_ID) idea_name,
NVL((SELECT count(ID) FROM cmn_lookups_v WHERE parent_lookup_code = INV_INVESTMENTS.process_code AND language_code = 'en' AND IS_ACTIVE = 1 AND SORT_ORDER <= (select sort_order from cmn_lookups_v WHERE lookup_code = INV_INVESTMENTS.stage_code AND lookup_type='INV_STAGE_TYPE' AND language_code = 'en')),0) stage_number,
odf_ca_inv.btm_integration btm_integration,
odf_ca_project.kpi_3_last_int_date kpi_3_last_int_date,
odf_ca_inv.odf_asr_reports odf_asr_reports,
inv_investments.STATUS status,
odf_ca_project.eri_doc_fin_report eri_doc_fin_report,
odf_ca_project.eri_sol_cm eri_sol_cm,
fin_financials.FORECAST_CST_FINISH forecast_cst_finish,
odf_ca_projfinproperties.p_cos_currency p_cos_currency, odf_ca_projfinproperties.p_ordbk_ytd_currency p_ordbk_ytd_currency,
inv_projects.RCF_INTERDEPENDENCY rcf_interdependency,
odf_ca_project.eri_proj_number eri_proj_number_v,
odf_ca_project.eri_mod_by eri_mod_by,
odf_ca_projfinproperties.i_hw_sw_cos i_hw_sw_cos,
pac_mnt_projects.AFFILIATEPROJECT affiliate_project,
inv_projects.prSponsoredBy prsponsoredby,
odf_ca_projfinproperties.p_plan_cst_currency p_plan_cst_currency,
odf_ca_project.cbl_serv_um cbl_serv_um,
inv_investments.ALIGNMENT alignment,
odf_ca_projfinproperties.um_pct_mtd um_pct_mtd,
odf_ca_project.null_currency null_currency,
odf_ca_projfinproperties.eri_sv_rtb eri_sv_rtb,
odf_ca_project.eri_cpl_report eri_cpl_report,
odf_ca_project.erc_apl_sap_create erc_apl_sap_create,
odf_ca_project.eri_plan_accuracy eri_plan_accuracy,
odf_ca_projfinproperties.p_ns_cs p_ns_cs,
(CASE WHEN ((((odf_ca_projfinproperties.ass_rev*1)+(odf_ca_projfinproperties.fas_rev_sv*1))-(odf_ca_projfinproperties.ass_nc_bud*1))-(odf_ca_projfinproperties.fas_cos_sv*1))=0 THEN NULL ELSE (((((odf_ca_projfinproperties.eac_rev*1)+(odf_ca_projfinproperties.eac_rev_sv*1))-(odf_ca_projfinproperties.eac_bud*1))-(odf_ca_projfinproperties.eac_cos_sv*1))-((((odf_ca_projfinproperties.ass_rev*1)+(odf_ca_projfinproperties.fas_rev_sv*1))-(odf_ca_projfinproperties.ass_nc_bud*1))-(odf_ca_projfinproperties.fas_cos_sv*1)))*100/((((odf_ca_projfinproperties.ass_rev*1)+(odf_ca_projfinproperties.fas_rev_sv*1))-(odf_ca_projfinproperties.ass_nc_bud*1))-(odf_ca_projfinproperties.fas_cos_sv*1)) END*LEAST(nvl((1.0*1),coalesce((1.0*1),ABS(((odf_ca_projfinproperties.ass_rev*1)+(odf_ca_projfinproperties.fas_rev_sv*1))),ABS(((odf_ca_projfinproperties.ass_nc_bud*1)+(odf_ca_projfinproperties.fas_cos_sv*1))),ABS(((odf_ca_projfinproperties.eac_rev*1)+(odf_ca_projfinproperties.eac_rev_sv*1))),ABS(((odf_ca_projfinproperties.eac_bud*1)+(odf_ca_projfinproperties.eac_cos_sv*1))),ABS(((((odf_ca_projfinproperties.ass_rev*1)+(odf_ca_projfinproperties.fas_rev_sv*1))-(odf_ca_projfinproperties.ass_nc_bud*1))-(odf_ca_projfinproperties.fas_cos_sv*1))))),nvl(ABS(((odf_ca_projfinproperties.ass_rev*1)+(odf_ca_projfinproperties.fas_rev_sv*1))),coalesce((1.0*1),ABS(((odf_ca_projfinproperties.ass_rev*1)+(odf_ca_projfinproperties.fas_rev_sv*1))),ABS(((odf_ca_projfinproperties.ass_nc_bud*1)+(odf_ca_projfinproperties.fas_cos_sv*1))),ABS(((odf_ca_projfinproperties.eac_rev*1)+(odf_ca_projfinproperties.eac_rev_sv*1))),ABS(((odf_ca_projfinproperties.eac_bud*1)+(odf_ca_projfinproperties.eac_cos_sv*1))),ABS(((((odf_ca_projfinproperties.ass_rev*1)+(odf_ca_projfinproperties.fas_rev_sv*1))-(odf_ca_projfinproperties.ass_nc_bud*1))-(odf_ca_projfinproperties.fas_cos_sv*1))))),nvl(ABS(((odf_ca_projfinproperties.ass_nc_bud*1)+(odf_ca_projfinproperties.fas_cos_sv*1))),coalesce((1.0*1),ABS(((odf_ca_projfinproperties.ass_rev*1)+(odf_ca_projfinproperties.fas_rev_sv*1))),ABS(((odf_ca_projfinproperties.ass_nc_bud*1)+(odf_ca_projfinproperties.fas_cos_sv*1))),ABS(((odf_ca_projfinproperties.eac_rev*1)+(odf_ca_projfinproperties.eac_rev_sv*1))),ABS(((odf_ca_projfinproperties.eac_bud*1)+(odf_ca_projfinproperties.eac_cos_sv*1))),ABS(((((odf_ca_projfinproperties.ass_rev*1)+(odf_ca_projfinproperties.fas_rev_sv*1))-(odf_ca_projfinproperties.ass_nc_bud*1))-(odf_ca_projfinproperties.fas_cos_sv*1))))),nvl(ABS(((odf_ca_projfinproperties.eac_rev*1)+(odf_ca_projfinproperties.eac_rev_sv*1))),coalesce((1.0*1),ABS(((odf_ca_projfinproperties.ass_rev*1)+(odf_ca_projfinproperties.fas_rev_sv*1))),ABS(((odf_ca_projfinproperties.ass_nc_bud*1)+(odf_ca_projfinproperties.fas_cos_sv*1))),ABS(((odf_ca_projfinproperties.eac_rev*1)+(odf_ca_projfinproperties.eac_rev_sv*1))),ABS(((odf_ca_projfinproperties.eac_bud*1)+(odf_ca_projfinproperties.eac_cos_sv*1))),ABS(((((odf_ca_projfinproperties.ass_rev*1)+(odf_ca_projfinproperties.fas_rev_sv*1))-(odf_ca_projfinproperties.ass_nc_bud*1))-(odf_ca_projfinproperties.fas_cos_sv*1))))),nvl(ABS(((odf_ca_projfinproperties.eac_bud*1)+(odf_ca_projfinproperties.eac_cos_sv*1))),coalesce((1.0*1),ABS(((odf_ca_projfinproperties.ass_rev*1)+(odf_ca_projfinproperties.fas_rev_sv*1))),ABS(((odf_ca_projfinproperties.ass_nc_bud*1)+(odf_ca_projfinproperties.fas_cos_sv*1))),ABS(((odf_ca_projfinproperties.eac_rev*1)+(odf_ca_projfinproperties.eac_rev_sv*1))),ABS(((odf_ca_projfinproperties.eac_bud*1)+(odf_ca_projfinproperties.eac_cos_sv*1))),ABS(((((odf_ca_projfinproperties.ass_rev*1)+(odf_ca_projfinproperties.fas_rev_sv*1))-(odf_ca_projfinproperties.ass_nc_bud*1))-(odf_ca_projfinproperties.fas_cos_sv*1))))),nvl(ABS(((((odf_ca_projfinproperties.ass_rev*1)+(odf_ca_projfinproperties.fas_rev_sv*1))-(odf_ca_projfinproperties.ass_nc_bud*1))-(odf_ca_projfinproperties.fas_cos_sv*1))),coalesce((1.0*1),ABS(((odf_ca_projfinproperties.ass_rev*1)+(odf_ca_projfinproperties.fas_rev_sv*1))),ABS(((odf_ca_projfinproperties.ass_nc_bud*1)+(odf_ca_projfinproperties.fas_cos_sv*1))),ABS(((odf_ca_projfinproperties.eac_rev*1)+(odf_ca_projfinproperties.eac_rev_sv*1))),ABS(((odf_ca_projfinproperties.eac_bud*1)+(odf_ca_projfinproperties.eac_cos_sv*1))),ABS(((((odf_ca_projfinproperties.ass_rev*1)+(odf_ca_projfinproperties.fas_rev_sv*1))-(odf_ca_projfinproperties.ass_nc_bud*1))-(odf_ca_projfinproperties.fas_cos_sv*1))))))) um_imp_pct,
odf_ca_projfinproperties.p_ns_hw_currency p_ns_hw_currency,
odf_ca_projfinproperties.c_ordbkd_cs c_ordbkd_cs,
inv_investments.labor_eac_curve labor_eac,
odf_ca_projfinproperties.p_cos_hw p_cos_hw,
odf_ca_project.kpi_3_prj_fin_date kpi_3_prj_fin_date,
odf_ca_project.eri_pmo_manager eri_pmo_manager,
UPDATED.FULL_NAME updated_by,
inv_investments.cbk_type cbk_type,
odf_ca_projfinproperties.cp_serv cp_serv,
inv_projects.RCF_OBJECTIVES rcf_objectives,
odf_ca_projfinproperties.p_ns_mtd_currency p_ns_mtd_currency,
odf_ca_project.kpi_2_revise_pln_cst kpi_2_revise_pln_cst,
odf_ca_project.eri_category_approv eri_category_approv,
odf_ca_projfinproperties.c_ruc c_ruc,
odf_ca_projfinproperties.c_cos_hw_currency c_cos_hw_currency,
odf_ca_projfinproperties.c_um_cs_ytd_currency c_um_cs_ytd_currency,
fin_financials.PLANNED_ROI planned_roi,
odf_ca_projfinproperties.cp_rev cp_rev,
inv_investments.labor_etc_curve labor_etc,
odf_ca_projfinproperties.eac_bud eac_bud,
( select poa.unit_id from prj_obs_associations poa, prj_obs_units pou, prj_obs_types pot, prj_obs_object_types poot where NLS_UPPER(poa.table_name) = NLS_UPPER('SRM_PROJECTS') and poa.record_id = INV_INVESTMENTS.ID and poa.unit_id = pou.id and pou.type_id = pot.id and pot.id = poot.type_id and NLS_UPPER(poa.table_name) = NLS_UPPER(poot.table_name) and poot.assoc_att_code = 'odf_egct_n666657121' ) odf_egct_n666657121,
odf_ca_projfinproperties.p_ns_sw_currency p_ns_sw_currency,
odf_ca_project.eri_cust_sponsor eri_cust_sponsor,
odf_ca_project.eric_doc_handover eric_doc_handover,
odf_ca_projfinproperties.c_rr_bgt_currency c_rr_bgt_currency,
fin_financials.BUDGET_IRR budget_irr,
inv_investments.STAGE_CODE stage_code,
odf_ca_project.eri_strategic eri_strategic,
odf_ca_project.kpi_3_noplan_findate kpi_3_noplan_findate,
odf_ca_projfinproperties.c_rr_bgt c_rr_bgt
from inv_investments inv_investments
LEFT OUTER JOIN prj_ev_history EVREC ON EVREC.OBJECT_ID = INV_INVESTMENTS.ID AND EVREC.OBJECT_TYPE='PROJECT' AND EVREC.PERIOD_NUMBER=0
LEFT OUTER JOIN prj_baseline_details BASEREC ON BASEREC.BASELINE_ID = INV_INVESTMENTS.BASELINE_ID AND BASEREC.OBJECT_TYPE='PROJECT',
inv_projects inv_projects,
srm_resources CREATED,
srm_resources UPDATED,
odf_ca_inv odf_ca_inv,
fin_financials fin_financials,
odf_object_instance_mapping oim7,
odf_ca_financials odf_ca_financials,
pac_mnt_projects pac_mnt_projects,
odf_ca_projfinproperties odf_ca_projfinproperties,
odf_ca_project odf_ca_project
where 1 = 1
and inv_investments.id = inv_projects.prid
and inv_investments.created_by = CREATED.user_id
and inv_investments.last_updated_by = UPDATED.user_id
and inv_investments.id = odf_ca_inv.id
and inv_investments.id = oim7.primary_object_instance_id
and oim7.primary_object_instance_code = 'project'
and fin_financials.id = oim7.secondary_object_instance_id
and oim7.secondary_object_instance_code = 'financials'
and FIN_FINANCIALS.id = odf_ca_financials.id
and inv_investments.id = pac_mnt_projects.id
and inv_investments.id = odf_ca_projfinproperties.id
and inv_investments.id = odf_ca_project.id
and odf_ca_inv.odf_object_code = 'project';
---------------------------------------------------------------------------------------------------------------------------------
[EDITED by LF: applied [spoiler] tags]
[Updated on: Thu, 06 August 2015 03:25] by Moderator Report message to a moderator
|
|
|
Re: Help to tune the query [message #640675 is a reply to message #640672] |
Mon, 03 August 2015 07:34 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
John Watson
Messages: 8964 Registered: January 2010 Location: Global Village
|
Senior Member |
|
|
Your DBA has made one obvious mistake: he has set parallel_degree_policy=AUTO (or perhaps LIMITED) but has not run the
dbms_resource_manager.calibrate_io procedure. A mistake like that makes one wonder if there are oter admin errors.
You will have noticed the cardinality mis-estimate on step 84 of the plan. Has he created a histogram on "SAPFD"."ODF_PARENT_ID" ?
The code itself is weird. Why use a mixture of ASI join syntax (good) and the old Oracle join syntax (bad)?
Are you sure you need those outer joins? Would you actually lose any rows if they were inner joins?
Are you sure you need that DISTINT? Are you actually getting duplicates, if you remove the outer join?
Why have you given the source code for your Z_ODF_PROJECT_V2 view?
[Updated on: Mon, 03 August 2015 07:36] Report message to a moderator
|
|
|
Re: Help to tune the query [message #640692 is a reply to message #640675] |
Mon, 03 August 2015 22:41 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
![](/forum/images/custom_avatars/56289.jpg) |
Kevin Meade
Messages: 2103 Registered: December 1999 Location: Connecticut USA
|
Senior Member |
|
|
As John demonstrates, there is a lot to take in here. I for one missed the part about calibrate_io; good catch.
Looking at the cardinalities in the plan, you have provided both estimated and actuals which is excellent for us to review. The cardinalities clearly suggest that statistics are way off. I suggest you try the following to learn more.
1. use some cardinality hints to force correct estimates into the optimization process. Then see if the plan that falls out looks different. You might even try to run it to see what timing it provides.
2. if you get an acceptable plan, then try collecting statistics again to see if bringing them current fixes the issue so that you do not need the cardinality hints.
3. if necessary try collecting histograms where estimates are still off.
4. then if needed, try dynamic_sampling(4) hint to see if dependence is an issue.
If would seem like you are a beginner at tuning. Is this true. That is OK if you are. Nothing wrong about it. We all started that way. I only ask so we can provide information at a good rate for you to absorb as we go. For example, we need to know if:
1. you understand the difference between estimated and actuals in cardinality
2. you know what dynamic sampling is and what dynamic_sampling(4) will do
3. you know what dependence is
4. you know what histograms are and in what situations they can help and when they cannot
Kevin
[Updated on: Mon, 03 August 2015 22:42] Report message to a moderator
|
|
|
Re: Help to tune the query [message #640704 is a reply to message #640692] |
Tue, 04 August 2015 04:50 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
grpatwari
Messages: 288 Registered: June 2008 Location: Hyderabad
|
Senior Member |
|
|
Thank you for your valuable explanation.
I have observed in my database with the following points. Please advice on this.
1. parallel_degree_policy parameter set as Auto but select * from V$IO_CALIBRATION_STATUS as 'NOT AVAILABLE'
2. SAPFD.ODF_PARENT_ID column have HEIGHT BALANCED histogram
3. Exactly no idea about why they have used a mixture of ANSI join syntax with old Oracle join syntax but they have used to get their requirement
4. Exactly not required the outer joins if we get the output with inner joins
4. Getting duplicalte if not used the Distinct keyword
5. There is no mandatory to keep the Z_ODF_PROJECT_V2 view.I tried without View but one of the column value is wrong and also there is no much improvement in response time
As per my understanding, I am providing the following points
1. The E-Rows (estimated rows) column shows that the optimizer thought it would get x no. of rows. The A-Rows (actual rows) column shows that it got only Y no.of rows
2. Dynamic sampling takes place only at hard parse time and is used to dynamically generate better statistics for the optimizer to use, hence the name dynamic sampling.Dynamic sampling contains total Level 0 to 10. Checked with dynamic sampling hint with level 4 but there is no change in the plan
3. Exactly no idea about Dependency
4. A histogram is a special type of column statistic that provides more detailed information about the data distribution in a table column. Histograms are used for columns that contain data skew (a nonuniform distribution of data within the column), a histogram enables the optimizer to generate accurate cardinality estimates for filter and join predicates that involve these columns
|
|
|
Re: Help to tune the query [message #640716 is a reply to message #640704] |
Tue, 04 August 2015 07:26 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
![](/forum/images/custom_avatars/56289.jpg) |
Kevin Meade
Messages: 2103 Registered: December 1999 Location: Connecticut USA
|
Senior Member |
|
|
Thank you for taking the time to answer those questions. That gives us an indication of your experience level.
The first thing you need to do is get a baseline of the query cost. You can do this by running the following create table command.
create table KEVTEMP_BASLINE
nologging
as
SELECT DISTINCT INV.name,
INV.id,
INV.manager_id AS MANAGER_ID,
ODF_PR.eri_cfr AS CFR,
(SELECT Nvl(SUM(bms_past_due), 0)
FROM odf_ca_sap_bi BILL
inner join odf_ca_sap_fd sapfd
ON BILL.odf_parent_id = sapfd.id
join inv_investments A
ON A.id = sapfd.odf_parent_id
join odf_ca_project B
ON A.id = B.id
WHERE B.eri_proj_number = ODF_PR.eri_proj_number
AND A.is_active = 1) AS BP_KPI,
ODF_PR.eri_proj_number,
REPORT.egct_st_stat_new,
ODF_PR.p_ass_cst APL_ASSIGN_COST,
ODF_PR.p_budget APL_BUDGET,
ODF_PR.p_ordbkd APL_ORDERS_BKD,
ODF_PR.um_pct APL_UGM_PCT,
Round(ODF_PR.ass_prj_nc_um_pct, 2) ERI_CALC_TPR_UM_PCT,
-- DECODE(sapfd.kpi_epcq,'G',0,NULL,NULL,1) KPI_1_STATUSKEYCOLOR,
(SELECT Max(CASE
WHEN sapfd.kpi_epcq IS NULL THEN 0
WHEN sapfd.kpi_epcq = 'G' THEN 1
ELSE 2
END)
FROM odf_ca_sap_fd sapfd
inner join odf_ca_project A
ON sapfd.odf_parent_id = a.id
join inv_investments B
ON A.id = B.id
WHERE A.eri_proj_number = ODF_PR.eri_proj_number
--AND A.ERI_PRJ_LEVEL != '1'
AND sapfd.ra_key != 'ZPS006'
AND sapfd.wbs_status = 'REL'
AND B.is_active = 1) WBS_KPI,
Decode(ODF_PR.kpi_3_statuskeycolor, 'G', 1,
'R', 2,
'Y', 2,
'W', 1,
0) KPI_3_STATUSKEYCOLOR,
ODF_PR.eri_proj_number,
ODF_PR.p_currency_code EGCT_PROJ_CURRENCY,
(SELECT full_name
FROM srm_resources
WHERE user_id = INV.manager_id) FULL_NAME,
CASE
WHEN INV.stage_code IN ( 'PROPS_C_TG1_APRVD', 'PROPS_C_TG1_OPT_OUT' ) THEN 'TG1'
WHEN INV.stage_code = 'PROPS_C_TG2_APRVD' THEN 'TG2'
WHEN INV.stage_code = 'PROPS_C_TG3_APRVD' THEN 'TG3'
WHEN INV.stage_code = 'PROPS_C_TG4_APRVD' THEN 'TG4'
WHEN INV.stage_code = 'PROPS_C_TG5_APRVD' THEN 'TG5'
WHEN INV.stage_code = 'PROPS_C_MS6_APRVD' THEN 'MS6'
ELSE ''
END LATEST_APPROVED_TOLLGATE,
(SELECT Max(Decode(priority_code, 'LOW', 1,
'MEDIUM', 2,
'HIGH', 3,
0))
FROM rim_risks_and_issues
WHERE table_name = 'SRM_PROJECTS'
AND type_code = 'ISSUE'
AND status_code != 'CLOSED'
AND pk_id = INV.id) AS MAX_ISSUE,
(SELECT Max(probability_enum * impact_enum)
FROM rim_risks_and_issues
WHERE table_name = 'SRM_PROJECTS'
AND type_code = 'RISK'
AND status_code != 'CLOSED'
AND pk_id = INV.id) AS MAX_RISK
FROM odf_project_v2 ODF_PR
join inv_investments INV
ON INV.id = ODF_PR.odf_pk
inner join odf_ca_sap_fd sapfd
ON sapfd.odf_parent_id = inv.id
left outer join (SELECT REP.odf_parent_id PROJECTID,
REP.egct_st_stat_new
FROM odf_ca_project ODF
join odf_ca_catsprjstatusrep REP
ON ODF.id = REP.odf_parent_id
join (SELECT ST2.odf_parent_id,
Max(ST2.id) ST_ID
FROM (SELECT Max(report_date) AS rep_date,
odf_parent_id
FROM odf_ca_catsprjstatusrep rep,
inv_investments proj
WHERE rep.odf_parent_id = proj.id
AND rep.created_by = proj.manager_id
GROUP BY odf_parent_id) st1,
odf_ca_catsprjstatusrep st2,
inv_investments inv
WHERE st1.rep_date = st2.report_date
AND st1.odf_parent_id = st2.odf_parent_id
AND st2.odf_parent_id = inv.id
AND st2.created_by = inv.manager_id
GROUP BY st2.odf_parent_id) MAXREP
ON MAXREP.st_id = REP.id
AND MAXREP.odf_parent_id = REP.odf_parent_id
WHERE ODF.id IN &project_id) REPORT
ON REPORT.projectid = INV.id
WHERE INV.is_active = 1
AND inv.id IN &project_id
/
By creating this table, you materialize the entire result set, but you do not push it across the network to the client. This tells you if the problem is really in your query, or if it is somewhere else in the network or client side of things. You need to do this or else you could easily end up wasting your time in the wrong place. Assuming this create table command stills takes long time to complete, and thus you have shown that the query itself is the problem, your next step is to simplify the query to make it easier to work with.
Do you know what QUERY DECOMPOSITION AND RECONSTRUCTION is?
It is the process of removing parts of the query to make a simpler form of it so that you can isolate the location of the query's performance problem faster and with less effort. Notice what I have done with the query here.
create table KEVTEMP_SIMPLIFIED_1
nologging
as
SELECT DISTINCT INV.name,
INV.id,
INV.manager_id AS MANAGER_ID,
ODF_PR.eri_cfr AS CFR,
/*
(SELECT Nvl(SUM(bms_past_due), 0)
FROM odf_ca_sap_bi BILL
inner join odf_ca_sap_fd sapfd
ON BILL.odf_parent_id = sapfd.id
join inv_investments A
ON A.id = sapfd.odf_parent_id
join odf_ca_project B
ON A.id = B.id
WHERE B.eri_proj_number = ODF_PR.eri_proj_number
AND A.is_active = 1) AS BP_KPI,
*/
ODF_PR.eri_proj_number,
REPORT.egct_st_stat_new,
ODF_PR.p_ass_cst APL_ASSIGN_COST,
ODF_PR.p_budget APL_BUDGET,
ODF_PR.p_ordbkd APL_ORDERS_BKD,
ODF_PR.um_pct APL_UGM_PCT,
Round(ODF_PR.ass_prj_nc_um_pct, 2) ERI_CALC_TPR_UM_PCT,
-- DECODE(sapfd.kpi_epcq,'G',0,NULL,NULL,1) KPI_1_STATUSKEYCOLOR,
/*
(SELECT Max(CASE
WHEN sapfd.kpi_epcq IS NULL THEN 0
WHEN sapfd.kpi_epcq = 'G' THEN 1
ELSE 2
END)
FROM odf_ca_sap_fd sapfd
inner join odf_ca_project A
ON sapfd.odf_parent_id = a.id
join inv_investments B
ON A.id = B.id
WHERE A.eri_proj_number = ODF_PR.eri_proj_number
--AND A.ERI_PRJ_LEVEL != '1'
AND sapfd.ra_key != 'ZPS006'
AND sapfd.wbs_status = 'REL'
AND B.is_active = 1) WBS_KPI,
*/
Decode(ODF_PR.kpi_3_statuskeycolor, 'G', 1,
'R', 2,
'Y', 2,
'W', 1,
0) KPI_3_STATUSKEYCOLOR,
ODF_PR.eri_proj_number,
ODF_PR.p_currency_code EGCT_PROJ_CURRENCY,
/*
(SELECT full_name
FROM srm_resources
WHERE user_id = INV.manager_id) FULL_NAME,
CASE
WHEN INV.stage_code IN ( 'PROPS_C_TG1_APRVD', 'PROPS_C_TG1_OPT_OUT' ) THEN 'TG1'
WHEN INV.stage_code = 'PROPS_C_TG2_APRVD' THEN 'TG2'
WHEN INV.stage_code = 'PROPS_C_TG3_APRVD' THEN 'TG3'
WHEN INV.stage_code = 'PROPS_C_TG4_APRVD' THEN 'TG4'
WHEN INV.stage_code = 'PROPS_C_TG5_APRVD' THEN 'TG5'
WHEN INV.stage_code = 'PROPS_C_MS6_APRVD' THEN 'MS6'
ELSE ''
END LATEST_APPROVED_TOLLGATE,
*/
/*
(SELECT Max(Decode(priority_code, 'LOW', 1,
'MEDIUM', 2,
'HIGH', 3,
0))
FROM rim_risks_and_issues
WHERE table_name = 'SRM_PROJECTS'
AND type_code = 'ISSUE'
AND status_code != 'CLOSED'
AND pk_id = INV.id) AS MAX_ISSUE,
(SELECT Max(probability_enum * impact_enum)
FROM rim_risks_and_issues
WHERE table_name = 'SRM_PROJECTS'
AND type_code = 'RISK'
AND status_code != 'CLOSED'
AND pk_id = INV.id) AS MAX_RISK
*/
FROM odf_project_v2 ODF_PR
join inv_investments INV
ON INV.id = ODF_PR.odf_pk
inner join odf_ca_sap_fd sapfd
ON sapfd.odf_parent_id = inv.id
left outer join (SELECT REP.odf_parent_id PROJECTID,
REP.egct_st_stat_new
FROM odf_ca_project ODF
join odf_ca_catsprjstatusrep REP
ON ODF.id = REP.odf_parent_id
join (SELECT ST2.odf_parent_id,
Max(ST2.id) ST_ID
FROM (SELECT Max(report_date) AS rep_date,
odf_parent_id
FROM odf_ca_catsprjstatusrep rep,
inv_investments proj
WHERE rep.odf_parent_id = proj.id
AND rep.created_by = proj.manager_id
GROUP BY odf_parent_id) st1,
odf_ca_catsprjstatusrep st2,
inv_investments inv
WHERE st1.rep_date = st2.report_date
AND st1.odf_parent_id = st2.odf_parent_id
AND st2.odf_parent_id = inv.id
AND st2.created_by = inv.manager_id
GROUP BY st2.odf_parent_id) MAXREP
ON MAXREP.st_id = REP.id
AND MAXREP.odf_parent_id = REP.odf_parent_id
WHERE ODF.id IN &project_id) REPORT
ON REPORT.projectid = INV.id
WHERE INV.is_active = 1
AND inv.id IN &project_id
/
Notice please how I have removed the SCALAR SUBQUERIES from problem query. Executing this create table command will allow you to get a runtime that will tell you if your problem sits in one of the SCALAR SUBQUERIES, or if it sits in your main query. If it is in the scalars, then you can add them back one at a time to see which scalars add significantly to the runtime and thus need tuning. If it is in the main query, then you can continue to use this simplified version of the query which will make looking at query plans easier, and doing further testing faster.
So generate new estimates and actuals and a runtime, for this create table command. Once you do that and post the new QEP and runtime, we can talk about using CARDINALITY HINTS to check the validity of the query plan using corrected row counts. But first, do the two create table command above and post the new results.
You understand how this helps right?
Also, you have not told us how long the query takes to run. Is it 10 seconds, 10 minutes, or 10 hours? or what? Looking at the QEP, it says the query takes only .14 seconds. If this is so, then why do you consider that slow?
Kevin
[Updated on: Tue, 04 August 2015 07:34] Report message to a moderator
|
|
|
Re: Help to tune the query [message #640717 is a reply to message #640704] |
Tue, 04 August 2015 07:47 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
John Watson
Messages: 8964 Registered: January 2010 Location: Global Village
|
Senior Member |
|
|
To repeat: tell your DBA to calibrate the IO. If he doesn't know how, tell him that he should
not fiddle with things that he doesn't understand (and then get a new DBA).
Also, it looks to me as though he has set CURSOR_SHARING=FORCE. Can you run the query in
a session where you have it set to exact? It would be interesting to see if you get a different plan
when the literals are exposed to the CBO.
Finally, what release of Oracle are you using? You say only 11.2.0. If it is actually 11.2.0.4, you could
run the query with OPTIMIZER_DYNAMIC_SAMPLING=11.
|
|
|
Re: Help to tune the query [message #640777 is a reply to message #640717] |
Wed, 05 August 2015 01:15 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
grpatwari
Messages: 288 Registered: June 2008 Location: Hyderabad
|
Senior Member |
|
|
Sorry John...They are not running calibrate_io procedure.
I am using Oracle 11.2.0.3.0 version.
Created both the tables successfully without any intervention. Please find the below plans.
select * /*+GATHER_PLAN_STATISTICS*/ /*mainquery*/ from KEVTEMP_BASLINE
Plan hash value: 1289730321
-------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
-------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 6 |00:00:00.01 | 2 |
| 1 | TABLE ACCESS STORAGE FULL| KEVTEMP_BASLINE | 1 | 6 | 6 |00:00:00.01 | 2 |
-------------------------------------------------------------------------------------------------------
Note
-----
- automatic DOP: skipped because of IO calibrate statistics are missing
select * /*+GATHER_PLAN_STATISTICS*/ /*afterremovingsubquery*/ from
KEVTEMP_SIMPLIFIED_1
Plan hash value: 4169945393
------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 6 |00:00:00.01 | 2 |
| 1 | TABLE ACCESS STORAGE FULL| KEVTEMP_SIMPLIFIED_1 | 1 | 6 | 6 |00:00:00.01 | 2 |
------------------------------------------------------------------------------------------------------------
Note
-----
- automatic DOP: skipped because of IO calibrate statistics are missing
I have no idea about QUERY DECOMPOSITION AND RECONSTRUCTION. The query is taking .90 seconds to 1 min.
Please let me know I have missed anything.
|
|
|
Re: Help to tune the query [message #640819 is a reply to message #640777] |
Wed, 05 August 2015 08:25 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
![](/forum/images/custom_avatars/56289.jpg) |
Kevin Meade
Messages: 2103 Registered: December 1999 Location: Connecticut USA
|
Senior Member |
|
|
OK so this was my mistake. I was not clear enough about what I wanted. You will have to do the two create table commands and dump their QEP. We don't need to see "select from kevtemp...". We need to see the plan for the create table commands when they are executed.
create table KEVTEMP_BASLINE
nologging
as
SELECT /*+ gather_plan_statistics */ DISTINCT INV.name,
INV.id,
INV.manager_id AS MANAGER_ID,
ODF_PR.eri_cfr AS CFR,
dump the plan.
create table KEVTEMP_SIMPLIFIED_1
nologging
as
SELECT /*+ gather_plan_statistics */ DISTINCT INV.name,
INV.id,
INV.manager_id AS MANAGER_ID,
ODF_PR.eri_cfr AS CFR,
/*
(SELECT Nvl(SUM(bms_past_due), 0)
dump the plan.
See how we want the plan here? Please do this again and post the plans.
Kevin
|
|
|
Re: Help to tune the query [message #640862 is a reply to message #640819] |
Thu, 06 August 2015 03:21 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
grpatwari
Messages: 288 Registered: June 2008 Location: Hyderabad
|
Senior Member |
|
|
Thank you very much Kevin for your patience and support.
As suggested, I have taken the plan. Please find the plan as below
Click here
create table KEVTEMP_BASLINE
nologging
as
SELECT /*+ gather_plan_statistics */ DISTINCT INV.name,
INV.id,
INV.manager_id AS MANAGER_ID,
ODF_PR.eri_cfr AS CFR, ..................
select * from gv$sql where upper(sql_text) like '%KEVTEMP_BASLINE%'; --d30bcwudtu0sw
SELECT * FROM table(DBMS_XPLAN.DISPLAY_CURSOR(sql_id=>'d30bcwudtu0sw',FORMAT=>'ALLSTATS LAST'));
SQL_ID d30bcwudtu0sw, child number 0
-------------------------------------
create table KEVTEMP_BASLINE nologging as SELECT
/*+gather_plan_statistics*/ DISTINCT INV.name, INV.id,
INV.manager_id AS MANAGER_ID,
ODF_PR.eri_cfr AS CFR,
(SELECT Nvl(SUM(bms_past_due), 0) FROM
odf_ca_sap_bi BILL inner join odf_ca_sap_fd
sapfd ON BILL.odf_parent_id = sapfd.id
join inv_investments A
ON A.id = sapfd.odf_parent_id join
odf_ca_project B ON A.id = B.id
WHERE B.eri_proj_number = ODF_PR.eri_proj_number
AND A.is_active = 1) AS BP_KPI,
ODF_PR.eri_proj_number, REPORT.egct_st_stat_new,
ODF_PR.p_ass_cst APL_ASSIGN_COST,
ODF_PR.p_budget
Plan hash value: 1155600291
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | Writes | OMem | 1Mem | Used-Mem |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 0 | CREATE TABLE STATEMENT | | 1 | | 0 |00:00:00.20 | 41384 | 1 | | | |
| 1 | SORT AGGREGATE | | 6 | 1 | 6 |00:00:00.08 | 24191 | 0 | | | |
| 2 | NESTED LOOPS | | 6 | 970 | 136K|00:00:00.07 | 24191 | 0 | | | |
| 3 | NESTED LOOPS | | 6 | 197 | 10975 |00:00:00.02 | 5795 | 0 | | | |
| 4 | NESTED LOOPS | | 6 | 1 | 6 |00:00:00.01 | 22 | 0 | | | |
| 5 | TABLE ACCESS BY INDEX ROWID | ODF_CA_PROJECT | 6 | 1 | 6 |00:00:00.01 | 14 | 0 | | | |
|* 6 | INDEX RANGE SCAN | Z_ODF_CA_PROJECT_Z3 | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
|* 7 | INDEX RANGE SCAN | INV_INVESTMENTS_N4 | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
| 8 | TABLE ACCESS BY INDEX ROWID | ODF_CA_SAP_FD | 6 | 189 | 10975 |00:00:00.02 | 5773 | 0 | | | |
|* 9 | INDEX RANGE SCAN | IDX$$_1D1390003 | 6 | 189 | 10975 |00:00:00.01 | 45 | 0 | | | |
|* 10 | INDEX RANGE SCAN | ODF_CA_SAP_BI_D5 | 10975 | 5 | 136K|00:00:00.04 | 18396 | 0 | | | |
| 11 | SORT AGGREGATE | | 6 | 1 | 6 |00:00:00.03 | 16759 | 0 | | | |
| 12 | NESTED LOOPS | | 6 | | 6 |00:00:00.03 | 16759 | 0 | | | |
| 13 | NESTED LOOPS | | 6 | 2 | 10975 |00:00:00.01 | 67 | 0 | | | |
| 14 | NESTED LOOPS | | 6 | 1 | 6 |00:00:00.01 | 22 | 0 | | | |
| 15 | TABLE ACCESS BY INDEX ROWID | ODF_CA_PROJECT | 6 | 1 | 6 |00:00:00.01 | 14 | 0 | | | |
|* 16 | INDEX RANGE SCAN | Z_ODF_CA_PROJECT_Z3 | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
|* 17 | INDEX RANGE SCAN | INV_INVESTMENTS_N4 | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
|* 18 | INDEX RANGE SCAN | IDX$$_1D1390003 | 6 | 189 | 10975 |00:00:00.01 | 45 | 0 | | | |
|* 19 | TABLE ACCESS BY INDEX ROWID | ODF_CA_SAP_FD | 10975 | 2 | 6 |00:00:00.02 | 16692 | 0 | | | |
|* 20 | INDEX RANGE SCAN | SRM_RESOURCES_N1 | 6 | 1 | 6 |00:00:00.01 | 14 | 0 | | | |
| 21 | SORT AGGREGATE | | 6 | 1 | 6 |00:00:00.01 | 15 | 0 | | | |
|* 22 | TABLE ACCESS BY INDEX ROWID | RIM_RISKS_AND_ISSUES | 6 | 1 | 3 |00:00:00.01 | 15 | 0 | | | |
|* 23 | INDEX RANGE SCAN | IDX$$_1D1390005 | 6 | 1 | 7 |00:00:00.01 | 8 | 0 | | | |
| 24 | SORT AGGREGATE | | 6 | 1 | 6 |00:00:00.01 | 14 | 0 | | | |
|* 25 | TABLE ACCESS BY INDEX ROWID | RIM_RISKS_AND_ISSUES | 6 | 1 | 6 |00:00:00.01 | 14 | 0 | | | |
|* 26 | INDEX RANGE SCAN | RIM_RISKS_AND_ISSUES_N4 | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
| 27 | LOAD AS SELECT | | 1 | | 0 |00:00:00.20 | 41384 | 1 | 269K| 269K| 269K (0)|
| 28 | HASH UNIQUE | | 1 | 503 | 6 |00:00:00.14 | 41331 | 0 | 730K| 730K| 992K (0)|
| 29 | NESTED LOOPS | | 1 | 503 | 10975 |00:00:00.01 | 338 | 0 | | | |
| 30 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 275 | 0 | | | |
| 31 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 261 | 0 | | | |
| 32 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 247 | 0 | | | |
| 33 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 239 | 0 | | | |
| 34 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 231 | 0 | | | |
| 35 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 217 | 0 | | | |
| 36 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 203 | 0 | | | |
| 37 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 195 | 0 | | | |
| 38 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 187 | 0 | | | |
| 39 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 179 | 0 | | | |
| 40 | NESTED LOOPS OUTER | | 1 | 3 | 6 |00:00:00.01 | 171 | 0 | | | |
| 41 | NESTED LOOPS OUTER | | 1 | 3 | 6 |00:00:00.01 | 164 | 0 | | | |
| 42 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 156 | 0 | | | |
| 43 | NESTED LOOPS OUTER | | 1 | 3 | 6 |00:00:00.01 | 142 | 0 | | | |
| 44 | INLIST ITERATOR | | 1 | | 6 |00:00:00.01 | 14 | 0 | | | |
| 45 | TABLE ACCESS BY INDEX ROWID | INV_INVESTMENTS | 6 | 3 | 6 |00:00:00.01 | 14 | 0 | | | |
|* 46 | INDEX RANGE SCAN | INV_INVESTMENTS_N8 | 6 | 3 | 6 |00:00:00.01 | 8 | 0 | | | |
| 47 | VIEW PUSHED PREDICATE | | 6 | 1 | 6 |00:00:00.01 | 128 | 0 | | | |
|* 48 | FILTER | | 6 | | 6 |00:00:00.01 | 128 | 0 | | | |
| 49 | NESTED LOOPS | | 6 | | 6 |00:00:00.01 | 128 | 0 | | | |
| 50 | NESTED LOOPS | | 6 | 1 | 6 |00:00:00.01 | 122 | 0 | | | |
| 51 | NESTED LOOPS | | 6 | 1 | 6 |00:00:00.01 | 114 | 0 | | | |
|* 52 | INDEX UNIQUE SCAN | ODF_CA_PROJECT_PK | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
| 53 | VIEW | | 6 | 1 | 6 |00:00:00.01 | 106 | 0 | | | |
| 54 | SORT GROUP BY | | 6 | 1 | 6 |00:00:00.01 | 106 | 0 | 2048 | 2048 | 2048 (0)|
|* 55 | FILTER | | 6 | | 6 |00:00:00.01 | 106 | 0 | | | |
| 56 | NESTED LOOPS | | 6 | | 6 |00:00:00.01 | 106 | 0 | | | |
| 57 | NESTED LOOPS | | 6 | 1 | 38 |00:00:00.01 | 69 | 0 | | | |
| 58 | NESTED LOOPS | | 6 | 1 | 6 |00:00:00.01 | 61 | 0 | | | |
|* 59 | INDEX RANGE SCAN | INV_INVESTMENTS_U2 | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
| 60 | VIEW | | 6 | 1 | 6 |00:00:00.01 | 53 | 0 | | | |
| 61 | SORT GROUP BY | | 6 | 1 | 6 |00:00:00.01 | 53 | 0 | 2048 | 2048 | 2048 (0)|
|* 62 | FILTER | | 6 | | 38 |00:00:00.01 | 53 | 0 | | | |
| 63 | NESTED LOOPS | | 6 | | 38 |00:00:00.01 | 53 | 0 | | | |
| 64 | NESTED LOOPS | | 6 | 1 | 38 |00:00:00.01 | 16 | 0 | | | |
|* 65 | INDEX RANGE SCAN | INV_INVESTMENTS_U2 | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
|* 66 | INDEX RANGE SCAN | IDX$$_1D1390004 | 6 | 1 | 38 |00:00:00.01 | 8 | 0 | | | |
| 67 | TABLE ACCESS BY INDEX ROWID| ODF_CA_CATSPRJSTATUSREP | 38 | 1 | 38 |00:00:00.01 | 37 | 0 | | | |
|* 68 | INDEX RANGE SCAN | IDX$$_1D1390004 | 6 | 1 | 38 |00:00:00.01 | 8 | 0 | | | |
|* 69 | TABLE ACCESS BY INDEX ROWID | ODF_CA_CATSPRJSTATUSREP | 38 | 1 | 6 |00:00:00.01 | 37 | 0 | | | |
|* 70 | INDEX UNIQUE SCAN | ODF_CA_CATSPRJSTATUSREP_PK | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
|* 71 | TABLE ACCESS BY INDEX ROWID | ODF_CA_CATSPRJSTATUSREP | 6 | 1 | 6 |00:00:00.01 | 6 | 0 | | | |
| 72 | TABLE ACCESS BY INDEX ROWID | INV_INVESTMENTS | 6 | 1 | 6 |00:00:00.01 | 14 | 0 | | | |
|* 73 | INDEX UNIQUE SCAN | INV_INVESTMENTS_PK | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
|* 74 | INDEX RANGE SCAN | PRJ_EV_HISTORY_N1 | 6 | 1 | 1 |00:00:00.01 | 8 | 0 | | | |
|* 75 | INDEX RANGE SCAN | PRJ_BASELINE_DETAILS_N3 | 6 | 1 | 5 |00:00:00.01 | 7 | 0 | | | |
|* 76 | INDEX RANGE SCAN | ODF_OBJECT_INSTANCE_MAPPING_PK | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
|* 77 | INDEX UNIQUE SCAN | ODF_CA_INV_U1 | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
|* 78 | INDEX UNIQUE SCAN | INV_PROJECTS_U1 | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
|* 79 | INDEX UNIQUE SCAN | PAC_MNT_PROJECTS_PK | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
| 80 | TABLE ACCESS BY INDEX ROWID | ODF_CA_PROJFINPROPERTIES | 6 | 1 | 6 |00:00:00.01 | 14 | 0 | | | |
|* 81 | INDEX UNIQUE SCAN | ODF_CA_PROJFINPROPERTIES_PK | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
| 82 | TABLE ACCESS BY INDEX ROWID | ODF_CA_PROJECT | 6 | 1 | 6 |00:00:00.01 | 14 | 0 | | | |
|* 83 | INDEX UNIQUE SCAN | ODF_CA_PROJECT_PK | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
|* 84 | INDEX UNIQUE SCAN | FIN_FINANCIALS_PK | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
|* 85 | INDEX UNIQUE SCAN | ODF_CA_FINANCIALS_PK | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
|* 86 | INDEX RANGE SCAN | SRM_RESOURCES_N11 | 6 | 1 | 6 |00:00:00.01 | 14 | 0 | | | |
|* 87 | INDEX RANGE SCAN | SRM_RESOURCES_N11 | 6 | 1 | 6 |00:00:00.01 | 14 | 0 | | | |
|* 88 | INDEX RANGE SCAN | ODF_CA_SAP_FD_U1 | 6 | 189 | 10975 |00:00:00.01 | 63 | 0 | | | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
6 - access("B"."ERI_PROJ_NUMBER"=:B1)
7 - access("A"."ID"="B"."ID" AND "A"."IS_ACTIVE"=1)
9 - access("A"."ID"="SAPFD"."ODF_PARENT_ID")
10 - access("BILL"."ODF_PARENT_ID"="SAPFD"."ID")
16 - access("A"."ERI_PROJ_NUMBER"=:B1)
17 - access("A"."ID"="B"."ID" AND "B"."IS_ACTIVE"=1)
18 - access("SAPFD"."ODF_PARENT_ID"="A"."ID")
19 - filter(("SAPFD"."WBS_STATUS"='REL' AND "SAPFD"."RA_KEY"<>'ZPS006'))
20 - access("USER_ID"=:B1)
22 - filter(("STATUS_CODE"<>'CLOSED' AND "TABLE_NAME"='SRM_PROJECTS'))
23 - access("PK_ID"=:B1 AND "TYPE_CODE"='ISSUE')
25 - filter("TABLE_NAME"='SRM_PROJECTS')
26 - access("PK_ID"=:B1 AND "TYPE_CODE"='RISK')
filter("STATUS_CODE"<>'CLOSED')
46 - access("INV"."IS_ACTIVE"=1 AND (("INV"."ID"=5152092 OR "INV"."ID"=5429087 OR "INV"."ID"=5440010 OR "INV"."ID"=5446053 OR "INV"."ID"=5460011 OR "INV"."ID"=5680076)))
48 - filter((5152092="INV"."ID" OR 5429087="INV"."ID" OR 5440010="INV"."ID" OR 5446053="INV"."ID" OR 5460011="INV"."ID" OR 5680076="INV"."ID"))
52 - access("ODF"."ID"="INV"."ID")
filter(("ODF"."ID"=5152092 OR "ODF"."ID"=5429087 OR "ODF"."ID"=5440010 OR "ODF"."ID"=5446053 OR "ODF"."ID"=5460011 OR "ODF"."ID"=5680076))
55 - filter((5152092="INV"."ID" OR 5429087="INV"."ID" OR 5440010="INV"."ID" OR 5446053="INV"."ID" OR 5460011="INV"."ID" OR 5680076="INV"."ID"))
59 - access("INV"."ID"="INV"."ID")
filter(("INV"."ID"=5152092 OR "INV"."ID"=5429087 OR "INV"."ID"=5440010 OR "INV"."ID"=5446053 OR "INV"."ID"=5460011 OR "INV"."ID"=5680076))
62 - filter((5152092="INV"."ID" OR 5429087="INV"."ID" OR 5440010="INV"."ID" OR 5446053="INV"."ID" OR 5460011="INV"."ID" OR 5680076="INV"."ID"))
65 - access("PROJ"."ID"="INV"."ID")
filter(("PROJ"."ID"=5152092 OR "PROJ"."ID"=5429087 OR "PROJ"."ID"=5440010 OR "PROJ"."ID"=5446053 OR "PROJ"."ID"=5460011 OR "PROJ"."ID"=5680076))
66 - access("ODF_PARENT_ID"="INV"."ID" AND "REP"."CREATED_BY"="PROJ"."MANAGER_ID")
filter(("REP"."ODF_PARENT_ID"="PROJ"."ID" AND INTERNAL_FUNCTION("ODF_PARENT_ID")))
68 - access("ST2"."ODF_PARENT_ID"="INV"."ID" AND "ST2"."CREATED_BY"="INV"."MANAGER_ID")
filter(("ST1"."ODF_PARENT_ID"="ST2"."ODF_PARENT_ID" AND "ST2"."ODF_PARENT_ID"="INV"."ID" AND INTERNAL_FUNCTION("ST2"."ODF_PARENT_ID")))
69 - filter("ST1"."REP_DATE"="ST2"."REPORT_DATE")
70 - access("MAXREP"."ST_ID"="REP"."ID")
71 - filter(("REP"."ODF_PARENT_ID"="INV"."ID" AND "MAXREP"."ODF_PARENT_ID"="REP"."ODF_PARENT_ID" AND "ODF"."ID"="REP"."ODF_PARENT_ID" AND
INTERNAL_FUNCTION("REP"."ODF_PARENT_ID")))
73 - access("INV"."ID"="INV_INVESTMENTS"."ID")
filter(("INV_INVESTMENTS"."ID"=5152092 OR "INV_INVESTMENTS"."ID"=5429087 OR "INV_INVESTMENTS"."ID"=5440010 OR "INV_INVESTMENTS"."ID"=5446053 OR
"INV_INVESTMENTS"."ID"=5460011 OR "INV_INVESTMENTS"."ID"=5680076))
74 - access("EVREC"."OBJECT_ID"="INV_INVESTMENTS"."ID" AND "EVREC"."OBJECT_TYPE"='PROJECT' AND "EVREC"."PERIOD_NUMBER"=0)
filter(("EVREC"."OBJECT_ID"=5152092 OR "EVREC"."OBJECT_ID"=5429087 OR "EVREC"."OBJECT_ID"=5440010 OR "EVREC"."OBJECT_ID"=5446053 OR "EVREC"."OBJECT_ID"=5460011 OR
"EVREC"."OBJECT_ID"=5680076))
75 - access("BASEREC"."BASELINE_ID"="INV_INVESTMENTS"."BASELINE_ID" AND "BASEREC"."OBJECT_TYPE"='PROJECT')
76 - access("INV_INVESTMENTS"."ID"="OIM7"."PRIMARY_OBJECT_INSTANCE_ID" AND "OIM7"."PRIMARY_OBJECT_INSTANCE_CODE"='project' AND
"OIM7"."SECONDARY_OBJECT_INSTANCE_CODE"='financials')
filter(("OIM7"."SECONDARY_OBJECT_INSTANCE_CODE"='financials' AND INTERNAL_FUNCTION("OIM7"."PRIMARY_OBJECT_INSTANCE_ID")))
77 - access("INV_INVESTMENTS"."ID"="ODF_CA_INV"."ID" AND "ODF_CA_INV"."ODF_OBJECT_CODE"='project')
filter(("ODF_CA_INV"."ID"=5152092 OR "ODF_CA_INV"."ID"=5429087 OR "ODF_CA_INV"."ID"=5440010 OR "ODF_CA_INV"."ID"=5446053 OR "ODF_CA_INV"."ID"=5460011 OR
"ODF_CA_INV"."ID"=5680076))
78 - access("INV_INVESTMENTS"."ID"="INV_PROJECTS"."PRID")
filter(("INV_PROJECTS"."PRID"=5152092 OR "INV_PROJECTS"."PRID"=5429087 OR "INV_PROJECTS"."PRID"=5440010 OR "INV_PROJECTS"."PRID"=5446053 OR "INV_PROJECTS"."PRID"=5460011 OR
"INV_PROJECTS"."PRID"=5680076))
79 - access("INV_INVESTMENTS"."ID"="PAC_MNT_PROJECTS"."ID")
filter(("PAC_MNT_PROJECTS"."ID"=5152092 OR "PAC_MNT_PROJECTS"."ID"=5429087 OR "PAC_MNT_PROJECTS"."ID"=5440010 OR "PAC_MNT_PROJECTS"."ID"=5446053 OR
"PAC_MNT_PROJECTS"."ID"=5460011 OR "PAC_MNT_PROJECTS"."ID"=5680076))
81 - access("INV_INVESTMENTS"."ID"="ODF_CA_PROJFINPROPERTIES"."ID")
filter(("ODF_CA_PROJFINPROPERTIES"."ID"=5152092 OR "ODF_CA_PROJFINPROPERTIES"."ID"=5429087 OR "ODF_CA_PROJFINPROPERTIES"."ID"=5440010 OR
"ODF_CA_PROJFINPROPERTIES"."ID"=5446053 OR "ODF_CA_PROJFINPROPERTIES"."ID"=5460011 OR "ODF_CA_PROJFINPROPERTIES"."ID"=5680076))
83 - access("INV_INVESTMENTS"."ID"="ODF_CA_PROJECT"."ID")
filter(("ODF_CA_PROJECT"."ID"=5152092 OR "ODF_CA_PROJECT"."ID"=5429087 OR "ODF_CA_PROJECT"."ID"=5440010 OR "ODF_CA_PROJECT"."ID"=5446053 OR "ODF_CA_PROJECT"."ID"=5460011 OR
"ODF_CA_PROJECT"."ID"=5680076))
84 - access("FIN_FINANCIALS"."ID"="OIM7"."SECONDARY_OBJECT_INSTANCE_ID")
85 - access("FIN_FINANCIALS"."ID"="ODF_CA_FINANCIALS"."ID")
86 - access("INV_INVESTMENTS"."CREATED_BY"="CREATED"."USER_ID")
87 - access("INV_INVESTMENTS"."LAST_UPDATED_BY"="UPDATED"."USER_ID")
88 - access("SAPFD"."ODF_PARENT_ID"="INV"."ID")
filter(("SAPFD"."ODF_PARENT_ID"=5152092 OR "SAPFD"."ODF_PARENT_ID"=5429087 OR "SAPFD"."ODF_PARENT_ID"=5440010 OR "SAPFD"."ODF_PARENT_ID"=5446053 OR
"SAPFD"."ODF_PARENT_ID"=5460011 OR "SAPFD"."ODF_PARENT_ID"=5680076))
Note
-----
- automatic DOP: skipped because of IO calibrate statistics are missing
create table KEVTEMP_SIMPLIFIED_1
nologging
as
SELECT /*+ gather_plan_statistics */ DISTINCT INV.name,
INV.id,
INV.manager_id AS MANAGER_ID,
ODF_PR.eri_cfr AS CFR,
/*
(SELECT Nvl(SUM(bms_past_due), 0) */ .............
select * from gv$sql where upper(sql_text) like '%KEVTEMP_SIMPLIFIED_1%'; --38dbyzy106m1f
SELECT * FROM table(DBMS_XPLAN.DISPLAY_CURSOR(sql_id=>'38dbyzy106m1f',FORMAT=>'ALLSTATS LAST'));
SQL_ID 38dbyzy106m1f, child number 0
-------------------------------------
create table KEVTEMP_SIMPLIFIED_1 nologging as SELECT
/*+gather_plan_statistics*/ DISTINCT INV.name, INV.id,
INV.manager_id AS MANAGER_ID,
ODF_PR.eri_cfr AS CFR, /*
(SELECT Nvl(SUM(bms_past_due), 0) FROM
odf_ca_sap_bi BILL inner join odf_ca_sap_fd
sapfd ON BILL.odf_parent_id = sapfd.id
join inv_investments A
ON A.id = sapfd.odf_parent_id join
odf_ca_project B ON A.id = B.id
WHERE B.eri_proj_number = ODF_PR.eri_proj_number
AND A.is_active = 1) AS BP_KPI, */
ODF_PR.eri_proj_number, REPORT.egct_st_stat_new,
ODF_PR.p_ass_cst APL_ASSIGN_COST,
ODF_PR.p_budge
Plan hash value: 594662283
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | Writes | OMem | 1Mem | Used-Mem |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 0 | CREATE TABLE STATEMENT | | 1 | | 0 |00:00:00.05 | 376 | 1 | | | |
| 1 | LOAD AS SELECT | | 1 | | 0 |00:00:00.05 | 376 | 1 | 269K| 269K| 269K (0)|
| 2 | HASH UNIQUE | | 1 | 576 | 6 |00:00:00.03 | 324 | 0 | 745K| 745K| 825K (0)|
| 3 | NESTED LOOPS | | 1 | 576 | 10975 |00:00:00.01 | 324 | 0 | | | |
| 4 | NESTED LOOPS OUTER | | 1 | 3 | 6 |00:00:00.01 | 261 | 0 | | | |
| 5 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 253 | 0 | | | |
| 6 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 239 | 0 | | | |
| 7 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 225 | 0 | | | |
| 8 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 211 | 0 | | | |
| 9 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 197 | 0 | | | |
| 10 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 189 | 0 | | | |
| 11 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 181 | 0 | | | |
| 12 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 173 | 0 | | | |
| 13 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 165 | 0 | | | |
| 14 | NESTED LOOPS | | 1 | 3 | 6 |00:00:00.01 | 157 | 0 | | | |
| 15 | NESTED LOOPS OUTER | | 1 | 3 | 6 |00:00:00.01 | 149 | 0 | | | |
| 16 | NESTED LOOPS OUTER | | 1 | 3 | 6 |00:00:00.01 | 142 | 0 | | | |
| 17 | INLIST ITERATOR | | 1 | | 6 |00:00:00.01 | 14 | 0 | | | |
| 18 | TABLE ACCESS BY INDEX ROWID | INV_INVESTMENTS | 6 | 3 | 6 |00:00:00.01 | 14 | 0 | | | |
|* 19 | INDEX RANGE SCAN | INV_INVESTMENTS_N8 | 6 | 3 | 6 |00:00:00.01 | 8 | 0 | | | |
| 20 | VIEW PUSHED PREDICATE | | 6 | 1 | 6 |00:00:00.01 | 128 | 0 | | | |
|* 21 | FILTER | | 6 | | 6 |00:00:00.01 | 128 | 0 | | | |
| 22 | NESTED LOOPS | | 6 | | 6 |00:00:00.01 | 128 | 0 | | | |
| 23 | NESTED LOOPS | | 6 | 1 | 6 |00:00:00.01 | 122 | 0 | | | |
| 24 | NESTED LOOPS | | 6 | 1 | 6 |00:00:00.01 | 114 | 0 | | | |
|* 25 | INDEX UNIQUE SCAN | ODF_CA_PROJECT_PK | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
| 26 | VIEW | | 6 | 1 | 6 |00:00:00.01 | 106 | 0 | | | |
| 27 | SORT GROUP BY | | 6 | 1 | 6 |00:00:00.01 | 106 | 0 | 2048 | 2048 | 2048 (0)|
|* 28 | FILTER | | 6 | | 6 |00:00:00.01 | 106 | 0 | | | |
| 29 | NESTED LOOPS | | 6 | | 6 |00:00:00.01 | 106 | 0 | | | |
| 30 | NESTED LOOPS | | 6 | 1 | 38 |00:00:00.01 | 69 | 0 | | | |
| 31 | NESTED LOOPS | | 6 | 1 | 6 |00:00:00.01 | 61 | 0 | | | |
|* 32 | INDEX RANGE SCAN | INV_INVESTMENTS_U2 | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
| 33 | VIEW | | 6 | 1 | 6 |00:00:00.01 | 53 | 0 | | | |
| 34 | SORT GROUP BY | | 6 | 1 | 6 |00:00:00.01 | 53 | 0 | 2048 | 2048 | 2048 (0)|
|* 35 | FILTER | | 6 | | 38 |00:00:00.01 | 53 | 0 | | | |
| 36 | NESTED LOOPS | | 6 | | 38 |00:00:00.01 | 53 | 0 | | | |
| 37 | NESTED LOOPS | | 6 | 1 | 38 |00:00:00.01 | 16 | 0 | | | |
|* 38 | INDEX RANGE SCAN | INV_INVESTMENTS_U2 | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
|* 39 | INDEX RANGE SCAN | IDX$$_1D1390004 | 6 | 1 | 38 |00:00:00.01 | 8 | 0 | | | |
| 40 | TABLE ACCESS BY INDEX ROWID| ODF_CA_CATSPRJSTATUSREP | 38 | 1 | 38 |00:00:00.01 | 37 | 0 | | | |
|* 41 | INDEX RANGE SCAN | IDX$$_1D1390004 | 6 | 1 | 38 |00:00:00.01 | 8 | 0 | | | |
|* 42 | TABLE ACCESS BY INDEX ROWID | ODF_CA_CATSPRJSTATUSREP | 38 | 1 | 6 |00:00:00.01 | 37 | 0 | | | |
|* 43 | INDEX UNIQUE SCAN | ODF_CA_CATSPRJSTATUSREP_PK | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
|* 44 | TABLE ACCESS BY INDEX ROWID | ODF_CA_CATSPRJSTATUSREP | 6 | 1 | 6 |00:00:00.01 | 6 | 0 | | | |
|* 45 | INDEX RANGE SCAN | PRJ_BASELINE_DETAILS_N3 | 6 | 1 | 5 |00:00:00.01 | 7 | 0 | | | |
|* 46 | INDEX RANGE SCAN | ODF_OBJECT_INSTANCE_MAPPING_PK | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
|* 47 | INDEX UNIQUE SCAN | ODF_CA_INV_U1 | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
|* 48 | INDEX UNIQUE SCAN | FIN_FINANCIALS_PK | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
|* 49 | INDEX UNIQUE SCAN | ODF_CA_FINANCIALS_PK | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
|* 50 | INDEX UNIQUE SCAN | INV_PROJECTS_U1 | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
|* 51 | INDEX UNIQUE SCAN | PAC_MNT_PROJECTS_PK | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
| 52 | TABLE ACCESS BY INDEX ROWID | ODF_CA_PROJFINPROPERTIES | 6 | 1 | 6 |00:00:00.01 | 14 | 0 | | | |
|* 53 | INDEX UNIQUE SCAN | ODF_CA_PROJFINPROPERTIES_PK | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
| 54 | TABLE ACCESS BY INDEX ROWID | ODF_CA_PROJECT | 6 | 1 | 6 |00:00:00.01 | 14 | 0 | | | |
|* 55 | INDEX UNIQUE SCAN | ODF_CA_PROJECT_PK | 6 | 1 | 6 |00:00:00.01 | 8 | 0 | | | |
|* 56 | INDEX RANGE SCAN | SRM_RESOURCES_N11 | 6 | 1 | 6 |00:00:00.01 | 14 | 0 | | | |
|* 57 | INDEX RANGE SCAN | SRM_RESOURCES_N11 | 6 | 1 | 6 |00:00:00.01 | 14 | 0 | | | |
|* 58 | INDEX RANGE SCAN | PRJ_EV_HISTORY_N1 | 6 | 1 | 1 |00:00:00.01 | 8 | 0 | | | |
|* 59 | INDEX RANGE SCAN | ODF_CA_SAP_FD_U1 | 6 | 189 | 10975 |00:00:00.01 | 63 | 0 | | | |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
19 - access("IS_ACTIVE"=1 AND (("INV_INVESTMENTS"."ID"=5152092 OR "INV_INVESTMENTS"."ID"=5429087 OR "INV_INVESTMENTS"."ID"=5440010 OR "INV_INVESTMENTS"."ID"=5446053 OR
"INV_INVESTMENTS"."ID"=5460011 OR "INV_INVESTMENTS"."ID"=5680076)))
21 - filter((5152092="INV_INVESTMENTS"."ID" OR 5429087="INV_INVESTMENTS"."ID" OR 5440010="INV_INVESTMENTS"."ID" OR 5446053="INV_INVESTMENTS"."ID" OR
5460011="INV_INVESTMENTS"."ID" OR 5680076="INV_INVESTMENTS"."ID"))
25 - access("ODF"."ID"="INV_INVESTMENTS"."ID")
filter(("ODF"."ID"=5152092 OR "ODF"."ID"=5429087 OR "ODF"."ID"=5440010 OR "ODF"."ID"=5446053 OR "ODF"."ID"=5460011 OR "ODF"."ID"=5680076))
28 - filter((5152092="INV_INVESTMENTS"."ID" OR 5429087="INV_INVESTMENTS"."ID" OR 5440010="INV_INVESTMENTS"."ID" OR 5446053="INV_INVESTMENTS"."ID" OR
5460011="INV_INVESTMENTS"."ID" OR 5680076="INV_INVESTMENTS"."ID"))
32 - access("INV"."ID"="INV_INVESTMENTS"."ID")
filter(("INV"."ID"=5152092 OR "INV"."ID"=5429087 OR "INV"."ID"=5440010 OR "INV"."ID"=5446053 OR "INV"."ID"=5460011 OR "INV"."ID"=5680076))
35 - filter((5152092="INV_INVESTMENTS"."ID" OR 5429087="INV_INVESTMENTS"."ID" OR 5440010="INV_INVESTMENTS"."ID" OR 5446053="INV_INVESTMENTS"."ID" OR
5460011="INV_INVESTMENTS"."ID" OR 5680076="INV_INVESTMENTS"."ID"))
38 - access("PROJ"."ID"="INV_INVESTMENTS"."ID")
filter(("PROJ"."ID"=5152092 OR "PROJ"."ID"=5429087 OR "PROJ"."ID"=5440010 OR "PROJ"."ID"=5446053 OR "PROJ"."ID"=5460011 OR "PROJ"."ID"=5680076))
39 - access("ODF_PARENT_ID"="INV_INVESTMENTS"."ID" AND "REP"."CREATED_BY"="PROJ"."MANAGER_ID")
filter(("REP"."ODF_PARENT_ID"="PROJ"."ID" AND INTERNAL_FUNCTION("ODF_PARENT_ID")))
41 - access("ST2"."ODF_PARENT_ID"="INV_INVESTMENTS"."ID" AND "ST2"."CREATED_BY"="INV"."MANAGER_ID")
filter(("ST1"."ODF_PARENT_ID"="ST2"."ODF_PARENT_ID" AND "ST2"."ODF_PARENT_ID"="INV"."ID" AND INTERNAL_FUNCTION("ST2"."ODF_PARENT_ID")))
42 - filter("ST1"."REP_DATE"="ST2"."REPORT_DATE")
43 - access("MAXREP"."ST_ID"="REP"."ID")
44 - filter(("REP"."ODF_PARENT_ID"="INV_INVESTMENTS"."ID" AND "MAXREP"."ODF_PARENT_ID"="REP"."ODF_PARENT_ID" AND "ODF"."ID"="REP"."ODF_PARENT_ID" AND
INTERNAL_FUNCTION("REP"."ODF_PARENT_ID")))
45 - access("BASEREC"."BASELINE_ID"="INV_INVESTMENTS"."BASELINE_ID" AND "BASEREC"."OBJECT_TYPE"='PROJECT')
46 - access("INV_INVESTMENTS"."ID"="OIM7"."PRIMARY_OBJECT_INSTANCE_ID" AND "OIM7"."PRIMARY_OBJECT_INSTANCE_CODE"='project' AND
"OIM7"."SECONDARY_OBJECT_INSTANCE_CODE"='financials')
filter(("OIM7"."SECONDARY_OBJECT_INSTANCE_CODE"='financials' AND INTERNAL_FUNCTION("OIM7"."PRIMARY_OBJECT_INSTANCE_ID")))
47 - access("INV_INVESTMENTS"."ID"="ODF_CA_INV"."ID" AND "ODF_CA_INV"."ODF_OBJECT_CODE"='project')
filter(("ODF_CA_INV"."ID"=5152092 OR "ODF_CA_INV"."ID"=5429087 OR "ODF_CA_INV"."ID"=5440010 OR "ODF_CA_INV"."ID"=5446053 OR "ODF_CA_INV"."ID"=5460011 OR
"ODF_CA_INV"."ID"=5680076))
48 - access("FIN_FINANCIALS"."ID"="OIM7"."SECONDARY_OBJECT_INSTANCE_ID")
49 - access("FIN_FINANCIALS"."ID"="ODF_CA_FINANCIALS"."ID")
50 - access("INV_INVESTMENTS"."ID"="INV_PROJECTS"."PRID")
filter(("INV_PROJECTS"."PRID"=5152092 OR "INV_PROJECTS"."PRID"=5429087 OR "INV_PROJECTS"."PRID"=5440010 OR "INV_PROJECTS"."PRID"=5446053 OR "INV_PROJECTS"."PRID"=5460011
OR "INV_PROJECTS"."PRID"=5680076))
51 - access("INV_INVESTMENTS"."ID"="PAC_MNT_PROJECTS"."ID")
filter(("PAC_MNT_PROJECTS"."ID"=5152092 OR "PAC_MNT_PROJECTS"."ID"=5429087 OR "PAC_MNT_PROJECTS"."ID"=5440010 OR "PAC_MNT_PROJECTS"."ID"=5446053 OR
"PAC_MNT_PROJECTS"."ID"=5460011 OR "PAC_MNT_PROJECTS"."ID"=5680076))
53 - access("INV_INVESTMENTS"."ID"="ODF_CA_PROJFINPROPERTIES"."ID")
filter(("ODF_CA_PROJFINPROPERTIES"."ID"=5152092 OR "ODF_CA_PROJFINPROPERTIES"."ID"=5429087 OR "ODF_CA_PROJFINPROPERTIES"."ID"=5440010 OR
"ODF_CA_PROJFINPROPERTIES"."ID"=5446053 OR "ODF_CA_PROJFINPROPERTIES"."ID"=5460011 OR "ODF_CA_PROJFINPROPERTIES"."ID"=5680076))
55 - access("INV_INVESTMENTS"."ID"="ODF_CA_PROJECT"."ID")
filter(("ODF_CA_PROJECT"."ID"=5152092 OR "ODF_CA_PROJECT"."ID"=5429087 OR "ODF_CA_PROJECT"."ID"=5440010 OR "ODF_CA_PROJECT"."ID"=5446053 OR "ODF_CA_PROJECT"."ID"=5460011
OR "ODF_CA_PROJECT"."ID"=5680076))
56 - access("INV_INVESTMENTS"."CREATED_BY"="CREATED"."USER_ID")
57 - access("INV_INVESTMENTS"."LAST_UPDATED_BY"="UPDATED"."USER_ID")
58 - access("EVREC"."OBJECT_ID"="INV_INVESTMENTS"."ID" AND "EVREC"."OBJECT_TYPE"='PROJECT' AND "EVREC"."PERIOD_NUMBER"=0)
filter(("EVREC"."OBJECT_ID"=5152092 OR "EVREC"."OBJECT_ID"=5429087 OR "EVREC"."OBJECT_ID"=5440010 OR "EVREC"."OBJECT_ID"=5446053 OR "EVREC"."OBJECT_ID"=5460011 OR
"EVREC"."OBJECT_ID"=5680076))
59 - access("SAPFD"."ODF_PARENT_ID"="INV_INVESTMENTS"."ID")
filter(("SAPFD"."ODF_PARENT_ID"=5152092 OR "SAPFD"."ODF_PARENT_ID"=5429087 OR "SAPFD"."ODF_PARENT_ID"=5440010 OR "SAPFD"."ODF_PARENT_ID"=5446053 OR
"SAPFD"."ODF_PARENT_ID"=5460011 OR "SAPFD"."ODF_PARENT_ID"=5680076))
Note
-----
- automatic DOP: skipped because of IO calibrate statistics are missing
[EDITED by LF: applied [spoiler] tags]
[Updated on: Thu, 06 August 2015 03:26] by Moderator Report message to a moderator
|
|
|
|
Re: Help to tune the query [message #640954 is a reply to message #640888] |
Fri, 07 August 2015 04:09 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
grpatwari
Messages: 288 Registered: June 2008 Location: Hyderabad
|
Senior Member |
|
|
Thank you very much.Please find the details as below.
select LAST_LOAD_TIME, ELAPSED_TIME, MODULE, SQL_TEXT elasped from v$sql
where upper(sql_text) like '%KEVTEMP_BASLINE%'
order by LAST_LOAD_TIME desc; --
Original query Elapsed Time: 7453016
KEVTEMP_BASLINE Elapsed Time: 1062233
Elapsed Time for KEVTEMP_SIMPLIFIED_1: 688628
Yes. It is returing 6 rows when I provide the input with 6 project Ids.
|
|
|
Re: Help to tune the query [message #640972 is a reply to message #640954] |
Fri, 07 August 2015 08:56 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) |
![](/forum/images/custom_avatars/56289.jpg) |
Kevin Meade
Messages: 2103 Registered: December 1999 Location: Connecticut USA
|
Senior Member |
|
|
Excellent thanks. So the elapsed times you are showing are from v$sql which means they need to be divided by 1 million in order to get seconds. That means your query is finishing in 7.5 seconds. Thus we have this:
Original query Elapsed Time: 7.5 seconds (get data, send it across the network to a client app)
KEVTEMP_BASLINE Elapsed Time: 1.1 seconds (get data, save it in a table)
Elapsed Time for KEVTEMP_SIMPLIFIED_1: 0.7 seconds (get data NO SCALARS, save it in a table)
So...
Breaking it down we can now see where % of work goes to this query:
main query (.7)/7.5=9%
scalar sub-queries (1.1-.7)/7.5=6%
network traffic and client processing if any (7.5-1.1)/7.5=85%
Given this approximate breakdown of costs we have determined using some simple query decomposition and reconstruction, where should you be spending your tuning time?
Seems very odd to me though that it would take 6.4 seconds to push just 6 rows across the network. Is there something you are leaving out of the problem you have showed us?
Kevin
[Updated on: Fri, 07 August 2015 08:57] Report message to a moderator
|
|
|
Goto Forum:
Current Time: Thu Feb 06 16:05:41 CST 2025
|