The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT 1
FROM po_headers POH, po_lines POL, po_line_locations PLL,
po_distributions POD
WHERE POH.po_header_id = p_document_id
AND POH.po_header_id = POL.po_header_id (+) -- JOIN
AND POL.po_line_id = PLL.po_line_id (+) -- JOIN
-- Need NVL(..) because we cannot use (+) with the IN operator:
-- : Include PREPAYMENT shipment_types in locking.
AND NVL(PLL.shipment_type, 'STANDARD') IN ('STANDARD', 'PLANNED', 'PREPAYMENT')
AND PLL.line_location_id = POD.line_location_id (+) -- JOIN
FOR UPDATE NOWAIT;
SELECT 1
FROM po_headers POH, po_lines POL, po_line_locations PLL
WHERE POH.po_header_id = p_document_id
AND POH.po_header_id = POL.po_header_id (+) -- JOIN
AND POL.po_line_id = PLL.po_line_id (+) -- JOIN
AND PLL.shipment_type (+) = 'PRICE BREAK'
FOR UPDATE NOWAIT;
SELECT 1
FROM po_releases POR, po_line_locations PLL, po_distributions POD
WHERE POR.po_release_id = p_document_id
AND POR.po_release_id = PLL.po_release_id (+) -- JOIN
AND PLL.line_location_id = POD.line_location_id (+) -- JOIN
FOR UPDATE NOWAIT;
SELECT 1
FROM po_requisition_headers porh, po_requisition_lines porl,
po_req_distributions pord
WHERE porh.requisition_header_id = p_document_id
AND porh.requisition_header_id = porl.requisition_header_id (+) -- JOIN
AND porl.requisition_line_id = pord.requisition_line_id (+) -- JOIN
FOR UPDATE NOWAIT;
SELECT 1
INTO l_dummy
FROM po_headers
WHERE po_header_id = p_document_id
AND type_lookup_code IN ('STANDARD','PLANNED');
SELECT 1
INTO l_dummy
FROM po_headers
WHERE po_header_id = p_document_id
AND type_lookup_code IN ('BLANKET','CONTRACT');
SELECT 1
INTO l_dummy
FROM po_releases
WHERE po_release_id = p_document_id;
SELECT 1
INTO l_dummy
FROM po_requisition_headers porh
WHERE porh.requisition_header_id = p_document_id;