$table.*
,ARRAY( select napomena from rad_napomena where rad_napomena.id = $table.id ) as rad_napomena
,ARRAY( select projekt from rad_projekt where rad_projekt.id = $table.id ) as rad_projekt
- --,ARRAY( select datum from rad_godina where rad_godina.id = $table.id ) as rad_godina
+ ,ARRAY( select datum from rad_godina where rad_godina.id = $table.id ) as rad_godina
,ARRAY( select sifra from rad_podrucje where rad_podrucje.id = $table.id ) as rad_podrucje
,ARRAY( select url from url where url.id = $table.id ) as url
from $table
$format ||= 'marc';
- my $row = $self->{_sth}->fetchrow_hashref;
+ my $sth = $self->{_sth} || die "no _sth";
+ my $row = $sth->fetchrow_hashref;
warn "## row = ",dump($row) if $ENV{DEBUG};
- die "no row" unless $row;
+ warn "ERROR: no row" unless $row;
my $id = $row->{id} || die "no id";
## 008 07-10 - Date 1
- $f008 .= substr($row->{datum},0,4);
+ $f008 .= substr( $row->{rad_godina}->[0] ,0,4);
## 008 11-14 - Date 2
## 008 15-17 - Place of publication, production, or execution - ako nema 102, popunjava se s |
$f008 .= 'xx ';
+## 008 29 - Conference publication
+ $f008 .= ' ' x ( 29 - length($f008) );
+ $f008 .= $self->{_table} eq 'zbornik' ? '1' : '0';
+
## 008 35-37 - Language
$f008 .= ' ' x ( 35 - length($f008) ); # pad to 35 position
if ( my $lng = $langrecode008->{ $row->{jezik} } ) {
}
+ if ( $row->{casopis} ) {
+
$marc->add_fields(773,'0',' ',
t => $row->{casopis},
x => $row->{issn},
g => "$row->{volumen} ($row->{godina}), $row->{broj} ;" . page_range(' str. ',$row->{stranica_prva}, $row->{stranica_zadnja}),
- ) if $row->{casopis};
+ );
+
+ } elsif ( $row->{knjiga} ) {
# rknjiga-dbi2marc.pl
$marc->add_fields(773,'0',' ',
t => $row->{knjiga},
- d => "$row->{godina} : $row->{nakladnik}, $row->{godina}",
+ d => "$row->{grad} : $row->{nakladnik}, $row->{godina}",
k => $row->{serija},
h => $row->{ukupno_stranica},
n => $row->{uredink},
z => $row->{isbn},
g => page_range(' str. ',$row->{stranica_prva}, $row->{stranica_zadnja}),
- ) if $row->{knjiga};
+ );
+
+ } elsif ( $row->{zbornik} ) {
+
+ # zbornik-dbi2marc.pl
+ $marc->add_fields(773,'0',' ',
+ t => $row->{skup},
+ d => "$row->{grad} : $row->{nakladnik}, $row->{godina}",
+ k => $row->{serija},
+ h => $row->{ukupno_stranica},
+ n => $row->{uredink},
+ z => $row->{isbn},
+ g => page_range(' str. ',$row->{stranica_prva}, $row->{stranica_zadnja}),
+ );
+
+ } else {
+ die "ERROR: 773 undefined in row ",dump($row);
+ }
if ( my $file = $row->{datoteka} ) {
casopis => 'CLA',
preprint => 'PRE',
rknjiga => 'POG',
+ zbornik => 'RZB',
};
my @f942 = (
warn "ERROR kategorija $row->{kategorija}";
}
+ } elsif ( $self->{_table} =~ m/zbornik/ ) {
+
+ push @f942, v => $row->{vrst_recenzije};
+
} else {
die "ERROR _table $self->{_table}";
}
$marc->add_fields(942,' ',' ',
@f942,
u => '1',
- z => join(' - ', $row->{kategorija}, $row->{vrsta_rada}),
+ z => join(' - ', grep { defined $_ } ($row->{kategorija}, $row->{vrst_sudjelovanja}, $row->{vrsta_rada})),
);
=for later