- warn
-"Error in NEWnewbiblio : biblio.biblionumber and biblioitems.biblioitemnumber MUST have the same field number";
- print
-"Content-Type: text/html\n\nError in NEWnewbiblio : biblio.biblionumber and biblioitems.biblioitemnumber MUST have the same field number";
- die;
- }
- my $newfield = MARC::Field->new(
- $tagfield1, '', '', "$tagsubfield1" => $oldbibnum,
- "$tagsubfield2" => $oldbibitemnum
- );
-
- # drop old field and create new one...
- my $old_field = $record->field($tagfield1);
- $record->delete_field($old_field);
- $record->add_fields($newfield);
+ # deal with biblionumber
+ if ($tagfield1<10) {
+ $newfield = MARC::Field->new(
+ $tagfield1, $oldbibnum,
+ );
+ } else {
+ $newfield = MARC::Field->new(
+ $tagfield1, '', '', "$tagsubfield1" => $oldbibnum,
+ );
+ }
+ # drop old field and create new one...
+ my $old_field = $record->field($tagfield1);
+ $record->delete_field($old_field);
+ $record->add_fields($newfield);
+ # deal with biblioitemnumber
+ if ($tagfield2<10) {
+ $newfield = MARC::Field->new(
+ $tagfield2, $oldbibitemnum,
+ );
+ } else {
+ $newfield = MARC::Field->new(
+ $tagfield2, '', '', "$tagsubfield2" => $oldbibitemnum,
+ );
+ }
+ # drop old field and create new one...
+ $old_field = $record->field($tagfield2);
+ $record->delete_field($old_field);
+ $record->add_fields($newfield);
+ # biblionumber & biblioitemnumber are in the same field (can't be <10 as fields <10 have only 1 value)
+ } else {
+ my $newfield = MARC::Field->new(
+ $tagfield1, '', '', "$tagsubfield1" => $oldbibnum,
+ "$tagsubfield2" => $oldbibitemnum
+ );
+ # drop old field and create new one...
+ my $old_field = $record->field($tagfield1);
+ $record->delete_field($old_field);
+ $record->add_fields($newfield);
+ }
+# warn "REC : ".$record->as_formatted;