#!/usr/bin/perl # This script finds and fixes missing biblionumber/biblioitemnumber fields in Koha # Written by TG on 01/10/2005 # Revised by Joshua Ferraro on 03/31/2006 use strict; use warnings; # Koha modules used use Koha::Script; use C4::Context; use C4::Biblio qw( ModBiblioMarc ); use Koha::Biblios; my $dbh = C4::Context->dbh; my $sth = $dbh->prepare( "SELECT biblio.biblionumber, biblioitemnumber, frameworkcode FROM biblio JOIN biblioitems USING (biblionumber)"); $sth->execute(); while ( my ( $biblionumber, $biblioitemnumber, $frameworkcode ) = $sth->fetchrow ) { my $biblio = Koha::Biblios->find($biblionumber); my $record = $biblio->metadata->record; C4::Biblio::_koha_marc_update_bib_ids( $record, $frameworkcode, $biblionumber, $biblioitemnumber ); my $biblionumber = eval { ModBiblioMarc( $record, $biblionumber ) }; if ($@) { print "Problem with biblionumber : $biblionumber\n"; exit -1; } else { print "biblionumber : $biblionumber\r\r"; } } END;