The following lines contain the word 'select', 'insert', 'update' or 'delete':
PROCEDURE delete_asl_ref
( x_return_status OUT NOCOPY VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
);
PROCEDURE delete_org_assignments
( x_return_status OUT NOCOPY VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
);
PROCEDURE delete_drop_ship_po_links
( x_return_status OUT NOCOPY VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
);
PROCEDURE delete_fte
( x_return_status OUT NOCOPY VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
);
PROCEDURE delete_pon
( x_return_status OUT NOCOPY VARCHAR2,
p_purge_entity IN VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
);
PROCEDURE delete_contract_terms
( x_return_status OUT NOCOPY VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
);
PROCEDURE delete_price_differentials
( x_return_status OUT NOCOPY VARCHAR2,
p_purge_entity IN VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
);
PROCEDURE delete_attr_values
( x_return_status OUT NOCOPY VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
);
PROCEDURE delete_po_approval_list
( x_return_status OUT NOCOPY VARCHAR2,
p_purge_entity IN VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
);
PROCEDURE delete_req_attachments
( x_return_status OUT NOCOPY VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
);
PROCEDURE delete_po_attachments
( x_return_status OUT NOCOPY VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
);
PROCEDURE delete_po_drafts
( x_return_status OUT NOCOPY VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
);
INSERT INTO po_purge_po_list
( po_header_id,
purge_name,
double_check_flag
)
SELECT PH.po_header_id,
p_purge_name,
'Y'
FROM po_headers PH
WHERE PH.type_lookup_code IN ('STANDARD', 'PLANNED',
'BLANKET', 'CONTRACT')
AND PH.last_update_date <= p_last_activity_date
AND (PH.closed_code = 'FINALLY CLOSED'
OR PH.cancel_flag = 'Y')
AND NOT EXISTS
(SELECT NULL
FROM po_releases PR
WHERE PR.po_header_id = PH.po_header_id
AND PR.last_update_date > p_last_activity_date)
AND NOT EXISTS
(SELECT NULL
FROM po_lines PL
WHERE PL.po_header_id = PH.po_header_id
AND (
PL.last_update_date > p_last_activity_date
OR
EXISTS (
SELECT NULL
FROM po_price_differentials PPD
WHERE PPD.entity_type IN ('PO LINE',
'BLANKET LINE')
AND PPD.entity_id = PL.po_line_id
AND PPD.last_update_date >
p_last_activity_date)))
AND NOT EXISTS
(SELECT NULL
FROM po_line_locations PLL
WHERE PLL.po_header_id = PH.po_header_id
AND (
PLL.last_update_date > p_last_activity_date
OR
EXISTS (
SELECT NULL
FROM po_price_differentials PPD
WHERE PPD.entity_type = 'PRICE BREAK'
AND PPD.entity_id = PLL.line_location_id
AND PPD.last_update_date >
p_last_activity_date)))
AND NOT EXISTS
(SELECT NULL
FROM po_distributions PD
WHERE PD.po_header_id = PH.po_header_id
AND (PD.last_update_date > p_last_activity_date
OR
EXISTS
(SELECT NULL
FROM ap_invoice_distributions AD
WHERE AD.po_distribution_id =
PD.po_distribution_id)))
AND NOT EXISTS
(SELECT NULL
FROM rcv_transactions RT
WHERE RT.po_header_id = PH.po_header_id
AND RT.last_update_date > p_last_activity_date);
INSERT INTO po_purge_po_list
( po_header_id,
purge_name,
double_check_flag
)
SELECT PH.po_header_id,
p_purge_name,
'Y'
FROM po_headers PH
WHERE PH.type_lookup_code IN ('STANDARD', 'PLANNED',
'BLANKET', 'CONTRACT')
AND PH.last_update_date <= p_last_activity_date
AND (PH.closed_code = 'FINALLY CLOSED'
OR PH.cancel_flag = 'Y')
AND NOT EXISTS
(SELECT NULL
FROM po_releases PR
WHERE PR.po_header_id = PH.po_header_id
AND PR.last_update_date > p_last_activity_date)
AND NOT EXISTS
(SELECT NULL
FROM po_lines PL
WHERE PL.po_header_id = PH.po_header_id
AND (
PL.last_update_date > p_last_activity_date
OR
EXISTS (
SELECT NULL
FROM po_price_differentials PPD
WHERE PPD.entity_type IN ('PO LINE',
'BLANKET LINE')
AND PPD.entity_id = PL.po_line_id
AND PPD.last_update_date >
p_last_activity_date)))
AND NOT EXISTS
(SELECT NULL
FROM po_line_locations PLL
WHERE PLL.po_header_id = PH.po_header_id
AND (
PLL.last_update_date > p_last_activity_date
OR
EXISTS (
SELECT NULL
FROM po_price_differentials PPD
WHERE PPD.entity_type = 'PRICE BREAK'
AND PPD.entity_id = PLL.line_location_id
AND PPD.last_update_date >
p_last_activity_date)))
AND NOT EXISTS
(SELECT NULL
FROM po_distributions PD
WHERE PD.po_header_id = PH.po_header_id
AND PD.last_update_date > p_last_activity_date)
AND NOT EXISTS
(SELECT NULL
FROM rcv_transactions RT
WHERE RT.po_header_id = PH.po_header_id
AND RT.last_update_date > p_last_activity_date);
INSERT INTO po_purge_req_list
( requisition_header_id,
purge_name,
double_check_flag
)
SELECT PRH.requisition_header_id,
p_purge_name,
'Y'
FROM po_requisition_headers PRH
WHERE PRH.last_update_date <= p_last_activity_date
AND (PRH.closed_code = 'FINALLY CLOSED'
OR PRH.authorization_status = 'CANCELLED')
AND NOT EXISTS
(SELECT NULL
FROM po_requisition_lines PRL
WHERE PRL.requisition_header_id = PRH.requisition_header_id
AND NVL(PRL.modified_by_agent_flag, 'N') = 'N'
AND (PRL.last_update_date > p_last_activity_date
OR
PRL.source_type_code = 'INVENTORY'
OR
EXISTS (
SELECT NULL
FROM po_price_differentials PPD
WHERE PPD.entity_type = 'REQ LINE'
AND PPD.entity_id = PRL.requisition_line_id
AND PPD.last_update_date >
p_last_activity_date)
OR
EXISTS (
SELECT NULL
FROM po_req_distributions PRD
WHERE PRD.requisition_line_id =
PRL.requisition_line_id
AND PRD.last_update_date >
p_last_activity_date)));
PROCEDURE delete_req_related_records
( x_return_status OUT NOCOPY VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
) IS
l_api_name VARCHAR2(50) := 'delete_req_related_records';
delete_price_differentials
( x_return_status => l_return_status,
p_purge_entity => 'REQ',
p_range_low => p_range_low,
p_range_high => p_range_high
);
delete_pon
( x_return_status => l_return_status,
p_purge_entity => 'REQ',
p_range_low => p_range_low,
p_range_high => p_range_high
);
delete_po_approval_list
( x_return_status => l_return_status,
p_purge_entity => 'REQ',
p_range_low => p_range_low,
p_range_high => p_range_high
);
delete_req_attachments
( x_return_status => l_return_status,
p_range_low => p_range_low,
p_range_high => p_range_high
);
END delete_req_related_records;
PROCEDURE delete_po_related_records
( x_return_status OUT NOCOPY VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
) IS
l_api_name VARCHAR2(50) := 'delete_po_related_records';
delete_asl_ref
( x_return_status => l_return_status,
p_range_low => p_range_low,
p_range_high => p_range_high
);
delete_org_assignments
( x_return_status => l_return_status,
p_range_low => p_range_low,
p_range_high => p_range_high
);
delete_drop_ship_po_links
( x_return_status => l_return_status,
p_range_low => p_range_low,
p_range_high => p_range_high
);
delete_fte
( x_return_status => l_return_status,
p_range_low => p_range_low,
p_range_high => p_range_high
);
delete_pon
( x_return_status => l_return_status,
p_purge_entity => 'PO',
p_range_low => p_range_low,
p_range_high => p_range_high
);
delete_contract_terms
( x_return_status => l_return_status,
p_range_low => p_range_low,
p_range_high => p_range_high
);
delete_price_differentials
( x_return_status => l_return_status,
p_purge_entity => 'PO',
p_range_low => p_range_low,
p_range_high => p_range_high
);
delete_attr_values
( x_return_status => l_return_status,
p_range_low => p_range_low,
p_range_high => p_range_high
);
delete_po_attachments
( x_return_status => l_return_status,
p_range_low => p_range_low,
p_range_high => p_range_high
);
delete_po_drafts
( x_return_status => l_return_status,
p_range_low => p_range_low,
p_range_high => p_range_high
);
END delete_po_related_records;
SELECT requisition_header_id
FROM po_purge_req_list
WHERE double_check_flag = 'Y';
UPDATE po_purge_req_list PPRL
SET PPRL.double_check_flag = 'N'
WHERE PPRL.requisition_header_id = l_in_rec.entity_ids(i)
AND l_out_rec.purge_allowed(i) <> 'Y';
SELECT po_header_id
FROM po_purge_po_list
WHERE double_check_flag = 'Y';
UPDATE po_purge_po_list PPL
SET PPL.double_check_flag = 'N'
WHERE PPL.po_header_id = l_in_rec.header_ids(i)
AND l_out_rec.purge_allowed(i) <> 'Y';
SELECT po_header_id
FROM po_purge_po_list
WHERE double_check_flag = 'Y';
UPDATE po_purge_po_list PPL
SET PPL.double_check_flag = 'N'
WHERE PPL.po_header_id = l_in_rec.entity_ids(i)
AND l_out_rec.purge_allowed(i) <> 'Y';
SELECT po_header_id
FROM po_purge_po_list
WHERE double_check_flag = 'Y';
UPDATE po_purge_po_list PPL
SET PPL.double_check_flag = 'N'
WHERE PPL.po_header_id = l_hdr_id_tbl(i)
AND l_purge_allowed_tbl(i) <> 'Y';
SELECT po_header_id
FROM po_purge_po_list
WHERE double_check_flag = 'Y';
UPDATE po_purge_po_list PPL
SET PPL.double_check_flag = 'N'
WHERE PPL.po_header_id = l_in_rec.entity_ids(i)
AND l_out_rec.purge_allowed(i) <> 'Y';
SELECT po_header_id
FROM po_purge_po_list
WHERE double_check_flag = 'Y';
UPDATE po_purge_po_list PPL
SET PPL.double_check_flag = 'N'
WHERE PPL.po_header_id = l_out_tbl(i);
PROCEDURE delete_asl_ref
( x_return_status OUT NOCOPY VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
) IS
l_api_name VARCHAR2(50) := 'delete_asl_ref';
DELETE
FROM po_asl_documents PAD
WHERE PAD.document_header_id IN
( SELECT PPL.po_header_id
FROM po_purge_po_list PPL
WHERE PPL.double_check_flag = 'Y'
AND PPL.po_header_id BETWEEN p_range_low
AND p_range_high);
END delete_asl_ref;
PROCEDURE delete_org_assignments
( x_return_status OUT NOCOPY VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
) IS
l_api_name VARCHAR2(50) := 'delete_org_assignments';
DELETE
FROM po_ga_org_assignments PGOA
WHERE PGOA.po_header_id IN
(SELECT PPL.po_header_id
FROM po_purge_po_list PPL
WHERE PPL.double_check_flag = 'Y'
AND PPL.po_header_id BETWEEN p_range_low
AND p_range_high);
message => 'Deleted PGOA rowcount = ' || SQL%ROWCOUNT
);
DELETE
FROM po_ga_org_assignments_archive PGOAA
WHERE PGOAA.po_header_id IN
(SELECT PPL.po_header_id
FROM po_purge_po_list PPL
WHERE PPL.double_check_flag = 'Y'
AND PPL.po_header_id BETWEEN p_range_low
AND p_range_high);
message => 'Deleted PGOAA rowcount = ' || SQL%ROWCOUNT
);
END delete_org_assignments;
PROCEDURE delete_drop_ship_po_links
( x_return_status OUT NOCOPY VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
) IS
l_api_name VARCHAR2(50) := 'delete_drop_ship_po_links';
SELECT PPL.po_header_id
BULK COLLECT
INTO l_po_hdr_tbl
FROM po_purge_po_list PPL
WHERE PPL.po_header_id BETWEEN p_range_low AND p_range_high
AND PPL.double_check_flag = 'Y';
END delete_drop_ship_po_links;
PROCEDURE delete_fte
( x_return_status OUT NOCOPY VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
) IS
l_api_name VARCHAR2(50) := 'delete_fte';
SELECT PPL.po_header_id
BULK COLLECT
INTO l_fte_in_rec.header_ids
FROM po_purge_po_list PPL
WHERE PPL.double_check_flag = 'Y'
AND PPL.po_header_id BETWEEN p_range_low AND p_range_high;
END delete_fte;
PROCEDURE delete_pon
( x_return_status OUT NOCOPY VARCHAR2,
p_purge_entity IN VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
) IS
l_api_name VARCHAR2(50) := 'delete_pon';
SELECT PPL.po_header_id
BULK COLLECT
INTO l_in_rec.entity_ids
FROM po_purge_po_list PPL
WHERE PPL.double_check_flag = 'Y'
AND PPL.po_header_id BETWEEN p_range_low AND p_range_high;
SELECT PPRL.requisition_header_id
BULK COLLECT
INTO l_in_rec.entity_ids
FROM po_purge_req_list PPRL
WHERE PPRL.double_check_flag = 'Y'
AND PPRL.requisition_header_id BETWEEN p_range_low
AND p_range_high;
END delete_pon;
PROCEDURE delete_contract_terms
( x_return_status OUT NOCOPY VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
) IS
l_api_name VARCHAR2(50) := 'delete_contract_terms';
SELECT DECODE (PH.type_lookup_code, 'STANDARD', 'PO_STANDARD',
'BLANKET' , 'PA_BLANKET',
'CONTRACT', 'PA_CONTRACT') DOC_TYPE,
PH.po_header_id DOC_ID
FROM po_headers PH,
po_purge_po_list PPL
WHERE PH.po_header_id = PPL.po_header_id
AND PPL.double_check_flag = 'Y'
AND PPL.po_header_id BETWEEN p_range_low AND p_range_high
AND PH.type_lookup_code IN ('STANDARD', 'BLANKET', 'CONTRACT')
AND PH.conterms_exist_flag = 'Y';
'delete_contract_terms'
);
END delete_contract_terms;
PROCEDURE delete_price_differentials
( x_return_status OUT NOCOPY VARCHAR2,
p_purge_entity IN VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
) IS
l_api_name VARCHAR2(50) := 'delete_price_differentials';
DELETE
FROM po_price_differentials PPD
WHERE PPD.entity_type = 'REQ LINE'
AND EXISTS (
SELECT NULL
FROM po_purge_req_list PPRL,
po_requisition_lines RL
WHERE PPRL.requisition_header_id =
RL.requisition_header_id
AND RL.requisition_line_id = PPD.entity_id
AND PPRL.double_check_flag = 'Y'
AND PPRL.requisition_header_id BETWEEN p_range_low
AND p_range_high);
message => 'Deleted PPD rowcount = ' || SQL%ROWCOUNT
);
DELETE
FROM po_price_differentials PPD
WHERE PPD.entity_type IN ('PO LINE', 'BLANKET LINE')
AND EXISTS (
SELECT NULL
FROM po_purge_po_list PPL,
po_lines POL
WHERE PPL.po_header_id = POL.po_header_id
AND POL.po_line_id = PPD.entity_id
AND PPL.double_check_flag = 'Y'
AND PPL.po_header_id BETWEEN p_range_low
AND p_range_high);
message => 'Deleted PPD rowcount = ' || SQL%ROWCOUNT
);
DELETE
FROM po_price_differentials_archive PPD
WHERE PPD.entity_type IN ('PO LINE', 'BLANKET LINE')
AND EXISTS (
SELECT NULL
FROM po_purge_po_list PPL,
po_lines POL
WHERE PPL.po_header_id = POL.po_header_id
AND POL.po_line_id = PPD.entity_id
AND PPL.double_check_flag = 'Y'
AND PPL.po_header_id BETWEEN p_range_low
AND p_range_high);
message => 'Deleted PPDA rowcount = ' || SQL%ROWCOUNT
);
DELETE
FROM po_price_differentials PPD
WHERE PPD.entity_type = 'PRICE BREAK'
AND EXISTS (
SELECT NULL
FROM po_purge_po_list PPL,
po_line_locations PLL
WHERE PPL.po_header_id = PLL.po_header_id
AND PLL.line_location_id = PPD.entity_id
AND PPL.double_check_flag = 'Y'
AND PPL.po_header_id BETWEEN p_range_low
AND p_range_high);
message => 'Deleted PPD rowcount = ' || SQL%ROWCOUNT
);
DELETE
FROM po_price_differentials_archive PPD
WHERE PPD.entity_type = 'PRICE BREAK'
AND EXISTS (
SELECT NULL
FROM po_purge_po_list PPL,
po_line_locations PLL
WHERE PPL.po_header_id = PLL.po_header_id
AND PLL.line_location_id = PPD.entity_id
AND PPL.double_check_flag = 'Y'
AND PPL.po_header_id BETWEEN p_range_low
AND p_range_high);
message => 'Deleted PPDA rowcount = ' || SQL%ROWCOUNT
);
END delete_price_differentials;
PROCEDURE delete_attr_values
( x_return_status OUT NOCOPY VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
) IS
l_api_name VARCHAR2(50) := 'delete_attr_values';
DELETE
FROM po_price_differentials PPD
WHERE PPD.entity_type IN ('PO LINE', 'BLANKET LINE')
AND EXISTS (
SELECT NULL
FROM po_purge_po_list PPL,
po_lines POL
WHERE PPL.po_header_id = POL.po_header_id
AND POL.po_line_id = PPD.entity_id
AND PPL.double_check_flag = 'Y'
AND PPL.po_header_id BETWEEN p_range_low
AND p_range_high);
message => 'Deleted PPD rowcount = ' || SQL%ROWCOUNT
);
DELETE
FROM po_attribute_values PAV
WHERE PAV.po_line_id IN
( SELECT po_line_id
FROM po_purge_po_list PPL,
po_lines POL
WHERE PPL.po_header_id = POL.po_header_id
AND PPL.double_check_flag = 'Y'
AND PPL.po_header_id BETWEEN p_range_low
AND p_range_high);
message => 'Deleted PAV rowcount = ' || SQL%ROWCOUNT
);
DELETE
FROM po_attribute_values_tlp PAVT
WHERE PAVT.po_line_id IN
( SELECT po_line_id
FROM po_purge_po_list PPL,
po_lines POL
WHERE PPL.po_header_id = POL.po_header_id
AND PPL.double_check_flag = 'Y'
AND PPL.po_header_id BETWEEN p_range_low
AND p_range_high);
message => 'Deleted PAVT rowcount = ' || SQL%ROWCOUNT
);
END delete_attr_values;
PROCEDURE delete_req_attachments
( x_return_status OUT NOCOPY VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
) IS
l_api_name VARCHAR2(50) := 'delete_req_attachments';
SELECT PPRL.requisition_header_id
FROM po_purge_req_list PPRL
WHERE PPRL.requisition_header_id BETWEEN p_range_low AND p_range_high
AND PPRL.double_check_flag = 'Y';
SELECT PRL.requisition_line_id
FROM po_purge_req_list PPRL,
po_requisition_lines PRL
WHERE PPRL.requisition_header_id BETWEEN p_range_low AND p_range_high
AND PPRL.double_check_flag = 'Y'
AND PPRL.requisition_header_id = PRL.requisition_header_id;
FND_ATTACHED_DOCUMENTS2_PKG.delete_attachments
( x_entity_name => 'REQ_HEADERS',
x_pk1_value => rec.requisition_header_id,
x_delete_document_flag => 'Y'
);
FND_ATTACHED_DOCUMENTS2_PKG.delete_attachments
( x_entity_name => 'REQ_LINES',
x_pk1_value => rec.requisition_line_id,
x_delete_document_flag => 'Y'
);
END delete_req_attachments;
PROCEDURE delete_po_attachments
( x_return_status OUT NOCOPY VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
) IS
l_api_name VARCHAR2(50) := 'delete_po_attachments';
SELECT PPL.po_header_id
FROM po_purge_po_list PPL
WHERE PPL.po_header_id BETWEEN p_range_low AND p_range_high
AND PPL.double_check_flag = 'Y';
SELECT PR.po_release_id
FROM po_purge_po_list PPL,
po_releases PR
WHERE PPL.po_header_id BETWEEN p_range_low AND p_range_high
AND PPL.double_check_flag = 'Y'
AND PPL.po_header_id = PR.po_header_id;
SELECT POL.po_line_id
FROM po_purge_po_list PPL,
po_lines POL
WHERE PPL.po_header_id BETWEEN p_range_low AND p_range_high
AND PPL.double_check_flag = 'Y'
AND PPL.po_header_id = POL.po_header_id;
SELECT POLL.line_location_id
FROM po_purge_po_list PPL,
po_line_locations POLL
WHERE PPL.po_header_id BETWEEN p_range_low AND p_range_high
AND PPL.double_check_flag = 'Y'
AND PPL.po_header_id = POLL.po_header_id;
FND_ATTACHED_DOCUMENTS2_PKG.delete_attachments
( x_entity_name => 'PO_HEADERS',
x_pk1_value => rec.po_header_id,
x_delete_document_flag => 'Y'
);
FND_ATTACHED_DOCUMENTS2_PKG.delete_attachments
( x_entity_name => 'PO_HEAD',
x_pk1_value => rec.po_header_id,
x_delete_document_flag => 'Y'
);
FND_ATTACHED_DOCUMENTS2_PKG.delete_attachments
( x_entity_name => 'PO_RELEASES',
x_pk1_value => rec.po_release_id,
x_delete_document_flag => 'Y'
);
FND_ATTACHED_DOCUMENTS2_PKG.delete_attachments
( x_entity_name => 'PO_REL',
x_pk1_value => rec.po_release_id,
x_delete_document_flag => 'Y'
);
FND_ATTACHED_DOCUMENTS2_PKG.delete_attachments
( x_entity_name => 'PO_IN_GA_LINES',
x_pk1_value => rec.po_line_id,
x_delete_document_flag => 'N',
x_automatically_added_flag=> 'Y'
);
FND_ATTACHED_DOCUMENTS2_PKG.delete_attachments
( x_entity_name => 'PO_LINES',
x_pk1_value => rec.po_line_id,
x_delete_document_flag => 'Y'
);
FND_ATTACHED_DOCUMENTS2_PKG.delete_attachments
( x_entity_name => 'PO_SHIPMENTS',
x_pk1_value => rec.line_location_id,
x_delete_document_flag => 'Y'
);
END delete_po_attachments;
PROCEDURE delete_po_drafts
( x_return_status OUT NOCOPY VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
) IS
l_api_name VARCHAR2(50) := 'delete_drafts';
SELECT DFT.draft_id
BULK COLLECT
INTO l_dft_id_tbl
FROM po_drafts DFT,
po_purge_po_list PPL
WHERE DFT.document_id = PPL.po_header_id
AND PPL.po_header_id BETWEEN p_range_low AND p_range_high
AND PPL.double_check_flag = 'Y';
END delete_po_drafts;
PROCEDURE delete_po_approval_list
( x_return_status OUT NOCOPY VARCHAR2,
p_purge_entity IN VARCHAR2,
p_range_low IN NUMBER,
p_range_high IN NUMBER
) IS
l_api_name VARCHAR2(50) := 'delete_po_approval_list';
DELETE
FROM po_approval_list_lines PALL
WHERE PALL.approval_list_header_id
IN ( SELECT PALH.approval_list_header_id
FROM po_approval_list_headers PALH,
po_purge_req_list PPRL
WHERE PPRL.requisition_header_id =
PALH.document_id
AND PPRL.double_check_flag = 'Y'
AND PPRL.requisition_header_id BETWEEN p_range_low
AND p_range_high
AND PALH.document_type = 'REQUISITION'
);
message => 'Deleted po_appr_lines rowcount = ' || SQL%ROWCOUNT
);
DELETE
FROM po_approval_list_headers PALH
WHERE PALH.document_type = 'REQUISITION'
AND PALH.document_id
IN ( SELECT PPRL.requisition_header_id
FROM po_purge_req_list PPRL
WHERE PPRL.double_check_flag = 'Y'
AND PPRL.requisition_header_Id BETWEEN p_range_low
AND p_range_high
);
message => 'Deleted po_appr_hdrs rowcount = ' || SQL%ROWCOUNT
);
END delete_po_approval_list;
SELECT COUNT(*)
INTO l_count
FROM po_purge_req_list
WHERE double_check_flag = 'Y';
SELECT COUNT(*)
INTO l_count
FROM po_purge_po_list
WHERE double_check_flag = 'Y';