Performance delays in Invoice Interface / ORA-01722: invalid number , When Using Header Level Invoicing
(Doc ID 1273690.1)
Last updated on OCTOBER 05, 2017
Applies to:Oracle Order Management - Version 12.1.3 to 12.1.3 [Release 12.1]
Information in this document applies to any platform.
Find that in Release 12 (R12), the High Volume Order Processing (HVOP) performance when processing / importing orders with Header-Level Invoicing flow is poor. This performance issue was fixed in 11i.
In R12, the following SQL from package OE_INVOICE_WF is causing the problem:
SELECT COUNT(1) FROM RA_INTERFACE_LINES_ALL WHERE LINE_TYPE = 'LINE' AND INTERFACE_LINE_CONTEXT = 'ORDER ENTRY' AND INTERFACE_LINE_ATTRIBUTE6 IN (SELECT LINE_ID FROM OE_ORDER_LINES_ALL WHERE HEADER_ID=:B2 ) AND SALES_ORDER = TO_CHAR(:B1 ) AND SALES_ORDER_LINE IS NOT NULL
But 11i, the SQL from the same package looks like this:
where line_type = 'LINE'
and interface_line_context = 'ORDER ENTRY'
and interface_line_attribute6 IN (select to_char(line_id) from oe_order_lines_all where header_id=l_header_id) -- bug#6662802: added to_char()
and interface_line_attribute1 = l_order_number -- Added for bug 6610480
and sales_order_line IS NOT NULL; -- Added for bug 6610480
An additional issue caused due the same code , one might also see the ORA-01722: invalid number error , during the Invoice Interface activity
The difference seems to be -
1. In 11i, the TO_CHAR(LINE_ID) uses the index by doing explicit datatype conversion.
2. In R12, character column is compared to numeric which prevents proper use of index.
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!
In this Document