|
Lines 67-79
sub set_additional_fields {
Link Here
|
| 67 |
my ( $tag, $subfield ) = split /\$/, $field->marcfield; |
67 |
my ( $tag, $subfield ) = split /\$/, $field->marcfield; |
| 68 |
my $marc_field = $record->field($tag); |
68 |
my $marc_field = $record->field($tag); |
| 69 |
if ( $field->marcfield_mode eq 'get' ) { |
69 |
if ( $field->marcfield_mode eq 'get' ) { |
| 70 |
$value = $marc_field ? $marc_field->subfield($subfield) : ''; |
70 |
if ($subfield) { |
|
|
71 |
$value = $marc_field ? $marc_field->subfield($subfield) : ''; |
| 72 |
} else { |
| 73 |
$value = $marc_field ? $marc_field->data() : ''; |
| 74 |
} |
| 71 |
} elsif ( $field->marcfield_mode eq 'set' ) { |
75 |
} elsif ( $field->marcfield_mode eq 'set' ) { |
| 72 |
if ($marc_field) { |
76 |
if ( $marc_field and $subfield ) { |
| 73 |
$marc_field->update( $subfield => $value ); |
77 |
$marc_field->update( $subfield => $value ); |
| 74 |
} else { |
78 |
} elsif ($marc_field) { |
|
|
79 |
$marc_field->update($value); |
| 80 |
} elsif ($subfield) { |
| 75 |
$marc_field = MARC::Field->new( $tag, '', '', $subfield => $value ); |
81 |
$marc_field = MARC::Field->new( $tag, '', '', $subfield => $value ); |
| 76 |
$record->append_fields($marc_field); |
82 |
$record->append_fields($marc_field); |
|
|
83 |
} else { |
| 84 |
$marc_field = MARC::Field->new( $tag, '', '', $value ); |
| 77 |
} |
85 |
} |
| 78 |
$record_updated = 1; |
86 |
$record_updated = 1; |
| 79 |
} |
87 |
} |
| 80 |
- |
|
|