Merge remote branch 'kc/new/bug_5942' into kcmaster
[wip/koha-chris_n.git] / misc / migration_tools / upgradeitems.pl
1 #!/usr/bin/perl
2
3 use strict;
4 #use warnings; FIXME - Bug 2505
5 use  C4::Context;
6 use C4::Items;
7 use C4::Biblio;
8
9 my $dbh=C4::Context->dbh;
10
11 if (C4::Context->preference("marcflavour") ne "UNIMARC") {
12     print "this script is for UNIMARC only\n";
13     exit;
14 }
15 my $rqbiblios=$dbh->prepare("SELECT biblionumber from biblioitems");
16 $rqbiblios->execute;
17 $|=1;
18 while (my ($biblionumber)= $rqbiblios->fetchrow_array){
19     my $record=GetMarcBiblio($biblionumber);
20     foreach my $itemfield ($record->field('995')){
21         my $marcitem=MARC::Record->new();
22         $marcitem->encoding('UTF-8');
23         $marcitem->append_fields($itemfield);    
24         eval{ModItemFromMarc($marcitem,$biblionumber,$itemfield->subfield('9'));};
25         print "\r$biblionumber";
26        if ($@){
27             warn "$biblionumber : $@";
28             warn $record->as_formatted;
29        }    
30     }  
31 }