Bug 26311: (QA follow-up) Update script documentation
[koha.git] / misc / batchRepairMissingBiblionumbers.pl
1 #!/usr/bin/perl
2 # This script finds and fixes missing biblionumber/biblioitemnumber fields in Koha
3 #  Written by TG on 01/10/2005
4 #  Revised by Joshua Ferraro on 03/31/2006
5 use strict;
6 use warnings;
7
8 # Koha modules used
9 use Koha::Script;
10 use C4::Context;
11 use C4::Biblio qw( GetMarcBiblio ModBiblioMarc );
12
13
14 my $dbh = C4::Context->dbh;
15
16 my $sth=$dbh->prepare("SELECT biblio.biblionumber, biblioitemnumber, frameworkcode FROM biblio JOIN biblioitems USING (biblionumber)");
17 $sth->execute();
18
19 while (my ($biblionumber,$biblioitemnumber,$frameworkcode)=$sth->fetchrow ){
20     my $record = GetMarcBiblio({ biblionumber => $biblionumber });
21     C4::Biblio::_koha_marc_update_bib_ids($record, $frameworkcode, $biblionumber, $biblioitemnumber);
22     my $biblionumber = eval {ModBiblioMarc( $record, $biblionumber )};
23     if($@){
24         print "Problem with biblionumber : $biblionumber\n";
25         exit -1;
26     }else{
27         print "biblionumber : $biblionumber\r\r";
28     }
29 }
30
31 END;