Bug 12538: Remove Solr without breaking anything else
[koha.git] / 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 #use warnings; FIXME - Bug 2505
7 BEGIN {
8     # find Koha's Perl modules
9     # test carefully before changing this
10     use FindBin;
11     eval { require "$FindBin::Bin/../../kohalib.pl" };
12 }
13
14 # Koha modules used
15
16 use C4::Context;
17 use C4::Biblio;
18 use MARC::Record;
19 use MARC::File::USMARC;
20
21
22 my $dbh = C4::Context->dbh;
23
24 my $sth=$dbh->prepare("select m.bibid,b.biblioitemnumber from marc_biblio m left join biblioitems b on b.biblionumber=m.biblionumber ");
25         $sth->execute();
26
27 while (my ($biblionumber,$biblioitemnumber)=$sth->fetchrow ){
28  my $record = MARCgetbiblio($dbh,$biblionumber);
29                 
30                 MARCmodleader($biblionumber,$record);
31                 
32 }
33
34 sub MARCmodleader{
35 my ($biblionumber,$record)=@_;
36
37 my $update=0;
38 #warn "".$record->leader();
39 #if (length($record->leader())>24){
40 #       $record->leader(substr($record->leader,0,24));  
41 #       $update =1;
42 #} elsif (length($record->leader())<24){
43         $record->leader('     nac  22     1u 4500');
44         $update=1;
45 #}
46
47 warn "leader : ".$record->leader if ($biblionumber==2262);
48 foreach ($record->field('995')) {
49         $record->delete_field($_);
50 }
51 if ($update){   
52         &ModBiblioMarc($record,'',$biblionumber);
53         print "$biblionumber \n";       
54 }
55
56 }
57 END;