Koha-clms/misc/batchRepairMissingBiblionum...

32 lines
972 B
Perl
Executable File

#!/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( GetMarcBiblio ModBiblioMarc );
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 $record = GetMarcBiblio({ biblionumber => $biblionumber });
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;