The following lines contain the word 'select', 'insert', 'update' or 'delete':
FUNCTION update_po
(
P_PO_NUMBER VARCHAR2,
P_RELEASE_NUMBER NUMBER,
P_REVISION_NUMBER NUMBER,
P_LINE_NUMBER NUMBER,
P_SHIPMENT_NUMBER NUMBER,
P_NEW_QUANTITY NUMBER,
P_NEW_PRICE NUMBER,
P_NEW_PROMISED_DATE DATE,
P_NEW_NEED_BY_DATE DATE := NULL,
P_LAUNCH_APPROVALS_FLAG VARCHAR2,
P_UPDATE_SOURCE VARCHAR2,
P_VERSION VARCHAR2,
P_OVERRIDE_DATE DATE := NULL,
P_API_ERRORS OUT NOCOPY PO_API_ERRORS_REC_TYPE,
P_BUYER_NAME VARCHAR2 DEFAULT NULL,
P_secondary_quantity NUMBER ,
P_preferred_grade VARCHAR2,
P_org_id IN NUMBER DEFAULT NULL )
RETURN NUMBER
IS
pragma autonomous_transaction;
trace ( 'In update_po for PO Number: '||P_PO_NUMBER,l_module ) ;
l_result:=po_change_api1_s.update_po ( X_PO_NUMBER =>P_PO_NUMBER, --Mandatory
X_RELEASE_NUMBER =>P_RELEASE_NUMBER, X_REVISION_NUMBER =>P_REVISION_NUMBER, --Mandatory
X_LINE_NUMBER =>P_LINE_NUMBER, --Mandatory
X_SHIPMENT_NUMBER =>P_SHIPMENT_NUMBER,
NEW_QUANTITY =>P_NEW_QUANTITY,
NEW_PRICE =>P_NEW_PRICE,
NEW_PROMISED_DATE =>P_NEW_PROMISED_DATE,
NEW_NEED_BY_DATE =>P_NEW_NEED_BY_DATE,
LAUNCH_APPROVALS_FLAG=>P_LAUNCH_APPROVALS_FLAG,
UPDATE_SOURCE =>P_UPDATE_SOURCE,
VERSION =>P_VERSION,
X_OVERRIDE_DATE =>P_OVERRIDE_DATE,
X_API_ERRORS =>P_API_ERRORS,
p_BUYER_NAME =>P_BUYER_NAME,
p_secondary_quantity =>P_secondary_quantity,
p_preferred_grade =>P_preferred_grade,
p_org_id =>P_org_id ) ;
trace ( 'Unable to update PO: '||P_PO_NUMBER||'. '||SQLERRM,l_module ) ;
END update_po;
INSERT
INTO po_interface_errors
(
INTERFACE_TYPE,
INTERFACE_TRANSACTION_ID,
COLUMN_NAME,
ERROR_MESSAGE,
PROCESSING_DATE,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN,
REQUEST_ID,
PROGRAM_APPLICATION_ID,
PROGRAM_ID,
PROGRAM_UPDATE_DATE,
ERROR_MESSAGE_NAME,
TABLE_NAME,
BATCH_ID,
INTERFACE_HEADER_ID,
INTERFACE_LINE_ID,
INTERFACE_DISTRIBUTION_ID,
COLUMN_VALUE,
INTERFACE_LINE_LOCATION_ID,
INTERFACE_ATTR_VALUES_ID,
INTERFACE_ATTR_VALUES_TLP_ID,
PRICE_DIFF_INTERFACE_ID,
TOKEN1_NAME,
TOKEN1_VALUE,
TOKEN2_NAME,
TOKEN2_VALUE,
TOKEN3_NAME,
TOKEN3_VALUE,
TOKEN4_NAME,
TOKEN4_VALUE,
TOKEN5_NAME,
TOKEN5_VALUE,
TOKEN6_NAME,
TOKEN6_VALUE,
APP_NAME
)
VALUES
(
'PO_DOCS_OPEN_INTERFACE',
PO_INTERFACE_ERRORS_S.nextval,
x_msg.column_name(c),
x_msg.message_text(c),
sysdate,
sysdate,
p_userid,
sysdate,
p_userid,
p_userid,
NULL,
p_applid,
p_respid,
sysdate,
x_msg.message_name(c),
x_msg.table_name(c),
p_batch_id,
p_interface_header_id,
p_interface_line_id,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL
);
SELECT interface_line_id,
line_num,
shipment_num,
quantity,
unit_price,
promised_date,
need_by_date,
organization_id
FROM po_lines_interface
WHERE interface_header_id=p_interface_header_id
AND process_code =p_process_code
ORDER BY line_num FOR UPDATE OF po_lines_interface.process_code;
SELECT document_num,
batch_id,
org_id
INTO l_po_number,
l_argument8,
l_argument9
FROM po_headers_interface
WHERE interface_header_id= l_interface_header_id;
SELECT COUNT(1)
INTO l_rec_count
FROM po_lines_interface
WHERE interface_header_id= l_interface_header_id
AND process_code IS NULL;
SELECT COUNT(1)
INTO l_rec_upd_count
FROM po_lines_interface
WHERE interface_header_id= l_interface_header_id
AND process_code ='UPDATE';
SELECT COUNT(1)
INTO l_rec_can_count
FROM po_lines_interface
WHERE interface_header_id= l_interface_header_id
AND process_code ='CANCEL';
trace('Started processing Update - PO Line',l_module);
OPEN l_csr_lines(l_interface_header_id,'UPDATE');
trace('Processing Update - PO Line at line level. Line Num: '||l_line_num,l_module);
SELECT revision_num
INTO l_revision_num
FROM po_headers_all
WHERE segment1= l_po_number
AND org_id = l_argument9;
l_result_lines :=update_po (P_PO_NUMBER =>l_po_number, --Mandatory
P_RELEASE_NUMBER =>l_release_num, P_REVISION_NUMBER =>l_revision_num, --Mandatory
P_LINE_NUMBER =>l_po_lines_rec.line_num, --Mandatory
P_SHIPMENT_NUMBER =>NULL,
P_NEW_QUANTITY =>NULL,
P_NEW_PRICE =>l_po_lines_rec.unit_price,
P_NEW_PROMISED_DATE =>NULL,
P_NEW_NEED_BY_DATE =>NULL,
P_LAUNCH_APPROVALS_FLAG=>L_LAUNCH_APPROVALS_FLAG,
P_UPDATE_SOURCE =>NULL, P_VERSION =>1.0,
P_OVERRIDE_DATE =>NULL, P_API_ERRORS =>x_msg,
P_BUYER_NAME =>NULL,
P_secondary_quantity =>NULL,
P_preferred_grade =>NULL,
P_org_id =>l_po_lines_rec.organization_id );
UPDATE po_lines_interface
SET process_code = 'REJECTED'
WHERE CURRENT OF l_csr_lines;
SELECT revision_num
INTO l_revision_num
FROM po_headers_all
WHERE segment1= l_po_number
AND org_id = l_argument9;
trace('Processing Update - PO Line at shipment level. Line Num, Shipment Num: '||l_line_num||', '||l_po_lines_rec.shipment_num,l_module);
l_result :=update_po ( P_PO_NUMBER =>l_po_number, --Mandatory
P_RELEASE_NUMBER =>l_release_num, P_REVISION_NUMBER =>l_revision_num, --Mandatory
P_LINE_NUMBER =>l_po_lines_rec.line_num, --Mandatory
P_SHIPMENT_NUMBER =>l_po_lines_rec.shipment_num,
P_NEW_QUANTITY =>l_po_lines_rec.quantity,
P_NEW_PRICE =>NULL,
P_NEW_PROMISED_DATE =>l_po_lines_rec.promised_date,
P_NEW_NEED_BY_DATE =>l_po_lines_rec.need_by_date,
P_LAUNCH_APPROVALS_FLAG=>L_LAUNCH_APPROVALS_FLAG,
P_UPDATE_SOURCE =>NULL, P_VERSION =>1.0,
P_OVERRIDE_DATE =>NULL, P_API_ERRORS =>x_msg,
p_BUYER_NAME =>NULL,
p_secondary_quantity =>NULL,
p_preferred_grade =>NULL,
p_org_id =>l_po_lines_rec.organization_id );
UPDATE po_lines_interface
SET process_code = 'ACCEPTED'
WHERE CURRENT OF l_csr_lines;
UPDATE po_lines_interface
SET process_code = 'REJECTED'
WHERE CURRENT OF l_csr_lines;
trace('EXCEPTION: In processing Update - PO line. ',l_module);
trace('Completed processing Update - PO Line',l_module);
UPDATE po_lines_interface
SET process_code = 'ACCEPTED'
WHERE CURRENT OF l_csr_lines;
UPDATE po_lines_interface
SET process_code = 'REJECTED'
WHERE CURRENT OF l_csr_lines;
SELECT revision_num
INTO l_revision_num
FROM po_headers_interface
WHERE interface_header_id= l_interface_header_id;
UPDATE po_headers_all
SET revision_num=l_revision_num
WHERE segment1 = l_po_number
AND org_id = l_argument9;
trace('EXCEPTION: Unable update revision number',l_module);
DELETE
FROM po_distributions_interface
WHERE interface_line_id IN
(SELECT interface_line_id
FROM po_lines_interface
WHERE interface_header_id =l_interface_header_id
AND process_code ='ACCEPTED'
);
DELETE
FROM po_lines_interface
WHERE interface_header_id =l_interface_header_id
AND process_code ='ACCEPTED';
SELECT COUNT(*)
INTO l_lns_count
FROM po_lines_interface
WHERE interface_header_id =l_interface_header_id;
DELETE
FROM po_headers_interface
WHERE interface_header_id =l_interface_header_id;
SELECT po_header_id
INTO p_po_header_id
FROM po_headers_all
WHERE segment1=p_po_number
AND org_id = p_operating_unit;
SELECT segment1
INTO l_po_number
FROM po_headers_all
WHERE segment1=p_po_number
AND org_id = p_operating_unit;
SELECT OPERATING_UNIT
INTO p_operating_unit
FROM ORG_ORGANIZATION_DEFINITIONS
WHERE ORGANIZATION_ID IN
(SELECT INVENTORY_ORGANIZATION_ID
FROM hr_locations
WHERE location_code = p_location_code
);
SELECT eth.party_type ,
eth.party_site_id
INTO p_trading_partner_type,
p_trading_partner_site_id
FROM ecx_tp_headers eth,
ecx_tp_details etd
WHERE eth.tp_header_id = etd.tp_header_id
AND etd.source_tp_location_code=p_trading_location_code;
SELECT client_code
INTO p_client_code
FROM mtl_client_parameters
WHERE trading_partner_site_id = p_trading_partner_site_id;
SELECT pol.line_type
INTO p_line_type
FROM po_system_parameters_all posp,
po_line_types pol
WHERE posp.org_id =p_operating_unit
AND posp.line_type_id=pol.line_type_id;
SELECT user_id
INTO p_user_id
FROM fnd_user
WHERE user_name = upper(p_user_name);
SELECT RESPONSIBILITY_ID,
RESPONSIBILITY_APPLICATION_ID
INTO p_resp_id,
p_appl_id
FROM FND_USER_RESP_GROUPS_ALL
WHERE user_id = p_user_id
AND RESPONSIBILITY_APPLICATION_ID = 201
AND ROWNUM =1;
SELECT TERM_ID INTO p_term_id FROM ap_terms WHERE name=p_term_name;