CST_XFER_PRICE_ERROR MTL_QP_PRICE.GET_TRANSFER_PRICE: EXCEP NO_DATA_FOUND

(Doc ID 2325218.1)

Last updated on NOVEMBER 06, 2017

Applies to:

Oracle Inventory Management - Version 12.2.5 and later
Information in this document applies to any platform.

Symptoms

On : 12.2.5 version, Pricing Engine

When attempting to run the Interface Trip Stop, the following errors are shown in the log file

ERROR
-----------------------
[31-JUL-17 19:05:22] INV_INTERCOMPANY_INVOICING: MTL_QP_PRICE.get_transfer_price: Selecting Line Identifier...
[31-JUL-17 19:05:22] INV_INTERCOMPANY_INVOICING: MTL_QP_PRICE.get_Transfer_price: p_transaction_id =
[31-JUL-17 19:05:22] INV_INTERCOMPANY_INVOICING: MTL_QP_PRICE.get_Transfer_price: p_order_line_id =
[31-JUL-17 19:05:22] INV_INTERCOMPANY_INVOICING: MTL_QP_PRICE.get_Transfer_price: p_inventory_item_id = 1185131
[31-JUL-17 19:05:22] INV_INTERCOMPANY_INVOICING: MTL_QP_PRICE.get_Transfer_price: p_uom_code = EA
[31-JUL-17 19:05:22] INV_INTERCOMPANY_INVOICING: MTL_QP_PRICE.get_Transfer_price: p_cto_item_flag = N
[31-JUL-17 19:05:22] INV_INTERCOMPANY_INVOICING: MTL_QP_PRICE.get_Transfer_price: p_organization_id = 12
[31-JUL-17 19:05:22] INV_INTERCOMPANY_INVOICING: MTL_QP_PRICE.get_transfer_price: Selecting Header Identifier...
[31-JUL-17 19:05:22] INV_INTERCOMPANY_INVOICING: MTL_QP_PRICE.get_transfer_price: EXCEP NO_DATA_FOUND
[31-JUL-17 19:05:22] INV_INTERCOMPANY_INVOICING: MTL_QP_PRICE.get_transfer_price: EXCEP NO_DATA_FOUND
[31-JUL-17 19:05:22] INV_INTERCOMPANY_INVOICING: l_progress =
[31-JUL-17 19:05:22] Get_Transfer_price: in When Others, l_progress =
[31-JUL-17 19:05:22] Get_Transfer_price: in When Others, l_progress = 4
[31-JUL-17 19:05:22] : GMF_get_transfer_price_PUB.get_transfer_price: return status from INV_TRANSACTION_FLOW_PUB.get_transfer_price: U
[31-JUL-17 19:05:22] : Discrete Xfer. IC Relations do exists between from OU and To OU. Error is being raised and txn will not be shipconfirmed.
[31-JUL-17 19:05:22] : INV_TRANSACTION_FLOW_PUB.get_transfer_price: Error =
[31-JUL-17 19:05:22] : EXC_ERROR in GMF_get_transfer_price_PUB.get_transfer_price:
[31-JUL-17 19:05:22] INV_TXN_MANAGER_GRP: After getting transfer price. Status: E
[31-JUL-17 19:05:22] INV_TXN_MANAGER_GRP: Error in validate_line : ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at "APPS.FND_MSG_PUB", line 279
ORA-06512: at "APPS.CTO_MSG_PUB", line 92
ORA-06512: at "APPS.CTO_TRANSFER_PRICE_PK", line 1301
ORA-06510: PL/SQL: unhan in Package INV_TRANSACTION_FLOW_PUB Procedure GET_TRANSFER_PRICE
[31-JUL-17 19:05:22] INV_TXN_MANAGER_GRP: Error:User-Defined Exception
[31-JUL-17 19:05:22] INV_TXN_MANAGER_PUB: Returned from inv_txn_manager_grp.validate_lines
[31-JUL-17 19:05:22] INV_TXN_MANAGER_PUB: Error in Line Validatin
[31-JUL-17 19:05:22] INV_TXN_MANAGER_PUB: Error in Line Validatin
[31-JUL-17 19:05:22] INV_TXN_MANAGER_PUB: Failed Interface ID : 51512100 Item: 1286598Org : 12
[31-JUL-17 19:05:22] INV_TXN_MANAGER_PUB: All records failed after line validation


ANALYSIS
---------
Interface trip stop program "WSHINTERFACE" is experiencing above unexpected error because procedure INV_TRANSACTION_FLOW_PUB. get_transfer_price_for_item is missing the context of the order line ID of the internal order when making a call to procedure MTL_QP_PRICE.get_transfer_price_ds and get the price for the Interface line which is mostly 0 here for this transaction.

This attribute was already available in a global variable. Getting this value from the global variable and assigning to the local variable will resolve this PL/SQL error in the procedure MTL_QP_PRICE.get_transfer_price_ds and let it return a price of 0 in this case.

In PACKAGE BODY mtl_qp_price, see the query that results in error.
Code snippet

 IF (l_debug = 1) THEN
  print_debug('MTL_QP_PRICE.get_transfer_price: Selecting Header Identifier...');
  END IF;

  SELECT header_id
  INTO l_header_id
  FROM oe_order_lines_all
  WHERE line_id = l_line_id;

  IF (l_debug = 1) THEN
  print_debug('MTL_QP_PRICE.get_transfer_price: Selecting Primary UOM...');
  END IF;

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms