Bug 8576: Software error on authority edition when using merge
authorFridolyn SOMERS <fridolyn.somers@biblibre.com>
Mon, 6 Aug 2012 13:01:09 +0000 (15:01 +0200)
committerPaul Poulain <paul.poulain@biblibre.com>
Tue, 28 Aug 2012 15:55:33 +0000 (17:55 +0200)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
C4/AuthoritiesMarc.pm
misc/batchImportMARCWithBiblionumbers.pl

index 21ebd94..1f440df 100644 (file)
@@ -1356,7 +1356,7 @@ sub merge {
             my $marcdata = $rec->raw();
             my $marcrecordzebra= MARC::Record->new_from_xml($marcdata,"utf8",C4::Context->preference("marcflavour"));
             my ( $biblionumbertagfield, $biblionumbertagsubfield ) = &GetMarcFromKohaField( "biblio.biblionumber", '' );
-            my $i = $marcrecordzebra->subfield($biblionumbertagfield, $biblionumbertagsubfield);
+            my $i = ($biblionumbertagfield < 10) ? $marcrecordzebra->field($biblionumbertagfield)->data : $marcrecordzebra->subfield($biblionumbertagfield, $biblionumbertagsubfield);
             my $marcrecorddb=GetMarcBiblio($i);
             push @reccache, $marcrecorddb;
             $z++;
index 4acc02b..24692fd 100755 (executable)
@@ -56,7 +56,7 @@ my ($tagfield,$biblionumtagsubfield) = &GetMarcFromKohaField("biblio.biblionumbe
 
 my $i=0;
 while ( my $record = $batch->next() ) {
-       my $biblionumber=$record->field($tagfield)->subfield($biblionumtagsubfield);
+    my $biblionumber = ($tagfield < 10) ? $record->field($tagfield)->data : $record->subfield($tagfield, $biblionumtagsubfield);
        $i++;
        $sth2->execute($record->as_usmarc,$biblionumber) if $biblionumber;
        print "$biblionumber \n";