Bonjour,

J'ai un traitement qui met du temps à s'exécuter. Pour résoudre ce problème, j'ai pensé à créer une vue matérialisée.

Actuellement, j'ai crée la vue et je l'ai chargée. Si je l'interroge sous TOAD, je trouve que la vue est chargée. Par contre lorsque je lance mon traitement via l'application, aucune donnée n'est chargé.

Voici la vue :
CREATE MATERIALIZED VIEW xxdcn_po070_mv
PARALLEL (degree 4)
BUILD DEFERRED
REFRESH FORCE ON DEMAND
ENABLE QUERY REWRITE
AS
SELECT pha.segment1 num_commande
,pra.release_num appel
,pha.type_lookup_code type_cde
,pla.line_num num_ligne
,pla.item_description description
,pla.unit_price prix_unit
,plla.shipment_num num_ligne_livraison
,plla.accrue_on_receipt_flag fnp_reception
,plla.inspection_required_flag crit_rappro_insp
,plla.receipt_required_flag crit_rappro_recp
,plla.promised_date date_promesse
,plla.attribute3 dlc
,plla.unit_meas_lookup_code unite
,plla.quantity_received qte_recue_liv
,pda.distribution_num num_ligne_imputation
,DECODE (pda.project_id,
NULL, pda.attribute11,
pda.expenditure_type
) type_depense
,pda.project_id projet
,pda.task_id tache
,pda.destination_type_code type_destination
,(pda.quantity_ordered
- pda.quantity_cancelled) qte_commandee
,pda.quantity_delivered qte_mad_imp
,plla.closed_code statu_liv
,pra.release_num num_appel
,pha.vendor_id
,pha.ship_to_location_id pha_ship_to_location_id
,plla.ship_to_location_id plla_ship_to_location_id
,pha.agent_id pha_agent_id
,pha.attribute8 pha_attribute8
,pv.segment1 num_fournisseur
,pv.vendor_name fournisseur
,pvsa.vendor_site_code site_four
,pda.po_release_id
,pda.deliver_to_person_id
,pda.code_combination_id
,pda.attribute8 pda_attribute8
,pra.agent_id pra_agent_id
,plla.line_location_id
,plla.ship_to_organization_id
,pla.line_type_id
,pla.po_line_id
FROM po_headers_all pha
,po_lines_all pla
,po_line_locations_all plla
,po_distributions_all pda
,po_releases_all pra
,po_vendors pv
,po_vendor_sites_all pvsa
WHERE pha.po_header_id = pda.po_header_id
AND pla.po_line_id = pda.po_line_id
AND plla.line_location_id = pda.line_location_id
AND pra.po_release_id(+) = pda.po_release_id
AND pv.vendor_id = pha.vendor_id
AND pvsa.vendor_site_id = pha.vendor_site_id
AND NOT ( plla.accrue_on_receipt_flag = 'N'
AND plla.inspection_required_flag = 'N'
AND plla.receipt_required_flag = 'N'
)
AND (plla.closed_code IS NULL OR plla.closed_code <> 'FINALLY CLOSED')
AND NVL (plla.cancel_flag, 'N') = 'N'
AND plla.quantity_received < (plla.quantity - plla.quantity_cancelled)
AND pha.authorization_status IN
('APPROVED', 'PRE-APPROVED', 'REQUIRES REAPPROVAL', 'IN PROCESS')
AND (pha.closed_code IS NULL OR pha.closed_code <> 'FINALLY CLOSED')
ORDER BY date_promesse, num_commande
Pouvez-vous m'aider svp?
Merci.

Mouad.