Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

oracle apps query-p2p cycle

927274May 14 2012 — edited May 14 2012
Hi all....

I am using oracle 10g........

The following query is a union of two queries....The second query is a subset of the first meaning that it has fewer tables and fewer select columns as well....(I have to use union on the two queries....for a gud reason) .What i want is that the union return only the superset records from result of the union of the two queries when i pass a parameter at runtime like supplier_name as mentioned in the the query below .......

/* Formatted on 2012/05/14 16:49 (Formatter Plus v4.8.8) */

SELECT * FROM(SELECT DISTINCT reql.unit_meas_lookup_code "UNIT",
reqh.type_lookup_code "PR_TYPE",
reql.document_type_code "SUBTYPE",
reqh.segment1 "PR_NO", reqh.creation_date "PR DATE",
mtb.segment1 "ITEM_CODE",
pol.item_description "DESCRIPTION",
mcb.segment1 "INVENTORY_CATEGORY",
reql.manufacturer_part_number "MFG NO/DRG NO",
poh.authorization_status "AUTHORIZATION STATUS",
papf.full_name "BUYER", NULL "CUSTOMER",
DECODE (poh.type_lookup_code,
'RFQ', poh.segment1
) "RFQ NO",
DECODE (poh.type_lookup_code,
'RFQ', poh.creation_date
) "RFQ DATE",
NULL "RFQ SUPPLIER",
DECODE (poh.type_lookup_code,
'QUOTATION', poh.segment1
) "QTN NO",
DECODE (poh.type_lookup_code,
'QUOTATION', poh.reply_date
) "QTN DATE",
DECODE (poh.type_lookup_code,
'STANDARD', poh.segment1,
'BLANKET', poh.segment1,
'PLANNED', poh.segment1
) "PO_NO",
DECODE (poh.type_lookup_code,
'STANDARD', poh.creation_date,
'BLANKET', poh.creation_date,
'PLANNED', poh.creation_date
) "PO DATE",
pv.vendor_name "SUPPLIER",
NULL "SUPPLIER ACKNOWLEDGMENT DATE",
TRUNC
(reqh.creation_date
)
- TRUNC (poh.creation_date)
"NO OF DAYS TAKEN FROM PR TO PO",
DECODE (rcvh.asn_type,
'ASBN', rcvh.shipment_num
) "ASBN NO",
rcvh.receipt_num "RECEIPT NO",
rcvh.creation_date "RECEIPT DATE",
apia.invoice_num "INVOICE_NO",
NULL "QUALITY INSPECTION DATE",
rcvt.inspection_status_code "INSPECTION RESULT",
NULL "STOCKING DATE",
TRUNC (poh.creation_date)
- TRUNC (reqh.creation_date) "NO OF DAYS TAKEN FROM",
NULL "PV NO", NULL "PV DATE",
apc.amount "PAYMENT RELEASE AMOUNT",
apc.released_date "PAYMENT RELEASE DATE",
apc.payment_method_code "PAYMENT RELEASE MODE",
NULL "NO OF DAYS TAKEN FROM RECEIPT"
FROM po_requisition_headers_all reqh,
po_requisition_lines_all reql,
po_req_distributions_all reqd,
po_distributions_all pod,
po_headers_all poh,
po_lines_all pol,
po_line_locations_all poll,
rcv_shipment_headers rcvh,
rcv_shipment_lines rcvl,
rcv_transactions rcvt,
ap_invoice_distributions_all apid,
ap_invoices_all apia,
ap_payment_schedules_all aps,
ap_invoice_payments_all app,
ap_checks_all apc,
per_all_people_f papf,
po_vendors pv,
mtl_system_items_b mtb,
mtl_categories_b mcb,
mtl_item_categories mic
WHERE reqh.requisition_header_id =
reql.requisition_header_id
AND reql.requisition_line_id = reqd.requisition_line_id
AND pod.req_distribution_id = reqd.distribution_id
AND pol.po_line_id = pod.po_line_id
AND poh.po_header_id = pol.po_header_id
AND pol.po_line_id = poll.po_line_id
AND pod.po_distribution_id = apid.po_distribution_id
AND pod.po_distribution_id = rcvt.po_distribution_id
AND rcvl.shipment_header_id = rcvh.shipment_header_id
AND rcvh.shipment_header_id = rcvt.shipment_header_id
AND rcvt.po_distribution_id = apid.po_distribution_id
AND app.check_id = apc.check_id
AND apid.invoice_id = apia.invoice_id
AND apia.invoice_id = app.invoice_id
AND app.invoice_id = aps.invoice_id
AND poh.agent_id = papf.person_id
AND poh.vendor_id = pv.vendor_id
AND pol.item_id = mtb.inventory_item_id
AND mic.inventory_item_id = pol.item_id
AND poh.authorization_status = 'APPROVED'
AND mcb.category_id = mic.category_id
UNION
SELECT DISTINCT NULL "UNIT", NULL "PR_TYPE", NULL "SUBTYPE",
NULL "PR_NO", NULL "PR DATE",
mtb.segment1 "ITEM_CODE",
pol.item_description "DESCRIPTION",
mcb.segment1 "INVENTORY_CATEGORY", NULL,
poh.authorization_status "AUTHORIZATION STATUS",
papf.full_name "BUYER", NULL "CUSTOMER",
DECODE (poh.type_lookup_code,
'RFQ', poh.segment1
) "RFQ NO",
DECODE (poh.type_lookup_code,
'RFQ', poh.creation_date
) "RFQ DATE",
NULL "RFQ SUPPLIER",
DECODE (poh.type_lookup_code,
'QUOTATION', poh.segment1
) "QTN NO",
DECODE (poh.type_lookup_code,
'QUOTATION', poh.reply_date
) "QTN DATE",
DECODE (poh.type_lookup_code,
'STANDARD', poh.segment1,
'BLANKET', poh.segment1,
'PLANNED', poh.segment1
) "PO_NO",
DECODE (poh.type_lookup_code,
'STANDARD', poh.creation_date,
'BLANKET', poh.creation_date,
'PLANNED', poh.creation_date
) "PO DATE",
pv.vendor_name "SUPPLIER",
NULL "SUPPLIER ACKNOWLEDGMENT DATE", NULL,
DECODE (rcvh.asn_type,
'ASBN', rcvh.shipment_num
) "ASBN NO",
rcvh.receipt_num "RECEIPT NO",
rcvh.creation_date "RECEIPT DATE",
apia.invoice_num "INVOICE_NO",
NULL "QUALITY INSPECTION DATE",
rcvt.inspection_status_code "INSPECTION RESULT",
NULL "STOCKING DATE", NULL, NULL "PV NO",
NULL "PV DATE", apc.amount "PAYMENT RELEASE AMOUNT",
apc.released_date "PAYMENT RELEASE DATE",
apc.payment_method_code "PAYMENT RELEASE MODE",
NULL "NO OF DAYS TAKEN FROM RECEIPT"
FROM po_distributions_all pod,
po_headers_all poh,
po_lines_all pol,
rcv_shipment_headers rcvh,
rcv_shipment_lines rcvl,
rcv_transactions rcvt,
ap_invoice_distributions_all apid,
ap_invoices_all apia,
ap_payment_schedules_all aps,
ap_invoice_payments_all app,
ap_checks_all apc,
per_all_people_f papf,
po_vendors pv,
mtl_system_items_b mtb,
mtl_categories_b mcb,
mtl_item_categories mic
WHERE pol.po_line_id = pod.po_line_id
AND poh.po_header_id = pol.po_header_id
AND pod.po_distribution_id = apid.po_distribution_id
AND pod.po_distribution_id = rcvt.po_distribution_id
AND rcvl.shipment_header_id = rcvh.shipment_header_id
AND rcvh.shipment_header_id = rcvt.shipment_header_id
AND rcvt.po_distribution_id = apid.po_distribution_id
AND app.check_id = apc.check_id
AND apid.invoice_id = apia.invoice_id
AND apia.invoice_id = app.invoice_id
AND app.invoice_id = aps.invoice_id
AND poh.agent_id = papf.person_id
AND poh.vendor_id = pv.vendor_id
AND pol.item_id = mtb.inventory_item_id
AND mic.inventory_item_id = pol.item_id
AND poh.authorization_status = 'APPROVED'
AND mcb.category_id = mic.category_id) a
WHERE 1 = 1
AND ( a.pr_type = NVL (:pr_type, a.pr_type)
OR (:pr_type IS NULL AND a.pr_type IS NULL)
)
AND ( a.pr_no = NVL (:pr_no, a.pr_no)
OR (:pr_no IS NULL AND a.pr_no IS NULL)
)
AND ( a.unit = NVL (:unit_lookup_code, a.unit)
OR (:unit_lookup_code IS NULL AND a.unit IS NULL)
)
AND a.supplier = NVL (:supplier_name, a.supplier)
AND a.inventory_category = NVL (:inventory_category, a.inventory_category)
AND a.buyer = NVL (:buyer_name, a.buyer)
AND a.invoice_no = NVL (:invoice_no, a.invoice_no)
AND a.item_code = NVL (:item_code, a.item_code)

Edited by: Dave on May 14, 2012 5:08 AM

Edited by: Dave on May 14, 2012 5:14 AM
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jun 11 2012
Added on May 14 2012
4 comments
2,378 views