Stripping parenthetical info from z13 and z68 ISBN
- Article Type: General
- Product: Aleph
- Product Version: 18.01
Description:
We're working on creating a z13 for use in collection development.
We have output the ISBN to the z13, using ISBN-ISSN in tab22, but the question has been raised: is there any way to strip parenthetical information from the ISBN?
I can't find a way to do it with the tab_expand_join(s) which I have used to create virtual fields for use with tab22.
So, is there another way to create a virtual field that would be able to output just the numerical portion of the ISBN for use in a user-defined field?
...and a related question .... is there any way to have the z68 either populated with an ISBN without the parenthetical information or _searchable_ without the parenthetical information. Right now, if you key in an ISBN in the Order bar, you get "view a list", unless you use the parenthetical information, which is highly unlikely for an inputter!)
So, two questions relating to parenthetical information in the ISBN -- one relating to z13; one relating to z68.
Resolution:
*Z68*:
The pc_acq_c0501 program calls ./acq/get_isbn_issn to get the isbn for populating the z68_isbn field. get_isbn_issn reads the bib record directly. It does not use the z13_isbn_issn field. There is no real way to affect get_isbn_issn's processing.
But v18 rep_change 1720 addresses this issue. Its main purpose is to correct a problem with 13-digit ISBN's:
Description: Generic Vendor Records Loader (file-96) - When loading records with two ISBN fields that contained the same ISBN (one being the 13-digit ISBN and the other being the 10-digit ISBN), the Z68-ISBN field was not populated. This has been corrected [get_isbn_issn.cbl] so that now Z68-ISBN is populated with the 13-digit ISBN in this case.
But a side-effect -- since it now calls the filing_isbn routine -- is to generate a z68_isbn value with just the number (no parenthetical info).
That will take care of future cases. To change existing z68_isbn's you could do the following SQL:
SQL> update z68 set z68_isbn = substr (z68_isbn,1,13) where substr (z68_isbn,14,2) = ' (';
SQL> update z68 set z68_isbn = substr (z68_isbn,1,10) where substr (z68_isbn,11,2) = ' (';
SQL> commit;
Note: you should back up the z68 table, using p_file_03, before running the preceding SQL.
*Z13*:
I can't think how to prevent the parenthetical data from being written to the z13.
The following SQL could be used "after-the-fact" to generate a user-defined field without it:
SQL> update z13 set Z13_USER_DEFINED_n = substr (z13_isbn_issn,1,13) where substr (z13_isbn_issn,14,2) = ' (' and Z13_USER_DEFINED_n is null and z13_isbn_issn is not null;
SQL> update z13 set Z13_USER_DEFINED_n = substr (z13_isbn_issn,1,10) where substr (z13_isbn_issn,11,2) = ' (' and Z13_USER_DEFINED_n is null and z13_isbn_issn is not null;
SQL> commit;
Note: you should back up the z13 table, using p_file_03, before running the preceding SQL.
- Article last edited: 10/8/2013