From e7be61739fb99c3f0e4a986f3046363a14ed5ba0 Mon Sep 17 00:00:00 2001 From: Fridolyn SOMERS Date: Mon, 3 Dec 2012 14:08:07 +0100 Subject: [PATCH] Bug 9192: UNIMARC_sync_date_created_with_marc_biblio.pl field creation Content-Type: text/plain; charset="utf-8" http://koha-community.org Signed-off-by: Chris Cormack Signed-off-by: Mason James --- .../UNIMARC_sync_date_created_with_marc_biblio.pl | 43 +++++++++++++++----- 1 files changed, 33 insertions(+), 10 deletions(-) diff --git a/misc/maintenance/UNIMARC_sync_date_created_with_marc_biblio.pl b/misc/maintenance/UNIMARC_sync_date_created_with_marc_biblio.pl index 244c2ac..b5c78e5 100755 --- a/misc/maintenance/UNIMARC_sync_date_created_with_marc_biblio.pl +++ b/misc/maintenance/UNIMARC_sync_date_created_with_marc_biblio.pl @@ -133,7 +133,16 @@ sub updateMarc { # date created field unless ($c_marc_field) { - $biblio->add_fields( new MARC::Field( $c_field, '', '' ) ); + if ( defined $c_subfield ) { + $biblio->add_fields( + new MARC::Field( + $c_field, ' ', ' ', $c_subfield => $c_db_value + ) + ); + } + else { + $biblio->add_fields( new MARC::Field( $c_field, $c_db_value ) ); + } $debug and warn "[WARN] $c_field did not exist."; $c_marc_field = $biblio->field($c_field); @@ -142,24 +151,38 @@ sub updateMarc { $m_marc_field = $c_marc_field; } } - if ( defined $c_subfield ) { - $c_marc_field->update( $c_subfield, $c_db_value ); - } else { - $c_marc_field->update($c_db_value); + if ( defined $c_subfield ) { + $c_marc_field->update( $c_subfield, $c_db_value ); + } + else { + $c_marc_field->update($c_db_value); + } } # date last modified field unless ($m_marc_field) { - $biblio->add_fields( new MARC::Field( $m_field, '', '' ) ); + if ( defined $m_subfield ) { + $biblio->add_fields( + new MARC::Field( + $m_field, ' ', ' ', $m_subfield => $m_db_value + ) + ); + } + else { + $biblio->add_fields( new MARC::Field( $m_field, $m_db_value ) ); + } + $debug and warn "[WARN] $m_field did not exist."; $m_marc_field = $biblio->field($m_field); } - if ( defined $m_subfield ) { - $m_marc_field->update( $m_subfield, $m_db_value ); - } else { - $m_marc_field->update($m_db_value); + if ( defined $m_subfield ) { + $m_marc_field->update( $m_subfield, $m_db_value ); + } + else { + $m_marc_field->update($m_db_value); + } } # apply to databse -- 1.7.2.5