Todas as POs com aprovação, NFF, e Detalhes do Pagamento:
SELECT,a.org_id "ORG ID",E.SEGMENT1 "VENDOR NUM",e.vendor_name "SUPPLIER NAME",UPPER(e.vendor_type_lookup_code) "VENDOR TYPE",f.vendor_site_code "VENDOR SITE CODE",f.ADDRESS_LINE1 "ADDRESS",f.city "CITY",f.country "COUNTRY",to_char(trunc(d.CREATION_DATE)) "PO Date",d.segment1 "PO NUM",d.type_lookup_code "PO Type",c.quantity_ordered "QTY ORDERED",c.quantity_cancelled "QTY CANCELLED",g.item_id "ITEM ID",g.item_description "ITEM DESCRIPTION",g.unit_price "UNIT PRICE",(NVL(c.quantity_ordered,0)-NVL(c.quantity_cancelled,0))*NVL(g.unit_price,0) "PO Line Amount",(select decode(ph.approved_FLAG, 'Y', 'Approved') from po.po_headers_all ph where,ph.po_header_ID = d.po_header_id) "PO Approved?", a.invoice_type_lookup_code "INVOICE TYPE",a.invoice_amount "INVOICE AMOUNT",to_char(trunc(a.INVOICE_DATE)) "INVOICE DATE",a.invoice_num "INVOICE NUMBER",(select decode(x.MATCH_STATUS_FLAG, 'A', 'Approved') from ap.ap_invoice_distributions_all x where,x.invoice_distribution_id = b.invoice_distribution_id) "Invoice Approved?",a.amount_paid,h.amount,h.check_id,h.invoice_payment_id "Payment Id",i.check_number "Cheque Number",to_char(trunc(i.check_DATE)) "Payment Date"FROM,AP.AP_INVOICES_ALL A,AP.AP_INVOICE_DISTRIBUTIONS_ALL B,PO.PO_DISTRIBUTIONS_ALL C,PO.PO_HEADERS_ALL D,PO.PO_VENDORS E,PO.PO_VENDOR_SITES_ALL F,PO.PO_LINES_ALL G,AP.AP_INVOICE_PAYMENTS_ALL H,AP.AP_CHECKS_ALL IWHERE,a.invoice_id = b.invoice_id andb.po_distribution_id = c. po_distribution_id (+) andc.po_header_id = d.po_header_id (+) ande.vendor_id (+) = d.VENDOR_ID andf.vendor_site_id (+) = d.vendor_site_id andd.po_header_id = g.po_header_id andc.po_line_id = g.po_line_id anda.invoice_id = h.invoice_id andh.check_id = i.check_id andf.vendor_site_id = i.vendor_site_id andc.PO_HEADER_ID is not null anda.payment_status_flag = 'Y' andd.type_lookup_code != 'BLANKET'
****************************
Todas as POs Aberta:
SELECT,h.segment1 "PO NUM",h.authorization_status "STATUS",l.line_num "SEQ NUM",ll.line_location_id,d.po_distribution_id,h.type_lookup_code "TYPE"FROM,po.po_headers_all h,po.po_lines_all l,po.po_line_locations_all ll,po.po_distributions_all dWHEREh.po_header_id = l.po_header_id andll.po_line_id = l.po_Line_id andll.line_location_id = d.line_location_id andh.closed_date is NULL andh.type_lookup_code not in ('QUOTATION')
*************
Etapas para depuração A ORDEM DE COMPRA pegue po_header_id primeiro e execute cada consulta em seguida analisar os dados.
Para melhor compreenção esta parcelado em 5 fases principais:
Stage1: PO CreationPO_HEADERS_ALLselect po_header_id from po_headers_all where segment1 =;select * from po_headers_all where po_header_id =;PO_LINES_ALLselect * from po_lines_all where po_header_id =;PO_LINE_LOCATIONS_ALLselect * from po_line_locations_all where po_header_id =;PO_DISTRIBUTIONS_ALL select * from po_distributions_all where po_header_id =;PO_RELEASES_ALLSELECT * FROM po_releases_all WHERE po_header_id =;
Stage 2: Once PO is received, data is moved to respective receving tables and inventory tablesRCV_SHIPMENT_HEADERSselect * from rcv_shipment_headers where shipment_header_id in(select shipment_header_id from rcv_shipment_lineswhere po_header_id =);RCV_SHIPMENT_LINESselect * from rcv_shipment_lines where po_header_id =;RCV_TRANSACTIONSselect * from rcv_transactions where po_header_id =;RCV_ACCOUNTING_EVENTSSELECT * FROM rcv_Accounting_Events WHERE rcv_transaction_id IN(select transaction_id from rcv_transactionswhere po_header_id =);RCV_RECEIVING_SUB_LEDGERselect * from rcv_receiving_sub_ledger where rcv_transaction_id IN(select transaction_id from rcv_transactions where po_header_id =);RCV_SUB_LEDGER_DETAILSselect * from rcv_sub_ledger_detailswhere rcv_transaction_id IN(select transaction_id from rcv_transactions where po_header_id =);MTL_MATERIAL_TRANSACTIONSselect * from mtl_material_transactions where transaction_source_id =;MTL_TRANSACTION_ACCOUNTS select * from mtl_transaction_accounts where transaction_id IN(select transaction_id from mtl_material_transactions where transaction_source_id =);
Stage 3: Invoicing detailsAP_INVOICE_DISTRIBUTIONS_ALLselect * from ap_invoice_distributions_all where po_distribution_id in( select po_distribution_id from po_distributions_all where po_header_id =);AP_INVOICES_ALLselect * from ap_invoices_all where invoice_id in(select invoice_id from ap_invoice_distributions_all where po_distribution_id in( select po_distribution_id from po_distributions_all where po_header_id =));
Stage 4 : Mostly there is tie up with Project related POPA_EXPENDITURE_ITEMS_ALL select * from pa_expenditure_items_all peia where peia.orig_transaction_reference IN(select to_char(transaction_id) from mtl_material_transactions where transaction_source_id = );
Stage 5 : General LedgerPrompt 17. GL_BC_PACKETS ..This is for encumbrancesSELECT * FROM gl_bc_packets WHERE reference2 IN (’‘);GL_INTERFACE select * from gl_interface gli where user_je_source_name =’Purchasing’and gl_sl_link_table =’RSL’ and reference21=’PO’ and exists(select 1 from rcv_receiving_sub_ledger rrsl where gli.reference22 =RRSL.reference2 and GLI.reference23 =RRSL.reference3AND GLI.reference24 =RRSL.reference4AND RRSL.rcv_transaction_id in(select transaction_id from rcv_transactionswhere po_header_id ));GL_IMPORT_REFERENCES SELECT *FROM gl_import_references GLIR WHERE reference_1=’PO’ AND gl_sl_link_table =’RSL’AND EXISTS( SELECT 1 FROM rcv_receiving_sub_ledger RRSLWHERE GLIR.reference_2 =RRSL.reference2AND GLIR.reference_3 =RRSL.reference3 AND GLIR.reference_4 =RRSL.reference4AND RRSL.rcv_transaction_id in(select transaction_id from rcv_transactions where po_header_id =))