@@ -, +, @@ --- C4/Biblio.pm | 9 +++++++++ cataloguing/value_builder/marc21_field_005.pl | 25 ++++--------------------- 2 files changed, 13 insertions(+), 21 deletions(-) --- a/C4/Biblio.pm +++ a/C4/Biblio.pm @@ -3241,6 +3241,15 @@ sub ModBiblioMarc { $record->insert_grouped_field( MARC::Field->new( 100, "", "", "a" => $string ) ); } } + + #enhancement 5374: update transaction date (005) for marc21/unimarc + if($encoding =~ /MARC21|UNIMARC/) { + my @a= (localtime) [5,4,3,2,1,0]; $a[0]+=1900; $a[1]++; + # YY MM DD HH MM SS (update year and month) + my $f005= $record->field('005'); + $f005->update(sprintf("%4d%02d%02d%02d%02d%04.1f",@a)) if $f005; + } + my $oldRecord; if ( C4::Context->preference("NoZebra") ) { --- a/cataloguing/value_builder/marc21_field_005.pl +++ a/cataloguing/value_builder/marc21_field_005.pl @@ -19,7 +19,7 @@ use strict; #use warnings; FIXME - Bug 2505 -use C4::Context; +#use C4::Context; =head1 @@ -52,26 +52,9 @@ sub plugin_javascript { my $function_name= $field_number; # find today's date - my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); - $year +=1900; - $mon +=1; - if (length($mon)==1) { - $mon = "0".$mon; - } - if (length($mday)==1) { - $mday = "0".$mday; - } - if (length($hour)==1) { - $hour = "0".$hour; - } - if (length($min)==1) { - $min = "0".$min; - } - if (length($sec)==1) { - $hour = "0".$sec; - } - - my $date = "$year$mon$mday$hour$min$sec".".0"; + my @a= (localtime) [5,4,3,2,1,0]; $a[0]+=1900; $a[1]++; + my $date = sprintf("%4d%02d%02d%02d%02d%04.1f",@a); + my $res = "