34 lines
1.0 KiB
Perl
Executable File
34 lines
1.0 KiB
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( 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;
|