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

    p_file_20: Z308-VERIFICATION can not be empty when TAB-BOR-ID-VER-NEEDED is "Y"

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

    I'm getting the following error in the $alephe_scratch p_file_20 log:

    Error 0504 : Z308-VERIFICATION can not be empty when TAB-BOR-ID-VER-NEEDED is "Y"

    And this in the $data_scratch p_file_20_report:

    check_z308 routine failed. Can not ins/upd record. cur-id IDnnnnn

    p_file_20 loads various z308 (ID) records:

    the type 00 system-generated patron-ID z308
    the type 01 barcode z308, and
    types 02-up (SSN/University ID, etc.)

    If the PLIF input record is an update, you won't see this error. (The program will take the verification from the existing z308.) But if the input is a new record, then:

    Any type 02-up USER-KEY-REC PLIF input segment must contain a value in the ID-VERIFICATION field.
    Any type 01 USER-KEY-REC PLIF input segment must either contain a value in the ID-VERIFICATION field or specify DEFAULT-BOR-VERIFY-2 = Y or K in tab100.

    If you meet the above requirements for types 01, 02,-up, then the problem is the type 00. This is what we have typically seen when the problem appears after going to v18 Service Pack 1613 or higher -- or going to version 19.

    There is no Verification value for the z308_type 00 record which the system is generating.

    It used to be that the b_file_20_chk_edit_record program would force the z308_verification for type 00 records to be the same as the Z308-KEY-DATA. But this caused the problem described in KB 16384-2019.

    The generation of the z308_verification in b_file_20_merge_z308 occurs only when the TAB100-DEFAULT-BOR-VERIFY-1 is set to "Y" (or "K"). From the tab100 header:

    ! Y = create a default field value, using last-bor-verify-1
    ! counter from z52 (UTIL G/2).
    ! K = the same as 'N', except in the P-FILE-20, where empty
    ! verification field in the input file is populated with the z308-key-data.

    "N" does not generate a z308_verification. Previously, this didn't matter, but now, with v18 rec_change 1575, it does -- and you can no longer specify tab100 DEFAULT-BOR-VERIFY-1 = N in running p_file_20.

    If you want it to use the util g/2 last-bor-verify-1 value, specify "Y".

    If you want it to use the z308-key-data -- as it was previous to v18 rc 1575, specify "K".

    • Article last edited: 10/8/2013