Bugfixes & improvements (various and minor) :
[koha_fer] / misc / migration_tools / 22_to_30 / rebuild_leader.pl
1 #!/usr/bin/perl
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
5 use strict;
6
7 # Koha modules used
8
9 use C4::Context;
10 use C4::Biblio;
11 use MARC::Record;
12 use MARC::File::USMARC;
13
14
15 my $dbh = C4::Context->dbh;
16
17 my $sth=$dbh->prepare("select m.bibid,b.biblioitemnumber from marc_biblio m left join biblioitems b on b.biblionumber=m.biblionumber ");
18         $sth->execute();
19
20 while (my ($biblionumber,$biblioitemnumber)=$sth->fetchrow ){
21  my $record = MARCgetbiblio($dbh,$biblionumber);
22                 
23                 MARCmodleader($biblionumber,$record);
24                 
25 }
26
27 sub MARCmodleader{
28 my ($biblionumber,$record)=@_;
29
30 my $update=0;
31 #warn "".$record->leader();
32 #if (length($record->leader())>24){
33 #       $record->leader(substr($record->leader,0,24));  
34 #       $update =1;
35 #} elsif (length($record->leader())<24){
36         $record->leader('     nac  22     1u 4500');
37         $update=1;
38 #}
39
40 warn "leader : ".$record->leader if ($biblionumber==2262);
41 foreach ($record->field('995')) {
42         $record->delete_field($_);
43 }
44 if ($update){   
45         &ModBiblioMarc($record,'',$biblionumber);
46         print "$biblionumber \n";       
47 }
48
49 }
50 END;