Skip to main content
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    file-20: "Cannot assign new barcode to an existing patron"

    • Article Type: General
    • Product: Aleph
    • Product Version: 20

    Problem Symptoms:
    There are numerous occurrences of the following messages in the $data_scratch/p_file_20_report:

    * "Cannot assign new barcode to an existing patron"

    * "check_z308 routine failed. Can not ins/upd record. cur-id nnnnnnnnn."

    A check of the patrons indicates that their patron barcode (z308 type 01) records are missing. The z308 type 01 is a
    required field. When an existing patron lacks it, file-20 automatically rejects any incoming records for the patron --
    including any z308 type 01 -- with the above such messages.

    Uncertain. It *seems* that a faulty file-20 load during the previous week caused these z308 type 01 records to be deleted.

    1. Use the following SQL to confirm that the patrons are missing the z308 type 01; the z308 is in the $usr_library:

    SQL> select z308_rec_key from z308 where z308_rec_key like '01%' and z308_id = 'nnnnnnnnnnnn';

    <where 'nnnnnnnnnnnn' is the Aleph patron record number (the z303_rec_key)>

    If the result is "No rows found", then the patron lacks a z308 type 01.

    2. Run the file-03 ("Export Database Tables") service (to back it up in case there's a problem)

    3. Use GUI Circ or the cir-23 ("Delete Patron Records") service to delete the patrons lacking a z308 type 01. You will *not* be able to delete patrons who have items on loan or who have outstanding requests or fines (as the result of transactions which occurred prior to the problematic deletion of the barcodes).

    4. If the patron has other z308's besides the type 00 (the required Aleph patron record number), then use the following SQL to change one (such as the type 02 or type 99) of those which is PLIF-loaded. (While the lack of a z308 type 00 or type 01 prevents a PLIF record from loading, the lack of other z308 types does not.) But do *not* delete the type 02 or type 99 in these records if it's the "match-type" specified in the PLIF input file.

    5. Do this SQL for each problem patron:

    SQL> update z308 set z308_rec_key = '01nnnnnnnnnnnnnn' where z308_rec_key = 'ttmmmmmmmm';
    SQL> commit;

    <where 'nnnnnnnnnnnnnn' is the patron's barcode, found as the z308 type 01 in the PLIF file which you're trying to load;
    "tt" is type of the additional ID which can temporarily be eliminated; and
    "mmmmmmmm" is the value of the additional ID which is to be temporarily eliminated.

    6. Run file-20 with records which got the errors included.

    7. Check to confirm that the z308 type 01 and type tt records have been successfully recreated.

    Category: Circulation (500)

    • Article last edited: 2/4/2015