[Koha-patches] [PATCH] BZ7076: acqui pdf error when marcxml wrong

paul.poulain at biblibre.com paul.poulain at biblibre.com
Tue Apr 5 23:13:57 CEST 2011


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

when marcxml is wrong the PDF is not generated. There is a Perl error because
the biblio can't be retrieved.
This can be workarounded with a eval when decoding the marc
---
 acqui/basketgroup.pl |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/acqui/basketgroup.pl b/acqui/basketgroup.pl
index a92d730..5e50503 100755
--- a/acqui/basketgroup.pl
+++ b/acqui/basketgroup.pl
@@ -225,10 +225,13 @@ sub printbasketgrouppdf{
                 push(@ba_order, $bookseller->{gstrate}*100 // C4::Context->preference("gist") // 0);
                 # Editor Number
                 my $en;
-                if (C4::Context->preference("marcflavour") eq 'UNIMARC') {
-                    $en = MARC::Record::new_from_xml($ord->{marcxml},'UTF-8')->subfield('345',"b");
-                } elsif (C4::Context->preference("marcflavour") eq 'MARC21') {
-                    $en = MARC::Record::new_from_xml($ord->{marcxml},'UTF-8')->subfield('037',"a");
+                my $marcrecord=eval{MARC::Record::new_from_xml( $ord->{marcxml},'UTF-8' )};
+                if ($marcrecord){
+                    if ( C4::Context->preference("marcflavour") eq 'UNIMARC' ) {
+                        $en = $marcrecord->subfield( '345', "b" );
+                    } elsif ( C4::Context->preference("marcflavour") eq 'MARC21' ) {
+                        $en = $marcrecord->subfield( '037', "a" );
+                    }
                 }
                 if($en){
                     push(@ba_order, $en);
-- 
1.7.1



More information about the Koha-patches mailing list