[Koha-patches] [PATCH] UNIMARC specific rebuild items correctly

paul.poulain at biblibre.com paul.poulain at biblibre.com
Thu Apr 17 19:53:01 CEST 2008


From: Paul POULAIN <paul.poulain at biblibre.com>

note 995 for items is hardcoded, so it's really for UNIMARC only. The script exit if you're not UNIMARCflavour
---
 misc/migration_tools/upgradeitems.pl |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)
 create mode 100755 misc/migration_tools/upgradeitems.pl

diff --git a/misc/migration_tools/upgradeitems.pl b/misc/migration_tools/upgradeitems.pl
new file mode 100755
index 0000000..d2cd6a7
--- /dev/null
+++ b/misc/migration_tools/upgradeitems.pl
@@ -0,0 +1,30 @@
+#!/usr/bin/perl
+
+use strict;
+use  C4::Context;
+use C4::Items;
+use C4::Biblio;
+
+my $dbh=C4::Context->dbh;
+
+if (C4::Context->preference("marcflavour") ne "UNIMARC" {
+    print "this script is for UNIMARC only\n";
+    exit;
+}
+my $rqbiblios=$dbh->prepare("SELECT biblionumber from biblioitems");
+$rqbiblios->execute;
+$|=1;
+while (my ($biblionumber)= $rqbiblios->fetchrow_array){
+    my $record=GetMarcBiblio($biblionumber);
+    foreach my $itemfield ($record->field('995')){
+        my $marcitem=MARC::Record->new();
+        $marcitem->encoding('UTF-8');
+        $marcitem->append_fields($itemfield);    
+        eval{ModItemFromMarc($marcitem,$biblionumber,$itemfield->subfield('9'));};
+        print "\r$biblionumber";
+       if ($@){
+            warn "$biblionumber : $@";
+            warn $record->as_formatted;
+       }    
+    }  
+}
\ No newline at end of file
-- 
1.5.3.2




More information about the Koha-patches mailing list