@@ -, +, @@ --- Koha/Util/MARC.pm | 18 +++++++++++++++--- authorities/merge.pl | 5 +++++ 2 files changed, 20 insertions(+), 3 deletions(-) --- a/Koha/Util/MARC.pm +++ a/Koha/Util/MARC.pm @@ -62,8 +62,13 @@ sub createMergeHash { my @subfields = $field->subfields(); my @subfield_array; foreach my $subfield (@subfields) { - if ( !defined($tagslib) - || $tagslib->{$fieldtag}->{ @$subfield[0] }->{'tab'} >= 0 ) + if ( + !defined($tagslib) + || ( defined $tagslib->{$fieldtag} + && defined $tagslib->{$fieldtag}->{ @$subfield[0] } + && defined $tagslib->{$fieldtag}->{ @$subfield[0] }->{'tab'} + && $tagslib->{$fieldtag}->{ @$subfield[0] }->{'tab'} >= 0 ) + ) { push @subfield_array, { @@ -75,7 +80,14 @@ sub createMergeHash { } - if ( !defined($tagslib) || @subfield_array ) + if ( + ( + !defined($tagslib) || ( defined $tagslib->{$fieldtag} + && defined $tagslib->{$fieldtag}->{'tab'} + && $tagslib->{$fieldtag}->{'tab'} >= 0 ) + ) + && @subfield_array + ) { push @array, { --- a/authorities/merge.pl +++ a/authorities/merge.pl @@ -114,6 +114,11 @@ else { # Getting MARC Structure my $tagslib = GetTagsLabels( 1, $framework ); + foreach my $field ( keys %$tagslib ) { + if ( defined $tagslib->{$field}->{'tab'} && $tagslib->{$field}->{'tab'} eq ' ' ) { + $tagslib->{$field}->{'tab'} = 0; + } + } my $notreference = ( $authid[0] == $mergereference ) --