2 # This script finds and fixes missing 090 fields in Koha for MARC21
3 # Written by TG on 01/10/2005
4 # Revised by Joshua Ferraro on 03/31/2006
12 use MARC::File::USMARC;
15 my $dbh = C4::Context->dbh;
17 my $sth=$dbh->prepare("select m.biblionumber,b.biblioitemnumber from marc_biblio m left join biblioitems b on b.biblionumber=m.biblionumber");
21 while (my ($biblionumber,$biblioitemnumber)=$sth->fetchrow ){
22 my $record = GetMarcBiblio($biblionumber);
24 print "\r$i" unless $i %100;
25 MARCmodbiblionumber($biblionumber,$biblioitemnumber,$record);
28 sub MARCmodbiblionumber{
29 my ($biblionumber,$biblioitemnumber,$record)=@_;
31 my ($tagfield,$biblionumtagsubfield) = &GetMarcFromKohaField("biblio.biblionumber","");
32 my ($tagfield2,$biblioitemtagsubfield) = &GetMarcFromKohaField("biblio.biblioitemnumber","");
35 my @tags = $record->field($tagfield);
38 my $newrec = MARC::Field->new( $tagfield,'','', $biblionumtagsubfield => $biblionumber,$biblioitemtagsubfield=>$biblioitemnumber);
39 $record->append_fields($newrec);
45 &ModBiblioMarc($record,'',$biblionumber);
46 print "\n modified : $biblionumber \n";