Error:

APP-SQLAP-10771: Could not reserve record.

Unable to pay the AP invoice in full, Got above error while performing the action –> pay in full

Solution:

Database lock from another session is present on the table AP_INVOICES_ALL, AP_INVOICE_LINES_ALL, AP_INVOICE_DISTRIBUTIONS_ALL for the same record that user was trying to modify from application.

a) To determine what session has a lock on this record, please execute the following steps:

1) Run the following to determine what tables are locked:

— — —

SELECT a.object_id, a.session_id, substr(b.object_name, 1, 40)

FROM v$locked_object a, dba_objects b

WHERE a.object_id = b.object_id

AND b.object_name like ‘AP_%’

ORDER BY b.object_name;

— — —

2) Look at the results and insert whatever AP_% tables are returned from a) into the script below:

— — —

SELECT l.*, o.owner object_owner, o.object_name

FROM SYS.all_objects o, v$lock l

WHERE l.TYPE = ‘TM’

AND o.object_id = l.id1

AND o.object_name in (‘AP_INVOICES_ALL’, ‘AP_INVOICE_LINES_ALL’, ‘AP_INVOICE_DISTRIBUTIONS_ALL’);

— —

SELECT SID, SERIAL#

FROM v$session

WHERE SID = <SID from b)>;

— — —

b) Once the locking sessions have been identified, please use the below command to kill such sessions.

— — —

ALTER SYSTEM KILL SESSION ‘sid,serial#’ IMMEDIATE;

Note: SID and serial# to be taken from the output from 1c).

— — —

Another Solution

==============

If there are many items locked you may find it easier to follow this alternative solution:

a) Ensure no-one is working and no processes are running in the system.

b) Bounce the database.

c) Retest the issue

Recent Posts

Start typing and press Enter to search