Transformed query after MV Upgrade,
CREATE OR REPLACE FORCE VIEW apps.promast_kk# (
pro_key,
pro_fy,
pro_my,
pro_aa,
pro_pg,
pro_ut,
pro_no,
pro_srno,
pro_rect,
pro_dt,
pro_led,
pro_cust,
pro_mut,
pro_mdiv,
pro_bd,
pro_prod,
pro_rate,
pro_um,
pro_qty,
pro_case,
pro_dis1,
pro_dis2,
pro_dis3,
pro_netvl,
pro_exc,
pro_excd,
pro_txcd,
pro_div,
pro_mset,
pro_val,
pro_zncd,
pro_dicd,
pro_slcd,
pro_lac,
pro_order_number,
pro_header_id,
pro_line_id,
pro_delivery_id,
pro_delivery_detail_id,
pro_customer_id,
pro_cust_name,
pro_prod_desc,
pro_order_type_id,
pro_order_type_name,
pro_inventory_item_id,
pro_area,
pro_bv_code,
pro_cust_class,
pro_netvl_with_dis,
pro_area_old,
pro_qtyv,
pro_warranty_val
) AS
SELECT /*+ PUSH_SUBQ */
a1.pro_key pro_key,
a1.pro_fy pro_fy,
a1.pro_my pro_my,
a1.pro_aa pro_aa,
a1.pro_pg pro_pg,
a1.pro_ut pro_ut,
a1.pro_no pro_no,
a1.pro_srno pro_srno,
a1.pro_rect pro_rect,
a1.pro_dt pro_dt,
a1.pro_led pro_led,
a1.pro_cust pro_cust,
a1.pro_mut pro_mut,
a1.pro_mdiv pro_mdiv,
a1.pro_bd pro_bd,
a1.pro_prod pro_prod,
a1.pro_rate pro_rate,
a1.pro_um pro_um,
a1.pro_qty pro_qty,
a1.pro_case pro_case,
a1.pro_dis1 pro_dis1,
a1.pro_dis2 pro_dis2,
a1.pro_dis3 pro_dis3,
a1.pro_netvl pro_netvl,
a1.pro_exc pro_exc,
a1.pro_excd pro_excd,
a1.pro_txcd pro_txcd,
a1.pro_div pro_div,
a1.pro_mset pro_mset,
a1.pro_val pro_val,
a1.pro_zncd pro_zncd,
a1.pro_dicd pro_dicd,
a1.pro_slcd pro_slcd,
a1.pro_lac pro_lac,
a1.pro_order_number pro_order_number,
a1.pro_header_id pro_header_id,
a1.pro_line_id pro_line_id,
a1.pro_delivery_id pro_delivery_id,
a1.pro_delivery_detail_id pro_delivery_detail_id,
a1.pro_customer_id pro_customer_id,
a1.pro_cust_name pro_cust_name,
a1.pro_prod_desc pro_prod_desc,
a1.pro_order_type_id pro_order_type_id,
a1.pro_order_type_name pro_order_type_name,
a1.pro_inventory_item_id pro_inventory_item_id,
a1.pro_area pro_area,
a1.pro_bv_code pro_bv_code,
a1.pro_cust_class pro_cust_class,
a1.pro_netvl_with_dis pro_netvl_with_dis,
a1.pro_area_old pro_area_old,
a1.pro_qtyv pro_qtyv,
a1.pro_warranty_val pro_warranty_val
FROM
(
( SELECT /*+ PUSH_SUBQ */
a139.pro_key pro_key,
a139.pro_fy pro_fy,
a139.pro_my pro_my,
a139.pro_aa pro_aa,
a139.pro_pg pro_pg,
a139.pro_ut pro_ut,
a139.pro_no pro_no,
a139.pro_srno pro_srno,
a139.pro_rect pro_rect,
a139.pro_dt pro_dt,
a139.pro_led pro_led,
a139.pro_cust pro_cust,
a139.pro_mut pro_mut,
a139.pro_mdiv pro_mdiv,
a139.pro_bd pro_bd,
a139.pro_prod pro_prod,
a139.pro_rate pro_rate,
a139.pro_um pro_um,
a139.pro_qty pro_qty,
a139.pro_case pro_case,
a139.pro_dis1 pro_dis1,
a139.pro_dis2 pro_dis2,
a139.pro_dis3 pro_dis3,
a139.pro_netvl pro_netvl,
a139.pro_exc pro_exc,
a139.pro_excd pro_excd,
a139.pro_txcd pro_txcd,
a139.pro_div pro_div,
a139.pro_mset pro_mset,
a139.pro_val pro_val,
a139.pro_zncd pro_zncd,
a139.pro_dicd pro_dicd,
a139.pro_slcd pro_slcd,
a139.pro_lac pro_lac,
a139.pro_order_number pro_order_number,
a139.pro_header_id pro_header_id,
a139.pro_line_id pro_line_id,
a139.pro_delivery_id pro_delivery_id,
a139.pro_delivery_detail_id pro_delivery_detail_id,
a139.pro_customer_id pro_customer_id,
a139.pro_cust_name pro_cust_name,
a139.pro_prod_desc pro_prod_desc,
a139.pro_order_type_id pro_order_type_id,
a139.pro_order_type_name pro_order_type_name,
a139.pro_inventory_item_id pro_inventory_item_id,
a139.pro_area pro_area,
a139.pro_bv_code pro_bv_code,
a139.pro_cust_class pro_cust_class,
a139.pro_netvl_with_dis pro_netvl_with_dis,
a139.pro_area_old pro_area_old,
a139.pro_qtyv pro_qtyv,
a139.pro_warranty_val pro_warranty_val
FROM
cus.promast_prior_to_gst a139
)
UNION ALL
( SELECT /*+ NO_UNNEST PUSH_SUBQ push_pred */
a138.pro_key pro_key,
a138.pro_fy pro_fy,
a138.pro_my pro_my,
a138.pro_aa pro_aa,
a138.pro_pg pro_pg,
a138.pro_ut pro_ut,
a138.pro_no pro_no,
a138.pro_srno pro_srno,
a138.pro_rect pro_rect,
a138.pro_dt pro_dt,
a138.pro_led pro_led,
a138.pro_cust pro_cust,
a138.pro_mut pro_mut,
a138.pro_mdiv pro_mdiv,
a138.pro_bd pro_bd,
a138.pro_prod pro_prod,
a138.pro_rate pro_rate,
a138.pro_um pro_um,
a138.pro_qty pro_qty,
a138.pro_case pro_case,
a138.pro_dis1 pro_dis1,
a138.pro_dis2 pro_dis2,
a138.pro_dis3 pro_dis3,
a138.pro_netvl pro_netvl,
a138.pro_exc pro_exc,
a138.pro_excd pro_excd,
a138.pro_txcd pro_txcd,
a138.pro_div pro_div,
a138.pro_mset pro_mset,
a138.pro_val pro_val,
a138.pro_zncd pro_zncd,
a138.pro_dicd pro_dicd,
a138.pro_slcd pro_slcd,
a138.pro_lac pro_lac,
a138.pro_order_number pro_order_number,
a138.pro_header_id pro_header_id,
a138.pro_line_id pro_line_id,
a138.pro_delivery_id pro_delivery_id,
a138.pro_delivery_detail_id pro_delivery_detail_id,
a138.pro_customer_id pro_customer_id,
a138.pro_cust_name pro_cust_name,
a138.pro_prod_desc pro_prod_desc,
a138.pro_order_type_id pro_order_type_id,
a138.pro_order_type_name pro_order_type_name,
a138.pro_inventory_item_id pro_inventory_item_id,
a138.pro_area pro_area,
a138.pro_bv_code pro_bv_code,
a138.pro_cust_class pro_cust_class,
a138.pro_netvl_with_dis pro_netvl_with_dis,
a138.pro_area_old pro_area_old,
a138.pro_qtyv pro_qtyv,
a138.pro_warranty_val pro_warranty_val
FROM
(
SELECT /*+ NO_UNNEST PUSH_SUBQ */
a73.pro_key pro_key,
a73.pro_fy pro_fy,
a73.pro_my pro_my,
a73.pro_aa pro_aa,
a73.pro_pg pro_pg,
a73.pro_ut pro_ut,
a73.tax_invoice_num pro_no,
a73.pro_srno pro_srno,
a73.pro_rect pro_rect,
a73.pro_dt pro_dt,
a73.pro_led pro_led,
a73.pro_cust pro_cust,
a73.pro_mut pro_mut,
a73.pro_mdiv pro_mdiv,
a73.pro_bd pro_bd,
a73.pro_prod pro_prod,
a73.pro_rate1 pro_rate,
a73.pro_um pro_um,
a73.pro_qty pro_qty,
a73.pro_case pro_case,
a73.pro_dis1 pro_dis1,
a73.pro_dis2 pro_dis2,
a73.pro_dis3 pro_dis3,
a73.pro_netvl pro_netvl,
a73.pro_exc pro_exc,
a73.pro_excd pro_excd,
a73.pro_txcd pro_txcd,
a73.pro_div pro_div,
a73.pro_mset pro_mset,
SUM(a73.pro_val + nvl(a73.tcs_tax_val, 0)) pro_val,
a73.pro_zncd pro_zncd,
a73.pro_dicd pro_dicd,
a73.pro_slcd pro_slcd,
a73.pro_lac pro_lac,
a73.pro_order_number pro_order_number,
a73.pro_header_id pro_header_id,
a73.pro_line_id pro_line_id,
a73.pro_delivery_id pro_delivery_id,
a73.pro_delivery_detail_id pro_delivery_detail_id,
a73.pro_customer_id pro_customer_id,
a73.pro_cust_name pro_cust_name,
a73.pro_prod_desc pro_prod_desc,
a73.pro_order_type_id pro_order_type_id,
a73.pro_order_type_name pro_order_type_name,
a73.pro_inventory_item_id pro_inventory_item_id,
a73.pro_area pro_area,
a73.pro_bv_code pro_bv_code,
a73.pro_cust_class pro_cust_class,
a73.pro_netvl_with_dis pro_netvl_with_dis,
a73.pro_area_old pro_area_old,
a73.pro_qtyv pro_qtyv,
SUM(a73.warranty_qty * a73.warranty_amt) pro_warranty_val
FROM
(
WITH a84 AS (
SELECT /*+ NO_UNNEST PUSH_SUBQ push_pred*/
a2.dis1 dis1,
a2.dis2 dis2,
a2.line_id line_id,
a2.header_id + 0 header_id
FROM
(
SELECT /*+ NO_UNNEST PUSH_SUBQ */
a93.org_id org_id,
a93.order_number order_number,
a93.header_id header_id,
a93.line_id line_id,
a93.inventory_item_id inventory_item_id,
a93.ordered_item ordered_item,
a93.new_price new_price,
a93.dis1 dis1,
a93.dis2 dis2
FROM
(
SELECT /*+ NO_UNNEST PUSH_SUBQ */
a94.org_id org_id,
a94.order_number order_number,
a94.header_id header_id,
a94.line_id line_id,
a94.inventory_item_id inventory_item_id,
a94.ordered_item ordered_item,
SUM(a94.new_price) new_price,
SUM(a94.dis1) dis1,
SUM(a94.dis2) dis2
FROM
(
SELECT /*+ NO_UNNEST PUSH_SUBQ */
a95.org_id org_id,
a95.order_number order_number,
a95.header_id header_id,
a95.line_id line_id,
a95.inventory_item_id inventory_item_id,
a95.ordered_item ordered_item,
nvl(a95.new_price, 0) new_price,
nvl(a95.dis1, 0) dis1,
nvl(a95.dis2, 0) dis2
FROM
(
( SELECT /*+ NO_UNNEST
PUSH_SUBQ
push_pred
use_nl(a119 a118)
use_nl(a119 a117)
*/
a119.org_id org_id,
a118.order_number order_number,
a119.header_id header_id,
a119.line_id line_id,
a119.inventory_item_id + 0 inventory_item_id,
a119.ordered_item ordered_item,
a117.modifier_level_code modifier_level_code,
decode(a117.arithmetic_operator, 'NEWPRICE', a117.operand) new_price,
NULL dis1,
NULL dis2
FROM
ont.oe_order_lines_all a119,
ont.oe_order_headers_all a118,
ont.oe_price_adjustments a117
WHERE
a118.org_id = a119.org_id
AND a118.header_id = a119.header_id + 0
AND a119.header_id + 0 = a117.header_id
AND a119.line_id + 0 = a117.line_id
AND a117.line_id IS NOT NULL
AND a117.list_line_type_code <> 'SUR'
AND a117.arithmetic_operator = 'NEWPRICE'
)
UNION ALL
( SELECT /*+ NO_UNNEST PUSH_SUBQ
*/
a116.
org_id org_id,
a116.order_number order_number,
a116.header_id header_id,
a116.line_id line_id,
a116.inventory_item_id inventory_item_id,
a116.ordered_item ordered_item,
a116.modifier_level_code modifier_level_code,
a116.new_price new_price,
a116.dis1 dis1,
a116.dis2 dis2
FROM
(
SELECT /*+ NO_UNNEST PUSH_SUBQ */
a97.
org_id org_id,
a97.order_number order_number,
a97.header_id header_id,
a97.line_id line_id,
a97.inventory_item_id inventory_item_id,
a97.ordered_item ordered_item,
a97.modifier_level_code modifier_level_code,
decode(a97.arithmetic_operator, 'NEWPRICE',
a97.operand) new_price,
decode(a97.pricing_group_sequence, 1, a97.operand) dis1,
decode(a97.pricing_group_sequence, 2, a97.operand) dis2
FROM
(
SELECT /*+ NO_UNNEST PUSH_SUBQ
USE_NL (A98 A99)
*/
a99.
header_id header_id,
a99.line_id line_id,
a99.org_id org_id,
a99.order_number order_number,
a99.operand operand,
a99.modifier_level_code modifier_level_code,
a99.arithmetic_operator arithmetic_operator,
a99.pricing_group_sequence pricing_group_sequence,
a99.pricing_phase_id pricing_phase_id,
a99.list_header_id list_header_id,
a99.inventory_item_id inventory_item_id,
a99.ordered_item ordered_item,
a98.recno recno
FROM
(
( SELECT /*+ NO_UNNEST PUSH_SUBQ USE_NL (a115 A113) USE_NL ( A113 A114) */
a115.
org_id org_id,
a114.order_number order_number,
a115.header_id header_id,
a115.line_id line_id,
a115.inventory_item_id + 0 inventory_item_id,
a115.ordered_item ordered_item,
a113.operand operand,
a113.modifier_level_code modifier_level_code,
a113.arithmetic_operator arithmetic_operator,
a113.pricing_group_sequence pricing_group_sequence,
a113.pricing_phase_id pricing_phase_id,
a113.list_header_id list_header_id,
a113.list_line_id list_line_id
FROM
ont.oe_order_lines_all a115,
ont.oe_order_headers_all a114,
ont.oe_price_adjustments a113
WHERE
a114.org_id = a115.org_id
AND a114.header_id = a115.header_id + 0
AND a115.header_id + 0 = a113.header_id
AND a113.line_id IS NULL
AND a113.arithmetic_operator <> 'NEWPRICE'
)
UNION ALL
( SELECT /*+ NO_UNNEST PUSH_SUBQ
USE_NL (A112 A111) USE_NL (A112 A110) */
a112.
org_id org_id,