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/
> 

Reply via email to