Bug 20434: Update UNIMARC framework - auth (GENRE/FORM)
[koha.git] / misc / migration_tools / 22_to_30 / rebuild_leader.pl
blobded81b37309b233d0ffca9a649b040598a32594e
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" };
14 # Koha modules used
16 use C4::Context;
17 use C4::Biblio;
18 use MARC::Record;
19 use MARC::File::USMARC;
22 my $dbh = C4::Context->dbh;
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();
27 while (my ($biblionumber,$biblioitemnumber)=$sth->fetchrow ){
28 my $record = MARCgetbiblio($dbh,$biblionumber);
30 MARCmodleader($biblionumber,$record);
34 sub MARCmodleader{
35 my ($biblionumber,$record)=@_;
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;
47 warn "leader : ".$record->leader if ($biblionumber==2262);
48 foreach ($record->field('995')) {
49 $record->delete_field($_);
51 if ($update){
52 &ModBiblioMarc($record,'',$biblionumber);
53 print "$biblionumber \n";
57 END;