The following lines contain the word 'select', 'insert', 'update' or 'delete':
D_accruals_allow_update CONSTANT VARCHAR2(100) :=
PO_LOG.get_subprogram_base(D_PACKAGE_BASE, 'accruals_allow_update');
D_retro_account_allows_update CONSTANT VARCHAR2(100) :=
PO_LOG.get_subprogram_base(D_PACKAGE_BASE, 'retro_account_allows_update');
D_attempt_line_price_update CONSTANT VARCHAR2(100) :=
PO_LOG.get_subprogram_base(D_PACKAGE_BASE, 'attempt_line_price_update');
D_check_system_allows_update CONSTANT VARCHAR2(100) :=
PO_LOG.get_subprogram_base(D_PACKAGE_BASE, 'check_system_allows_update');
PROCEDURE check_system_allows_update(
p_po_line_id IN NUMBER
, p_price_break_lookup_code IN VARCHAR2
, p_amount_changed_flag IN VARCHAR2 DEFAULT NULL -- bug#13503748
, x_system_allows_update OUT NOCOPY VARCHAR2)
IS
d_mod CONSTANT VARCHAR2(100) := D_check_system_allows_update;
x_system_allows_update := 'Y';
x_system_allows_update := 'N';
PO_LOG.proc_end(d_mod, 'x_system_allows_update', x_system_allows_update);
END check_system_allows_update;
PROCEDURE attempt_line_price_update(
p_order_quantity IN NUMBER
, p_ship_to_org IN NUMBER
, p_ship_to_loc IN NUMBER
, p_po_line_id IN NUMBER
, p_need_by_date IN DATE
, p_line_location_id IN NUMBER
, p_contract_id IN NUMBER
, p_org_id IN NUMBER
, p_supplier_id IN NUMBER
, p_supplier_site_id IN NUMBER
, p_creation_date IN DATE
, p_order_header_id IN NUMBER
, p_order_line_id IN NUMBER
, p_line_type_id IN NUMBER
, p_item_revision IN VARCHAR2
, p_item_id IN NUMBER
, p_category_id IN NUMBER
, p_supplier_item_num IN VARCHAR2
, p_uom IN VARCHAR2
, p_in_price IN NUMBER
, p_currency_code IN VARCHAR2
, p_price_break_lookup_code IN VARCHAR2
--
, p_draft_id IN NUMBER DEFAULT NULL
, p_src_flag IN VARCHAR2 DEFAULT NULL
, p_doc_sub_type IN VARCHAR2 DEFAULT NULL
--
--
check_system_allows_update(
p_po_line_id => p_order_line_id
, p_price_break_lookup_code => p_price_break_lookup_code
-- p_amount_changed_flag
, x_system_allows_update => x_system_allows_update
);
PO_LOG.stmt(d_mod, d_position, 'x_system_allows_update', x_system_allows_update);
IF (x_system_allows_update = 'Y') THEN
d_position := 100;
PO_LOG.proc_end(d_mod, 'x_system_allows_update', x_system_allows_update);
END attempt_line_price_update;
INSERT INTO PO_VALIDATION_RESULTS_GT
(result_set_id
, entity_type
, entity_id
, column_name
, message_name
)
SELECT
x_result_set_id
, c_ENTITY_TYPE_LINE
, p_line_id_tbl(i)
, c_UNIT_PRICE
, NULL -- TODO: Get message from PM.
FROM
PO_LINES_ALL LINE
, PO_HEADERS_ALL HEADER
WHERE
LINE.po_line_id = p_line_id_tbl(i)
AND HEADER.po_header_id = LINE.po_header_id
AND HEADER.type_lookup_code = c_STANDARD
AND LINE.order_type_lookup_code <> c_RATE
AND EXISTS
(SELECT NULL
FROM PO_DISTRIBUTIONS_ALL DIST
WHERE
DIST.po_line_id = LINE.po_line_id
AND DIST.encumbered_flag = 'Y'
)
AND NVL(p_amt_changed_flag_tbl(i),'N') = 'N'; -- --
PROCEDURE accruals_allow_update(
p_line_id_tbl IN PO_TBL_NUMBER
, x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
, x_result_type OUT NOCOPY VARCHAR2)
IS
d_mod CONSTANT VARCHAR2(100) := D_accruals_allow_update;
l_prevent_price_update_flag VARCHAR2(1);
INSERT INTO PO_SESSION_GT
(key
, num1
)
VALUES
(l_data_key
, p_line_id_tbl(i)
)
;
SELECT
LINE.po_line_id
, HEADER.po_header_id
, HEADER.type_lookup_code
, PARAMS.expense_accrual_code
BULK COLLECT INTO
l_line_id_tbl
, l_header_id_tbl
, l_type_lookup_code_tbl
, l_expense_accrual_code_tbl
FROM
PO_SESSION_GT SES
, PO_LINES_ALL LINE
, PO_HEADERS_ALL HEADER
, PO_SYSTEM_PARAMETERS_ALL PARAMS
WHERE
SES.key = l_data_key
AND LINE.po_line_id = SES.num1
AND HEADER.po_header_id = LINE.po_header_id
AND HEADER.type_lookup_code = c_STANDARD
AND PARAMS.org_id = HEADER.org_id
;
l_prevent_price_update_flag := 'N';
, x_prevent_price_update_flag => l_prevent_price_update_flag
, x_online_req_flag => l_online_req_flag
, x_quantity_released => l_quantity_released
, x_amount_released => l_amount_released);
PO_LOG.stmt(d_mod, d_position, 'l_prevent_price_update_flag', l_prevent_price_update_flag);
IF (l_prevent_price_update_flag = 'Y') THEN
d_position := 400;
END accruals_allow_update;
INSERT INTO PO_VALIDATION_RESULTS_GT
(result_set_id
, entity_type
, entity_id
, column_name
, message_name
)
SELECT
x_result_set_id
, c_ENTITY_TYPE_LINE
, p_line_id_tbl(i)
, c_UNIT_PRICE
, PO_MESSAGE_S.PO_RCV_TRANSACTION_PENDING
FROM DUAL
WHERE EXISTS
(SELECT null
FROM
RCV_TRANSACTIONS_INTERFACE RTI
, PO_LINE_LOCATIONS_ALL POLL
WHERE
RTI.po_line_location_id = POLL.line_location_id
AND POLL.po_line_id = p_line_id_tbl(i)
AND RTI.transaction_status_code = c_PENDING
)
;
PROCEDURE retro_account_allows_update(
p_line_id_tbl IN PO_TBL_NUMBER
, p_price_break_lookup_code_tbl IN PO_TBL_VARCHAR30
, x_results IN OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
, x_result_type OUT NOCOPY VARCHAR2)
IS
d_mod CONSTANT VARCHAR2(100) := D_retro_account_allows_update;
l_retroactive_update_mode VARCHAR2(30);
l_retroactive_update_mode := PO_RETROACTIVE_PRICING_PVT.get_retro_mode();
PO_LOG.stmt(d_mod, d_position, 'l_retroactive_update_mode', l_retroactive_update_mode);
IF (l_retroactive_update_mode = c_ALL_RELEASES) THEN
d_position := 100;
INSERT INTO PO_SESSION_GT
(key
, num1
, char1
)
VALUES
(l_data_key
, p_line_id_tbl(i)
, p_price_break_lookup_code_tbl(i)
)
;
SELECT
SES.num1
, SES.char1
BULK COLLECT INTO
l_line_id_tbl
, l_price_break_lookup_code_tbl
FROM
PO_SESSION_GT SES
, PO_LINES_ALL LINE
, PO_HEADERS_ALL HEADER
WHERE
SES.key = l_data_key
AND LINE.po_line_id = SES.num1
AND HEADER.po_header_id = LINE.po_header_id
AND HEADER.type_lookup_code = c_STANDARD
AND HEADER.authorization_status <> c_INCOMPLETE
AND (SES.char1 IS NULL OR SES.char1 = c_NON_CUMULATIVE)
;
END retro_account_allows_update;
, x_system_allows_update OUT NOCOPY VARCHAR2)
IS
d_mod CONSTANT VARCHAR2(100) := D_attempt_man_mod_pricing;
x_system_allows_update := 'N';
check_system_allows_update( p_po_line_id => p_order_line_id
, p_price_break_lookup_code => p_price_break_lookup_code
, x_system_allows_update => x_system_allows_update
);
PO_LOG.stmt(d_mod, d_position, 'x_system_allows_update', x_system_allows_update);
IF (x_system_allows_update = 'Y') THEN
d_position := 120;
SELECT ph.type_lookup_code,
pl.po_header_id
INTO l_source_document_type,
l_source_document_header_id
FROM po_headers_all ph,
po_lines_all pl
WHERE ph.po_header_id = pl.po_header_id
AND pl.po_line_id = p_po_line_id;
SELECT ph.type_lookup_code,
ph.po_header_id
INTO l_source_document_type,
l_source_document_header_id
FROM po_headers_all ph
WHERE ph.po_header_id = p_contract_id;
PO_LOG.proc_end(d_mod, 'x_system_allows_update', x_system_allows_update);