[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