The following lines contain the word 'select', 'insert', 'update' or 'delete':
g_pkg_name CONSTANT VARCHAR2(30) := 'PO_DOCUMENT_UPDATE_GRP';
PROCEDURE update_document (
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2,
x_return_status OUT NOCOPY VARCHAR2,
p_changes IN OUT NOCOPY PO_CHANGES_REC_TYPE,
p_run_submission_checks IN VARCHAR2,
p_launch_approvals_flag IN VARCHAR2,
p_buyer_id IN NUMBER,
p_update_source IN VARCHAR2,
p_override_date IN DATE,
x_api_errors OUT NOCOPY PO_API_ERRORS_REC_TYPE,
p_approval_background_flag IN VARCHAR2,
p_mass_update_releases IN VARCHAR2, -- Bug 3373453
p_req_chg_initiator IN VARCHAR2 DEFAULT NULL --Bug 14549341
) IS
l_api_name CONSTANT VARCHAR(30) := 'UPDATE_DOCUMENT';
PO_DOCUMENT_UPDATE_PVT.update_document(
p_api_version => 1.0,
p_init_msg_list => p_init_msg_list,
x_return_status => x_return_status,
p_changes => p_changes,
p_run_submission_checks => p_run_submission_checks,
p_launch_approvals_flag => p_launch_approvals_flag,
p_buyer_id => p_buyer_id,
p_update_source => p_update_source,
p_override_date => p_override_date,
x_api_errors => x_api_errors,
p_approval_background_flag => p_approval_background_flag,
p_mass_update_releases => p_mass_update_releases,
p_req_chg_initiator => p_req_chg_initiator --Bug 14549341
);
PO_DOCUMENT_UPDATE_PVT.add_message_list_errors (
p_api_errors => x_api_errors,
x_return_status => x_return_status
);
PO_DOCUMENT_UPDATE_PVT.add_message_list_errors (
p_api_errors => x_api_errors,
x_return_status => x_return_status
);
END update_document;
PROCEDURE update_document (
p_PO_NUMBER IN VARCHAR2,
p_RELEASE_NUMBER IN NUMBER,
p_REVISION_NUMBER IN NUMBER,
p_LINE_NUMBER IN NUMBER,
p_SHIPMENT_NUMBER IN NUMBER,
p_NEW_QUANTITY IN NUMBER,
p_NEW_PRICE IN NUMBER,
p_NEW_PROMISED_DATE IN DATE,
p_NEW_NEED_BY_DATE IN DATE,
p_LAUNCH_APPROVALS_FLAG IN VARCHAR2,
p_UPDATE_SOURCE IN VARCHAR2,
p_OVERRIDE_DATE IN DATE,
p_VERSION IN NUMBER,
x_result IN OUT NOCOPY NUMBER,
x_api_errors OUT NOCOPY PO_API_ERRORS_REC_TYPE,
p_BUYER_NAME IN VARCHAR2 default NULL, /* Bug:2986718 */
--
p_secondary_qty IN NUMBER ,
p_preferred_grade IN VARCHAR2
--
) IS
l_api_version CONSTANT NUMBER := 2.0;
l_api_name CONSTANT VARCHAR2(50) := 'UPDATE_DOCUMENT';
select po_header_id, revision_num,
NVL(authorization_status, 'INCOMPLETE'), type_lookup_code
from po_headers
where segment1 = p_PO_NUMBER
and type_lookup_code IN ('STANDARD', 'BLANKET', 'PLANNED');
select po_release_id, revision_num,
NVL(authorization_status, 'INCOMPLETE'), release_type
from po_releases
where po_header_id = p_po_header_id
and release_num = p_RELEASE_NUMBER;
select po_line_id
from po_lines
where po_header_id = p_po_header_id
and line_num = p_LINE_NUMBER;
select line_location_id
from po_line_locations
where po_line_id = p_po_line_id
and shipment_num = p_SHIPMENT_NUMBER;
select line_location_id
from po_line_locations
where po_line_id = p_po_line_id
and po_release_id = p_po_release_id
and shipment_num = p_SHIPMENT_NUMBER;
PO_DOCUMENT_UPDATE_PVT.add_error (
p_api_errors => x_api_errors,
x_return_status => l_return_status,
p_message_name => 'PO_INVALID_DOC_IDS',
p_table_name => 'PO_HEADERS',
p_column_name => 'PO_HEADER_ID'
);
PO_DOCUMENT_UPDATE_PVT.add_error (
p_api_errors => x_api_errors,
x_return_status => l_return_status,
p_message_name => 'PO_CHNG_INVALID_RELEASE_NUM',
p_table_name => 'PO_RELEASES',
p_column_name => 'PO_RELEASE_ID'
);
PO_DOCUMENT_UPDATE_PVT.add_error (
p_api_errors => x_api_errors,
x_return_status => l_return_status,
p_message_name => l_message_name, --
p_table_name => l_header_table_name,
p_column_name => 'TYPE_LOOKUP_CODE'
);
PO_DOCUMENT_UPDATE_PVT.add_error (
p_api_errors => x_api_errors,
x_return_status => l_return_status,
p_message_name => l_message_name, --
p_table_name => l_header_table_name,
p_column_name => 'RELEASE_TYPE'
);
PO_DOCUMENT_UPDATE_PVT.add_error (
p_api_errors => x_api_errors,
x_return_status => l_return_status,
p_message_name => 'PO_ALL_DOC_CANNOT_BE_OPENED',
p_table_name => l_header_table_name,
p_column_name => 'AUTHORIZATION_STATUS'
);
PO_DOCUMENT_UPDATE_PVT.add_error (
p_api_errors => x_api_errors,
x_return_status => l_return_status,
p_message_name => 'PO_CHNG_REVISION_NOT_MATCH',
p_table_name => l_header_table_name,
p_column_name => 'REVISION_NUM'
);
PO_DOCUMENT_UPDATE_PVT.add_error (
p_api_errors => x_api_errors,
x_return_status => l_return_status,
p_message_name => 'PO_CHNG_INVALID_LINE_NUM',
p_table_name => 'PO_LINES',
p_column_name => 'PO_LINE_ID'
);
PO_DOCUMENT_UPDATE_PVT.add_error (
p_api_errors => x_api_errors,
x_return_status => l_return_status,
p_message_name => 'PO_CHNG_NO_DATE_CHANGE_LINE',
p_table_name => 'PO_LINES',
p_column_name => 'PROMISED_DATE'
);
PO_DOCUMENT_UPDATE_PVT.add_error (
p_api_errors => x_api_errors,
x_return_status => l_return_status,
p_message_name => 'PO_CHNG_NO_NEED_DATE_ON_LINE',
p_table_name => 'PO_LINES',
p_column_name => 'NEED_BY_DATE'
);
PO_DOCUMENT_UPDATE_PVT.add_error (
p_api_errors => x_api_errors,
x_return_status => l_return_status,
p_message_name => 'PO_CHNG_INVALID_SHIPMENT_NUM',
p_table_name => 'PO_LINE_LOCATIONS',
p_column_name => 'LINE_LOCATION_ID'
);
PO_DOCUMENT_UPDATE_PVT.add_error (
p_api_errors => x_api_errors,
x_return_status => l_return_status,
p_message_name => 'PO_CHNG_INVALID_SHIPMENT_NUM',
p_table_name => 'PO_LINE_LOCATIONS',
p_column_name => 'LINE_LOCATION_ID'
);
SELECT count(*)
INTO l_shipment_count
FROM po_line_locations
WHERE po_line_id = l_po_line_id
AND shipment_type = l_document_subtype;
PO_DOCUMENT_UPDATE_PVT.add_error (
p_api_errors => x_api_errors,
x_return_status => l_return_status,
p_message_name => 'PO_CHNG_PO_NO_SHIP_PRICE',
p_table_name => 'PO_LINE_LOCATIONS',
p_column_name => 'PRICE_OVERRIDE'
);
PO_DOCUMENT_UPDATE_PVT.add_error (
p_api_errors => x_api_errors,
x_return_status => l_return_status,
p_message_name => 'PO_PDOI_DERV_ERROR',
p_column_name => 'P_BUYER_NAME',
p_token_name1 => 'COLUMN_NAME',
p_token_value1 => 'P_BUYER_NAME',
p_token_name2 => 'VALUE',
p_token_value2 => p_buyer_name
);
PO_DOCUMENT_UPDATE_PVT.update_document(
p_api_version => 1.0,
p_init_msg_list => FND_API.G_TRUE,
x_return_status => l_return_status,
p_changes => l_changes,
p_run_submission_checks => FND_API.G_FALSE,
p_launch_approvals_flag => l_launch_approvals_flag,
p_buyer_id => l_buyer_id,
p_update_source => p_update_source,
p_override_date => p_override_date,
x_api_errors => x_api_errors
);
PO_DOCUMENT_UPDATE_PVT.add_message_list_errors (
p_api_errors => x_api_errors,
x_return_status => l_return_status
);
PO_DOCUMENT_UPDATE_PVT.add_message_list_errors (
p_api_errors => x_api_errors,
x_return_status => l_return_status
);
END update_document;
PO_DOCUMENT_UPDATE_PVT.add_error (
p_api_errors => p_api_errors,
x_return_status => l_return_status,
p_message_name => 'PO_ALL_CNL_PARAM_NULL',
p_column_name => 'P_PO_NUMBER'
);
PO_DOCUMENT_UPDATE_PVT.add_error (
p_api_errors => p_api_errors,
x_return_status => l_return_status,
p_message_name => 'PO_ALL_CNL_PARAM_NULL',
p_column_name => 'P_REVISION_NUMBER'
);
PO_DOCUMENT_UPDATE_PVT.add_error (
p_api_errors => p_api_errors,
x_return_status => l_return_status,
p_message_name => 'PO_CHNG_INVALID_LAUNCH_FLAG',
p_column_name => 'P_LAUNCH_APPROVALS_FLAG');
PO_DOCUMENT_UPDATE_PVT.add_error (
p_api_errors => p_api_errors,
x_return_status => l_return_status,
p_message_name => 'PO_ALL_CNL_PARAM_NULL',
p_column_name => 'P_LINE_NUMBER'
);
PO_DOCUMENT_UPDATE_PVT.add_error (
p_api_errors => p_api_errors,
x_return_status => l_return_status,
p_message_name => 'PO_CHNG_ONE_INPUT_REQUIRED');
p_mass_update_releases IN VARCHAR2
) IS
l_proc_name CONSTANT VARCHAR2(30) := 'LAUNCH_PO_APPROVAL_WF';
PO_DOCUMENT_UPDATE_PVT.launch_po_approval_wf (
p_api_version => 1.0,
p_init_msg_list => FND_API.G_FALSE,
x_return_status => x_return_status,
p_document_id => p_document_id,
p_document_type => p_document_type,
p_document_subtype => p_document_subtype,
p_preparer_id => p_preparer_id,
p_approval_background_flag => p_approval_background_flag,
p_mass_update_releases => p_mass_update_releases,
p_retroactive_price_change => NULL
);