Michael D Doran
Wed, 18 Aug 2004 11:14:42 -0700
I have been informed that this is a Voyager ILMS Z39.50 server bug. (Thanks
Sandy!)
Sorry for the false alarm... didn't mean to cast any aspersions on
Net::Z3950!
-- Michael
> -----Original Message-----
> From: Michael D Doran
> Sent: Wednesday, August 18, 2004 11:23 AM
> To: '[EMAIL PROTECTED]'; [EMAIL PROTECTED]
> Subject: Net::Z3950, OPAC record syntax & multiple MFHD 866
>
> Please excuse the cross-posting (perl4lib & Net-z3950).
>
> I am working with a Perl script designed to query our catalog
> via Net::Z3950 and retrieve a journal record. The OPAC
> record syntax is specified because the ultimate point of the
> script [1] is to parse the journal holdings to determine if a
> particular year is owned by our library. Our holdings (MFHD)
> records often contain multiple 866 fields (which contain the
> actual holdings info); however, Net::Z3950 only returns the
> *last* 866 from a MFHD record, thereby giving an incomplete
> list of holdings.
>
> Below is the relevant code:
>
> use Net::Z3950;
> $issn = '0028-0836'
> $query = '@attr 1=8 ' . $issn;
> $target = 'pulse.uta.edu';
> $port = 7099;
> $database = 'pulse';
> $recordSyntax = 'OPAC';
> $conn = new Net::Z3950::Connection($target, $port,
> databaseName => $database);
> $rs = $conn->search(-prefix => $query);
> $rs->option(preferredRecordSyntax => $recordSyntax);
> for ( $i = 1; $i <= $rs->size(); $i++ ) {
> $rec = $rs->record($i);
> $marc = $rec->render();
> print "$marc";
> }
>
> If I search for the journal Nature (ISSN 0028-0836) which in
> our catalog has these multiple 866s in the first holdings record:
>
> 866 0 _av.253(1975)-v.344(1990:Apr.),
> 866 0 _av.345(1990)-v.426(2003:Nov.20),
> 866 0 _av.426(2003:Dec.)-v.429(2004:May)
> 866 0 _aINDEXES
> v.277(1979)-v.348(1990),v.403-408(2000),v.415(2002)-v.426(2003)
>
> ...I get this MARC data returned by Net::Z3950. Note the
> "enumAndChron" line which contains the 866 info.
>
> * Bibliographic record:
> <snip>
> 245 00 $aNature.
> 260 $a[London, etc.,$bMacmillan Journals ltd.]
> <snip>
> * Holdings record 1 of 4:
> typeOfRecord: y
> encodingLevel: 4
> receiptAcqStatus: 4
> generalRetention: 8
> completeness: 4
> dateOfReport: 000000
> nucCode: sel,per
> localLocation: Science & Engineering Library: Periodicals
> callNumber: Q 1
> enumAndChron: ^_aINDEXES
> v.277(1979)-v.348(1990),v.403-408(2000),v.415(2002)-v.426(2003)
> <snip>
>
> As you can see, Net::Z3950 only returns the last 866 field.
>
> So my questions are:
> 1) Has anyone else noticed/experienced this behavior (i.e.
> only getting the last 866)? I'm trying to determine if this
> behavior is unique to how I am implementing/configuring
> Net::Z3950 and/or if it is ILMS specific. This is my first
> time using Net::Z3950, so if I'm doing something wrong,
> please correct me.
>
> 2) Is this behavior by design or is it a bug? According to
> the MARC standard, the MFHD 866 is repeatable [2]. Please
> disregard the fact that we have Index holdings in the 866
> rather than the 868 ...or why we are using multiple 866 even
> for regular holdings. Those issues are not under my control.
>
> 3) If it is a bug, is it in Net::Z3950 or is it in the Z39.50
> protocol or in the Voyager Z39.50 implementation/API. (I
> have limited experience with Z39.50 and the only other client
> I have, BookWhere, does not appear to offer the "OPAC" record
> syntax.) If it is in the Net::Z3950 module can it be fixed? :-)
>
> I have browsed the Net-z3950 listserv archive back to
> September 2003 (when version 0.36, which added support for
> the OPAC record syntax, was released) and didn't see any
> mention of this behavior.
>
> Our software and versions:
> Net::Z3950 version 0.39 (on Solaris)
> Our ILMS is Endeavor's Voyager, version 2001.2
>
> Thanks!
>
> -- Michael
>
> [1] The script is designed as an SFX plug-in and was written
> by David Walker of Cal State San Marcos
> http://library.csusm.edu/csu/sfx/local_holding_chameleon.asp
> [2] MARC 21 Concise Holdings: Textual Holdings Statement
> Fields (866-868)
> http://www.loc.gov/marc/holdings/echdtext.html
>
> # Michael Doran, Systems Librarian
> # University of Texas at Arlington
> # 817-272-5326 office
> # 817-688-1926 cell
> # [EMAIL PROTECTED]
> # http://rocky.uta.edu/doran/
>