Can't create hold request: unique constraint ...Z37_ID2 violated
- Article Type: General
- Product: Aleph
- Product Version: 17.01
Description:
When we try to place a hold/recall in the Web or GUI, it pauses for a few secords and doesn't give any error, but no request is created. We see these errors in the server log:
Oracle error: io_z37_write
ORA-00001: unique constraint (HVD50.Z37_ID2) violated.
And the hold request is not created. Why?
Resolution:
The z37_id2 index is built on the z37_request_number. (Both the field and the index are new in version 17.02.) The z37_id2 is defined as "UNIQUE".
The unique constraint z37_id2 erro indicates that this request's z37_request_number is already present in an existing request.
The system gets the request number by adding 1 to the xxx50 util g/2 last-request-number. This value should be equal to or greater than any existing z37_request_number. This SQL will give you the current highest z37_request_number:
SQL> select max(z37_request_number) from z37;
In at least one case, though max(z37_request_number) was blank, it seemed that changing the last-request-number to a value higher than "0" corrected the problem.
If the problem is z37's converted from a pre-v17 version which have blank z37_request_number's, please consult KB 4937.
Additional Information
faq
- Article last edited: 10/8/2013