View | Details | Raw Unified | Return to bug 20447
Collapse All | Expand All

(-)a/C4/Biblio.pm (+37 lines)
Lines 110-115 use Koha::Biblio::Metadatas; Link Here
110
use Koha::Holds;
110
use Koha::Holds;
111
use Koha::ItemTypes;
111
use Koha::ItemTypes;
112
use Koha::MarcOverlayRules;
112
use Koha::MarcOverlayRules;
113
use Koha::Holdings;
113
use Koha::Plugins;
114
use Koha::Plugins;
114
use Koha::SearchEngine;
115
use Koha::SearchEngine;
115
use Koha::SearchEngine::Indexer;
116
use Koha::SearchEngine::Indexer;
Lines 511-516 sub DelBiblio { Link Here
511
        $error .= "This Biblio has items attached, please delete them first before deleting this biblio ";
512
        $error .= "This Biblio has items attached, please delete them first before deleting this biblio ";
512
    }
513
    }
513
514
515
    # Check for attached holdings records
516
    my $holdings = $biblio->holdings;
517
    if ($holdings->count > 0) {
518
        if (C4::Context->preference('SummaryHoldings')) {
519
            # Fix this to use a status the template can understand
520
            $error .= "This Biblio has holdings records attached, please delete them first before deleting this biblio ";
521
        }
522
        else {
523
            # Summary holdings disabled, so just delete any existing holdings records. Use
524
            # holdings record's delete method to mark the records deleted. Note that as long
525
            # as biblios are deleted from the biblio table, the foreign key will cause the
526
            # holdings records to be deleted as well, but this will allow things to work
527
            # better in the future when biblios are no longer moved to another table.
528
            while (my $holding = $holdings->next) {
529
                $holding->delete;
530
            }
531
        }
532
    }
533
514
    return $error if $error;
534
    return $error if $error;
515
535
516
    # We delete any existing holds
536
    # We delete any existing holds
Lines 1448-1453 sub GetAuthorisedValueDesc { Link Here
1448
            return $cn_sources->{$value};
1468
            return $cn_sources->{$value};
1449
        }
1469
        }
1450
1470
1471
        #---- holdings
1472
        if ( $tagslib->{$tag}->{$subfield}->{'authorised_value'} eq "holdings" ) {
1473
            my $holding = Koha::Holdings->find( $value );
1474
            if ( $holding ) {
1475
                my @parts;
1476
1477
                push @parts, $value;
1478
                push @parts, $holding->holdingbranch() if $holding->holdingbranch();
1479
                push @parts, $holding->location() if $holding->location();
1480
                push @parts, $holding->ccode() if $holding->ccode();
1481
                push @parts, $holding->callnumber() if $holding->callnumber();
1482
1483
                return join(' ', @parts);
1484
            }
1485
            return q||;
1486
        }
1487
1451
        #---- "true" authorized value
1488
        #---- "true" authorized value
1452
        $category = $tagslib->{$tag}->{$subfield}->{'authorised_value'};
1489
        $category = $tagslib->{$tag}->{$subfield}->{'authorised_value'};
1453
    }
1490
    }
(-)a/C4/ImportBatch.pm (-3 / +27 lines)
Lines 1571-1583 sub RecordsFromISO2709File { Link Here
1571
1571
1572
    open my $fh, '<', $input_file or die "$0: cannot open input file $input_file: $!\n";
1572
    open my $fh, '<', $input_file or die "$0: cannot open input file $input_file: $!\n";
1573
    my @marc_records;
1573
    my @marc_records;
1574
    my $count = 0;
1574
    $/ = "\035";
1575
    $/ = "\035";
1575
    while (<$fh>) {
1576
    while (<$fh>) {
1576
        s/^\s+//;
1577
        s/^\s+//;
1577
        s/\s+$//;
1578
        s/\s+$//;
1578
        next unless $_; # skip if record has only whitespace, as might occur
1579
        next unless $_; # skip if record has only whitespace, as might occur
1579
                        # if file includes newlines between each MARC record
1580
                        # if file includes newlines between each MARC record
1581
        ++$count;
1580
        my ($marc_record, $charset_guessed, $char_errors) = MarcToUTF8Record($_, $marc_type, $encoding);
1582
        my ($marc_record, $charset_guessed, $char_errors) = MarcToUTF8Record($_, $marc_type, $encoding);
1583
        # Ignore holdings records
1584
        if ($record_type eq 'biblio' && $marc_type eq 'MARC21') {
1585
            my $leader = $marc_record->leader();
1586
            if ($leader =~ /^.{6}[uvxy]/) {
1587
                push @errors, "Ignoring record $count (holdings record)";
1588
                next;
1589
            }
1590
        }
1591
1581
        push @marc_records, $marc_record;
1592
        push @marc_records, $marc_record;
1582
        if ($charset_guessed ne $encoding) {
1593
        if ($charset_guessed ne $encoding) {
1583
            push @errors,
1594
            push @errors,
Lines 1590-1596 sub RecordsFromISO2709File { Link Here
1590
1601
1591
=head2 RecordsFromMARCXMLFile
1602
=head2 RecordsFromMARCXMLFile
1592
1603
1593
    my ($errors, $records) = C4::ImportBatch::RecordsFromMARCXMLFile($input_file, $encoding);
1604
    my ($errors, $records) = C4::ImportBatch::RecordsFromMARCXMLFile($input_file, $record_type, $encoding);
1594
1605
1595
Creates MARC::Record-objects out of the given MARCXML-file.
1606
Creates MARC::Record-objects out of the given MARCXML-file.
1596
1607
Lines 1602-1616 Returns two array refs. Link Here
1602
=cut
1613
=cut
1603
1614
1604
sub RecordsFromMARCXMLFile {
1615
sub RecordsFromMARCXMLFile {
1605
    my ( $filename, $encoding ) = @_;
1616
    my ( $filename, $record_type, $encoding ) = @_;
1617
1618
    my $marcflavour = C4::Context->preference('marcflavour');
1606
    my $batch = MARC::File::XML->in( $filename );
1619
    my $batch = MARC::File::XML->in( $filename );
1607
    my ( @marcRecords, @errors, $record );
1620
    my ( @marcRecords, @errors, $record );
1621
    my $count = 0;
1608
    do {
1622
    do {
1623
        ++$count;
1609
        eval { $record = $batch->next( $encoding ); };
1624
        eval { $record = $batch->next( $encoding ); };
1610
        if ($@) {
1625
        if ($@) {
1611
            push @errors, $@;
1626
            push @errors, $@;
1612
        }
1627
        }
1613
        push @marcRecords, $record if $record;
1628
        # Ignore holdings records
1629
        my $valid = 1;
1630
        if ($record && $record_type eq 'biblio' && $marcflavour eq 'MARC21') {
1631
            my $leader = $record->leader();
1632
            if ($leader =~ /^.{6}[uvxy]/) {
1633
                push @errors, "Ignoring record $count (holdings record)";
1634
                $valid = 0;
1635
            }
1636
        }
1637
        push @marcRecords, $record if $record && $valid;
1614
    } while( $record );
1638
    } while( $record );
1615
    return (\@errors, \@marcRecords);
1639
    return (\@errors, \@marcRecords);
1616
}
1640
}
(-)a/C4/Items.pm (-2 / +12 lines)
Lines 61-66 use Koha::Database; Link Here
61
61
62
use Koha::Biblios;
62
use Koha::Biblios;
63
use Koha::Biblioitems;
63
use Koha::Biblioitems;
64
use Koha::Holdings;
64
use Koha::Items;
65
use Koha::Items;
65
use Koha::ItemTypes;
66
use Koha::ItemTypes;
66
use Koha::SearchEngine;
67
use Koha::SearchEngine;
Lines 1484-1492 sub PrepareItemrecordDisplay { Link Here
1484
                        }
1485
                        }
1485
1486
1486
                        $defaultvalue = $default_source;
1487
                        $defaultvalue = $default_source;
1487
1488
                    } elsif ( $subfield->{authorised_value} eq "holdings" && $bibnum ) {
1488
                        #---- "true" authorised value
1489
                        push @authorised_values, "" unless ( $subfield->{mandatory} );
1490
                        my $holdings = Koha::Holdings->search({ biblionumber => $bibnum, deleted_on => undef }, { order_by => ['holdingbranch'] });
1491
                        while (my $holding = $holdings->next()) {
1492
                            push @authorised_values, $holding->holding_id;
1493
                            $authorised_lib{$holding->holding_id} = $holding->holding_id . ' ' . $holding->holdingbranch
1494
                                . ' ' . ($holding->location // '')
1495
                                . ' ' . ($holding->ccode // '')
1496
                                . ' ' . $holding->callnumber;
1497
                        }
1489
                    } else {
1498
                    } else {
1499
                        #---- "true" authorised value
1490
                        $authorised_values_sth->execute(
1500
                        $authorised_values_sth->execute(
1491
                            $subfield->{authorised_value},
1501
                            $subfield->{authorised_value},
1492
                            $branch_limit ? $branch_limit : ()
1502
                            $branch_limit ? $branch_limit : ()
(-)a/C4/Search.pm (+10 lines)
Lines 28-33 use C4::XSLT qw( XSLTParse4Display ); Link Here
28
use C4::Reserves qw( GetReserveStatus );
28
use C4::Reserves qw( GetReserveStatus );
29
use C4::Charset qw( SetUTF8Flag );
29
use C4::Charset qw( SetUTF8Flag );
30
use Koha::AuthorisedValues;
30
use Koha::AuthorisedValues;
31
use Koha::Holdings;
31
use Koha::ItemTypes;
32
use Koha::ItemTypes;
32
use Koha::Libraries;
33
use Koha::Libraries;
33
use Koha::Logger;
34
use Koha::Logger;
Lines 1810-1815 sub searchResults { Link Here
1810
        my $maxitems_pref = C4::Context->preference('maxItemsinSearchResults');
1811
        my $maxitems_pref = C4::Context->preference('maxItemsinSearchResults');
1811
        my $maxitems = $maxitems_pref ? $maxitems_pref - 1 : 1;
1812
        my $maxitems = $maxitems_pref ? $maxitems_pref - 1 : 1;
1812
        my @hiddenitems; # hidden itemnumbers based on OpacHiddenItems syspref
1813
        my @hiddenitems; # hidden itemnumbers based on OpacHiddenItems syspref
1814
        my $summary_holdings;
1813
1815
1814
        # loop through every item
1816
        # loop through every item
1815
        foreach my $field (@fields) {
1817
        foreach my $field (@fields) {
Lines 2006-2011 sub searchResults { Link Here
2006
            push @available_items_loop, $available_items->{$key}
2008
            push @available_items_loop, $available_items->{$key}
2007
        }
2009
        }
2008
2010
2011
        # Fetch summary holdings
2012
        if (C4::Context->preference('SummaryHoldings')) {
2013
            # Fetch Koha::Holdings directly to avoid having to fetch the Koha::Biblio object just for this.
2014
            # TODO: Make this use Koha::Biblio->holdings if the Biblio object gets used here also for other purposes
2015
            $summary_holdings = Koha::Holdings->search({ biblionumber => $oldbiblio->{biblionumber}, deleted_on => undef });
2016
        }
2017
2009
        # XSLT processing of some stuff
2018
        # XSLT processing of some stuff
2010
        # we fetched the sysprefs already before the loop through all retrieved record!
2019
        # we fetched the sysprefs already before the loop through all retrieved record!
2011
        if (!$scan) {
2020
        if (!$scan) {
Lines 2067-2072 sub searchResults { Link Here
2067
        $oldbiblio->{recalledcount}        = $item_recalled_count;
2076
        $oldbiblio->{recalledcount}        = $item_recalled_count;
2068
        $oldbiblio->{orderedcount}         = $ordered_count;
2077
        $oldbiblio->{orderedcount}         = $ordered_count;
2069
        $oldbiblio->{notforloancount}      = $notforloan_count;
2078
        $oldbiblio->{notforloancount}      = $notforloan_count;
2079
        $oldbiblio->{summary_holdings}     = $summary_holdings;
2070
2080
2071
        if (C4::Context->preference("AlternateHoldingsField") && $items_count == 0) {
2081
        if (C4::Context->preference("AlternateHoldingsField") && $items_count == 0) {
2072
            my $fieldspec = C4::Context->preference("AlternateHoldingsField");
2082
            my $fieldspec = C4::Context->preference("AlternateHoldingsField");
(-)a/C4/XSLT.pm (-2 / +50 lines)
Lines 32-37 use Koha::RecordProcessor; Link Here
32
use Koha::XSLT::Base;
32
use Koha::XSLT::Base;
33
use Koha::Libraries;
33
use Koha::Libraries;
34
use Koha::Recalls;
34
use Koha::Recalls;
35
use Koha::Holdings;
35
36
36
my $engine; #XSLT Handler object
37
my $engine; #XSLT Handler object
37
38
Lines 84-89 sub _get_best_default_xslt_filename { Link Here
84
    return $xslfilename;
85
    return $xslfilename;
85
}
86
}
86
87
88
=head2 get_xslt_sysprefs
89
90
Returns XML for system preferences.
91
92
=cut
93
87
sub get_xslt_sysprefs {
94
sub get_xslt_sysprefs {
88
    my $sysxml = "<sysprefs>\n";
95
    my $sysxml = "<sysprefs>\n";
89
    foreach my $syspref ( qw/ hidelostitems OPACURLOpenInNewWindow
96
    foreach my $syspref ( qw/ hidelostitems OPACURLOpenInNewWindow
Lines 199-208 sub XSLTParse4Display { Link Here
199
206
200
    # grab the XML, run it through our stylesheet, push it out to the browser
207
    # grab the XML, run it through our stylesheet, push it out to the browser
201
    my $itemsxml;
208
    my $itemsxml;
209
    my $holdingsxml;
202
    if ( $xslsyspref eq "OPACXSLTDetailsDisplay" || $xslsyspref eq "XSLTDetailsDisplay" || $xslsyspref eq "XSLTResultsDisplay" ) {
210
    if ( $xslsyspref eq "OPACXSLTDetailsDisplay" || $xslsyspref eq "XSLTDetailsDisplay" || $xslsyspref eq "XSLTResultsDisplay" ) {
203
        $itemsxml = ""; #We don't use XSLT for items display on these pages
211
        # We don't use XSLT for items or holdings display on these pages
212
        $itemsxml = "";
213
        $holdingsxml = "";
204
    } else {
214
    } else {
205
        $itemsxml = buildKohaItemsNamespace($biblionumber, $hidden_items, $items_rs);
215
        $itemsxml = buildKohaItemsNamespace($biblionumber, $hidden_items, $items_rs);
216
        $holdingsxml = buildKohaHoldingsNamespace($biblionumber);
206
    }
217
    }
207
    my $xmlrecord = $record->as_xml(C4::Context->preference('marcflavour'));
218
    my $xmlrecord = $record->as_xml(C4::Context->preference('marcflavour'));
208
219
Lines 233-239 sub XSLTParse4Display { Link Here
233
    $varxml .= "</variables>\n";
244
    $varxml .= "</variables>\n";
234
245
235
    my $sysxml = get_xslt_sysprefs();
246
    my $sysxml = get_xslt_sysprefs();
236
    $xmlrecord =~ s/\<\/record\>/$itemsxml$sysxml$varxml\<\/record\>/;
247
    $xmlrecord =~ s/\<\/record\>/$itemsxml$holdingsxml$sysxml$varxml\<\/record\>/;
237
    if ($fixamps) { # We need to correct the ampersand entities that Zebra outputs
248
    if ($fixamps) { # We need to correct the ampersand entities that Zebra outputs
238
        $xmlrecord =~ s/\&amp;amp;/\&amp;/g;
249
        $xmlrecord =~ s/\&amp;amp;/\&amp;/g;
239
        $xmlrecord =~ s/\&amp\;lt\;/\&lt\;/g;
250
        $xmlrecord =~ s/\&amp\;lt\;/\&lt\;/g;
Lines 375-380 sub buildKohaItemsNamespace { Link Here
375
    return $xml;
386
    return $xml;
376
}
387
}
377
388
389
=head2 buildKohaHoldingsNamespace
390
391
Returns XML for holdings records.
392
Is only used in this module currently.
393
394
=cut
395
396
sub buildKohaHoldingsNamespace {
397
    my ($biblionumber) = @_;
398
399
    my $holdings = Koha::Holdings->search({ biblionumber => $biblionumber, deleted_on => undef });
400
401
    my $shelflocations =
402
      { map { $_->{authorised_value} => $_->{opac_description} } Koha::AuthorisedValues->get_descriptions_by_koha_field( { frameworkcode => 'HLD', kohafield => 'holdings.location' } ) };
403
404
    my %branches = map { $_->branchcode => $_->branchname } Koha::Libraries->search({}, { order_by => 'branchname' })->as_list();
405
406
    my $location = "";
407
    my $ccode = "";
408
    my $xml = '';
409
    while (my $holding = $holdings->next()) {
410
        my $holdingbranch = $holding->holdingbranch ? C4::Koha::xml_escape($branches{$holding->holdingbranch}) : '';
411
        my $location = $holding->location ? C4::Koha::xml_escape($shelflocations->{$holding->location} || $holding->location) : '';
412
        my $callnumber = C4::Koha::xml_escape($holding->callnumber);
413
        my $suppress = C4::Koha::xml_escape($holding->suppress || '0');
414
        $xml .=
415
            "<holding>"
416
          . "<holdingbranch>$holdingbranch</holdingbranch>"
417
          . "<location>$location</location>"
418
          . "<callnumber>$callnumber</callnumber>"
419
          . "<suppress>$suppress</suppress>"
420
          . "</holding>";
421
    }
422
    $xml = "<holdings xmlns=\"http://www.koha-community.org/holdings\">$xml</holdings>";
423
    return $xml;
424
}
425
378
=head2 engine
426
=head2 engine
379
427
380
Returns reference to XSLT handler object.
428
Returns reference to XSLT handler object.
(-)a/Koha/Acquisition/Order.pm (+4 lines)
Lines 166-171 sub cancel { Link Here
166
            )->count == 0
166
            )->count == 0
167
            and $biblio->subscriptions->count == 0
167
            and $biblio->subscriptions->count == 0
168
            and $biblio->items->count == 0
168
            and $biblio->items->count == 0
169
            and (!C4::Context->preference('SummaryHoldings') or $biblio->holdings->count == 0)
169
            )
170
            )
170
        {
171
        {
171
172
Lines 190-195 sub cancel { Link Here
190
            elsif ( $biblio->subscriptions->count > 0 ) {
191
            elsif ( $biblio->subscriptions->count > 0 ) {
191
                $message = 'error_delbiblio_subscriptions';
192
                $message = 'error_delbiblio_subscriptions';
192
            }
193
            }
194
            elsif ( C4::Context->preference('SummaryHoldings') && $biblio->holdings->count > 0 ) {
195
                $message = 'error_delbiblio_holdings';
196
            }
193
            else { # $biblio->items->count > 0
197
            else { # $biblio->items->count > 0
194
                $message = 'error_delbiblio_items';
198
                $message = 'error_delbiblio_items';
195
            }
199
            }
(-)a/Koha/BackgroundJob/StageMARCForImport.pm (-1 / +1 lines)
Lines 96-102 sub process { Link Here
96
        my ( $errors, $marcrecords );
96
        my ( $errors, $marcrecords );
97
        if ( $format eq 'MARCXML' ) {
97
        if ( $format eq 'MARCXML' ) {
98
            ( $errors, $marcrecords ) =
98
            ( $errors, $marcrecords ) =
99
              C4::ImportBatch::RecordsFromMARCXMLFile( $filepath, $encoding );
99
              C4::ImportBatch::RecordsFromMARCXMLFile( $filepath, $record_type, $encoding );
100
        }
100
        }
101
        elsif ( $format eq 'ISO2709' ) {
101
        elsif ( $format eq 'ISO2709' ) {
102
            ( $errors, $marcrecords ) =
102
            ( $errors, $marcrecords ) =
(-)a/Koha/Biblio.pm (+53 lines)
Lines 47-52 use Koha::Libraries; Link Here
47
use Koha::Old::Checkouts;
47
use Koha::Old::Checkouts;
48
use Koha::Ratings;
48
use Koha::Ratings;
49
use Koha::Recalls;
49
use Koha::Recalls;
50
use Koha::Holdings;
50
use Koha::RecordProcessor;
51
use Koha::RecordProcessor;
51
use Koha::Suggestions;
52
use Koha::Suggestions;
52
use Koha::Subscriptions;
53
use Koha::Subscriptions;
Lines 818-823 sub subscriptions { Link Here
818
    return Koha::Subscriptions->_new_from_dbic($rs);
819
    return Koha::Subscriptions->_new_from_dbic($rs);
819
}
820
}
820
821
822
=head3 holdings
823
824
my $holdings = $self->holdings
825
826
Returns the related (non-deleted) Koha::Holdings objects.
827
828
=cut
829
830
sub holdings {
831
    my ($self) = @_;
832
833
    $self->{_holdings} ||= Koha::Holdings->search({ biblionumber => $self->biblionumber(), deleted_on => undef });
834
835
    return $self->{_holdings};
836
}
837
821
=head3 has_items_waiting_or_intransit
838
=head3 has_items_waiting_or_intransit
822
839
823
my $itemsWaitingOrInTransit = $biblio->has_items_waiting_or_intransit
840
my $itemsWaitingOrInTransit = $biblio->has_items_waiting_or_intransit
Lines 1746-1751 sub opac_summary_html { Link Here
1746
    return $summary_html;
1763
    return $summary_html;
1747
}
1764
}
1748
1765
1766
=head3 adopt_holdings_from_biblio
1767
1768
$biblio->adopt_holdings_from_biblio($from_biblio);
1769
1770
Move holdings and item records from the given biblio to this one.
1771
1772
=cut
1773
1774
sub adopt_holdings_from_biblio {
1775
    my ( $self, $from_biblio ) = @_;
1776
1777
    my $schema = Koha::Database->new()->schema();
1778
1779
    $schema->storage->txn_begin;
1780
1781
    # Move holdings records. This will also move any items attached to the holdings.
1782
    my $holdings = $from_biblio->holdings;
1783
    while (my $holding = $holdings->next()) {
1784
        $holding->move_to_biblio($self, { skip_record_index => 1 });
1785
    }
1786
    # Move any items not already moved.
1787
    my $items = $from_biblio->items;
1788
    if ($items) {
1789
        while (my $item = $items->next()) {
1790
            $item->move_to_biblio($self, { skip_record_index => 1 });
1791
        }
1792
    }
1793
    if ($items || $holdings) {
1794
        my $indexer = Koha::SearchEngine::Indexer->new({ index => $Koha::SearchEngine::BIBLIOS_INDEX });
1795
        $indexer->index_records( $self->biblionumber, "specialUpdate", "biblioserver" );
1796
        $indexer->index_records( $from_biblio->biblionumber, "specialUpdate", "biblioserver" );
1797
    }
1798
1799
    $schema->storage->txn_commit;
1800
}
1801
1749
=head2 Internal methods
1802
=head2 Internal methods
1750
1803
1751
=head3 type
1804
=head3 type
(-)a/Koha/Biblio/Metadata.pm (-10 / +22 lines)
Lines 53-77 corresponds to this table: Link Here
53
53
54
    $record = $biblio->metadata->record({
54
    $record = $biblio->metadata->record({
55
        {
55
        {
56
            embed_items => 0|1
56
            embed_items   => 0|1
57
            itemnumbers => $itemnumbers,
57
            itemnumbers   => $itemnumbers,
58
            opac        => $opac
58
            opac          => $opac,
59
            skip_holdings => 1
59
        }
60
        }
60
    );
61
    );
61
62
62
    Koha::Biblio::Metadata::record(
63
    Koha::Biblio::Metadata::record(
63
        {
64
        {
64
            record       => $record,
65
            record        => $record,
65
            embed_items  => 1,
66
            embed_items   => 1,
66
            biblionumber => $biblionumber,
67
            biblionumber  => $biblionumber,
67
            itemnumbers  => $itemnumbers,
68
            itemnumbers   => $itemnumbers,
68
            opac         => $opac
69
            opac          => $opac,
70
            skip_holdings => 1
69
        }
71
        }
70
    );
72
    );
71
73
72
Given a MARC::Record object containing a bib record,
74
Given a MARC::Record object containing a bib record,
73
modify it to include the items attached to it as 9XX
75
modify it to include the items attached to it as 9XX
74
per the bib's MARC framework.
76
per the bib's MARC framework and any holdings location information.
75
if $itemnumbers is defined, only specified itemnumbers are embedded.
77
if $itemnumbers is defined, only specified itemnumbers are embedded.
76
78
77
If $opac is true, then opac-relevant suppressions are included.
79
If $opac is true, then opac-relevant suppressions are included.
Lines 79-84 If $opac is true, then opac-relevant suppressions are included. Link Here
79
If opac filtering will be done, patron should be passed to properly
81
If opac filtering will be done, patron should be passed to properly
80
override if necessary.
82
override if necessary.
81
83
84
If $skip_holdings is set, it overrides the default of embedding basic
85
location information from holdings records if summary holdings are
86
enabled.
82
87
83
=head4 Error handling
88
=head4 Error handling
84
89
Lines 98-103 sub record { Link Here
98
103
99
    my $record = $params->{record};
104
    my $record = $params->{record};
100
    my $embed_items = $params->{embed_items};
105
    my $embed_items = $params->{embed_items};
106
    my $skip_holdings = $params->{skip_holdings};
101
    my $format = blessed($self) ? $self->format : $params->{format};
107
    my $format = blessed($self) ? $self->format : $params->{format};
102
    $format ||= 'marcxml';
108
    $format ||= 'marcxml';
103
109
Lines 128-134 sub record { Link Here
128
    }
134
    }
129
135
130
    if ( $embed_items ) {
136
    if ( $embed_items ) {
131
        $self->_embed_items({ %$params, format => $format, record => $record });
137
        $self->_embed_items({ %$params, format => $format, record => $record, skip_holdings => $skip_holdings });
132
    }
138
    }
133
139
134
    return $record;
140
    return $record;
Lines 212-217 sub _embed_items { Link Here
212
        $record->insert_fields_ordered( reverse @item_fields );
218
        $record->insert_fields_ordered( reverse @item_fields );
213
            # insert_fields_ordered with the reverse keeps 952s in right order
219
            # insert_fields_ordered with the reverse keeps 952s in right order
214
220
221
        my $skip_holdings = $params->{skip_holdings} // 0;
222
        if ( !$skip_holdings && C4::Context->preference('SummaryHoldings') && !@$itemnumbers ) {
223
            my $holdings_fields = Koha::Holdings->get_embeddable_marc_fields({ biblionumber => $biblionumber });
224
            $record->insert_fields_ordered(@$holdings_fields) if ( @$holdings_fields );
225
        }
226
215
    }
227
    }
216
    else {
228
    else {
217
        Koha::Exceptions::Metadata->throw(
229
        Koha::Exceptions::Metadata->throw(
(-)a/Koha/Exporter/Record.pm (+2 lines)
Lines 12-17 use Koha::CsvProfiles; Link Here
12
use Koha::Logger;
12
use Koha::Logger;
13
use List::Util qw( all any );
13
use List::Util qw( all any );
14
14
15
use Koha::Holdings;
16
15
sub _get_record_for_export {
17
sub _get_record_for_export {
16
    my ($params)           = @_;
18
    my ($params)           = @_;
17
    my $record_type        = $params->{record_type};
19
    my $record_type        = $params->{record_type};
(-)a/Koha/Holding.pm (+450 lines)
Line 0 Link Here
1
package Koha::Holding;
2
3
# Copyright ByWater Solutions 2014
4
# Copyright 2017-2020 University of Helsinki (The National Library Of Finland)
5
#
6
# This file is part of Koha.
7
#
8
# Koha is free software; you can redistribute it and/or modify it
9
# under the terms of the GNU General Public License as published by
10
# the Free Software Foundation; either version 3 of the License, or
11
# (at your option) any later version.
12
#
13
# Koha is distributed in the hope that it will be useful, but
14
# WITHOUT ANY WARRANTY; without even the implied warranty of
15
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
# GNU General Public License for more details.
17
#
18
# You should have received a copy of the GNU General Public License
19
# along with Koha; if not, see <http://www.gnu.org/licenses>.
20
21
use Modern::Perl;
22
23
use Carp;
24
25
use C4::Charset qw( SetUTF8Flag );
26
use C4::Log qw( logaction );
27
28
use Koha::Biblio;
29
use Koha::Database;
30
use Koha::DateUtils qw(dt_from_string);
31
use Koha::Holdings::Metadatas;
32
use Koha::Items;
33
34
use base qw(Koha::Object);
35
36
=head1 NAME
37
38
Koha::Holding - Koha Holding Object class
39
40
=head1 API
41
42
=head2 Class Methods
43
44
=cut
45
46
=head3 biblio
47
48
  my $biblio = $holding->biblio();
49
50
Returns the holding biblio for this record.
51
52
=cut
53
54
sub biblio {
55
    my ($self) = @_;
56
57
    my $biblio = $self->_result->biblionumber();
58
    return unless $biblio;
59
    return Koha::Biblio->_new_from_dbic($biblio);
60
}
61
62
=head3 holding_branch
63
64
my $branch = $hold->holding_branch();
65
66
Returns the holding branch for this record.
67
68
=cut
69
70
sub holding_branch {
71
    my ($self) = @_;
72
73
    my $branch = $self->_result->holdingbranch();
74
    return unless $branch;
75
    return Koha::Library->_new_from_dbic($branch);
76
}
77
78
=head3 metadata
79
80
my $metadata = $holding->metadata();
81
82
Returns a Koha::Holding::Metadata object
83
84
=cut
85
86
sub metadata {
87
    my ($self) = @_;
88
89
    my $metadata = $self->_result()->metadata();
90
    return unless $metadata;
91
    return Koha::Holdings::Metadata->_new_from_dbic($metadata);
92
}
93
94
=head3 set_marc
95
96
$holding->set_marc({ record => $record });
97
98
Updates the MARC format metadata from a Marc::Record.
99
Does not store the results in the database.
100
101
If passed an undefined record will log the error.
102
103
Returns $self
104
105
=cut
106
107
sub set_marc {
108
    my ($self, $params) = @_;
109
110
    if (!defined $params->{record}) {
111
        carp('set_marc called with undefined record');
112
        return $self;
113
    }
114
115
    # Clone record as it gets modified
116
    my $record = $params->{record}->clone();
117
    SetUTF8Flag($record);
118
    my $encoding = C4::Context->preference('marcflavour');
119
    if ($encoding eq 'MARC21' || $encoding eq 'UNIMARC') {
120
      # YY MM DD HH MM SS (update year and month)
121
      my @a = (localtime) [5,4,3,2,1,0]; $a[0] += 1900; $a[1]++;
122
      my $f005 = $record->field('005');
123
      $f005->update(sprintf('%4d%02d%02d%02d%02d%04.1f', @a)) if $f005;
124
    }
125
126
    $self->{_marcxml} = $record->as_xml_record($encoding);
127
    my $fields = $self->marc_to_koha_fields({ record => $record });
128
    delete $fields->{holding_id};
129
    # Filter the columns since we have e.g. public_note that's not stored in the database
130
    my $columns = [$self->_result()->result_source()->columns()];
131
    my $db_fields = {};
132
    foreach my $key (keys %{$fields}) {
133
        if (grep {/^$key$/} @{$columns}) {
134
            $db_fields->{$key} = $fields->{$key};
135
        }
136
    }
137
    $self->set($db_fields);
138
139
    return $self;
140
}
141
142
=head3 items
143
144
my $items = $holding->items();
145
146
Returns the related Koha::Items object for this record.
147
148
=cut
149
150
sub items {
151
    my ($self) = @_;
152
153
    my $items_rs = $self->_result->items;
154
    return Koha::Items->_new_from_dbic($items_rs);
155
}
156
157
=head3 store
158
159
    $holding->store([$params]);
160
161
Saves the holdings record.
162
163
$params can take an optional 'skip_record_index' parameter.
164
If set, the reindexing process will not happen (index_records is not called).
165
This is useful for batch processes where the biblio record is reindexed at the end.
166
167
Returns:
168
    $self  if the store was a success
169
    undef  if the store failed
170
171
=cut
172
173
sub store {
174
    my ($self, $params) = @_;
175
176
    $params //= {};
177
178
    my $action = $self->holding_id() ? 'MODIFY' : 'ADD';
179
180
    $self->datecreated(dt_from_string('', 'sql')) unless $self->datecreated();
181
182
    my $schema = Koha::Database->new()->schema();
183
    # Use a transaction only if AutoCommit is enabled - otherwise handled outside of this sub
184
    my $guard = C4::Context->dbh->{AutoCommit} ? $schema->txn_scope_guard() : undef;
185
186
    my $result = $self->SUPER::store();
187
188
    return unless $result;
189
190
    # Create or update the metadata record
191
    my $marcflavour = C4::Context->preference('marcflavour');
192
    my $marc_record = $self->{_marcxml}
193
        ? MARC::Record::new_from_xml($self->{_marcxml}, 'utf-8', $marcflavour)
194
        : $self->metadata()->record();
195
    my $old_marc = $marc_record->as_formatted;
196
197
    $self->_update_marc_ids($marc_record);
198
199
    my $metadata = {
200
        holding_id => $self->holding_id(),
201
        format     => 'marcxml',
202
        schema     => $marcflavour,
203
        metadata   => $marc_record->as_xml_record($marcflavour),
204
    };
205
    Koha::Holdings::Metadatas->update_or_create($metadata);
206
    $guard->commit() if defined $guard;
207
208
    # request that bib be reindexed so that any holdings-derived fields are updated
209
    unless ( $params->{skip_record_index} ) {
210
        my $indexer = Koha::SearchEngine::Indexer->new({ index => $Koha::SearchEngine::BIBLIOS_INDEX });
211
        $indexer->index_records( $self->biblionumber, "specialUpdate", "biblioserver" );
212
    }
213
214
    if (C4::Context->preference('CataloguingLog')) {
215
        logaction('CATALOGUING', $action, $self->holding_id(), $action eq 'ADD' ? 'holding' : "holding BEFORE=>$old_marc");
216
    }
217
218
    return $self;
219
}
220
221
=head3 delete
222
223
    $holding->delete();
224
225
Marks the holdings record deleted.
226
227
Returns:
228
    1  if the deletion was a success
229
    0  if the deletion failed
230
    -1 if the object was never in storage
231
232
=cut
233
234
sub delete {
235
    my ($self) = @_;
236
237
    return -1 unless $self->_result()->in_storage();
238
239
    if ($self->items()->count()) {
240
        return 0;
241
    }
242
243
    my $schema = Koha::Database->new()->schema();
244
    # Use a transaction only if AutoCommit is enabled - otherwise handled outside of this sub
245
    my $guard = C4::Context->dbh->{AutoCommit} ? $schema->txn_scope_guard() : undef;
246
247
    my $now = dt_from_string('', 'sql');
248
    $self->deleted_on($now)->store();
249
    Koha::Holdings::Metadatas->find({ holding_id => $self->holding_id() })->update({ deleted_on => $now });
250
251
    $guard->commit() if defined $guard;
252
253
    logaction('CATALOGUING', 'DELETE', $self->holding_id(), 'holding') if C4::Context->preference('CataloguingLog');
254
255
    return 1;
256
}
257
258
=head3 move_to_biblio
259
260
  $holding->move_to_biblio($to_biblio[, $params]);
261
262
Move the holdings record and any of its related records to another biblio.
263
264
The final optional parameter, C<$params>, is expected to contain the
265
'skip_record_index' key, which is relayed down to Koha::Holding->store.
266
There it prevents calling index_records, which takes most of the
267
time in batch adds/deletes. The caller must take care of calling
268
index_records separately.
269
270
$params:
271
    skip_record_index => 1|0
272
273
=cut
274
275
sub move_to_biblio {
276
    my ( $self, $to_biblio, $params ) = @_;
277
278
    $params //= {};
279
280
    my $old_biblionumber = $self->biblionumber;
281
    my $biblionumber = $to_biblio->biblionumber;
282
283
    # Own biblionumber
284
    $self->set({
285
        biblionumber => $biblionumber,
286
    })->store({ skip_record_index => 1 });
287
288
    # Items
289
    my $items => $self->items;
290
    if ($items) {
291
        while (my $item = $items->next()) {
292
            $item->move_to_biblio($to_biblio, { skip_record_index => 1 });
293
        }
294
    }
295
296
    # Request that bib be reindexed unless skip_record_index is set
297
    if (!$params->{skip_record_index}) {
298
        my $indexer = Koha::SearchEngine::Indexer->new({ index => $Koha::SearchEngine::BIBLIOS_INDEX });
299
        $indexer->index_records( $old_biblionumber, "specialUpdate", "biblioserver" );
300
        $indexer->index_records( $self->biblionumber, "specialUpdate", "biblioserver" );
301
    }
302
}
303
304
=head3 type
305
306
=cut
307
308
sub _type {
309
    return 'Holding';
310
}
311
312
=head2 marc_to_koha_fields
313
314
    $result = Koha::Holding->marc_to_koha_fields({ record => $record })
315
316
Extract data from a MARC::Record holdings record into a hashref representing
317
Koha holdings fields.
318
319
If passed an undefined record will log the error and return an empty
320
hash_ref.
321
322
=cut
323
324
sub marc_to_koha_fields {
325
    my ($class, $params) = @_;
326
327
    my $result = {};
328
    if (!defined $params->{record}) {
329
        carp('marc_to_koha_fields called with undefined record');
330
        return $result;
331
    }
332
    my $record = $params->{record};
333
334
    # The next call uses the HLD framework since it is AUTHORITATIVE
335
    # for all Koha to MARC mappings for holdings.
336
    my $mss = C4::Biblio::GetMarcSubfieldStructure('HLD', { unsafe => 1 }); # Do not change framework
337
    foreach my $kohafield (keys %{ $mss }) {
338
        my ($table, $column) = split /[.]/, $kohafield, 2;
339
        next unless $table eq 'holdings' && $mss->{$kohafield};
340
341
        if ( $column eq 'callnumber' && C4::Context->preference('itemcallnumber') ) {
342
343
            my @CN_prefs_mapping;
344
            foreach my $itemcn_pref (split(/,/,C4::Context->preference('itemcallnumber'))){
345
                my $CNtag      = substr( $itemcn_pref, 0, 3 );
346
                my @CNsubfields = split('',substr( $itemcn_pref, 3 ));
347
                @CNsubfields = ('') unless @CNsubfields;
348
                foreach my $CNsubfield (@CNsubfields) {
349
                    push @CN_prefs_mapping, { tagfield => $CNtag, tagsubfield => $CNsubfield };
350
                }
351
            }
352
            @{$mss->{$kohafield}} = @CN_prefs_mapping if @CN_prefs_mapping;
353
        }
354
355
        my @values;
356
        foreach my $field (@{$mss->{$kohafield}}) {
357
            my $tag = $field->{tagfield};
358
            my $sub = $field->{tagsubfield};
359
            foreach my $fld ($record->field($tag)) {
360
                if( $sub eq '@' || $fld->is_control_field ) {
361
                    push @values, $fld->data;
362
                } else {
363
                    push @values, $fld->subfield($sub);
364
                }
365
            }
366
        }
367
        $result->{$column} = scalar(@values) ? join(' ', @values) : undef;
368
        # Note: here separation of field values done just by space, i.e. no special
369
        # separator char between - as requested by customers (librarians noted they
370
        # using this merged field for quick copy-pasting, and more: if extra chars,
371
        # that confuses patrons: they read roman numbers with extra separators wrongly)
372
    }
373
374
    # convert suppress field to boolean
375
    $result->{'suppress'} = $result->{'suppress'} ? 1 : 0;
376
377
    return $result;
378
}
379
380
=head3 get_marc_field_mapping
381
382
    ($field, $subfield) = Koha::Holding->get_marc_field_mapping({ field => $kohafield });
383
    @fields = Koha::Holding->get_marc_field_mapping({ field => $kohafield });
384
    $field = Koha::Holding->get_marc_field_mapping({ field => $kohafield });
385
386
    Returns the MARC fields & subfields mapped to $kohafield.
387
    Uses the HLD framework that is considered as authoritative.
388
389
    In list context all mappings are returned; there can be multiple
390
    mappings. Note that in the above example you could miss a second
391
    mapping in the first call.
392
    In scalar context only the field tag of the first mapping is returned.
393
394
=cut
395
396
sub get_marc_field_mapping {
397
    my ($class, $params) = @_;
398
399
    return unless $params->{field};
400
401
    # The next call uses the HLD framework since it is AUTHORITATIVE
402
    # for all Koha to MARC mappings for holdings.
403
    my $mss = C4::Biblio::GetMarcSubfieldStructure('HLD', { unsafe => 1 }); # Do not change framework
404
    my @retval;
405
    foreach (@{ $mss->{$params->{field}} }) {
406
        push @retval, $_->{tagfield}, $_->{tagsubfield};
407
    }
408
    return wantarray ? @retval : ( @retval ? $retval[0] : undef );
409
}
410
411
=head2 Internal methods
412
413
=head3 _update_marc_ids
414
415
  $self->_update_marc_ids($record);
416
417
Internal function to add or update holding_id, biblionumber and biblioitemnumber to
418
the MARC record.
419
420
=cut
421
422
sub _update_marc_ids {
423
    my ($self, $record) = @_;
424
425
    my ($holding_tag, $holding_subfield) = $self->get_marc_field_mapping({ field => 'holdings.holding_id' });
426
    die qq{No holding_id tag for framework "HLD"} unless $holding_tag;
427
    if ($holding_tag < 10) {
428
        C4::Biblio::UpsertMarcControlField($record, $holding_tag, $self->holding_id);
429
    } else {
430
        C4::Biblio::UpsertMarcSubfield($record, $holding_tag, $holding_subfield, $self->holding_id);
431
    }
432
433
    my ($biblio_tag, $biblio_subfield) = $self->get_marc_field_mapping({ field => 'biblio.biblionumber' });
434
    die qq{No biblionumber tag for framework "HLD"} unless $biblio_tag;
435
    if ($biblio_tag < 10) {
436
        C4::Biblio::UpsertMarcControlField($record, $biblio_tag, $self->biblionumber);
437
    } else {
438
        C4::Biblio::UpsertMarcSubfield($record, $biblio_tag, $biblio_subfield, $self->biblionumber);
439
    }
440
}
441
442
443
=head1 AUTHOR
444
445
Kyle M Hall <kyle@bywatersolutions.com>
446
Ere Maijala <ere.maijala@helsinki.fi>
447
448
=cut
449
450
1;
(-)a/Koha/Holdings.pm (+148 lines)
Line 0 Link Here
1
package Koha::Holdings;
2
3
# Copyright ByWater Solutions 2015
4
# Copyright 2017-2020 University of Helsinki (The National Library Of Finland)
5
#
6
# This file is part of Koha.
7
#
8
# Koha is free software; you can redistribute it and/or modify it
9
# under the terms of the GNU General Public License as published by
10
# the Free Software Foundation; either version 3 of the License, or
11
# (at your option) any later version.
12
#
13
# Koha is distributed in the hope that it will be useful, but
14
# WITHOUT ANY WARRANTY; without even the implied warranty of
15
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
# GNU General Public License for more details.
17
#
18
# You should have received a copy of the GNU General Public License
19
# along with Koha; if not, see <http://www.gnu.org/licenses>.
20
21
use Modern::Perl;
22
23
use Carp;
24
25
use C4::Biblio;
26
use C4::Charset qw( SetMarcUnicodeFlag );
27
use C4::Context;
28
29
use Koha::Holding;
30
31
use base qw(Koha::Objects);
32
33
=head1 NAME
34
35
Koha::Holdings - Koha Holdings object set class
36
37
=head1 API
38
39
=head2 Class Methods
40
41
=cut
42
43
=head3 type
44
45
=cut
46
47
sub _type {
48
    return 'Holding';
49
}
50
51
=head3 object_class
52
53
=cut
54
55
sub object_class {
56
    return 'Koha::Holding';
57
}
58
59
=head3 get_embeddable_marc_fields
60
61
  my @marc_fields = Koha::Holding->get_embeddable_marc_fields({biblionumber => $biblionumber});
62
63
Returns an array of MARC::Record objects of the holdings for the biblio.
64
65
=cut
66
67
sub get_embeddable_marc_fields {
68
    my ($class, $params) = @_;
69
70
    my @holdings_fields;
71
    if (not defined $params->{biblionumber}) {
72
        carp('get_embeddable_marc_fields called with undefined biblionumber');
73
        return \@holdings_fields;
74
    }
75
76
    my ($holdingstag, $holdingssubfield) = Koha::Holding->get_marc_field_mapping({ field => 'holdings.holdingbranch' });
77
    my $holdings = $class->search({
78
        biblionumber => $params->{biblionumber},
79
        ($params->{holding_id} ? (holding_id => $params->{holding_id}) : ()),
80
        deleted_on => undef })->unblessed();
81
    foreach my $holding (@$holdings) {
82
        my $mungedholding = {
83
            map {
84
                defined($holding->{$_}) && $holding->{$_} ne '' ? ("holdings.$_" => $holding->{$_}) : ()
85
            } keys %{ $holding }
86
        };
87
        my $marc = $class->_holding_to_marc($mungedholding);
88
        push @holdings_fields, $marc->field($holdingstag);
89
    }
90
    return \@holdings_fields;
91
}
92
93
=head2 _holding_to_marc
94
95
    $record = $class->_holding_to_marc($hash)
96
97
This function builds partial MARC::Record from holdings hash entries.
98
This function is called when embedding holdings into a biblio record.
99
100
=cut
101
102
sub _holding_to_marc {
103
    my ($class, $hash, $params) = @_;
104
105
    my $record = MARC::Record->new();
106
    SetMarcUnicodeFlag($record, C4::Context->preference('marcflavour'));
107
108
    # The next call uses the HLD framework since it is AUTHORITATIVE
109
    # for all Koha to MARC mappings for holdings.
110
    my $mss = C4::Biblio::GetMarcSubfieldStructure('HLD', { unsafe => 1 }); # do not change framewok
111
    my $tag_hr = {};
112
    while (my ($kohafield, $value) = each %$hash) {
113
        foreach my $fld (@{$mss->{$kohafield}}) {
114
            my $tagfield    = $fld->{tagfield};
115
            my $tagsubfield = $fld->{tagsubfield};
116
            next if !$tagfield;
117
            my @values = $params->{no_split}
118
                ? ( $value )
119
                : split(/\s?\|\s?/, $value, -1);
120
            foreach my $value (@values) {
121
                next if $value eq '';
122
                $tag_hr->{$tagfield} //= [];
123
                push @{$tag_hr->{$tagfield}}, [($tagsubfield, $value)];
124
            }
125
        }
126
    }
127
    foreach my $tag (sort keys %$tag_hr) {
128
        my @sfl = @{$tag_hr->{$tag}};
129
        @sfl = sort { $a->[0] cmp $b->[0]; } @sfl;
130
        @sfl = map { @{$_}; } @sfl;
131
        # Special care for control fields: remove the subfield indication @
132
        # and do not insert indicators.
133
        my @ind = $tag < 10 ? () : ( " ", " " );
134
        @sfl = grep { $_ ne '@' } @sfl if $tag < 10;
135
        $record->insert_fields_ordered(MARC::Field->new($tag, @ind, @sfl));
136
    }
137
    return $record;
138
}
139
140
141
=head1 AUTHOR
142
143
Kyle M Hall <kyle@bywatersolutions.com>
144
Ere Maijala <ere.maijala@helsinki.fi>
145
146
=cut
147
148
1;
(-)a/Koha/Holdings/Metadata.pm (+99 lines)
Line 0 Link Here
1
package Koha::Holdings::Metadata;
2
3
# This file is part of Koha.
4
#
5
# Koha is free software; you can redistribute it and/or modify it
6
# under the terms of the GNU General Public License as published by
7
# the Free Software Foundation; either version 3 of the License, or
8
# (at your option) any later version.
9
#
10
# Koha is distributed in the hope that it will be useful, but
11
# WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
# GNU General Public License for more details.
14
#
15
# You should have received a copy of the GNU General Public License
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
17
18
use Modern::Perl;
19
20
use Carp;
21
22
use Koha::Database;
23
24
use base qw(Koha::Object);
25
26
=head1 NAME
27
28
Koha::Holdings::Metadata - Koha Holdings Metadata Object class
29
30
=head1 API
31
32
=head2 Class methods
33
34
=cut
35
36
=head3 record
37
38
my $record = $metadata->record;
39
40
Returns an object representing the metadata record. The expected record type
41
corresponds to this table:
42
43
    -------------------------------
44
    | format     | object type    |
45
    -------------------------------
46
    | marcxml    | MARC::Record   |
47
    -------------------------------
48
49
=head4 Error handling
50
51
=over
52
53
=item If an unsupported format is found, it throws a I<Koha::Exceptions::Metadata> exception.
54
55
=item If it fails to create the record object, it throws a I<Koha::Exceptions::Metadata::Invalid> exception.
56
57
=back
58
59
=cut
60
61
sub record {
62
    my ($self) = @_;
63
64
    my $record;
65
66
    if ($self->format eq 'marcxml') {
67
        $record = eval { MARC::Record::new_from_xml( $self->metadata, 'utf-8', $self->schema ); };
68
        unless ($record) {
69
            Koha::Exceptions::Metadata::Invalid->throw(
70
                id     => $self->id,
71
                format => $self->format,
72
                schema => $self->schema
73
            );
74
        }
75
    } else {
76
        Koha::Exceptions::Metadata->throw(
77
            'Koha::Holdings::Metadata->record called on unhandled format: ' . $self->format );
78
    }
79
80
    return $record;
81
}
82
83
=head2 Internal methods
84
85
=head3 _type
86
87
=cut
88
89
sub _type {
90
    return 'HoldingsMetadata';
91
}
92
93
=head1 AUTHOR
94
95
Ere Maijala ere.maijala@helsinki.fi
96
97
=cut
98
99
1;
(-)a/Koha/Holdings/Metadatas.pm (+58 lines)
Line 0 Link Here
1
package Koha::Holdings::Metadatas;
2
3
# This file is part of Koha.
4
#
5
# Koha is free software; you can redistribute it and/or modify it
6
# under the terms of the GNU General Public License as published by
7
# the Free Software Foundation; either version 3 of the License, or
8
# (at your option) any later version.
9
#
10
# Koha is distributed in the hope that it will be useful, but
11
# WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
# GNU General Public License for more details.
14
#
15
# You should have received a copy of the GNU General Public License
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
17
18
use Modern::Perl;
19
20
use Carp;
21
22
use Koha::Database;
23
24
use Koha::Holdings::Metadata;
25
26
use base qw(Koha::Objects);
27
28
=head1 NAME
29
30
Koha::Holdings::Metadatas - Koha Holdings Metadata Object set class
31
32
=head1 API
33
34
=head2 Internal methods
35
36
=head3 _type
37
38
=cut
39
40
sub _type {
41
    return 'HoldingsMetadata';
42
}
43
44
=head3 object_class
45
46
=cut
47
48
sub object_class {
49
    return 'Koha::Holdings::Metadata';
50
}
51
52
=head1 AUTHOR
53
54
Ere Maijala ere.maijala@helsinki.fi
55
56
=cut
57
58
1;
(-)a/Koha/Item.pm (+48 lines)
Lines 40-45 use Koha::Exceptions; Link Here
40
use Koha::Exceptions::Checkin;
40
use Koha::Exceptions::Checkin;
41
use Koha::Exceptions::Item::Bundle;
41
use Koha::Exceptions::Item::Bundle;
42
use Koha::Exceptions::Item::Transfer;
42
use Koha::Exceptions::Item::Transfer;
43
use Koha::Holdings;
43
use Koha::Item::Attributes;
44
use Koha::Item::Attributes;
44
use Koha::Exceptions::Item::Bundle;
45
use Koha::Exceptions::Item::Bundle;
45
use Koha::Item::Transfer::Limits;
46
use Koha::Item::Transfer::Limits;
Lines 401-406 sub biblioitem { Link Here
401
    return Koha::Biblioitem->_new_from_dbic( $biblioitem_rs );
402
    return Koha::Biblioitem->_new_from_dbic( $biblioitem_rs );
402
}
403
}
403
404
405
=head3 holding
406
407
my $holding = $item->holding;
408
409
Return the holdings record of this item
410
411
=cut
412
413
sub holding {
414
    my ( $self ) = @_;
415
    my $holding_rs = $self->_result->holding;
416
    return unless $holding_rs;
417
    return Koha::Holding->_new_from_dbic( $holding_rs );
418
}
419
404
=head3 checkout
420
=head3 checkout
405
421
406
my $checkout = $item->checkout;
422
my $checkout = $item->checkout;
Lines 1577-1582 sub move_to_biblio { Link Here
1577
    my $from_biblionumber = $self->biblionumber;
1593
    my $from_biblionumber = $self->biblionumber;
1578
    my $to_biblionumber = $to_biblio->biblionumber;
1594
    my $to_biblionumber = $to_biblio->biblionumber;
1579
1595
1596
    # Own holdings record
1597
    my $holding = $self->holding;
1598
    # Check if our holdings record is already linked to the target biblio
1599
    if ($holding && $holding->biblionumber != $to_biblionumber) {
1600
        # Check if there's a suitable holdings record in the new biblio.
1601
        # This is not perfect, but at least we try.
1602
        my $candidates = Koha::Holdings->search(
1603
            {
1604
                biblionumber     => $to_biblionumber,
1605
                frameworkcode    => $holding->frameworkcode(),
1606
                holdingbranch    => $holding->holdingbranch(),
1607
                location         => $holding->location(),
1608
                callnumber       => $holding->callnumber(),
1609
                suppress         => $holding->suppress(),
1610
                deleted_on       => undef
1611
            }
1612
        );
1613
        my $newHolding = $candidates->next();
1614
        if (!$newHolding) {
1615
            # No existing holdings record, make a copy of the old one.
1616
            $newHolding = Koha::Holding->new({
1617
                biblionumber => $to_biblionumber,
1618
                frameworkcode => $holding->frameworkcode()
1619
            });
1620
            $newHolding->set_marc({ record => $holding->metadata()->record() });
1621
            $newHolding->store();
1622
        }
1623
        $self->set({
1624
            holding_id => $newHolding->holding_id()
1625
        });
1626
    }
1627
1580
    # Own biblionumber and biblioitemnumber
1628
    # Own biblionumber and biblioitemnumber
1581
    $self->set({
1629
    $self->set({
1582
        biblionumber => $to_biblionumber,
1630
        biblionumber => $to_biblionumber,
(-)a/Koha/OAI/Server/ListBase.pm (-1 / +6 lines)
Lines 97-105 sub GetRecords { Link Here
97
                (SELECT DISTINCT(biblionumber) FROM deleteditems main JOIN biblio USING (biblionumber) WHERE $where
97
                (SELECT DISTINCT(biblionumber) FROM deleteditems main JOIN biblio USING (biblionumber) WHERE $where
98
                $order_limit)
98
                $order_limit)
99
                  UNION
99
                  UNION
100
                (SELECT DISTINCT(biblionumber) FROM holdings main WHERE $where $order_limit)
101
                  UNION
100
                (SELECT DISTINCT(biblionumber) FROM items main WHERE $where $order_limit)";
102
                (SELECT DISTINCT(biblionumber) FROM items main WHERE $where $order_limit)";
101
            push @bind_params, @part_bind_params;
103
            push @bind_params, @part_bind_params;
102
            push @bind_params, @part_bind_params;
104
            push @bind_params, @part_bind_params;
105
            push @bind_params, @part_bind_params;
103
            $sql = "SELECT biblionumber FROM ($sql) main $order_limit";
106
            $sql = "SELECT biblionumber FROM ($sql) main $order_limit";
104
107
105
            $ts_sql = "
108
            $ts_sql = "
Lines 110-115 sub GetRecords { Link Here
110
                    SELECT timestamp FROM deleteditems WHERE biblionumber = ?
113
                    SELECT timestamp FROM deleteditems WHERE biblionumber = ?
111
                    UNION
114
                    UNION
112
                    SELECT timestamp FROM items WHERE biblionumber = ?
115
                    SELECT timestamp FROM items WHERE biblionumber = ?
116
                    UNION
117
                    SELECT timestamp FROM holdings WHERE biblionumber = ?
113
                ) bi
118
                ) bi
114
            ";
119
            ";
115
        } else {
120
        } else {
Lines 145-151 sub GetRecords { Link Here
145
            }
150
            }
146
            my @params = ($biblionumber);
151
            my @params = ($biblionumber);
147
            if ( $include_items && !$deleted ) {
152
            if ( $include_items && !$deleted ) {
148
                push @params, $deleted ? ( $biblionumber ) : ( $biblionumber, $biblionumber );
153
                push @params, $deleted ? ( $biblionumber, $biblionumber ) : ( $biblionumber, $biblionumber, $biblionumber );
149
            }
154
            }
150
            $ts_sth->execute( @params ) || die( 'Could not execute statement: ' . $ts_sth->errstr );
155
            $ts_sth->execute( @params ) || die( 'Could not execute statement: ' . $ts_sth->errstr );
151
156
(-)a/Koha/OAI/Server/Repository.pm (+1 lines)
Lines 99-104 mode. A configuration file koha-oai.conf can look like that: Link Here
99
      xsl_file: /usr/local/koha/koha-tmpl/intranet-tmpl/xslt/UNIMARCslim2OAIDC.xsl
99
      xsl_file: /usr/local/koha/koha-tmpl/intranet-tmpl/xslt/UNIMARCslim2OAIDC.xsl
100
100
101
Note the 'include_items' parameter which is the only mean to return item-level info.
101
Note the 'include_items' parameter which is the only mean to return item-level info.
102
If summary holdings are enabled, 'include_items' includes their location information too.
102
103
103
=cut
104
=cut
104
105
(-)a/Koha/Objects.pm (+18 lines)
Lines 102-107 sub find { Link Here
102
    return $object;
102
    return $object;
103
}
103
}
104
104
105
=head3 Koha::Objects->update_or_create();
106
107
my $object = Koha::Objects->update_or_create( $attrs );
108
109
=cut
110
111
sub update_or_create {
112
    my ( $self, $params ) = @_;
113
114
    my $result = $self->_resultset->update_or_create($params);
115
116
    return unless $result;
117
118
    my $object = $self->object_class->_new_from_dbic($result);
119
120
    return $object;
121
}
122
105
=head3 Koha::Objects->find_or_create();
123
=head3 Koha::Objects->find_or_create();
106
124
107
my $object = Koha::Objects->find_or_create( $attrs );
125
my $object = Koha::Objects->find_or_create( $attrs );
(-)a/Koha/Schema/Result/Biblio.pm (+15 lines)
Lines 345-350 __PACKAGE__->has_many( Link Here
345
  { cascade_copy => 0, cascade_delete => 0 },
345
  { cascade_copy => 0, cascade_delete => 0 },
346
);
346
);
347
347
348
=head2 holdings
349
350
Type: has_many
351
352
Related object: L<Koha::Schema::Result::Holding>
353
354
=cut
355
356
__PACKAGE__->has_many(
357
  "holdings",
358
  "Koha::Schema::Result::Holding",
359
  { "foreign.biblionumber" => "self.biblionumber" },
360
  { cascade_copy => 0, cascade_delete => 0 },
361
);
362
348
=head2 item_groups
363
=head2 item_groups
349
364
350
Type: has_many
365
Type: has_many
(-)a/Koha/Schema/Result/Branch.pm (+15 lines)
Lines 695-700 __PACKAGE__->has_many( Link Here
695
  { cascade_copy => 0, cascade_delete => 0 },
695
  { cascade_copy => 0, cascade_delete => 0 },
696
);
696
);
697
697
698
=head2 holdings
699
700
Type: has_many
701
702
Related object: L<Koha::Schema::Result::Holding>
703
704
=cut
705
706
__PACKAGE__->has_many(
707
  "holdings",
708
  "Koha::Schema::Result::Holding",
709
  { "foreign.holdingbranch" => "self.branchcode" },
710
  { cascade_copy => 0, cascade_delete => 0 },
711
);
712
698
=head2 identity_provider_domains
713
=head2 identity_provider_domains
699
714
700
Type: has_many
715
Type: has_many
(-)a/Koha/Schema/Result/Deleteditem.pm (+9 lines)
Lines 378-383 inventory number (MARC21 952$i) Link Here
378
378
379
Exclude this item from local holds priority
379
Exclude this item from local holds priority
380
380
381
=head2 holding_id
382
383
  data_type: 'integer'
384
  is_nullable: 1
385
386
foreign key from holdings table used to link this item to the right holdings record
387
381
=cut
388
=cut
382
389
383
__PACKAGE__->add_columns(
390
__PACKAGE__->add_columns(
Lines 498-503 __PACKAGE__->add_columns( Link Here
498
  { data_type => "varchar", is_nullable => 1, size => 32 },
505
  { data_type => "varchar", is_nullable => 1, size => 32 },
499
  "exclude_from_local_holds_priority",
506
  "exclude_from_local_holds_priority",
500
  { data_type => "tinyint", is_nullable => 1 },
507
  { data_type => "tinyint", is_nullable => 1 },
508
  "holding_id",
509
  { data_type => "integer", is_nullable => 1 },
501
);
510
);
502
511
503
=head1 PRIMARY KEY
512
=head1 PRIMARY KEY
(-)a/Koha/Schema/Result/Holding.pm (+262 lines)
Line 0 Link Here
1
use utf8;
2
package Koha::Schema::Result::Holding;
3
4
# Created by DBIx::Class::Schema::Loader
5
# DO NOT MODIFY THE FIRST PART OF THIS FILE
6
7
=head1 NAME
8
9
Koha::Schema::Result::Holding
10
11
=cut
12
13
use strict;
14
use warnings;
15
16
use base 'DBIx::Class::Core';
17
18
=head1 TABLE: C<holdings>
19
20
=cut
21
22
__PACKAGE__->table("holdings");
23
24
=head1 ACCESSORS
25
26
=head2 holding_id
27
28
  data_type: 'integer'
29
  is_auto_increment: 1
30
  is_nullable: 0
31
32
unique identifier assigned to each holdings record
33
34
=head2 biblionumber
35
36
  data_type: 'integer'
37
  default_value: 0
38
  is_foreign_key: 1
39
  is_nullable: 0
40
41
foreign key from biblio table used to link this record to the right bib record
42
43
=head2 frameworkcode
44
45
  data_type: 'varchar'
46
  default_value: (empty string)
47
  is_nullable: 0
48
  size: 4
49
50
foreign key from the biblio_framework table to identify which framework was used in cataloging this record
51
52
=head2 holdingbranch
53
54
  data_type: 'varchar'
55
  is_foreign_key: 1
56
  is_nullable: 1
57
  size: 10
58
59
foreign key from the branches table for the library that owns this record (MARC21 852$a)
60
61
=head2 location
62
63
  data_type: 'varchar'
64
  is_nullable: 1
65
  size: 80
66
67
authorized value for the shelving location for this record (MARC21 852$b)
68
69
=head2 ccode
70
71
  data_type: 'varchar'
72
  is_nullable: 1
73
  size: 80
74
75
authorized value for the collection code associated with this item (MARC21 852$g)
76
77
=head2 callnumber
78
79
  data_type: 'varchar'
80
  is_nullable: 1
81
  size: 255
82
83
call number (852$h+$i in MARC21)
84
85
=head2 suppress
86
87
  data_type: 'tinyint'
88
  default_value: 0
89
  is_nullable: 0
90
91
Boolean indicating whether the record is suppressed in OPAC
92
93
=head2 timestamp
94
95
  data_type: 'timestamp'
96
  datetime_undef_if_invalid: 1
97
  default_value: current_timestamp
98
  is_nullable: 0
99
100
date and time this record was last touched
101
102
=head2 datecreated
103
104
  data_type: 'date'
105
  datetime_undef_if_invalid: 1
106
  is_nullable: 0
107
108
the date this record was added to Koha
109
110
=head2 deleted_on
111
112
  data_type: 'datetime'
113
  datetime_undef_if_invalid: 1
114
  is_nullable: 1
115
116
the date this record was deleted
117
118
=cut
119
120
__PACKAGE__->add_columns(
121
  "holding_id",
122
  { data_type => "integer", is_auto_increment => 1, is_nullable => 0 },
123
  "biblionumber",
124
  {
125
    data_type      => "integer",
126
    default_value  => 0,
127
    is_foreign_key => 1,
128
    is_nullable    => 0,
129
  },
130
  "frameworkcode",
131
  { data_type => "varchar", default_value => "", is_nullable => 0, size => 4 },
132
  "holdingbranch",
133
  { data_type => "varchar", is_foreign_key => 1, is_nullable => 1, size => 10 },
134
  "location",
135
  { data_type => "varchar", is_nullable => 1, size => 80 },
136
  "ccode",
137
  { data_type => "varchar", is_nullable => 1, size => 80 },
138
  "callnumber",
139
  { data_type => "varchar", is_nullable => 1, size => 255 },
140
  "suppress",
141
  { data_type => "tinyint", default_value => 0, is_nullable => 0 },
142
  "timestamp",
143
  {
144
    data_type => "timestamp",
145
    datetime_undef_if_invalid => 1,
146
    default_value => \"current_timestamp",
147
    is_nullable => 0,
148
  },
149
  "datecreated",
150
  { data_type => "date", datetime_undef_if_invalid => 1, is_nullable => 0 },
151
  "deleted_on",
152
  {
153
    data_type => "datetime",
154
    datetime_undef_if_invalid => 1,
155
    is_nullable => 1,
156
  },
157
);
158
159
=head1 PRIMARY KEY
160
161
=over 4
162
163
=item * L</holding_id>
164
165
=back
166
167
=cut
168
169
__PACKAGE__->set_primary_key("holding_id");
170
171
=head1 RELATIONS
172
173
=head2 biblionumber
174
175
Type: belongs_to
176
177
Related object: L<Koha::Schema::Result::Biblio>
178
179
=cut
180
181
__PACKAGE__->belongs_to(
182
  "biblionumber",
183
  "Koha::Schema::Result::Biblio",
184
  { biblionumber => "biblionumber" },
185
  { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" },
186
);
187
188
=head2 holdingbranch
189
190
Type: belongs_to
191
192
Related object: L<Koha::Schema::Result::Branch>
193
194
=cut
195
196
__PACKAGE__->belongs_to(
197
  "holdingbranch",
198
  "Koha::Schema::Result::Branch",
199
  { branchcode => "holdingbranch" },
200
  {
201
    is_deferrable => 1,
202
    join_type     => "LEFT",
203
    on_delete     => "RESTRICT",
204
    on_update     => "CASCADE",
205
  },
206
);
207
208
=head2 holdings_metadatas
209
210
Type: has_many
211
212
Related object: L<Koha::Schema::Result::HoldingsMetadata>
213
214
=cut
215
216
__PACKAGE__->has_many(
217
  "holdings_metadatas",
218
  "Koha::Schema::Result::HoldingsMetadata",
219
  { "foreign.holding_id" => "self.holding_id" },
220
  { cascade_copy => 0, cascade_delete => 0 },
221
);
222
223
=head2 items
224
225
Type: has_many
226
227
Related object: L<Koha::Schema::Result::Item>
228
229
=cut
230
231
__PACKAGE__->has_many(
232
  "items",
233
  "Koha::Schema::Result::Item",
234
  { "foreign.holding_id" => "self.holding_id" },
235
  { cascade_copy => 0, cascade_delete => 0 },
236
);
237
238
239
# Created by DBIx::Class::Schema::Loader v0.07046 @ 2021-03-19 12:18:01
240
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Q9Pn2fbd7/xNx7heNn/n5Q
241
242
=head2 metadata
243
244
This relationship makes it possible to use metadata as a prefetch table:
245
246
my $holdings = Koha::Holdings->search({}, {prefetch => 'metadata'});
247
my $metadata = $holdings->next()->metadata();
248
249
=cut
250
251
__PACKAGE__->has_one(
252
  "metadata",
253
  "Koha::Schema::Result::HoldingsMetadata",
254
  { "foreign.holding_id" => "self.holding_id" },
255
  { cascade_copy => 0, cascade_delete => 0 },
256
);
257
258
__PACKAGE__->add_columns(
259
    '+suppress' => { is_boolean => 1 },
260
);
261
262
1;
(-)a/Koha/Schema/Result/HoldingsMetadata.pm (+140 lines)
Line 0 Link Here
1
use utf8;
2
package Koha::Schema::Result::HoldingsMetadata;
3
4
# Created by DBIx::Class::Schema::Loader
5
# DO NOT MODIFY THE FIRST PART OF THIS FILE
6
7
=head1 NAME
8
9
Koha::Schema::Result::HoldingsMetadata
10
11
=cut
12
13
use strict;
14
use warnings;
15
16
use base 'DBIx::Class::Core';
17
18
=head1 TABLE: C<holdings_metadata>
19
20
=cut
21
22
__PACKAGE__->table("holdings_metadata");
23
24
=head1 ACCESSORS
25
26
=head2 id
27
28
  data_type: 'integer'
29
  is_auto_increment: 1
30
  is_nullable: 0
31
32
=head2 holding_id
33
34
  data_type: 'integer'
35
  is_foreign_key: 1
36
  is_nullable: 0
37
38
=head2 format
39
40
  data_type: 'varchar'
41
  is_nullable: 0
42
  size: 16
43
44
=head2 schema
45
46
  data_type: 'varchar'
47
  is_nullable: 0
48
  size: 16
49
50
=head2 metadata
51
52
  data_type: 'longtext'
53
  is_nullable: 0
54
55
=head2 deleted_on
56
57
  data_type: 'datetime'
58
  datetime_undef_if_invalid: 1
59
  is_nullable: 1
60
61
the date this record was deleted
62
63
=cut
64
65
__PACKAGE__->add_columns(
66
  "id",
67
  { data_type => "integer", is_auto_increment => 1, is_nullable => 0 },
68
  "holding_id",
69
  { data_type => "integer", is_foreign_key => 1, is_nullable => 0 },
70
  "format",
71
  { data_type => "varchar", is_nullable => 0, size => 16 },
72
  "schema",
73
  { data_type => "varchar", is_nullable => 0, size => 16 },
74
  "metadata",
75
  { data_type => "longtext", is_nullable => 0 },
76
  "deleted_on",
77
  {
78
    data_type => "datetime",
79
    datetime_undef_if_invalid => 1,
80
    is_nullable => 1,
81
  },
82
);
83
84
=head1 PRIMARY KEY
85
86
=over 4
87
88
=item * L</id>
89
90
=back
91
92
=cut
93
94
__PACKAGE__->set_primary_key("id");
95
96
=head1 UNIQUE CONSTRAINTS
97
98
=head2 C<holdings_metadata_uniq_key>
99
100
=over 4
101
102
=item * L</holding_id>
103
104
=item * L</format>
105
106
=item * L</schema>
107
108
=back
109
110
=cut
111
112
__PACKAGE__->add_unique_constraint(
113
  "holdings_metadata_uniq_key",
114
  ["holding_id", "format", "schema"],
115
);
116
117
=head1 RELATIONS
118
119
=head2 holding
120
121
Type: belongs_to
122
123
Related object: L<Koha::Schema::Result::Holding>
124
125
=cut
126
127
__PACKAGE__->belongs_to(
128
  "holding",
129
  "Koha::Schema::Result::Holding",
130
  { holding_id => "holding_id" },
131
  { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" },
132
);
133
134
135
# Created by DBIx::Class::Schema::Loader v0.07048 @ 2021-01-24 12:34:57
136
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:msXxqOTn5rKZf188+KFk8g
137
138
139
# You can replace this text with custom code or comments, and it will be preserved on regeneration
140
1;
(-)a/Koha/Schema/Result/Item.pm (+30 lines)
Lines 382-387 inventory number (MARC21 952$i) Link Here
382
382
383
Exclude this item from local holds priority
383
Exclude this item from local holds priority
384
384
385
=head2 holding_id
386
387
  data_type: 'integer'
388
  is_foreign_key: 1
389
  is_nullable: 1
390
391
foreign key from holdings table used to link this item to the right holdings record
392
385
=cut
393
=cut
386
394
387
__PACKAGE__->add_columns(
395
__PACKAGE__->add_columns(
Lines 512-517 __PACKAGE__->add_columns( Link Here
512
  { data_type => "varchar", is_nullable => 1, size => 32 },
520
  { data_type => "varchar", is_nullable => 1, size => 32 },
513
  "exclude_from_local_holds_priority",
521
  "exclude_from_local_holds_priority",
514
  { data_type => "tinyint", is_nullable => 1 },
522
  { data_type => "tinyint", is_nullable => 1 },
523
  "holding_id",
524
  { data_type => "integer", is_foreign_key => 1, is_nullable => 1 },
515
);
525
);
516
526
517
=head1 PRIMARY KEY
527
=head1 PRIMARY KEY
Lines 692-697 __PACKAGE__->might_have( Link Here
692
  { cascade_copy => 0, cascade_delete => 0 },
702
  { cascade_copy => 0, cascade_delete => 0 },
693
);
703
);
694
704
705
=head2 holding
706
707
Type: belongs_to
708
709
Related object: L<Koha::Schema::Result::Holding>
710
711
=cut
712
713
__PACKAGE__->belongs_to(
714
  "holding",
715
  "Koha::Schema::Result::Holding",
716
  { holding_id => "holding_id" },
717
  {
718
    is_deferrable => 1,
719
    join_type     => "LEFT",
720
    on_delete     => "CASCADE",
721
    on_update     => "CASCADE",
722
  },
723
);
724
695
=head2 holdingbranch
725
=head2 holdingbranch
696
726
697
Type: belongs_to
727
Type: belongs_to
(-)a/Koha/Template/Plugin/Holdings.pm (+116 lines)
Line 0 Link Here
1
package Koha::Template::Plugin::Holdings;
2
3
# Copyright ByWater Solutions 2012
4
# Copyright BibLibre 2014
5
# Copyright 2017-2019 University of Helsinki (The National Library Of Finland)
6
7
# This file is part of Koha.
8
#
9
# Koha is free software; you can redistribute it and/or modify it
10
# under the terms of the GNU General Public License as published by
11
# the Free Software Foundation; either version 3 of the License, or
12
# (at your option) any later version.
13
#
14
# Koha is distributed in the hope that it will be useful, but
15
# WITHOUT ANY WARRANTY; without even the implied warranty of
16
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
# GNU General Public License for more details.
18
#
19
# You should have received a copy of the GNU General Public License
20
# along with Koha; if not, see <http://www.gnu.org/licenses>.
21
22
use Modern::Perl;
23
24
use Template::Plugin;
25
use base qw( Template::Plugin );
26
27
use C4::Context;
28
29
use Koha::Holdings;
30
31
=head1 NAME
32
33
Koha::Template::Plugin::Holdings - TT Plugin for holdings
34
35
=head1 SYNOPSIS
36
37
[% USE Holdings %]
38
39
[% Holdings.GetLocation(holding) | html %]
40
41
=head1 ROUTINES
42
43
=head2 GetLocation
44
45
Get a location string for a holdings record
46
47
    [% Holdings.GetLocation(holding) | html %]
48
49
=cut
50
51
sub GetLocation {
52
    my ($self, $holding) = @_;
53
    my $opac = shift || 0;
54
55
    if (!$holding) {
56
        return '';
57
    }
58
59
    if (ref($holding) ne 'Koha::Holding') {
60
        $holding = Koha::Holdings->find($holding);
61
        if (!$holding) {
62
            return '';
63
        }
64
    }
65
66
    my @parts;
67
68
    if ($opac) {
69
        if (my $branch = $holding->holding_branch()) {
70
            push @parts, $branch->branchname();
71
        }
72
        if ($holding->location()) {
73
            my $av = Koha::AuthorisedValues->search({ category => 'LOC', authorised_value => $holding->location() });
74
            push @parts, $av->next()->opac_description() if $av->count;
75
        }
76
        push @parts, $holding->callnumber() if $holding->callnumber();
77
        return join(' - ', @parts);
78
    }
79
80
    push @parts, $holding->holding_id();
81
    push @parts, $holding->holdingbranch() if $holding->holdingbranch();
82
    push @parts, $holding->location() if $holding->location();
83
    push @parts, $holding->ccode() if $holding->ccode();
84
    push @parts, $holding->callnumber() if $holding->callnumber();
85
    return join(' ', @parts);
86
}
87
88
=head2 GetDetails
89
90
Get the Koha fields for a holdings record
91
92
    [% details = Holdings.GetDetails(holding) %]
93
94
=cut
95
96
sub GetDetails {
97
    my ($self, $holding) = @_;
98
    my $opac = shift || 0;
99
100
    if (!$holding) {
101
        return '';
102
    }
103
104
    if (ref($holding) ne 'Koha::Holding') {
105
        $holding = Koha::Holdings->find($holding);
106
        if (!$holding) {
107
            return '';
108
        }
109
    }
110
111
    my $holding_marc = $holding->metadata()->record();
112
113
    return Koha::Holding->marc_to_koha_fields({ record => $holding_marc });
114
}
115
116
1;
(-)a/Koha/UI/Form/Builder/Item.pm (+37 lines)
Lines 26-31 use C4::ClassSource qw( GetClassSources ); Link Here
26
use Koha::Biblios;
26
use Koha::Biblios;
27
use Koha::DateUtils qw( dt_from_string );
27
use Koha::DateUtils qw( dt_from_string );
28
use Koha::Libraries;
28
use Koha::Libraries;
29
use Koha::Holdings;
29
30
30
=head1 NAME
31
=head1 NAME
31
32
Lines 86-91 sub generate_subfield_form { Link Here
86
    my $branch_limit = $params->{branch_limit};
87
    my $branch_limit = $params->{branch_limit};
87
    my $default_branches_empty = $params->{default_branches_empty};
88
    my $default_branches_empty = $params->{default_branches_empty};
88
    my $readonly = $params->{readonly};
89
    my $readonly = $params->{readonly};
90
    my $holding_id = $params->{holding_id};
89
91
90
    my $item         = $self->{item};
92
    my $item         = $self->{item};
91
    my $subfield     = $tagslib->{$tag}{$subfieldtag};
93
    my $subfield     = $tagslib->{$tag}{$subfieldtag};
Lines 255-260 sub generate_subfield_form { Link Here
255
257
256
            #---- "true" authorised value
258
            #---- "true" authorised value
257
        }
259
        }
260
        elsif ( $subfield->{authorised_value} eq "holdings" ) {
261
            push @authorised_values, "" unless ( $subfield->{mandatory} );
262
            my $holdings = Koha::Holdings->search({ biblionumber => $biblionumber, deleted_on => undef }, { order_by => ['holdingbranch'] });
263
            while (my $holding = $holdings->next()) {
264
                push @authorised_values, $holding->holding_id;
265
266
                # Rare, but potentual UX issue: because all rendered in single string without
267
                # delimters, in case of empty (or undef) $holding-> methods results below, user
268
                # might be confused with "to which next value belongs", for example, one record has:
269
                #     holdingbranch = ‘MN’
270
                #     location = undef
271
                # and the other has:
272
                #     holdingbranch = ''
273
                #     location = ‘MN’
274
                # the user will get two selects for "MN" which will look the same,
275
                # so the user won't be able to distinguisgh.
276
277
                $authorised_lib{$holding->holding_id} = $holding->holding_id
278
                    . ' ' . ($holding->holdingbranch // '')
279
                    . ' ' . ($holding->location // '')
280
                    . ' ' . ($holding->ccode // '')
281
                    . ' ' . ($holding->callnumber // '');
282
            }
283
            my $input = CGI->new;
284
            $value = $input->param('holding_id') unless ($value);
285
        }
258
        else {
286
        else {
259
            push @authorised_values, qq{};
287
            push @authorised_values, qq{};
260
            my $av = GetAuthorisedValues( $subfield->{authorised_value} );
288
            my $av = GetAuthorisedValues( $subfield->{authorised_value} );
Lines 486-491 sub edit_form { Link Here
486
    my $branch_limit = $params->{branch_limit};
514
    my $branch_limit = $params->{branch_limit};
487
    my $default_branches_empty = $params->{default_branches_empty};
515
    my $default_branches_empty = $params->{default_branches_empty};
488
    my $ignore_invisible_subfields = $params->{ignore_invisible_subfields} || 0;
516
    my $ignore_invisible_subfields = $params->{ignore_invisible_subfields} || 0;
517
    my $holding_id = $params->{holding_id};
489
518
490
    my $libraries =
519
    my $libraries =
491
      Koha::Libraries->search( {}, { order_by => ['branchname'] } )->unblessed;
520
      Koha::Libraries->search( {}, { order_by => ['branchname'] } )->unblessed;
Lines 504-509 sub edit_form { Link Here
504
    my $biblio         = Koha::Biblios->find($biblionumber);
533
    my $biblio         = Koha::Biblios->find($biblionumber);
505
    my $frameworkcode  = $biblio ? GetFrameworkCode($biblionumber) : q{};
534
    my $frameworkcode  = $biblio ? GetFrameworkCode($biblionumber) : q{};
506
    my $marc_record    = $biblio ? $biblio->metadata->record : undef;
535
    my $marc_record    = $biblio ? $biblio->metadata->record : undef;
536
537
    # Overlay/add holdings defaults:
538
    if ( C4::Context->preference('SummaryHoldings') && $holding_id ) {
539
        my $holdings_fields = Koha::Holdings->get_embeddable_marc_fields({ biblionumber => $biblionumber, holding_id => $holding_id });
540
        $marc_record->append_fields(@$holdings_fields) if @$holdings_fields;
541
    }
542
543
507
    my @subfields;
544
    my @subfields;
508
    my $tagslib = GetMarcStructure( 1, $frameworkcode );
545
    my $tagslib = GetMarcStructure( 1, $frameworkcode );
509
    foreach my $tag ( keys %{$tagslib} ) {
546
    foreach my $tag ( keys %{$tagslib} ) {
(-)a/acqui/basket.pl (-3 / +5 lines)
Lines 147-152 if ( $op eq 'delete_confirm' ) { Link Here
147
                countbiblio   => $biblio->active_orders->count,
147
                countbiblio   => $biblio->active_orders->count,
148
                itemcount     => $biblio->items->count,
148
                itemcount     => $biblio->items->count,
149
                subscriptions => $biblio->subscriptions->count,
149
                subscriptions => $biblio->subscriptions->count,
150
                holdingscount => C4::Context->preference('SummaryHoldings') ? $biblio->holdings->count : 0,
150
            };
151
            };
151
        }
152
        }
152
    }
153
    }
Lines 484-493 sub get_order_infos { Link Here
484
        my $invoice = $order->invoice;
485
        my $invoice = $order->invoice;
485
486
486
        my $itemholds  = $biblio->holds->search({ itemnumber => { -in => [ $items->get_column('itemnumber') ] } })->count;
487
        my $itemholds  = $biblio->holds->search({ itemnumber => { -in => [ $items->get_column('itemnumber') ] } })->count;
488
        my $holdingscount = C4::Context->preference('SummaryHoldings') ? $biblio->holdings->count : 0;
487
489
488
        # if the biblio is not in other orders and if there is no items elsewhere and no subscriptions and no holds we can then show the link "Delete order and Biblio" see bug 5680
490
        # if the biblio is not in other orders and if there is no items elsewhere and no subscriptions and no holds and no holdings we can then show the link "Delete order and Biblio" see bug 5680
489
        $line{can_del_bib} = 1
491
        $line{can_del_bib} = 1
490
            if $countbiblio <= 1 && $itemcount == $items->count && !($cnt_subscriptions) && !($holds_count);
492
            if $countbiblio <= 1 && $itemcount == $items->count && !($cnt_subscriptions) && !($holds_count) && !($holdingscount);
491
        $line{items}             = $itemcount - $items->count;
493
        $line{items}             = $itemcount - $items->count;
492
        $line{left_item}         = 1 if $line{items} >= 1;
494
        $line{left_item}         = 1 if $line{items} >= 1;
493
        $line{left_biblio}       = 1 if $countbiblio > 1;
495
        $line{left_biblio}       = 1 if $countbiblio > 1;
Lines 500-506 sub get_order_infos { Link Here
500
        $line{holds_on_order}      = $itemholds ? $itemholds : $holds_count if $line{left_holds_on_order};
502
        $line{holds_on_order}      = $itemholds ? $itemholds : $holds_count if $line{left_holds_on_order};
501
        $line{order_object}        = $order;
503
        $line{order_object}        = $order;
502
        $line{invoice_object}      = $invoice;
504
        $line{invoice_object}      = $invoice;
503
505
        $line{holdings}            = $holdingscount;
504
    }
506
    }
505
507
506
    my $suggestion   = GetSuggestionInfoFromBiblionumber($line{biblionumber});
508
    my $suggestion   = GetSuggestionInfoFromBiblionumber($line{biblionumber});
(-)a/admin/marc_subfields_structure.pl (+5 lines)
Lines 98-103 if ( $op eq 'add_form' ) { Link Here
98
    while ( ( my $field ) = $sth2->fetchrow_array ) {
98
    while ( ( my $field ) = $sth2->fetchrow_array ) {
99
        push @kohafields, "items." . $field;
99
        push @kohafields, "items." . $field;
100
    }
100
    }
101
    $sth2 = $dbh->prepare("SHOW COLUMNS from holdings");
102
    $sth2->execute;
103
    while ( ( my $field ) = $sth2->fetchrow_array ) {
104
        push @kohafields, "holdings." . $field;
105
    }
101
106
102
    # build authorised value list
107
    # build authorised value list
103
    $sth2->finish;
108
    $sth2->finish;
(-)a/api/v1/swagger/definitions/item.yaml (+5 lines)
Lines 8-13 properties: Link Here
8
    type: integer
8
    type: integer
9
    description: Internal identifier for the parent bibliographic record
9
    description: Internal identifier for the parent bibliographic record
10
  biblio: {}
10
  biblio: {}
11
  holding_id:
12
    type:
13
      - integer
14
      - "null"
15
    description: Internal identifier for the parent holdings record
11
  external_id:
16
  external_id:
12
    type:
17
    type:
13
      - string
18
      - string
(-)a/catalogue/detail.pl (+7 lines)
Lines 288-293 $template->param( Link Here
288
    }),
288
    }),
289
);
289
);
290
290
291
# Summary holdings
292
my $summary_holdings;
293
if (C4::Context->preference('SummaryHoldings')) {
294
    $summary_holdings = $biblio->holdings;
295
}
296
291
# Get acquisition details
297
# Get acquisition details
292
if ( C4::Context->preference('AcquisitionDetails') ) {
298
if ( C4::Context->preference('AcquisitionDetails') ) {
293
    my $orders = Koha::Acquisition::Orders->search(
299
    my $orders = Koha::Acquisition::Orders->search(
Lines 490-495 $template->param( Link Here
490
    analytics_flag          => $analytics_flag,
496
    analytics_flag          => $analytics_flag,
491
    C4::Search::enabled_staff_search_views,
497
    C4::Search::enabled_staff_search_views,
492
    materials => $materials_flag,
498
    materials => $materials_flag,
499
    summary_holdings => $summary_holdings,
493
);
500
);
494
501
495
if (C4::Context->preference("AlternateHoldingsField") && $items->count == 0) {
502
if (C4::Context->preference("AlternateHoldingsField") && $items->count == 0) {
(-)a/catalogue/showmarc.pl (-2 / +6 lines)
Lines 32-37 use C4::Output qw( output_html_with_http_headers ); Link Here
32
use C4::Auth qw( get_template_and_user );
32
use C4::Auth qw( get_template_and_user );
33
use C4::Biblio qw( GetXmlBiblio );
33
use C4::Biblio qw( GetXmlBiblio );
34
use C4::XSLT;
34
use C4::XSLT;
35
use Koha::Holdings;
35
36
36
use Koha::Biblios;
37
use Koha::Biblios;
37
use Koha::Import::Records;
38
use Koha::Import::Records;
Lines 49-61 my ( $template, $loggedinuser, $cookie ) = get_template_and_user( Link Here
49
my $biblionumber= $input->param('id');
50
my $biblionumber= $input->param('id');
50
my $importid= $input->param('importid');
51
my $importid= $input->param('importid');
51
my $view= $input->param('viewas')||'';
52
my $view= $input->param('viewas')||'';
53
my $holding_id = $input->param('holding_id') // '';
52
54
53
my $marcflavour = C4::Context->preference('marcflavour');
55
my $marcflavour = C4::Context->preference('marcflavour');
54
56
55
my $record;
57
my $record;
56
my $record_type = 'biblio';
58
my $record_type = 'biblio';
57
my $format = $marcflavour eq 'UNIMARC' ? 'UNIMARC' : 'USMARC';
59
my $format = $marcflavour eq 'UNIMARC' ? 'UNIMARC' : 'USMARC';
58
if ($importid) {
60
if ($holding_id) {
61
    $record = Koha::Holdings->find($holding_id)->metadata()->record();
62
} elsif ($importid) {
59
    my $import_record = Koha::Import::Records->find($importid);
63
    my $import_record = Koha::Import::Records->find($importid);
60
    if ($import_record) {
64
    if ($import_record) {
61
        if ($marcflavour eq 'UNIMARC' && $import_record->record_type eq 'auth') {
65
        if ($marcflavour eq 'UNIMARC' && $import_record->record_type eq 'auth') {
Lines 75-81 if(!ref $record) { Link Here
75
}
79
}
76
80
77
if($view eq 'card' || $view eq 'html') {
81
if($view eq 'card' || $view eq 'html') {
78
    my $xml = $importid ? $record->as_xml($format): GetXmlBiblio($biblionumber);
82
    my $xml = ($importid || $holding_id) ? $record->as_xml($format): GetXmlBiblio($biblionumber);
79
    my $xsl;
83
    my $xsl;
80
    if ( $view eq 'card' ){
84
    if ( $view eq 'card' ){
81
        $xsl = $marcflavour eq 'UNIMARC' ? 'UNIMARC_compact.xsl' : 'compact.xsl';
85
        $xsl = $marcflavour eq 'UNIMARC' ? 'UNIMARC_compact.xsl' : 'compact.xsl';
(-)a/cataloguing/addholding.pl (+706 lines)
Line 0 Link Here
1
#!/usr/bin/perl
2
3
4
# Copyright 2000-2002 Katipo Communications
5
# Copyright 2004-2010 BibLibre
6
# Copyright 2017-2019 University of Helsinki (The National Library Of Finland)
7
#
8
# This file is part of Koha.
9
#
10
# Koha is free software; you can redistribute it and/or modify it
11
# under the terms of the GNU General Public License as published by
12
# the Free Software Foundation; either version 3 of the License, or
13
# (at your option) any later version.
14
#
15
# Koha is distributed in the hope that it will be useful, but
16
# WITHOUT ANY WARRANTY; without even the implied warranty of
17
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
# GNU General Public License for more details.
19
#
20
# You should have received a copy of the GNU General Public License
21
# along with Koha; if not, see <http://www.gnu.org/licenses>.
22
23
use Modern::Perl;
24
25
use CGI q(-utf8);
26
use C4::Output qw( output_html_with_http_headers output_and_exit );
27
use C4::Auth qw( get_template_and_user haspermission );
28
use C4::Biblio
29
  qw( GetMarcFromKohaField GetMarcStructure GetUsedMarcStructure TransformHtmlToMarc );
30
use C4::Context;
31
use MARC::Record;
32
use C4::ClassSource qw( GetClassSources );
33
use Koha::Biblios;
34
use Koha::BiblioFrameworks;
35
use Koha::DateUtils qw( dt_from_string );
36
37
use Koha::ItemTypes;
38
use Koha::Libraries;
39
use Koha::Holdings;
40
41
use Date::Calc qw(Today);
42
use MARC::File::USMARC;
43
use MARC::File::XML;
44
use URI::Escape qw( uri_escape_utf8 );
45
46
if ( C4::Context->preference('marcflavour') eq 'UNIMARC' ) {
47
    MARC::File::XML->default_record_format('UNIMARC');
48
}
49
50
our($tagslib,$authorised_values_sth,$is_a_modif,$usedTagsLib,$mandatory_z3950);
51
52
=head1 FUNCTIONS
53
54
=head2 build_authorized_values_list
55
56
=cut
57
58
sub build_authorized_values_list {
59
    my ( $tag, $subfield, $value, $dbh, $authorised_values_sth,$index_tag,$index_subfield ) = @_;
60
61
    my @authorised_values;
62
    my %authorised_lib;
63
64
    # builds list, depending on authorised value...
65
66
    #---- branch
67
    if ( $tagslib->{$tag}->{$subfield}->{'authorised_value'} eq "branches" ) {
68
        my $libraries = Koha::Libraries->search_filtered({}, {order_by => ['branchname']});
69
        while ( my $l = $libraries->next ) {
70
            push @authorised_values, $l->branchcode;
71
            $authorised_lib{$l->branchcode} = $l->branchname;
72
        }
73
    }
74
    elsif ( $tagslib->{$tag}->{$subfield}->{authorised_value} eq "LOC" ) {
75
        push @authorised_values, "";
76
77
        my $branch_limit = C4::Context->userenv ? C4::Context->userenv->{"branch"} : "";
78
        my $avs = Koha::AuthorisedValues->search_with_library_limits(
79
            {
80
                category => $tagslib->{$tag}->{$subfield}->{authorised_value},
81
            },
82
            {
83
                order_by => [ 'category', 'lib', 'lib_opac' ],
84
            },
85
            $branch_limit
86
        );
87
88
        while ( my $av = $avs->next ) {
89
            push @authorised_values, $av->authorised_value;
90
            $authorised_lib{$av->authorised_value} = $av->lib;
91
        }
92
    }
93
    elsif ( $tagslib->{$tag}->{$subfield}->{authorised_value} eq "cn_source" ) {
94
        push @authorised_values, "";
95
96
        my $class_sources = GetClassSources();
97
98
        my $default_source = C4::Context->preference("DefaultClassificationSource");
99
100
        foreach my $class_source (sort keys %$class_sources) {
101
            next unless $class_sources->{$class_source}->{'used'} or
102
                        ($value and $class_source eq $value) or
103
                        ($class_source eq $default_source);
104
            push @authorised_values, $class_source;
105
            $authorised_lib{$class_source} = $class_sources->{$class_source}->{'description'};
106
        }
107
        $value = $default_source unless $value;
108
    }
109
    else {
110
        my $branch_limit = C4::Context->userenv ? C4::Context->userenv->{"branch"} : "";
111
        $authorised_values_sth->execute(
112
            $tagslib->{$tag}->{$subfield}->{authorised_value},
113
            $branch_limit ? $branch_limit : (),
114
        );
115
116
        push @authorised_values, "";
117
118
        while ( my ( $value, $lib ) = $authorised_values_sth->fetchrow_array ) {
119
            push @authorised_values, $value;
120
            $authorised_lib{$value} = $lib;
121
        }
122
    }
123
    $authorised_values_sth->finish;
124
    return {
125
        type     => 'select',
126
        id       => "tag_".$tag."_subfield_".$subfield."_".$index_tag."_".$index_subfield,
127
        name     => "tag_".$tag."_subfield_".$subfield."_".$index_tag."_".$index_subfield,
128
        default  => $value,
129
        values   => \@authorised_values,
130
        labels   => \%authorised_lib,
131
    };
132
133
}
134
135
=head2 CreateKey
136
137
    Create a random value to set it into the input name
138
139
=cut
140
141
sub CreateKey {
142
    return int(rand(1000000));
143
}
144
145
=head2 create_input
146
147
 builds the <input ...> entry for a subfield.
148
149
=cut
150
151
sub create_input {
152
    my ( $tag, $subfield, $value, $index_tag, $tabloop, $rec, $authorised_values_sth,$cgi ) = @_;
153
154
    my $index_subfield = CreateKey(); # create a specific key for each subfield
155
156
    # if there is no value provided but a default value in parameters, get it
157
    if ( $value eq '' ) {
158
        $value = $tagslib->{$tag}->{$subfield}->{defaultvalue} // q{};
159
160
        # get today date & replace <<YYYY>>, <<YY>>, <<MM>>, <<DD>> if provided in the default value
161
        my $today_dt = dt_from_string;
162
        my $year = $today_dt->strftime('%Y');
163
        my $shortyear = $today_dt->strftime('%y');
164
        my $month = $today_dt->strftime('%m');
165
        my $day = $today_dt->strftime('%d');
166
        $value =~ s/<<YYYY>>/$year/g;
167
        $value =~ s/<<YY>>/$shortyear/g;
168
        $value =~ s/<<MM>>/$month/g;
169
        $value =~ s/<<DD>>/$day/g;
170
        # And <<USER>> with surname (?)
171
        my $username=(C4::Context->userenv?C4::Context->userenv->{'surname'}:"superlibrarian");
172
        $value=~s/<<USER>>/$username/g;
173
174
    }
175
    my $dbh = C4::Context->dbh;
176
177
    # map '@' as "subfield" label for fixed fields
178
    # to something that's allowed in a div id.
179
    my $id_subfield = $subfield;
180
    $id_subfield = "00" if $id_subfield eq "@";
181
182
    my %subfield_data = (
183
        tag        => $tag,
184
        subfield   => $id_subfield,
185
        marc_lib       => $tagslib->{$tag}->{$subfield}->{lib},
186
        tag_mandatory  => $tagslib->{$tag}->{mandatory},
187
        mandatory      => $tagslib->{$tag}->{$subfield}->{mandatory},
188
        important      => $tagslib->{$tag}->{$subfield}->{important},
189
        repeatable     => $tagslib->{$tag}->{$subfield}->{repeatable},
190
        kohafield      => $tagslib->{$tag}->{$subfield}->{kohafield},
191
        index          => $index_tag,
192
        id             => "tag_".$tag."_subfield_".$id_subfield."_".$index_tag."_".$index_subfield,
193
        value          => $value,
194
        maxlength      => $tagslib->{$tag}->{$subfield}->{maxlength},
195
        random         => CreateKey(),
196
    );
197
198
    if(exists $mandatory_z3950->{$tag.$subfield}){
199
        $subfield_data{z3950_mandatory} = $mandatory_z3950->{$tag.$subfield};
200
    }
201
    # Subfield is hidden depending of hidden and mandatory flag, and is always
202
    # shown if it contains anything or if its field is mandatory or important.
203
    my $tdef = $tagslib->{$tag};
204
    $subfield_data{visibility} = "display:none;"
205
        if $tdef->{$subfield}->{hidden} % 2 == 1 &&
206
           $value eq '' &&
207
           !$tdef->{$subfield}->{mandatory} &&
208
           !$tdef->{mandatory} &&
209
           !$tdef->{$subfield}->{important} &&
210
           !$tdef->{important};
211
    # expand all subfields of 773 if there is a host item provided in the input
212
    $subfield_data{visibility} ="" if ($tag eq 773 and $cgi->param('hostitemnumber'));
213
214
    # it's an authorised field
215
    if ( $tagslib->{$tag}->{$subfield}->{authorised_value} ) {
216
        $subfield_data{marc_value} =
217
          build_authorized_values_list( $tag, $subfield, $value, $dbh,
218
            $authorised_values_sth,$index_tag,$index_subfield );
219
220
    # it's a subfield $9 linking to an authority record - see bug 2206
221
    }
222
    elsif ($subfield eq "9" and
223
           exists($tagslib->{$tag}->{'a'}->{authtypecode}) and
224
           defined($tagslib->{$tag}->{'a'}->{authtypecode}) and
225
           $tagslib->{$tag}->{'a'}->{authtypecode} ne '') {
226
227
        $subfield_data{marc_value} = {
228
            type      => 'text',
229
            id        => $subfield_data{id},
230
            name      => $subfield_data{id},
231
            value     => $value,
232
            size      => 5,
233
            maxlength => $subfield_data{maxlength},
234
            readonly  => 1,
235
        };
236
237
    # it's a thesaurus / authority field
238
    }
239
    elsif ( $tagslib->{$tag}->{$subfield}->{authtypecode} ) {
240
        # when authorities auto-creation is allowed, do not set readonly
241
        my $is_readonly = !C4::Context->preference("BiblioAddsAuthorities");
242
243
        $subfield_data{marc_value} = {
244
            type      => 'text',
245
            id        => $subfield_data{id},
246
            name      => $subfield_data{id},
247
            value     => $value,
248
            size      => 67,
249
            maxlength => $subfield_data{maxlength},
250
            readonly  => ($is_readonly) ? 1 : 0,
251
            authtype  => $tagslib->{$tag}->{$subfield}->{authtypecode},
252
        };
253
254
    # it's a plugin field
255
    } elsif ( $tagslib->{$tag}->{$subfield}->{'value_builder'} ) {
256
        require Koha::FrameworkPlugin;
257
        my $plugin = Koha::FrameworkPlugin->new( {
258
            name => $tagslib->{$tag}->{$subfield}->{'value_builder'},
259
        });
260
        my $pars= { dbh => $dbh, record => $rec, tagslib => $tagslib,
261
            id => $subfield_data{id}, tabloop => $tabloop };
262
        $plugin->build( $pars );
263
        if( !$plugin->errstr ) {
264
            $subfield_data{marc_value} = {
265
                type           => 'text_complex',
266
                id             => $subfield_data{id},
267
                name           => $subfield_data{id},
268
                value          => $value,
269
                size           => 67,
270
                maxlength      => $subfield_data{maxlength},
271
                javascript     => $plugin->javascript,
272
                plugin         => $plugin->name,
273
                noclick        => $plugin->noclick,
274
            };
275
        } else {
276
            warn $plugin->errstr;
277
            # supply default input form
278
            $subfield_data{marc_value} = {
279
                type      => 'text',
280
                id        => $subfield_data{id},
281
                name      => $subfield_data{id},
282
                value     => $value,
283
                size      => 67,
284
                maxlength => $subfield_data{maxlength},
285
                readonly  => 0,
286
            };
287
        }
288
289
    # it's an hidden field
290
    } elsif ( $tag eq '' ) {
291
        $subfield_data{marc_value} = {
292
            type      => 'hidden',
293
            id        => $subfield_data{id},
294
            name      => $subfield_data{id},
295
            value     => $value,
296
            size      => 67,
297
            maxlength => $subfield_data{maxlength},
298
        };
299
300
    }
301
    else {
302
        # it's a standard field
303
        if (
304
            length($value) > 100
305
            or
306
            ( C4::Context->preference("marcflavour") eq "UNIMARC" && $tag >= 300
307
                and $tag < 400 && $subfield eq 'a' )
308
            or (    $tag >= 500
309
                and $tag < 600
310
                && C4::Context->preference("marcflavour") eq "MARC21" )
311
          )
312
        {
313
            $subfield_data{marc_value} = {
314
                type      => 'textarea',
315
                id        => $subfield_data{id},
316
                name      => $subfield_data{id},
317
                value     => $value,
318
            };
319
320
        }
321
        else {
322
            $subfield_data{marc_value} = {
323
                type      => 'text',
324
                id        => $subfield_data{id},
325
                name      => $subfield_data{id},
326
                value     => $value,
327
                size      => 67,
328
                maxlength => $subfield_data{maxlength},
329
                readonly  => 0,
330
            };
331
332
        }
333
    }
334
    $subfield_data{'index_subfield'} = $index_subfield;
335
    return \%subfield_data;
336
}
337
338
339
=head2 format_indicator
340
341
Translate indicator value for output form - specifically, map
342
indicator = ' ' to ''.  This is for the convenience of a cataloger
343
using a mouse to select an indicator input.
344
345
=cut
346
347
sub format_indicator {
348
    my $ind_value = shift;
349
    return '' if not defined $ind_value;
350
    return '' if $ind_value eq ' ';
351
    return $ind_value;
352
}
353
354
sub build_tabs {
355
    my ( $template, $record, $dbh, $encoding,$input ) = @_;
356
357
    # fill arrays
358
    my @loop_data = ();
359
    my $tag;
360
361
    my $branch_limit = C4::Context->userenv ? C4::Context->userenv->{"branch"} : "";
362
    my $query = "SELECT authorised_value, lib
363
                FROM authorised_values";
364
    $query .= qq{ LEFT JOIN authorised_values_branches ON ( id = av_id )} if $branch_limit;
365
    $query .= " WHERE category = ?";
366
    $query .= " AND ( branchcode = ? OR branchcode IS NULL )" if $branch_limit;
367
    $query .= " ORDER BY lib, lib_opac";
368
    my $authorised_values_sth = $dbh->prepare( $query );
369
370
    # in this array, we will push all the 10 tabs
371
    # to avoid having 10 tabs in the template : they will all be in the same BIG_LOOP
372
    my @BIG_LOOP;
373
    my %seen;
374
    my @tab_data; # all tags to display
375
376
    my $max_num_tab=-1;
377
    my ( $itemtag, $itemsubfield ) = GetMarcFromKohaField( "items.itemnumber" );
378
    foreach my $used ( @$usedTagsLib ){
379
        push @tab_data,$used->{tagfield} if not $seen{$used->{tagfield}};
380
        $seen{$used->{tagfield}}++;
381
        if (   $used->{tab} > -1
382
            && $used->{tab} >= $max_num_tab
383
            && $used->{tagfield} ne $itemtag )
384
        {
385
            $max_num_tab = $used->{tab};
386
        }
387
    }
388
    if($max_num_tab >= 9){
389
        $max_num_tab = 9;
390
    }
391
    # loop through each tab 0 through 9
392
    for ( my $tabloop = 0 ; $tabloop <= $max_num_tab ; $tabloop++ ) {
393
        my @loop_data = (); #innerloop in the template.
394
        my $i = 0;
395
        foreach my $tag (sort @tab_data) {
396
            $i++;
397
            next if ! $tag;
398
            my ($indicator1, $indicator2);
399
            my $index_tag = CreateKey;
400
401
            # if MARC::Record is not empty =>use it as master loop, then add missing subfields that should be in the tab.
402
            # if MARC::Record is empty => use tab as master loop.
403
            if ( $record ne -1 && ( $record->field($tag) || $tag eq '000' ) ) {
404
                my @fields;
405
                if ( $tag ne '000' ) {
406
                            @fields = $record->field($tag);
407
                }
408
                else {
409
                push @fields, $record->leader(); # if tag == 000
410
                }
411
                # loop through each field
412
                foreach my $field (@fields) {
413
414
                    my @subfields_data;
415
                    if ( $tag < 10 ) {
416
                        my ( $value, $subfield );
417
                        if ( $tag ne '000' ) {
418
                            $value    = $field->data();
419
                            $subfield = "@";
420
                        }
421
                        else {
422
                            $value    = $field;
423
                            $subfield = '@';
424
                        }
425
                        next if ( $tagslib->{$tag}->{$subfield}->{tab} ne $tabloop );
426
                        next
427
                          if ( $tagslib->{$tag}->{$subfield}->{kohafield} eq
428
                            'biblio.biblionumber' );
429
                        push(
430
                            @subfields_data,
431
                            &create_input(
432
                                $tag, $subfield, $value, $index_tag, $tabloop, $record,
433
                                $authorised_values_sth,$input
434
                            )
435
                        );
436
                    }
437
                    else {
438
                        my @subfields = $field->subfields();
439
                        foreach my $subfieldcount ( 0 .. $#subfields ) {
440
                            my $subfield = $subfields[$subfieldcount][0];
441
                            my $value    = $subfields[$subfieldcount][1];
442
                            next if ( length $subfield != 1 );
443
                            next if ( $tagslib->{$tag}->{$subfield}->{tab} ne $tabloop );
444
                            push(
445
                                @subfields_data,
446
                                &create_input(
447
                                    $tag, $subfield, $value, $index_tag, $tabloop,
448
                                    $record, $authorised_values_sth,$input
449
                                )
450
                            );
451
                        }
452
                    }
453
454
                    # now, loop again to add parameter subfield that are not in the MARC::Record
455
                    foreach my $subfield ( sort( keys %{ $tagslib->{$tag} } ) )
456
                    {
457
                        next if ( length $subfield != 1 );
458
                        next if ( defined $tagslib->{$tag}->{$subfield}->{tab} and
459
                            $tagslib->{$tag}->{$subfield}->{tab} ne $tabloop );
460
                        next if ( $tag < 10 );
461
                        next
462
                          if ( ( $tagslib->{$tag}->{$subfield}->{hidden} <= -4 )
463
                            or ( $tagslib->{$tag}->{$subfield}->{hidden} >= 5 ) )
464
                            and not ( $subfield eq "9" and
465
                                      exists($tagslib->{$tag}->{'a'}->{authtypecode}) and
466
                                      defined($tagslib->{$tag}->{'a'}->{authtypecode}) and
467
                                      $tagslib->{$tag}->{'a'}->{authtypecode} ne ""
468
                                    )
469
                          ;    #check for visibility flag
470
                               # if subfield is $9 in a field whose $a is authority-controlled,
471
                               # always include in the form regardless of the hidden setting - bug 2206
472
                        next if ( defined( $field->subfield($subfield) ) );
473
                        push(
474
                            @subfields_data,
475
                            &create_input(
476
                                $tag, $subfield, '', $index_tag, $tabloop, $record,
477
                                $authorised_values_sth,$input
478
                            )
479
                        );
480
                    }
481
                    if ( $#subfields_data >= 0 ) {
482
                        # build the tag entry.
483
                        # note that the random() field is mandatory. Otherwise, on repeated fields, you'll
484
                        # have twice the same "name" value, and cgi->param() will return only one, making
485
                        # all subfields to be merged in a single field.
486
                        my %tag_data = (
487
                            tag           => $tag,
488
                            index         => $index_tag,
489
                            tag_lib       => $tagslib->{$tag}->{lib},
490
                            repeatable       => $tagslib->{$tag}->{repeatable},
491
                            mandatory       => $tagslib->{$tag}->{mandatory},
492
                            important       => $tagslib->{$tag}->{important},
493
                            subfield_loop => \@subfields_data,
494
                            fixedfield    => $tag < 10?1:0,
495
                            random        => CreateKey,
496
                        );
497
                        if ($tag >= 10){ # no indicator for 00x tags
498
                           $tag_data{indicator1} = format_indicator($field->indicator(1)),
499
                           $tag_data{indicator2} = format_indicator($field->indicator(2)),
500
                        }
501
                        push( @loop_data, \%tag_data );
502
                    }
503
                 } # foreach $field end
504
505
            # if breeding is empty
506
            }
507
            else {
508
                my @subfields_data;
509
                foreach my $subfield (
510
                    sort { $a->{display_order} <=> $b->{display_order} || $a->{subfield} cmp $b->{subfield} }
511
                    grep { ref($_) && %$_ } # Not a subfield (values for "important", "lib", "mandatory", etc.) or empty
512
                    values %{ $tagslib->{$tag} } )
513
                {
514
                    next
515
                      if ( ( $subfield->{hidden} <= -4 )
516
                        or ( $subfield->{hidden} >= 5 ) )
517
                      and not ( $subfield->{subfield} eq "9" and
518
                                exists($tagslib->{$tag}->{'a'}->{authtypecode}) and
519
                                defined($tagslib->{$tag}->{'a'}->{authtypecode}) and
520
                                $tagslib->{$tag}->{'a'}->{authtypecode} ne ""
521
                              )
522
                      ;    #check for visibility flag
523
                           # if subfield is $9 in a field whose $a is authority-controlled,
524
                           # always include in the form regardless of the hidden setting - bug 2206
525
                    next
526
                      if ( $subfield->{tab} ne $tabloop );
527
                    push(
528
                        @subfields_data,
529
                        &create_input(
530
                            $tag, $subfield->{subfield}, '', $index_tag, $tabloop, $record,
531
                            $authorised_values_sth,$input
532
                        )
533
                    );
534
                }
535
                if ( $#subfields_data >= 0 ) {
536
                    my %tag_data = (
537
                        tag              => $tag,
538
                        index            => $index_tag,
539
                        tag_lib          => $tagslib->{$tag}->{lib},
540
                        repeatable       => $tagslib->{$tag}->{repeatable},
541
                        mandatory       => $tagslib->{$tag}->{mandatory},
542
                        important       => $tagslib->{$tag}->{important},
543
                        indicator1       => ( $indicator1 || $tagslib->{$tag}->{ind1_defaultvalue} ), #if not set, try to load the default value
544
                        indicator2       => ( $indicator2 || $tagslib->{$tag}->{ind2_defaultvalue} ), #use short-circuit operator for efficiency
545
                        subfield_loop    => \@subfields_data,
546
                        tagfirstsubfield => $subfields_data[0],
547
                        fixedfield       => $tag < 10?1:0,
548
                    );
549
550
                    push @loop_data, \%tag_data ;
551
                }
552
            }
553
        }
554
        if ( $#loop_data >= 0 ) {
555
            push @BIG_LOOP, {
556
                number    => $tabloop,
557
                innerloop => \@loop_data,
558
            };
559
        }
560
    }
561
    $authorised_values_sth->finish;
562
    $template->param( BIG_LOOP => \@BIG_LOOP );
563
}
564
565
##########################
566
#          MAIN
567
##########################
568
my $input = CGI->new;
569
my $error = $input->param('error');
570
my $biblionumber  = $input->param('biblionumber');
571
my $holding_id    = $input->param('holding_id'); # if holding_id exists, it's a modification, not a new holding.
572
my $op            = $input->param('op') // q{};
573
my $mode          = $input->param('mode') // q{};
574
my $frameworkcode = $input->param('frameworkcode');
575
my $redirect      = $input->param('redirect');
576
my $searchid      = $input->param('searchid') // "";
577
my $userflags     = 'edit_items';
578
my $changed_framework = $input->param('changed_framework') // q{};
579
580
my ($template, $loggedinuser, $cookie) = get_template_and_user(
581
    {
582
        template_name   => "cataloguing/addholding.tt",
583
        query           => $input,
584
        type            => "intranet",
585
        flagsrequired   => { editcatalogue => $userflags },
586
    }
587
);
588
589
my $record = $holding_id ? Koha::Holdings->find($holding_id) : Koha::Holding->new();
590
591
$frameworkcode = $record->frameworkcode if $holding_id && $record;
592
$frameworkcode = 'HLD' if not $frameworkcode or $frameworkcode eq '';
593
594
# TODO: support in advanced editor?
595
#if ( $op ne "delete" && C4::Context->preference('EnableAdvancedCatalogingEditor') && C4::Auth::haspermission(C4::Context->userenv->{id},{'editcatalogue'=>'advanced_editor'}) && $input->cookie( 'catalogue_editor_' . $loggedinuser ) eq 'advanced' ) {
596
#    print $input->redirect( '/cgi-bin/koha/cataloguing/editor.pl#catalog/' . $biblionumber . '/holdings/' . ( $holding_id ? $holding_id : '' ) );
597
#    exit;
598
#}
599
600
# ++ Global
601
$tagslib         = &GetMarcStructure( 1, $frameworkcode );
602
$usedTagsLib     = &GetUsedMarcStructure( $frameworkcode );
603
# -- Global
604
605
my ( $biblionumbertagfield, $biblionumbertagsubfield ) =
606
    &GetMarcFromKohaField( "biblio.biblionumber" );
607
608
if ($op eq 'add') {
609
    $template->param(
610
        biblionumberdata => $biblionumber,
611
    );
612
    # Convert HTML input to MARC
613
    my @params = $input->multi_param();
614
    my $marc = TransformHtmlToMarc( $input, 1 );
615
616
    $record->frameworkcode($frameworkcode);
617
    $record->biblionumber($biblionumber);
618
    $record->set_marc({ record => $marc });
619
    $record->store();
620
621
    $holding_id = $record->holding_id;
622
623
    if ($redirect eq 'items' || ($mode ne 'popup' && $redirect ne 'view' && $redirect ne 'just_save')) {
624
        print $input->redirect("/cgi-bin/koha/catalogue/detail.pl?biblionumber=$biblionumber&searchid=$searchid");
625
        exit;
626
    } elsif ($holding_id && $redirect eq 'view') {
627
        print $input->redirect("/cgi-bin/koha/catalogue/detail.pl?biblionumber=$biblionumber&searchid=$searchid");
628
        exit;
629
    } elsif ($redirect eq 'just_save') {
630
        my $tab = $input->param('current_tab');
631
        print $input->redirect("/cgi-bin/koha/cataloguing/addholding.pl?biblionumber=$biblionumber&holding_id=$holding_id&frameworkcode=$frameworkcode&tab=$tab&searchid=$searchid");
632
    } else {
633
        $template->param(
634
            biblionumber => $biblionumber,
635
            holding_id   => $holding_id,
636
            done         => 1,
637
            popup        => $mode,
638
        );
639
        output_html_with_http_headers($input, $cookie, $template->output);
640
        exit;
641
    }
642
} elsif ($op eq 'delete') {
643
    if ($record->items()->count()) {
644
        $template->param(
645
            error_items_exist => 1
646
        );
647
    } elsif (!$record->delete()) {
648
        $template->param(
649
            error_delete_failed => 1
650
        );
651
    } else {
652
        print $input->redirect("/cgi-bin/koha/catalogue/detail.pl?biblionumber=$biblionumber&searchid=$searchid");
653
        exit;
654
    }
655
}
656
657
#----------------------------------------------------------------------------
658
# If we're in a duplication case, we have to clear the holding_id
659
# as we'll save the holding as a new one.
660
$template->param(
661
    holding_iddata => $holding_id,
662
    op             => $op,
663
);
664
if ($op eq 'duplicate') {
665
    $holding_id = '';
666
}
667
668
my $marc;
669
if ($changed_framework eq 'changed') {
670
    $marc = TransformHtmlToMarc($input, 1);
671
} else {
672
    my $metadata = $record->metadata();
673
    $marc = $metadata ? $metadata->record() : -1;
674
}
675
676
if (!$biblionumber) {
677
    # we must have a holdings record if we don't have a biblionumber
678
    $biblionumber = $record->biblionumber;
679
}
680
my $biblio = Koha::Biblios->find($biblionumber);
681
682
output_and_exit( $input, $cookie, $template, 'unknown_biblio')
683
    unless $biblio;
684
685
build_tabs($template, $marc, C4::Context->dbh, '', $input);
686
$template->param(
687
    holding_id               => $holding_id,
688
    biblionumber             => $biblionumber,
689
    biblionumbertagfield     => $biblionumbertagfield,
690
    biblionumbertagsubfield  => $biblionumbertagsubfield,
691
    title                    => $biblio->title,
692
    author                   => $biblio->author
693
);
694
695
my @frameworks = Koha::BiblioFrameworks->search({}, { order_by => ['frameworktext'] })->as_list();
696
$template->param(
697
    frameworks => \@frameworks,
698
    popup => $mode,
699
    frameworkcode => $frameworkcode,
700
    itemtype => $frameworkcode,
701
    borrowernumber => $loggedinuser,
702
    tab => scalar $input->param('tab')
703
);
704
$template->{'VARS'}->{'searchid'} = $searchid;
705
706
output_html_with_http_headers($input, $cookie, $template->output);
(-)a/cataloguing/additem.pl (+3 lines)
Lines 137-142 my $fa_duedatespec = $input->param('duedatespec'); Link Here
137
my $volume                = $input->param('volume');
137
my $volume                = $input->param('volume');
138
my $volume_description    = $input->param('volume_description');
138
my $volume_description    = $input->param('volume_description');
139
139
140
my $holding_id = $input->param('holding_id') // '';
141
140
our $frameworkcode = &GetFrameworkCode($biblionumber);
142
our $frameworkcode = &GetFrameworkCode($biblionumber);
141
143
142
# Defining which userflag is needing according to the framework currently used
144
# Defining which userflag is needing according to the framework currently used
Lines 739-744 my $subfields = Link Here
739
            ? ( ignore_invisible_subfields => 1 )
741
            ? ( ignore_invisible_subfields => 1 )
740
            : ()
742
            : ()
741
        ),
743
        ),
744
        holding_id => $holding_id,
742
    }
745
    }
743
);
746
);
744
747
(-)a/cataloguing/merge.pl (-2 / +2 lines)
Lines 96-102 if ($merge) { Link Here
96
    $biblio = $biblio->get_from_storage;
96
    $biblio = $biblio->get_from_storage;
97
    foreach my $biblionumber (@biblionumbers) {
97
    foreach my $biblionumber (@biblionumbers) {
98
        my $from_biblio = Koha::Biblios->find($biblionumber);
98
        my $from_biblio = Koha::Biblios->find($biblionumber);
99
        $from_biblio->items->move_to_biblio($biblio);
99
        $biblio->adopt_holdings_from_biblio($from_biblio);
100
        $from_biblio->article_requests->update({ biblionumber => $ref_biblionumber }, { no_triggers => 1 });
100
        $from_biblio->article_requests->update({ biblionumber => $ref_biblionumber }, { no_triggers => 1 });
101
    }
101
    }
102
102
Lines 162-168 if ($merge) { Link Here
162
    # Moving suggestions
162
    # Moving suggestions
163
    $sth_suggestions->execute($ref_biblionumber, $biblionumber);
163
    $sth_suggestions->execute($ref_biblionumber, $biblionumber);
164
164
165
    # Moving orders (orders linked to items of frombiblio have already been moved by move_to_biblio)
165
    # Moving orders (orders linked to items of frombiblio have already been moved by adopt_holdings_from_biblio)
166
    my @allorders = GetOrdersByBiblionumber($biblionumber);
166
    my @allorders = GetOrdersByBiblionumber($biblionumber);
167
    foreach my $myorder (@allorders) {
167
    foreach my $myorder (@allorders) {
168
        $myorder->{'biblionumber'} = $ref_biblionumber;
168
        $myorder->{'biblionumber'} = $ref_biblionumber;
(-)a/cataloguing/value_builder/marc21_field_008_holdings.pl (+114 lines)
Line 0 Link Here
1
#!/usr/bin/perl
2
3
# Copyright 2000-2002 Katipo Communications
4
# Copyright 2017-2018 University of Helsinki (The National Library Of Finland)
5
#
6
# This file is part of Koha.
7
#
8
# Koha is free software; you can redistribute it and/or modify it
9
# under the terms of the GNU General Public License as published by
10
# the Free Software Foundation; either version 3 of the License, or
11
# (at your option) any later version.
12
#
13
# Koha is distributed in the hope that it will be useful, but
14
# WITHOUT ANY WARRANTY; without even the implied warranty of
15
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
# GNU General Public License for more details.
17
#
18
# You should have received a copy of the GNU General Public License
19
# along with Koha; if not, see <http://www.gnu.org/licenses>.
20
21
use Modern::Perl;
22
use C4::Auth qw( get_template_and_user );
23
use CGI qw ( -utf8 );
24
use C4::Context;
25
26
use C4::Output qw( output_html_with_http_headers );
27
28
use XML::LibXML;
29
use Koha::Util::FrameworkPlugin qw|date_entered|;
30
31
my $builder = sub {
32
    my ( $params ) = @_;
33
34
    my $lang = C4::Context->preference('DefaultLanguageField008' );
35
    $lang = "eng" unless $lang;
36
    $lang = pack("A3", $lang);
37
38
    my $function_name = $params->{id};
39
    my $dateentered = date_entered();
40
    my $res           = "
41
<script>
42
function Focus$function_name(event) {
43
    if ( document.getElementById(event.data.id).value ) {
44
    }
45
    else {
46
        document.getElementById(event.data.id).value='$dateentered' + '0u    0   4   uu${lang}0$dateentered';
47
    }
48
    return 1;
49
}
50
51
function Click$function_name(event) {
52
    defaultvalue=document.getElementById(event.data.id).value;
53
    //Retrieve full leader string and pass it to the 008 tag editor
54
    var leader_value = \$(\"input[id^='tag_000']\").val();
55
    var leader_parameter = \"\";
56
    if (leader_value){
57
        //Only add the parameter to the URL if there is a value to add
58
        leader_parameter = \"&leader=\"+leader_value;
59
    }
60
    newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=marc21_field_008_holdings.pl&index=\"+ event.data.id +\"&result=\"+defaultvalue+leader_parameter,\"tag_editor\",'width=1000,height=600,toolbar=false,scrollbars=yes');
61
62
}
63
</script>
64
";
65
66
    return $res;
67
};
68
69
my $launcher = sub {
70
    my ( $params ) = @_;
71
    my $input = $params->{cgi};
72
    my $index= $input->param('index');
73
    my $result= $input->param('result');
74
75
    my $lang = C4::Context->preference('DefaultLanguageField008' );
76
    $lang = "eng" unless $lang;
77
    $lang = pack("A3", $lang);
78
79
    my ($template, $loggedinuser, $cookie)
80
    = get_template_and_user({template_name => "cataloguing/value_builder/marc21_field_008_holdings.tt",
81
                 query => $input,
82
                 type => "intranet",
83
                 flagsrequired => {editcatalogue => '*'},
84
                 debug => 1,
85
                 });
86
    my $dateentered = date_entered();
87
    $result = $dateentered . '0u    0   0   uu' . $lang . '0' . $dateentered unless $result;
88
    my @f;
89
    for(0,6..8,12..17,20..22,25,26) {
90
        my $len = 1;
91
        if ($_ == 0 || $_ == 26) {
92
            $len = 6;
93
        } elsif ($_ == 8) {
94
            $len = 4;
95
        } elsif ($_ == 17 || $_ == 22) {
96
            $len = 3;
97
        }
98
        $f[$_]=substr($result,$_,$len);
99
    }
100
    $template->param(index => $index);
101
102
    $f[0]= $dateentered if !$f[0] || $f[0]=~/\s/;
103
    $template->param(f1 => $f[0]);
104
105
    for(6..8,12..17,20..22,25,26) {
106
        $template->param(
107
            "f$_" => $f[$_],
108
            "f$_".($f[$_] eq '|'? 'pipe': $f[$_]) => $f[$_],
109
        );
110
    }
111
    output_html_with_http_headers $input, $cookie, $template->output;
112
};
113
114
return { builder => $builder, launcher => $launcher };
(-)a/cataloguing/value_builder/marc21_leader_holdings.pl (+80 lines)
Line 0 Link Here
1
#!/usr/bin/perl
2
3
# Copyright 2000-2002 Katipo Communications
4
# Copyright 2017-2018 University of Helsinki (The National Library Of Finland)
5
#
6
# This file is part of Koha.
7
#
8
# Koha is free software; you can redistribute it and/or modify it
9
# under the terms of the GNU General Public License as published by
10
# the Free Software Foundation; either version 3 of the License, or
11
# (at your option) any later version.
12
#
13
# Koha is distributed in the hope that it will be useful, but
14
# WITHOUT ANY WARRANTY; without even the implied warranty of
15
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
# GNU General Public License for more details.
17
#
18
# You should have received a copy of the GNU General Public License
19
# along with Koha; if not, see <http://www.gnu.org/licenses>.
20
21
use Modern::Perl;
22
use CGI qw ( -utf8 );
23
24
use C4::Auth qw( get_template_and_user );
25
use C4::Context;
26
use C4::Output qw( output_html_with_http_headers );
27
28
my $builder = sub {
29
    my ( $params ) = @_;
30
    my $function_name = $params->{id};
31
    my $res           = "
32
<script>
33
function Focus$function_name(event) {
34
    if(!document.getElementById(event.data.id).value){
35
        document.getElementById(event.data.id).value = '     nu  a22     un 4500';
36
    }
37
}
38
39
function Click$function_name(event) {
40
    defaultvalue=document.getElementById(event.data.id).value;
41
    newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=marc21_leader_holdings.pl&index=\"+ event.data.id +\"&result=\"+defaultvalue,\"tag_editor\",'width=1000,height=600,toolbar=false,scrollbars=yes');
42
}
43
</script>
44
";
45
46
    return $res;
47
};
48
49
my $launcher = sub {
50
    my ( $params ) = @_;
51
    my $input = $params->{cgi};
52
    my $index   = $input->param('index');
53
    my $result  = $input->param('result');
54
55
    my $dbh = C4::Context->dbh;
56
57
    my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
58
        {   template_name   => "cataloguing/value_builder/marc21_leader_holdings.tt",
59
            query           => $input,
60
            type            => "intranet",
61
            flagsrequired   => { editcatalogue => '*' },
62
            debug           => 1,
63
        }
64
    );
65
    $result = "     nu  a22     ui 4500" unless $result;
66
    my $f5    = substr( $result, 5,  1 );
67
    my $f6    = substr( $result, 6,  1 );
68
    my $f17   = substr( $result, 17, 1 );
69
    my $f18   = substr( $result, 18, 1 );
70
    $template->param(
71
        index     => $index,
72
        "f5$f5"   => 1,
73
        "f6$f6"   => 1,
74
        "f17$f17" => 1,
75
        "f18$f18" => 1,
76
    );
77
    output_html_with_http_headers $input, $cookie, $template->output;
78
};
79
80
return { builder => $builder, launcher => $launcher };
(-)a/installer/data/mysql/atomicupdate/bug_20447-add_holdings_tables.pl (+695 lines)
Line 0 Link Here
1
use Modern::Perl;
2
3
return {
4
    bug_number => "20447",
5
    description => "Add holdings tables",
6
    up => sub {
7
        my ($args) = @_;
8
        my ($dbh, $out) = @$args{qw(dbh out)};
9
10
        if( !TableExists( 'holdings' ) ) {
11
            $dbh->do(q{
12
                CREATE TABLE `holdings` ( -- table that stores summary holdings information
13
                    `holding_id` int(11) NOT NULL auto_increment, -- unique identifier assigned to each holdings record
14
                    `biblionumber` int(11) NOT NULL default 0, -- foreign key from biblio table used to link this record to the right bib record
15
                    `frameworkcode` varchar(4) NOT NULL default '', -- foreign key from the biblio_framework table to identify which framework was used in cataloging this record
16
                    `holdingbranch` varchar(10) default NULL, -- foreign key from the branches table for the library that owns this record (MARC21 852$a)
17
                    `location` varchar(80) default NULL, -- authorized value for the shelving location for this record (MARC21 852$b)
18
                    `ccode` varchar(80) default NULL, -- authorized value for the collection code associated with this item (MARC21 852$g)
19
                    `callnumber` varchar(255) default NULL, -- call number (852$h+$k+$l+$m in MARC21)
20
                    `suppress` tinyint(1) NOT NULL DEFAULT 0, -- Boolean indicating whether the record is suppressed in OPAC
21
                    `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, -- date and time this record was last touched
22
                    `datecreated` DATE NOT NULL, -- the date this record was added to Koha
23
                    `deleted_on` DATETIME DEFAULT NULL, -- the date this record was deleted
24
                    PRIMARY KEY  (`holding_id`),
25
                    KEY `hldnoidx` (`holding_id`),
26
                    KEY `hldbibnoidx` (`biblionumber`),
27
                    CONSTRAINT `holdings_ibfk_1` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
28
                    CONSTRAINT `holdings_ibfk_2` FOREIGN KEY (`holdingbranch`) REFERENCES `branches` (`branchcode`) ON UPDATE CASCADE
29
                ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
30
            });
31
        }
32
        if( !TableExists( 'holdings_metadata' ) ) {
33
            $dbh->do(q{
34
                CREATE TABLE `holdings_metadata` (
35
                    `id` INT(11) NOT NULL AUTO_INCREMENT,
36
                    `holding_id` INT(11) NOT NULL,
37
                    `format` VARCHAR(16) NOT NULL,
38
                    `schema` VARCHAR(16) NOT NULL,
39
                    `metadata` LONGTEXT NOT NULL,
40
                    `deleted_on` DATETIME DEFAULT NULL, -- the date this record was deleted
41
                    PRIMARY KEY(id),
42
                    UNIQUE KEY `holdings_metadata_uniq_key` (`holding_id`,`format`,`schema`),
43
                    KEY `hldnoidx` (`holding_id`),
44
                    CONSTRAINT `holdings_metadata_fk_1` FOREIGN KEY (`holding_id`) REFERENCES `holdings` (`holding_id`) ON DELETE CASCADE ON UPDATE CASCADE
45
                ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
46
            });
47
        }
48
49
        if( !column_exists( 'items', 'holding_id' ) ) {
50
            $dbh->do(q{
51
                ALTER TABLE `items` ADD COLUMN `holding_id` int(11) default NULL;
52
            });
53
            $dbh->do(q{
54
                ALTER TABLE `items` ADD CONSTRAINT `items_ibfk_5` FOREIGN KEY (`holding_id`) REFERENCES `holdings` (`holding_id`) ON DELETE CASCADE ON UPDATE CASCADE;
55
            });
56
            $dbh->do(q{
57
                ALTER TABLE `items` ADD KEY `hldid_idx` (`holding_id`);
58
            });
59
60
            $dbh->do(q{
61
                ALTER TABLE `deleteditems` ADD COLUMN `holding_id` int(11) default NULL;
62
            });
63
        }
64
65
        $dbh->do(q{
66
            INSERT IGNORE INTO authorised_value_categories( category_name ) VALUES ('holdings');
67
        });
68
69
        $dbh->do(q{
70
            INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES
71
                ('SummaryHoldings', '0', NULL, 'If ON, enables support for holdings records.', 'YesNo');
72
        });
73
74
        $dbh->do(q{
75
            INSERT IGNORE INTO `biblio_framework` VALUES ('HLD', 'Default holdings framework');
76
        });
77
78
        if (C4::Context->preference("marcflavour") eq 'MARC21') {
79
80
            # items.holding_id in the default framework
81
            $dbh->do(q{
82
                INSERT IGNORE INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`, `tab`, `authorised_value`, `authtypecode`, `value_builder`, `isurl`, `hidden`, `frameworkcode`, `seealso`, `link`, `defaultvalue`) VALUES
83
                        ('952', 'k', 'Holdings record', 'Holdings record', 0, 0, 'items.holding_id', 10, 'holdings', '', '', NULL, -1, '', '', '', NULL);
84
            });
85
86
            # items.holding_id in the ACQ framework
87
            # add only if ACQ framework exists:
88
            my $sth = $dbh->prepare("SELECT COUNT(1) FROM `biblio_framework` WHERE frameworkcode = 'ACQ'");
89
            $sth->execute;
90
            my ($value) = $sth->fetchrow;
91
            if($value == 1) {
92
                $dbh->do(q{
93
                    INSERT IGNORE INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`, `tab`, `authorised_value`, `authtypecode`, `value_builder`, `isurl`, `hidden`, `frameworkcode`, `seealso`, `link`, `defaultvalue`) VALUES
94
                            ('952', 'k', 'Holdings record', 'Holdings record', 0, 0, 'items.holding_id', 10, 'holdings', '', '', NULL, -1, 'ACQ', '', '', NULL);
95
                });
96
            }
97
            else {
98
99
            }
100
101
            # Holdings framework
102
            $dbh->do(q{
103
                INSERT IGNORE INTO `marc_tag_structure` (`tagfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `authorised_value`, `frameworkcode`) VALUES
104
                        ('000', 'LEADER', 'LEADER', 0, 1, '', 'HLD'),
105
                        ('001', 'CONTROL NUMBER', 'CONTROL NUMBER', 0, 0, '', 'HLD'),
106
                        ('003', 'CONTROL NUMBER IDENTIFIER', 'CONTROL NUMBER IDENTIFIER', 0, 1, '', 'HLD'),
107
                        ('004', 'CONTROL NUMBER FOR RELATED BIBLIOGRAPHIC RECORD', 'CONTROL NUMBER FOR RELATED BIBLIOGRAPHIC RECORD', 0, 0, '', 'HLD'),
108
                        ('005', 'DATE AND TIME OF LATEST TRANSACTION', 'DATE AND TIME OF LATEST TRANSACTION', 0, 1, '', 'HLD'),
109
                        ('006', 'FIXED-LENGTH DATA ELEMENTS--ADDITIONAL MATERIAL CHARACTERISTICS', 'FIXED-LENGTH DATA ELEMENTS--ADDITIONAL MATERIAL CHARACTERISTICS', 1, 0, '', 'HLD'),
110
                        ('007', 'PHYSICAL DESCRIPTION FIXED FIELD--GENERAL INFORMATION', 'PHYSICAL DESCRIPTION FIXED FIELD--GENERAL INFORMATION', 1, 0, '', 'HLD'),
111
                        ('008', 'FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION', 'FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION', 0, 1, '', 'HLD'),
112
                        ('010', 'LIBRARY OF CONGRESS CONTROL NUMBER', 'LIBRARY OF CONGRESS CONTROL NUMBER', 0, 0, '', 'HLD'),
113
                        ('014', 'LINKAGE NUMBER', 'LINKAGE NUMBER', 1, 0, '', 'HLD'),
114
                        ('016', 'NATIONAL BIBLIOGRAPHIC AGENCY CONTROL NUMBER', 'NATIONAL BIBLIOGRAPHIC AGENCY CONTROL NUMBER', 1, 0, '', 'HLD'),
115
                        ('017', 'COPYRIGHT OR LEGAL DEPOSIT NUMBER', 'COPYRIGHT OR LEGAL DEPOSIT NUMBER', 1, 0, '', 'HLD'),
116
                        ('020', 'INTERNATIONAL STANDARD BOOK NUMBER', 'INTERNATIONAL STANDARD BOOK NUMBER', 1, 0, NULL, 'HLD'),
117
                        ('022', 'INTERNATIONAL STANDARD SERIAL NUMBER', 'INTERNATIONAL STANDARD SERIAL NUMBER', 1, 0, NULL, 'HLD'),
118
                        ('024', 'OTHER STANDARD IDENTIFIER', 'OTHER STANDARD IDENTIFIER', 1, 0, NULL, 'HLD'),
119
                        ('027', 'STANDARD TECHNICAL REPORT NUMBER', 'STANDARD TECHNICAL REPORT NUMBER', 1, 0, '', 'HLD'),
120
                        ('030', 'CODEN DESIGNATION', 'CODEN DESIGNATION', 1, 0, '', 'HLD'),
121
                        ('035', 'SYSTEM CONTROL NUMBER', 'SYSTEM CONTROL NUMBER', 1, 0, NULL, 'HLD'),
122
                        ('040', 'CATALOGING SOURCE', 'CATALOGING SOURCE', 0, 1, NULL, 'HLD'),
123
                        ('066', 'CHARACTER SETS PRESENT', 'CHARACTER SETS PRESENT', 0, 0, NULL, 'HLD'),
124
                        ('337', 'MEDIA TYPE', 'MEDIA TYPE', 1, 0, NULL, 'HLD'),
125
                        ('338', 'CARRIER TYPE', 'CARRIER TYPE', 1, 0, NULL, 'HLD'),
126
                        ('347', 'DIGITAL FILE CHARACTERISTICS', 'DIGITAL FILE CHARACTERISTICS', 1, 0, NULL, 'HLD'),
127
                        ('506', 'RESTRICTIONS ON ACCESS NOTE', 'RESTRICTIONS ON ACCESS NOTE', 1, 0, NULL, 'HLD'),
128
                        ('538', 'SYSTEM DETAILS NOTE', 'SYSTEM DETAILS NOTE', 1, 0, NULL, 'HLD'),
129
                        ('541', 'IMMEDIATE SOURCE OF ACQUISITION NOTE', 'IMMEDIATE SOURCE OF ACQUISITION NOTE', 1, 0, NULL, 'HLD'),
130
                        ('561', 'OWNERSHIP AND CUSTODIAL HISTORY', 'OWNERSHIP AND CUSTODIAL HISTORY', 1, 0, NULL, 'HLD'),
131
                        ('562', 'COPY AND VERSION IDENTIFICATION NOTE', 'COPY AND VERSION IDENTIFICATION NOTE', 1, 0, NULL, 'HLD'),
132
                        ('563', 'BINDING INFORMATION', 'BINDING INFORMATION', 1, 0, NULL, 'HLD'),
133
                        ('583', 'ACTION NOTE', 'ACTION NOTE', 1, 0, NULL, 'HLD'),
134
                        ('842', 'TEXTUAL PHYSICAL FORM DESIGNATOR', 'TEXTUAL PHYSICAL FORM DESIGNATOR', 0, 0, NULL, 'HLD'),
135
                        ('843', 'REPRODUCTION NOTE', 'REPRODUCTION NOTE', 1, 0, NULL, 'HLD'),
136
                        ('844', 'NAME OF UNIT', 'NAME OF UNIT', 0, 0, NULL, 'HLD'),
137
                        ('845', 'TERMS GOVERNING USE AND REPRODUCTION NOTE', 'TERMS GOVERNING USE AND REPRODUCTION NOTE', 1, 0, NULL, 'HLD'),
138
                        ('852', 'LOCATION', 'LOCATION', 1, 0, NULL, 'HLD'),
139
                        ('853', 'CAPTIONS AND PATTERN--BASIC BIBLIOGRAPHIC UNIT', 'CAPTIONS AND PATTERN--BASIC BIBLIOGRAPHIC UNIT', 1, 0, NULL, 'HLD'),
140
                        ('854', 'CAPTIONS AND PATTERN--SUPPLEMENTARY MATERIAL', 'CAPTIONS AND PATTERN--SUPPLEMENTARY MATERIAL', 1, 0, NULL, 'HLD'),
141
                        ('855', 'CAPTIONS AND PATTERN--INDEXES', 'CAPTIONS AND PATTERN--INDEXES', 1, 0, NULL, 'HLD'),
142
                        ('856', 'ELECTRONIC LOCATION AND ACCESS', 'ELECTRONIC LOCATION AND ACCESS', 1, 0, NULL, 'HLD'),
143
                        ('863', 'ENUMERATION AND CHRONOLOGY--BASIC BIBLIOGRAPHIC UNIT', 'ENUMERATION AND CHRONOLOGY--BASIC BIBLIOGRAPHIC UNIT', 1, 0, NULL, 'HLD'),
144
                        ('864', 'ENUMERATION AND CHRONOLOGY--SUPPLEMENTARY MATERIAL', 'ENUMERATION AND CHRONOLOGY--SUPPLEMENTARY MATERIAL', 1, 0, NULL, 'HLD'),
145
                        ('865', 'ENUMERATION AND CHRONOLOGY--INDEXES', 'ENUMERATION AND CHRONOLOGY--INDEXES', 1, 0, NULL, 'HLD'),
146
                        ('866', 'TEXTUAL HOLDINGS--BASIC BIBLIOGRAPHIC UNIT', 'TEXTUAL HOLDINGS--BASIC BIBLIOGRAPHIC UNIT', 1, 0, NULL, 'HLD'),
147
                        ('867', 'TEXTUAL HOLDINGS--SUPPLEMENTARY MATERIAL', 'TEXTUAL HOLDINGS--SUPPLEMENTARY MATERIAL', 1, 0, NULL, 'HLD'),
148
                        ('868', 'TEXTUAL HOLDINGS--INDEXES', 'TEXTUAL HOLDINGS--INDEXES', 1, 0, NULL, 'HLD'),
149
                        ('876', 'ITEM INFORMATION--BASIC BIBLIOGRAPHIC UNIT', 'ITEM INFORMATION--BASIC BIBLIOGRAPHIC UNIT', 1, 0, NULL, 'HLD'),
150
                        ('877', 'ITEM INFORMATION--SUPPLEMENTARY MATERIAL', 'ITEM INFORMATION--SUPPLEMENTARY MATERIAL', 1, 0, NULL, 'HLD'),
151
                        ('878', 'ITEM INFORMATION--INDEXES', 'ITEM INFORMATION--INDEXES', 1, 0, NULL, 'HLD'),
152
                        ('880', 'ALTERNATE GRAPHIC REPRESENTATION', 'ALTERNATE GRAPHIC REPRESENTATION', 1, 0, NULL, 'HLD'),
153
                        ('883', 'MACHINE-GENERATED METADATA PROVENANCE', 'MACHINE-GENERATED METADATA PROVENANCE', 1, 0, NULL, 'HLD'),
154
                        ('884', 'DESCRIPTION CONVERSION INFORMATION', 'DESCRIPTION CONVERSION INFORMATION', 1, 0, NULL, 'HLD'),
155
                        ('942', 'ADDED ENTRY ELEMENTS (KOHA)', 'ADDED ENTRY ELEMENTS (KOHA)', 0, 0, '', 'HLD'),
156
                        ('999', 'SYSTEM CONTROL NUMBERS (KOHA)', 'SYSTEM CONTROL NUMBERS (KOHA)', 1, 0, '', 'HLD');
157
            });
158
            $dbh->do(q{
159
                INSERT IGNORE INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`, `tab`, `authorised_value`, `authtypecode`, `value_builder`, `isurl`, `hidden`, `frameworkcode`, `seealso`, `link`, `defaultvalue`) VALUES
160
                        ('000', '@', 'fixed length control field', 'fixed length control field', 0, 1, '', 0, '', '', 'marc21_leader_holdings.pl', 0, 0, 'HLD', '', '', NULL),
161
                        ('001', '@', 'control field', 'control field', 0, 0, '', 0, '', '', '', 0, 4, 'HLD', '', '', NULL),
162
                        ('003', '@', 'control field', 'control field', 0, 1, '', 0, '', '', 'marc21_orgcode.pl', 0, 0, 'HLD', '', '', NULL),
163
                        ('004', '@', 'control field', 'control field', 0, 0, '', 0, '', '', '', 0, 0, 'HLD', '', '', NULL),
164
                        ('005', '@', 'control field', 'control field', 0, 1, '', 0, '', '', 'marc21_field_005.pl', 0, 0, 'HLD', '', '', NULL),
165
                        ('006', '@', 'fixed length control field', 'fixed length control field', 0, 0, '', 0, '', '', 'marc21_field_006.pl', 0, 0, 'HLD', '', '', NULL),
166
                        ('007', '@', 'fixed length control field', 'fixed length control field', 0, 0, '', 0, '', '', 'marc21_field_007.pl', 0, 0, 'HLD', '', '', NULL),
167
                        ('008', '@', 'fixed length control field', 'fixed length control field', 0, 1, '', 0, '', '', 'marc21_field_008_holdings.pl', 0, 0, 'HLD', '', '', NULL),
168
                        ('010', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
169
                        ('010', 'a', 'LC control number', 'LC control number', 0, 0, '', 0, '', '', '', 0, 0, 'HLD', '', '', NULL),
170
                        ('010', 'b', 'NUCMC control number', 'NUCMC control number', 1, 0, '', 0, '', '', '', 0, -1, 'HLD', '', '', NULL),
171
                        ('010', 'z', 'Canceled/invalid LC control number', 'Canceled/invalid LC control number', 1, 0, '', 0, '', '', '', 0, -1, 'HLD', '', '', NULL),
172
                        ('014', '6', 'Linkage', 'Linkage', 0, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
173
                        ('014', 'a', 'Linkage number', 'Linkage number', 0, 0, '', 0, '', '', '', 0, -1, 'HLD', '', '', NULL),
174
                        ('014', 'b', 'Source of number', 'Source of number', 0, 0, '', 0, '', '', '', 0, -1, 'HLD', '', '', NULL),
175
                        ('014', 'z', 'Canceled/invalid linkage number', 'Canceled/invalid linkage number', 1, 0, '', 0, '', '', '', 0, -1, 'HLD', '', '', NULL),
176
                        ('016', '2', 'Source', 'Source', 0, 0, '', 0, '', '', '', 0, 0, 'HLD', '', '', NULL),
177
                        ('016', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
178
                        ('016', 'a', 'Record control number', 'Record control number', 0, 0, '', 0, '', '', '', 0, 0, 'HLD', '', '', NULL),
179
                        ('016', 'z', 'Canceled/invalid control number', 'Canceled/invalid control number', 1, 0, '', 0, '', '', '', 0, -1, 'HLD', '', '', NULL),
180
                        ('017', '2', 'Source', 'Source', 0, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
181
                        ('017', '6', 'Linkage', 'Linkage', 0, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
182
                        ('017', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
183
                        ('017', 'a', 'Copyright or legal deposit number', 'Copyright or legal deposit number', 1, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
184
                        ('017', 'b', 'Assigning agency', 'Assigning agency', 0, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
185
                        ('017', 'd', 'Date', 'Date', 0, 0, '', 0, '', '', NULL, 0, -6, 'HLD', '', '', NULL),
186
                        ('017', 'i', 'Display text', 'Display text', 0, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
187
                        ('017', 'z', 'Canceled/invalid copyright or legal deposit number', 'Canceled/invalid copyright or legal deposit number', 1, 0, '', 0, '', '', '', NULL, -6, 'HLD', '', '', NULL),
188
                        ('020', '6', 'Linkage', 'Linkage', 0, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
189
                        ('020', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
190
                        ('020', 'a', 'International Standard Book Number', 'International Standard Book Number', 0, 0, '', 0, '', '', '', 0, 0, 'HLD', '', '', NULL),
191
                        ('020', 'c', 'Terms of availability', 'Terms of availability', 0, 0, '', 0, '', '', '', 0, 0, 'HLD', '', '', NULL),
192
                        ('020', 'q', 'Qualifying information', 'Qualifying information', 1, 0, '', 0, '', '', '', 0, 0, 'HLD', '', '', NULL),
193
                        ('020', 'z', 'Canceled/invalid ISBN', 'Canceled/invalid ISBN', 1, 0, '', 0, '', '', '', 0, -1, 'HLD', '', '', NULL),
194
                        ('022', '2', 'Source', 'Source', 0, 0, '', 0, '', '', '', 0, 0, 'HLD', '', '', NULL),
195
                        ('022', '6', 'Linkage', 'Linkage', 0, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
196
                        ('022', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
197
                        ('022', 'a', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 0, '', '', '', 0, 0, 'HLD', '', '', NULL),
198
                        ('022', 'l', 'ISSN-L', 'ISSN-L', 0, 0, '', 0, '', '', '', NULL, -6, 'HLD', '', '', NULL),
199
                        ('022', 'm', 'Canceled ISSN-L', 'Canceled ISSN-L', 1, 0, '', 0, '', '', '', NULL, -6, 'HLD', '', '', NULL),
200
                        ('022', 'y', 'Incorrect ISSN', 'Incorrect ISSN', 1, 0, '', 0, '', '', '', 0, -1, 'HLD', '', '', NULL),
201
                        ('022', 'z', 'Canceled ISSN', 'Canceled ISSN', 1, 0, '', 0, '', '', '', 0, -1, 'HLD', '', '', NULL),
202
                        ('024', '2', 'Source of number or code', 'Source of number or code', 0, 0, '', 0, '', '', '', 0, 0, 'HLD', '', '', NULL),
203
                        ('024', '6', 'Linkage', 'Linkage', 0, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
204
                        ('024', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
205
                        ('024', 'a', 'Standard number or code', 'Standard number or code', 0, 0, '', 0, '', '', '', 0, 0, 'HLD', '', '', NULL),
206
                        ('024', 'b', 'Additional codes following the standard number [OBSOLETE]', 'Additional codes following the standard number [OBSOLETE]', 0, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
207
                        ('024', 'c', 'Terms of availability', 'Terms of availability', 0, 0, '', 0, '', '', '', 0, 0, 'HLD', '', '', NULL),
208
                        ('024', 'd', 'Additional codes following the standard number or code', 'Additional codes following the standard number or code', 0, 0, '', 0, '', '', '', 0, 0, 'HLD', '', '', NULL),
209
                        ('024', 'q', 'Qualifying information', 'Qualifying information', 1, 0, '', 0, '', '', '', 0, 0, 'HLD', '', '', NULL),
210
                        ('024', 'z', 'Canceled/invalid standard number or code', 'Canceled/invalid standard number or code', 1, 0, '', 0, '', '', '', 0, -1, 'HLD', '', '', NULL),
211
                        ('027', '6', 'Linkage', 'Linkage', 0, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
212
                        ('027', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
213
                        ('027', 'a', 'Standard technical report number', 'Standard technical report number', 0, 0, '', 0, '', '', '', 0, -1, 'HLD', '', '', NULL),
214
                        ('027', 'q', 'Qualifying information', 'Qualifying information', 1, 0, '', 0, '', '', '', 0, 0, 'HLD', '', '', NULL),
215
                        ('027', 'z', 'Canceled/invalid number', 'Canceled/invalid number', 1, 0, '', 0, '', '', '', 0, -1, 'HLD', '', '', NULL),
216
                        ('030', '6', 'Linkage', 'Linkage', 0, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
217
                        ('030', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
218
                        ('030', 'a', 'CODEN', 'CODEN', 0, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
219
                        ('030', 'z', 'Canceled/invalid CODEN', 'Canceled/invalid CODEN', 1, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
220
                        ('035', '6', 'Linkage', 'Linkage', 0, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
221
                        ('035', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
222
                        ('035', 'a', 'System control number', 'System control number', 0, 0, '', 0, '', '', '', 0, 0, 'HLD', '', '', NULL),
223
                        ('035', 'z', 'Canceled/invalid control number', 'Canceled/invalid control number', 1, 0, '', 0, '', '', '', 0, -1, 'HLD', '', '', NULL),
224
                        ('040', '6', 'Linkage', 'Linkage', 0, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
225
                        ('040', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 0, '', '', '', 0, -6, 'HLD', '', '', NULL),
226
                        ('040', 'a', 'Original cataloging agency', 'Original cataloging agency', 0, 0, '', 0, '', '', '', 0, 0, 'HLD', '', '', NULL),
227
                        ('040', 'b', 'Language of cataloging', 'Language of cataloging', 0, 0, '', 0, '', '', '', 0, 0, 'HLD', '', '', NULL),
228
                        ('040', 'c', 'Transcribing agency', 'Transcribing agency', 0, 1, '', 0, '', '', '', 0, 0, 'HLD', '', '', NULL),
229
                        ('040', 'd', 'Modifying agency', 'Modifying agency', 1, 0, '', 0, '', '', '', 0, 0, 'HLD', '', '', NULL),
230
                        ('066', 'a', 'Primary G0 character set', 'Primary G0 character set', 0, 0, '', 0, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
231
                        ('066', 'b', 'Primary G1 character set', 'Primary G1 character set', 0, 0, '', 0, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
232
                        ('066', 'c', 'Alternate G0 or G1 character set', 'Alternate G0 or G1 character set', 1, 0, '', 0, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
233
                        ('337', '0', 'Authority record control number or standard number', 'Authority record control number or standard number', 1, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
234
                        ('337', '1', 'Real World Object URI', 'Real World Object URI', 1, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
235
                        ('337', '2', 'Source', 'Source', 0, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
236
                        ('337', '3', 'Materials specified', 'Materials specified', 0, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
237
                        ('337', '6', 'Linkage', 'Linkage', 0, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
238
                        ('337', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
239
                        ('337', 'a', 'Media type term', 'Media type term', 1, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
240
                        ('337', 'b', 'Media type code', 'Media type code', 1, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
241
                        ('338', '0', 'Authority record control number or standard number', 'Authority record control number or standard number', 1, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
242
                        ('338', '1', 'Real World Object URI', 'Real World Object URI', 1, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
243
                        ('338', '2', 'Source', 'Source', 0, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
244
                        ('338', '3', 'Materials specified', 'Materials specified', 0, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
245
                        ('338', '6', 'Linkage', 'Linkage', 0, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
246
                        ('338', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
247
                        ('338', 'a', 'Carrier type term', 'Carrier type term', 1, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
248
                        ('338', 'b', 'Carrier type code', 'Carrier type code', 1, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
249
                        ('347', 'a', 'File type', 'File type', 1, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
250
                        ('347', '0', 'Authority record control number or standard number', 'Authority record control number or standard number', 1, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
251
                        ('347', '1', 'Real World Object URI', 'Real World Object URI', 1, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
252
                        ('347', '2', 'Source', 'Source', 0, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
253
                        ('347', '3', 'Materials specified', 'Materials specified', 0, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
254
                        ('347', '6', 'Linkage', 'Linkage', 0, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
255
                        ('347', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
256
                        ('347', 'b', 'Encoding format', 'Encoding format', 1, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
257
                        ('347', 'c', 'File size', 'File size', 1, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
258
                        ('347', 'd', 'Resolution', 'Resolution', 1, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
259
                        ('347', 'e', 'Regional encoding', 'Regional encoding', 1, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
260
                        ('347', 'f', 'Encoded bitrate', 'Encoded bitrate', 1, 0, '', 3, '', '', '', NULL, -6, 'HLD', '', '', NULL),
261
                        ('506', '2', 'Source of term', 'Source of term', 0, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
262
                        ('506', '3', 'Materials specified', 'Materials specified', 0, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
263
                        ('506', '5', 'Institution to which field applies', 'Institution to which field applies', 0, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
264
                        ('506', '6', 'Linkage', 'Linkage', 0, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
265
                        ('506', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
266
                        ('506', 'a', 'Terms governing access', 'Terms governing access', 0, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
267
                        ('506', 'b', 'Jurisdiction', 'Jurisdiction', 1, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
268
                        ('506', 'c', 'Physical access provisions', 'Physical access provisions', 1, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
269
                        ('506', 'd', 'Authorized users', 'Authorized users', 1, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
270
                        ('506', 'e', 'Authorization', 'Authorization', 1, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
271
                        ('506', 'f', 'Standardized terminology for access restriction', 'Standardized terminology for access restriction', 1, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
272
                        ('506', 'g', 'Availability date', 'Availability date', 1, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
273
                        ('506', 'q', 'Supplying agency', 'Supplying agency', 0, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
274
                        ('506', 'u', 'Uniform Resource Identifier', 'Uniform Resource Identifier', 1, 0, '', 5, '', '', '', 1, -6, 'HLD', '', '', NULL),
275
                        ('538', '3', 'Materials specified', 'Materials specified', 0, 0, '', 5, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
276
                        ('538', '5', 'Institution to which field applies', 'Institution to which field applies', 1, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
277
                        ('538', '6', 'Linkage', 'Linkage', 0, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
278
                        ('538', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
279
                        ('538', 'a', 'System details note', 'System details note', 0, 0, '', 5, '', '', '', NULL, -1, 'HLD', '', '', NULL),
280
                        ('538', 'i', 'Display text', 'Display text', 0, 0, '', 5, '', '', '', NULL, -1, 'HLD', '', '', NULL),
281
                        ('538', 'u', 'Uniform Resource Identifier', 'Uniform Resource Identifier', 1, 0, '', 5, '', '', '', 1, -1, 'HLD', '', '', NULL),
282
                        ('541', '3', 'Materials specified', 'Materials specified', 0, 0, '', 5, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
283
                        ('541', '5', 'Institution to which field applies', 'Institution to which field applies', 0, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
284
                        ('541', '6', 'Linkage', 'Linkage', 0, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
285
                        ('541', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
286
                        ('541', 'a', 'Source of acquisition', 'Source of acquisition', 0, 0, '', 5, '', '', '', NULL, 1, 'HLD', '', '', NULL),
287
                        ('541', 'b', 'Address', 'Address', 0, 0, '', 5, '', '', '', NULL, 1, 'HLD', '', '', NULL),
288
                        ('541', 'c', 'Method of acquisition', 'Method of acquisition', 0, 0, '', 5, '', '', '', NULL, 1, 'HLD', '', '', NULL),
289
                        ('541', 'd', 'Date of acquisition', 'Date of acquisition', 0, 0, '', 5, '', '', '', NULL, 1, 'HLD', '', '', NULL),
290
                        ('541', 'e', 'Accession number', 'Accession number', 0, 0, '', 5, '', '', '', NULL, 1, 'HLD', '', '', NULL),
291
                        ('541', 'f', 'Owner', 'Owner', 0, 0, '', 5, '', '', '', NULL, 1, 'HLD', '', '', NULL),
292
                        ('541', 'h', 'Purchase price', 'Purchase price', 0, 0, '', 5, '', '', '', NULL, 1, 'HLD', '', '', NULL),
293
                        ('541', 'n', 'Extent', 'Extent', 1, 0, '', 5, '', '', '', NULL, 1, 'HLD', '', '', NULL),
294
                        ('541', 'o', 'Type of unit', 'Type of unit', 1, 0, '', 5, '', '', '', NULL, 1, 'HLD', '', '', NULL),
295
                        ('561', '3', 'Materials specified', 'Materials specified', 0, 0, '', 5, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
296
                        ('561', '5', 'Institution to which field applies', 'Institution to which field applies', 0, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
297
                        ('561', '6', 'Linkage', 'Linkage', 0, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
298
                        ('561', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
299
                        ('561', 'a', 'History', 'History', 0, 0, '', 5, '', '', '', NULL, 6, 'HLD', '', '', NULL),
300
                        ('561', 'b', 'Time of collation [OBSOLETE]', 'Time of collation [OBSOLETE]', 0, 0, '', 5, '', '', '', NULL, 6, 'HLD', '', '', NULL),
301
                        ('561', 'u', 'Uniform Resource Identifier', 'Uniform Resource Identifier', 1, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
302
                        ('562', '3', 'Materials specified', 'Materials specified', 0, 0, '', 5, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
303
                        ('562', '5', 'Institution to which field applies', 'Institution to which field applies', 0, 0, '', -1, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
304
                        ('562', '6', 'Linkage', 'Linkage', 0, 0, '', 5, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
305
                        ('562', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 5, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
306
                        ('562', 'a', 'Identifying markings', 'Identifying markings', 1, 0, '', 5, NULL, NULL, '', NULL, -1, 'HLD', '', '', NULL),
307
                        ('562', 'b', 'Copy identification', 'Copy identification', 1, 0, '', 5, NULL, NULL, '', NULL, -1, 'HLD', '', '', NULL),
308
                        ('562', 'c', 'Version identification', 'Version identification', 1, 0, '', 5, NULL, NULL, '', NULL, -1, 'HLD', '', '', NULL),
309
                        ('562', 'd', 'Presentation format', 'Presentation format', 1, 0, '', 5, NULL, NULL, '', NULL, -1, 'HLD', '', '', NULL),
310
                        ('562', 'e', 'Number of copies', 'Number of copies', 1, 0, '', 5, NULL, NULL, '', NULL, -1, 'HLD', '', '', NULL),
311
                        ('563', '3', 'Materials specified', 'Materials specified', 0, 0, '', 5, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
312
                        ('563', '5', 'Institution to which field applies', 'Institution to which field applies', 0, 0, '', -1, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
313
                        ('563', '6', 'Linkage', 'Linkage', 0, 0, '', 5, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
314
                        ('563', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 5, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
315
                        ('563', 'a', 'Binding note', 'Binding note', 0, 0, '', 5, NULL, NULL, '', NULL, -1, 'HLD', '', '', NULL),
316
                        ('563', 'u', 'Uniform Resource Identifier', 'Uniform Resource Identifier', 1, 0, '', 5, NULL, NULL, '', 1, -1, 'HLD', '', '', NULL),
317
                        ('583', '2', 'Source of term', 'Source of term', 0, 0, '', 5, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
318
                        ('583', '3', 'Materials specified', 'Materials specified', 0, 0, '', 5, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
319
                        ('583', '5', 'Institution to which field applies', 'Institution to which field applies', 0, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
320
                        ('583', '6', 'Linkage', 'Linkage', 0, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
321
                        ('583', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 5, '', '', '', NULL, -6, 'HLD', '', '', NULL),
322
                        ('583', 'a', 'Action', 'Action', 0, 0, '', 5, '', '', '', NULL, -1, 'HLD', '', '', NULL),
323
                        ('583', 'b', 'Action identification', 'Action identification', 1, 0, '', 5, '', '', '', NULL, -1, 'HLD', '', '', NULL),
324
                        ('583', 'c', 'Time/date of action', 'Time/date of action', 1, 0, '', 5, '', '', '', NULL, -1, 'HLD', '', '', NULL),
325
                        ('583', 'd', 'Action interval', 'Action interval', 1, 0, '', 5, '', '', '', NULL, -1, 'HLD', '', '', NULL),
326
                        ('583', 'e', 'Contingency for action', 'Contingency for action', 1, 0, '', 5, '', '', '', NULL, -1, 'HLD', '', '', NULL),
327
                        ('583', 'f', 'Authorization', 'Authorization', 1, 0, '', 5, '', '', '', NULL, -1, 'HLD', '', '', NULL),
328
                        ('583', 'h', 'Jurisdiction', 'Jurisdiction', 1, 0, '', 5, '', '', '', NULL, -1, 'HLD', '', '', NULL),
329
                        ('583', 'i', 'Method of action', 'Method of action', 1, 0, '', 5, '', '', '', NULL, -1, 'HLD', '', '', NULL),
330
                        ('583', 'j', 'Site of action', 'Site of action', 1, 0, '', 5, '', '', '', NULL, -1, 'HLD', '', '', NULL),
331
                        ('583', 'k', 'Action agent', 'Action agent', 1, 0, '', 5, '', '', '', NULL, -1, 'HLD', '', '', NULL),
332
                        ('583', 'l', 'Status', 'Status', 1, 0, '', 5, '', '', '', NULL, -1, 'HLD', '', '', NULL),
333
                        ('583', 'n', 'Extent', 'Extent', 1, 0, '', 5, '', '', '', NULL, -1, 'HLD', '', '', NULL),
334
                        ('583', 'o', 'Type of unit', 'Type of unit', 1, 0, '', 5, '', '', '', NULL, -1, 'HLD', '', '', NULL),
335
                        ('583', 'u', 'Uniform Resource Identifier', 'Uniform Resource Identifier', 1, 0, '', 5, '', '', '', 1, -1, 'HLD', '', '', NULL),
336
                        ('583', 'x', 'Nonpublic note', 'Nonpublic note', 1, 0, '', 5, '', '', '', NULL, 4, 'HLD', '', '', NULL),
337
                        ('583', 'z', 'Public note', 'Public note', 1, 0, '', 5, '', '', '', NULL, -1, 'HLD', '', '', NULL),
338
                        ('842', '6', 'Linkage', 'Linkage', 0, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
339
                        ('842', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
340
                        ('842', 'a', 'Textual physical form designator', 'Textual physical form designator', 0, 0, '', 8, '', '', '', NULL, -1, 'HLD', '', '', NULL),
341
                        ('843', '3', 'Materials specified', 'Materials specified', 0, 0, '', 8, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
342
                        ('843', '5', 'Institution to which field applies', 'Institution to which field applies', 0, 0, '', 8, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
343
                        ('843', '6', 'Linkage', 'Linkage', 0, 0, '', 8, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
344
                        ('843', '7', 'Fixed-length data elements of reproduction', 'Fixed-length data elements of reproduction', 0, 0, '', 8, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
345
                        ('843', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 8, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
346
                        ('843', 'a', 'Type of reproduction', 'Type of reproduction', 0, 0, '', 8, NULL, NULL, '', NULL, -1, 'HLD', '', '', NULL),
347
                        ('843', 'b', 'Place of reproduction', 'Place of reproduction', 1, 0, '', 8, NULL, NULL, '', NULL, -1, 'HLD', '', '', NULL),
348
                        ('843', 'c', 'Agency responsible for reproduction', 'Agency responsible for reproduction', 1, 0, '', 8, NULL, NULL, '', NULL, -1, 'HLD', '', '', NULL),
349
                        ('843', 'd', 'Date of reproduction', 'Date of reproduction', 0, 0, '', 8, NULL, NULL, '', NULL, -1, 'HLD', '', '', NULL),
350
                        ('843', 'e', 'Physical description of reproduction', 'Physical description of reproduction', 0, 0, '', 8, NULL, NULL, '', NULL, -1, 'HLD', '', '', NULL),
351
                        ('843', 'f', 'Series statement of reproduction', 'Series statement of reproduction', 1, 0, '', 8, NULL, NULL, '', NULL, -1, 'HLD', '', '', NULL),
352
                        ('843', 'm', 'Dates of publication and/or sequential designation of issues reproduced', 'Dates of publication and/or sequential designation of issues reproduced', 1, 0, '', 8, NULL, NULL, '', NULL, -1, 'HLD', '', '', NULL),
353
                        ('843', 'n', 'Note about reproduction', 'Note about reproduction', 1, 0, '', 8, NULL, NULL, '', NULL, -1, 'HLD', '', '', NULL),
354
                        ('844', '6', 'Linkage', 'Linkage', 0, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
355
                        ('844', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
356
                        ('844', 'a', 'Name of unit', 'Name of unit', 0, 0, '', 8, '', '', '', NULL, -1, 'HLD', '', '', NULL),
357
                        ('845', '2', 'Source of term', 'Source of term', 0, 0, '', 8, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
358
                        ('845', '3', 'Materials specified', 'Materials specified', 0, 0, '', 8, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
359
                        ('845', '5', 'Institution to which field applies', 'Institution to which field applies', 0, 0, '', 8, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
360
                        ('845', '6', 'Linkage', 'Linkage', 0, 0, '', 8, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
361
                        ('845', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 8, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
362
                        ('845', 'a', 'Terms governing use and reproduction', 'Terms governing use and reproduction', 0, 0, '', 8, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
363
                        ('845', 'b', 'Jurisdiction', 'Jurisdiction', 0, 0, '', 8, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
364
                        ('845', 'c', 'Authorization', 'Authorization', 0, 0, '', 8, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
365
                        ('845', 'd', 'Authorized users', 'Authorized users', 0, 0, '', 8, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
366
                        ('845', 'f', 'Use and reproduction rights', 'Use and reproduction rights', 1, 0, '', 8, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
367
                        ('845', 'g', 'Availability date', 'Availability date', 1, 0, '', 8, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
368
                        ('845', 'q', 'Supplying agency', 'Supplying agency', 0, 0, '', 8, NULL, NULL, '', NULL, -6, 'HLD', '', '', NULL),
369
                        ('845', 'u', 'Uniform Resource Identifier', 'Uniform Resource Identifier', 1, 0, '', 8, NULL, NULL, '', 1, -6, 'HLD', '', '', NULL),
370
                        ('852', '2', 'Source of classification or shelving scheme', 'Source of classification or shelving scheme', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
371
                        ('852', '3', 'Materials specified', 'Materials specified', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
372
                        ('852', '6', 'Linkage', 'Linkage', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
373
                        ('852', '8', 'Sequence number', 'Sequence number', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
374
                        ('852', 'a', 'Location', 'Location', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
375
                        ('852', 'b', 'Sublocation or collection', 'Sublocation or collection', 1, 0, 'holdings.holdingbranch', 8, 'branches', '', '', NULL, 4, 'HLD', '', '', NULL),
376
                        ('852', 'c', 'Shelving location', 'Shelving location', 1, 0, 'holdings.location', 8, 'LOC', '', '', NULL, 4, 'HLD', '', '', NULL),
377
                        ('852', 'd', 'Former shelving location', 'Former shelving location', 1, 0, '', 8, '', '', '', NULL, 1, 'HLD', '', '', NULL),
378
                        ('852', 'e', 'Address', 'Address', 1, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
379
                        ('852', 'f', 'Coded location qualifier', 'Coded location qualifier', 1, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
380
                        ('852', 'g', 'Non-coded location qualifier', 'Non-coded location qualifier', 1, 0, 'holdings.ccode', 8, 'CCODE', '', '', NULL, 4, 'HLD', '', '', NULL),
381
                        ('852', 'h', 'Classification part', 'Classification part', 0, 0, 'holdings.callnumber', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
382
                        ('852', 'i', 'Item part', 'Item part', 1, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
383
                        ('852', 'j', 'Shelving control number', 'Shelving control number', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
384
                        ('852', 'k', 'Call number prefix', 'Call number prefix', 1, 0, 'holdings.callnumber', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
385
                        ('852', 'l', 'Shelving form of title', 'Shelving form of title', 0, 0, 'holdings.callnumber', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
386
                        ('852', 'm', 'Call number suffix', 'Call number suffix', 1, 0, 'holdings.callnumber', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
387
                        ('852', 'n', 'Country code', 'Country code', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
388
                        ('852', 'p', 'Piece designation', 'Piece designation', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
389
                        ('852', 'q', 'Piece physical condition', 'Piece physical condition', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
390
                        ('852', 's', 'Copyright article-fee code', 'Copyright article-fee code', 1, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
391
                        ('852', 't', 'Copy number', 'Copy number', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
392
                        ('852', 'u', 'Uniform Resource Identifier', 'Uniform Resource Identifier', 1, 0, '', 8, '', '', '', 1, 4, 'HLD', '', '', NULL),
393
                        ('852', 'x', 'Nonpublic note', 'Nonpublic note', 1, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
394
                        ('852', 'z', 'Public note', 'Public note', 1, 0, 'holdings.public_note', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
395
                        ('853', '3', 'Materials specified', 'Materials specified', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
396
                        ('853', '6', 'Linkage', 'Linkage', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
397
                        ('853', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
398
                        ('853', 'a', 'First level of enumeration', 'First level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
399
                        ('853', 'b', 'Second level of enumeration', 'Second level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
400
                        ('853', 'c', 'Third level of enumeration', 'Third level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
401
                        ('853', 'd', 'Fourth level of enumeration', 'Fourth level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
402
                        ('853', 'e', 'Fifth level of enumeration', 'Fifth level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
403
                        ('853', 'f', 'Sixth level of enumeration', 'Sixth level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
404
                        ('853', 'g', 'Alternative numbering scheme, first level of enumeration', 'Alternative numbering scheme, first level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
405
                        ('853', 'h', 'Alternative numbering scheme, second level of enumeration', 'Alternative numbering scheme, second level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
406
                        ('853', 'i', 'First level of chronology', 'First level of chronology', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
407
                        ('853', 'j', 'Second level of chronology', 'Second level of chronology', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
408
                        ('853', 'k', 'Third level of chronology', 'Third level of chronology', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
409
                        ('853', 'l', 'Fourth level of chronology', 'Fourth level of chronology', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
410
                        ('853', 'm', 'Alternative numbering scheme, chronology', 'Alternative numbering scheme, chronology', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
411
                        ('853', 'n', 'Pattern note', 'Pattern note', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
412
                        ('853', 'p', 'Number of pieces per issuance', 'Number of pieces per issuance', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
413
                        ('853', 't', 'Copy', 'Copy', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
414
                        ('853', 'u', 'Bibliographic units per next higher level', 'Bibliographic units per next higher level', 1, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
415
                        ('853', 'v', 'Numbering continuity', 'Numbering continuity', 1, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
416
                        ('853', 'w', 'Frequency', 'Frequency', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
417
                        ('853', 'x', 'Calendar change', 'Calendar change', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
418
                        ('853', 'y', 'Regularity pattern', 'Regularity pattern', 1, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
419
                        ('853', 'z', 'Numbering scheme', 'Numbering scheme', 1, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
420
                        ('854', '3', 'Materials specified', 'Materials specified', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
421
                        ('854', '6', 'Linkage', 'Linkage', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
422
                        ('854', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
423
                        ('854', 'a', 'First level of enumeration', 'First level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
424
                        ('854', 'b', 'Second level of enumeration', 'Second level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
425
                        ('854', 'c', 'Third level of enumeration', 'Third level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
426
                        ('854', 'd', 'Fourth level of enumeration', 'Fourth level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
427
                        ('854', 'e', 'Fifth level of enumeration', 'Fifth level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
428
                        ('854', 'f', 'Sixth level of enumeration', 'Sixth level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
429
                        ('854', 'g', 'Alternative numbering scheme, first level of enumeration', 'Alternative numbering scheme, first level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
430
                        ('854', 'h', 'Alternative numbering scheme, second level of enumeration', 'Alternative numbering scheme, second level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
431
                        ('854', 'i', 'First level of chronology', 'First level of chronology', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
432
                        ('854', 'j', 'Second level of chronology', 'Second level of chronology', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
433
                        ('854', 'k', 'Third level of chronology', 'Third level of chronology', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
434
                        ('854', 'l', 'Fourth level of chronology', 'Fourth level of chronology', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
435
                        ('854', 'm', 'Alternative numbering scheme, chronology', 'Alternative numbering scheme, chronology', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
436
                        ('854', 'n', 'Pattern note', 'Pattern note', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
437
                        ('854', 'p', 'Number of pieces per issuance', 'Number of pieces per issuance', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
438
                        ('854', 't', 'Copy', 'Copy', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
439
                        ('854', 'u', 'Bibliographic units per next higher level', 'Bibliographic units per next higher level', 1, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
440
                        ('854', 'v', 'Numbering continuity', 'Numbering continuity', 1, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
441
                        ('854', 'w', 'Frequency', 'Frequency', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
442
                        ('854', 'x', 'Calendar change', 'Calendar change', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
443
                        ('854', 'y', 'Regularity pattern', 'Regularity pattern', 1, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
444
                        ('854', 'z', 'Numbering scheme', 'Numbering scheme', 1, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
445
                        ('855', '3', 'Materials specified', 'Materials specified', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
446
                        ('855', '6', 'Linkage', 'Linkage', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
447
                        ('855', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
448
                        ('855', 'a', 'First level of enumeration', 'First level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
449
                        ('855', 'b', 'Second level of enumeration', 'Second level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
450
                        ('855', 'c', 'Third level of enumeration', 'Third level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
451
                        ('855', 'd', 'Fourth level of enumeration', 'Fourth level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
452
                        ('855', 'e', 'Fifth level of enumeration', 'Fifth level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
453
                        ('855', 'f', 'Sixth level of enumeration', 'Sixth level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
454
                        ('855', 'g', 'Alternative numbering scheme, first level of enumeration', 'Alternative numbering scheme, first level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
455
                        ('855', 'h', 'Alternative numbering scheme, second level of enumeration', 'Alternative numbering scheme, second level of enumeration', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
456
                        ('855', 'i', 'First level of chronology', 'First level of chronology', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
457
                        ('855', 'j', 'Second level of chronology', 'Second level of chronology', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
458
                        ('855', 'k', 'Third level of chronology', 'Third level of chronology', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
459
                        ('855', 'l', 'Fourth level of chronology', 'Fourth level of chronology', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
460
                        ('855', 'm', 'Alternative numbering scheme, chronology', 'Alternative numbering scheme, chronology', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
461
                        ('855', 'n', 'Pattern note', 'Pattern note', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
462
                        ('855', 'p', 'Number of pieces per issuance', 'Number of pieces per issuance', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
463
                        ('855', 't', 'Copy', 'Copy', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
464
                        ('855', 'u', 'Bibliographic units per next higher level', 'Bibliographic units per next higher level', 1, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
465
                        ('855', 'v', 'Numbering continuity', 'Numbering continuity', 1, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
466
                        ('855', 'w', 'Frequency', 'Frequency', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
467
                        ('855', 'x', 'Calendar change', 'Calendar change', 0, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
468
                        ('855', 'y', 'Regularity pattern', 'Regularity pattern', 1, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
469
                        ('855', 'z', 'Numbering scheme', 'Numbering scheme', 1, 0, '', 8, '', '', '', NULL, 4, 'HLD', '', '', NULL),
470
                        ('856', '2', 'Access method', 'Access method', 0, 0, '', 8, '', '', '', 0, 5, 'HLD', '', '', NULL),
471
                        ('856', '3', 'Materials specified', 'Materials specified', 0, 0, '', 8, '', '', '', 0, 5, 'HLD', '', '', NULL),
472
                        ('856', '6', 'Linkage', 'Linkage', 0, 0, '', 8, '', '', '', 0, 5, 'HLD', '', '', NULL),
473
                        ('856', '7', 'Access status', 'Access status', 0, 0, '', 8, '', '', '', 0, 5, 'HLD', '', '', NULL),
474
                        ('856', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 8, '', '', '', 0, 5, 'HLD', '', '', NULL),
475
                        ('856', 'a', 'Host name', 'Host name', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
476
                        ('856', 'b', 'Access number', 'Access number', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
477
                        ('856', 'c', 'Compression information', 'Compression information', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
478
                        ('856', 'd', 'Path', 'Path', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
479
                        ('856', 'f', 'Electronic name', 'Electronic name', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
480
                        ('856', 'h', 'Processor of request', 'Processor of request', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
481
                        ('856', 'i', 'Instruction', 'Instruction', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
482
                        ('856', 'j', 'Bits per second', 'Bits per second', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
483
                        ('856', 'k', 'Password', 'Password', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
484
                        ('856', 'l', 'Logon', 'Logon', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
485
                        ('856', 'm', 'Contact for access assistance', 'Contact for access assistance', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
486
                        ('856', 'n', 'Name of location of host', 'Name of location of host', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
487
                        ('856', 'o', 'Operating system', 'Operating system', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
488
                        ('856', 'p', 'Port', 'Port', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
489
                        ('856', 'q', 'Electronic format type', 'Electronic format type', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
490
                        ('856', 'r', 'Settings', 'Settings', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
491
                        ('856', 's', 'File size', 'File size', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
492
                        ('856', 't', 'Terminal emulation', 'Terminal emulation', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
493
                        ('856', 'u', 'Uniform Resource Identifier', 'Uniform Resource Identifier', 1, 0, '', 8, '', '', '', 1, 4, 'HLD', '', '', NULL),
494
                        ('856', 'v', 'Hours access method available', 'Hours access method available', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
495
                        ('856', 'w', 'Record control number', 'Record control number', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
496
                        ('856', 'x', 'Nonpublic note', 'Nonpublic note', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
497
                        ('856', 'y', 'Link text', 'Link text', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
498
                        ('856', 'z', 'Public note', 'Public note', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
499
                        ('863', '6', 'Linkage', 'Linkage', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
500
                        ('863', '8', 'Field link and sequence number', 'Field link and sequence number', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
501
                        ('863', 'a', 'First level of enumeration', 'First level of enumeration', 0, 0, 'holdings.summary', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
502
                        ('863', 'b', 'Second level of enumeration', 'Second level of enumeration', 0, 0, 'holdings.summary', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
503
                        ('863', 'c', 'Third level of enumeration', 'Third level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
504
                        ('863', 'd', 'Fourth level of enumeration', 'Fourth level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
505
                        ('863', 'e', 'Fifth level of enumeration', 'Fifth level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
506
                        ('863', 'f', 'Sixth level of enumeration', 'Sixth level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
507
                        ('863', 'g', 'Alternative numbering scheme, first level of enumeration', 'Alternative numbering scheme, first level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
508
                        ('863', 'h', 'Alternative numbering scheme, second level of enumeration', 'Alternative numbering scheme, second level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
509
                        ('863', 'i', 'First level of chronology', 'First level of chronology', 0, 0, 'holdings.summary', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
510
                        ('863', 'j', 'Second level of chronology', 'Second level of chronology', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
511
                        ('863', 'k', 'Third level of chronology', 'Third level of chronology', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
512
                        ('863', 'l', 'Fourth level of chronology', 'Fourth level of chronology', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
513
                        ('863', 'm', 'Alternative numbering scheme, chronology', 'Alternative numbering scheme, chronology', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
514
                        ('863', 'n', 'Converted Gregorian year', 'Converted Gregorian year', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
515
                        ('863', 'o', 'Type of unit', 'Type of unit', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
516
                        ('863', 'p', 'Piece designation', 'Piece designation', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
517
                        ('863', 'q', 'Piece physical condition', 'Piece physical condition', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
518
                        ('863', 's', 'Copyright article-fee code', 'Copyright article-fee code', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
519
                        ('863', 't', 'Copy number', 'Copy number', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
520
                        ('863', 'v', 'Issuing date', 'Issuing date', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
521
                        ('863', 'w', 'Break indicator', 'Break indicator', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
522
                        ('863', 'x', 'Nonpublic note', 'Nonpublic note', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
523
                        ('863', 'z', 'Public note', 'Public note', 1, 0, 'holdings.summary', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
524
                        ('864', '6', 'Linkage', 'Linkage', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
525
                        ('864', '8', 'Field link and sequence number', 'Field link and sequence number', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
526
                        ('864', 'a', 'First level of enumeration', 'First level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
527
                        ('864', 'b', 'Second level of enumeration', 'Second level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
528
                        ('864', 'c', 'Third level of enumeration', 'Third level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
529
                        ('864', 'd', 'Fourth level of enumeration', 'Fourth level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
530
                        ('864', 'e', 'Fifth level of enumeration', 'Fifth level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
531
                        ('864', 'f', 'Sixth level of enumeration', 'Sixth level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
532
                        ('864', 'g', 'Alternative numbering scheme, first level of enumeration', 'Alternative numbering scheme, first level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
533
                        ('864', 'h', 'Alternative numbering scheme, second level of enumeration', 'Alternative numbering scheme, second level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
534
                        ('864', 'i', 'First level of chronology', 'First level of chronology', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
535
                        ('864', 'j', 'Second level of chronology', 'Second level of chronology', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
536
                        ('864', 'k', 'Third level of chronology', 'Third level of chronology', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
537
                        ('864', 'l', 'Fourth level of chronology', 'Fourth level of chronology', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
538
                        ('864', 'm', 'Alternative numbering scheme, chronology', 'Alternative numbering scheme, chronology', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
539
                        ('864', 'n', 'Converted Gregorian year', 'Converted Gregorian year', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
540
                        ('864', 'o', 'Type of unit', 'Type of unit', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
541
                        ('864', 'p', 'Piece designation', 'Piece designation', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
542
                        ('864', 'q', 'Piece physical condition', 'Piece physical condition', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
543
                        ('864', 's', 'Copyright article-fee code', 'Copyright article-fee code', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
544
                        ('864', 't', 'Copy number', 'Copy number', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
545
                        ('864', 'v', 'Issuing date', 'Issuing date', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
546
                        ('864', 'w', 'Break indicator', 'Break indicator', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
547
                        ('864', 'x', 'Nonpublic note', 'Nonpublic note', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
548
                        ('864', 'z', 'Public note', 'Public note', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
549
                        ('865', '6', 'Linkage', 'Linkage', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
550
                        ('865', '8', 'Field link and sequence number', 'Field link and sequence number', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
551
                        ('865', 'a', 'First level of enumeration', 'First level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
552
                        ('865', 'b', 'Second level of enumeration', 'Second level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
553
                        ('865', 'c', 'Third level of enumeration', 'Third level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
554
                        ('865', 'd', 'Fourth level of enumeration', 'Fourth level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
555
                        ('865', 'e', 'Fifth level of enumeration', 'Fifth level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
556
                        ('865', 'f', 'Sixth level of enumeration', 'Sixth level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
557
                        ('865', 'g', 'Alternative numbering scheme, first level of enumeration', 'Alternative numbering scheme, first level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
558
                        ('865', 'h', 'Alternative numbering scheme, second level of enumeration', 'Alternative numbering scheme, second level of enumeration', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
559
                        ('865', 'i', 'First level of chronology', 'First level of chronology', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
560
                        ('865', 'j', 'Second level of chronology', 'Second level of chronology', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
561
                        ('865', 'k', 'Third level of chronology', 'Third level of chronology', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
562
                        ('865', 'l', 'Fourth level of chronology', 'Fourth level of chronology', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
563
                        ('865', 'm', 'Alternative numbering scheme, chronology', 'Alternative numbering scheme, chronology', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
564
                        ('865', 'n', 'Converted Gregorian year', 'Converted Gregorian year', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
565
                        ('865', 'o', 'Type of unit', 'Type of unit', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
566
                        ('865', 'p', 'Piece designation', 'Piece designation', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
567
                        ('865', 'q', 'Piece physical condition', 'Piece physical condition', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
568
                        ('865', 's', 'Copyright article-fee code', 'Copyright article-fee code', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
569
                        ('865', 't', 'Copy number', 'Copy number', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
570
                        ('865', 'v', 'Issuing date', 'Issuing date', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
571
                        ('865', 'w', 'Break indicator', 'Break indicator', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
572
                        ('865', 'x', 'Nonpublic note', 'Nonpublic note', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
573
                        ('865', 'z', 'Public note', 'Public note', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
574
                        ('866', '6', 'Linkage', 'Linkage', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
575
                        ('866', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
576
                        ('866', 'a', 'Textual string', 'Textual string', 0, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
577
                        ('866', 'x', 'Nonpublic note', 'Nonpublic note', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
578
                        ('866', 'z', 'Public note', 'Public note', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
579
                        ('867', '6', 'Linkage', 'Linkage', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
580
                        ('867', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
581
                        ('867', 'a', 'Textual string', 'Textual string', 0, 0, 'holdings.supplements', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
582
                        ('867', 'x', 'Nonpublic note', 'Nonpublic note', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
583
                        ('867', 'z', 'Public note', 'Public note', 1, 0, 'holdings.supplements', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
584
                        ('868', '6', 'Linkage', 'Linkage', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
585
                        ('868', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
586
                        ('868', 'a', 'Textual string', 'Textual string', 0, 0, 'holdings.indexes', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
587
                        ('868', 'x', 'Nonpublic note', 'Nonpublic note', 1, 0, '', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
588
                        ('868', 'z', 'Public note', 'Public note', 1, 0, 'holdings.indexes', 8, '', '', '', 0, 4, 'HLD', '', '', NULL),
589
                        ('876', '3', 'Materials specified', 'Materials specified', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
590
                        ('876', '6', 'Linkage', 'Linkage', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
591
                        ('876', '8', 'Sequence number', 'Sequence number', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
592
                        ('876', 'a', 'Internal item number', 'Internal item number', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
593
                        ('876', 'b', 'Invalid or canceled internal item number', 'Invalid or canceled internal item number', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
594
                        ('876', 'c', 'Cost', 'Cost', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
595
                        ('876', 'd', 'Date acquired', 'Date acquired', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
596
                        ('876', 'e', 'Source of acquisition', 'Source of acquisition', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
597
                        ('876', 'h', 'Use restrictions', 'Use restrictions', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
598
                        ('876', 'j', 'Item status', 'Item status', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
599
                        ('876', 'l', 'Temporary location', 'Temporary location', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
600
                        ('876', 'p', 'Piece designation', 'Piece designation', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
601
                        ('876', 'r', 'Invalid or canceled piece designation', 'Invalid or canceled piece designation', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
602
                        ('876', 't', 'Copy number', 'Copy number', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
603
                        ('876', 'x', 'Nonpublic note', 'Nonpublic note', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
604
                        ('876', 'z', 'Public note', 'Public note', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
605
                        ('877', '3', 'Materials specified', 'Materials specified', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
606
                        ('877', '6', 'Linkage', 'Linkage', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
607
                        ('877', '8', 'Sequence number', 'Sequence number', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
608
                        ('877', 'a', 'Internal item number', 'Internal item number', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
609
                        ('877', 'b', 'Invalid or canceled internal item number', 'Invalid or canceled internal item number', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
610
                        ('877', 'c', 'Cost', 'Cost', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
611
                        ('877', 'd', 'Date acquired', 'Date acquired', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
612
                        ('877', 'e', 'Source of acquisition', 'Source of acquisition', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
613
                        ('877', 'h', 'Use restrictions', 'Use restrictions', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
614
                        ('877', 'j', 'Item status', 'Item status', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
615
                        ('877', 'l', 'Temporary location', 'Temporary location', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
616
                        ('877', 'p', 'Piece designation', 'Piece designation', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
617
                        ('877', 'r', 'Invalid or canceled piece designation', 'Invalid or canceled piece designation', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
618
                        ('877', 't', 'Copy number', 'Copy number', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
619
                        ('877', 'x', 'Nonpublic note', 'Nonpublic note', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
620
                        ('877', 'z', 'Public note', 'Public note', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
621
                        ('878', '3', 'Materials specified', 'Materials specified', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
622
                        ('878', '6', 'Linkage', 'Linkage', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
623
                        ('878', '8', 'Sequence number', 'Sequence number', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
624
                        ('878', 'a', 'Internal item number', 'Internal item number', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
625
                        ('878', 'b', 'Invalid or canceled internal item number', 'Invalid or canceled internal item number', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
626
                        ('878', 'c', 'Cost', 'Cost', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
627
                        ('878', 'd', 'Date acquired', 'Date acquired', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
628
                        ('878', 'e', 'Source of acquisition', 'Source of acquisition', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
629
                        ('878', 'h', 'Use restrictions', 'Use restrictions', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
630
                        ('878', 'j', 'Item status', 'Item status', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
631
                        ('878', 'l', 'Temporary location', 'Temporary location', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
632
                        ('878', 'p', 'Piece designation', 'Piece designation', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
633
                        ('878', 'r', 'Invalid or canceled piece designation', 'Invalid or canceled piece designation', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
634
                        ('878', 't', 'Copy number', 'Copy number', 0, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
635
                        ('878', 'x', 'Nonpublic note', 'Nonpublic note', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
636
                        ('878', 'z', 'Public note', 'Public note', 1, 0, '', 8, '', '', '', NULL, 5, 'HLD', '', '', NULL),
637
                        ('880', '2', '2', '2', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
638
                        ('880', '3', '3', '3', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
639
                        ('880', '4', '4', '4', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
640
                        ('880', '5', '5', '5', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
641
                        ('880', '6', 'Linkage', 'Linkage', 0, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
642
                        ('880', '7', '7', '7', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
643
                        ('880', '8', '8', '8', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
644
                        ('880', '9', '9', '9', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
645
                        ('880', 'a', 'a', 'a', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
646
                        ('880', 'b', 'b', 'b', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
647
                        ('880', 'c', 'c', 'c', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
648
                        ('880', 'd', 'd', 'd', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
649
                        ('880', 'e', 'e', 'e', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
650
                        ('880', 'f', 'f', 'f', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
651
                        ('880', 'g', 'g', 'g', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
652
                        ('880', 'h', 'h', 'h', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
653
                        ('880', 'i', 'i', 'i', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
654
                        ('880', 'j', 'j', 'j', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
655
                        ('880', 'k', 'k', 'k', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
656
                        ('880', 'l', 'l', 'l', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
657
                        ('880', 'm', 'm', 'm', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
658
                        ('880', 'n', 'n', 'n', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
659
                        ('880', 'o', 'o', 'o', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
660
                        ('880', 'p', 'p', 'p', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
661
                        ('880', 'q', 'q', 'q', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
662
                        ('880', 'r', 'r', 'r', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
663
                        ('880', 's', 's', 's', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
664
                        ('880', 't', 't', 't', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
665
                        ('880', 'u', 'u', 'u', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
666
                        ('880', 'v', 'v', 'v', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
667
                        ('880', 'w', 'w', 'w', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
668
                        ('880', 'x', 'x', 'x', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
669
                        ('880', 'y', 'y', 'y', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
670
                        ('880', 'z', 'z', 'z', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
671
                        ('883', '0', 'Authority record control number or standard number', 'Authority record control number or standard number', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
672
                        ('883', '1', 'Real World Object URI', 'Real World Object URI', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
673
                        ('883', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
674
                        ('883', 'a', 'Generation process', 'Generation process', 0, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
675
                        ('883', 'c', 'Confidence value', 'Confidence value', 0, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
676
                        ('883', 'd', 'Generation date', 'Generation date', 0, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
677
                        ('883', 'q', 'Generation agency', 'Generation agency', 0, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
678
                        ('883', 'x', 'Validity end date', 'Validity end date', 0, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
679
                        ('883', 'u', 'Uniform Resource Identifier', 'Uniform Resource Identifier', 0, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
680
                        ('883', 'w', 'Bibliographic record control number', 'Bibliographic record control number', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
681
                        ('884', 'a', 'Conversion process', 'Conversion process', 0, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
682
                        ('884', 'g', 'Conversion date', 'Conversion date', 0, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
683
                        ('884', 'k', 'Identifier of source metadata', 'Identifier of source metadata', 0, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
684
                        ('884', 'q', 'Conversion agency', 'Conversion agency', 0, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
685
                        ('884', 'u', 'Uniform Resource Identifier', 'Uniform Resource Identifier', 1, 0, '', 8, '', '', '', NULL, -6, 'HLD', '', '', NULL),
686
                        ('942', 'n', 'Suppress in OPAC', 'Suppress in OPAC', 0, 0, 'holdings.suppress', 9, '', '', '', 0, 4, 'HLD', '', '', NULL),
687
                        ('999', 'c', 'Koha biblionumber', 'Koha biblionumber', 0, 0, 'biblio.biblionumber', -1, NULL, NULL, '', NULL, -5, 'HLD', '', '', NULL),
688
                        ('999', 'e', 'Koha holding_id', 'Koha holding_id', 0, 0, 'holdings.holding_id', -1, NULL, NULL, '', NULL, -5, 'HLD', '', '', NULL);
689
            });
690
            $dbh->do("UPDATE marc_subfield_structure SET maxlength=24 WHERE frameworkcode='HLD' AND tagfield='000'");
691
            $dbh->do("UPDATE marc_subfield_structure SET maxlength=40 WHERE tagfield='008'");
692
        }
693
694
    },
695
};
(-)a/installer/data/mysql/en/marcflavour/marc21/mandatory/marc21_framework_DEFAULT.yml (-34 / +10016 lines)
Lines 25-31 Link Here
25
# *************************************************************
25
# *************************************************************
26
26
27
description:
27
description:
28
  - "MARC21 Default and Acquisitions bibliographic frameworks."
28
  - "MARC21 Default and Acquisitions bibliographic frameworks and Holdings framework."
29
29
30
tables:
30
tables:
31
  - marc_tag_structure:
31
  - marc_tag_structure:
Lines 724-729 tables: Link Here
724
          link: ""
724
          link: ""
725
          defaultvalue:
725
          defaultvalue:
726
726
727
        - tagfield: "952"
728
          tagsubfield: "k"
729
          liblibrarian: "Holdings record"
730
          libopac: "Holdings record"
731
          repeatable: 0
732
          mandatory: 0
733
          kohafield: items.holding_id
734
          tab: 10
735
          authorised_value: holdings
736
          authtypecode: ""
737
          value_builder: ""
738
          isurl:
739
          hidden: -1
740
          frameworkcode: ""
741
          seealso: ""
742
          link: ""
743
          defaultvalue:
744
727
        - tagfield: "952"
745
        - tagfield: "952"
728
          tagsubfield: "l"
746
          tagsubfield: "l"
729
          liblibrarian: "Total checkouts"
747
          liblibrarian: "Total checkouts"
Lines 82295-82336 tables: Link Here
82295
        - frameworkcode: "ACQ"
82313
        - frameworkcode: "ACQ"
82296
          frameworktext: "Acquisition framework"
82314
          frameworktext: "Acquisition framework"
82297
82315
82298
sql_statements:
82316
# Holdings framework
82299
  - "UPDATE marc_subfield_structure SET maxlength=24 WHERE tagfield='000';"
82317
  - biblio_framework:
82300
  - "UPDATE marc_subfield_structure SET maxlength=40 WHERE tagfield='008';"
82318
      translatable: [ frameworktext ]
82319
      multiline: []
82320
      rows:
82321
        - frameworkcode: "HLD"
82322
          frameworktext: "Default holdings framework"
82301
82323
82302
  # Create the ACQ framework based on the default framework, fields 000 and 952 only
82324
  - marc_tag_structure:
82303
  - "INSERT INTO marc_tag_structure(tagfield, liblibrarian, libopac, repeatable, mandatory, authorised_value, frameworkcode)
82325
      translatable: [ liblibrarian, libopac ]
82304
     SELECT tagfield, liblibrarian, libopac, repeatable, mandatory, authorised_value, 'ACQ' FROM marc_tag_structure WHERE tagfield='000' AND frameworkcode='';"
82326
      multiline: []
82327
      rows:
82328
        - tagfield: "000"
82329
          liblibrarian: "LEADER"
82330
          libopac: "LEADER"
82331
          repeatable: 0
82332
          mandatory: 1
82333
          authorised_value: ""
82334
          frameworkcode: "HLD"
82305
82335
82306
  - "INSERT INTO marc_subfield_structure(tagfield, tagsubfield, liblibrarian, libopac, repeatable, mandatory, kohafield, tab, authorised_value, authtypecode, value_builder, isurl, hidden, frameworkcode, seealso, link, defaultvalue, maxlength)
82336
        - tagfield: "001"
82307
     SELECT tagfield, tagsubfield, liblibrarian, libopac, repeatable, mandatory, kohafield, tab, authorised_value, authtypecode, value_builder, isurl, hidden, 'ACQ', seealso, link, '     nam a22     7a 4500', maxlength FROM marc_subfield_structure WHERE tagfield='000' AND frameworkcode='';"
82337
          liblibrarian: "CONTROL NUMBER"
82338
          libopac: "CONTROL NUMBER"
82339
          repeatable: 0
82340
          mandatory: 0
82341
          authorised_value: ""
82342
          frameworkcode: "HLD"
82308
82343
82309
  - "INSERT INTO marc_tag_structure(tagfield, liblibrarian, libopac, repeatable, mandatory, authorised_value, frameworkcode)
82344
        - tagfield: "003"
82310
     SELECT tagfield, liblibrarian, libopac, repeatable, mandatory, authorised_value, 'ACQ' FROM marc_tag_structure WHERE tagfield='952' AND frameworkcode='';"
82345
          liblibrarian: "CONTROL NUMBER IDENTIFIER"
82346
          libopac: "CONTROL NUMBER IDENTIFIER"
82347
          repeatable: 0
82348
          mandatory: 1
82349
          authorised_value: ""
82350
          frameworkcode: "HLD"
82311
82351
82312
  - "INSERT INTO marc_subfield_structure(tagfield, tagsubfield, liblibrarian, libopac, repeatable, mandatory, kohafield, tab, authorised_value, authtypecode, value_builder, isurl, hidden, frameworkcode, seealso, link, defaultvalue, maxlength)
82352
        - tagfield: "004"
82313
     SELECT tagfield, tagsubfield, liblibrarian, libopac, repeatable, mandatory, kohafield, tab, authorised_value, authtypecode, value_builder, isurl, hidden, 'ACQ', seealso, link, defaultvalue, maxlength FROM marc_subfield_structure WHERE tagfield='952' AND frameworkcode='';"
82353
          liblibrarian: "CONTROL NUMBER FOR RELATED BIBLIOGRAPHIC RECORD"
82354
          libopac: "CONTROL NUMBER FOR RELATED BIBLIOGRAPHIC RECORD"
82355
          repeatable: 0
82356
          mandatory: 0
82357
          authorised_value: ""
82358
          frameworkcode: "HLD"
82314
82359
82315
  - "INSERT INTO marc_tag_structure(tagfield, liblibrarian, libopac, repeatable, mandatory, authorised_value, frameworkcode)
82360
        - tagfield: "005"
82316
     SELECT tagfield, liblibrarian, libopac, repeatable, mandatory, authorised_value, 'ACQ'
82361
          liblibrarian: "DATE AND TIME OF LATEST TRANSACTION"
82317
     FROM marc_tag_structure
82362
          libopac: "DATE AND TIME OF LATEST TRANSACTION"
82318
     WHERE frameworkcode='' AND tagfield IN (
82363
          repeatable: 0
82319
       SELECT tagfield
82364
          mandatory: 1
82320
       FROM marc_subfield_structure
82365
          authorised_value: ""
82321
       WHERE (
82366
          frameworkcode: "HLD"
82322
             kohafield='biblio.title'
82367
82323
         OR  kohafield='biblio.author'
82368
        - tagfield: "006"
82324
         OR  kohafield='biblioitems.publishercode'
82369
          liblibrarian: "FIXED-LENGTH DATA ELEMENTS--ADDITIONAL MATERIAL CHARACTERISTICS"
82325
         OR  kohafield='biblioitems.editionstatement'
82370
          libopac: "FIXED-LENGTH DATA ELEMENTS--ADDITIONAL MATERIAL CHARACTERISTICS"
82326
         OR  kohafield='biblio.copyrightdate'
82371
          repeatable: 1
82327
         OR  kohafield='biblioitems.isbn'
82372
          mandatory: 0
82328
         OR  kohafield='biblio.seriestitle'
82373
          authorised_value: ""
82329
       ) AND frameworkcode=''
82374
          frameworkcode: "HLD"
82330
     );"
82375
82376
        - tagfield: "007"
82377
          liblibrarian: "PHYSICAL DESCRIPTION FIXED FIELD--GENERAL INFORMATION"
82378
          libopac: "PHYSICAL DESCRIPTION FIXED FIELD--GENERAL INFORMATION"
82379
          repeatable: 1
82380
          mandatory: 0
82381
          authorised_value: ""
82382
          frameworkcode: "HLD"
82383
82384
        - tagfield: "008"
82385
          liblibrarian: "FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION"
82386
          libopac: "FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION"
82387
          repeatable: 0
82388
          mandatory: 1
82389
          authorised_value: ""
82390
          frameworkcode: "HLD"
82391
82392
        - tagfield: "010"
82393
          liblibrarian: "LIBRARY OF CONGRESS CONTROL NUMBER"
82394
          libopac: "LIBRARY OF CONGRESS CONTROL NUMBER"
82395
          repeatable: 0
82396
          mandatory: 0
82397
          authorised_value: ""
82398
          frameworkcode: "HLD"
82399
82400
        - tagfield: "014"
82401
          liblibrarian: "LINKAGE NUMBER"
82402
          libopac: "LINKAGE NUMBER"
82403
          repeatable: 1
82404
          mandatory: 0
82405
          authorised_value: ""
82406
          frameworkcode: "HLD"
82407
82408
        - tagfield: "016"
82409
          liblibrarian: "NATIONAL BIBLIOGRAPHIC AGENCY CONTROL NUMBER"
82410
          libopac: "NATIONAL BIBLIOGRAPHIC AGENCY CONTROL NUMBER"
82411
          repeatable: 1
82412
          mandatory: 0
82413
          authorised_value: ""
82414
          frameworkcode: "HLD"
82415
82416
        - tagfield: "017"
82417
          liblibrarian: "COPYRIGHT OR LEGAL DEPOSIT NUMBER"
82418
          libopac: "COPYRIGHT OR LEGAL DEPOSIT NUMBER"
82419
          repeatable: 1
82420
          mandatory: 0
82421
          authorised_value: ""
82422
          frameworkcode: "HLD"
82423
82424
        - tagfield: "020"
82425
          liblibrarian: "INTERNATIONAL STANDARD BOOK NUMBER"
82426
          libopac: "INTERNATIONAL STANDARD BOOK NUMBER"
82427
          repeatable: 1
82428
          mandatory: 0
82429
          authorised_value:
82430
          frameworkcode: "HLD"
82431
82432
        - tagfield: "022"
82433
          liblibrarian: "INTERNATIONAL STANDARD SERIAL NUMBER"
82434
          libopac: "INTERNATIONAL STANDARD SERIAL NUMBER"
82435
          repeatable: 1
82436
          mandatory: 0
82437
          authorised_value:
82438
          frameworkcode: "HLD"
82439
82440
        - tagfield: "024"
82441
          liblibrarian: "OTHER STANDARD IDENTIFIER"
82442
          libopac: "OTHER STANDARD IDENTIFIER"
82443
          repeatable: 1
82444
          mandatory: 0
82445
          authorised_value:
82446
          frameworkcode: "HLD"
82447
82448
        - tagfield: "027"
82449
          liblibrarian: "STANDARD TECHNICAL REPORT NUMBER"
82450
          libopac: "STANDARD TECHNICAL REPORT NUMBER"
82451
          repeatable: 1
82452
          mandatory: 0
82453
          authorised_value: ""
82454
          frameworkcode: "HLD"
82455
82456
        - tagfield: "030"
82457
          liblibrarian: "CODEN DESIGNATION"
82458
          libopac: "CODEN DESIGNATION"
82459
          repeatable: 1
82460
          mandatory: 0
82461
          authorised_value: ""
82462
          frameworkcode: "HLD"
82463
82464
        - tagfield: "035"
82465
          liblibrarian: "SYSTEM CONTROL NUMBER"
82466
          libopac: "SYSTEM CONTROL NUMBER"
82467
          repeatable: 1
82468
          mandatory: 0
82469
          authorised_value:
82470
          frameworkcode: "HLD"
82471
82472
        - tagfield: "040"
82473
          liblibrarian: "CATALOGING SOURCE"
82474
          libopac: "CATALOGING SOURCE"
82475
          repeatable: 0
82476
          mandatory: 1
82477
          authorised_value:
82478
          frameworkcode: "HLD"
82479
82480
        - tagfield: "066"
82481
          liblibrarian: "CHARACTER SETS PRESENT"
82482
          libopac: "CHARACTER SETS PRESENT"
82483
          repeatable: 0
82484
          mandatory: 0
82485
          authorised_value:
82486
          frameworkcode: "HLD"
82487
82488
        - tagfield: "337"
82489
          liblibrarian: "MEDIA TYPE"
82490
          libopac: "MEDIA TYPE"
82491
          repeatable: 1
82492
          mandatory: 0
82493
          authorised_value:
82494
          frameworkcode: "HLD"
82495
82496
        - tagfield: "338"
82497
          liblibrarian: "CARRIER TYPE"
82498
          libopac: "CARRIER TYPE"
82499
          repeatable: 1
82500
          mandatory: 0
82501
          authorised_value:
82502
          frameworkcode: "HLD"
82503
82504
        - tagfield: "347"
82505
          liblibrarian: "DIGITAL FILE CHARACTERISTICS"
82506
          libopac: "DIGITAL FILE CHARACTERISTICS"
82507
          repeatable: 1
82508
          mandatory: 0
82509
          authorised_value:
82510
          frameworkcode: "HLD"
82511
82512
        - tagfield: "506"
82513
          liblibrarian: "RESTRICTIONS ON ACCESS NOTE"
82514
          libopac: "RESTRICTIONS ON ACCESS NOTE"
82515
          repeatable: 1
82516
          mandatory: 0
82517
          authorised_value:
82518
          frameworkcode: "HLD"
82519
82520
        - tagfield: "538"
82521
          liblibrarian: "SYSTEM DETAILS NOTE"
82522
          libopac: "SYSTEM DETAILS NOTE"
82523
          repeatable: 1
82524
          mandatory: 0
82525
          authorised_value:
82526
          frameworkcode: "HLD"
82527
82528
        - tagfield: "541"
82529
          liblibrarian: "IMMEDIATE SOURCE OF ACQUISITION NOTE"
82530
          libopac: "IMMEDIATE SOURCE OF ACQUISITION NOTE"
82531
          repeatable: 1
82532
          mandatory: 0
82533
          authorised_value:
82534
          frameworkcode: "HLD"
82535
82536
        - tagfield: "561"
82537
          liblibrarian: "OWNERSHIP AND CUSTODIAL HISTORY"
82538
          libopac: "OWNERSHIP AND CUSTODIAL HISTORY"
82539
          repeatable: 1
82540
          mandatory: 0
82541
          authorised_value:
82542
          frameworkcode: "HLD"
82543
82544
        - tagfield: "562"
82545
          liblibrarian: "COPY AND VERSION IDENTIFICATION NOTE"
82546
          libopac: "COPY AND VERSION IDENTIFICATION NOTE"
82547
          repeatable: 1
82548
          mandatory: 0
82549
          authorised_value:
82550
          frameworkcode: "HLD"
82551
82552
        - tagfield: "563"
82553
          liblibrarian: "BINDING INFORMATION"
82554
          libopac: "BINDING INFORMATION"
82555
          repeatable: 1
82556
          mandatory: 0
82557
          authorised_value:
82558
          frameworkcode: "HLD"
82559
82560
        - tagfield: "583"
82561
          liblibrarian: "ACTION NOTE"
82562
          libopac: "ACTION NOTE"
82563
          repeatable: 1
82564
          mandatory: 0
82565
          authorised_value:
82566
          frameworkcode: "HLD"
82567
82568
        - tagfield: "842"
82569
          liblibrarian: "TEXTUAL PHYSICAL FORM DESIGNATOR"
82570
          libopac: "TEXTUAL PHYSICAL FORM DESIGNATOR"
82571
          repeatable: 0
82572
          mandatory: 0
82573
          authorised_value:
82574
          frameworkcode: "HLD"
82575
82576
        - tagfield: "843"
82577
          liblibrarian: "REPRODUCTION NOTE"
82578
          libopac: "REPRODUCTION NOTE"
82579
          repeatable: 1
82580
          mandatory: 0
82581
          authorised_value:
82582
          frameworkcode: "HLD"
82583
82584
        - tagfield: "844"
82585
          liblibrarian: "NAME OF UNIT"
82586
          libopac: "NAME OF UNIT"
82587
          repeatable: 0
82588
          mandatory: 0
82589
          authorised_value:
82590
          frameworkcode: "HLD"
82591
82592
        - tagfield: "845"
82593
          liblibrarian: "TERMS GOVERNING USE AND REPRODUCTION NOTE"
82594
          libopac: "TERMS GOVERNING USE AND REPRODUCTION NOTE"
82595
          repeatable: 1
82596
          mandatory: 0
82597
          authorised_value:
82598
          frameworkcode: "HLD"
82599
82600
        - tagfield: "852"
82601
          liblibrarian: "LOCATION"
82602
          libopac: "LOCATION"
82603
          repeatable: 1
82604
          mandatory: 0
82605
          authorised_value:
82606
          frameworkcode: "HLD"
82607
82608
        - tagfield: "853"
82609
          liblibrarian: "CAPTIONS AND PATTERN--BASIC BIBLIOGRAPHIC UNIT"
82610
          libopac: "CAPTIONS AND PATTERN--BASIC BIBLIOGRAPHIC UNIT"
82611
          repeatable: 1
82612
          mandatory: 0
82613
          authorised_value:
82614
          frameworkcode: "HLD"
82615
82616
        - tagfield: "854"
82617
          liblibrarian: "CAPTIONS AND PATTERN--SUPPLEMENTARY MATERIAL"
82618
          libopac: "CAPTIONS AND PATTERN--SUPPLEMENTARY MATERIAL"
82619
          repeatable: 1
82620
          mandatory: 0
82621
          authorised_value:
82622
          frameworkcode: "HLD"
82623
82624
        - tagfield: "855"
82625
          liblibrarian: "CAPTIONS AND PATTERN--INDEXES"
82626
          libopac: "CAPTIONS AND PATTERN--INDEXES"
82627
          repeatable: 1
82628
          mandatory: 0
82629
          authorised_value:
82630
          frameworkcode: "HLD"
82631
82632
        - tagfield: "856"
82633
          liblibrarian: "ELECTRONIC LOCATION AND ACCESS"
82634
          libopac: "ELECTRONIC LOCATION AND ACCESS"
82635
          repeatable: 1
82636
          mandatory: 0
82637
          authorised_value:
82638
          frameworkcode: "HLD"
82639
82640
        - tagfield: "863"
82641
          liblibrarian: "ENUMERATION AND CHRONOLOGY--BASIC BIBLIOGRAPHIC UNIT"
82642
          libopac: "ENUMERATION AND CHRONOLOGY--BASIC BIBLIOGRAPHIC UNIT"
82643
          repeatable: 1
82644
          mandatory: 0
82645
          authorised_value:
82646
          frameworkcode: "HLD"
82647
82648
        - tagfield: "864"
82649
          liblibrarian: "ENUMERATION AND CHRONOLOGY--SUPPLEMENTARY MATERIAL"
82650
          libopac: "ENUMERATION AND CHRONOLOGY--SUPPLEMENTARY MATERIAL"
82651
          repeatable: 1
82652
          mandatory: 0
82653
          authorised_value:
82654
          frameworkcode: "HLD"
82655
82656
        - tagfield: "865"
82657
          liblibrarian: "ENUMERATION AND CHRONOLOGY--INDEXES"
82658
          libopac: "ENUMERATION AND CHRONOLOGY--INDEXES"
82659
          repeatable: 1
82660
          mandatory: 0
82661
          authorised_value:
82662
          frameworkcode: "HLD"
82663
82664
        - tagfield: "866"
82665
          liblibrarian: "TEXTUAL HOLDINGS--BASIC BIBLIOGRAPHIC UNIT"
82666
          libopac: "TEXTUAL HOLDINGS--BASIC BIBLIOGRAPHIC UNIT"
82667
          repeatable: 1
82668
          mandatory: 0
82669
          authorised_value:
82670
          frameworkcode: "HLD"
82671
82672
        - tagfield: "867"
82673
          liblibrarian: "TEXTUAL HOLDINGS--SUPPLEMENTARY MATERIAL"
82674
          libopac: "TEXTUAL HOLDINGS--SUPPLEMENTARY MATERIAL"
82675
          repeatable: 1
82676
          mandatory: 0
82677
          authorised_value:
82678
          frameworkcode: "HLD"
82679
82680
        - tagfield: "868"
82681
          liblibrarian: "TEXTUAL HOLDINGS--INDEXES"
82682
          libopac: "TEXTUAL HOLDINGS--INDEXES"
82683
          repeatable: 1
82684
          mandatory: 0
82685
          authorised_value:
82686
          frameworkcode: "HLD"
82687
82688
        - tagfield: "876"
82689
          liblibrarian: "ITEM INFORMATION--BASIC BIBLIOGRAPHIC UNIT"
82690
          libopac: "ITEM INFORMATION--BASIC BIBLIOGRAPHIC UNIT"
82691
          repeatable: 1
82692
          mandatory: 0
82693
          authorised_value:
82694
          frameworkcode: "HLD"
82695
82696
        - tagfield: "877"
82697
          liblibrarian: "ITEM INFORMATION--SUPPLEMENTARY MATERIAL"
82698
          libopac: "ITEM INFORMATION--SUPPLEMENTARY MATERIAL"
82699
          repeatable: 1
82700
          mandatory: 0
82701
          authorised_value:
82702
          frameworkcode: "HLD"
82703
82704
        - tagfield: "878"
82705
          liblibrarian: "ITEM INFORMATION--INDEXES"
82706
          libopac: "ITEM INFORMATION--INDEXES"
82707
          repeatable: 1
82708
          mandatory: 0
82709
          authorised_value:
82710
          frameworkcode: "HLD"
82711
82712
        - tagfield: "880"
82713
          liblibrarian: "ALTERNATE GRAPHIC REPRESENTATION"
82714
          libopac: "ALTERNATE GRAPHIC REPRESENTATION"
82715
          repeatable: 1
82716
          mandatory: 0
82717
          authorised_value:
82718
          frameworkcode: "HLD"
82719
82720
        - tagfield: "883"
82721
          liblibrarian: "MACHINE-GENERATED METADATA PROVENANCE"
82722
          libopac: "MACHINE-GENERATED METADATA PROVENANCE"
82723
          repeatable: 1
82724
          mandatory: 0
82725
          authorised_value:
82726
          frameworkcode: "HLD"
82727
82728
        - tagfield: "884"
82729
          liblibrarian: "DESCRIPTION CONVERSION INFORMATION"
82730
          libopac: "DESCRIPTION CONVERSION INFORMATION"
82731
          repeatable: 1
82732
          mandatory: 0
82733
          authorised_value:
82734
          frameworkcode: "HLD"
82735
82736
        - tagfield: "942"
82737
          liblibrarian: "ADDED ENTRY ELEMENTS (KOHA)"
82738
          libopac: "ADDED ENTRY ELEMENTS (KOHA)"
82739
          repeatable: 0
82740
          mandatory: 0
82741
          authorised_value: ""
82742
          frameworkcode: "HLD"
82743
82744
        - tagfield: "999"
82745
          liblibrarian: "SYSTEM CONTROL NUMBERS (KOHA)"
82746
          libopac: "SYSTEM CONTROL NUMBERS (KOHA)"
82747
          repeatable: 1
82748
          mandatory: 0
82749
          authorised_value: ""
82750
          frameworkcode: "HLD"
82751
82752
  - marc_subfield_structure:
82753
      translatable: [ liblibrarian, libopac ]
82754
      multiline: []
82755
      rows:
82756
        - tagfield: "000"
82757
          tagsubfield: "@"
82758
          liblibrarian: "fixed length control field"
82759
          libopac: "fixed length control field"
82760
          repeatable: 0
82761
          mandatory: 1
82762
          kohafield: ""
82763
          tab: 0
82764
          authorised_value: ""
82765
          authtypecode: ""
82766
          value_builder: marc21_leader_holdings.pl
82767
          isurl: 0
82768
          hidden: 0
82769
          frameworkcode: "HLD"
82770
          seealso: ""
82771
          link: ""
82772
          defaultvalue:
82773
82774
        - tagfield: "001"
82775
          tagsubfield: "@"
82776
          liblibrarian: "control field"
82777
          libopac: "control field"
82778
          repeatable: 0
82779
          mandatory: 0
82780
          kohafield: ""
82781
          tab: 0
82782
          authorised_value: ""
82783
          authtypecode: ""
82784
          value_builder: ""
82785
          isurl: 0
82786
          hidden: 4
82787
          frameworkcode: "HLD"
82788
          seealso: ""
82789
          link: ""
82790
          defaultvalue:
82791
82792
        - tagfield: "003"
82793
          tagsubfield: "@"
82794
          liblibrarian: "control field"
82795
          libopac: "control field"
82796
          repeatable: 0
82797
          mandatory: 1
82798
          kohafield: ""
82799
          tab: 0
82800
          authorised_value: ""
82801
          authtypecode: ""
82802
          value_builder: marc21_orgcode.pl
82803
          isurl: 0
82804
          hidden: 0
82805
          frameworkcode: "HLD"
82806
          seealso: ""
82807
          link: ""
82808
          defaultvalue:
82809
82810
        - tagfield: "004"
82811
          tagsubfield: "@"
82812
          liblibrarian: "control field"
82813
          libopac: "control field"
82814
          repeatable: 0
82815
          mandatory: 0
82816
          kohafield: ""
82817
          tab: 0
82818
          authorised_value: ""
82819
          authtypecode: ""
82820
          value_builder: ""
82821
          isurl: 0
82822
          hidden: 0
82823
          frameworkcode: "HLD"
82824
          seealso: ""
82825
          link: ""
82826
          defaultvalue:
82827
82828
        - tagfield: "005"
82829
          tagsubfield: "@"
82830
          liblibrarian: "control field"
82831
          libopac: "control field"
82832
          repeatable: 0
82833
          mandatory: 1
82834
          kohafield: ""
82835
          tab: 0
82836
          authorised_value: ""
82837
          authtypecode: ""
82838
          value_builder: marc21_field_005.pl
82839
          isurl: 0
82840
          hidden: 0
82841
          frameworkcode: "HLD"
82842
          seealso: ""
82843
          link: ""
82844
          defaultvalue:
82845
82846
        - tagfield: "006"
82847
          tagsubfield: "@"
82848
          liblibrarian: "fixed length control field"
82849
          libopac: "fixed length control field"
82850
          repeatable: 0
82851
          mandatory: 0
82852
          kohafield: ""
82853
          tab: 0
82854
          authorised_value: ""
82855
          authtypecode: ""
82856
          value_builder: marc21_field_006.pl
82857
          isurl: 0
82858
          hidden: 0
82859
          frameworkcode: "HLD"
82860
          seealso: ""
82861
          link: ""
82862
          defaultvalue:
82863
82864
        - tagfield: "007"
82865
          tagsubfield: "@"
82866
          liblibrarian: "fixed length control field"
82867
          libopac: "fixed length control field"
82868
          repeatable: 0
82869
          mandatory: 0
82870
          kohafield: ""
82871
          tab: 0
82872
          authorised_value: ""
82873
          authtypecode: ""
82874
          value_builder: marc21_field_007.pl
82875
          isurl: 0
82876
          hidden: 0
82877
          frameworkcode: "HLD"
82878
          seealso: ""
82879
          link: ""
82880
          defaultvalue:
82881
82882
        - tagfield: "008"
82883
          tagsubfield: "@"
82884
          liblibrarian: "fixed length control field"
82885
          libopac: "fixed length control field"
82886
          repeatable: 0
82887
          mandatory: 1
82888
          kohafield: ""
82889
          tab: 0
82890
          authorised_value: ""
82891
          authtypecode: ""
82892
          value_builder: marc21_field_008_holdings.pl
82893
          isurl: 0
82894
          hidden: 0
82895
          frameworkcode: "HLD"
82896
          seealso: ""
82897
          link: ""
82898
          defaultvalue:
82899
82900
        - tagfield: "010"
82901
          tagsubfield: "8"
82902
          liblibrarian: "Field link and sequence number"
82903
          libopac: "Field link and sequence number"
82904
          repeatable: 1
82905
          mandatory: 0
82906
          kohafield: ""
82907
          tab: 0
82908
          authorised_value: ""
82909
          authtypecode: ""
82910
          value_builder: ""
82911
          isurl: 0
82912
          hidden: -6
82913
          frameworkcode: "HLD"
82914
          seealso: ""
82915
          link: ""
82916
          defaultvalue:
82917
82918
        - tagfield: "010"
82919
          tagsubfield: "a"
82920
          liblibrarian: "LC control number"
82921
          libopac: "LC control number"
82922
          repeatable: 0
82923
          mandatory: 0
82924
          kohafield: ""
82925
          tab: 0
82926
          authorised_value: ""
82927
          authtypecode: ""
82928
          value_builder: ""
82929
          isurl: 0
82930
          hidden: 0
82931
          frameworkcode: "HLD"
82932
          seealso: ""
82933
          link: ""
82934
          defaultvalue:
82935
82936
        - tagfield: "010"
82937
          tagsubfield: "b"
82938
          liblibrarian: "NUCMC control number"
82939
          libopac: "NUCMC control number"
82940
          repeatable: 1
82941
          mandatory: 0
82942
          kohafield: ""
82943
          tab: 0
82944
          authorised_value: ""
82945
          authtypecode: ""
82946
          value_builder: ""
82947
          isurl: 0
82948
          hidden: -1
82949
          frameworkcode: "HLD"
82950
          seealso: ""
82951
          link: ""
82952
          defaultvalue:
82953
82954
        - tagfield: "010"
82955
          tagsubfield: "z"
82956
          liblibrarian: "Canceled/invalid LC control number"
82957
          libopac: "Canceled/invalid LC control number"
82958
          repeatable: 1
82959
          mandatory: 0
82960
          kohafield: ""
82961
          tab: 0
82962
          authorised_value: ""
82963
          authtypecode: ""
82964
          value_builder: ""
82965
          isurl: 0
82966
          hidden: -1
82967
          frameworkcode: "HLD"
82968
          seealso: ""
82969
          link: ""
82970
          defaultvalue:
82971
82972
        - tagfield: "014"
82973
          tagsubfield: "6"
82974
          liblibrarian: "Linkage"
82975
          libopac: "Linkage"
82976
          repeatable: 0
82977
          mandatory: 0
82978
          kohafield: ""
82979
          tab: 0
82980
          authorised_value: ""
82981
          authtypecode: ""
82982
          value_builder: ""
82983
          isurl: 0
82984
          hidden: -6
82985
          frameworkcode: "HLD"
82986
          seealso: ""
82987
          link: ""
82988
          defaultvalue:
82989
82990
        - tagfield: "014"
82991
          tagsubfield: "a"
82992
          liblibrarian: "Linkage number"
82993
          libopac: "Linkage number"
82994
          repeatable: 0
82995
          mandatory: 0
82996
          kohafield: ""
82997
          tab: 0
82998
          authorised_value: ""
82999
          authtypecode: ""
83000
          value_builder: ""
83001
          isurl: 0
83002
          hidden: -1
83003
          frameworkcode: "HLD"
83004
          seealso: ""
83005
          link: ""
83006
          defaultvalue:
83007
83008
        - tagfield: "014"
83009
          tagsubfield: "b"
83010
          liblibrarian: "Source of number"
83011
          libopac: "Source of number"
83012
          repeatable: 0
83013
          mandatory: 0
83014
          kohafield: ""
83015
          tab: 0
83016
          authorised_value: ""
83017
          authtypecode: ""
83018
          value_builder: ""
83019
          isurl: 0
83020
          hidden: -1
83021
          frameworkcode: "HLD"
83022
          seealso: ""
83023
          link: ""
83024
          defaultvalue:
83025
83026
        - tagfield: "014"
83027
          tagsubfield: "z"
83028
          liblibrarian: "Canceled/invalid linkage number"
83029
          libopac: "Canceled/invalid linkage number"
83030
          repeatable: 1
83031
          mandatory: 0
83032
          kohafield: ""
83033
          tab: 0
83034
          authorised_value: ""
83035
          authtypecode: ""
83036
          value_builder: ""
83037
          isurl: 0
83038
          hidden: -1
83039
          frameworkcode: "HLD"
83040
          seealso: ""
83041
          link: ""
83042
          defaultvalue:
83043
83044
        - tagfield: "016"
83045
          tagsubfield: "2"
83046
          liblibrarian: "Source"
83047
          libopac: "Source"
83048
          repeatable: 0
83049
          mandatory: 0
83050
          kohafield: ""
83051
          tab: 0
83052
          authorised_value: ""
83053
          authtypecode: ""
83054
          value_builder: ""
83055
          isurl: 0
83056
          hidden: 0
83057
          frameworkcode: "HLD"
83058
          seealso: ""
83059
          link: ""
83060
          defaultvalue:
83061
83062
        - tagfield: "016"
83063
          tagsubfield: "8"
83064
          liblibrarian: "Field link and sequence number"
83065
          libopac: "Field link and sequence number"
83066
          repeatable: 1
83067
          mandatory: 0
83068
          kohafield: ""
83069
          tab: 0
83070
          authorised_value: ""
83071
          authtypecode: ""
83072
          value_builder: ""
83073
          isurl: 0
83074
          hidden: -6
83075
          frameworkcode: "HLD"
83076
          seealso: ""
83077
          link: ""
83078
          defaultvalue:
83079
83080
        - tagfield: "016"
83081
          tagsubfield: "a"
83082
          liblibrarian: "Record control number"
83083
          libopac: "Record control number"
83084
          repeatable: 0
83085
          mandatory: 0
83086
          kohafield: ""
83087
          tab: 0
83088
          authorised_value: ""
83089
          authtypecode: ""
83090
          value_builder: ""
83091
          isurl: 0
83092
          hidden: 0
83093
          frameworkcode: "HLD"
83094
          seealso: ""
83095
          link: ""
83096
          defaultvalue:
83097
83098
        - tagfield: "016"
83099
          tagsubfield: "z"
83100
          liblibrarian: "Canceled/invalid control number"
83101
          libopac: "Canceled/invalid control number"
83102
          repeatable: 1
83103
          mandatory: 0
83104
          kohafield: ""
83105
          tab: 0
83106
          authorised_value: ""
83107
          authtypecode: ""
83108
          value_builder: ""
83109
          isurl: 0
83110
          hidden: -1
83111
          frameworkcode: "HLD"
83112
          seealso: ""
83113
          link: ""
83114
          defaultvalue:
83115
83116
        - tagfield: "017"
83117
          tagsubfield: "2"
83118
          liblibrarian: "Source"
83119
          libopac: "Source"
83120
          repeatable: 0
83121
          mandatory: 0
83122
          kohafield: ""
83123
          tab: 0
83124
          authorised_value: ""
83125
          authtypecode: ""
83126
          value_builder: ""
83127
          isurl: 0
83128
          hidden: -6
83129
          frameworkcode: "HLD"
83130
          seealso: ""
83131
          link: ""
83132
          defaultvalue:
83133
83134
        - tagfield: "017"
83135
          tagsubfield: "6"
83136
          liblibrarian: "Linkage"
83137
          libopac: "Linkage"
83138
          repeatable: 0
83139
          mandatory: 0
83140
          kohafield: ""
83141
          tab: 0
83142
          authorised_value: ""
83143
          authtypecode: ""
83144
          value_builder: ""
83145
          isurl: 0
83146
          hidden: -6
83147
          frameworkcode: "HLD"
83148
          seealso: ""
83149
          link: ""
83150
          defaultvalue:
83151
83152
        - tagfield: "017"
83153
          tagsubfield: "8"
83154
          liblibrarian: "Field link and sequence number"
83155
          libopac: "Field link and sequence number"
83156
          repeatable: 1
83157
          mandatory: 0
83158
          kohafield: ""
83159
          tab: 0
83160
          authorised_value: ""
83161
          authtypecode: ""
83162
          value_builder: ""
83163
          isurl: 0
83164
          hidden: -6
83165
          frameworkcode: "HLD"
83166
          seealso: ""
83167
          link: ""
83168
          defaultvalue:
83169
83170
        - tagfield: "017"
83171
          tagsubfield: "a"
83172
          liblibrarian: "Copyright or legal deposit number"
83173
          libopac: "Copyright or legal deposit number"
83174
          repeatable: 1
83175
          mandatory: 0
83176
          kohafield: ""
83177
          tab: 0
83178
          authorised_value: ""
83179
          authtypecode: ""
83180
          value_builder: ""
83181
          isurl: 0
83182
          hidden: -6
83183
          frameworkcode: "HLD"
83184
          seealso: ""
83185
          link: ""
83186
          defaultvalue:
83187
83188
        - tagfield: "017"
83189
          tagsubfield: "b"
83190
          liblibrarian: "Assigning agency"
83191
          libopac: "Assigning agency"
83192
          repeatable: 0
83193
          mandatory: 0
83194
          kohafield: ""
83195
          tab: 0
83196
          authorised_value: ""
83197
          authtypecode: ""
83198
          value_builder: ""
83199
          isurl: 0
83200
          hidden: -6
83201
          frameworkcode: "HLD"
83202
          seealso: ""
83203
          link: ""
83204
          defaultvalue:
83205
83206
        - tagfield: "017"
83207
          tagsubfield: "d"
83208
          liblibrarian: "Date"
83209
          libopac: "Date"
83210
          repeatable: 0
83211
          mandatory: 0
83212
          kohafield: ""
83213
          tab: 0
83214
          authorised_value: ""
83215
          authtypecode: ""
83216
          value_builder:
83217
          isurl: 0
83218
          hidden: -6
83219
          frameworkcode: "HLD"
83220
          seealso: ""
83221
          link: ""
83222
          defaultvalue:
83223
83224
        - tagfield: "017"
83225
          tagsubfield: "i"
83226
          liblibrarian: "Display text"
83227
          libopac: "Display text"
83228
          repeatable: 0
83229
          mandatory: 0
83230
          kohafield: ""
83231
          tab: 0
83232
          authorised_value: ""
83233
          authtypecode: ""
83234
          value_builder: ""
83235
          isurl: 0
83236
          hidden: -6
83237
          frameworkcode: "HLD"
83238
          seealso: ""
83239
          link: ""
83240
          defaultvalue:
83241
83242
        - tagfield: "017"
83243
          tagsubfield: "z"
83244
          liblibrarian: "Canceled/invalid copyright or legal deposit number"
83245
          libopac: "Canceled/invalid copyright or legal deposit number"
83246
          repeatable: 1
83247
          mandatory: 0
83248
          kohafield: ""
83249
          tab: 0
83250
          authorised_value: ""
83251
          authtypecode: ""
83252
          value_builder: ""
83253
          isurl:
83254
          hidden: -6
83255
          frameworkcode: "HLD"
83256
          seealso: ""
83257
          link: ""
83258
          defaultvalue:
83259
83260
        - tagfield: "020"
83261
          tagsubfield: "6"
83262
          liblibrarian: "Linkage"
83263
          libopac: "Linkage"
83264
          repeatable: 0
83265
          mandatory: 0
83266
          kohafield: ""
83267
          tab: 0
83268
          authorised_value: ""
83269
          authtypecode: ""
83270
          value_builder: ""
83271
          isurl: 0
83272
          hidden: -6
83273
          frameworkcode: "HLD"
83274
          seealso: ""
83275
          link: ""
83276
          defaultvalue:
83277
83278
        - tagfield: "020"
83279
          tagsubfield: "8"
83280
          liblibrarian: "Field link and sequence number"
83281
          libopac: "Field link and sequence number"
83282
          repeatable: 1
83283
          mandatory: 0
83284
          kohafield: ""
83285
          tab: 0
83286
          authorised_value: ""
83287
          authtypecode: ""
83288
          value_builder: ""
83289
          isurl: 0
83290
          hidden: -6
83291
          frameworkcode: "HLD"
83292
          seealso: ""
83293
          link: ""
83294
          defaultvalue:
83295
83296
        - tagfield: "020"
83297
          tagsubfield: "a"
83298
          liblibrarian: "International Standard Book Number"
83299
          libopac: "International Standard Book Number"
83300
          repeatable: 0
83301
          mandatory: 0
83302
          kohafield: ""
83303
          tab: 0
83304
          authorised_value: ""
83305
          authtypecode: ""
83306
          value_builder: ""
83307
          isurl: 0
83308
          hidden: 0
83309
          frameworkcode: "HLD"
83310
          seealso: ""
83311
          link: ""
83312
          defaultvalue:
83313
83314
        - tagfield: "020"
83315
          tagsubfield: "c"
83316
          liblibrarian: "Terms of availability"
83317
          libopac: "Terms of availability"
83318
          repeatable: 0
83319
          mandatory: 0
83320
          kohafield: ""
83321
          tab: 0
83322
          authorised_value: ""
83323
          authtypecode: ""
83324
          value_builder: ""
83325
          isurl: 0
83326
          hidden: 0
83327
          frameworkcode: "HLD"
83328
          seealso: ""
83329
          link: ""
83330
          defaultvalue:
83331
83332
        - tagfield: "020"
83333
          tagsubfield: "q"
83334
          liblibrarian: "Qualifying information"
83335
          libopac: "Qualifying information"
83336
          repeatable: 1
83337
          mandatory: 0
83338
          kohafield: ""
83339
          tab: 0
83340
          authorised_value: ""
83341
          authtypecode: ""
83342
          value_builder: ""
83343
          isurl: 0
83344
          hidden: 0
83345
          frameworkcode: "HLD"
83346
          seealso: ""
83347
          link: ""
83348
          defaultvalue:
83349
83350
        - tagfield: "020"
83351
          tagsubfield: "z"
83352
          liblibrarian: "Canceled/invalid ISBN"
83353
          libopac: "Canceled/invalid ISBN"
83354
          repeatable: 1
83355
          mandatory: 0
83356
          kohafield: ""
83357
          tab: 0
83358
          authorised_value: ""
83359
          authtypecode: ""
83360
          value_builder: ""
83361
          isurl: 0
83362
          hidden: -1
83363
          frameworkcode: "HLD"
83364
          seealso: ""
83365
          link: ""
83366
          defaultvalue:
83367
83368
        - tagfield: "022"
83369
          tagsubfield: "2"
83370
          liblibrarian: "Source"
83371
          libopac: "Source"
83372
          repeatable: 0
83373
          mandatory: 0
83374
          kohafield: ""
83375
          tab: 0
83376
          authorised_value: ""
83377
          authtypecode: ""
83378
          value_builder: ""
83379
          isurl: 0
83380
          hidden: 0
83381
          frameworkcode: "HLD"
83382
          seealso: ""
83383
          link: ""
83384
          defaultvalue:
83385
83386
        - tagfield: "022"
83387
          tagsubfield: "6"
83388
          liblibrarian: "Linkage"
83389
          libopac: "Linkage"
83390
          repeatable: 0
83391
          mandatory: 0
83392
          kohafield: ""
83393
          tab: 0
83394
          authorised_value: ""
83395
          authtypecode: ""
83396
          value_builder: ""
83397
          isurl: 0
83398
          hidden: -6
83399
          frameworkcode: "HLD"
83400
          seealso: ""
83401
          link: ""
83402
          defaultvalue:
83403
83404
        - tagfield: "022"
83405
          tagsubfield: "8"
83406
          liblibrarian: "Field link and sequence number"
83407
          libopac: "Field link and sequence number"
83408
          repeatable: 1
83409
          mandatory: 0
83410
          kohafield: ""
83411
          tab: 0
83412
          authorised_value: ""
83413
          authtypecode: ""
83414
          value_builder: ""
83415
          isurl: 0
83416
          hidden: -6
83417
          frameworkcode: "HLD"
83418
          seealso: ""
83419
          link: ""
83420
          defaultvalue:
83421
83422
        - tagfield: "022"
83423
          tagsubfield: "a"
83424
          liblibrarian: "International Standard Serial Number"
83425
          libopac: "International Standard Serial Number"
83426
          repeatable: 0
83427
          mandatory: 0
83428
          kohafield: ""
83429
          tab: 0
83430
          authorised_value: ""
83431
          authtypecode: ""
83432
          value_builder: ""
83433
          isurl: 0
83434
          hidden: 0
83435
          frameworkcode: "HLD"
83436
          seealso: ""
83437
          link: ""
83438
          defaultvalue:
83439
83440
        - tagfield: "022"
83441
          tagsubfield: "l"
83442
          liblibrarian: "ISSN-L"
83443
          libopac: "ISSN-L"
83444
          repeatable: 0
83445
          mandatory: 0
83446
          kohafield: ""
83447
          tab: 0
83448
          authorised_value: ""
83449
          authtypecode: ""
83450
          value_builder: ""
83451
          isurl:
83452
          hidden: -6
83453
          frameworkcode: "HLD"
83454
          seealso: ""
83455
          link: ""
83456
          defaultvalue:
83457
83458
        - tagfield: "022"
83459
          tagsubfield: "m"
83460
          liblibrarian: "Canceled ISSN-L"
83461
          libopac: "Canceled ISSN-L"
83462
          repeatable: 1
83463
          mandatory: 0
83464
          kohafield: ""
83465
          tab: 0
83466
          authorised_value: ""
83467
          authtypecode: ""
83468
          value_builder: ""
83469
          isurl:
83470
          hidden: -6
83471
          frameworkcode: "HLD"
83472
          seealso: ""
83473
          link: ""
83474
          defaultvalue:
83475
83476
        - tagfield: "022"
83477
          tagsubfield: "y"
83478
          liblibrarian: "Incorrect ISSN"
83479
          libopac: "Incorrect ISSN"
83480
          repeatable: 1
83481
          mandatory: 0
83482
          kohafield: ""
83483
          tab: 0
83484
          authorised_value: ""
83485
          authtypecode: ""
83486
          value_builder: ""
83487
          isurl: 0
83488
          hidden: -1
83489
          frameworkcode: "HLD"
83490
          seealso: ""
83491
          link: ""
83492
          defaultvalue:
83493
83494
        - tagfield: "022"
83495
          tagsubfield: "z"
83496
          liblibrarian: "Canceled ISSN"
83497
          libopac: "Canceled ISSN"
83498
          repeatable: 1
83499
          mandatory: 0
83500
          kohafield: ""
83501
          tab: 0
83502
          authorised_value: ""
83503
          authtypecode: ""
83504
          value_builder: ""
83505
          isurl: 0
83506
          hidden: -1
83507
          frameworkcode: "HLD"
83508
          seealso: ""
83509
          link: ""
83510
          defaultvalue:
83511
83512
        - tagfield: "024"
83513
          tagsubfield: "2"
83514
          liblibrarian: "Source of number or code"
83515
          libopac: "Source of number or code"
83516
          repeatable: 0
83517
          mandatory: 0
83518
          kohafield: ""
83519
          tab: 0
83520
          authorised_value: ""
83521
          authtypecode: ""
83522
          value_builder: ""
83523
          isurl: 0
83524
          hidden: 0
83525
          frameworkcode: "HLD"
83526
          seealso: ""
83527
          link: ""
83528
          defaultvalue:
83529
83530
        - tagfield: "024"
83531
          tagsubfield: "6"
83532
          liblibrarian: "Linkage"
83533
          libopac: "Linkage"
83534
          repeatable: 0
83535
          mandatory: 0
83536
          kohafield: ""
83537
          tab: 0
83538
          authorised_value: ""
83539
          authtypecode: ""
83540
          value_builder: ""
83541
          isurl: 0
83542
          hidden: -6
83543
          frameworkcode: "HLD"
83544
          seealso: ""
83545
          link: ""
83546
          defaultvalue:
83547
83548
        - tagfield: "024"
83549
          tagsubfield: "8"
83550
          liblibrarian: "Field link and sequence number"
83551
          libopac: "Field link and sequence number"
83552
          repeatable: 1
83553
          mandatory: 0
83554
          kohafield: ""
83555
          tab: 0
83556
          authorised_value: ""
83557
          authtypecode: ""
83558
          value_builder: ""
83559
          isurl: 0
83560
          hidden: -6
83561
          frameworkcode: "HLD"
83562
          seealso: ""
83563
          link: ""
83564
          defaultvalue:
83565
83566
        - tagfield: "024"
83567
          tagsubfield: "a"
83568
          liblibrarian: "Standard number or code"
83569
          libopac: "Standard number or code"
83570
          repeatable: 0
83571
          mandatory: 0
83572
          kohafield: ""
83573
          tab: 0
83574
          authorised_value: ""
83575
          authtypecode: ""
83576
          value_builder: ""
83577
          isurl: 0
83578
          hidden: 0
83579
          frameworkcode: "HLD"
83580
          seealso: ""
83581
          link: ""
83582
          defaultvalue:
83583
83584
        - tagfield: "024"
83585
          tagsubfield: "b"
83586
          liblibrarian: "Additional codes following the standard number [OBSOLETE]"
83587
          libopac: "Additional codes following the standard number [OBSOLETE]"
83588
          repeatable: 0
83589
          mandatory: 0
83590
          kohafield: ""
83591
          tab: 0
83592
          authorised_value: ""
83593
          authtypecode: ""
83594
          value_builder: ""
83595
          isurl: 0
83596
          hidden: -6
83597
          frameworkcode: "HLD"
83598
          seealso: ""
83599
          link: ""
83600
          defaultvalue:
83601
83602
        - tagfield: "024"
83603
          tagsubfield: "c"
83604
          liblibrarian: "Terms of availability"
83605
          libopac: "Terms of availability"
83606
          repeatable: 0
83607
          mandatory: 0
83608
          kohafield: ""
83609
          tab: 0
83610
          authorised_value: ""
83611
          authtypecode: ""
83612
          value_builder: ""
83613
          isurl: 0
83614
          hidden: 0
83615
          frameworkcode: "HLD"
83616
          seealso: ""
83617
          link: ""
83618
          defaultvalue:
83619
83620
        - tagfield: "024"
83621
          tagsubfield: "d"
83622
          liblibrarian: "Additional codes following the standard number or code"
83623
          libopac: "Additional codes following the standard number or code"
83624
          repeatable: 0
83625
          mandatory: 0
83626
          kohafield: ""
83627
          tab: 0
83628
          authorised_value: ""
83629
          authtypecode: ""
83630
          value_builder: ""
83631
          isurl: 0
83632
          hidden: 0
83633
          frameworkcode: "HLD"
83634
          seealso: ""
83635
          link: ""
83636
          defaultvalue:
83637
83638
        - tagfield: "024"
83639
          tagsubfield: "q"
83640
          liblibrarian: "Qualifying information"
83641
          libopac: "Qualifying information"
83642
          repeatable: 1
83643
          mandatory: 0
83644
          kohafield: ""
83645
          tab: 0
83646
          authorised_value: ""
83647
          authtypecode: ""
83648
          value_builder: ""
83649
          isurl: 0
83650
          hidden: 0
83651
          frameworkcode: "HLD"
83652
          seealso: ""
83653
          link: ""
83654
          defaultvalue:
83655
83656
        - tagfield: "024"
83657
          tagsubfield: "z"
83658
          liblibrarian: "Canceled/invalid standard number or code"
83659
          libopac: "Canceled/invalid standard number or code"
83660
          repeatable: 1
83661
          mandatory: 0
83662
          kohafield: ""
83663
          tab: 0
83664
          authorised_value: ""
83665
          authtypecode: ""
83666
          value_builder: ""
83667
          isurl: 0
83668
          hidden: -1
83669
          frameworkcode: "HLD"
83670
          seealso: ""
83671
          link: ""
83672
          defaultvalue:
83673
83674
        - tagfield: "027"
83675
          tagsubfield: "6"
83676
          liblibrarian: "Linkage"
83677
          libopac: "Linkage"
83678
          repeatable: 0
83679
          mandatory: 0
83680
          kohafield: ""
83681
          tab: 0
83682
          authorised_value: ""
83683
          authtypecode: ""
83684
          value_builder: ""
83685
          isurl: 0
83686
          hidden: -6
83687
          frameworkcode: "HLD"
83688
          seealso: ""
83689
          link: ""
83690
          defaultvalue:
83691
83692
        - tagfield: "027"
83693
          tagsubfield: "8"
83694
          liblibrarian: "Field link and sequence number"
83695
          libopac: "Field link and sequence number"
83696
          repeatable: 1
83697
          mandatory: 0
83698
          kohafield: ""
83699
          tab: 0
83700
          authorised_value: ""
83701
          authtypecode: ""
83702
          value_builder: ""
83703
          isurl: 0
83704
          hidden: -6
83705
          frameworkcode: "HLD"
83706
          seealso: ""
83707
          link: ""
83708
          defaultvalue:
83709
83710
        - tagfield: "027"
83711
          tagsubfield: "a"
83712
          liblibrarian: "Standard technical report number"
83713
          libopac: "Standard technical report number"
83714
          repeatable: 0
83715
          mandatory: 0
83716
          kohafield: ""
83717
          tab: 0
83718
          authorised_value: ""
83719
          authtypecode: ""
83720
          value_builder: ""
83721
          isurl: 0
83722
          hidden: -1
83723
          frameworkcode: "HLD"
83724
          seealso: ""
83725
          link: ""
83726
          defaultvalue:
83727
83728
        - tagfield: "027"
83729
          tagsubfield: "q"
83730
          liblibrarian: "Qualifying information"
83731
          libopac: "Qualifying information"
83732
          repeatable: 1
83733
          mandatory: 0
83734
          kohafield: ""
83735
          tab: 0
83736
          authorised_value: ""
83737
          authtypecode: ""
83738
          value_builder: ""
83739
          isurl: 0
83740
          hidden: 0
83741
          frameworkcode: "HLD"
83742
          seealso: ""
83743
          link: ""
83744
          defaultvalue:
83745
83746
        - tagfield: "027"
83747
          tagsubfield: "z"
83748
          liblibrarian: "Canceled/invalid number"
83749
          libopac: "Canceled/invalid number"
83750
          repeatable: 1
83751
          mandatory: 0
83752
          kohafield: ""
83753
          tab: 0
83754
          authorised_value: ""
83755
          authtypecode: ""
83756
          value_builder: ""
83757
          isurl: 0
83758
          hidden: -1
83759
          frameworkcode: "HLD"
83760
          seealso: ""
83761
          link: ""
83762
          defaultvalue:
83763
83764
        - tagfield: "030"
83765
          tagsubfield: "6"
83766
          liblibrarian: "Linkage"
83767
          libopac: "Linkage"
83768
          repeatable: 0
83769
          mandatory: 0
83770
          kohafield: ""
83771
          tab: 0
83772
          authorised_value: ""
83773
          authtypecode: ""
83774
          value_builder: ""
83775
          isurl: 0
83776
          hidden: -6
83777
          frameworkcode: "HLD"
83778
          seealso: ""
83779
          link: ""
83780
          defaultvalue:
83781
83782
        - tagfield: "030"
83783
          tagsubfield: "8"
83784
          liblibrarian: "Field link and sequence number"
83785
          libopac: "Field link and sequence number"
83786
          repeatable: 1
83787
          mandatory: 0
83788
          kohafield: ""
83789
          tab: 0
83790
          authorised_value: ""
83791
          authtypecode: ""
83792
          value_builder: ""
83793
          isurl: 0
83794
          hidden: -6
83795
          frameworkcode: "HLD"
83796
          seealso: ""
83797
          link: ""
83798
          defaultvalue:
83799
83800
        - tagfield: "030"
83801
          tagsubfield: "a"
83802
          liblibrarian: "CODEN"
83803
          libopac: "CODEN"
83804
          repeatable: 0
83805
          mandatory: 0
83806
          kohafield: ""
83807
          tab: 0
83808
          authorised_value: ""
83809
          authtypecode: ""
83810
          value_builder: ""
83811
          isurl: 0
83812
          hidden: -6
83813
          frameworkcode: "HLD"
83814
          seealso: ""
83815
          link: ""
83816
          defaultvalue:
83817
83818
        - tagfield: "030"
83819
          tagsubfield: "z"
83820
          liblibrarian: "Canceled/invalid CODEN"
83821
          libopac: "Canceled/invalid CODEN"
83822
          repeatable: 1
83823
          mandatory: 0
83824
          kohafield: ""
83825
          tab: 0
83826
          authorised_value: ""
83827
          authtypecode: ""
83828
          value_builder: ""
83829
          isurl: 0
83830
          hidden: -6
83831
          frameworkcode: "HLD"
83832
          seealso: ""
83833
          link: ""
83834
          defaultvalue:
83835
83836
        - tagfield: "035"
83837
          tagsubfield: "6"
83838
          liblibrarian: "Linkage"
83839
          libopac: "Linkage"
83840
          repeatable: 0
83841
          mandatory: 0
83842
          kohafield: ""
83843
          tab: 0
83844
          authorised_value: ""
83845
          authtypecode: ""
83846
          value_builder: ""
83847
          isurl: 0
83848
          hidden: -6
83849
          frameworkcode: "HLD"
83850
          seealso: ""
83851
          link: ""
83852
          defaultvalue:
83853
83854
        - tagfield: "035"
83855
          tagsubfield: "8"
83856
          liblibrarian: "Field link and sequence number"
83857
          libopac: "Field link and sequence number"
83858
          repeatable: 1
83859
          mandatory: 0
83860
          kohafield: ""
83861
          tab: 0
83862
          authorised_value: ""
83863
          authtypecode: ""
83864
          value_builder: ""
83865
          isurl: 0
83866
          hidden: -6
83867
          frameworkcode: "HLD"
83868
          seealso: ""
83869
          link: ""
83870
          defaultvalue:
83871
83872
        - tagfield: "035"
83873
          tagsubfield: "a"
83874
          liblibrarian: "System control number"
83875
          libopac: "System control number"
83876
          repeatable: 0
83877
          mandatory: 0
83878
          kohafield: ""
83879
          tab: 0
83880
          authorised_value: ""
83881
          authtypecode: ""
83882
          value_builder: ""
83883
          isurl: 0
83884
          hidden: 0
83885
          frameworkcode: "HLD"
83886
          seealso: ""
83887
          link: ""
83888
          defaultvalue:
83889
83890
        - tagfield: "035"
83891
          tagsubfield: "z"
83892
          liblibrarian: "Canceled/invalid control number"
83893
          libopac: "Canceled/invalid control number"
83894
          repeatable: 1
83895
          mandatory: 0
83896
          kohafield: ""
83897
          tab: 0
83898
          authorised_value: ""
83899
          authtypecode: ""
83900
          value_builder: ""
83901
          isurl: 0
83902
          hidden: -1
83903
          frameworkcode: "HLD"
83904
          seealso: ""
83905
          link: ""
83906
          defaultvalue:
83907
83908
        - tagfield: "040"
83909
          tagsubfield: "6"
83910
          liblibrarian: "Linkage"
83911
          libopac: "Linkage"
83912
          repeatable: 0
83913
          mandatory: 0
83914
          kohafield: ""
83915
          tab: 0
83916
          authorised_value: ""
83917
          authtypecode: ""
83918
          value_builder: ""
83919
          isurl: 0
83920
          hidden: -6
83921
          frameworkcode: "HLD"
83922
          seealso: ""
83923
          link: ""
83924
          defaultvalue:
83925
83926
        - tagfield: "040"
83927
          tagsubfield: "8"
83928
          liblibrarian: "Field link and sequence number"
83929
          libopac: "Field link and sequence number"
83930
          repeatable: 1
83931
          mandatory: 0
83932
          kohafield: ""
83933
          tab: 0
83934
          authorised_value: ""
83935
          authtypecode: ""
83936
          value_builder: ""
83937
          isurl: 0
83938
          hidden: -6
83939
          frameworkcode: "HLD"
83940
          seealso: ""
83941
          link: ""
83942
          defaultvalue:
83943
83944
        - tagfield: "040"
83945
          tagsubfield: "a"
83946
          liblibrarian: "Original cataloging agency"
83947
          libopac: "Original cataloging agency"
83948
          repeatable: 0
83949
          mandatory: 0
83950
          kohafield: ""
83951
          tab: 0
83952
          authorised_value: ""
83953
          authtypecode: ""
83954
          value_builder: ""
83955
          isurl: 0
83956
          hidden: 0
83957
          frameworkcode: "HLD"
83958
          seealso: ""
83959
          link: ""
83960
          defaultvalue:
83961
83962
        - tagfield: "040"
83963
          tagsubfield: "b"
83964
          liblibrarian: "Language of cataloging"
83965
          libopac: "Language of cataloging"
83966
          repeatable: 0
83967
          mandatory: 0
83968
          kohafield: ""
83969
          tab: 0
83970
          authorised_value: ""
83971
          authtypecode: ""
83972
          value_builder: ""
83973
          isurl: 0
83974
          hidden: 0
83975
          frameworkcode: "HLD"
83976
          seealso: ""
83977
          link: ""
83978
          defaultvalue:
83979
83980
        - tagfield: "040"
83981
          tagsubfield: "c"
83982
          liblibrarian: "Transcribing agency"
83983
          libopac: "Transcribing agency"
83984
          repeatable: 0
83985
          mandatory: 1
83986
          kohafield: ""
83987
          tab: 0
83988
          authorised_value: ""
83989
          authtypecode: ""
83990
          value_builder: ""
83991
          isurl: 0
83992
          hidden: 0
83993
          frameworkcode: "HLD"
83994
          seealso: ""
83995
          link: ""
83996
          defaultvalue:
83997
83998
        - tagfield: "040"
83999
          tagsubfield: "d"
84000
          liblibrarian: "Modifying agency"
84001
          libopac: "Modifying agency"
84002
          repeatable: 1
84003
          mandatory: 0
84004
          kohafield: ""
84005
          tab: 0
84006
          authorised_value: ""
84007
          authtypecode: ""
84008
          value_builder: ""
84009
          isurl: 0
84010
          hidden: 0
84011
          frameworkcode: "HLD"
84012
          seealso: ""
84013
          link: ""
84014
          defaultvalue:
84015
84016
        - tagfield: "066"
84017
          tagsubfield: "a"
84018
          liblibrarian: "Primary G0 character set"
84019
          libopac: "Primary G0 character set"
84020
          repeatable: 0
84021
          mandatory: 0
84022
          kohafield: ""
84023
          tab: 0
84024
          authorised_value:
84025
          authtypecode:
84026
          value_builder: ""
84027
          isurl:
84028
          hidden: -6
84029
          frameworkcode: "HLD"
84030
          seealso: ""
84031
          link: ""
84032
          defaultvalue:
84033
84034
        - tagfield: "066"
84035
          tagsubfield: "b"
84036
          liblibrarian: "Primary G1 character set"
84037
          libopac: "Primary G1 character set"
84038
          repeatable: 0
84039
          mandatory: 0
84040
          kohafield: ""
84041
          tab: 0
84042
          authorised_value:
84043
          authtypecode:
84044
          value_builder: ""
84045
          isurl:
84046
          hidden: -6
84047
          frameworkcode: "HLD"
84048
          seealso: ""
84049
          link: ""
84050
          defaultvalue:
84051
84052
        - tagfield: "066"
84053
          tagsubfield: "c"
84054
          liblibrarian: "Alternate G0 or G1 character set"
84055
          libopac: "Alternate G0 or G1 character set"
84056
          repeatable: 1
84057
          mandatory: 0
84058
          kohafield: ""
84059
          tab: 0
84060
          authorised_value:
84061
          authtypecode:
84062
          value_builder: ""
84063
          isurl:
84064
          hidden: -6
84065
          frameworkcode: "HLD"
84066
          seealso: ""
84067
          link: ""
84068
          defaultvalue:
84069
84070
        - tagfield: "337"
84071
          tagsubfield: "0"
84072
          liblibrarian: "Authority record control number or standard number"
84073
          libopac: "Authority record control number or standard number"
84074
          repeatable: 1
84075
          mandatory: 0
84076
          kohafield: ""
84077
          tab: 3
84078
          authorised_value: ""
84079
          authtypecode: ""
84080
          value_builder: ""
84081
          isurl:
84082
          hidden: -6
84083
          frameworkcode: "HLD"
84084
          seealso: ""
84085
          link: ""
84086
          defaultvalue:
84087
84088
        - tagfield: "337"
84089
          tagsubfield: "1"
84090
          liblibrarian: "Real World Object URI"
84091
          libopac: "Real World Object URI"
84092
          repeatable: 1
84093
          mandatory: 0
84094
          kohafield: ""
84095
          tab: 3
84096
          authorised_value: ""
84097
          authtypecode: ""
84098
          value_builder: ""
84099
          isurl:
84100
          hidden: -6
84101
          frameworkcode: "HLD"
84102
          seealso: ""
84103
          link: ""
84104
          defaultvalue:
84105
84106
        - tagfield: "337"
84107
          tagsubfield: "2"
84108
          liblibrarian: "Source"
84109
          libopac: "Source"
84110
          repeatable: 0
84111
          mandatory: 0
84112
          kohafield: ""
84113
          tab: 3
84114
          authorised_value: ""
84115
          authtypecode: ""
84116
          value_builder: ""
84117
          isurl:
84118
          hidden: -6
84119
          frameworkcode: "HLD"
84120
          seealso: ""
84121
          link: ""
84122
          defaultvalue:
84123
84124
        - tagfield: "337"
84125
          tagsubfield: "3"
84126
          liblibrarian: "Materials specified"
84127
          libopac: "Materials specified"
84128
          repeatable: 0
84129
          mandatory: 0
84130
          kohafield: ""
84131
          tab: 3
84132
          authorised_value: ""
84133
          authtypecode: ""
84134
          value_builder: ""
84135
          isurl:
84136
          hidden: -6
84137
          frameworkcode: "HLD"
84138
          seealso: ""
84139
          link: ""
84140
          defaultvalue:
84141
84142
        - tagfield: "337"
84143
          tagsubfield: "6"
84144
          liblibrarian: "Linkage"
84145
          libopac: "Linkage"
84146
          repeatable: 0
84147
          mandatory: 0
84148
          kohafield: ""
84149
          tab: 3
84150
          authorised_value: ""
84151
          authtypecode: ""
84152
          value_builder: ""
84153
          isurl:
84154
          hidden: -6
84155
          frameworkcode: "HLD"
84156
          seealso: ""
84157
          link: ""
84158
          defaultvalue:
84159
84160
        - tagfield: "337"
84161
          tagsubfield: "8"
84162
          liblibrarian: "Field link and sequence number"
84163
          libopac: "Field link and sequence number"
84164
          repeatable: 1
84165
          mandatory: 0
84166
          kohafield: ""
84167
          tab: 3
84168
          authorised_value: ""
84169
          authtypecode: ""
84170
          value_builder: ""
84171
          isurl:
84172
          hidden: -6
84173
          frameworkcode: "HLD"
84174
          seealso: ""
84175
          link: ""
84176
          defaultvalue:
84177
84178
        - tagfield: "337"
84179
          tagsubfield: "a"
84180
          liblibrarian: "Media type term"
84181
          libopac: "Media type term"
84182
          repeatable: 1
84183
          mandatory: 0
84184
          kohafield: ""
84185
          tab: 3
84186
          authorised_value: ""
84187
          authtypecode: ""
84188
          value_builder: ""
84189
          isurl:
84190
          hidden: -6
84191
          frameworkcode: "HLD"
84192
          seealso: ""
84193
          link: ""
84194
          defaultvalue:
84195
84196
        - tagfield: "337"
84197
          tagsubfield: "b"
84198
          liblibrarian: "Media type code"
84199
          libopac: "Media type code"
84200
          repeatable: 1
84201
          mandatory: 0
84202
          kohafield: ""
84203
          tab: 3
84204
          authorised_value: ""
84205
          authtypecode: ""
84206
          value_builder: ""
84207
          isurl:
84208
          hidden: -6
84209
          frameworkcode: "HLD"
84210
          seealso: ""
84211
          link: ""
84212
          defaultvalue:
84213
84214
        - tagfield: "338"
84215
          tagsubfield: "0"
84216
          liblibrarian: "Authority record control number or standard number"
84217
          libopac: "Authority record control number or standard number"
84218
          repeatable: 1
84219
          mandatory: 0
84220
          kohafield: ""
84221
          tab: 3
84222
          authorised_value: ""
84223
          authtypecode: ""
84224
          value_builder: ""
84225
          isurl:
84226
          hidden: -6
84227
          frameworkcode: "HLD"
84228
          seealso: ""
84229
          link: ""
84230
          defaultvalue:
84231
84232
        - tagfield: "338"
84233
          tagsubfield: "1"
84234
          liblibrarian: "Real World Object URI"
84235
          libopac: "Real World Object URI"
84236
          repeatable: 1
84237
          mandatory: 0
84238
          kohafield: ""
84239
          tab: 3
84240
          authorised_value: ""
84241
          authtypecode: ""
84242
          value_builder: ""
84243
          isurl:
84244
          hidden: -6
84245
          frameworkcode: "HLD"
84246
          seealso: ""
84247
          link: ""
84248
          defaultvalue:
84249
84250
        - tagfield: "338"
84251
          tagsubfield: "2"
84252
          liblibrarian: "Source"
84253
          libopac: "Source"
84254
          repeatable: 0
84255
          mandatory: 0
84256
          kohafield: ""
84257
          tab: 3
84258
          authorised_value: ""
84259
          authtypecode: ""
84260
          value_builder: ""
84261
          isurl:
84262
          hidden: -6
84263
          frameworkcode: "HLD"
84264
          seealso: ""
84265
          link: ""
84266
          defaultvalue:
84267
84268
        - tagfield: "338"
84269
          tagsubfield: "3"
84270
          liblibrarian: "Materials specified"
84271
          libopac: "Materials specified"
84272
          repeatable: 0
84273
          mandatory: 0
84274
          kohafield: ""
84275
          tab: 3
84276
          authorised_value: ""
84277
          authtypecode: ""
84278
          value_builder: ""
84279
          isurl:
84280
          hidden: -6
84281
          frameworkcode: "HLD"
84282
          seealso: ""
84283
          link: ""
84284
          defaultvalue:
84285
84286
        - tagfield: "338"
84287
          tagsubfield: "6"
84288
          liblibrarian: "Linkage"
84289
          libopac: "Linkage"
84290
          repeatable: 0
84291
          mandatory: 0
84292
          kohafield: ""
84293
          tab: 3
84294
          authorised_value: ""
84295
          authtypecode: ""
84296
          value_builder: ""
84297
          isurl:
84298
          hidden: -6
84299
          frameworkcode: "HLD"
84300
          seealso: ""
84301
          link: ""
84302
          defaultvalue:
84303
84304
        - tagfield: "338"
84305
          tagsubfield: "8"
84306
          liblibrarian: "Field link and sequence number"
84307
          libopac: "Field link and sequence number"
84308
          repeatable: 1
84309
          mandatory: 0
84310
          kohafield: ""
84311
          tab: 3
84312
          authorised_value: ""
84313
          authtypecode: ""
84314
          value_builder: ""
84315
          isurl:
84316
          hidden: -6
84317
          frameworkcode: "HLD"
84318
          seealso: ""
84319
          link: ""
84320
          defaultvalue:
84321
84322
        - tagfield: "338"
84323
          tagsubfield: "a"
84324
          liblibrarian: "Carrier type term"
84325
          libopac: "Carrier type term"
84326
          repeatable: 1
84327
          mandatory: 0
84328
          kohafield: ""
84329
          tab: 3
84330
          authorised_value: ""
84331
          authtypecode: ""
84332
          value_builder: ""
84333
          isurl:
84334
          hidden: -6
84335
          frameworkcode: "HLD"
84336
          seealso: ""
84337
          link: ""
84338
          defaultvalue:
84339
84340
        - tagfield: "338"
84341
          tagsubfield: "b"
84342
          liblibrarian: "Carrier type code"
84343
          libopac: "Carrier type code"
84344
          repeatable: 1
84345
          mandatory: 0
84346
          kohafield: ""
84347
          tab: 3
84348
          authorised_value: ""
84349
          authtypecode: ""
84350
          value_builder: ""
84351
          isurl:
84352
          hidden: -6
84353
          frameworkcode: "HLD"
84354
          seealso: ""
84355
          link: ""
84356
          defaultvalue:
84357
84358
        - tagfield: "347"
84359
          tagsubfield: "0"
84360
          liblibrarian: "Authority record control number or standard number"
84361
          libopac: "Authority record control number or standard number"
84362
          repeatable: 1
84363
          mandatory: 0
84364
          kohafield: ""
84365
          tab: 3
84366
          authorised_value: ""
84367
          authtypecode: ""
84368
          value_builder: ""
84369
          isurl:
84370
          hidden: -6
84371
          frameworkcode: "HLD"
84372
          seealso: ""
84373
          link: ""
84374
          defaultvalue:
84375
84376
        - tagfield: "347"
84377
          tagsubfield: "1"
84378
          liblibrarian: "Real World Object URI"
84379
          libopac: "Real World Object URI"
84380
          repeatable: 1
84381
          mandatory: 0
84382
          kohafield: ""
84383
          tab: 3
84384
          authorised_value: ""
84385
          authtypecode: ""
84386
          value_builder: ""
84387
          isurl:
84388
          hidden: -6
84389
          frameworkcode: "HLD"
84390
          seealso: ""
84391
          link: ""
84392
          defaultvalue:
84393
84394
        - tagfield: "347"
84395
          tagsubfield: "2"
84396
          liblibrarian: "Source"
84397
          libopac: "Source"
84398
          repeatable: 0
84399
          mandatory: 0
84400
          kohafield: ""
84401
          tab: 3
84402
          authorised_value: ""
84403
          authtypecode: ""
84404
          value_builder: ""
84405
          isurl:
84406
          hidden: -6
84407
          frameworkcode: "HLD"
84408
          seealso: ""
84409
          link: ""
84410
          defaultvalue:
84411
84412
        - tagfield: "347"
84413
          tagsubfield: "3"
84414
          liblibrarian: "Materials specified"
84415
          libopac: "Materials specified"
84416
          repeatable: 0
84417
          mandatory: 0
84418
          kohafield: ""
84419
          tab: 3
84420
          authorised_value: ""
84421
          authtypecode: ""
84422
          value_builder: ""
84423
          isurl:
84424
          hidden: -6
84425
          frameworkcode: "HLD"
84426
          seealso: ""
84427
          link: ""
84428
          defaultvalue:
84429
84430
        - tagfield: "347"
84431
          tagsubfield: "6"
84432
          liblibrarian: "Linkage"
84433
          libopac: "Linkage"
84434
          repeatable: 0
84435
          mandatory: 0
84436
          kohafield: ""
84437
          tab: 3
84438
          authorised_value: ""
84439
          authtypecode: ""
84440
          value_builder: ""
84441
          isurl:
84442
          hidden: -6
84443
          frameworkcode: "HLD"
84444
          seealso: ""
84445
          link: ""
84446
          defaultvalue:
84447
84448
        - tagfield: "347"
84449
          tagsubfield: "8"
84450
          liblibrarian: "Field link and sequence number"
84451
          libopac: "Field link and sequence number"
84452
          repeatable: 1
84453
          mandatory: 0
84454
          kohafield: ""
84455
          tab: 3
84456
          authorised_value: ""
84457
          authtypecode: ""
84458
          value_builder: ""
84459
          isurl:
84460
          hidden: -6
84461
          frameworkcode: "HLD"
84462
          seealso: ""
84463
          link: ""
84464
          defaultvalue:
84465
84466
        - tagfield: "347"
84467
          tagsubfield: "a"
84468
          liblibrarian: "File type"
84469
          libopac: "File type"
84470
          repeatable: 1
84471
          mandatory: 0
84472
          kohafield: ""
84473
          tab: 3
84474
          authorised_value: ""
84475
          authtypecode: ""
84476
          value_builder: ""
84477
          isurl:
84478
          hidden: -6
84479
          frameworkcode: "HLD"
84480
          seealso: ""
84481
          link: ""
84482
          defaultvalue:
84483
84484
        - tagfield: "347"
84485
          tagsubfield: "b"
84486
          liblibrarian: "Encoding format"
84487
          libopac: "Encoding format"
84488
          repeatable: 1
84489
          mandatory: 0
84490
          kohafield: ""
84491
          tab: 3
84492
          authorised_value: ""
84493
          authtypecode: ""
84494
          value_builder: ""
84495
          isurl:
84496
          hidden: -6
84497
          frameworkcode: "HLD"
84498
          seealso: ""
84499
          link: ""
84500
          defaultvalue:
84501
84502
        - tagfield: "347"
84503
          tagsubfield: "c"
84504
          liblibrarian: "File size"
84505
          libopac: "File size"
84506
          repeatable: 1
84507
          mandatory: 0
84508
          kohafield: ""
84509
          tab: 3
84510
          authorised_value: ""
84511
          authtypecode: ""
84512
          value_builder: ""
84513
          isurl:
84514
          hidden: -6
84515
          frameworkcode: "HLD"
84516
          seealso: ""
84517
          link: ""
84518
          defaultvalue:
84519
84520
        - tagfield: "347"
84521
          tagsubfield: "d"
84522
          liblibrarian: "Resolution"
84523
          libopac: "Resolution"
84524
          repeatable: 1
84525
          mandatory: 0
84526
          kohafield: ""
84527
          tab: 3
84528
          authorised_value: ""
84529
          authtypecode: ""
84530
          value_builder: ""
84531
          isurl:
84532
          hidden: -6
84533
          frameworkcode: "HLD"
84534
          seealso: ""
84535
          link: ""
84536
          defaultvalue:
84537
84538
        - tagfield: "347"
84539
          tagsubfield: "e"
84540
          liblibrarian: "Regional encoding"
84541
          libopac: "Regional encoding"
84542
          repeatable: 1
84543
          mandatory: 0
84544
          kohafield: ""
84545
          tab: 3
84546
          authorised_value: ""
84547
          authtypecode: ""
84548
          value_builder: ""
84549
          isurl:
84550
          hidden: -6
84551
          frameworkcode: "HLD"
84552
          seealso: ""
84553
          link: ""
84554
          defaultvalue:
84555
84556
        - tagfield: "347"
84557
          tagsubfield: "f"
84558
          liblibrarian: "Encoded bitrate"
84559
          libopac: "Encoded bitrate"
84560
          repeatable: 1
84561
          mandatory: 0
84562
          kohafield: ""
84563
          tab: 3
84564
          authorised_value: ""
84565
          authtypecode: ""
84566
          value_builder: ""
84567
          isurl:
84568
          hidden: -6
84569
          frameworkcode: "HLD"
84570
          seealso: ""
84571
          link: ""
84572
          defaultvalue:
84573
84574
        - tagfield: "506"
84575
          tagsubfield: "2"
84576
          liblibrarian: "Source of term"
84577
          libopac: "Source of term"
84578
          repeatable: 0
84579
          mandatory: 0
84580
          kohafield: ""
84581
          tab: 5
84582
          authorised_value: ""
84583
          authtypecode: ""
84584
          value_builder: ""
84585
          isurl:
84586
          hidden: -6
84587
          frameworkcode: "HLD"
84588
          seealso: ""
84589
          link: ""
84590
          defaultvalue:
84591
84592
        - tagfield: "506"
84593
          tagsubfield: "3"
84594
          liblibrarian: "Materials specified"
84595
          libopac: "Materials specified"
84596
          repeatable: 0
84597
          mandatory: 0
84598
          kohafield: ""
84599
          tab: 5
84600
          authorised_value: ""
84601
          authtypecode: ""
84602
          value_builder: ""
84603
          isurl:
84604
          hidden: -6
84605
          frameworkcode: "HLD"
84606
          seealso: ""
84607
          link: ""
84608
          defaultvalue:
84609
84610
        - tagfield: "506"
84611
          tagsubfield: "5"
84612
          liblibrarian: "Institution to which field applies"
84613
          libopac: "Institution to which field applies"
84614
          repeatable: 0
84615
          mandatory: 0
84616
          kohafield: ""
84617
          tab: 5
84618
          authorised_value: ""
84619
          authtypecode: ""
84620
          value_builder: ""
84621
          isurl:
84622
          hidden: -6
84623
          frameworkcode: "HLD"
84624
          seealso: ""
84625
          link: ""
84626
          defaultvalue:
84627
84628
        - tagfield: "506"
84629
          tagsubfield: "6"
84630
          liblibrarian: "Linkage"
84631
          libopac: "Linkage"
84632
          repeatable: 0
84633
          mandatory: 0
84634
          kohafield: ""
84635
          tab: 5
84636
          authorised_value: ""
84637
          authtypecode: ""
84638
          value_builder: ""
84639
          isurl:
84640
          hidden: -6
84641
          frameworkcode: "HLD"
84642
          seealso: ""
84643
          link: ""
84644
          defaultvalue:
84645
84646
        - tagfield: "506"
84647
          tagsubfield: "8"
84648
          liblibrarian: "Field link and sequence number"
84649
          libopac: "Field link and sequence number"
84650
          repeatable: 1
84651
          mandatory: 0
84652
          kohafield: ""
84653
          tab: 5
84654
          authorised_value: ""
84655
          authtypecode: ""
84656
          value_builder: ""
84657
          isurl:
84658
          hidden: -6
84659
          frameworkcode: "HLD"
84660
          seealso: ""
84661
          link: ""
84662
          defaultvalue:
84663
84664
        - tagfield: "506"
84665
          tagsubfield: "a"
84666
          liblibrarian: "Terms governing access"
84667
          libopac: "Terms governing access"
84668
          repeatable: 0
84669
          mandatory: 0
84670
          kohafield: ""
84671
          tab: 5
84672
          authorised_value: ""
84673
          authtypecode: ""
84674
          value_builder: ""
84675
          isurl:
84676
          hidden: -6
84677
          frameworkcode: "HLD"
84678
          seealso: ""
84679
          link: ""
84680
          defaultvalue:
84681
84682
        - tagfield: "506"
84683
          tagsubfield: "b"
84684
          liblibrarian: "Jurisdiction"
84685
          libopac: "Jurisdiction"
84686
          repeatable: 1
84687
          mandatory: 0
84688
          kohafield: ""
84689
          tab: 5
84690
          authorised_value: ""
84691
          authtypecode: ""
84692
          value_builder: ""
84693
          isurl:
84694
          hidden: -6
84695
          frameworkcode: "HLD"
84696
          seealso: ""
84697
          link: ""
84698
          defaultvalue:
84699
84700
        - tagfield: "506"
84701
          tagsubfield: "c"
84702
          liblibrarian: "Physical access provisions"
84703
          libopac: "Physical access provisions"
84704
          repeatable: 1
84705
          mandatory: 0
84706
          kohafield: ""
84707
          tab: 5
84708
          authorised_value: ""
84709
          authtypecode: ""
84710
          value_builder: ""
84711
          isurl:
84712
          hidden: -6
84713
          frameworkcode: "HLD"
84714
          seealso: ""
84715
          link: ""
84716
          defaultvalue:
84717
84718
        - tagfield: "506"
84719
          tagsubfield: "d"
84720
          liblibrarian: "Authorized users"
84721
          libopac: "Authorized users"
84722
          repeatable: 1
84723
          mandatory: 0
84724
          kohafield: ""
84725
          tab: 5
84726
          authorised_value: ""
84727
          authtypecode: ""
84728
          value_builder: ""
84729
          isurl:
84730
          hidden: -6
84731
          frameworkcode: "HLD"
84732
          seealso: ""
84733
          link: ""
84734
          defaultvalue:
84735
84736
        - tagfield: "506"
84737
          tagsubfield: "e"
84738
          liblibrarian: "Authorization"
84739
          libopac: "Authorization"
84740
          repeatable: 1
84741
          mandatory: 0
84742
          kohafield: ""
84743
          tab: 5
84744
          authorised_value: ""
84745
          authtypecode: ""
84746
          value_builder: ""
84747
          isurl:
84748
          hidden: -6
84749
          frameworkcode: "HLD"
84750
          seealso: ""
84751
          link: ""
84752
          defaultvalue:
84753
84754
        - tagfield: "506"
84755
          tagsubfield: "f"
84756
          liblibrarian: "Standardized terminology for access restriction"
84757
          libopac: "Standardized terminology for access restriction"
84758
          repeatable: 1
84759
          mandatory: 0
84760
          kohafield: ""
84761
          tab: 5
84762
          authorised_value: ""
84763
          authtypecode: ""
84764
          value_builder: ""
84765
          isurl:
84766
          hidden: -6
84767
          frameworkcode: "HLD"
84768
          seealso: ""
84769
          link: ""
84770
          defaultvalue:
84771
84772
        - tagfield: "506"
84773
          tagsubfield: "g"
84774
          liblibrarian: "Availability date"
84775
          libopac: "Availability date"
84776
          repeatable: 1
84777
          mandatory: 0
84778
          kohafield: ""
84779
          tab: 5
84780
          authorised_value: ""
84781
          authtypecode: ""
84782
          value_builder: ""
84783
          isurl:
84784
          hidden: -6
84785
          frameworkcode: "HLD"
84786
          seealso: ""
84787
          link: ""
84788
          defaultvalue:
84789
84790
        - tagfield: "506"
84791
          tagsubfield: "q"
84792
          liblibrarian: "Supplying agency"
84793
          libopac: "Supplying agency"
84794
          repeatable: 0
84795
          mandatory: 0
84796
          kohafield: ""
84797
          tab: 5
84798
          authorised_value: ""
84799
          authtypecode: ""
84800
          value_builder: ""
84801
          isurl:
84802
          hidden: -6
84803
          frameworkcode: "HLD"
84804
          seealso: ""
84805
          link: ""
84806
          defaultvalue:
84807
84808
        - tagfield: "506"
84809
          tagsubfield: "u"
84810
          liblibrarian: "Uniform Resource Identifier"
84811
          libopac: "Uniform Resource Identifier"
84812
          repeatable: 1
84813
          mandatory: 0
84814
          kohafield: ""
84815
          tab: 5
84816
          authorised_value: ""
84817
          authtypecode: ""
84818
          value_builder: ""
84819
          isurl: 1
84820
          hidden: -6
84821
          frameworkcode: "HLD"
84822
          seealso: ""
84823
          link: ""
84824
          defaultvalue:
84825
84826
        - tagfield: "538"
84827
          tagsubfield: "3"
84828
          liblibrarian: "Materials specified"
84829
          libopac: "Materials specified"
84830
          repeatable: 0
84831
          mandatory: 0
84832
          kohafield: ""
84833
          tab: 5
84834
          authorised_value:
84835
          authtypecode:
84836
          value_builder: ""
84837
          isurl:
84838
          hidden: -6
84839
          frameworkcode: "HLD"
84840
          seealso: ""
84841
          link: ""
84842
          defaultvalue:
84843
84844
        - tagfield: "538"
84845
          tagsubfield: "5"
84846
          liblibrarian: "Institution to which field applies"
84847
          libopac: "Institution to which field applies"
84848
          repeatable: 1
84849
          mandatory: 0
84850
          kohafield: ""
84851
          tab: 5
84852
          authorised_value: ""
84853
          authtypecode: ""
84854
          value_builder: ""
84855
          isurl:
84856
          hidden: -6
84857
          frameworkcode: "HLD"
84858
          seealso: ""
84859
          link: ""
84860
          defaultvalue:
84861
84862
        - tagfield: "538"
84863
          tagsubfield: "6"
84864
          liblibrarian: "Linkage"
84865
          libopac: "Linkage"
84866
          repeatable: 0
84867
          mandatory: 0
84868
          kohafield: ""
84869
          tab: 5
84870
          authorised_value: ""
84871
          authtypecode: ""
84872
          value_builder: ""
84873
          isurl:
84874
          hidden: -6
84875
          frameworkcode: "HLD"
84876
          seealso: ""
84877
          link: ""
84878
          defaultvalue:
84879
84880
        - tagfield: "538"
84881
          tagsubfield: "8"
84882
          liblibrarian: "Field link and sequence number"
84883
          libopac: "Field link and sequence number"
84884
          repeatable: 1
84885
          mandatory: 0
84886
          kohafield: ""
84887
          tab: 5
84888
          authorised_value: ""
84889
          authtypecode: ""
84890
          value_builder: ""
84891
          isurl:
84892
          hidden: -6
84893
          frameworkcode: "HLD"
84894
          seealso: ""
84895
          link: ""
84896
          defaultvalue:
84897
84898
        - tagfield: "538"
84899
          tagsubfield: "a"
84900
          liblibrarian: "System details note"
84901
          libopac: "System details note"
84902
          repeatable: 0
84903
          mandatory: 0
84904
          kohafield: ""
84905
          tab: 5
84906
          authorised_value: ""
84907
          authtypecode: ""
84908
          value_builder: ""
84909
          isurl:
84910
          hidden: -1
84911
          frameworkcode: "HLD"
84912
          seealso: ""
84913
          link: ""
84914
          defaultvalue:
84915
84916
        - tagfield: "538"
84917
          tagsubfield: "i"
84918
          liblibrarian: "Display text"
84919
          libopac: "Display text"
84920
          repeatable: 0
84921
          mandatory: 0
84922
          kohafield: ""
84923
          tab: 5
84924
          authorised_value: ""
84925
          authtypecode: ""
84926
          value_builder: ""
84927
          isurl:
84928
          hidden: -1
84929
          frameworkcode: "HLD"
84930
          seealso: ""
84931
          link: ""
84932
          defaultvalue:
84933
84934
        - tagfield: "538"
84935
          tagsubfield: "u"
84936
          liblibrarian: "Uniform Resource Identifier"
84937
          libopac: "Uniform Resource Identifier"
84938
          repeatable: 1
84939
          mandatory: 0
84940
          kohafield: ""
84941
          tab: 5
84942
          authorised_value: ""
84943
          authtypecode: ""
84944
          value_builder: ""
84945
          isurl: 1
84946
          hidden: -1
84947
          frameworkcode: "HLD"
84948
          seealso: ""
84949
          link: ""
84950
          defaultvalue:
84951
84952
        - tagfield: "541"
84953
          tagsubfield: "3"
84954
          liblibrarian: "Materials specified"
84955
          libopac: "Materials specified"
84956
          repeatable: 0
84957
          mandatory: 0
84958
          kohafield: ""
84959
          tab: 5
84960
          authorised_value:
84961
          authtypecode:
84962
          value_builder: ""
84963
          isurl:
84964
          hidden: -6
84965
          frameworkcode: "HLD"
84966
          seealso: ""
84967
          link: ""
84968
          defaultvalue:
84969
84970
        - tagfield: "541"
84971
          tagsubfield: "5"
84972
          liblibrarian: "Institution to which field applies"
84973
          libopac: "Institution to which field applies"
84974
          repeatable: 0
84975
          mandatory: 0
84976
          kohafield: ""
84977
          tab: 5
84978
          authorised_value: ""
84979
          authtypecode: ""
84980
          value_builder: ""
84981
          isurl:
84982
          hidden: -6
84983
          frameworkcode: "HLD"
84984
          seealso: ""
84985
          link: ""
84986
          defaultvalue:
84987
84988
        - tagfield: "541"
84989
          tagsubfield: "6"
84990
          liblibrarian: "Linkage"
84991
          libopac: "Linkage"
84992
          repeatable: 0
84993
          mandatory: 0
84994
          kohafield: ""
84995
          tab: 5
84996
          authorised_value: ""
84997
          authtypecode: ""
84998
          value_builder: ""
84999
          isurl:
85000
          hidden: -6
85001
          frameworkcode: "HLD"
85002
          seealso: ""
85003
          link: ""
85004
          defaultvalue:
85005
85006
        - tagfield: "541"
85007
          tagsubfield: "8"
85008
          liblibrarian: "Field link and sequence number"
85009
          libopac: "Field link and sequence number"
85010
          repeatable: 1
85011
          mandatory: 0
85012
          kohafield: ""
85013
          tab: 5
85014
          authorised_value: ""
85015
          authtypecode: ""
85016
          value_builder: ""
85017
          isurl:
85018
          hidden: -6
85019
          frameworkcode: "HLD"
85020
          seealso: ""
85021
          link: ""
85022
          defaultvalue:
85023
85024
        - tagfield: "541"
85025
          tagsubfield: "a"
85026
          liblibrarian: "Source of acquisition"
85027
          libopac: "Source of acquisition"
85028
          repeatable: 0
85029
          mandatory: 0
85030
          kohafield: ""
85031
          tab: 5
85032
          authorised_value: ""
85033
          authtypecode: ""
85034
          value_builder: ""
85035
          isurl:
85036
          hidden: 1
85037
          frameworkcode: "HLD"
85038
          seealso: ""
85039
          link: ""
85040
          defaultvalue:
85041
85042
        - tagfield: "541"
85043
          tagsubfield: "b"
85044
          liblibrarian: "Address"
85045
          libopac: "Address"
85046
          repeatable: 0
85047
          mandatory: 0
85048
          kohafield: ""
85049
          tab: 5
85050
          authorised_value: ""
85051
          authtypecode: ""
85052
          value_builder: ""
85053
          isurl:
85054
          hidden: 1
85055
          frameworkcode: "HLD"
85056
          seealso: ""
85057
          link: ""
85058
          defaultvalue:
85059
85060
        - tagfield: "541"
85061
          tagsubfield: "c"
85062
          liblibrarian: "Method of acquisition"
85063
          libopac: "Method of acquisition"
85064
          repeatable: 0
85065
          mandatory: 0
85066
          kohafield: ""
85067
          tab: 5
85068
          authorised_value: ""
85069
          authtypecode: ""
85070
          value_builder: ""
85071
          isurl:
85072
          hidden: 1
85073
          frameworkcode: "HLD"
85074
          seealso: ""
85075
          link: ""
85076
          defaultvalue:
85077
85078
        - tagfield: "541"
85079
          tagsubfield: "d"
85080
          liblibrarian: "Date of acquisition"
85081
          libopac: "Date of acquisition"
85082
          repeatable: 0
85083
          mandatory: 0
85084
          kohafield: ""
85085
          tab: 5
85086
          authorised_value: ""
85087
          authtypecode: ""
85088
          value_builder: ""
85089
          isurl:
85090
          hidden: 1
85091
          frameworkcode: "HLD"
85092
          seealso: ""
85093
          link: ""
85094
          defaultvalue:
85095
85096
        - tagfield: "541"
85097
          tagsubfield: "e"
85098
          liblibrarian: "Accession number"
85099
          libopac: "Accession number"
85100
          repeatable: 0
85101
          mandatory: 0
85102
          kohafield: ""
85103
          tab: 5
85104
          authorised_value: ""
85105
          authtypecode: ""
85106
          value_builder: ""
85107
          isurl:
85108
          hidden: 1
85109
          frameworkcode: "HLD"
85110
          seealso: ""
85111
          link: ""
85112
          defaultvalue:
85113
85114
        - tagfield: "541"
85115
          tagsubfield: "f"
85116
          liblibrarian: "Owner"
85117
          libopac: "Owner"
85118
          repeatable: 0
85119
          mandatory: 0
85120
          kohafield: ""
85121
          tab: 5
85122
          authorised_value: ""
85123
          authtypecode: ""
85124
          value_builder: ""
85125
          isurl:
85126
          hidden: 1
85127
          frameworkcode: "HLD"
85128
          seealso: ""
85129
          link: ""
85130
          defaultvalue:
85131
85132
        - tagfield: "541"
85133
          tagsubfield: "h"
85134
          liblibrarian: "Purchase price"
85135
          libopac: "Purchase price"
85136
          repeatable: 0
85137
          mandatory: 0
85138
          kohafield: ""
85139
          tab: 5
85140
          authorised_value: ""
85141
          authtypecode: ""
85142
          value_builder: ""
85143
          isurl:
85144
          hidden: 1
85145
          frameworkcode: "HLD"
85146
          seealso: ""
85147
          link: ""
85148
          defaultvalue:
85149
85150
        - tagfield: "541"
85151
          tagsubfield: "n"
85152
          liblibrarian: "Extent"
85153
          libopac: "Extent"
85154
          repeatable: 1
85155
          mandatory: 0
85156
          kohafield: ""
85157
          tab: 5
85158
          authorised_value: ""
85159
          authtypecode: ""
85160
          value_builder: ""
85161
          isurl:
85162
          hidden: 1
85163
          frameworkcode: "HLD"
85164
          seealso: ""
85165
          link: ""
85166
          defaultvalue:
85167
85168
        - tagfield: "541"
85169
          tagsubfield: "o"
85170
          liblibrarian: "Type of unit"
85171
          libopac: "Type of unit"
85172
          repeatable: 1
85173
          mandatory: 0
85174
          kohafield: ""
85175
          tab: 5
85176
          authorised_value: ""
85177
          authtypecode: ""
85178
          value_builder: ""
85179
          isurl:
85180
          hidden: 1
85181
          frameworkcode: "HLD"
85182
          seealso: ""
85183
          link: ""
85184
          defaultvalue:
85185
85186
        - tagfield: "561"
85187
          tagsubfield: "3"
85188
          liblibrarian: "Materials specified"
85189
          libopac: "Materials specified"
85190
          repeatable: 0
85191
          mandatory: 0
85192
          kohafield: ""
85193
          tab: 5
85194
          authorised_value:
85195
          authtypecode:
85196
          value_builder: ""
85197
          isurl:
85198
          hidden: -6
85199
          frameworkcode: "HLD"
85200
          seealso: ""
85201
          link: ""
85202
          defaultvalue:
85203
85204
        - tagfield: "561"
85205
          tagsubfield: "5"
85206
          liblibrarian: "Institution to which field applies"
85207
          libopac: "Institution to which field applies"
85208
          repeatable: 0
85209
          mandatory: 0
85210
          kohafield: ""
85211
          tab: 5
85212
          authorised_value: ""
85213
          authtypecode: ""
85214
          value_builder: ""
85215
          isurl:
85216
          hidden: -6
85217
          frameworkcode: "HLD"
85218
          seealso: ""
85219
          link: ""
85220
          defaultvalue:
85221
85222
        - tagfield: "561"
85223
          tagsubfield: "6"
85224
          liblibrarian: "Linkage"
85225
          libopac: "Linkage"
85226
          repeatable: 0
85227
          mandatory: 0
85228
          kohafield: ""
85229
          tab: 5
85230
          authorised_value: ""
85231
          authtypecode: ""
85232
          value_builder: ""
85233
          isurl:
85234
          hidden: -6
85235
          frameworkcode: "HLD"
85236
          seealso: ""
85237
          link: ""
85238
          defaultvalue:
85239
85240
        - tagfield: "561"
85241
          tagsubfield: "8"
85242
          liblibrarian: "Field link and sequence number"
85243
          libopac: "Field link and sequence number"
85244
          repeatable: 1
85245
          mandatory: 0
85246
          kohafield: ""
85247
          tab: 5
85248
          authorised_value: ""
85249
          authtypecode: ""
85250
          value_builder: ""
85251
          isurl:
85252
          hidden: -6
85253
          frameworkcode: "HLD"
85254
          seealso: ""
85255
          link: ""
85256
          defaultvalue:
85257
85258
        - tagfield: "561"
85259
          tagsubfield: "a"
85260
          liblibrarian: "History"
85261
          libopac: "History"
85262
          repeatable: 0
85263
          mandatory: 0
85264
          kohafield: ""
85265
          tab: 5
85266
          authorised_value: ""
85267
          authtypecode: ""
85268
          value_builder: ""
85269
          isurl:
85270
          hidden: 6
85271
          frameworkcode: "HLD"
85272
          seealso: ""
85273
          link: ""
85274
          defaultvalue:
85275
85276
        - tagfield: "561"
85277
          tagsubfield: "b"
85278
          liblibrarian: "Time of collation [OBSOLETE]"
85279
          libopac: "Time of collation [OBSOLETE]"
85280
          repeatable: 0
85281
          mandatory: 0
85282
          kohafield: ""
85283
          tab: 5
85284
          authorised_value: ""
85285
          authtypecode: ""
85286
          value_builder: ""
85287
          isurl:
85288
          hidden: 6
85289
          frameworkcode: "HLD"
85290
          seealso: ""
85291
          link: ""
85292
          defaultvalue:
85293
85294
        - tagfield: "561"
85295
          tagsubfield: "u"
85296
          liblibrarian: "Uniform Resource Identifier"
85297
          libopac: "Uniform Resource Identifier"
85298
          repeatable: 1
85299
          mandatory: 0
85300
          kohafield: ""
85301
          tab: 5
85302
          authorised_value: ""
85303
          authtypecode: ""
85304
          value_builder: ""
85305
          isurl:
85306
          hidden: -6
85307
          frameworkcode: "HLD"
85308
          seealso: ""
85309
          link: ""
85310
          defaultvalue:
85311
85312
        - tagfield: "562"
85313
          tagsubfield: "3"
85314
          liblibrarian: "Materials specified"
85315
          libopac: "Materials specified"
85316
          repeatable: 0
85317
          mandatory: 0
85318
          kohafield: ""
85319
          tab: 5
85320
          authorised_value:
85321
          authtypecode:
85322
          value_builder: ""
85323
          isurl:
85324
          hidden: -6
85325
          frameworkcode: "HLD"
85326
          seealso: ""
85327
          link: ""
85328
          defaultvalue:
85329
85330
        - tagfield: "562"
85331
          tagsubfield: "5"
85332
          liblibrarian: "Institution to which field applies"
85333
          libopac: "Institution to which field applies"
85334
          repeatable: 0
85335
          mandatory: 0
85336
          kohafield: ""
85337
          tab: -1
85338
          authorised_value:
85339
          authtypecode:
85340
          value_builder: ""
85341
          isurl:
85342
          hidden: -6
85343
          frameworkcode: "HLD"
85344
          seealso: ""
85345
          link: ""
85346
          defaultvalue:
85347
85348
        - tagfield: "562"
85349
          tagsubfield: "6"
85350
          liblibrarian: "Linkage"
85351
          libopac: "Linkage"
85352
          repeatable: 0
85353
          mandatory: 0
85354
          kohafield: ""
85355
          tab: 5
85356
          authorised_value:
85357
          authtypecode:
85358
          value_builder: ""
85359
          isurl:
85360
          hidden: -6
85361
          frameworkcode: "HLD"
85362
          seealso: ""
85363
          link: ""
85364
          defaultvalue:
85365
85366
        - tagfield: "562"
85367
          tagsubfield: "8"
85368
          liblibrarian: "Field link and sequence number"
85369
          libopac: "Field link and sequence number"
85370
          repeatable: 1
85371
          mandatory: 0
85372
          kohafield: ""
85373
          tab: 5
85374
          authorised_value:
85375
          authtypecode:
85376
          value_builder: ""
85377
          isurl:
85378
          hidden: -6
85379
          frameworkcode: "HLD"
85380
          seealso: ""
85381
          link: ""
85382
          defaultvalue:
85383
85384
        - tagfield: "562"
85385
          tagsubfield: "a"
85386
          liblibrarian: "Identifying markings"
85387
          libopac: "Identifying markings"
85388
          repeatable: 1
85389
          mandatory: 0
85390
          kohafield: ""
85391
          tab: 5
85392
          authorised_value:
85393
          authtypecode:
85394
          value_builder: ""
85395
          isurl:
85396
          hidden: -1
85397
          frameworkcode: "HLD"
85398
          seealso: ""
85399
          link: ""
85400
          defaultvalue:
85401
85402
        - tagfield: "562"
85403
          tagsubfield: "b"
85404
          liblibrarian: "Copy identification"
85405
          libopac: "Copy identification"
85406
          repeatable: 1
85407
          mandatory: 0
85408
          kohafield: ""
85409
          tab: 5
85410
          authorised_value:
85411
          authtypecode:
85412
          value_builder: ""
85413
          isurl:
85414
          hidden: -1
85415
          frameworkcode: "HLD"
85416
          seealso: ""
85417
          link: ""
85418
          defaultvalue:
85419
85420
        - tagfield: "562"
85421
          tagsubfield: "c"
85422
          liblibrarian: "Version identification"
85423
          libopac: "Version identification"
85424
          repeatable: 1
85425
          mandatory: 0
85426
          kohafield: ""
85427
          tab: 5
85428
          authorised_value:
85429
          authtypecode:
85430
          value_builder: ""
85431
          isurl:
85432
          hidden: -1
85433
          frameworkcode: "HLD"
85434
          seealso: ""
85435
          link: ""
85436
          defaultvalue:
85437
85438
        - tagfield: "562"
85439
          tagsubfield: "d"
85440
          liblibrarian: "Presentation format"
85441
          libopac: "Presentation format"
85442
          repeatable: 1
85443
          mandatory: 0
85444
          kohafield: ""
85445
          tab: 5
85446
          authorised_value:
85447
          authtypecode:
85448
          value_builder: ""
85449
          isurl:
85450
          hidden: -1
85451
          frameworkcode: "HLD"
85452
          seealso: ""
85453
          link: ""
85454
          defaultvalue:
85455
85456
        - tagfield: "562"
85457
          tagsubfield: "e"
85458
          liblibrarian: "Number of copies"
85459
          libopac: "Number of copies"
85460
          repeatable: 1
85461
          mandatory: 0
85462
          kohafield: ""
85463
          tab: 5
85464
          authorised_value:
85465
          authtypecode:
85466
          value_builder: ""
85467
          isurl:
85468
          hidden: -1
85469
          frameworkcode: "HLD"
85470
          seealso: ""
85471
          link: ""
85472
          defaultvalue:
85473
85474
        - tagfield: "563"
85475
          tagsubfield: "3"
85476
          liblibrarian: "Materials specified"
85477
          libopac: "Materials specified"
85478
          repeatable: 0
85479
          mandatory: 0
85480
          kohafield: ""
85481
          tab: 5
85482
          authorised_value:
85483
          authtypecode:
85484
          value_builder: ""
85485
          isurl:
85486
          hidden: -6
85487
          frameworkcode: "HLD"
85488
          seealso: ""
85489
          link: ""
85490
          defaultvalue:
85491
85492
        - tagfield: "563"
85493
          tagsubfield: "5"
85494
          liblibrarian: "Institution to which field applies"
85495
          libopac: "Institution to which field applies"
85496
          repeatable: 0
85497
          mandatory: 0
85498
          kohafield: ""
85499
          tab: -1
85500
          authorised_value:
85501
          authtypecode:
85502
          value_builder: ""
85503
          isurl:
85504
          hidden: -6
85505
          frameworkcode: "HLD"
85506
          seealso: ""
85507
          link: ""
85508
          defaultvalue:
85509
85510
        - tagfield: "563"
85511
          tagsubfield: "6"
85512
          liblibrarian: "Linkage"
85513
          libopac: "Linkage"
85514
          repeatable: 0
85515
          mandatory: 0
85516
          kohafield: ""
85517
          tab: 5
85518
          authorised_value:
85519
          authtypecode:
85520
          value_builder: ""
85521
          isurl:
85522
          hidden: -6
85523
          frameworkcode: "HLD"
85524
          seealso: ""
85525
          link: ""
85526
          defaultvalue:
85527
85528
        - tagfield: "563"
85529
          tagsubfield: "8"
85530
          liblibrarian: "Field link and sequence number"
85531
          libopac: "Field link and sequence number"
85532
          repeatable: 1
85533
          mandatory: 0
85534
          kohafield: ""
85535
          tab: 5
85536
          authorised_value:
85537
          authtypecode:
85538
          value_builder: ""
85539
          isurl:
85540
          hidden: -6
85541
          frameworkcode: "HLD"
85542
          seealso: ""
85543
          link: ""
85544
          defaultvalue:
85545
85546
        - tagfield: "563"
85547
          tagsubfield: "a"
85548
          liblibrarian: "Binding note"
85549
          libopac: "Binding note"
85550
          repeatable: 0
85551
          mandatory: 0
85552
          kohafield: ""
85553
          tab: 5
85554
          authorised_value:
85555
          authtypecode:
85556
          value_builder: ""
85557
          isurl:
85558
          hidden: -1
85559
          frameworkcode: "HLD"
85560
          seealso: ""
85561
          link: ""
85562
          defaultvalue:
85563
85564
        - tagfield: "563"
85565
          tagsubfield: "u"
85566
          liblibrarian: "Uniform Resource Identifier"
85567
          libopac: "Uniform Resource Identifier"
85568
          repeatable: 1
85569
          mandatory: 0
85570
          kohafield: ""
85571
          tab: 5
85572
          authorised_value:
85573
          authtypecode:
85574
          value_builder: ""
85575
          isurl: 1
85576
          hidden: -1
85577
          frameworkcode: "HLD"
85578
          seealso: ""
85579
          link: ""
85580
          defaultvalue:
85581
85582
        - tagfield: "583"
85583
          tagsubfield: "2"
85584
          liblibrarian: "Source of term"
85585
          libopac: "Source of term"
85586
          repeatable: 0
85587
          mandatory: 0
85588
          kohafield: ""
85589
          tab: 5
85590
          authorised_value:
85591
          authtypecode:
85592
          value_builder: ""
85593
          isurl:
85594
          hidden: -6
85595
          frameworkcode: "HLD"
85596
          seealso: ""
85597
          link: ""
85598
          defaultvalue:
85599
85600
        - tagfield: "583"
85601
          tagsubfield: "3"
85602
          liblibrarian: "Materials specified"
85603
          libopac: "Materials specified"
85604
          repeatable: 0
85605
          mandatory: 0
85606
          kohafield: ""
85607
          tab: 5
85608
          authorised_value:
85609
          authtypecode:
85610
          value_builder: ""
85611
          isurl:
85612
          hidden: -6
85613
          frameworkcode: "HLD"
85614
          seealso: ""
85615
          link: ""
85616
          defaultvalue:
85617
85618
        - tagfield: "583"
85619
          tagsubfield: "5"
85620
          liblibrarian: "Institution to which field applies"
85621
          libopac: "Institution to which field applies"
85622
          repeatable: 0
85623
          mandatory: 0
85624
          kohafield: ""
85625
          tab: 5
85626
          authorised_value: ""
85627
          authtypecode: ""
85628
          value_builder: ""
85629
          isurl:
85630
          hidden: -6
85631
          frameworkcode: "HLD"
85632
          seealso: ""
85633
          link: ""
85634
          defaultvalue:
85635
85636
        - tagfield: "583"
85637
          tagsubfield: "6"
85638
          liblibrarian: "Linkage"
85639
          libopac: "Linkage"
85640
          repeatable: 0
85641
          mandatory: 0
85642
          kohafield: ""
85643
          tab: 5
85644
          authorised_value: ""
85645
          authtypecode: ""
85646
          value_builder: ""
85647
          isurl:
85648
          hidden: -6
85649
          frameworkcode: "HLD"
85650
          seealso: ""
85651
          link: ""
85652
          defaultvalue:
85653
85654
        - tagfield: "583"
85655
          tagsubfield: "8"
85656
          liblibrarian: "Field link and sequence number"
85657
          libopac: "Field link and sequence number"
85658
          repeatable: 1
85659
          mandatory: 0
85660
          kohafield: ""
85661
          tab: 5
85662
          authorised_value: ""
85663
          authtypecode: ""
85664
          value_builder: ""
85665
          isurl:
85666
          hidden: -6
85667
          frameworkcode: "HLD"
85668
          seealso: ""
85669
          link: ""
85670
          defaultvalue:
85671
85672
        - tagfield: "583"
85673
          tagsubfield: "a"
85674
          liblibrarian: "Action"
85675
          libopac: "Action"
85676
          repeatable: 0
85677
          mandatory: 0
85678
          kohafield: ""
85679
          tab: 5
85680
          authorised_value: ""
85681
          authtypecode: ""
85682
          value_builder: ""
85683
          isurl:
85684
          hidden: -1
85685
          frameworkcode: "HLD"
85686
          seealso: ""
85687
          link: ""
85688
          defaultvalue:
85689
85690
        - tagfield: "583"
85691
          tagsubfield: "b"
85692
          liblibrarian: "Action identification"
85693
          libopac: "Action identification"
85694
          repeatable: 1
85695
          mandatory: 0
85696
          kohafield: ""
85697
          tab: 5
85698
          authorised_value: ""
85699
          authtypecode: ""
85700
          value_builder: ""
85701
          isurl:
85702
          hidden: -1
85703
          frameworkcode: "HLD"
85704
          seealso: ""
85705
          link: ""
85706
          defaultvalue:
85707
85708
        - tagfield: "583"
85709
          tagsubfield: "c"
85710
          liblibrarian: "Time/date of action"
85711
          libopac: "Time/date of action"
85712
          repeatable: 1
85713
          mandatory: 0
85714
          kohafield: ""
85715
          tab: 5
85716
          authorised_value: ""
85717
          authtypecode: ""
85718
          value_builder: ""
85719
          isurl:
85720
          hidden: -1
85721
          frameworkcode: "HLD"
85722
          seealso: ""
85723
          link: ""
85724
          defaultvalue:
85725
85726
        - tagfield: "583"
85727
          tagsubfield: "d"
85728
          liblibrarian: "Action interval"
85729
          libopac: "Action interval"
85730
          repeatable: 1
85731
          mandatory: 0
85732
          kohafield: ""
85733
          tab: 5
85734
          authorised_value: ""
85735
          authtypecode: ""
85736
          value_builder: ""
85737
          isurl:
85738
          hidden: -1
85739
          frameworkcode: "HLD"
85740
          seealso: ""
85741
          link: ""
85742
          defaultvalue:
85743
85744
        - tagfield: "583"
85745
          tagsubfield: "e"
85746
          liblibrarian: "Contingency for action"
85747
          libopac: "Contingency for action"
85748
          repeatable: 1
85749
          mandatory: 0
85750
          kohafield: ""
85751
          tab: 5
85752
          authorised_value: ""
85753
          authtypecode: ""
85754
          value_builder: ""
85755
          isurl:
85756
          hidden: -1
85757
          frameworkcode: "HLD"
85758
          seealso: ""
85759
          link: ""
85760
          defaultvalue:
85761
85762
        - tagfield: "583"
85763
          tagsubfield: "f"
85764
          liblibrarian: "Authorization"
85765
          libopac: "Authorization"
85766
          repeatable: 1
85767
          mandatory: 0
85768
          kohafield: ""
85769
          tab: 5
85770
          authorised_value: ""
85771
          authtypecode: ""
85772
          value_builder: ""
85773
          isurl:
85774
          hidden: -1
85775
          frameworkcode: "HLD"
85776
          seealso: ""
85777
          link: ""
85778
          defaultvalue:
85779
85780
        - tagfield: "583"
85781
          tagsubfield: "h"
85782
          liblibrarian: "Jurisdiction"
85783
          libopac: "Jurisdiction"
85784
          repeatable: 1
85785
          mandatory: 0
85786
          kohafield: ""
85787
          tab: 5
85788
          authorised_value: ""
85789
          authtypecode: ""
85790
          value_builder: ""
85791
          isurl:
85792
          hidden: -1
85793
          frameworkcode: "HLD"
85794
          seealso: ""
85795
          link: ""
85796
          defaultvalue:
85797
85798
        - tagfield: "583"
85799
          tagsubfield: "i"
85800
          liblibrarian: "Method of action"
85801
          libopac: "Method of action"
85802
          repeatable: 1
85803
          mandatory: 0
85804
          kohafield: ""
85805
          tab: 5
85806
          authorised_value: ""
85807
          authtypecode: ""
85808
          value_builder: ""
85809
          isurl:
85810
          hidden: -1
85811
          frameworkcode: "HLD"
85812
          seealso: ""
85813
          link: ""
85814
          defaultvalue:
85815
85816
        - tagfield: "583"
85817
          tagsubfield: "j"
85818
          liblibrarian: "Site of action"
85819
          libopac: "Site of action"
85820
          repeatable: 1
85821
          mandatory: 0
85822
          kohafield: ""
85823
          tab: 5
85824
          authorised_value: ""
85825
          authtypecode: ""
85826
          value_builder: ""
85827
          isurl:
85828
          hidden: -1
85829
          frameworkcode: "HLD"
85830
          seealso: ""
85831
          link: ""
85832
          defaultvalue:
85833
85834
        - tagfield: "583"
85835
          tagsubfield: "k"
85836
          liblibrarian: "Action agent"
85837
          libopac: "Action agent"
85838
          repeatable: 1
85839
          mandatory: 0
85840
          kohafield: ""
85841
          tab: 5
85842
          authorised_value: ""
85843
          authtypecode: ""
85844
          value_builder: ""
85845
          isurl:
85846
          hidden: -1
85847
          frameworkcode: "HLD"
85848
          seealso: ""
85849
          link: ""
85850
          defaultvalue:
85851
85852
        - tagfield: "583"
85853
          tagsubfield: "l"
85854
          liblibrarian: "Status"
85855
          libopac: "Status"
85856
          repeatable: 1
85857
          mandatory: 0
85858
          kohafield: ""
85859
          tab: 5
85860
          authorised_value: ""
85861
          authtypecode: ""
85862
          value_builder: ""
85863
          isurl:
85864
          hidden: -1
85865
          frameworkcode: "HLD"
85866
          seealso: ""
85867
          link: ""
85868
          defaultvalue:
85869
85870
        - tagfield: "583"
85871
          tagsubfield: "n"
85872
          liblibrarian: "Extent"
85873
          libopac: "Extent"
85874
          repeatable: 1
85875
          mandatory: 0
85876
          kohafield: ""
85877
          tab: 5
85878
          authorised_value: ""
85879
          authtypecode: ""
85880
          value_builder: ""
85881
          isurl:
85882
          hidden: -1
85883
          frameworkcode: "HLD"
85884
          seealso: ""
85885
          link: ""
85886
          defaultvalue:
85887
85888
        - tagfield: "583"
85889
          tagsubfield: "o"
85890
          liblibrarian: "Type of unit"
85891
          libopac: "Type of unit"
85892
          repeatable: 1
85893
          mandatory: 0
85894
          kohafield: ""
85895
          tab: 5
85896
          authorised_value: ""
85897
          authtypecode: ""
85898
          value_builder: ""
85899
          isurl:
85900
          hidden: -1
85901
          frameworkcode: "HLD"
85902
          seealso: ""
85903
          link: ""
85904
          defaultvalue:
85905
85906
        - tagfield: "583"
85907
          tagsubfield: "u"
85908
          liblibrarian: "Uniform Resource Identifier"
85909
          libopac: "Uniform Resource Identifier"
85910
          repeatable: 1
85911
          mandatory: 0
85912
          kohafield: ""
85913
          tab: 5
85914
          authorised_value: ""
85915
          authtypecode: ""
85916
          value_builder: ""
85917
          isurl: 1
85918
          hidden: -1
85919
          frameworkcode: "HLD"
85920
          seealso: ""
85921
          link: ""
85922
          defaultvalue:
85923
85924
        - tagfield: "583"
85925
          tagsubfield: "x"
85926
          liblibrarian: "Nonpublic note"
85927
          libopac: "Nonpublic note"
85928
          repeatable: 1
85929
          mandatory: 0
85930
          kohafield: ""
85931
          tab: 5
85932
          authorised_value: ""
85933
          authtypecode: ""
85934
          value_builder: ""
85935
          isurl:
85936
          hidden: 4
85937
          frameworkcode: "HLD"
85938
          seealso: ""
85939
          link: ""
85940
          defaultvalue:
85941
85942
        - tagfield: "583"
85943
          tagsubfield: "z"
85944
          liblibrarian: "Public note"
85945
          libopac: "Public note"
85946
          repeatable: 1
85947
          mandatory: 0
85948
          kohafield: ""
85949
          tab: 5
85950
          authorised_value: ""
85951
          authtypecode: ""
85952
          value_builder: ""
85953
          isurl:
85954
          hidden: -1
85955
          frameworkcode: "HLD"
85956
          seealso: ""
85957
          link: ""
85958
          defaultvalue:
85959
85960
        - tagfield: "842"
85961
          tagsubfield: "6"
85962
          liblibrarian: "Linkage"
85963
          libopac: "Linkage"
85964
          repeatable: 0
85965
          mandatory: 0
85966
          kohafield: ""
85967
          tab: 8
85968
          authorised_value: ""
85969
          authtypecode: ""
85970
          value_builder: ""
85971
          isurl:
85972
          hidden: -6
85973
          frameworkcode: "HLD"
85974
          seealso: ""
85975
          link: ""
85976
          defaultvalue:
85977
85978
        - tagfield: "842"
85979
          tagsubfield: "8"
85980
          liblibrarian: "Field link and sequence number"
85981
          libopac: "Field link and sequence number"
85982
          repeatable: 1
85983
          mandatory: 0
85984
          kohafield: ""
85985
          tab: 8
85986
          authorised_value: ""
85987
          authtypecode: ""
85988
          value_builder: ""
85989
          isurl:
85990
          hidden: -6
85991
          frameworkcode: "HLD"
85992
          seealso: ""
85993
          link: ""
85994
          defaultvalue:
85995
85996
        - tagfield: "842"
85997
          tagsubfield: "a"
85998
          liblibrarian: "Textual physical form designator"
85999
          libopac: "Textual physical form designator"
86000
          repeatable: 0
86001
          mandatory: 0
86002
          kohafield: ""
86003
          tab: 8
86004
          authorised_value: ""
86005
          authtypecode: ""
86006
          value_builder: ""
86007
          isurl:
86008
          hidden: -1
86009
          frameworkcode: "HLD"
86010
          seealso: ""
86011
          link: ""
86012
          defaultvalue:
86013
86014
        - tagfield: "843"
86015
          tagsubfield: "3"
86016
          liblibrarian: "Materials specified"
86017
          libopac: "Materials specified"
86018
          repeatable: 0
86019
          mandatory: 0
86020
          kohafield: ""
86021
          tab: 8
86022
          authorised_value:
86023
          authtypecode:
86024
          value_builder: ""
86025
          isurl:
86026
          hidden: -6
86027
          frameworkcode: "HLD"
86028
          seealso: ""
86029
          link: ""
86030
          defaultvalue:
86031
86032
        - tagfield: "843"
86033
          tagsubfield: "5"
86034
          liblibrarian: "Institution to which field applies"
86035
          libopac: "Institution to which field applies"
86036
          repeatable: 0
86037
          mandatory: 0
86038
          kohafield: ""
86039
          tab: 8
86040
          authorised_value:
86041
          authtypecode:
86042
          value_builder: ""
86043
          isurl:
86044
          hidden: -6
86045
          frameworkcode: "HLD"
86046
          seealso: ""
86047
          link: ""
86048
          defaultvalue:
86049
86050
        - tagfield: "843"
86051
          tagsubfield: "6"
86052
          liblibrarian: "Linkage"
86053
          libopac: "Linkage"
86054
          repeatable: 0
86055
          mandatory: 0
86056
          kohafield: ""
86057
          tab: 8
86058
          authorised_value:
86059
          authtypecode:
86060
          value_builder: ""
86061
          isurl:
86062
          hidden: -6
86063
          frameworkcode: "HLD"
86064
          seealso: ""
86065
          link: ""
86066
          defaultvalue:
86067
86068
        - tagfield: "843"
86069
          tagsubfield: "7"
86070
          liblibrarian: "Fixed-length data elements of reproduction"
86071
          libopac: "Fixed-length data elements of reproduction"
86072
          repeatable: 0
86073
          mandatory: 0
86074
          kohafield: ""
86075
          tab: 8
86076
          authorised_value:
86077
          authtypecode:
86078
          value_builder: ""
86079
          isurl:
86080
          hidden: -6
86081
          frameworkcode: "HLD"
86082
          seealso: ""
86083
          link: ""
86084
          defaultvalue:
86085
86086
        - tagfield: "843"
86087
          tagsubfield: "8"
86088
          liblibrarian: "Field link and sequence number"
86089
          libopac: "Field link and sequence number"
86090
          repeatable: 1
86091
          mandatory: 0
86092
          kohafield: ""
86093
          tab: 8
86094
          authorised_value:
86095
          authtypecode:
86096
          value_builder: ""
86097
          isurl:
86098
          hidden: -6
86099
          frameworkcode: "HLD"
86100
          seealso: ""
86101
          link: ""
86102
          defaultvalue:
86103
86104
        - tagfield: "843"
86105
          tagsubfield: "a"
86106
          liblibrarian: "Type of reproduction"
86107
          libopac: "Type of reproduction"
86108
          repeatable: 0
86109
          mandatory: 0
86110
          kohafield: ""
86111
          tab: 8
86112
          authorised_value:
86113
          authtypecode:
86114
          value_builder: ""
86115
          isurl:
86116
          hidden: -1
86117
          frameworkcode: "HLD"
86118
          seealso: ""
86119
          link: ""
86120
          defaultvalue:
86121
86122
        - tagfield: "843"
86123
          tagsubfield: "b"
86124
          liblibrarian: "Place of reproduction"
86125
          libopac: "Place of reproduction"
86126
          repeatable: 1
86127
          mandatory: 0
86128
          kohafield: ""
86129
          tab: 8
86130
          authorised_value:
86131
          authtypecode:
86132
          value_builder: ""
86133
          isurl:
86134
          hidden: -1
86135
          frameworkcode: "HLD"
86136
          seealso: ""
86137
          link: ""
86138
          defaultvalue:
86139
86140
        - tagfield: "843"
86141
          tagsubfield: "c"
86142
          liblibrarian: "Agency responsible for reproduction"
86143
          libopac: "Agency responsible for reproduction"
86144
          repeatable: 1
86145
          mandatory: 0
86146
          kohafield: ""
86147
          tab: 8
86148
          authorised_value:
86149
          authtypecode:
86150
          value_builder: ""
86151
          isurl:
86152
          hidden: -1
86153
          frameworkcode: "HLD"
86154
          seealso: ""
86155
          link: ""
86156
          defaultvalue:
86157
86158
        - tagfield: "843"
86159
          tagsubfield: "d"
86160
          liblibrarian: "Date of reproduction"
86161
          libopac: "Date of reproduction"
86162
          repeatable: 0
86163
          mandatory: 0
86164
          kohafield: ""
86165
          tab: 8
86166
          authorised_value:
86167
          authtypecode:
86168
          value_builder: ""
86169
          isurl:
86170
          hidden: -1
86171
          frameworkcode: "HLD"
86172
          seealso: ""
86173
          link: ""
86174
          defaultvalue:
86175
86176
        - tagfield: "843"
86177
          tagsubfield: "e"
86178
          liblibrarian: "Physical description of reproduction"
86179
          libopac: "Physical description of reproduction"
86180
          repeatable: 0
86181
          mandatory: 0
86182
          kohafield: ""
86183
          tab: 8
86184
          authorised_value:
86185
          authtypecode:
86186
          value_builder: ""
86187
          isurl:
86188
          hidden: -1
86189
          frameworkcode: "HLD"
86190
          seealso: ""
86191
          link: ""
86192
          defaultvalue:
86193
86194
        - tagfield: "843"
86195
          tagsubfield: "f"
86196
          liblibrarian: "Series statement of reproduction"
86197
          libopac: "Series statement of reproduction"
86198
          repeatable: 1
86199
          mandatory: 0
86200
          kohafield: ""
86201
          tab: 8
86202
          authorised_value:
86203
          authtypecode:
86204
          value_builder: ""
86205
          isurl:
86206
          hidden: -1
86207
          frameworkcode: "HLD"
86208
          seealso: ""
86209
          link: ""
86210
          defaultvalue:
86211
86212
        - tagfield: "843"
86213
          tagsubfield: "m"
86214
          liblibrarian: "Dates of publication and/or sequential designation of issues reproduced"
86215
          libopac: "Dates of publication and/or sequential designation of issues reproduced"
86216
          repeatable: 1
86217
          mandatory: 0
86218
          kohafield: ""
86219
          tab: 8
86220
          authorised_value:
86221
          authtypecode:
86222
          value_builder: ""
86223
          isurl:
86224
          hidden: -1
86225
          frameworkcode: "HLD"
86226
          seealso: ""
86227
          link: ""
86228
          defaultvalue:
86229
86230
        - tagfield: "843"
86231
          tagsubfield: "n"
86232
          liblibrarian: "Note about reproduction"
86233
          libopac: "Note about reproduction"
86234
          repeatable: 1
86235
          mandatory: 0
86236
          kohafield: ""
86237
          tab: 8
86238
          authorised_value:
86239
          authtypecode:
86240
          value_builder: ""
86241
          isurl:
86242
          hidden: -1
86243
          frameworkcode: "HLD"
86244
          seealso: ""
86245
          link: ""
86246
          defaultvalue:
86247
86248
        - tagfield: "844"
86249
          tagsubfield: "6"
86250
          liblibrarian: "Linkage"
86251
          libopac: "Linkage"
86252
          repeatable: 0
86253
          mandatory: 0
86254
          kohafield: ""
86255
          tab: 8
86256
          authorised_value: ""
86257
          authtypecode: ""
86258
          value_builder: ""
86259
          isurl:
86260
          hidden: -6
86261
          frameworkcode: "HLD"
86262
          seealso: ""
86263
          link: ""
86264
          defaultvalue:
86265
86266
        - tagfield: "844"
86267
          tagsubfield: "8"
86268
          liblibrarian: "Field link and sequence number"
86269
          libopac: "Field link and sequence number"
86270
          repeatable: 1
86271
          mandatory: 0
86272
          kohafield: ""
86273
          tab: 8
86274
          authorised_value: ""
86275
          authtypecode: ""
86276
          value_builder: ""
86277
          isurl:
86278
          hidden: -6
86279
          frameworkcode: "HLD"
86280
          seealso: ""
86281
          link: ""
86282
          defaultvalue:
86283
86284
        - tagfield: "844"
86285
          tagsubfield: "a"
86286
          liblibrarian: "Name of unit"
86287
          libopac: "Name of unit"
86288
          repeatable: 0
86289
          mandatory: 0
86290
          kohafield: ""
86291
          tab: 8
86292
          authorised_value: ""
86293
          authtypecode: ""
86294
          value_builder: ""
86295
          isurl:
86296
          hidden: -1
86297
          frameworkcode: "HLD"
86298
          seealso: ""
86299
          link: ""
86300
          defaultvalue:
86301
86302
        - tagfield: "845"
86303
          tagsubfield: "2"
86304
          liblibrarian: "Source of term"
86305
          libopac: "Source of term"
86306
          repeatable: 0
86307
          mandatory: 0
86308
          kohafield: ""
86309
          tab: 8
86310
          authorised_value:
86311
          authtypecode:
86312
          value_builder: ""
86313
          isurl:
86314
          hidden: -6
86315
          frameworkcode: "HLD"
86316
          seealso: ""
86317
          link: ""
86318
          defaultvalue:
86319
86320
        - tagfield: "845"
86321
          tagsubfield: "3"
86322
          liblibrarian: "Materials specified"
86323
          libopac: "Materials specified"
86324
          repeatable: 0
86325
          mandatory: 0
86326
          kohafield: ""
86327
          tab: 8
86328
          authorised_value:
86329
          authtypecode:
86330
          value_builder: ""
86331
          isurl:
86332
          hidden: -6
86333
          frameworkcode: "HLD"
86334
          seealso: ""
86335
          link: ""
86336
          defaultvalue:
86337
86338
        - tagfield: "845"
86339
          tagsubfield: "5"
86340
          liblibrarian: "Institution to which field applies"
86341
          libopac: "Institution to which field applies"
86342
          repeatable: 0
86343
          mandatory: 0
86344
          kohafield: ""
86345
          tab: 8
86346
          authorised_value:
86347
          authtypecode:
86348
          value_builder: ""
86349
          isurl:
86350
          hidden: -6
86351
          frameworkcode: "HLD"
86352
          seealso: ""
86353
          link: ""
86354
          defaultvalue:
86355
86356
        - tagfield: "845"
86357
          tagsubfield: "6"
86358
          liblibrarian: "Linkage"
86359
          libopac: "Linkage"
86360
          repeatable: 0
86361
          mandatory: 0
86362
          kohafield: ""
86363
          tab: 8
86364
          authorised_value:
86365
          authtypecode:
86366
          value_builder: ""
86367
          isurl:
86368
          hidden: -6
86369
          frameworkcode: "HLD"
86370
          seealso: ""
86371
          link: ""
86372
          defaultvalue:
86373
86374
        - tagfield: "845"
86375
          tagsubfield: "8"
86376
          liblibrarian: "Field link and sequence number"
86377
          libopac: "Field link and sequence number"
86378
          repeatable: 1
86379
          mandatory: 0
86380
          kohafield: ""
86381
          tab: 8
86382
          authorised_value:
86383
          authtypecode:
86384
          value_builder: ""
86385
          isurl:
86386
          hidden: -6
86387
          frameworkcode: "HLD"
86388
          seealso: ""
86389
          link: ""
86390
          defaultvalue:
86391
86392
        - tagfield: "845"
86393
          tagsubfield: "a"
86394
          liblibrarian: "Terms governing use and reproduction"
86395
          libopac: "Terms governing use and reproduction"
86396
          repeatable: 0
86397
          mandatory: 0
86398
          kohafield: ""
86399
          tab: 8
86400
          authorised_value:
86401
          authtypecode:
86402
          value_builder: ""
86403
          isurl:
86404
          hidden: -6
86405
          frameworkcode: "HLD"
86406
          seealso: ""
86407
          link: ""
86408
          defaultvalue:
86409
86410
        - tagfield: "845"
86411
          tagsubfield: "b"
86412
          liblibrarian: "Jurisdiction"
86413
          libopac: "Jurisdiction"
86414
          repeatable: 0
86415
          mandatory: 0
86416
          kohafield: ""
86417
          tab: 8
86418
          authorised_value:
86419
          authtypecode:
86420
          value_builder: ""
86421
          isurl:
86422
          hidden: -6
86423
          frameworkcode: "HLD"
86424
          seealso: ""
86425
          link: ""
86426
          defaultvalue:
86427
86428
        - tagfield: "845"
86429
          tagsubfield: "c"
86430
          liblibrarian: "Authorization"
86431
          libopac: "Authorization"
86432
          repeatable: 0
86433
          mandatory: 0
86434
          kohafield: ""
86435
          tab: 8
86436
          authorised_value:
86437
          authtypecode:
86438
          value_builder: ""
86439
          isurl:
86440
          hidden: -6
86441
          frameworkcode: "HLD"
86442
          seealso: ""
86443
          link: ""
86444
          defaultvalue:
86445
86446
        - tagfield: "845"
86447
          tagsubfield: "d"
86448
          liblibrarian: "Authorized users"
86449
          libopac: "Authorized users"
86450
          repeatable: 0
86451
          mandatory: 0
86452
          kohafield: ""
86453
          tab: 8
86454
          authorised_value:
86455
          authtypecode:
86456
          value_builder: ""
86457
          isurl:
86458
          hidden: -6
86459
          frameworkcode: "HLD"
86460
          seealso: ""
86461
          link: ""
86462
          defaultvalue:
86463
86464
        - tagfield: "845"
86465
          tagsubfield: "f"
86466
          liblibrarian: "Use and reproduction rights"
86467
          libopac: "Use and reproduction rights"
86468
          repeatable: 1
86469
          mandatory: 0
86470
          kohafield: ""
86471
          tab: 8
86472
          authorised_value:
86473
          authtypecode:
86474
          value_builder: ""
86475
          isurl:
86476
          hidden: -6
86477
          frameworkcode: "HLD"
86478
          seealso: ""
86479
          link: ""
86480
          defaultvalue:
86481
86482
        - tagfield: "845"
86483
          tagsubfield: "g"
86484
          liblibrarian: "Availability date"
86485
          libopac: "Availability date"
86486
          repeatable: 1
86487
          mandatory: 0
86488
          kohafield: ""
86489
          tab: 8
86490
          authorised_value:
86491
          authtypecode:
86492
          value_builder: ""
86493
          isurl:
86494
          hidden: -6
86495
          frameworkcode: "HLD"
86496
          seealso: ""
86497
          link: ""
86498
          defaultvalue:
86499
86500
        - tagfield: "845"
86501
          tagsubfield: "q"
86502
          liblibrarian: "Supplying agency"
86503
          libopac: "Supplying agency"
86504
          repeatable: 0
86505
          mandatory: 0
86506
          kohafield: ""
86507
          tab: 8
86508
          authorised_value:
86509
          authtypecode:
86510
          value_builder: ""
86511
          isurl:
86512
          hidden: -6
86513
          frameworkcode: "HLD"
86514
          seealso: ""
86515
          link: ""
86516
          defaultvalue:
86517
86518
        - tagfield: "845"
86519
          tagsubfield: "u"
86520
          liblibrarian: "Uniform Resource Identifier"
86521
          libopac: "Uniform Resource Identifier"
86522
          repeatable: 1
86523
          mandatory: 0
86524
          kohafield: ""
86525
          tab: 8
86526
          authorised_value:
86527
          authtypecode:
86528
          value_builder: ""
86529
          isurl: 1
86530
          hidden: -6
86531
          frameworkcode: "HLD"
86532
          seealso: ""
86533
          link: ""
86534
          defaultvalue:
86535
86536
        - tagfield: "852"
86537
          tagsubfield: "2"
86538
          liblibrarian: "Source of classification or shelving scheme"
86539
          libopac: "Source of classification or shelving scheme"
86540
          repeatable: 0
86541
          mandatory: 0
86542
          kohafield: ""
86543
          tab: 8
86544
          authorised_value: ""
86545
          authtypecode: ""
86546
          value_builder: ""
86547
          isurl:
86548
          hidden: 5
86549
          frameworkcode: "HLD"
86550
          seealso: ""
86551
          link: ""
86552
          defaultvalue:
86553
86554
        - tagfield: "852"
86555
          tagsubfield: "3"
86556
          liblibrarian: "Materials specified"
86557
          libopac: "Materials specified"
86558
          repeatable: 0
86559
          mandatory: 0
86560
          kohafield: ""
86561
          tab: 8
86562
          authorised_value: ""
86563
          authtypecode: ""
86564
          value_builder: ""
86565
          isurl:
86566
          hidden: 5
86567
          frameworkcode: "HLD"
86568
          seealso: ""
86569
          link: ""
86570
          defaultvalue:
86571
86572
        - tagfield: "852"
86573
          tagsubfield: "6"
86574
          liblibrarian: "Linkage"
86575
          libopac: "Linkage"
86576
          repeatable: 0
86577
          mandatory: 0
86578
          kohafield: ""
86579
          tab: 8
86580
          authorised_value: ""
86581
          authtypecode: ""
86582
          value_builder: ""
86583
          isurl:
86584
          hidden: 5
86585
          frameworkcode: "HLD"
86586
          seealso: ""
86587
          link: ""
86588
          defaultvalue:
86589
86590
        - tagfield: "852"
86591
          tagsubfield: "8"
86592
          liblibrarian: "Sequence number"
86593
          libopac: "Sequence number"
86594
          repeatable: 0
86595
          mandatory: 0
86596
          kohafield: ""
86597
          tab: 8
86598
          authorised_value: ""
86599
          authtypecode: ""
86600
          value_builder: ""
86601
          isurl:
86602
          hidden: 5
86603
          frameworkcode: "HLD"
86604
          seealso: ""
86605
          link: ""
86606
          defaultvalue:
86607
86608
        - tagfield: "852"
86609
          tagsubfield: "a"
86610
          liblibrarian: "Location"
86611
          libopac: "Location"
86612
          repeatable: 0
86613
          mandatory: 0
86614
          kohafield: ""
86615
          tab: 8
86616
          authorised_value: ""
86617
          authtypecode: ""
86618
          value_builder: ""
86619
          isurl:
86620
          hidden: 4
86621
          frameworkcode: "HLD"
86622
          seealso: ""
86623
          link: ""
86624
          defaultvalue:
86625
86626
        - tagfield: "852"
86627
          tagsubfield: "b"
86628
          liblibrarian: "Sublocation or collection"
86629
          libopac: "Sublocation or collection"
86630
          repeatable: 1
86631
          mandatory: 0
86632
          kohafield: "holdings.holdingbranch"
86633
          tab: 8
86634
          authorised_value: "branches"
86635
          authtypecode: ""
86636
          value_builder: ""
86637
          isurl:
86638
          hidden: 4
86639
          frameworkcode: "HLD"
86640
          seealso: ""
86641
          link: ""
86642
          defaultvalue:
86643
86644
        - tagfield: "852"
86645
          tagsubfield: "c"
86646
          liblibrarian: "Shelving location"
86647
          libopac: "Shelving location"
86648
          repeatable: 1
86649
          mandatory: 0
86650
          kohafield: "holdings.location"
86651
          tab: 8
86652
          authorised_value: "LOC"
86653
          authtypecode: ""
86654
          value_builder: ""
86655
          isurl:
86656
          hidden: 4
86657
          frameworkcode: "HLD"
86658
          seealso: ""
86659
          link: ""
86660
          defaultvalue:
86661
86662
        - tagfield: "852"
86663
          tagsubfield: "d"
86664
          liblibrarian: "Former shelving location"
86665
          libopac: "Former shelving location"
86666
          repeatable: 1
86667
          mandatory: 0
86668
          kohafield: ""
86669
          tab: 8
86670
          authorised_value: ""
86671
          authtypecode: ""
86672
          value_builder: ""
86673
          isurl:
86674
          hidden: 1
86675
          frameworkcode: "HLD"
86676
          seealso: ""
86677
          link: ""
86678
          defaultvalue:
86679
86680
        - tagfield: "852"
86681
          tagsubfield: "e"
86682
          liblibrarian: "Address"
86683
          libopac: "Address"
86684
          repeatable: 1
86685
          mandatory: 0
86686
          kohafield: ""
86687
          tab: 8
86688
          authorised_value: ""
86689
          authtypecode: ""
86690
          value_builder: ""
86691
          isurl:
86692
          hidden: 4
86693
          frameworkcode: "HLD"
86694
          seealso: ""
86695
          link: ""
86696
          defaultvalue:
86697
86698
        - tagfield: "852"
86699
          tagsubfield: "f"
86700
          liblibrarian: "Coded location qualifier"
86701
          libopac: "Coded location qualifier"
86702
          repeatable: 1
86703
          mandatory: 0
86704
          kohafield: ""
86705
          tab: 8
86706
          authorised_value: ""
86707
          authtypecode: ""
86708
          value_builder: ""
86709
          isurl:
86710
          hidden: 4
86711
          frameworkcode: "HLD"
86712
          seealso: ""
86713
          link: ""
86714
          defaultvalue:
86715
86716
        - tagfield: "852"
86717
          tagsubfield: "g"
86718
          liblibrarian: "Non-coded location qualifier"
86719
          libopac: "Non-coded location qualifier"
86720
          repeatable: 1
86721
          mandatory: 0
86722
          kohafield: "holdings.ccode"
86723
          tab: 8
86724
          authorised_value: "CCODE"
86725
          authtypecode: ""
86726
          value_builder: ""
86727
          isurl:
86728
          hidden: 4
86729
          frameworkcode: "HLD"
86730
          seealso: ""
86731
          link: ""
86732
          defaultvalue:
86733
86734
        - tagfield: "852"
86735
          tagsubfield: "h"
86736
          liblibrarian: "Classification part"
86737
          libopac: "Classification part"
86738
          repeatable: 0
86739
          mandatory: 0
86740
          kohafield: "holdings.callnumber"
86741
          tab: 8
86742
          authorised_value: ""
86743
          authtypecode: ""
86744
          value_builder: ""
86745
          isurl:
86746
          hidden: 4
86747
          frameworkcode: "HLD"
86748
          seealso: ""
86749
          link: ""
86750
          defaultvalue:
86751
86752
        - tagfield: "852"
86753
          tagsubfield: "i"
86754
          liblibrarian: "Item part"
86755
          libopac: "Item part"
86756
          repeatable: 1
86757
          mandatory: 0
86758
          kohafield: ""
86759
          tab: 8
86760
          authorised_value: ""
86761
          authtypecode: ""
86762
          value_builder: ""
86763
          isurl:
86764
          hidden: 4
86765
          frameworkcode: "HLD"
86766
          seealso: ""
86767
          link: ""
86768
          defaultvalue:
86769
86770
        - tagfield: "852"
86771
          tagsubfield: "j"
86772
          liblibrarian: "Shelving control number"
86773
          libopac: "Shelving control number"
86774
          repeatable: 0
86775
          mandatory: 0
86776
          kohafield: ""
86777
          tab: 8
86778
          authorised_value: ""
86779
          authtypecode: ""
86780
          value_builder: ""
86781
          isurl:
86782
          hidden: 4
86783
          frameworkcode: "HLD"
86784
          seealso: ""
86785
          link: ""
86786
          defaultvalue:
86787
86788
        - tagfield: "852"
86789
          tagsubfield: "k"
86790
          liblibrarian: "Call number prefix"
86791
          libopac: "Call number prefix"
86792
          repeatable: 1
86793
          mandatory: 0
86794
          kohafield: "holdings.callnumber"
86795
          tab: 8
86796
          authorised_value: ""
86797
          authtypecode: ""
86798
          value_builder: ""
86799
          isurl:
86800
          hidden: 4
86801
          frameworkcode: "HLD"
86802
          seealso: ""
86803
          link: ""
86804
          defaultvalue:
86805
86806
        - tagfield: "852"
86807
          tagsubfield: "l"
86808
          liblibrarian: "Shelving form of title"
86809
          libopac: "Shelving form of title"
86810
          repeatable: 0
86811
          mandatory: 0
86812
          kohafield: "holdings.callnumber"
86813
          tab: 8
86814
          authorised_value: ""
86815
          authtypecode: ""
86816
          value_builder: ""
86817
          isurl:
86818
          hidden: 4
86819
          frameworkcode: "HLD"
86820
          seealso: ""
86821
          link: ""
86822
          defaultvalue:
86823
86824
        - tagfield: "852"
86825
          tagsubfield: "m"
86826
          liblibrarian: "Call number suffix"
86827
          libopac: "Call number suffix"
86828
          repeatable: 1
86829
          mandatory: 0
86830
          kohafield: "holdings.callnumber"
86831
          tab: 8
86832
          authorised_value: ""
86833
          authtypecode: ""
86834
          value_builder: ""
86835
          isurl:
86836
          hidden: 4
86837
          frameworkcode: "HLD"
86838
          seealso: ""
86839
          link: ""
86840
          defaultvalue:
86841
86842
        - tagfield: "852"
86843
          tagsubfield: "n"
86844
          liblibrarian: "Country code"
86845
          libopac: "Country code"
86846
          repeatable: 0
86847
          mandatory: 0
86848
          kohafield: ""
86849
          tab: 8
86850
          authorised_value: ""
86851
          authtypecode: ""
86852
          value_builder: ""
86853
          isurl:
86854
          hidden: 4
86855
          frameworkcode: "HLD"
86856
          seealso: ""
86857
          link: ""
86858
          defaultvalue:
86859
86860
        - tagfield: "852"
86861
          tagsubfield: "p"
86862
          liblibrarian: "Piece designation"
86863
          libopac: "Piece designation"
86864
          repeatable: 0
86865
          mandatory: 0
86866
          kohafield: ""
86867
          tab: 8
86868
          authorised_value: ""
86869
          authtypecode: ""
86870
          value_builder: ""
86871
          isurl:
86872
          hidden: 4
86873
          frameworkcode: "HLD"
86874
          seealso: ""
86875
          link: ""
86876
          defaultvalue:
86877
86878
        - tagfield: "852"
86879
          tagsubfield: "q"
86880
          liblibrarian: "Piece physical condition"
86881
          libopac: "Piece physical condition"
86882
          repeatable: 0
86883
          mandatory: 0
86884
          kohafield: ""
86885
          tab: 8
86886
          authorised_value: ""
86887
          authtypecode: ""
86888
          value_builder: ""
86889
          isurl:
86890
          hidden: 4
86891
          frameworkcode: "HLD"
86892
          seealso: ""
86893
          link: ""
86894
          defaultvalue:
86895
86896
        - tagfield: "852"
86897
          tagsubfield: "s"
86898
          liblibrarian: "Copyright article-fee code"
86899
          libopac: "Copyright article-fee code"
86900
          repeatable: 1
86901
          mandatory: 0
86902
          kohafield: ""
86903
          tab: 8
86904
          authorised_value: ""
86905
          authtypecode: ""
86906
          value_builder: ""
86907
          isurl:
86908
          hidden: 4
86909
          frameworkcode: "HLD"
86910
          seealso: ""
86911
          link: ""
86912
          defaultvalue:
86913
86914
        - tagfield: "852"
86915
          tagsubfield: "t"
86916
          liblibrarian: "Copy number"
86917
          libopac: "Copy number"
86918
          repeatable: 0
86919
          mandatory: 0
86920
          kohafield: ""
86921
          tab: 8
86922
          authorised_value: ""
86923
          authtypecode: ""
86924
          value_builder: ""
86925
          isurl:
86926
          hidden: 4
86927
          frameworkcode: "HLD"
86928
          seealso: ""
86929
          link: ""
86930
          defaultvalue:
86931
86932
        - tagfield: "852"
86933
          tagsubfield: "u"
86934
          liblibrarian: "Uniform Resource Identifier"
86935
          libopac: "Uniform Resource Identifier"
86936
          repeatable: 1
86937
          mandatory: 0
86938
          kohafield: ""
86939
          tab: 8
86940
          authorised_value: ""
86941
          authtypecode: ""
86942
          value_builder: ""
86943
          isurl: 1
86944
          hidden: 4
86945
          frameworkcode: "HLD"
86946
          seealso: ""
86947
          link: ""
86948
          defaultvalue:
86949
86950
        - tagfield: "852"
86951
          tagsubfield: "x"
86952
          liblibrarian: "Nonpublic note"
86953
          libopac: "Nonpublic note"
86954
          repeatable: 1
86955
          mandatory: 0
86956
          kohafield: ""
86957
          tab: 8
86958
          authorised_value: ""
86959
          authtypecode: ""
86960
          value_builder: ""
86961
          isurl:
86962
          hidden: 4
86963
          frameworkcode: "HLD"
86964
          seealso: ""
86965
          link: ""
86966
          defaultvalue:
86967
86968
        - tagfield: "852"
86969
          tagsubfield: "z"
86970
          liblibrarian: "Public note"
86971
          libopac: "Public note"
86972
          repeatable: 1
86973
          mandatory: 0
86974
          kohafield: "holdings.public_note"
86975
          tab: 8
86976
          authorised_value: ""
86977
          authtypecode: ""
86978
          value_builder: ""
86979
          isurl:
86980
          hidden: 4
86981
          frameworkcode: "HLD"
86982
          seealso: ""
86983
          link: ""
86984
          defaultvalue:
86985
86986
        - tagfield: "853"
86987
          tagsubfield: "3"
86988
          liblibrarian: "Materials specified"
86989
          libopac: "Materials specified"
86990
          repeatable: 0
86991
          mandatory: 0
86992
          kohafield: ""
86993
          tab: 8
86994
          authorised_value: ""
86995
          authtypecode: ""
86996
          value_builder: ""
86997
          isurl:
86998
          hidden: 5
86999
          frameworkcode: "HLD"
87000
          seealso: ""
87001
          link: ""
87002
          defaultvalue:
87003
87004
        - tagfield: "853"
87005
          tagsubfield: "6"
87006
          liblibrarian: "Linkage"
87007
          libopac: "Linkage"
87008
          repeatable: 0
87009
          mandatory: 0
87010
          kohafield: ""
87011
          tab: 8
87012
          authorised_value: ""
87013
          authtypecode: ""
87014
          value_builder: ""
87015
          isurl:
87016
          hidden: 5
87017
          frameworkcode: "HLD"
87018
          seealso: ""
87019
          link: ""
87020
          defaultvalue:
87021
87022
        - tagfield: "853"
87023
          tagsubfield: "8"
87024
          liblibrarian: "Field link and sequence number"
87025
          libopac: "Field link and sequence number"
87026
          repeatable: 1
87027
          mandatory: 0
87028
          kohafield: ""
87029
          tab: 8
87030
          authorised_value: ""
87031
          authtypecode: ""
87032
          value_builder: ""
87033
          isurl:
87034
          hidden: 5
87035
          frameworkcode: "HLD"
87036
          seealso: ""
87037
          link: ""
87038
          defaultvalue:
87039
87040
        - tagfield: "853"
87041
          tagsubfield: "a"
87042
          liblibrarian: "First level of enumeration"
87043
          libopac: "First level of enumeration"
87044
          repeatable: 0
87045
          mandatory: 0
87046
          kohafield: ""
87047
          tab: 8
87048
          authorised_value: ""
87049
          authtypecode: ""
87050
          value_builder: ""
87051
          isurl:
87052
          hidden: 4
87053
          frameworkcode: "HLD"
87054
          seealso: ""
87055
          link: ""
87056
          defaultvalue:
87057
87058
        - tagfield: "853"
87059
          tagsubfield: "b"
87060
          liblibrarian: "Second level of enumeration"
87061
          libopac: "Second level of enumeration"
87062
          repeatable: 0
87063
          mandatory: 0
87064
          kohafield: ""
87065
          tab: 8
87066
          authorised_value: ""
87067
          authtypecode: ""
87068
          value_builder: ""
87069
          isurl:
87070
          hidden: 4
87071
          frameworkcode: "HLD"
87072
          seealso: ""
87073
          link: ""
87074
          defaultvalue:
87075
87076
        - tagfield: "853"
87077
          tagsubfield: "c"
87078
          liblibrarian: "Third level of enumeration"
87079
          libopac: "Third level of enumeration"
87080
          repeatable: 0
87081
          mandatory: 0
87082
          kohafield: ""
87083
          tab: 8
87084
          authorised_value: ""
87085
          authtypecode: ""
87086
          value_builder: ""
87087
          isurl:
87088
          hidden: 4
87089
          frameworkcode: "HLD"
87090
          seealso: ""
87091
          link: ""
87092
          defaultvalue:
87093
87094
        - tagfield: "853"
87095
          tagsubfield: "d"
87096
          liblibrarian: "Fourth level of enumeration"
87097
          libopac: "Fourth level of enumeration"
87098
          repeatable: 0
87099
          mandatory: 0
87100
          kohafield: ""
87101
          tab: 8
87102
          authorised_value: ""
87103
          authtypecode: ""
87104
          value_builder: ""
87105
          isurl:
87106
          hidden: 4
87107
          frameworkcode: "HLD"
87108
          seealso: ""
87109
          link: ""
87110
          defaultvalue:
87111
87112
        - tagfield: "853"
87113
          tagsubfield: "e"
87114
          liblibrarian: "Fifth level of enumeration"
87115
          libopac: "Fifth level of enumeration"
87116
          repeatable: 0
87117
          mandatory: 0
87118
          kohafield: ""
87119
          tab: 8
87120
          authorised_value: ""
87121
          authtypecode: ""
87122
          value_builder: ""
87123
          isurl:
87124
          hidden: 4
87125
          frameworkcode: "HLD"
87126
          seealso: ""
87127
          link: ""
87128
          defaultvalue:
87129
87130
        - tagfield: "853"
87131
          tagsubfield: "f"
87132
          liblibrarian: "Sixth level of enumeration"
87133
          libopac: "Sixth level of enumeration"
87134
          repeatable: 0
87135
          mandatory: 0
87136
          kohafield: ""
87137
          tab: 8
87138
          authorised_value: ""
87139
          authtypecode: ""
87140
          value_builder: ""
87141
          isurl:
87142
          hidden: 4
87143
          frameworkcode: "HLD"
87144
          seealso: ""
87145
          link: ""
87146
          defaultvalue:
87147
87148
        - tagfield: "853"
87149
          tagsubfield: "g"
87150
          liblibrarian: "Alternative numbering scheme, first level of enumeration"
87151
          libopac: "Alternative numbering scheme, first level of enumeration"
87152
          repeatable: 0
87153
          mandatory: 0
87154
          kohafield: ""
87155
          tab: 8
87156
          authorised_value: ""
87157
          authtypecode: ""
87158
          value_builder: ""
87159
          isurl:
87160
          hidden: 4
87161
          frameworkcode: "HLD"
87162
          seealso: ""
87163
          link: ""
87164
          defaultvalue:
87165
87166
        - tagfield: "853"
87167
          tagsubfield: "h"
87168
          liblibrarian: "Alternative numbering scheme, second level of enumeration"
87169
          libopac: "Alternative numbering scheme, second level of enumeration"
87170
          repeatable: 0
87171
          mandatory: 0
87172
          kohafield: ""
87173
          tab: 8
87174
          authorised_value: ""
87175
          authtypecode: ""
87176
          value_builder: ""
87177
          isurl:
87178
          hidden: 4
87179
          frameworkcode: "HLD"
87180
          seealso: ""
87181
          link: ""
87182
          defaultvalue:
87183
87184
        - tagfield: "853"
87185
          tagsubfield: "i"
87186
          liblibrarian: "First level of chronology"
87187
          libopac: "First level of chronology"
87188
          repeatable: 0
87189
          mandatory: 0
87190
          kohafield: ""
87191
          tab: 8
87192
          authorised_value: ""
87193
          authtypecode: ""
87194
          value_builder: ""
87195
          isurl:
87196
          hidden: 4
87197
          frameworkcode: "HLD"
87198
          seealso: ""
87199
          link: ""
87200
          defaultvalue:
87201
87202
        - tagfield: "853"
87203
          tagsubfield: "j"
87204
          liblibrarian: "Second level of chronology"
87205
          libopac: "Second level of chronology"
87206
          repeatable: 0
87207
          mandatory: 0
87208
          kohafield: ""
87209
          tab: 8
87210
          authorised_value: ""
87211
          authtypecode: ""
87212
          value_builder: ""
87213
          isurl:
87214
          hidden: 4
87215
          frameworkcode: "HLD"
87216
          seealso: ""
87217
          link: ""
87218
          defaultvalue:
87219
87220
        - tagfield: "853"
87221
          tagsubfield: "k"
87222
          liblibrarian: "Third level of chronology"
87223
          libopac: "Third level of chronology"
87224
          repeatable: 0
87225
          mandatory: 0
87226
          kohafield: ""
87227
          tab: 8
87228
          authorised_value: ""
87229
          authtypecode: ""
87230
          value_builder: ""
87231
          isurl:
87232
          hidden: 4
87233
          frameworkcode: "HLD"
87234
          seealso: ""
87235
          link: ""
87236
          defaultvalue:
87237
87238
        - tagfield: "853"
87239
          tagsubfield: "l"
87240
          liblibrarian: "Fourth level of chronology"
87241
          libopac: "Fourth level of chronology"
87242
          repeatable: 0
87243
          mandatory: 0
87244
          kohafield: ""
87245
          tab: 8
87246
          authorised_value: ""
87247
          authtypecode: ""
87248
          value_builder: ""
87249
          isurl:
87250
          hidden: 4
87251
          frameworkcode: "HLD"
87252
          seealso: ""
87253
          link: ""
87254
          defaultvalue:
87255
87256
        - tagfield: "853"
87257
          tagsubfield: "m"
87258
          liblibrarian: "Alternative numbering scheme, chronology"
87259
          libopac: "Alternative numbering scheme, chronology"
87260
          repeatable: 0
87261
          mandatory: 0
87262
          kohafield: ""
87263
          tab: 8
87264
          authorised_value: ""
87265
          authtypecode: ""
87266
          value_builder: ""
87267
          isurl:
87268
          hidden: 4
87269
          frameworkcode: "HLD"
87270
          seealso: ""
87271
          link: ""
87272
          defaultvalue:
87273
87274
        - tagfield: "853"
87275
          tagsubfield: "n"
87276
          liblibrarian: "Pattern note"
87277
          libopac: "Pattern note"
87278
          repeatable: 0
87279
          mandatory: 0
87280
          kohafield: ""
87281
          tab: 8
87282
          authorised_value: ""
87283
          authtypecode: ""
87284
          value_builder: ""
87285
          isurl:
87286
          hidden: 4
87287
          frameworkcode: "HLD"
87288
          seealso: ""
87289
          link: ""
87290
          defaultvalue:
87291
87292
        - tagfield: "853"
87293
          tagsubfield: "p"
87294
          liblibrarian: "Number of pieces per issuance"
87295
          libopac: "Number of pieces per issuance"
87296
          repeatable: 0
87297
          mandatory: 0
87298
          kohafield: ""
87299
          tab: 8
87300
          authorised_value: ""
87301
          authtypecode: ""
87302
          value_builder: ""
87303
          isurl:
87304
          hidden: 4
87305
          frameworkcode: "HLD"
87306
          seealso: ""
87307
          link: ""
87308
          defaultvalue:
87309
87310
        - tagfield: "853"
87311
          tagsubfield: "t"
87312
          liblibrarian: "Copy"
87313
          libopac: "Copy"
87314
          repeatable: 0
87315
          mandatory: 0
87316
          kohafield: ""
87317
          tab: 8
87318
          authorised_value: ""
87319
          authtypecode: ""
87320
          value_builder: ""
87321
          isurl:
87322
          hidden: 4
87323
          frameworkcode: "HLD"
87324
          seealso: ""
87325
          link: ""
87326
          defaultvalue:
87327
87328
        - tagfield: "853"
87329
          tagsubfield: "u"
87330
          liblibrarian: "Bibliographic units per next higher level"
87331
          libopac: "Bibliographic units per next higher level"
87332
          repeatable: 1
87333
          mandatory: 0
87334
          kohafield: ""
87335
          tab: 8
87336
          authorised_value: ""
87337
          authtypecode: ""
87338
          value_builder: ""
87339
          isurl:
87340
          hidden: 4
87341
          frameworkcode: "HLD"
87342
          seealso: ""
87343
          link: ""
87344
          defaultvalue:
87345
87346
        - tagfield: "853"
87347
          tagsubfield: "v"
87348
          liblibrarian: "Numbering continuity"
87349
          libopac: "Numbering continuity"
87350
          repeatable: 1
87351
          mandatory: 0
87352
          kohafield: ""
87353
          tab: 8
87354
          authorised_value: ""
87355
          authtypecode: ""
87356
          value_builder: ""
87357
          isurl:
87358
          hidden: 4
87359
          frameworkcode: "HLD"
87360
          seealso: ""
87361
          link: ""
87362
          defaultvalue:
87363
87364
        - tagfield: "853"
87365
          tagsubfield: "w"
87366
          liblibrarian: "Frequency"
87367
          libopac: "Frequency"
87368
          repeatable: 0
87369
          mandatory: 0
87370
          kohafield: ""
87371
          tab: 8
87372
          authorised_value: ""
87373
          authtypecode: ""
87374
          value_builder: ""
87375
          isurl:
87376
          hidden: 4
87377
          frameworkcode: "HLD"
87378
          seealso: ""
87379
          link: ""
87380
          defaultvalue:
87381
87382
        - tagfield: "853"
87383
          tagsubfield: "x"
87384
          liblibrarian: "Calendar change"
87385
          libopac: "Calendar change"
87386
          repeatable: 0
87387
          mandatory: 0
87388
          kohafield: ""
87389
          tab: 8
87390
          authorised_value: ""
87391
          authtypecode: ""
87392
          value_builder: ""
87393
          isurl:
87394
          hidden: 4
87395
          frameworkcode: "HLD"
87396
          seealso: ""
87397
          link: ""
87398
          defaultvalue:
87399
87400
        - tagfield: "853"
87401
          tagsubfield: "y"
87402
          liblibrarian: "Regularity pattern"
87403
          libopac: "Regularity pattern"
87404
          repeatable: 1
87405
          mandatory: 0
87406
          kohafield: ""
87407
          tab: 8
87408
          authorised_value: ""
87409
          authtypecode: ""
87410
          value_builder: ""
87411
          isurl:
87412
          hidden: 4
87413
          frameworkcode: "HLD"
87414
          seealso: ""
87415
          link: ""
87416
          defaultvalue:
87417
87418
        - tagfield: "853"
87419
          tagsubfield: "z"
87420
          liblibrarian: "Numbering scheme"
87421
          libopac: "Numbering scheme"
87422
          repeatable: 1
87423
          mandatory: 0
87424
          kohafield: ""
87425
          tab: 8
87426
          authorised_value: ""
87427
          authtypecode: ""
87428
          value_builder: ""
87429
          isurl:
87430
          hidden: 4
87431
          frameworkcode: "HLD"
87432
          seealso: ""
87433
          link: ""
87434
          defaultvalue:
87435
87436
        - tagfield: "854"
87437
          tagsubfield: "3"
87438
          liblibrarian: "Materials specified"
87439
          libopac: "Materials specified"
87440
          repeatable: 0
87441
          mandatory: 0
87442
          kohafield: ""
87443
          tab: 8
87444
          authorised_value: ""
87445
          authtypecode: ""
87446
          value_builder: ""
87447
          isurl:
87448
          hidden: 5
87449
          frameworkcode: "HLD"
87450
          seealso: ""
87451
          link: ""
87452
          defaultvalue:
87453
87454
        - tagfield: "854"
87455
          tagsubfield: "6"
87456
          liblibrarian: "Linkage"
87457
          libopac: "Linkage"
87458
          repeatable: 0
87459
          mandatory: 0
87460
          kohafield: ""
87461
          tab: 8
87462
          authorised_value: ""
87463
          authtypecode: ""
87464
          value_builder: ""
87465
          isurl:
87466
          hidden: 5
87467
          frameworkcode: "HLD"
87468
          seealso: ""
87469
          link: ""
87470
          defaultvalue:
87471
87472
        - tagfield: "854"
87473
          tagsubfield: "8"
87474
          liblibrarian: "Field link and sequence number"
87475
          libopac: "Field link and sequence number"
87476
          repeatable: 1
87477
          mandatory: 0
87478
          kohafield: ""
87479
          tab: 8
87480
          authorised_value: ""
87481
          authtypecode: ""
87482
          value_builder: ""
87483
          isurl:
87484
          hidden: 5
87485
          frameworkcode: "HLD"
87486
          seealso: ""
87487
          link: ""
87488
          defaultvalue:
87489
87490
        - tagfield: "854"
87491
          tagsubfield: "a"
87492
          liblibrarian: "First level of enumeration"
87493
          libopac: "First level of enumeration"
87494
          repeatable: 0
87495
          mandatory: 0
87496
          kohafield: ""
87497
          tab: 8
87498
          authorised_value: ""
87499
          authtypecode: ""
87500
          value_builder: ""
87501
          isurl:
87502
          hidden: 4
87503
          frameworkcode: "HLD"
87504
          seealso: ""
87505
          link: ""
87506
          defaultvalue:
87507
87508
        - tagfield: "854"
87509
          tagsubfield: "b"
87510
          liblibrarian: "Second level of enumeration"
87511
          libopac: "Second level of enumeration"
87512
          repeatable: 0
87513
          mandatory: 0
87514
          kohafield: ""
87515
          tab: 8
87516
          authorised_value: ""
87517
          authtypecode: ""
87518
          value_builder: ""
87519
          isurl:
87520
          hidden: 4
87521
          frameworkcode: "HLD"
87522
          seealso: ""
87523
          link: ""
87524
          defaultvalue:
87525
87526
        - tagfield: "854"
87527
          tagsubfield: "c"
87528
          liblibrarian: "Third level of enumeration"
87529
          libopac: "Third level of enumeration"
87530
          repeatable: 0
87531
          mandatory: 0
87532
          kohafield: ""
87533
          tab: 8
87534
          authorised_value: ""
87535
          authtypecode: ""
87536
          value_builder: ""
87537
          isurl:
87538
          hidden: 4
87539
          frameworkcode: "HLD"
87540
          seealso: ""
87541
          link: ""
87542
          defaultvalue:
87543
87544
        - tagfield: "854"
87545
          tagsubfield: "d"
87546
          liblibrarian: "Fourth level of enumeration"
87547
          libopac: "Fourth level of enumeration"
87548
          repeatable: 0
87549
          mandatory: 0
87550
          kohafield: ""
87551
          tab: 8
87552
          authorised_value: ""
87553
          authtypecode: ""
87554
          value_builder: ""
87555
          isurl:
87556
          hidden: 4
87557
          frameworkcode: "HLD"
87558
          seealso: ""
87559
          link: ""
87560
          defaultvalue:
87561
87562
        - tagfield: "854"
87563
          tagsubfield: "e"
87564
          liblibrarian: "Fifth level of enumeration"
87565
          libopac: "Fifth level of enumeration"
87566
          repeatable: 0
87567
          mandatory: 0
87568
          kohafield: ""
87569
          tab: 8
87570
          authorised_value: ""
87571
          authtypecode: ""
87572
          value_builder: ""
87573
          isurl:
87574
          hidden: 4
87575
          frameworkcode: "HLD"
87576
          seealso: ""
87577
          link: ""
87578
          defaultvalue:
87579
87580
        - tagfield: "854"
87581
          tagsubfield: "f"
87582
          liblibrarian: "Sixth level of enumeration"
87583
          libopac: "Sixth level of enumeration"
87584
          repeatable: 0
87585
          mandatory: 0
87586
          kohafield: ""
87587
          tab: 8
87588
          authorised_value: ""
87589
          authtypecode: ""
87590
          value_builder: ""
87591
          isurl:
87592
          hidden: 4
87593
          frameworkcode: "HLD"
87594
          seealso: ""
87595
          link: ""
87596
          defaultvalue:
87597
87598
        - tagfield: "854"
87599
          tagsubfield: "g"
87600
          liblibrarian: "Alternative numbering scheme, first level of enumeration"
87601
          libopac: "Alternative numbering scheme, first level of enumeration"
87602
          repeatable: 0
87603
          mandatory: 0
87604
          kohafield: ""
87605
          tab: 8
87606
          authorised_value: ""
87607
          authtypecode: ""
87608
          value_builder: ""
87609
          isurl:
87610
          hidden: 4
87611
          frameworkcode: "HLD"
87612
          seealso: ""
87613
          link: ""
87614
          defaultvalue:
87615
87616
        - tagfield: "854"
87617
          tagsubfield: "h"
87618
          liblibrarian: "Alternative numbering scheme, second level of enumeration"
87619
          libopac: "Alternative numbering scheme, second level of enumeration"
87620
          repeatable: 0
87621
          mandatory: 0
87622
          kohafield: ""
87623
          tab: 8
87624
          authorised_value: ""
87625
          authtypecode: ""
87626
          value_builder: ""
87627
          isurl:
87628
          hidden: 4
87629
          frameworkcode: "HLD"
87630
          seealso: ""
87631
          link: ""
87632
          defaultvalue:
87633
87634
        - tagfield: "854"
87635
          tagsubfield: "i"
87636
          liblibrarian: "First level of chronology"
87637
          libopac: "First level of chronology"
87638
          repeatable: 0
87639
          mandatory: 0
87640
          kohafield: ""
87641
          tab: 8
87642
          authorised_value: ""
87643
          authtypecode: ""
87644
          value_builder: ""
87645
          isurl:
87646
          hidden: 4
87647
          frameworkcode: "HLD"
87648
          seealso: ""
87649
          link: ""
87650
          defaultvalue:
87651
87652
        - tagfield: "854"
87653
          tagsubfield: "j"
87654
          liblibrarian: "Second level of chronology"
87655
          libopac: "Second level of chronology"
87656
          repeatable: 0
87657
          mandatory: 0
87658
          kohafield: ""
87659
          tab: 8
87660
          authorised_value: ""
87661
          authtypecode: ""
87662
          value_builder: ""
87663
          isurl:
87664
          hidden: 4
87665
          frameworkcode: "HLD"
87666
          seealso: ""
87667
          link: ""
87668
          defaultvalue:
87669
87670
        - tagfield: "854"
87671
          tagsubfield: "k"
87672
          liblibrarian: "Third level of chronology"
87673
          libopac: "Third level of chronology"
87674
          repeatable: 0
87675
          mandatory: 0
87676
          kohafield: ""
87677
          tab: 8
87678
          authorised_value: ""
87679
          authtypecode: ""
87680
          value_builder: ""
87681
          isurl:
87682
          hidden: 4
87683
          frameworkcode: "HLD"
87684
          seealso: ""
87685
          link: ""
87686
          defaultvalue:
87687
87688
        - tagfield: "854"
87689
          tagsubfield: "l"
87690
          liblibrarian: "Fourth level of chronology"
87691
          libopac: "Fourth level of chronology"
87692
          repeatable: 0
87693
          mandatory: 0
87694
          kohafield: ""
87695
          tab: 8
87696
          authorised_value: ""
87697
          authtypecode: ""
87698
          value_builder: ""
87699
          isurl:
87700
          hidden: 4
87701
          frameworkcode: "HLD"
87702
          seealso: ""
87703
          link: ""
87704
          defaultvalue:
87705
87706
        - tagfield: "854"
87707
          tagsubfield: "m"
87708
          liblibrarian: "Alternative numbering scheme, chronology"
87709
          libopac: "Alternative numbering scheme, chronology"
87710
          repeatable: 0
87711
          mandatory: 0
87712
          kohafield: ""
87713
          tab: 8
87714
          authorised_value: ""
87715
          authtypecode: ""
87716
          value_builder: ""
87717
          isurl:
87718
          hidden: 4
87719
          frameworkcode: "HLD"
87720
          seealso: ""
87721
          link: ""
87722
          defaultvalue:
87723
87724
        - tagfield: "854"
87725
          tagsubfield: "n"
87726
          liblibrarian: "Pattern note"
87727
          libopac: "Pattern note"
87728
          repeatable: 0
87729
          mandatory: 0
87730
          kohafield: ""
87731
          tab: 8
87732
          authorised_value: ""
87733
          authtypecode: ""
87734
          value_builder: ""
87735
          isurl:
87736
          hidden: 4
87737
          frameworkcode: "HLD"
87738
          seealso: ""
87739
          link: ""
87740
          defaultvalue:
87741
87742
        - tagfield: "854"
87743
          tagsubfield: "p"
87744
          liblibrarian: "Number of pieces per issuance"
87745
          libopac: "Number of pieces per issuance"
87746
          repeatable: 0
87747
          mandatory: 0
87748
          kohafield: ""
87749
          tab: 8
87750
          authorised_value: ""
87751
          authtypecode: ""
87752
          value_builder: ""
87753
          isurl:
87754
          hidden: 4
87755
          frameworkcode: "HLD"
87756
          seealso: ""
87757
          link: ""
87758
          defaultvalue:
87759
87760
        - tagfield: "854"
87761
          tagsubfield: "t"
87762
          liblibrarian: "Copy"
87763
          libopac: "Copy"
87764
          repeatable: 0
87765
          mandatory: 0
87766
          kohafield: ""
87767
          tab: 8
87768
          authorised_value: ""
87769
          authtypecode: ""
87770
          value_builder: ""
87771
          isurl:
87772
          hidden: 4
87773
          frameworkcode: "HLD"
87774
          seealso: ""
87775
          link: ""
87776
          defaultvalue:
87777
87778
        - tagfield: "854"
87779
          tagsubfield: "u"
87780
          liblibrarian: "Bibliographic units per next higher level"
87781
          libopac: "Bibliographic units per next higher level"
87782
          repeatable: 1
87783
          mandatory: 0
87784
          kohafield: ""
87785
          tab: 8
87786
          authorised_value: ""
87787
          authtypecode: ""
87788
          value_builder: ""
87789
          isurl:
87790
          hidden: 4
87791
          frameworkcode: "HLD"
87792
          seealso: ""
87793
          link: ""
87794
          defaultvalue:
87795
87796
        - tagfield: "854"
87797
          tagsubfield: "v"
87798
          liblibrarian: "Numbering continuity"
87799
          libopac: "Numbering continuity"
87800
          repeatable: 1
87801
          mandatory: 0
87802
          kohafield: ""
87803
          tab: 8
87804
          authorised_value: ""
87805
          authtypecode: ""
87806
          value_builder: ""
87807
          isurl:
87808
          hidden: 4
87809
          frameworkcode: "HLD"
87810
          seealso: ""
87811
          link: ""
87812
          defaultvalue:
87813
87814
        - tagfield: "854"
87815
          tagsubfield: "w"
87816
          liblibrarian: "Frequency"
87817
          libopac: "Frequency"
87818
          repeatable: 0
87819
          mandatory: 0
87820
          kohafield: ""
87821
          tab: 8
87822
          authorised_value: ""
87823
          authtypecode: ""
87824
          value_builder: ""
87825
          isurl:
87826
          hidden: 4
87827
          frameworkcode: "HLD"
87828
          seealso: ""
87829
          link: ""
87830
          defaultvalue:
87831
87832
        - tagfield: "854"
87833
          tagsubfield: "x"
87834
          liblibrarian: "Calendar change"
87835
          libopac: "Calendar change"
87836
          repeatable: 0
87837
          mandatory: 0
87838
          kohafield: ""
87839
          tab: 8
87840
          authorised_value: ""
87841
          authtypecode: ""
87842
          value_builder: ""
87843
          isurl:
87844
          hidden: 4
87845
          frameworkcode: "HLD"
87846
          seealso: ""
87847
          link: ""
87848
          defaultvalue:
87849
87850
        - tagfield: "854"
87851
          tagsubfield: "y"
87852
          liblibrarian: "Regularity pattern"
87853
          libopac: "Regularity pattern"
87854
          repeatable: 1
87855
          mandatory: 0
87856
          kohafield: ""
87857
          tab: 8
87858
          authorised_value: ""
87859
          authtypecode: ""
87860
          value_builder: ""
87861
          isurl:
87862
          hidden: 4
87863
          frameworkcode: "HLD"
87864
          seealso: ""
87865
          link: ""
87866
          defaultvalue:
87867
87868
        - tagfield: "854"
87869
          tagsubfield: "z"
87870
          liblibrarian: "Numbering scheme"
87871
          libopac: "Numbering scheme"
87872
          repeatable: 1
87873
          mandatory: 0
87874
          kohafield: ""
87875
          tab: 8
87876
          authorised_value: ""
87877
          authtypecode: ""
87878
          value_builder: ""
87879
          isurl:
87880
          hidden: 4
87881
          frameworkcode: "HLD"
87882
          seealso: ""
87883
          link: ""
87884
          defaultvalue:
87885
87886
        - tagfield: "855"
87887
          tagsubfield: "3"
87888
          liblibrarian: "Materials specified"
87889
          libopac: "Materials specified"
87890
          repeatable: 0
87891
          mandatory: 0
87892
          kohafield: ""
87893
          tab: 8
87894
          authorised_value: ""
87895
          authtypecode: ""
87896
          value_builder: ""
87897
          isurl:
87898
          hidden: 5
87899
          frameworkcode: "HLD"
87900
          seealso: ""
87901
          link: ""
87902
          defaultvalue:
87903
87904
        - tagfield: "855"
87905
          tagsubfield: "6"
87906
          liblibrarian: "Linkage"
87907
          libopac: "Linkage"
87908
          repeatable: 0
87909
          mandatory: 0
87910
          kohafield: ""
87911
          tab: 8
87912
          authorised_value: ""
87913
          authtypecode: ""
87914
          value_builder: ""
87915
          isurl:
87916
          hidden: 5
87917
          frameworkcode: "HLD"
87918
          seealso: ""
87919
          link: ""
87920
          defaultvalue:
87921
87922
        - tagfield: "855"
87923
          tagsubfield: "8"
87924
          liblibrarian: "Field link and sequence number"
87925
          libopac: "Field link and sequence number"
87926
          repeatable: 1
87927
          mandatory: 0
87928
          kohafield: ""
87929
          tab: 8
87930
          authorised_value: ""
87931
          authtypecode: ""
87932
          value_builder: ""
87933
          isurl:
87934
          hidden: 5
87935
          frameworkcode: "HLD"
87936
          seealso: ""
87937
          link: ""
87938
          defaultvalue:
87939
87940
        - tagfield: "855"
87941
          tagsubfield: "a"
87942
          liblibrarian: "First level of enumeration"
87943
          libopac: "First level of enumeration"
87944
          repeatable: 0
87945
          mandatory: 0
87946
          kohafield: ""
87947
          tab: 8
87948
          authorised_value: ""
87949
          authtypecode: ""
87950
          value_builder: ""
87951
          isurl:
87952
          hidden: 4
87953
          frameworkcode: "HLD"
87954
          seealso: ""
87955
          link: ""
87956
          defaultvalue:
87957
87958
        - tagfield: "855"
87959
          tagsubfield: "b"
87960
          liblibrarian: "Second level of enumeration"
87961
          libopac: "Second level of enumeration"
87962
          repeatable: 0
87963
          mandatory: 0
87964
          kohafield: ""
87965
          tab: 8
87966
          authorised_value: ""
87967
          authtypecode: ""
87968
          value_builder: ""
87969
          isurl:
87970
          hidden: 4
87971
          frameworkcode: "HLD"
87972
          seealso: ""
87973
          link: ""
87974
          defaultvalue:
87975
87976
        - tagfield: "855"
87977
          tagsubfield: "c"
87978
          liblibrarian: "Third level of enumeration"
87979
          libopac: "Third level of enumeration"
87980
          repeatable: 0
87981
          mandatory: 0
87982
          kohafield: ""
87983
          tab: 8
87984
          authorised_value: ""
87985
          authtypecode: ""
87986
          value_builder: ""
87987
          isurl:
87988
          hidden: 4
87989
          frameworkcode: "HLD"
87990
          seealso: ""
87991
          link: ""
87992
          defaultvalue:
87993
87994
        - tagfield: "855"
87995
          tagsubfield: "d"
87996
          liblibrarian: "Fourth level of enumeration"
87997
          libopac: "Fourth level of enumeration"
87998
          repeatable: 0
87999
          mandatory: 0
88000
          kohafield: ""
88001
          tab: 8
88002
          authorised_value: ""
88003
          authtypecode: ""
88004
          value_builder: ""
88005
          isurl:
88006
          hidden: 4
88007
          frameworkcode: "HLD"
88008
          seealso: ""
88009
          link: ""
88010
          defaultvalue:
88011
88012
        - tagfield: "855"
88013
          tagsubfield: "e"
88014
          liblibrarian: "Fifth level of enumeration"
88015
          libopac: "Fifth level of enumeration"
88016
          repeatable: 0
88017
          mandatory: 0
88018
          kohafield: ""
88019
          tab: 8
88020
          authorised_value: ""
88021
          authtypecode: ""
88022
          value_builder: ""
88023
          isurl:
88024
          hidden: 4
88025
          frameworkcode: "HLD"
88026
          seealso: ""
88027
          link: ""
88028
          defaultvalue:
88029
88030
        - tagfield: "855"
88031
          tagsubfield: "f"
88032
          liblibrarian: "Sixth level of enumeration"
88033
          libopac: "Sixth level of enumeration"
88034
          repeatable: 0
88035
          mandatory: 0
88036
          kohafield: ""
88037
          tab: 8
88038
          authorised_value: ""
88039
          authtypecode: ""
88040
          value_builder: ""
88041
          isurl:
88042
          hidden: 4
88043
          frameworkcode: "HLD"
88044
          seealso: ""
88045
          link: ""
88046
          defaultvalue:
88047
88048
        - tagfield: "855"
88049
          tagsubfield: "g"
88050
          liblibrarian: "Alternative numbering scheme, first level of enumeration"
88051
          libopac: "Alternative numbering scheme, first level of enumeration"
88052
          repeatable: 0
88053
          mandatory: 0
88054
          kohafield: ""
88055
          tab: 8
88056
          authorised_value: ""
88057
          authtypecode: ""
88058
          value_builder: ""
88059
          isurl:
88060
          hidden: 4
88061
          frameworkcode: "HLD"
88062
          seealso: ""
88063
          link: ""
88064
          defaultvalue:
88065
88066
        - tagfield: "855"
88067
          tagsubfield: "h"
88068
          liblibrarian: "Alternative numbering scheme, second level of enumeration"
88069
          libopac: "Alternative numbering scheme, second level of enumeration"
88070
          repeatable: 0
88071
          mandatory: 0
88072
          kohafield: ""
88073
          tab: 8
88074
          authorised_value: ""
88075
          authtypecode: ""
88076
          value_builder: ""
88077
          isurl:
88078
          hidden: 4
88079
          frameworkcode: "HLD"
88080
          seealso: ""
88081
          link: ""
88082
          defaultvalue:
88083
88084
        - tagfield: "855"
88085
          tagsubfield: "i"
88086
          liblibrarian: "First level of chronology"
88087
          libopac: "First level of chronology"
88088
          repeatable: 0
88089
          mandatory: 0
88090
          kohafield: ""
88091
          tab: 8
88092
          authorised_value: ""
88093
          authtypecode: ""
88094
          value_builder: ""
88095
          isurl:
88096
          hidden: 4
88097
          frameworkcode: "HLD"
88098
          seealso: ""
88099
          link: ""
88100
          defaultvalue:
88101
88102
        - tagfield: "855"
88103
          tagsubfield: "j"
88104
          liblibrarian: "Second level of chronology"
88105
          libopac: "Second level of chronology"
88106
          repeatable: 0
88107
          mandatory: 0
88108
          kohafield: ""
88109
          tab: 8
88110
          authorised_value: ""
88111
          authtypecode: ""
88112
          value_builder: ""
88113
          isurl:
88114
          hidden: 4
88115
          frameworkcode: "HLD"
88116
          seealso: ""
88117
          link: ""
88118
          defaultvalue:
88119
88120
        - tagfield: "855"
88121
          tagsubfield: "k"
88122
          liblibrarian: "Third level of chronology"
88123
          libopac: "Third level of chronology"
88124
          repeatable: 0
88125
          mandatory: 0
88126
          kohafield: ""
88127
          tab: 8
88128
          authorised_value: ""
88129
          authtypecode: ""
88130
          value_builder: ""
88131
          isurl:
88132
          hidden: 4
88133
          frameworkcode: "HLD"
88134
          seealso: ""
88135
          link: ""
88136
          defaultvalue:
88137
88138
        - tagfield: "855"
88139
          tagsubfield: "l"
88140
          liblibrarian: "Fourth level of chronology"
88141
          libopac: "Fourth level of chronology"
88142
          repeatable: 0
88143
          mandatory: 0
88144
          kohafield: ""
88145
          tab: 8
88146
          authorised_value: ""
88147
          authtypecode: ""
88148
          value_builder: ""
88149
          isurl:
88150
          hidden: 4
88151
          frameworkcode: "HLD"
88152
          seealso: ""
88153
          link: ""
88154
          defaultvalue:
88155
88156
        - tagfield: "855"
88157
          tagsubfield: "m"
88158
          liblibrarian: "Alternative numbering scheme, chronology"
88159
          libopac: "Alternative numbering scheme, chronology"
88160
          repeatable: 0
88161
          mandatory: 0
88162
          kohafield: ""
88163
          tab: 8
88164
          authorised_value: ""
88165
          authtypecode: ""
88166
          value_builder: ""
88167
          isurl:
88168
          hidden: 4
88169
          frameworkcode: "HLD"
88170
          seealso: ""
88171
          link: ""
88172
          defaultvalue:
88173
88174
        - tagfield: "855"
88175
          tagsubfield: "n"
88176
          liblibrarian: "Pattern note"
88177
          libopac: "Pattern note"
88178
          repeatable: 0
88179
          mandatory: 0
88180
          kohafield: ""
88181
          tab: 8
88182
          authorised_value: ""
88183
          authtypecode: ""
88184
          value_builder: ""
88185
          isurl:
88186
          hidden: 4
88187
          frameworkcode: "HLD"
88188
          seealso: ""
88189
          link: ""
88190
          defaultvalue:
88191
88192
        - tagfield: "855"
88193
          tagsubfield: "p"
88194
          liblibrarian: "Number of pieces per issuance"
88195
          libopac: "Number of pieces per issuance"
88196
          repeatable: 0
88197
          mandatory: 0
88198
          kohafield: ""
88199
          tab: 8
88200
          authorised_value: ""
88201
          authtypecode: ""
88202
          value_builder: ""
88203
          isurl:
88204
          hidden: 4
88205
          frameworkcode: "HLD"
88206
          seealso: ""
88207
          link: ""
88208
          defaultvalue:
88209
88210
        - tagfield: "855"
88211
          tagsubfield: "t"
88212
          liblibrarian: "Copy"
88213
          libopac: "Copy"
88214
          repeatable: 0
88215
          mandatory: 0
88216
          kohafield: ""
88217
          tab: 8
88218
          authorised_value: ""
88219
          authtypecode: ""
88220
          value_builder: ""
88221
          isurl:
88222
          hidden: 4
88223
          frameworkcode: "HLD"
88224
          seealso: ""
88225
          link: ""
88226
          defaultvalue:
88227
88228
        - tagfield: "855"
88229
          tagsubfield: "u"
88230
          liblibrarian: "Bibliographic units per next higher level"
88231
          libopac: "Bibliographic units per next higher level"
88232
          repeatable: 1
88233
          mandatory: 0
88234
          kohafield: ""
88235
          tab: 8
88236
          authorised_value: ""
88237
          authtypecode: ""
88238
          value_builder: ""
88239
          isurl:
88240
          hidden: 4
88241
          frameworkcode: "HLD"
88242
          seealso: ""
88243
          link: ""
88244
          defaultvalue:
88245
88246
        - tagfield: "855"
88247
          tagsubfield: "v"
88248
          liblibrarian: "Numbering continuity"
88249
          libopac: "Numbering continuity"
88250
          repeatable: 1
88251
          mandatory: 0
88252
          kohafield: ""
88253
          tab: 8
88254
          authorised_value: ""
88255
          authtypecode: ""
88256
          value_builder: ""
88257
          isurl:
88258
          hidden: 4
88259
          frameworkcode: "HLD"
88260
          seealso: ""
88261
          link: ""
88262
          defaultvalue:
88263
88264
        - tagfield: "855"
88265
          tagsubfield: "w"
88266
          liblibrarian: "Frequency"
88267
          libopac: "Frequency"
88268
          repeatable: 0
88269
          mandatory: 0
88270
          kohafield: ""
88271
          tab: 8
88272
          authorised_value: ""
88273
          authtypecode: ""
88274
          value_builder: ""
88275
          isurl:
88276
          hidden: 4
88277
          frameworkcode: "HLD"
88278
          seealso: ""
88279
          link: ""
88280
          defaultvalue:
88281
88282
        - tagfield: "855"
88283
          tagsubfield: "x"
88284
          liblibrarian: "Calendar change"
88285
          libopac: "Calendar change"
88286
          repeatable: 0
88287
          mandatory: 0
88288
          kohafield: ""
88289
          tab: 8
88290
          authorised_value: ""
88291
          authtypecode: ""
88292
          value_builder: ""
88293
          isurl:
88294
          hidden: 4
88295
          frameworkcode: "HLD"
88296
          seealso: ""
88297
          link: ""
88298
          defaultvalue:
88299
88300
        - tagfield: "855"
88301
          tagsubfield: "y"
88302
          liblibrarian: "Regularity pattern"
88303
          libopac: "Regularity pattern"
88304
          repeatable: 1
88305
          mandatory: 0
88306
          kohafield: ""
88307
          tab: 8
88308
          authorised_value: ""
88309
          authtypecode: ""
88310
          value_builder: ""
88311
          isurl:
88312
          hidden: 4
88313
          frameworkcode: "HLD"
88314
          seealso: ""
88315
          link: ""
88316
          defaultvalue:
88317
88318
        - tagfield: "855"
88319
          tagsubfield: "z"
88320
          liblibrarian: "Numbering scheme"
88321
          libopac: "Numbering scheme"
88322
          repeatable: 1
88323
          mandatory: 0
88324
          kohafield: ""
88325
          tab: 8
88326
          authorised_value: ""
88327
          authtypecode: ""
88328
          value_builder: ""
88329
          isurl:
88330
          hidden: 4
88331
          frameworkcode: "HLD"
88332
          seealso: ""
88333
          link: ""
88334
          defaultvalue:
88335
88336
        - tagfield: "856"
88337
          tagsubfield: "2"
88338
          liblibrarian: "Access method"
88339
          libopac: "Access method"
88340
          repeatable: 0
88341
          mandatory: 0
88342
          kohafield: ""
88343
          tab: 8
88344
          authorised_value: ""
88345
          authtypecode: ""
88346
          value_builder: ""
88347
          isurl: 0
88348
          hidden: 5
88349
          frameworkcode: "HLD"
88350
          seealso: ""
88351
          link: ""
88352
          defaultvalue:
88353
88354
        - tagfield: "856"
88355
          tagsubfield: "3"
88356
          liblibrarian: "Materials specified"
88357
          libopac: "Materials specified"
88358
          repeatable: 0
88359
          mandatory: 0
88360
          kohafield: ""
88361
          tab: 8
88362
          authorised_value: ""
88363
          authtypecode: ""
88364
          value_builder: ""
88365
          isurl: 0
88366
          hidden: 5
88367
          frameworkcode: "HLD"
88368
          seealso: ""
88369
          link: ""
88370
          defaultvalue:
88371
88372
        - tagfield: "856"
88373
          tagsubfield: "6"
88374
          liblibrarian: "Linkage"
88375
          libopac: "Linkage"
88376
          repeatable: 0
88377
          mandatory: 0
88378
          kohafield: ""
88379
          tab: 8
88380
          authorised_value: ""
88381
          authtypecode: ""
88382
          value_builder: ""
88383
          isurl: 0
88384
          hidden: 5
88385
          frameworkcode: "HLD"
88386
          seealso: ""
88387
          link: ""
88388
          defaultvalue:
88389
88390
        - tagfield: "856"
88391
          tagsubfield: "7"
88392
          liblibrarian: "Access status"
88393
          libopac: "Access status"
88394
          repeatable: 0
88395
          mandatory: 0
88396
          kohafield: ""
88397
          tab: 8
88398
          authorised_value: ""
88399
          authtypecode: ""
88400
          value_builder: ""
88401
          isurl: 0
88402
          hidden: 5
88403
          frameworkcode: "HLD"
88404
          seealso: ""
88405
          link: ""
88406
          defaultvalue:
88407
88408
        - tagfield: "856"
88409
          tagsubfield: "8"
88410
          liblibrarian: "Field link and sequence number"
88411
          libopac: "Field link and sequence number"
88412
          repeatable: 1
88413
          mandatory: 0
88414
          kohafield: ""
88415
          tab: 8
88416
          authorised_value: ""
88417
          authtypecode: ""
88418
          value_builder: ""
88419
          isurl: 0
88420
          hidden: 5
88421
          frameworkcode: "HLD"
88422
          seealso: ""
88423
          link: ""
88424
          defaultvalue:
88425
88426
        - tagfield: "856"
88427
          tagsubfield: "a"
88428
          liblibrarian: "Host name"
88429
          libopac: "Host name"
88430
          repeatable: 1
88431
          mandatory: 0
88432
          kohafield: ""
88433
          tab: 8
88434
          authorised_value: ""
88435
          authtypecode: ""
88436
          value_builder: ""
88437
          isurl: 0
88438
          hidden: 4
88439
          frameworkcode: "HLD"
88440
          seealso: ""
88441
          link: ""
88442
          defaultvalue:
88443
88444
        - tagfield: "856"
88445
          tagsubfield: "b"
88446
          liblibrarian: "Access number"
88447
          libopac: "Access number"
88448
          repeatable: 1
88449
          mandatory: 0
88450
          kohafield: ""
88451
          tab: 8
88452
          authorised_value: ""
88453
          authtypecode: ""
88454
          value_builder: ""
88455
          isurl: 0
88456
          hidden: 4
88457
          frameworkcode: "HLD"
88458
          seealso: ""
88459
          link: ""
88460
          defaultvalue:
88461
88462
        - tagfield: "856"
88463
          tagsubfield: "c"
88464
          liblibrarian: "Compression information"
88465
          libopac: "Compression information"
88466
          repeatable: 1
88467
          mandatory: 0
88468
          kohafield: ""
88469
          tab: 8
88470
          authorised_value: ""
88471
          authtypecode: ""
88472
          value_builder: ""
88473
          isurl: 0
88474
          hidden: 4
88475
          frameworkcode: "HLD"
88476
          seealso: ""
88477
          link: ""
88478
          defaultvalue:
88479
88480
        - tagfield: "856"
88481
          tagsubfield: "d"
88482
          liblibrarian: "Path"
88483
          libopac: "Path"
88484
          repeatable: 1
88485
          mandatory: 0
88486
          kohafield: ""
88487
          tab: 8
88488
          authorised_value: ""
88489
          authtypecode: ""
88490
          value_builder: ""
88491
          isurl: 0
88492
          hidden: 4
88493
          frameworkcode: "HLD"
88494
          seealso: ""
88495
          link: ""
88496
          defaultvalue:
88497
88498
        - tagfield: "856"
88499
          tagsubfield: "f"
88500
          liblibrarian: "Electronic name"
88501
          libopac: "Electronic name"
88502
          repeatable: 1
88503
          mandatory: 0
88504
          kohafield: ""
88505
          tab: 8
88506
          authorised_value: ""
88507
          authtypecode: ""
88508
          value_builder: ""
88509
          isurl: 0
88510
          hidden: 4
88511
          frameworkcode: "HLD"
88512
          seealso: ""
88513
          link: ""
88514
          defaultvalue:
88515
88516
        - tagfield: "856"
88517
          tagsubfield: "h"
88518
          liblibrarian: "Processor of request"
88519
          libopac: "Processor of request"
88520
          repeatable: 0
88521
          mandatory: 0
88522
          kohafield: ""
88523
          tab: 8
88524
          authorised_value: ""
88525
          authtypecode: ""
88526
          value_builder: ""
88527
          isurl: 0
88528
          hidden: 4
88529
          frameworkcode: "HLD"
88530
          seealso: ""
88531
          link: ""
88532
          defaultvalue:
88533
88534
        - tagfield: "856"
88535
          tagsubfield: "i"
88536
          liblibrarian: "Instruction"
88537
          libopac: "Instruction"
88538
          repeatable: 1
88539
          mandatory: 0
88540
          kohafield: ""
88541
          tab: 8
88542
          authorised_value: ""
88543
          authtypecode: ""
88544
          value_builder: ""
88545
          isurl: 0
88546
          hidden: 4
88547
          frameworkcode: "HLD"
88548
          seealso: ""
88549
          link: ""
88550
          defaultvalue:
88551
88552
        - tagfield: "856"
88553
          tagsubfield: "j"
88554
          liblibrarian: "Bits per second"
88555
          libopac: "Bits per second"
88556
          repeatable: 0
88557
          mandatory: 0
88558
          kohafield: ""
88559
          tab: 8
88560
          authorised_value: ""
88561
          authtypecode: ""
88562
          value_builder: ""
88563
          isurl: 0
88564
          hidden: 4
88565
          frameworkcode: "HLD"
88566
          seealso: ""
88567
          link: ""
88568
          defaultvalue:
88569
88570
        - tagfield: "856"
88571
          tagsubfield: "k"
88572
          liblibrarian: "Password"
88573
          libopac: "Password"
88574
          repeatable: 0
88575
          mandatory: 0
88576
          kohafield: ""
88577
          tab: 8
88578
          authorised_value: ""
88579
          authtypecode: ""
88580
          value_builder: ""
88581
          isurl: 0
88582
          hidden: 4
88583
          frameworkcode: "HLD"
88584
          seealso: ""
88585
          link: ""
88586
          defaultvalue:
88587
88588
        - tagfield: "856"
88589
          tagsubfield: "l"
88590
          liblibrarian: "Logon"
88591
          libopac: "Logon"
88592
          repeatable: 0
88593
          mandatory: 0
88594
          kohafield: ""
88595
          tab: 8
88596
          authorised_value: ""
88597
          authtypecode: ""
88598
          value_builder: ""
88599
          isurl: 0
88600
          hidden: 4
88601
          frameworkcode: "HLD"
88602
          seealso: ""
88603
          link: ""
88604
          defaultvalue:
88605
88606
        - tagfield: "856"
88607
          tagsubfield: "m"
88608
          liblibrarian: "Contact for access assistance"
88609
          libopac: "Contact for access assistance"
88610
          repeatable: 1
88611
          mandatory: 0
88612
          kohafield: ""
88613
          tab: 8
88614
          authorised_value: ""
88615
          authtypecode: ""
88616
          value_builder: ""
88617
          isurl: 0
88618
          hidden: 4
88619
          frameworkcode: "HLD"
88620
          seealso: ""
88621
          link: ""
88622
          defaultvalue:
88623
88624
        - tagfield: "856"
88625
          tagsubfield: "n"
88626
          liblibrarian: "Name of location of host"
88627
          libopac: "Name of location of host"
88628
          repeatable: 0
88629
          mandatory: 0
88630
          kohafield: ""
88631
          tab: 8
88632
          authorised_value: ""
88633
          authtypecode: ""
88634
          value_builder: ""
88635
          isurl: 0
88636
          hidden: 4
88637
          frameworkcode: "HLD"
88638
          seealso: ""
88639
          link: ""
88640
          defaultvalue:
88641
88642
        - tagfield: "856"
88643
          tagsubfield: "o"
88644
          liblibrarian: "Operating system"
88645
          libopac: "Operating system"
88646
          repeatable: 0
88647
          mandatory: 0
88648
          kohafield: ""
88649
          tab: 8
88650
          authorised_value: ""
88651
          authtypecode: ""
88652
          value_builder: ""
88653
          isurl: 0
88654
          hidden: 4
88655
          frameworkcode: "HLD"
88656
          seealso: ""
88657
          link: ""
88658
          defaultvalue:
88659
88660
        - tagfield: "856"
88661
          tagsubfield: "p"
88662
          liblibrarian: "Port"
88663
          libopac: "Port"
88664
          repeatable: 0
88665
          mandatory: 0
88666
          kohafield: ""
88667
          tab: 8
88668
          authorised_value: ""
88669
          authtypecode: ""
88670
          value_builder: ""
88671
          isurl: 0
88672
          hidden: 4
88673
          frameworkcode: "HLD"
88674
          seealso: ""
88675
          link: ""
88676
          defaultvalue:
88677
88678
        - tagfield: "856"
88679
          tagsubfield: "q"
88680
          liblibrarian: "Electronic format type"
88681
          libopac: "Electronic format type"
88682
          repeatable: 0
88683
          mandatory: 0
88684
          kohafield: ""
88685
          tab: 8
88686
          authorised_value: ""
88687
          authtypecode: ""
88688
          value_builder: ""
88689
          isurl: 0
88690
          hidden: 4
88691
          frameworkcode: "HLD"
88692
          seealso: ""
88693
          link: ""
88694
          defaultvalue:
88695
88696
        - tagfield: "856"
88697
          tagsubfield: "r"
88698
          liblibrarian: "Settings"
88699
          libopac: "Settings"
88700
          repeatable: 0
88701
          mandatory: 0
88702
          kohafield: ""
88703
          tab: 8
88704
          authorised_value: ""
88705
          authtypecode: ""
88706
          value_builder: ""
88707
          isurl: 0
88708
          hidden: 4
88709
          frameworkcode: "HLD"
88710
          seealso: ""
88711
          link: ""
88712
          defaultvalue:
88713
88714
        - tagfield: "856"
88715
          tagsubfield: "s"
88716
          liblibrarian: "File size"
88717
          libopac: "File size"
88718
          repeatable: 1
88719
          mandatory: 0
88720
          kohafield: ""
88721
          tab: 8
88722
          authorised_value: ""
88723
          authtypecode: ""
88724
          value_builder: ""
88725
          isurl: 0
88726
          hidden: 4
88727
          frameworkcode: "HLD"
88728
          seealso: ""
88729
          link: ""
88730
          defaultvalue:
88731
88732
        - tagfield: "856"
88733
          tagsubfield: "t"
88734
          liblibrarian: "Terminal emulation"
88735
          libopac: "Terminal emulation"
88736
          repeatable: 1
88737
          mandatory: 0
88738
          kohafield: ""
88739
          tab: 8
88740
          authorised_value: ""
88741
          authtypecode: ""
88742
          value_builder: ""
88743
          isurl: 0
88744
          hidden: 4
88745
          frameworkcode: "HLD"
88746
          seealso: ""
88747
          link: ""
88748
          defaultvalue:
88749
88750
        - tagfield: "856"
88751
          tagsubfield: "u"
88752
          liblibrarian: "Uniform Resource Identifier"
88753
          libopac: "Uniform Resource Identifier"
88754
          repeatable: 1
88755
          mandatory: 0
88756
          kohafield: ""
88757
          tab: 8
88758
          authorised_value: ""
88759
          authtypecode: ""
88760
          value_builder: ""
88761
          isurl: 1
88762
          hidden: 4
88763
          frameworkcode: "HLD"
88764
          seealso: ""
88765
          link: ""
88766
          defaultvalue:
88767
88768
        - tagfield: "856"
88769
          tagsubfield: "v"
88770
          liblibrarian: "Hours access method available"
88771
          libopac: "Hours access method available"
88772
          repeatable: 1
88773
          mandatory: 0
88774
          kohafield: ""
88775
          tab: 8
88776
          authorised_value: ""
88777
          authtypecode: ""
88778
          value_builder: ""
88779
          isurl: 0
88780
          hidden: 4
88781
          frameworkcode: "HLD"
88782
          seealso: ""
88783
          link: ""
88784
          defaultvalue:
88785
88786
        - tagfield: "856"
88787
          tagsubfield: "w"
88788
          liblibrarian: "Record control number"
88789
          libopac: "Record control number"
88790
          repeatable: 1
88791
          mandatory: 0
88792
          kohafield: ""
88793
          tab: 8
88794
          authorised_value: ""
88795
          authtypecode: ""
88796
          value_builder: ""
88797
          isurl: 0
88798
          hidden: 4
88799
          frameworkcode: "HLD"
88800
          seealso: ""
88801
          link: ""
88802
          defaultvalue:
88803
88804
        - tagfield: "856"
88805
          tagsubfield: "x"
88806
          liblibrarian: "Nonpublic note"
88807
          libopac: "Nonpublic note"
88808
          repeatable: 1
88809
          mandatory: 0
88810
          kohafield: ""
88811
          tab: 8
88812
          authorised_value: ""
88813
          authtypecode: ""
88814
          value_builder: ""
88815
          isurl: 0
88816
          hidden: 4
88817
          frameworkcode: "HLD"
88818
          seealso: ""
88819
          link: ""
88820
          defaultvalue:
88821
88822
        - tagfield: "856"
88823
          tagsubfield: "y"
88824
          liblibrarian: "Link text"
88825
          libopac: "Link text"
88826
          repeatable: 1
88827
          mandatory: 0
88828
          kohafield: ""
88829
          tab: 8
88830
          authorised_value: ""
88831
          authtypecode: ""
88832
          value_builder: ""
88833
          isurl: 0
88834
          hidden: 4
88835
          frameworkcode: "HLD"
88836
          seealso: ""
88837
          link: ""
88838
          defaultvalue:
88839
88840
        - tagfield: "856"
88841
          tagsubfield: "z"
88842
          liblibrarian: "Public note"
88843
          libopac: "Public note"
88844
          repeatable: 1
88845
          mandatory: 0
88846
          kohafield: ""
88847
          tab: 8
88848
          authorised_value: ""
88849
          authtypecode: ""
88850
          value_builder: ""
88851
          isurl: 0
88852
          hidden: 4
88853
          frameworkcode: "HLD"
88854
          seealso: ""
88855
          link: ""
88856
          defaultvalue:
88857
88858
        - tagfield: "863"
88859
          tagsubfield: "6"
88860
          liblibrarian: "Linkage"
88861
          libopac: "Linkage"
88862
          repeatable: 0
88863
          mandatory: 0
88864
          kohafield: ""
88865
          tab: 8
88866
          authorised_value: ""
88867
          authtypecode: ""
88868
          value_builder: ""
88869
          isurl:
88870
          hidden: 5
88871
          frameworkcode: "HLD"
88872
          seealso: ""
88873
          link: ""
88874
          defaultvalue:
88875
88876
        - tagfield: "863"
88877
          tagsubfield: "8"
88878
          liblibrarian: "Field link and sequence number"
88879
          libopac: "Field link and sequence number"
88880
          repeatable: 0
88881
          mandatory: 0
88882
          kohafield: ""
88883
          tab: 8
88884
          authorised_value: ""
88885
          authtypecode: ""
88886
          value_builder: ""
88887
          isurl:
88888
          hidden: 5
88889
          frameworkcode: "HLD"
88890
          seealso: ""
88891
          link: ""
88892
          defaultvalue:
88893
88894
        - tagfield: "863"
88895
          tagsubfield: "a"
88896
          liblibrarian: "First level of enumeration"
88897
          libopac: "First level of enumeration"
88898
          repeatable: 0
88899
          mandatory: 0
88900
          kohafield: "holdings.summary"
88901
          tab: 8
88902
          authorised_value: ""
88903
          authtypecode: ""
88904
          value_builder: ""
88905
          isurl: 0
88906
          hidden: 4
88907
          frameworkcode: "HLD"
88908
          seealso: ""
88909
          link: ""
88910
          defaultvalue:
88911
88912
        - tagfield: "863"
88913
          tagsubfield: "b"
88914
          liblibrarian: "Second level of enumeration"
88915
          libopac: "Second level of enumeration"
88916
          repeatable: 0
88917
          mandatory: 0
88918
          kohafield: "holdings.summary"
88919
          tab: 8
88920
          authorised_value: ""
88921
          authtypecode: ""
88922
          value_builder: ""
88923
          isurl: 0
88924
          hidden: 4
88925
          frameworkcode: "HLD"
88926
          seealso: ""
88927
          link: ""
88928
          defaultvalue:
88929
88930
        - tagfield: "863"
88931
          tagsubfield: "c"
88932
          liblibrarian: "Third level of enumeration"
88933
          libopac: "Third level of enumeration"
88934
          repeatable: 0
88935
          mandatory: 0
88936
          kohafield: ""
88937
          tab: 8
88938
          authorised_value: ""
88939
          authtypecode: ""
88940
          value_builder: ""
88941
          isurl: 0
88942
          hidden: 4
88943
          frameworkcode: "HLD"
88944
          seealso: ""
88945
          link: ""
88946
          defaultvalue:
88947
88948
        - tagfield: "863"
88949
          tagsubfield: "d"
88950
          liblibrarian: "Fourth level of enumeration"
88951
          libopac: "Fourth level of enumeration"
88952
          repeatable: 0
88953
          mandatory: 0
88954
          kohafield: ""
88955
          tab: 8
88956
          authorised_value: ""
88957
          authtypecode: ""
88958
          value_builder: ""
88959
          isurl: 0
88960
          hidden: 4
88961
          frameworkcode: "HLD"
88962
          seealso: ""
88963
          link: ""
88964
          defaultvalue:
88965
88966
        - tagfield: "863"
88967
          tagsubfield: "e"
88968
          liblibrarian: "Fifth level of enumeration"
88969
          libopac: "Fifth level of enumeration"
88970
          repeatable: 0
88971
          mandatory: 0
88972
          kohafield: ""
88973
          tab: 8
88974
          authorised_value: ""
88975
          authtypecode: ""
88976
          value_builder: ""
88977
          isurl: 0
88978
          hidden: 4
88979
          frameworkcode: "HLD"
88980
          seealso: ""
88981
          link: ""
88982
          defaultvalue:
88983
88984
        - tagfield: "863"
88985
          tagsubfield: "f"
88986
          liblibrarian: "Sixth level of enumeration"
88987
          libopac: "Sixth level of enumeration"
88988
          repeatable: 0
88989
          mandatory: 0
88990
          kohafield: ""
88991
          tab: 8
88992
          authorised_value: ""
88993
          authtypecode: ""
88994
          value_builder: ""
88995
          isurl: 0
88996
          hidden: 4
88997
          frameworkcode: "HLD"
88998
          seealso: ""
88999
          link: ""
89000
          defaultvalue:
89001
89002
        - tagfield: "863"
89003
          tagsubfield: "g"
89004
          liblibrarian: "Alternative numbering scheme, first level of enumeration"
89005
          libopac: "Alternative numbering scheme, first level of enumeration"
89006
          repeatable: 0
89007
          mandatory: 0
89008
          kohafield: ""
89009
          tab: 8
89010
          authorised_value: ""
89011
          authtypecode: ""
89012
          value_builder: ""
89013
          isurl: 0
89014
          hidden: 4
89015
          frameworkcode: "HLD"
89016
          seealso: ""
89017
          link: ""
89018
          defaultvalue:
89019
89020
        - tagfield: "863"
89021
          tagsubfield: "h"
89022
          liblibrarian: "Alternative numbering scheme, second level of enumeration"
89023
          libopac: "Alternative numbering scheme, second level of enumeration"
89024
          repeatable: 0
89025
          mandatory: 0
89026
          kohafield: ""
89027
          tab: 8
89028
          authorised_value: ""
89029
          authtypecode: ""
89030
          value_builder: ""
89031
          isurl: 0
89032
          hidden: 4
89033
          frameworkcode: "HLD"
89034
          seealso: ""
89035
          link: ""
89036
          defaultvalue:
89037
89038
        - tagfield: "863"
89039
          tagsubfield: "i"
89040
          liblibrarian: "First level of chronology"
89041
          libopac: "First level of chronology"
89042
          repeatable: 0
89043
          mandatory: 0
89044
          kohafield: "holdings.summary"
89045
          tab: 8
89046
          authorised_value: ""
89047
          authtypecode: ""
89048
          value_builder: ""
89049
          isurl: 0
89050
          hidden: 4
89051
          frameworkcode: "HLD"
89052
          seealso: ""
89053
          link: ""
89054
          defaultvalue:
89055
89056
        - tagfield: "863"
89057
          tagsubfield: "j"
89058
          liblibrarian: "Second level of chronology"
89059
          libopac: "Second level of chronology"
89060
          repeatable: 0
89061
          mandatory: 0
89062
          kohafield: ""
89063
          tab: 8
89064
          authorised_value: ""
89065
          authtypecode: ""
89066
          value_builder: ""
89067
          isurl: 0
89068
          hidden: 4
89069
          frameworkcode: "HLD"
89070
          seealso: ""
89071
          link: ""
89072
          defaultvalue:
89073
89074
        - tagfield: "863"
89075
          tagsubfield: "k"
89076
          liblibrarian: "Third level of chronology"
89077
          libopac: "Third level of chronology"
89078
          repeatable: 0
89079
          mandatory: 0
89080
          kohafield: ""
89081
          tab: 8
89082
          authorised_value: ""
89083
          authtypecode: ""
89084
          value_builder: ""
89085
          isurl: 0
89086
          hidden: 4
89087
          frameworkcode: "HLD"
89088
          seealso: ""
89089
          link: ""
89090
          defaultvalue:
89091
89092
        - tagfield: "863"
89093
          tagsubfield: "l"
89094
          liblibrarian: "Fourth level of chronology"
89095
          libopac: "Fourth level of chronology"
89096
          repeatable: 0
89097
          mandatory: 0
89098
          kohafield: ""
89099
          tab: 8
89100
          authorised_value: ""
89101
          authtypecode: ""
89102
          value_builder: ""
89103
          isurl: 0
89104
          hidden: 4
89105
          frameworkcode: "HLD"
89106
          seealso: ""
89107
          link: ""
89108
          defaultvalue:
89109
89110
        - tagfield: "863"
89111
          tagsubfield: "m"
89112
          liblibrarian: "Alternative numbering scheme, chronology"
89113
          libopac: "Alternative numbering scheme, chronology"
89114
          repeatable: 0
89115
          mandatory: 0
89116
          kohafield: ""
89117
          tab: 8
89118
          authorised_value: ""
89119
          authtypecode: ""
89120
          value_builder: ""
89121
          isurl: 0
89122
          hidden: 4
89123
          frameworkcode: "HLD"
89124
          seealso: ""
89125
          link: ""
89126
          defaultvalue:
89127
89128
        - tagfield: "863"
89129
          tagsubfield: "n"
89130
          liblibrarian: "Converted Gregorian year"
89131
          libopac: "Converted Gregorian year"
89132
          repeatable: 0
89133
          mandatory: 0
89134
          kohafield: ""
89135
          tab: 8
89136
          authorised_value: ""
89137
          authtypecode: ""
89138
          value_builder: ""
89139
          isurl: 0
89140
          hidden: 4
89141
          frameworkcode: "HLD"
89142
          seealso: ""
89143
          link: ""
89144
          defaultvalue:
89145
89146
        - tagfield: "863"
89147
          tagsubfield: "o"
89148
          liblibrarian: "Type of unit"
89149
          libopac: "Type of unit"
89150
          repeatable: 1
89151
          mandatory: 0
89152
          kohafield: ""
89153
          tab: 8
89154
          authorised_value: ""
89155
          authtypecode: ""
89156
          value_builder: ""
89157
          isurl: 0
89158
          hidden: 4
89159
          frameworkcode: "HLD"
89160
          seealso: ""
89161
          link: ""
89162
          defaultvalue:
89163
89164
        - tagfield: "863"
89165
          tagsubfield: "p"
89166
          liblibrarian: "Piece designation"
89167
          libopac: "Piece designation"
89168
          repeatable: 0
89169
          mandatory: 0
89170
          kohafield: ""
89171
          tab: 8
89172
          authorised_value: ""
89173
          authtypecode: ""
89174
          value_builder: ""
89175
          isurl: 0
89176
          hidden: 4
89177
          frameworkcode: "HLD"
89178
          seealso: ""
89179
          link: ""
89180
          defaultvalue:
89181
89182
        - tagfield: "863"
89183
          tagsubfield: "q"
89184
          liblibrarian: "Piece physical condition"
89185
          libopac: "Piece physical condition"
89186
          repeatable: 0
89187
          mandatory: 0
89188
          kohafield: ""
89189
          tab: 8
89190
          authorised_value: ""
89191
          authtypecode: ""
89192
          value_builder: ""
89193
          isurl: 0
89194
          hidden: 4
89195
          frameworkcode: "HLD"
89196
          seealso: ""
89197
          link: ""
89198
          defaultvalue:
89199
89200
        - tagfield: "863"
89201
          tagsubfield: "s"
89202
          liblibrarian: "Copyright article-fee code"
89203
          libopac: "Copyright article-fee code"
89204
          repeatable: 1
89205
          mandatory: 0
89206
          kohafield: ""
89207
          tab: 8
89208
          authorised_value: ""
89209
          authtypecode: ""
89210
          value_builder: ""
89211
          isurl: 0
89212
          hidden: 4
89213
          frameworkcode: "HLD"
89214
          seealso: ""
89215
          link: ""
89216
          defaultvalue:
89217
89218
        - tagfield: "863"
89219
          tagsubfield: "t"
89220
          liblibrarian: "Copy number"
89221
          libopac: "Copy number"
89222
          repeatable: 0
89223
          mandatory: 0
89224
          kohafield: ""
89225
          tab: 8
89226
          authorised_value: ""
89227
          authtypecode: ""
89228
          value_builder: ""
89229
          isurl: 0
89230
          hidden: 4
89231
          frameworkcode: "HLD"
89232
          seealso: ""
89233
          link: ""
89234
          defaultvalue:
89235
89236
        - tagfield: "863"
89237
          tagsubfield: "v"
89238
          liblibrarian: "Issuing date"
89239
          libopac: "Issuing date"
89240
          repeatable: 1
89241
          mandatory: 0
89242
          kohafield: ""
89243
          tab: 8
89244
          authorised_value: ""
89245
          authtypecode: ""
89246
          value_builder: ""
89247
          isurl: 0
89248
          hidden: 4
89249
          frameworkcode: "HLD"
89250
          seealso: ""
89251
          link: ""
89252
          defaultvalue:
89253
89254
        - tagfield: "863"
89255
          tagsubfield: "w"
89256
          liblibrarian: "Break indicator"
89257
          libopac: "Break indicator"
89258
          repeatable: 0
89259
          mandatory: 0
89260
          kohafield: ""
89261
          tab: 8
89262
          authorised_value: ""
89263
          authtypecode: ""
89264
          value_builder: ""
89265
          isurl: 0
89266
          hidden: 4
89267
          frameworkcode: "HLD"
89268
          seealso: ""
89269
          link: ""
89270
          defaultvalue:
89271
89272
        - tagfield: "863"
89273
          tagsubfield: "x"
89274
          liblibrarian: "Nonpublic note"
89275
          libopac: "Nonpublic note"
89276
          repeatable: 1
89277
          mandatory: 0
89278
          kohafield: ""
89279
          tab: 8
89280
          authorised_value: ""
89281
          authtypecode: ""
89282
          value_builder: ""
89283
          isurl: 0
89284
          hidden: 4
89285
          frameworkcode: "HLD"
89286
          seealso: ""
89287
          link: ""
89288
          defaultvalue:
89289
89290
        - tagfield: "863"
89291
          tagsubfield: "z"
89292
          liblibrarian: "Public note"
89293
          libopac: "Public note"
89294
          repeatable: 1
89295
          mandatory: 0
89296
          kohafield: "holdings.summary"
89297
          tab: 8
89298
          authorised_value: ""
89299
          authtypecode: ""
89300
          value_builder: ""
89301
          isurl: 0
89302
          hidden: 4
89303
          frameworkcode: "HLD"
89304
          seealso: ""
89305
          link: ""
89306
          defaultvalue:
89307
89308
        - tagfield: "864"
89309
          tagsubfield: "6"
89310
          liblibrarian: "Linkage"
89311
          libopac: "Linkage"
89312
          repeatable: 0
89313
          mandatory: 0
89314
          kohafield: ""
89315
          tab: 8
89316
          authorised_value: ""
89317
          authtypecode: ""
89318
          value_builder: ""
89319
          isurl:
89320
          hidden: 5
89321
          frameworkcode: "HLD"
89322
          seealso: ""
89323
          link: ""
89324
          defaultvalue:
89325
89326
        - tagfield: "864"
89327
          tagsubfield: "8"
89328
          liblibrarian: "Field link and sequence number"
89329
          libopac: "Field link and sequence number"
89330
          repeatable: 0
89331
          mandatory: 0
89332
          kohafield: ""
89333
          tab: 8
89334
          authorised_value: ""
89335
          authtypecode: ""
89336
          value_builder: ""
89337
          isurl:
89338
          hidden: 5
89339
          frameworkcode: "HLD"
89340
          seealso: ""
89341
          link: ""
89342
          defaultvalue:
89343
89344
        - tagfield: "864"
89345
          tagsubfield: "a"
89346
          liblibrarian: "First level of enumeration"
89347
          libopac: "First level of enumeration"
89348
          repeatable: 0
89349
          mandatory: 0
89350
          kohafield: ""
89351
          tab: 8
89352
          authorised_value: ""
89353
          authtypecode: ""
89354
          value_builder: ""
89355
          isurl: 0
89356
          hidden: 4
89357
          frameworkcode: "HLD"
89358
          seealso: ""
89359
          link: ""
89360
          defaultvalue:
89361
89362
        - tagfield: "864"
89363
          tagsubfield: "b"
89364
          liblibrarian: "Second level of enumeration"
89365
          libopac: "Second level of enumeration"
89366
          repeatable: 0
89367
          mandatory: 0
89368
          kohafield: ""
89369
          tab: 8
89370
          authorised_value: ""
89371
          authtypecode: ""
89372
          value_builder: ""
89373
          isurl: 0
89374
          hidden: 4
89375
          frameworkcode: "HLD"
89376
          seealso: ""
89377
          link: ""
89378
          defaultvalue:
89379
89380
        - tagfield: "864"
89381
          tagsubfield: "c"
89382
          liblibrarian: "Third level of enumeration"
89383
          libopac: "Third level of enumeration"
89384
          repeatable: 0
89385
          mandatory: 0
89386
          kohafield: ""
89387
          tab: 8
89388
          authorised_value: ""
89389
          authtypecode: ""
89390
          value_builder: ""
89391
          isurl: 0
89392
          hidden: 4
89393
          frameworkcode: "HLD"
89394
          seealso: ""
89395
          link: ""
89396
          defaultvalue:
89397
89398
        - tagfield: "864"
89399
          tagsubfield: "d"
89400
          liblibrarian: "Fourth level of enumeration"
89401
          libopac: "Fourth level of enumeration"
89402
          repeatable: 0
89403
          mandatory: 0
89404
          kohafield: ""
89405
          tab: 8
89406
          authorised_value: ""
89407
          authtypecode: ""
89408
          value_builder: ""
89409
          isurl: 0
89410
          hidden: 4
89411
          frameworkcode: "HLD"
89412
          seealso: ""
89413
          link: ""
89414
          defaultvalue:
89415
89416
        - tagfield: "864"
89417
          tagsubfield: "e"
89418
          liblibrarian: "Fifth level of enumeration"
89419
          libopac: "Fifth level of enumeration"
89420
          repeatable: 0
89421
          mandatory: 0
89422
          kohafield: ""
89423
          tab: 8
89424
          authorised_value: ""
89425
          authtypecode: ""
89426
          value_builder: ""
89427
          isurl: 0
89428
          hidden: 4
89429
          frameworkcode: "HLD"
89430
          seealso: ""
89431
          link: ""
89432
          defaultvalue:
89433
89434
        - tagfield: "864"
89435
          tagsubfield: "f"
89436
          liblibrarian: "Sixth level of enumeration"
89437
          libopac: "Sixth level of enumeration"
89438
          repeatable: 0
89439
          mandatory: 0
89440
          kohafield: ""
89441
          tab: 8
89442
          authorised_value: ""
89443
          authtypecode: ""
89444
          value_builder: ""
89445
          isurl: 0
89446
          hidden: 4
89447
          frameworkcode: "HLD"
89448
          seealso: ""
89449
          link: ""
89450
          defaultvalue:
89451
89452
        - tagfield: "864"
89453
          tagsubfield: "g"
89454
          liblibrarian: "Alternative numbering scheme, first level of enumeration"
89455
          libopac: "Alternative numbering scheme, first level of enumeration"
89456
          repeatable: 0
89457
          mandatory: 0
89458
          kohafield: ""
89459
          tab: 8
89460
          authorised_value: ""
89461
          authtypecode: ""
89462
          value_builder: ""
89463
          isurl: 0
89464
          hidden: 4
89465
          frameworkcode: "HLD"
89466
          seealso: ""
89467
          link: ""
89468
          defaultvalue:
89469
89470
        - tagfield: "864"
89471
          tagsubfield: "h"
89472
          liblibrarian: "Alternative numbering scheme, second level of enumeration"
89473
          libopac: "Alternative numbering scheme, second level of enumeration"
89474
          repeatable: 0
89475
          mandatory: 0
89476
          kohafield: ""
89477
          tab: 8
89478
          authorised_value: ""
89479
          authtypecode: ""
89480
          value_builder: ""
89481
          isurl: 0
89482
          hidden: 4
89483
          frameworkcode: "HLD"
89484
          seealso: ""
89485
          link: ""
89486
          defaultvalue:
89487
89488
        - tagfield: "864"
89489
          tagsubfield: "i"
89490
          liblibrarian: "First level of chronology"
89491
          libopac: "First level of chronology"
89492
          repeatable: 0
89493
          mandatory: 0
89494
          kohafield: ""
89495
          tab: 8
89496
          authorised_value: ""
89497
          authtypecode: ""
89498
          value_builder: ""
89499
          isurl: 0
89500
          hidden: 4
89501
          frameworkcode: "HLD"
89502
          seealso: ""
89503
          link: ""
89504
          defaultvalue:
89505
89506
        - tagfield: "864"
89507
          tagsubfield: "j"
89508
          liblibrarian: "Second level of chronology"
89509
          libopac: "Second level of chronology"
89510
          repeatable: 0
89511
          mandatory: 0
89512
          kohafield: ""
89513
          tab: 8
89514
          authorised_value: ""
89515
          authtypecode: ""
89516
          value_builder: ""
89517
          isurl: 0
89518
          hidden: 4
89519
          frameworkcode: "HLD"
89520
          seealso: ""
89521
          link: ""
89522
          defaultvalue:
89523
89524
        - tagfield: "864"
89525
          tagsubfield: "k"
89526
          liblibrarian: "Third level of chronology"
89527
          libopac: "Third level of chronology"
89528
          repeatable: 0
89529
          mandatory: 0
89530
          kohafield: ""
89531
          tab: 8
89532
          authorised_value: ""
89533
          authtypecode: ""
89534
          value_builder: ""
89535
          isurl: 0
89536
          hidden: 4
89537
          frameworkcode: "HLD"
89538
          seealso: ""
89539
          link: ""
89540
          defaultvalue:
89541
89542
        - tagfield: "864"
89543
          tagsubfield: "l"
89544
          liblibrarian: "Fourth level of chronology"
89545
          libopac: "Fourth level of chronology"
89546
          repeatable: 0
89547
          mandatory: 0
89548
          kohafield: ""
89549
          tab: 8
89550
          authorised_value: ""
89551
          authtypecode: ""
89552
          value_builder: ""
89553
          isurl: 0
89554
          hidden: 4
89555
          frameworkcode: "HLD"
89556
          seealso: ""
89557
          link: ""
89558
          defaultvalue:
89559
89560
        - tagfield: "864"
89561
          tagsubfield: "m"
89562
          liblibrarian: "Alternative numbering scheme, chronology"
89563
          libopac: "Alternative numbering scheme, chronology"
89564
          repeatable: 0
89565
          mandatory: 0
89566
          kohafield: ""
89567
          tab: 8
89568
          authorised_value: ""
89569
          authtypecode: ""
89570
          value_builder: ""
89571
          isurl: 0
89572
          hidden: 4
89573
          frameworkcode: "HLD"
89574
          seealso: ""
89575
          link: ""
89576
          defaultvalue:
89577
89578
        - tagfield: "864"
89579
          tagsubfield: "n"
89580
          liblibrarian: "Converted Gregorian year"
89581
          libopac: "Converted Gregorian year"
89582
          repeatable: 0
89583
          mandatory: 0
89584
          kohafield: ""
89585
          tab: 8
89586
          authorised_value: ""
89587
          authtypecode: ""
89588
          value_builder: ""
89589
          isurl: 0
89590
          hidden: 4
89591
          frameworkcode: "HLD"
89592
          seealso: ""
89593
          link: ""
89594
          defaultvalue:
89595
89596
        - tagfield: "864"
89597
          tagsubfield: "o"
89598
          liblibrarian: "Type of unit"
89599
          libopac: "Type of unit"
89600
          repeatable: 1
89601
          mandatory: 0
89602
          kohafield: ""
89603
          tab: 8
89604
          authorised_value: ""
89605
          authtypecode: ""
89606
          value_builder: ""
89607
          isurl: 0
89608
          hidden: 4
89609
          frameworkcode: "HLD"
89610
          seealso: ""
89611
          link: ""
89612
          defaultvalue:
89613
89614
        - tagfield: "864"
89615
          tagsubfield: "p"
89616
          liblibrarian: "Piece designation"
89617
          libopac: "Piece designation"
89618
          repeatable: 0
89619
          mandatory: 0
89620
          kohafield: ""
89621
          tab: 8
89622
          authorised_value: ""
89623
          authtypecode: ""
89624
          value_builder: ""
89625
          isurl: 0
89626
          hidden: 4
89627
          frameworkcode: "HLD"
89628
          seealso: ""
89629
          link: ""
89630
          defaultvalue:
89631
89632
        - tagfield: "864"
89633
          tagsubfield: "q"
89634
          liblibrarian: "Piece physical condition"
89635
          libopac: "Piece physical condition"
89636
          repeatable: 0
89637
          mandatory: 0
89638
          kohafield: ""
89639
          tab: 8
89640
          authorised_value: ""
89641
          authtypecode: ""
89642
          value_builder: ""
89643
          isurl: 0
89644
          hidden: 4
89645
          frameworkcode: "HLD"
89646
          seealso: ""
89647
          link: ""
89648
          defaultvalue:
89649
89650
        - tagfield: "864"
89651
          tagsubfield: "s"
89652
          liblibrarian: "Copyright article-fee code"
89653
          libopac: "Copyright article-fee code"
89654
          repeatable: 1
89655
          mandatory: 0
89656
          kohafield: ""
89657
          tab: 8
89658
          authorised_value: ""
89659
          authtypecode: ""
89660
          value_builder: ""
89661
          isurl: 0
89662
          hidden: 4
89663
          frameworkcode: "HLD"
89664
          seealso: ""
89665
          link: ""
89666
          defaultvalue:
89667
89668
        - tagfield: "864"
89669
          tagsubfield: "t"
89670
          liblibrarian: "Copy number"
89671
          libopac: "Copy number"
89672
          repeatable: 0
89673
          mandatory: 0
89674
          kohafield: ""
89675
          tab: 8
89676
          authorised_value: ""
89677
          authtypecode: ""
89678
          value_builder: ""
89679
          isurl: 0
89680
          hidden: 4
89681
          frameworkcode: "HLD"
89682
          seealso: ""
89683
          link: ""
89684
          defaultvalue:
89685
89686
        - tagfield: "864"
89687
          tagsubfield: "v"
89688
          liblibrarian: "Issuing date"
89689
          libopac: "Issuing date"
89690
          repeatable: 1
89691
          mandatory: 0
89692
          kohafield: ""
89693
          tab: 8
89694
          authorised_value: ""
89695
          authtypecode: ""
89696
          value_builder: ""
89697
          isurl: 0
89698
          hidden: 4
89699
          frameworkcode: "HLD"
89700
          seealso: ""
89701
          link: ""
89702
          defaultvalue:
89703
89704
        - tagfield: "864"
89705
          tagsubfield: "w"
89706
          liblibrarian: "Break indicator"
89707
          libopac: "Break indicator"
89708
          repeatable: 0
89709
          mandatory: 0
89710
          kohafield: ""
89711
          tab: 8
89712
          authorised_value: ""
89713
          authtypecode: ""
89714
          value_builder: ""
89715
          isurl: 0
89716
          hidden: 4
89717
          frameworkcode: "HLD"
89718
          seealso: ""
89719
          link: ""
89720
          defaultvalue:
89721
89722
        - tagfield: "864"
89723
          tagsubfield: "x"
89724
          liblibrarian: "Nonpublic note"
89725
          libopac: "Nonpublic note"
89726
          repeatable: 1
89727
          mandatory: 0
89728
          kohafield: ""
89729
          tab: 8
89730
          authorised_value: ""
89731
          authtypecode: ""
89732
          value_builder: ""
89733
          isurl: 0
89734
          hidden: 4
89735
          frameworkcode: "HLD"
89736
          seealso: ""
89737
          link: ""
89738
          defaultvalue:
89739
89740
        - tagfield: "864"
89741
          tagsubfield: "z"
89742
          liblibrarian: "Public note"
89743
          libopac: "Public note"
89744
          repeatable: 1
89745
          mandatory: 0
89746
          kohafield: ""
89747
          tab: 8
89748
          authorised_value: ""
89749
          authtypecode: ""
89750
          value_builder: ""
89751
          isurl: 0
89752
          hidden: 4
89753
          frameworkcode: "HLD"
89754
          seealso: ""
89755
          link: ""
89756
          defaultvalue:
89757
89758
        - tagfield: "865"
89759
          tagsubfield: "6"
89760
          liblibrarian: "Linkage"
89761
          libopac: "Linkage"
89762
          repeatable: 0
89763
          mandatory: 0
89764
          kohafield: ""
89765
          tab: 8
89766
          authorised_value: ""
89767
          authtypecode: ""
89768
          value_builder: ""
89769
          isurl:
89770
          hidden: 5
89771
          frameworkcode: "HLD"
89772
          seealso: ""
89773
          link: ""
89774
          defaultvalue:
89775
89776
        - tagfield: "865"
89777
          tagsubfield: "8"
89778
          liblibrarian: "Field link and sequence number"
89779
          libopac: "Field link and sequence number"
89780
          repeatable: 0
89781
          mandatory: 0
89782
          kohafield: ""
89783
          tab: 8
89784
          authorised_value: ""
89785
          authtypecode: ""
89786
          value_builder: ""
89787
          isurl:
89788
          hidden: 5
89789
          frameworkcode: "HLD"
89790
          seealso: ""
89791
          link: ""
89792
          defaultvalue:
89793
89794
        - tagfield: "865"
89795
          tagsubfield: "a"
89796
          liblibrarian: "First level of enumeration"
89797
          libopac: "First level of enumeration"
89798
          repeatable: 0
89799
          mandatory: 0
89800
          kohafield: ""
89801
          tab: 8
89802
          authorised_value: ""
89803
          authtypecode: ""
89804
          value_builder: ""
89805
          isurl: 0
89806
          hidden: 4
89807
          frameworkcode: "HLD"
89808
          seealso: ""
89809
          link: ""
89810
          defaultvalue:
89811
89812
        - tagfield: "865"
89813
          tagsubfield: "b"
89814
          liblibrarian: "Second level of enumeration"
89815
          libopac: "Second level of enumeration"
89816
          repeatable: 0
89817
          mandatory: 0
89818
          kohafield: ""
89819
          tab: 8
89820
          authorised_value: ""
89821
          authtypecode: ""
89822
          value_builder: ""
89823
          isurl: 0
89824
          hidden: 4
89825
          frameworkcode: "HLD"
89826
          seealso: ""
89827
          link: ""
89828
          defaultvalue:
89829
89830
        - tagfield: "865"
89831
          tagsubfield: "c"
89832
          liblibrarian: "Third level of enumeration"
89833
          libopac: "Third level of enumeration"
89834
          repeatable: 0
89835
          mandatory: 0
89836
          kohafield: ""
89837
          tab: 8
89838
          authorised_value: ""
89839
          authtypecode: ""
89840
          value_builder: ""
89841
          isurl: 0
89842
          hidden: 4
89843
          frameworkcode: "HLD"
89844
          seealso: ""
89845
          link: ""
89846
          defaultvalue:
89847
89848
        - tagfield: "865"
89849
          tagsubfield: "d"
89850
          liblibrarian: "Fourth level of enumeration"
89851
          libopac: "Fourth level of enumeration"
89852
          repeatable: 0
89853
          mandatory: 0
89854
          kohafield: ""
89855
          tab: 8
89856
          authorised_value: ""
89857
          authtypecode: ""
89858
          value_builder: ""
89859
          isurl: 0
89860
          hidden: 4
89861
          frameworkcode: "HLD"
89862
          seealso: ""
89863
          link: ""
89864
          defaultvalue:
89865
89866
        - tagfield: "865"
89867
          tagsubfield: "e"
89868
          liblibrarian: "Fifth level of enumeration"
89869
          libopac: "Fifth level of enumeration"
89870
          repeatable: 0
89871
          mandatory: 0
89872
          kohafield: ""
89873
          tab: 8
89874
          authorised_value: ""
89875
          authtypecode: ""
89876
          value_builder: ""
89877
          isurl: 0
89878
          hidden: 4
89879
          frameworkcode: "HLD"
89880
          seealso: ""
89881
          link: ""
89882
          defaultvalue:
89883
89884
        - tagfield: "865"
89885
          tagsubfield: "f"
89886
          liblibrarian: "Sixth level of enumeration"
89887
          libopac: "Sixth level of enumeration"
89888
          repeatable: 0
89889
          mandatory: 0
89890
          kohafield: ""
89891
          tab: 8
89892
          authorised_value: ""
89893
          authtypecode: ""
89894
          value_builder: ""
89895
          isurl: 0
89896
          hidden: 4
89897
          frameworkcode: "HLD"
89898
          seealso: ""
89899
          link: ""
89900
          defaultvalue:
89901
89902
        - tagfield: "865"
89903
          tagsubfield: "g"
89904
          liblibrarian: "Alternative numbering scheme, first level of enumeration"
89905
          libopac: "Alternative numbering scheme, first level of enumeration"
89906
          repeatable: 0
89907
          mandatory: 0
89908
          kohafield: ""
89909
          tab: 8
89910
          authorised_value: ""
89911
          authtypecode: ""
89912
          value_builder: ""
89913
          isurl: 0
89914
          hidden: 4
89915
          frameworkcode: "HLD"
89916
          seealso: ""
89917
          link: ""
89918
          defaultvalue:
89919
89920
        - tagfield: "865"
89921
          tagsubfield: "h"
89922
          liblibrarian: "Alternative numbering scheme, second level of enumeration"
89923
          libopac: "Alternative numbering scheme, second level of enumeration"
89924
          repeatable: 0
89925
          mandatory: 0
89926
          kohafield: ""
89927
          tab: 8
89928
          authorised_value: ""
89929
          authtypecode: ""
89930
          value_builder: ""
89931
          isurl: 0
89932
          hidden: 4
89933
          frameworkcode: "HLD"
89934
          seealso: ""
89935
          link: ""
89936
          defaultvalue:
89937
89938
        - tagfield: "865"
89939
          tagsubfield: "i"
89940
          liblibrarian: "First level of chronology"
89941
          libopac: "First level of chronology"
89942
          repeatable: 0
89943
          mandatory: 0
89944
          kohafield: ""
89945
          tab: 8
89946
          authorised_value: ""
89947
          authtypecode: ""
89948
          value_builder: ""
89949
          isurl: 0
89950
          hidden: 4
89951
          frameworkcode: "HLD"
89952
          seealso: ""
89953
          link: ""
89954
          defaultvalue:
89955
89956
        - tagfield: "865"
89957
          tagsubfield: "j"
89958
          liblibrarian: "Second level of chronology"
89959
          libopac: "Second level of chronology"
89960
          repeatable: 0
89961
          mandatory: 0
89962
          kohafield: ""
89963
          tab: 8
89964
          authorised_value: ""
89965
          authtypecode: ""
89966
          value_builder: ""
89967
          isurl: 0
89968
          hidden: 4
89969
          frameworkcode: "HLD"
89970
          seealso: ""
89971
          link: ""
89972
          defaultvalue:
89973
89974
        - tagfield: "865"
89975
          tagsubfield: "k"
89976
          liblibrarian: "Third level of chronology"
89977
          libopac: "Third level of chronology"
89978
          repeatable: 0
89979
          mandatory: 0
89980
          kohafield: ""
89981
          tab: 8
89982
          authorised_value: ""
89983
          authtypecode: ""
89984
          value_builder: ""
89985
          isurl: 0
89986
          hidden: 4
89987
          frameworkcode: "HLD"
89988
          seealso: ""
89989
          link: ""
89990
          defaultvalue:
89991
89992
        - tagfield: "865"
89993
          tagsubfield: "l"
89994
          liblibrarian: "Fourth level of chronology"
89995
          libopac: "Fourth level of chronology"
89996
          repeatable: 0
89997
          mandatory: 0
89998
          kohafield: ""
89999
          tab: 8
90000
          authorised_value: ""
90001
          authtypecode: ""
90002
          value_builder: ""
90003
          isurl: 0
90004
          hidden: 4
90005
          frameworkcode: "HLD"
90006
          seealso: ""
90007
          link: ""
90008
          defaultvalue:
90009
90010
        - tagfield: "865"
90011
          tagsubfield: "m"
90012
          liblibrarian: "Alternative numbering scheme, chronology"
90013
          libopac: "Alternative numbering scheme, chronology"
90014
          repeatable: 0
90015
          mandatory: 0
90016
          kohafield: ""
90017
          tab: 8
90018
          authorised_value: ""
90019
          authtypecode: ""
90020
          value_builder: ""
90021
          isurl: 0
90022
          hidden: 4
90023
          frameworkcode: "HLD"
90024
          seealso: ""
90025
          link: ""
90026
          defaultvalue:
90027
90028
        - tagfield: "865"
90029
          tagsubfield: "n"
90030
          liblibrarian: "Converted Gregorian year"
90031
          libopac: "Converted Gregorian year"
90032
          repeatable: 0
90033
          mandatory: 0
90034
          kohafield: ""
90035
          tab: 8
90036
          authorised_value: ""
90037
          authtypecode: ""
90038
          value_builder: ""
90039
          isurl: 0
90040
          hidden: 4
90041
          frameworkcode: "HLD"
90042
          seealso: ""
90043
          link: ""
90044
          defaultvalue:
90045
90046
        - tagfield: "865"
90047
          tagsubfield: "o"
90048
          liblibrarian: "Type of unit"
90049
          libopac: "Type of unit"
90050
          repeatable: 1
90051
          mandatory: 0
90052
          kohafield: ""
90053
          tab: 8
90054
          authorised_value: ""
90055
          authtypecode: ""
90056
          value_builder: ""
90057
          isurl: 0
90058
          hidden: 4
90059
          frameworkcode: "HLD"
90060
          seealso: ""
90061
          link: ""
90062
          defaultvalue:
90063
90064
        - tagfield: "865"
90065
          tagsubfield: "p"
90066
          liblibrarian: "Piece designation"
90067
          libopac: "Piece designation"
90068
          repeatable: 0
90069
          mandatory: 0
90070
          kohafield: ""
90071
          tab: 8
90072
          authorised_value: ""
90073
          authtypecode: ""
90074
          value_builder: ""
90075
          isurl: 0
90076
          hidden: 4
90077
          frameworkcode: "HLD"
90078
          seealso: ""
90079
          link: ""
90080
          defaultvalue:
90081
90082
        - tagfield: "865"
90083
          tagsubfield: "q"
90084
          liblibrarian: "Piece physical condition"
90085
          libopac: "Piece physical condition"
90086
          repeatable: 0
90087
          mandatory: 0
90088
          kohafield: ""
90089
          tab: 8
90090
          authorised_value: ""
90091
          authtypecode: ""
90092
          value_builder: ""
90093
          isurl: 0
90094
          hidden: 4
90095
          frameworkcode: "HLD"
90096
          seealso: ""
90097
          link: ""
90098
          defaultvalue:
90099
90100
        - tagfield: "865"
90101
          tagsubfield: "s"
90102
          liblibrarian: "Copyright article-fee code"
90103
          libopac: "Copyright article-fee code"
90104
          repeatable: 1
90105
          mandatory: 0
90106
          kohafield: ""
90107
          tab: 8
90108
          authorised_value: ""
90109
          authtypecode: ""
90110
          value_builder: ""
90111
          isurl: 0
90112
          hidden: 4
90113
          frameworkcode: "HLD"
90114
          seealso: ""
90115
          link: ""
90116
          defaultvalue:
90117
90118
        - tagfield: "865"
90119
          tagsubfield: "t"
90120
          liblibrarian: "Copy number"
90121
          libopac: "Copy number"
90122
          repeatable: 0
90123
          mandatory: 0
90124
          kohafield: ""
90125
          tab: 8
90126
          authorised_value: ""
90127
          authtypecode: ""
90128
          value_builder: ""
90129
          isurl: 0
90130
          hidden: 4
90131
          frameworkcode: "HLD"
90132
          seealso: ""
90133
          link: ""
90134
          defaultvalue:
90135
90136
        - tagfield: "865"
90137
          tagsubfield: "v"
90138
          liblibrarian: "Issuing date"
90139
          libopac: "Issuing date"
90140
          repeatable: 1
90141
          mandatory: 0
90142
          kohafield: ""
90143
          tab: 8
90144
          authorised_value: ""
90145
          authtypecode: ""
90146
          value_builder: ""
90147
          isurl: 0
90148
          hidden: 4
90149
          frameworkcode: "HLD"
90150
          seealso: ""
90151
          link: ""
90152
          defaultvalue:
90153
90154
        - tagfield: "865"
90155
          tagsubfield: "w"
90156
          liblibrarian: "Break indicator"
90157
          libopac: "Break indicator"
90158
          repeatable: 0
90159
          mandatory: 0
90160
          kohafield: ""
90161
          tab: 8
90162
          authorised_value: ""
90163
          authtypecode: ""
90164
          value_builder: ""
90165
          isurl: 0
90166
          hidden: 4
90167
          frameworkcode: "HLD"
90168
          seealso: ""
90169
          link: ""
90170
          defaultvalue:
90171
90172
        - tagfield: "865"
90173
          tagsubfield: "x"
90174
          liblibrarian: "Nonpublic note"
90175
          libopac: "Nonpublic note"
90176
          repeatable: 1
90177
          mandatory: 0
90178
          kohafield: ""
90179
          tab: 8
90180
          authorised_value: ""
90181
          authtypecode: ""
90182
          value_builder: ""
90183
          isurl: 0
90184
          hidden: 4
90185
          frameworkcode: "HLD"
90186
          seealso: ""
90187
          link: ""
90188
          defaultvalue:
90189
90190
        - tagfield: "865"
90191
          tagsubfield: "z"
90192
          liblibrarian: "Public note"
90193
          libopac: "Public note"
90194
          repeatable: 1
90195
          mandatory: 0
90196
          kohafield: ""
90197
          tab: 8
90198
          authorised_value: ""
90199
          authtypecode: ""
90200
          value_builder: ""
90201
          isurl: 0
90202
          hidden: 4
90203
          frameworkcode: "HLD"
90204
          seealso: ""
90205
          link: ""
90206
          defaultvalue:
90207
90208
        - tagfield: "866"
90209
          tagsubfield: "6"
90210
          liblibrarian: "Linkage"
90211
          libopac: "Linkage"
90212
          repeatable: 0
90213
          mandatory: 0
90214
          kohafield: ""
90215
          tab: 8
90216
          authorised_value: ""
90217
          authtypecode: ""
90218
          value_builder: ""
90219
          isurl:
90220
          hidden: 5
90221
          frameworkcode: "HLD"
90222
          seealso: ""
90223
          link: ""
90224
          defaultvalue:
90225
90226
        - tagfield: "866"
90227
          tagsubfield: "8"
90228
          liblibrarian: "Field link and sequence number"
90229
          libopac: "Field link and sequence number"
90230
          repeatable: 1
90231
          mandatory: 0
90232
          kohafield: ""
90233
          tab: 8
90234
          authorised_value: ""
90235
          authtypecode: ""
90236
          value_builder: ""
90237
          isurl:
90238
          hidden: 5
90239
          frameworkcode: "HLD"
90240
          seealso: ""
90241
          link: ""
90242
          defaultvalue:
90243
90244
        - tagfield: "866"
90245
          tagsubfield: "a"
90246
          liblibrarian: "Textual string"
90247
          libopac: "Textual string"
90248
          repeatable: 0
90249
          mandatory: 0
90250
          kohafield: ""
90251
          tab: 8
90252
          authorised_value: ""
90253
          authtypecode: ""
90254
          value_builder: ""
90255
          isurl: 0
90256
          hidden: 4
90257
          frameworkcode: "HLD"
90258
          seealso: ""
90259
          link: ""
90260
          defaultvalue:
90261
90262
        - tagfield: "866"
90263
          tagsubfield: "x"
90264
          liblibrarian: "Nonpublic note"
90265
          libopac: "Nonpublic note"
90266
          repeatable: 1
90267
          mandatory: 0
90268
          kohafield: ""
90269
          tab: 8
90270
          authorised_value: ""
90271
          authtypecode: ""
90272
          value_builder: ""
90273
          isurl: 0
90274
          hidden: 4
90275
          frameworkcode: "HLD"
90276
          seealso: ""
90277
          link: ""
90278
          defaultvalue:
90279
90280
        - tagfield: "866"
90281
          tagsubfield: "z"
90282
          liblibrarian: "Public note"
90283
          libopac: "Public note"
90284
          repeatable: 1
90285
          mandatory: 0
90286
          kohafield: ""
90287
          tab: 8
90288
          authorised_value: ""
90289
          authtypecode: ""
90290
          value_builder: ""
90291
          isurl: 0
90292
          hidden: 4
90293
          frameworkcode: "HLD"
90294
          seealso: ""
90295
          link: ""
90296
          defaultvalue:
90297
90298
        - tagfield: "867"
90299
          tagsubfield: "6"
90300
          liblibrarian: "Linkage"
90301
          libopac: "Linkage"
90302
          repeatable: 0
90303
          mandatory: 0
90304
          kohafield: ""
90305
          tab: 8
90306
          authorised_value: ""
90307
          authtypecode: ""
90308
          value_builder: ""
90309
          isurl:
90310
          hidden: 5
90311
          frameworkcode: "HLD"
90312
          seealso: ""
90313
          link: ""
90314
          defaultvalue:
90315
90316
        - tagfield: "867"
90317
          tagsubfield: "8"
90318
          liblibrarian: "Field link and sequence number"
90319
          libopac: "Field link and sequence number"
90320
          repeatable: 1
90321
          mandatory: 0
90322
          kohafield: ""
90323
          tab: 8
90324
          authorised_value: ""
90325
          authtypecode: ""
90326
          value_builder: ""
90327
          isurl:
90328
          hidden: 5
90329
          frameworkcode: "HLD"
90330
          seealso: ""
90331
          link: ""
90332
          defaultvalue:
90333
90334
        - tagfield: "867"
90335
          tagsubfield: "a"
90336
          liblibrarian: "Textual string"
90337
          libopac: "Textual string"
90338
          repeatable: 0
90339
          mandatory: 0
90340
          kohafield: "holdings.supplements"
90341
          tab: 8
90342
          authorised_value: ""
90343
          authtypecode: ""
90344
          value_builder: ""
90345
          isurl: 0
90346
          hidden: 4
90347
          frameworkcode: "HLD"
90348
          seealso: ""
90349
          link: ""
90350
          defaultvalue:
90351
90352
        - tagfield: "867"
90353
          tagsubfield: "x"
90354
          liblibrarian: "Nonpublic note"
90355
          libopac: "Nonpublic note"
90356
          repeatable: 1
90357
          mandatory: 0
90358
          kohafield: ""
90359
          tab: 8
90360
          authorised_value: ""
90361
          authtypecode: ""
90362
          value_builder: ""
90363
          isurl: 0
90364
          hidden: 4
90365
          frameworkcode: "HLD"
90366
          seealso: ""
90367
          link: ""
90368
          defaultvalue:
90369
90370
        - tagfield: "867"
90371
          tagsubfield: "z"
90372
          liblibrarian: "Public note"
90373
          libopac: "Public note"
90374
          repeatable: 1
90375
          mandatory: 0
90376
          kohafield: "holdings.supplements"
90377
          tab: 8
90378
          authorised_value: ""
90379
          authtypecode: ""
90380
          value_builder: ""
90381
          isurl: 0
90382
          hidden: 4
90383
          frameworkcode: "HLD"
90384
          seealso: ""
90385
          link: ""
90386
          defaultvalue:
90387
90388
        - tagfield: "868"
90389
          tagsubfield: "6"
90390
          liblibrarian: "Linkage"
90391
          libopac: "Linkage"
90392
          repeatable: 0
90393
          mandatory: 0
90394
          kohafield: ""
90395
          tab: 8
90396
          authorised_value: ""
90397
          authtypecode: ""
90398
          value_builder: ""
90399
          isurl:
90400
          hidden: 5
90401
          frameworkcode: "HLD"
90402
          seealso: ""
90403
          link: ""
90404
          defaultvalue:
90405
90406
        - tagfield: "868"
90407
          tagsubfield: "8"
90408
          liblibrarian: "Field link and sequence number"
90409
          libopac: "Field link and sequence number"
90410
          repeatable: 1
90411
          mandatory: 0
90412
          kohafield: ""
90413
          tab: 8
90414
          authorised_value: ""
90415
          authtypecode: ""
90416
          value_builder: ""
90417
          isurl:
90418
          hidden: 5
90419
          frameworkcode: "HLD"
90420
          seealso: ""
90421
          link: ""
90422
          defaultvalue:
90423
90424
        - tagfield: "868"
90425
          tagsubfield: "a"
90426
          liblibrarian: "Textual string"
90427
          libopac: "Textual string"
90428
          repeatable: 0
90429
          mandatory: 0
90430
          kohafield: "holdings.indexes"
90431
          tab: 8
90432
          authorised_value: ""
90433
          authtypecode: ""
90434
          value_builder: ""
90435
          isurl: 0
90436
          hidden: 4
90437
          frameworkcode: "HLD"
90438
          seealso: ""
90439
          link: ""
90440
          defaultvalue:
90441
90442
        - tagfield: "868"
90443
          tagsubfield: "x"
90444
          liblibrarian: "Nonpublic note"
90445
          libopac: "Nonpublic note"
90446
          repeatable: 1
90447
          mandatory: 0
90448
          kohafield: ""
90449
          tab: 8
90450
          authorised_value: ""
90451
          authtypecode: ""
90452
          value_builder: ""
90453
          isurl: 0
90454
          hidden: 4
90455
          frameworkcode: "HLD"
90456
          seealso: ""
90457
          link: ""
90458
          defaultvalue:
90459
90460
        - tagfield: "868"
90461
          tagsubfield: "z"
90462
          liblibrarian: "Public note"
90463
          libopac: "Public note"
90464
          repeatable: 1
90465
          mandatory: 0
90466
          kohafield: "holdings.indexes"
90467
          tab: 8
90468
          authorised_value: ""
90469
          authtypecode: ""
90470
          value_builder: ""
90471
          isurl: 0
90472
          hidden: 4
90473
          frameworkcode: "HLD"
90474
          seealso: ""
90475
          link: ""
90476
          defaultvalue:
90477
90478
        - tagfield: "876"
90479
          tagsubfield: "3"
90480
          liblibrarian: "Materials specified"
90481
          libopac: "Materials specified"
90482
          repeatable: 0
90483
          mandatory: 0
90484
          kohafield: ""
90485
          tab: 8
90486
          authorised_value: ""
90487
          authtypecode: ""
90488
          value_builder: ""
90489
          isurl:
90490
          hidden: 5
90491
          frameworkcode: "HLD"
90492
          seealso: ""
90493
          link: ""
90494
          defaultvalue:
90495
90496
        - tagfield: "876"
90497
          tagsubfield: "6"
90498
          liblibrarian: "Linkage"
90499
          libopac: "Linkage"
90500
          repeatable: 0
90501
          mandatory: 0
90502
          kohafield: ""
90503
          tab: 8
90504
          authorised_value: ""
90505
          authtypecode: ""
90506
          value_builder: ""
90507
          isurl:
90508
          hidden: 5
90509
          frameworkcode: "HLD"
90510
          seealso: ""
90511
          link: ""
90512
          defaultvalue:
90513
90514
        - tagfield: "876"
90515
          tagsubfield: "8"
90516
          liblibrarian: "Sequence number"
90517
          libopac: "Sequence number"
90518
          repeatable: 1
90519
          mandatory: 0
90520
          kohafield: ""
90521
          tab: 8
90522
          authorised_value: ""
90523
          authtypecode: ""
90524
          value_builder: ""
90525
          isurl:
90526
          hidden: 5
90527
          frameworkcode: "HLD"
90528
          seealso: ""
90529
          link: ""
90530
          defaultvalue:
90531
90532
        - tagfield: "876"
90533
          tagsubfield: "a"
90534
          liblibrarian: "Internal item number"
90535
          libopac: "Internal item number"
90536
          repeatable: 0
90537
          mandatory: 0
90538
          kohafield: ""
90539
          tab: 8
90540
          authorised_value: ""
90541
          authtypecode: ""
90542
          value_builder: ""
90543
          isurl:
90544
          hidden: 5
90545
          frameworkcode: "HLD"
90546
          seealso: ""
90547
          link: ""
90548
          defaultvalue:
90549
90550
        - tagfield: "876"
90551
          tagsubfield: "b"
90552
          liblibrarian: "Invalid or canceled internal item number"
90553
          libopac: "Invalid or canceled internal item number"
90554
          repeatable: 1
90555
          mandatory: 0
90556
          kohafield: ""
90557
          tab: 8
90558
          authorised_value: ""
90559
          authtypecode: ""
90560
          value_builder: ""
90561
          isurl:
90562
          hidden: 5
90563
          frameworkcode: "HLD"
90564
          seealso: ""
90565
          link: ""
90566
          defaultvalue:
90567
90568
        - tagfield: "876"
90569
          tagsubfield: "c"
90570
          liblibrarian: "Cost"
90571
          libopac: "Cost"
90572
          repeatable: 1
90573
          mandatory: 0
90574
          kohafield: ""
90575
          tab: 8
90576
          authorised_value: ""
90577
          authtypecode: ""
90578
          value_builder: ""
90579
          isurl:
90580
          hidden: 5
90581
          frameworkcode: "HLD"
90582
          seealso: ""
90583
          link: ""
90584
          defaultvalue:
90585
90586
        - tagfield: "876"
90587
          tagsubfield: "d"
90588
          liblibrarian: "Date acquired"
90589
          libopac: "Date acquired"
90590
          repeatable: 1
90591
          mandatory: 0
90592
          kohafield: ""
90593
          tab: 8
90594
          authorised_value: ""
90595
          authtypecode: ""
90596
          value_builder: ""
90597
          isurl:
90598
          hidden: 5
90599
          frameworkcode: "HLD"
90600
          seealso: ""
90601
          link: ""
90602
          defaultvalue:
90603
90604
        - tagfield: "876"
90605
          tagsubfield: "e"
90606
          liblibrarian: "Source of acquisition"
90607
          libopac: "Source of acquisition"
90608
          repeatable: 1
90609
          mandatory: 0
90610
          kohafield: ""
90611
          tab: 8
90612
          authorised_value: ""
90613
          authtypecode: ""
90614
          value_builder: ""
90615
          isurl:
90616
          hidden: 5
90617
          frameworkcode: "HLD"
90618
          seealso: ""
90619
          link: ""
90620
          defaultvalue:
90621
90622
        - tagfield: "876"
90623
          tagsubfield: "h"
90624
          liblibrarian: "Use restrictions"
90625
          libopac: "Use restrictions"
90626
          repeatable: 1
90627
          mandatory: 0
90628
          kohafield: ""
90629
          tab: 8
90630
          authorised_value: ""
90631
          authtypecode: ""
90632
          value_builder: ""
90633
          isurl:
90634
          hidden: 5
90635
          frameworkcode: "HLD"
90636
          seealso: ""
90637
          link: ""
90638
          defaultvalue:
90639
90640
        - tagfield: "876"
90641
          tagsubfield: "j"
90642
          liblibrarian: "Item status"
90643
          libopac: "Item status"
90644
          repeatable: 1
90645
          mandatory: 0
90646
          kohafield: ""
90647
          tab: 8
90648
          authorised_value: ""
90649
          authtypecode: ""
90650
          value_builder: ""
90651
          isurl:
90652
          hidden: 5
90653
          frameworkcode: "HLD"
90654
          seealso: ""
90655
          link: ""
90656
          defaultvalue:
90657
90658
        - tagfield: "876"
90659
          tagsubfield: "l"
90660
          liblibrarian: "Temporary location"
90661
          libopac: "Temporary location"
90662
          repeatable: 1
90663
          mandatory: 0
90664
          kohafield: ""
90665
          tab: 8
90666
          authorised_value: ""
90667
          authtypecode: ""
90668
          value_builder: ""
90669
          isurl:
90670
          hidden: 5
90671
          frameworkcode: "HLD"
90672
          seealso: ""
90673
          link: ""
90674
          defaultvalue:
90675
90676
        - tagfield: "876"
90677
          tagsubfield: "p"
90678
          liblibrarian: "Piece designation"
90679
          libopac: "Piece designation"
90680
          repeatable: 1
90681
          mandatory: 0
90682
          kohafield: ""
90683
          tab: 8
90684
          authorised_value: ""
90685
          authtypecode: ""
90686
          value_builder: ""
90687
          isurl:
90688
          hidden: 5
90689
          frameworkcode: "HLD"
90690
          seealso: ""
90691
          link: ""
90692
          defaultvalue:
90693
90694
        - tagfield: "876"
90695
          tagsubfield: "r"
90696
          liblibrarian: "Invalid or canceled piece designation"
90697
          libopac: "Invalid or canceled piece designation"
90698
          repeatable: 1
90699
          mandatory: 0
90700
          kohafield: ""
90701
          tab: 8
90702
          authorised_value: ""
90703
          authtypecode: ""
90704
          value_builder: ""
90705
          isurl:
90706
          hidden: 5
90707
          frameworkcode: "HLD"
90708
          seealso: ""
90709
          link: ""
90710
          defaultvalue:
90711
90712
        - tagfield: "876"
90713
          tagsubfield: "t"
90714
          liblibrarian: "Copy number"
90715
          libopac: "Copy number"
90716
          repeatable: 0
90717
          mandatory: 0
90718
          kohafield: ""
90719
          tab: 8
90720
          authorised_value: ""
90721
          authtypecode: ""
90722
          value_builder: ""
90723
          isurl:
90724
          hidden: 5
90725
          frameworkcode: "HLD"
90726
          seealso: ""
90727
          link: ""
90728
          defaultvalue:
90729
90730
        - tagfield: "876"
90731
          tagsubfield: "x"
90732
          liblibrarian: "Nonpublic note"
90733
          libopac: "Nonpublic note"
90734
          repeatable: 1
90735
          mandatory: 0
90736
          kohafield: ""
90737
          tab: 8
90738
          authorised_value: ""
90739
          authtypecode: ""
90740
          value_builder: ""
90741
          isurl:
90742
          hidden: 5
90743
          frameworkcode: "HLD"
90744
          seealso: ""
90745
          link: ""
90746
          defaultvalue:
90747
90748
        - tagfield: "876"
90749
          tagsubfield: "z"
90750
          liblibrarian: "Public note"
90751
          libopac: "Public note"
90752
          repeatable: 1
90753
          mandatory: 0
90754
          kohafield: ""
90755
          tab: 8
90756
          authorised_value: ""
90757
          authtypecode: ""
90758
          value_builder: ""
90759
          isurl:
90760
          hidden: 5
90761
          frameworkcode: "HLD"
90762
          seealso: ""
90763
          link: ""
90764
          defaultvalue:
90765
90766
        - tagfield: "877"
90767
          tagsubfield: "3"
90768
          liblibrarian: "Materials specified"
90769
          libopac: "Materials specified"
90770
          repeatable: 0
90771
          mandatory: 0
90772
          kohafield: ""
90773
          tab: 8
90774
          authorised_value: ""
90775
          authtypecode: ""
90776
          value_builder: ""
90777
          isurl:
90778
          hidden: 5
90779
          frameworkcode: "HLD"
90780
          seealso: ""
90781
          link: ""
90782
          defaultvalue:
90783
90784
        - tagfield: "877"
90785
          tagsubfield: "6"
90786
          liblibrarian: "Linkage"
90787
          libopac: "Linkage"
90788
          repeatable: 0
90789
          mandatory: 0
90790
          kohafield: ""
90791
          tab: 8
90792
          authorised_value: ""
90793
          authtypecode: ""
90794
          value_builder: ""
90795
          isurl:
90796
          hidden: 5
90797
          frameworkcode: "HLD"
90798
          seealso: ""
90799
          link: ""
90800
          defaultvalue:
90801
90802
        - tagfield: "877"
90803
          tagsubfield: "8"
90804
          liblibrarian: "Sequence number"
90805
          libopac: "Sequence number"
90806
          repeatable: 1
90807
          mandatory: 0
90808
          kohafield: ""
90809
          tab: 8
90810
          authorised_value: ""
90811
          authtypecode: ""
90812
          value_builder: ""
90813
          isurl:
90814
          hidden: 5
90815
          frameworkcode: "HLD"
90816
          seealso: ""
90817
          link: ""
90818
          defaultvalue:
90819
90820
        - tagfield: "877"
90821
          tagsubfield: "a"
90822
          liblibrarian: "Internal item number"
90823
          libopac: "Internal item number"
90824
          repeatable: 0
90825
          mandatory: 0
90826
          kohafield: ""
90827
          tab: 8
90828
          authorised_value: ""
90829
          authtypecode: ""
90830
          value_builder: ""
90831
          isurl:
90832
          hidden: 5
90833
          frameworkcode: "HLD"
90834
          seealso: ""
90835
          link: ""
90836
          defaultvalue:
90837
90838
        - tagfield: "877"
90839
          tagsubfield: "b"
90840
          liblibrarian: "Invalid or canceled internal item number"
90841
          libopac: "Invalid or canceled internal item number"
90842
          repeatable: 1
90843
          mandatory: 0
90844
          kohafield: ""
90845
          tab: 8
90846
          authorised_value: ""
90847
          authtypecode: ""
90848
          value_builder: ""
90849
          isurl:
90850
          hidden: 5
90851
          frameworkcode: "HLD"
90852
          seealso: ""
90853
          link: ""
90854
          defaultvalue:
90855
90856
        - tagfield: "877"
90857
          tagsubfield: "c"
90858
          liblibrarian: "Cost"
90859
          libopac: "Cost"
90860
          repeatable: 1
90861
          mandatory: 0
90862
          kohafield: ""
90863
          tab: 8
90864
          authorised_value: ""
90865
          authtypecode: ""
90866
          value_builder: ""
90867
          isurl:
90868
          hidden: 5
90869
          frameworkcode: "HLD"
90870
          seealso: ""
90871
          link: ""
90872
          defaultvalue:
90873
90874
        - tagfield: "877"
90875
          tagsubfield: "d"
90876
          liblibrarian: "Date acquired"
90877
          libopac: "Date acquired"
90878
          repeatable: 1
90879
          mandatory: 0
90880
          kohafield: ""
90881
          tab: 8
90882
          authorised_value: ""
90883
          authtypecode: ""
90884
          value_builder: ""
90885
          isurl:
90886
          hidden: 5
90887
          frameworkcode: "HLD"
90888
          seealso: ""
90889
          link: ""
90890
          defaultvalue:
90891
90892
        - tagfield: "877"
90893
          tagsubfield: "e"
90894
          liblibrarian: "Source of acquisition"
90895
          libopac: "Source of acquisition"
90896
          repeatable: 1
90897
          mandatory: 0
90898
          kohafield: ""
90899
          tab: 8
90900
          authorised_value: ""
90901
          authtypecode: ""
90902
          value_builder: ""
90903
          isurl:
90904
          hidden: 5
90905
          frameworkcode: "HLD"
90906
          seealso: ""
90907
          link: ""
90908
          defaultvalue:
90909
90910
        - tagfield: "877"
90911
          tagsubfield: "h"
90912
          liblibrarian: "Use restrictions"
90913
          libopac: "Use restrictions"
90914
          repeatable: 1
90915
          mandatory: 0
90916
          kohafield: ""
90917
          tab: 8
90918
          authorised_value: ""
90919
          authtypecode: ""
90920
          value_builder: ""
90921
          isurl:
90922
          hidden: 5
90923
          frameworkcode: "HLD"
90924
          seealso: ""
90925
          link: ""
90926
          defaultvalue:
90927
90928
        - tagfield: "877"
90929
          tagsubfield: "j"
90930
          liblibrarian: "Item status"
90931
          libopac: "Item status"
90932
          repeatable: 1
90933
          mandatory: 0
90934
          kohafield: ""
90935
          tab: 8
90936
          authorised_value: ""
90937
          authtypecode: ""
90938
          value_builder: ""
90939
          isurl:
90940
          hidden: 5
90941
          frameworkcode: "HLD"
90942
          seealso: ""
90943
          link: ""
90944
          defaultvalue:
90945
90946
        - tagfield: "877"
90947
          tagsubfield: "l"
90948
          liblibrarian: "Temporary location"
90949
          libopac: "Temporary location"
90950
          repeatable: 1
90951
          mandatory: 0
90952
          kohafield: ""
90953
          tab: 8
90954
          authorised_value: ""
90955
          authtypecode: ""
90956
          value_builder: ""
90957
          isurl:
90958
          hidden: 5
90959
          frameworkcode: "HLD"
90960
          seealso: ""
90961
          link: ""
90962
          defaultvalue:
90963
90964
        - tagfield: "877"
90965
          tagsubfield: "p"
90966
          liblibrarian: "Piece designation"
90967
          libopac: "Piece designation"
90968
          repeatable: 1
90969
          mandatory: 0
90970
          kohafield: ""
90971
          tab: 8
90972
          authorised_value: ""
90973
          authtypecode: ""
90974
          value_builder: ""
90975
          isurl:
90976
          hidden: 5
90977
          frameworkcode: "HLD"
90978
          seealso: ""
90979
          link: ""
90980
          defaultvalue:
90981
90982
        - tagfield: "877"
90983
          tagsubfield: "r"
90984
          liblibrarian: "Invalid or canceled piece designation"
90985
          libopac: "Invalid or canceled piece designation"
90986
          repeatable: 1
90987
          mandatory: 0
90988
          kohafield: ""
90989
          tab: 8
90990
          authorised_value: ""
90991
          authtypecode: ""
90992
          value_builder: ""
90993
          isurl:
90994
          hidden: 5
90995
          frameworkcode: "HLD"
90996
          seealso: ""
90997
          link: ""
90998
          defaultvalue:
90999
91000
        - tagfield: "877"
91001
          tagsubfield: "t"
91002
          liblibrarian: "Copy number"
91003
          libopac: "Copy number"
91004
          repeatable: 0
91005
          mandatory: 0
91006
          kohafield: ""
91007
          tab: 8
91008
          authorised_value: ""
91009
          authtypecode: ""
91010
          value_builder: ""
91011
          isurl:
91012
          hidden: 5
91013
          frameworkcode: "HLD"
91014
          seealso: ""
91015
          link: ""
91016
          defaultvalue:
91017
91018
        - tagfield: "877"
91019
          tagsubfield: "x"
91020
          liblibrarian: "Nonpublic note"
91021
          libopac: "Nonpublic note"
91022
          repeatable: 1
91023
          mandatory: 0
91024
          kohafield: ""
91025
          tab: 8
91026
          authorised_value: ""
91027
          authtypecode: ""
91028
          value_builder: ""
91029
          isurl:
91030
          hidden: 5
91031
          frameworkcode: "HLD"
91032
          seealso: ""
91033
          link: ""
91034
          defaultvalue:
91035
91036
        - tagfield: "877"
91037
          tagsubfield: "z"
91038
          liblibrarian: "Public note"
91039
          libopac: "Public note"
91040
          repeatable: 1
91041
          mandatory: 0
91042
          kohafield: ""
91043
          tab: 8
91044
          authorised_value: ""
91045
          authtypecode: ""
91046
          value_builder: ""
91047
          isurl:
91048
          hidden: 5
91049
          frameworkcode: "HLD"
91050
          seealso: ""
91051
          link: ""
91052
          defaultvalue:
91053
91054
        - tagfield: "878"
91055
          tagsubfield: "3"
91056
          liblibrarian: "Materials specified"
91057
          libopac: "Materials specified"
91058
          repeatable: 0
91059
          mandatory: 0
91060
          kohafield: ""
91061
          tab: 8
91062
          authorised_value: ""
91063
          authtypecode: ""
91064
          value_builder: ""
91065
          isurl:
91066
          hidden: 5
91067
          frameworkcode: "HLD"
91068
          seealso: ""
91069
          link: ""
91070
          defaultvalue:
91071
91072
        - tagfield: "878"
91073
          tagsubfield: "6"
91074
          liblibrarian: "Linkage"
91075
          libopac: "Linkage"
91076
          repeatable: 0
91077
          mandatory: 0
91078
          kohafield: ""
91079
          tab: 8
91080
          authorised_value: ""
91081
          authtypecode: ""
91082
          value_builder: ""
91083
          isurl:
91084
          hidden: 5
91085
          frameworkcode: "HLD"
91086
          seealso: ""
91087
          link: ""
91088
          defaultvalue:
91089
91090
        - tagfield: "878"
91091
          tagsubfield: "8"
91092
          liblibrarian: "Sequence number"
91093
          libopac: "Sequence number"
91094
          repeatable: 1
91095
          mandatory: 0
91096
          kohafield: ""
91097
          tab: 8
91098
          authorised_value: ""
91099
          authtypecode: ""
91100
          value_builder: ""
91101
          isurl:
91102
          hidden: 5
91103
          frameworkcode: "HLD"
91104
          seealso: ""
91105
          link: ""
91106
          defaultvalue:
91107
91108
        - tagfield: "878"
91109
          tagsubfield: "a"
91110
          liblibrarian: "Internal item number"
91111
          libopac: "Internal item number"
91112
          repeatable: 0
91113
          mandatory: 0
91114
          kohafield: ""
91115
          tab: 8
91116
          authorised_value: ""
91117
          authtypecode: ""
91118
          value_builder: ""
91119
          isurl:
91120
          hidden: 5
91121
          frameworkcode: "HLD"
91122
          seealso: ""
91123
          link: ""
91124
          defaultvalue:
91125
91126
        - tagfield: "878"
91127
          tagsubfield: "b"
91128
          liblibrarian: "Invalid or canceled internal item number"
91129
          libopac: "Invalid or canceled internal item number"
91130
          repeatable: 1
91131
          mandatory: 0
91132
          kohafield: ""
91133
          tab: 8
91134
          authorised_value: ""
91135
          authtypecode: ""
91136
          value_builder: ""
91137
          isurl:
91138
          hidden: 5
91139
          frameworkcode: "HLD"
91140
          seealso: ""
91141
          link: ""
91142
          defaultvalue:
91143
91144
        - tagfield: "878"
91145
          tagsubfield: "c"
91146
          liblibrarian: "Cost"
91147
          libopac: "Cost"
91148
          repeatable: 1
91149
          mandatory: 0
91150
          kohafield: ""
91151
          tab: 8
91152
          authorised_value: ""
91153
          authtypecode: ""
91154
          value_builder: ""
91155
          isurl:
91156
          hidden: 5
91157
          frameworkcode: "HLD"
91158
          seealso: ""
91159
          link: ""
91160
          defaultvalue:
91161
91162
        - tagfield: "878"
91163
          tagsubfield: "d"
91164
          liblibrarian: "Date acquired"
91165
          libopac: "Date acquired"
91166
          repeatable: 1
91167
          mandatory: 0
91168
          kohafield: ""
91169
          tab: 8
91170
          authorised_value: ""
91171
          authtypecode: ""
91172
          value_builder: ""
91173
          isurl:
91174
          hidden: 5
91175
          frameworkcode: "HLD"
91176
          seealso: ""
91177
          link: ""
91178
          defaultvalue:
91179
91180
        - tagfield: "878"
91181
          tagsubfield: "e"
91182
          liblibrarian: "Source of acquisition"
91183
          libopac: "Source of acquisition"
91184
          repeatable: 1
91185
          mandatory: 0
91186
          kohafield: ""
91187
          tab: 8
91188
          authorised_value: ""
91189
          authtypecode: ""
91190
          value_builder: ""
91191
          isurl:
91192
          hidden: 5
91193
          frameworkcode: "HLD"
91194
          seealso: ""
91195
          link: ""
91196
          defaultvalue:
91197
91198
        - tagfield: "878"
91199
          tagsubfield: "h"
91200
          liblibrarian: "Use restrictions"
91201
          libopac: "Use restrictions"
91202
          repeatable: 1
91203
          mandatory: 0
91204
          kohafield: ""
91205
          tab: 8
91206
          authorised_value: ""
91207
          authtypecode: ""
91208
          value_builder: ""
91209
          isurl:
91210
          hidden: 5
91211
          frameworkcode: "HLD"
91212
          seealso: ""
91213
          link: ""
91214
          defaultvalue:
91215
91216
        - tagfield: "878"
91217
          tagsubfield: "j"
91218
          liblibrarian: "Item status"
91219
          libopac: "Item status"
91220
          repeatable: 1
91221
          mandatory: 0
91222
          kohafield: ""
91223
          tab: 8
91224
          authorised_value: ""
91225
          authtypecode: ""
91226
          value_builder: ""
91227
          isurl:
91228
          hidden: 5
91229
          frameworkcode: "HLD"
91230
          seealso: ""
91231
          link: ""
91232
          defaultvalue:
91233
91234
        - tagfield: "878"
91235
          tagsubfield: "l"
91236
          liblibrarian: "Temporary location"
91237
          libopac: "Temporary location"
91238
          repeatable: 1
91239
          mandatory: 0
91240
          kohafield: ""
91241
          tab: 8
91242
          authorised_value: ""
91243
          authtypecode: ""
91244
          value_builder: ""
91245
          isurl:
91246
          hidden: 5
91247
          frameworkcode: "HLD"
91248
          seealso: ""
91249
          link: ""
91250
          defaultvalue:
91251
91252
        - tagfield: "878"
91253
          tagsubfield: "p"
91254
          liblibrarian: "Piece designation"
91255
          libopac: "Piece designation"
91256
          repeatable: 1
91257
          mandatory: 0
91258
          kohafield: ""
91259
          tab: 8
91260
          authorised_value: ""
91261
          authtypecode: ""
91262
          value_builder: ""
91263
          isurl:
91264
          hidden: 5
91265
          frameworkcode: "HLD"
91266
          seealso: ""
91267
          link: ""
91268
          defaultvalue:
91269
91270
        - tagfield: "878"
91271
          tagsubfield: "r"
91272
          liblibrarian: "Invalid or canceled piece designation"
91273
          libopac: "Invalid or canceled piece designation"
91274
          repeatable: 1
91275
          mandatory: 0
91276
          kohafield: ""
91277
          tab: 8
91278
          authorised_value: ""
91279
          authtypecode: ""
91280
          value_builder: ""
91281
          isurl:
91282
          hidden: 5
91283
          frameworkcode: "HLD"
91284
          seealso: ""
91285
          link: ""
91286
          defaultvalue:
91287
91288
        - tagfield: "878"
91289
          tagsubfield: "t"
91290
          liblibrarian: "Copy number"
91291
          libopac: "Copy number"
91292
          repeatable: 0
91293
          mandatory: 0
91294
          kohafield: ""
91295
          tab: 8
91296
          authorised_value: ""
91297
          authtypecode: ""
91298
          value_builder: ""
91299
          isurl:
91300
          hidden: 5
91301
          frameworkcode: "HLD"
91302
          seealso: ""
91303
          link: ""
91304
          defaultvalue:
91305
91306
        - tagfield: "878"
91307
          tagsubfield: "x"
91308
          liblibrarian: "Nonpublic note"
91309
          libopac: "Nonpublic note"
91310
          repeatable: 1
91311
          mandatory: 0
91312
          kohafield: ""
91313
          tab: 8
91314
          authorised_value: ""
91315
          authtypecode: ""
91316
          value_builder: ""
91317
          isurl:
91318
          hidden: 5
91319
          frameworkcode: "HLD"
91320
          seealso: ""
91321
          link: ""
91322
          defaultvalue:
91323
91324
        - tagfield: "878"
91325
          tagsubfield: "z"
91326
          liblibrarian: "Public note"
91327
          libopac: "Public note"
91328
          repeatable: 1
91329
          mandatory: 0
91330
          kohafield: ""
91331
          tab: 8
91332
          authorised_value: ""
91333
          authtypecode: ""
91334
          value_builder: ""
91335
          isurl:
91336
          hidden: 5
91337
          frameworkcode: "HLD"
91338
          seealso: ""
91339
          link: ""
91340
          defaultvalue:
91341
91342
        - tagfield: "880"
91343
          tagsubfield: "2"
91344
          liblibrarian: "2"
91345
          libopac: "2"
91346
          repeatable: 1
91347
          mandatory: 0
91348
          kohafield: ""
91349
          tab: 8
91350
          authorised_value: ""
91351
          authtypecode: ""
91352
          value_builder: ""
91353
          isurl:
91354
          hidden: -6
91355
          frameworkcode: "HLD"
91356
          seealso: ""
91357
          link: ""
91358
          defaultvalue:
91359
91360
        - tagfield: "880"
91361
          tagsubfield: "3"
91362
          liblibrarian: "3"
91363
          libopac: "3"
91364
          repeatable: 1
91365
          mandatory: 0
91366
          kohafield: ""
91367
          tab: 8
91368
          authorised_value: ""
91369
          authtypecode: ""
91370
          value_builder: ""
91371
          isurl:
91372
          hidden: -6
91373
          frameworkcode: "HLD"
91374
          seealso: ""
91375
          link: ""
91376
          defaultvalue:
91377
91378
        - tagfield: "880"
91379
          tagsubfield: "4"
91380
          liblibrarian: "4"
91381
          libopac: "4"
91382
          repeatable: 1
91383
          mandatory: 0
91384
          kohafield: ""
91385
          tab: 8
91386
          authorised_value: ""
91387
          authtypecode: ""
91388
          value_builder: ""
91389
          isurl:
91390
          hidden: -6
91391
          frameworkcode: "HLD"
91392
          seealso: ""
91393
          link: ""
91394
          defaultvalue:
91395
91396
        - tagfield: "880"
91397
          tagsubfield: "5"
91398
          liblibrarian: "5"
91399
          libopac: "5"
91400
          repeatable: 1
91401
          mandatory: 0
91402
          kohafield: ""
91403
          tab: 8
91404
          authorised_value: ""
91405
          authtypecode: ""
91406
          value_builder: ""
91407
          isurl:
91408
          hidden: -6
91409
          frameworkcode: "HLD"
91410
          seealso: ""
91411
          link: ""
91412
          defaultvalue:
91413
91414
        - tagfield: "880"
91415
          tagsubfield: "6"
91416
          liblibrarian: "Linkage"
91417
          libopac: "Linkage"
91418
          repeatable: 0
91419
          mandatory: 0
91420
          kohafield: ""
91421
          tab: 8
91422
          authorised_value: ""
91423
          authtypecode: ""
91424
          value_builder: ""
91425
          isurl:
91426
          hidden: -6
91427
          frameworkcode: "HLD"
91428
          seealso: ""
91429
          link: ""
91430
          defaultvalue:
91431
91432
        - tagfield: "880"
91433
          tagsubfield: "7"
91434
          liblibrarian: "7"
91435
          libopac: "7"
91436
          repeatable: 1
91437
          mandatory: 0
91438
          kohafield: ""
91439
          tab: 8
91440
          authorised_value: ""
91441
          authtypecode: ""
91442
          value_builder: ""
91443
          isurl:
91444
          hidden: -6
91445
          frameworkcode: "HLD"
91446
          seealso: ""
91447
          link: ""
91448
          defaultvalue:
91449
91450
        - tagfield: "880"
91451
          tagsubfield: "8"
91452
          liblibrarian: "8"
91453
          libopac: "8"
91454
          repeatable: 1
91455
          mandatory: 0
91456
          kohafield: ""
91457
          tab: 8
91458
          authorised_value: ""
91459
          authtypecode: ""
91460
          value_builder: ""
91461
          isurl:
91462
          hidden: -6
91463
          frameworkcode: "HLD"
91464
          seealso: ""
91465
          link: ""
91466
          defaultvalue:
91467
91468
        - tagfield: "880"
91469
          tagsubfield: "9"
91470
          liblibrarian: "9"
91471
          libopac: "9"
91472
          repeatable: 1
91473
          mandatory: 0
91474
          kohafield: ""
91475
          tab: 8
91476
          authorised_value: ""
91477
          authtypecode: ""
91478
          value_builder: ""
91479
          isurl:
91480
          hidden: -6
91481
          frameworkcode: "HLD"
91482
          seealso: ""
91483
          link: ""
91484
          defaultvalue:
91485
91486
        - tagfield: "880"
91487
          tagsubfield: "a"
91488
          liblibrarian: "a"
91489
          libopac: "a"
91490
          repeatable: 1
91491
          mandatory: 0
91492
          kohafield: ""
91493
          tab: 8
91494
          authorised_value: ""
91495
          authtypecode: ""
91496
          value_builder: ""
91497
          isurl:
91498
          hidden: -6
91499
          frameworkcode: "HLD"
91500
          seealso: ""
91501
          link: ""
91502
          defaultvalue:
91503
91504
        - tagfield: "880"
91505
          tagsubfield: "b"
91506
          liblibrarian: "b"
91507
          libopac: "b"
91508
          repeatable: 1
91509
          mandatory: 0
91510
          kohafield: ""
91511
          tab: 8
91512
          authorised_value: ""
91513
          authtypecode: ""
91514
          value_builder: ""
91515
          isurl:
91516
          hidden: -6
91517
          frameworkcode: "HLD"
91518
          seealso: ""
91519
          link: ""
91520
          defaultvalue:
91521
91522
        - tagfield: "880"
91523
          tagsubfield: "c"
91524
          liblibrarian: "c"
91525
          libopac: "c"
91526
          repeatable: 1
91527
          mandatory: 0
91528
          kohafield: ""
91529
          tab: 8
91530
          authorised_value: ""
91531
          authtypecode: ""
91532
          value_builder: ""
91533
          isurl:
91534
          hidden: -6
91535
          frameworkcode: "HLD"
91536
          seealso: ""
91537
          link: ""
91538
          defaultvalue:
91539
91540
        - tagfield: "880"
91541
          tagsubfield: "d"
91542
          liblibrarian: "d"
91543
          libopac: "d"
91544
          repeatable: 1
91545
          mandatory: 0
91546
          kohafield: ""
91547
          tab: 8
91548
          authorised_value: ""
91549
          authtypecode: ""
91550
          value_builder: ""
91551
          isurl:
91552
          hidden: -6
91553
          frameworkcode: "HLD"
91554
          seealso: ""
91555
          link: ""
91556
          defaultvalue:
91557
91558
        - tagfield: "880"
91559
          tagsubfield: "e"
91560
          liblibrarian: "e"
91561
          libopac: "e"
91562
          repeatable: 1
91563
          mandatory: 0
91564
          kohafield: ""
91565
          tab: 8
91566
          authorised_value: ""
91567
          authtypecode: ""
91568
          value_builder: ""
91569
          isurl:
91570
          hidden: -6
91571
          frameworkcode: "HLD"
91572
          seealso: ""
91573
          link: ""
91574
          defaultvalue:
91575
91576
        - tagfield: "880"
91577
          tagsubfield: "f"
91578
          liblibrarian: "f"
91579
          libopac: "f"
91580
          repeatable: 1
91581
          mandatory: 0
91582
          kohafield: ""
91583
          tab: 8
91584
          authorised_value: ""
91585
          authtypecode: ""
91586
          value_builder: ""
91587
          isurl:
91588
          hidden: -6
91589
          frameworkcode: "HLD"
91590
          seealso: ""
91591
          link: ""
91592
          defaultvalue:
91593
91594
        - tagfield: "880"
91595
          tagsubfield: "g"
91596
          liblibrarian: "g"
91597
          libopac: "g"
91598
          repeatable: 1
91599
          mandatory: 0
91600
          kohafield: ""
91601
          tab: 8
91602
          authorised_value: ""
91603
          authtypecode: ""
91604
          value_builder: ""
91605
          isurl:
91606
          hidden: -6
91607
          frameworkcode: "HLD"
91608
          seealso: ""
91609
          link: ""
91610
          defaultvalue:
91611
91612
        - tagfield: "880"
91613
          tagsubfield: "h"
91614
          liblibrarian: "h"
91615
          libopac: "h"
91616
          repeatable: 1
91617
          mandatory: 0
91618
          kohafield: ""
91619
          tab: 8
91620
          authorised_value: ""
91621
          authtypecode: ""
91622
          value_builder: ""
91623
          isurl:
91624
          hidden: -6
91625
          frameworkcode: "HLD"
91626
          seealso: ""
91627
          link: ""
91628
          defaultvalue:
91629
91630
        - tagfield: "880"
91631
          tagsubfield: "i"
91632
          liblibrarian: "i"
91633
          libopac: "i"
91634
          repeatable: 1
91635
          mandatory: 0
91636
          kohafield: ""
91637
          tab: 8
91638
          authorised_value: ""
91639
          authtypecode: ""
91640
          value_builder: ""
91641
          isurl:
91642
          hidden: -6
91643
          frameworkcode: "HLD"
91644
          seealso: ""
91645
          link: ""
91646
          defaultvalue:
91647
91648
        - tagfield: "880"
91649
          tagsubfield: "j"
91650
          liblibrarian: "j"
91651
          libopac: "j"
91652
          repeatable: 1
91653
          mandatory: 0
91654
          kohafield: ""
91655
          tab: 8
91656
          authorised_value: ""
91657
          authtypecode: ""
91658
          value_builder: ""
91659
          isurl:
91660
          hidden: -6
91661
          frameworkcode: "HLD"
91662
          seealso: ""
91663
          link: ""
91664
          defaultvalue:
91665
91666
        - tagfield: "880"
91667
          tagsubfield: "k"
91668
          liblibrarian: "k"
91669
          libopac: "k"
91670
          repeatable: 1
91671
          mandatory: 0
91672
          kohafield: ""
91673
          tab: 8
91674
          authorised_value: ""
91675
          authtypecode: ""
91676
          value_builder: ""
91677
          isurl:
91678
          hidden: -6
91679
          frameworkcode: "HLD"
91680
          seealso: ""
91681
          link: ""
91682
          defaultvalue:
91683
91684
        - tagfield: "880"
91685
          tagsubfield: "l"
91686
          liblibrarian: "l"
91687
          libopac: "l"
91688
          repeatable: 1
91689
          mandatory: 0
91690
          kohafield: ""
91691
          tab: 8
91692
          authorised_value: ""
91693
          authtypecode: ""
91694
          value_builder: ""
91695
          isurl:
91696
          hidden: -6
91697
          frameworkcode: "HLD"
91698
          seealso: ""
91699
          link: ""
91700
          defaultvalue:
91701
91702
        - tagfield: "880"
91703
          tagsubfield: "m"
91704
          liblibrarian: "m"
91705
          libopac: "m"
91706
          repeatable: 1
91707
          mandatory: 0
91708
          kohafield: ""
91709
          tab: 8
91710
          authorised_value: ""
91711
          authtypecode: ""
91712
          value_builder: ""
91713
          isurl:
91714
          hidden: -6
91715
          frameworkcode: "HLD"
91716
          seealso: ""
91717
          link: ""
91718
          defaultvalue:
91719
91720
        - tagfield: "880"
91721
          tagsubfield: "n"
91722
          liblibrarian: "n"
91723
          libopac: "n"
91724
          repeatable: 1
91725
          mandatory: 0
91726
          kohafield: ""
91727
          tab: 8
91728
          authorised_value: ""
91729
          authtypecode: ""
91730
          value_builder: ""
91731
          isurl:
91732
          hidden: -6
91733
          frameworkcode: "HLD"
91734
          seealso: ""
91735
          link: ""
91736
          defaultvalue:
91737
91738
        - tagfield: "880"
91739
          tagsubfield: "o"
91740
          liblibrarian: "o"
91741
          libopac: "o"
91742
          repeatable: 1
91743
          mandatory: 0
91744
          kohafield: ""
91745
          tab: 8
91746
          authorised_value: ""
91747
          authtypecode: ""
91748
          value_builder: ""
91749
          isurl:
91750
          hidden: -6
91751
          frameworkcode: "HLD"
91752
          seealso: ""
91753
          link: ""
91754
          defaultvalue:
91755
91756
        - tagfield: "880"
91757
          tagsubfield: "p"
91758
          liblibrarian: "p"
91759
          libopac: "p"
91760
          repeatable: 1
91761
          mandatory: 0
91762
          kohafield: ""
91763
          tab: 8
91764
          authorised_value: ""
91765
          authtypecode: ""
91766
          value_builder: ""
91767
          isurl:
91768
          hidden: -6
91769
          frameworkcode: "HLD"
91770
          seealso: ""
91771
          link: ""
91772
          defaultvalue:
91773
91774
        - tagfield: "880"
91775
          tagsubfield: "q"
91776
          liblibrarian: "q"
91777
          libopac: "q"
91778
          repeatable: 1
91779
          mandatory: 0
91780
          kohafield: ""
91781
          tab: 8
91782
          authorised_value: ""
91783
          authtypecode: ""
91784
          value_builder: ""
91785
          isurl:
91786
          hidden: -6
91787
          frameworkcode: "HLD"
91788
          seealso: ""
91789
          link: ""
91790
          defaultvalue:
91791
91792
        - tagfield: "880"
91793
          tagsubfield: "r"
91794
          liblibrarian: "r"
91795
          libopac: "r"
91796
          repeatable: 1
91797
          mandatory: 0
91798
          kohafield: ""
91799
          tab: 8
91800
          authorised_value: ""
91801
          authtypecode: ""
91802
          value_builder: ""
91803
          isurl:
91804
          hidden: -6
91805
          frameworkcode: "HLD"
91806
          seealso: ""
91807
          link: ""
91808
          defaultvalue:
91809
91810
        - tagfield: "880"
91811
          tagsubfield: "s"
91812
          liblibrarian: "s"
91813
          libopac: "s"
91814
          repeatable: 1
91815
          mandatory: 0
91816
          kohafield: ""
91817
          tab: 8
91818
          authorised_value: ""
91819
          authtypecode: ""
91820
          value_builder: ""
91821
          isurl:
91822
          hidden: -6
91823
          frameworkcode: "HLD"
91824
          seealso: ""
91825
          link: ""
91826
          defaultvalue:
91827
91828
        - tagfield: "880"
91829
          tagsubfield: "t"
91830
          liblibrarian: "t"
91831
          libopac: "t"
91832
          repeatable: 1
91833
          mandatory: 0
91834
          kohafield: ""
91835
          tab: 8
91836
          authorised_value: ""
91837
          authtypecode: ""
91838
          value_builder: ""
91839
          isurl:
91840
          hidden: -6
91841
          frameworkcode: "HLD"
91842
          seealso: ""
91843
          link: ""
91844
          defaultvalue:
91845
91846
        - tagfield: "880"
91847
          tagsubfield: "u"
91848
          liblibrarian: "u"
91849
          libopac: "u"
91850
          repeatable: 1
91851
          mandatory: 0
91852
          kohafield: ""
91853
          tab: 8
91854
          authorised_value: ""
91855
          authtypecode: ""
91856
          value_builder: ""
91857
          isurl:
91858
          hidden: -6
91859
          frameworkcode: "HLD"
91860
          seealso: ""
91861
          link: ""
91862
          defaultvalue:
91863
91864
        - tagfield: "880"
91865
          tagsubfield: "v"
91866
          liblibrarian: "v"
91867
          libopac: "v"
91868
          repeatable: 1
91869
          mandatory: 0
91870
          kohafield: ""
91871
          tab: 8
91872
          authorised_value: ""
91873
          authtypecode: ""
91874
          value_builder: ""
91875
          isurl:
91876
          hidden: -6
91877
          frameworkcode: "HLD"
91878
          seealso: ""
91879
          link: ""
91880
          defaultvalue:
91881
91882
        - tagfield: "880"
91883
          tagsubfield: "w"
91884
          liblibrarian: "w"
91885
          libopac: "w"
91886
          repeatable: 1
91887
          mandatory: 0
91888
          kohafield: ""
91889
          tab: 8
91890
          authorised_value: ""
91891
          authtypecode: ""
91892
          value_builder: ""
91893
          isurl:
91894
          hidden: -6
91895
          frameworkcode: "HLD"
91896
          seealso: ""
91897
          link: ""
91898
          defaultvalue:
91899
91900
        - tagfield: "880"
91901
          tagsubfield: "x"
91902
          liblibrarian: "x"
91903
          libopac: "x"
91904
          repeatable: 1
91905
          mandatory: 0
91906
          kohafield: ""
91907
          tab: 8
91908
          authorised_value: ""
91909
          authtypecode: ""
91910
          value_builder: ""
91911
          isurl:
91912
          hidden: -6
91913
          frameworkcode: "HLD"
91914
          seealso: ""
91915
          link: ""
91916
          defaultvalue:
91917
91918
        - tagfield: "880"
91919
          tagsubfield: "y"
91920
          liblibrarian: "y"
91921
          libopac: "y"
91922
          repeatable: 1
91923
          mandatory: 0
91924
          kohafield: ""
91925
          tab: 8
91926
          authorised_value: ""
91927
          authtypecode: ""
91928
          value_builder: ""
91929
          isurl:
91930
          hidden: -6
91931
          frameworkcode: "HLD"
91932
          seealso: ""
91933
          link: ""
91934
          defaultvalue:
91935
91936
        - tagfield: "880"
91937
          tagsubfield: "z"
91938
          liblibrarian: "z"
91939
          libopac: "z"
91940
          repeatable: 1
91941
          mandatory: 0
91942
          kohafield: ""
91943
          tab: 8
91944
          authorised_value: ""
91945
          authtypecode: ""
91946
          value_builder: ""
91947
          isurl:
91948
          hidden: -6
91949
          frameworkcode: "HLD"
91950
          seealso: ""
91951
          link: ""
91952
          defaultvalue:
91953
91954
        - tagfield: "883"
91955
          tagsubfield: "0"
91956
          liblibrarian: "Authority record control number or standard number"
91957
          libopac: "Authority record control number or standard number"
91958
          repeatable: 1
91959
          mandatory: 0
91960
          kohafield: ""
91961
          tab: 8
91962
          authorised_value: ""
91963
          authtypecode: ""
91964
          value_builder: ""
91965
          isurl:
91966
          hidden: -6
91967
          frameworkcode: "HLD"
91968
          seealso: ""
91969
          link: ""
91970
          defaultvalue:
91971
91972
        - tagfield: "883"
91973
          tagsubfield: "1"
91974
          liblibrarian: "Real World Object URI"
91975
          libopac: "Real World Object URI"
91976
          repeatable: 1
91977
          mandatory: 0
91978
          kohafield: ""
91979
          tab: 8
91980
          authorised_value: ""
91981
          authtypecode: ""
91982
          value_builder: ""
91983
          isurl:
91984
          hidden: -6
91985
          frameworkcode: "HLD"
91986
          seealso: ""
91987
          link: ""
91988
          defaultvalue:
91989
91990
        - tagfield: "883"
91991
          tagsubfield: "8"
91992
          liblibrarian: "Field link and sequence number"
91993
          libopac: "Field link and sequence number"
91994
          repeatable: 1
91995
          mandatory: 0
91996
          kohafield: ""
91997
          tab: 8
91998
          authorised_value: ""
91999
          authtypecode: ""
92000
          value_builder: ""
92001
          isurl:
92002
          hidden: -6
92003
          frameworkcode: "HLD"
92004
          seealso: ""
92005
          link: ""
92006
          defaultvalue:
92007
92008
        - tagfield: "883"
92009
          tagsubfield: "a"
92010
          liblibrarian: "Generation process"
92011
          libopac: "Generation process"
92012
          repeatable: 0
92013
          mandatory: 0
92014
          kohafield: ""
92015
          tab: 8
92016
          authorised_value: ""
92017
          authtypecode: ""
92018
          value_builder: ""
92019
          isurl:
92020
          hidden: -6
92021
          frameworkcode: "HLD"
92022
          seealso: ""
92023
          link: ""
92024
          defaultvalue:
92025
92026
        - tagfield: "883"
92027
          tagsubfield: "c"
92028
          liblibrarian: "Confidence value"
92029
          libopac: "Confidence value"
92030
          repeatable: 0
92031
          mandatory: 0
92032
          kohafield: ""
92033
          tab: 8
92034
          authorised_value: ""
92035
          authtypecode: ""
92036
          value_builder: ""
92037
          isurl:
92038
          hidden: -6
92039
          frameworkcode: "HLD"
92040
          seealso: ""
92041
          link: ""
92042
          defaultvalue:
92043
92044
        - tagfield: "883"
92045
          tagsubfield: "d"
92046
          liblibrarian: "Generation date"
92047
          libopac: "Generation date"
92048
          repeatable: 0
92049
          mandatory: 0
92050
          kohafield: ""
92051
          tab: 8
92052
          authorised_value: ""
92053
          authtypecode: ""
92054
          value_builder: ""
92055
          isurl:
92056
          hidden: -6
92057
          frameworkcode: "HLD"
92058
          seealso: ""
92059
          link: ""
92060
          defaultvalue:
92061
92062
        - tagfield: "883"
92063
          tagsubfield: "q"
92064
          liblibrarian: "Generation agency"
92065
          libopac: "Generation agency"
92066
          repeatable: 0
92067
          mandatory: 0
92068
          kohafield: ""
92069
          tab: 8
92070
          authorised_value: ""
92071
          authtypecode: ""
92072
          value_builder: ""
92073
          isurl:
92074
          hidden: -6
92075
          frameworkcode: "HLD"
92076
          seealso: ""
92077
          link: ""
92078
          defaultvalue:
92079
92080
        - tagfield: "883"
92081
          tagsubfield: "u"
92082
          liblibrarian: "Uniform Resource Identifier"
92083
          libopac: "Uniform Resource Identifier"
92084
          repeatable: 0
92085
          mandatory: 0
92086
          kohafield: ""
92087
          tab: 8
92088
          authorised_value: ""
92089
          authtypecode: ""
92090
          value_builder: ""
92091
          isurl:
92092
          hidden: -6
92093
          frameworkcode: "HLD"
92094
          seealso: ""
92095
          link: ""
92096
          defaultvalue:
92097
92098
        - tagfield: "883"
92099
          tagsubfield: "w"
92100
          liblibrarian: "Bibliographic record control number"
92101
          libopac: "Bibliographic record control number"
92102
          repeatable: 1
92103
          mandatory: 0
92104
          kohafield: ""
92105
          tab: 8
92106
          authorised_value: ""
92107
          authtypecode: ""
92108
          value_builder: ""
92109
          isurl:
92110
          hidden: -6
92111
          frameworkcode: "HLD"
92112
          seealso: ""
92113
          link: ""
92114
          defaultvalue:
92115
92116
        - tagfield: "883"
92117
          tagsubfield: "x"
92118
          liblibrarian: "Validity end date"
92119
          libopac: "Validity end date"
92120
          repeatable: 0
92121
          mandatory: 0
92122
          kohafield: ""
92123
          tab: 8
92124
          authorised_value: ""
92125
          authtypecode: ""
92126
          value_builder: ""
92127
          isurl:
92128
          hidden: -6
92129
          frameworkcode: "HLD"
92130
          seealso: ""
92131
          link: ""
92132
          defaultvalue:
92133
92134
        - tagfield: "884"
92135
          tagsubfield: "a"
92136
          liblibrarian: "Conversion process"
92137
          libopac: "Conversion process"
92138
          repeatable: 0
92139
          mandatory: 0
92140
          kohafield: ""
92141
          tab: 8
92142
          authorised_value: ""
92143
          authtypecode: ""
92144
          value_builder: ""
92145
          isurl:
92146
          hidden: -6
92147
          frameworkcode: "HLD"
92148
          seealso: ""
92149
          link: ""
92150
          defaultvalue:
92151
92152
        - tagfield: "884"
92153
          tagsubfield: "g"
92154
          liblibrarian: "Conversion date"
92155
          libopac: "Conversion date"
92156
          repeatable: 0
92157
          mandatory: 0
92158
          kohafield: ""
92159
          tab: 8
92160
          authorised_value: ""
92161
          authtypecode: ""
92162
          value_builder: ""
92163
          isurl:
92164
          hidden: -6
92165
          frameworkcode: "HLD"
92166
          seealso: ""
92167
          link: ""
92168
          defaultvalue:
92169
92170
        - tagfield: "884"
92171
          tagsubfield: "k"
92172
          liblibrarian: "Identifier of source metadata"
92173
          libopac: "Identifier of source metadata"
92174
          repeatable: 0
92175
          mandatory: 0
92176
          kohafield: ""
92177
          tab: 8
92178
          authorised_value: ""
92179
          authtypecode: ""
92180
          value_builder: ""
92181
          isurl:
92182
          hidden: -6
92183
          frameworkcode: "HLD"
92184
          seealso: ""
92185
          link: ""
92186
          defaultvalue:
92187
92188
        - tagfield: "884"
92189
          tagsubfield: "q"
92190
          liblibrarian: "Conversion agency"
92191
          libopac: "Conversion agency"
92192
          repeatable: 0
92193
          mandatory: 0
92194
          kohafield: ""
92195
          tab: 8
92196
          authorised_value: ""
92197
          authtypecode: ""
92198
          value_builder: ""
92199
          isurl:
92200
          hidden: -6
92201
          frameworkcode: "HLD"
92202
          seealso: ""
92203
          link: ""
92204
          defaultvalue:
92205
92206
        - tagfield: "884"
92207
          tagsubfield: "u"
92208
          liblibrarian: "Uniform Resource Identifier"
92209
          libopac: "Uniform Resource Identifier"
92210
          repeatable: 1
92211
          mandatory: 0
92212
          kohafield: ""
92213
          tab: 8
92214
          authorised_value: ""
92215
          authtypecode: ""
92216
          value_builder: ""
92217
          isurl:
92218
          hidden: -6
92219
          frameworkcode: "HLD"
92220
          seealso: ""
92221
          link: ""
92222
          defaultvalue:
92223
92224
        - tagfield: "942"
92225
          tagsubfield: "n"
92226
          liblibrarian: "Suppress in OPAC"
92227
          libopac: "Suppress in OPAC"
92228
          repeatable: 0
92229
          mandatory: 0
92230
          kohafield: "holdings.suppress"
92231
          tab: 9
92232
          authorised_value: ""
92233
          authtypecode: ""
92234
          value_builder: ""
92235
          isurl: 0
92236
          hidden: 4
92237
          frameworkcode: "HLD"
92238
          seealso: ""
92239
          link: ""
92240
          defaultvalue:
92241
92242
        - tagfield: "999"
92243
          tagsubfield: "c"
92244
          liblibrarian: "Koha biblionumber"
92245
          libopac: "Koha biblionumber"
92246
          repeatable: 0
92247
          mandatory: 0
92248
          kohafield: "biblio.biblionumber"
92249
          tab: -1
92250
          authorised_value:
92251
          authtypecode:
92252
          value_builder: ""
92253
          isurl:
92254
          hidden: -5
92255
          frameworkcode: "HLD"
92256
          seealso: ""
92257
          link: ""
92258
          defaultvalue:
92259
92260
        - tagfield: "999"
92261
          tagsubfield: "e"
92262
          liblibrarian: "Koha holding_id"
92263
          libopac: "Koha holding_id"
92264
          repeatable: 0
92265
          mandatory: 0
92266
          kohafield: "holdings.holding_id"
92267
          tab: -1
92268
          authorised_value:
92269
          authtypecode:
92270
          value_builder: ""
92271
          isurl:
92272
          hidden: -5
92273
          frameworkcode: "HLD"
92274
          seealso: ""
92275
          link: ""
92276
          defaultvalue:
92277
92278
92279
sql_statements:
92280
  - "UPDATE marc_subfield_structure SET maxlength=24 WHERE tagfield='000';"
92281
  - "UPDATE marc_subfield_structure SET maxlength=40 WHERE tagfield='008';"
92282
92283
  # Create the ACQ framework based on the default framework, fields 000 and 952 only
92284
  - "INSERT INTO marc_tag_structure(tagfield, liblibrarian, libopac, repeatable, mandatory, authorised_value, frameworkcode)
92285
     SELECT tagfield, liblibrarian, libopac, repeatable, mandatory, authorised_value, 'ACQ' FROM marc_tag_structure WHERE tagfield='000' AND frameworkcode='';"
92286
92287
  - "INSERT INTO marc_subfield_structure(tagfield, tagsubfield, liblibrarian, libopac, repeatable, mandatory, kohafield, tab, authorised_value, authtypecode, value_builder, isurl, hidden, frameworkcode, seealso, link, defaultvalue, maxlength)
92288
     SELECT tagfield, tagsubfield, liblibrarian, libopac, repeatable, mandatory, kohafield, tab, authorised_value, authtypecode, value_builder, isurl, hidden, 'ACQ', seealso, link, '     nam a22     7a 4500', maxlength FROM marc_subfield_structure WHERE tagfield='000' AND frameworkcode='';"
92289
92290
  - "INSERT INTO marc_tag_structure(tagfield, liblibrarian, libopac, repeatable, mandatory, authorised_value, frameworkcode)
92291
     SELECT tagfield, liblibrarian, libopac, repeatable, mandatory, authorised_value, 'ACQ' FROM marc_tag_structure WHERE tagfield='952' AND frameworkcode='';"
92292
92293
  - "INSERT INTO marc_subfield_structure(tagfield, tagsubfield, liblibrarian, libopac, repeatable, mandatory, kohafield, tab, authorised_value, authtypecode, value_builder, isurl, hidden, frameworkcode, seealso, link, defaultvalue, maxlength)
92294
     SELECT tagfield, tagsubfield, liblibrarian, libopac, repeatable, mandatory, kohafield, tab, authorised_value, authtypecode, value_builder, isurl, hidden, 'ACQ', seealso, link, defaultvalue, maxlength FROM marc_subfield_structure WHERE tagfield='952' AND frameworkcode='';"
92295
92296
  - "INSERT INTO marc_tag_structure(tagfield, liblibrarian, libopac, repeatable, mandatory, authorised_value, frameworkcode)
92297
     SELECT tagfield, liblibrarian, libopac, repeatable, mandatory, authorised_value, 'ACQ'
92298
     FROM marc_tag_structure
92299
     WHERE frameworkcode='' AND tagfield IN (
92300
       SELECT tagfield
92301
       FROM marc_subfield_structure
92302
       WHERE (
92303
             kohafield='biblio.title'
92304
         OR  kohafield='biblio.author'
92305
         OR  kohafield='biblioitems.publishercode'
92306
         OR  kohafield='biblioitems.editionstatement'
92307
         OR  kohafield='biblio.copyrightdate'
92308
         OR  kohafield='biblioitems.isbn'
92309
         OR  kohafield='biblio.seriestitle'
92310
       ) AND frameworkcode=''
92311
     );"
92312
92313
  - "INSERT INTO marc_subfield_structure(tagfield, tagsubfield, liblibrarian, libopac, repeatable, mandatory, kohafield, tab, authorised_value, authtypecode, value_builder, isurl, hidden, frameworkcode, seealso, link, defaultvalue, maxlength)
92314
     SELECT tagfield, tagsubfield, liblibrarian, libopac, repeatable, mandatory, kohafield, tab, authorised_value, authtypecode, value_builder, isurl, hidden, 'ACQ', seealso, link, defaultvalue, maxlength
92315
     FROM marc_subfield_structure
92316
     WHERE frameworkcode=''
92317
     AND kohafield IN ('biblio.title', 'biblio.author', 'biblioitems.publishercode', 'biblioitems.editionstatement', 'biblio.copyrightdate', 'biblioitems.isbn', 'biblio.seriestitle' );"
82331
92318
82332
  - "INSERT INTO marc_subfield_structure(tagfield, tagsubfield, liblibrarian, libopac, repeatable, mandatory, kohafield, tab, authorised_value, authtypecode, value_builder, isurl, hidden, frameworkcode, seealso, link, defaultvalue, maxlength)
82333
     SELECT tagfield, tagsubfield, liblibrarian, libopac, repeatable, mandatory, kohafield, tab, authorised_value, authtypecode, value_builder, isurl, hidden, 'ACQ', seealso, link, defaultvalue, maxlength
82334
     FROM marc_subfield_structure
82335
     WHERE frameworkcode=''
82336
     AND kohafield IN ('biblio.title', 'biblio.author', 'biblioitems.publishercode', 'biblioitems.editionstatement', 'biblio.copyrightdate', 'biblioitems.isbn', 'biblio.seriestitle' );"
(-)a/installer/data/mysql/kohastructure.sql (-1 / +55 lines)
Lines 2731-2736 CREATE TABLE `deleteditems` ( Link Here
2731
  `stocknumber` varchar(32) DEFAULT NULL COMMENT 'inventory number (MARC21 952$i)',
2731
  `stocknumber` varchar(32) DEFAULT NULL COMMENT 'inventory number (MARC21 952$i)',
2732
  `new_status` varchar(32) DEFAULT NULL COMMENT '''new'' value, you can put whatever free-text information. This field is intented to be managed by the automatic_item_modification_by_age cronjob.',
2732
  `new_status` varchar(32) DEFAULT NULL COMMENT '''new'' value, you can put whatever free-text information. This field is intented to be managed by the automatic_item_modification_by_age cronjob.',
2733
  `exclude_from_local_holds_priority` tinyint(1) DEFAULT NULL COMMENT 'Exclude this item from local holds priority',
2733
  `exclude_from_local_holds_priority` tinyint(1) DEFAULT NULL COMMENT 'Exclude this item from local holds priority',
2734
  `holding_id` int(11) DEFAULT NULL COMMENT 'foreign key from holdings table used to link this item to the right holdings record',
2734
  PRIMARY KEY (`itemnumber`),
2735
  PRIMARY KEY (`itemnumber`),
2735
  KEY `delitembarcodeidx` (`barcode`),
2736
  KEY `delitembarcodeidx` (`barcode`),
2736
  KEY `delitemstocknumberidx` (`stocknumber`),
2737
  KEY `delitemstocknumberidx` (`stocknumber`),
Lines 3153-3158 CREATE TABLE `hold_fill_targets` ( Link Here
3153
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3154
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3154
/*!40101 SET character_set_client = @saved_cs_client */;
3155
/*!40101 SET character_set_client = @saved_cs_client */;
3155
3156
3157
--
3158
-- Table structure for table `holdings`
3159
--
3160
3161
DROP TABLE IF EXISTS `holdings`;
3162
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3163
/*!40101 SET character_set_client = utf8 */;
3164
CREATE TABLE `holdings` (
3165
  `holding_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned to each holdings record',
3166
  `biblionumber` int(11) NOT NULL DEFAULT 0 COMMENT 'foreign key from biblio table used to link this record to the right bib record',
3167
  `frameworkcode` varchar(4) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'foreign key from the biblio_framework table to identify which framework was used in cataloging this record',
3168
  `holdingbranch` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key from the branches table for the library that owns this record (MARC21 852$a)',
3169
  `location` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'authorized value for the shelving location for this record (MARC21 852$b)',
3170
  `ccode` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'authorized value for the collection code associated with this item (MARC21 852$g)',
3171
  `callnumber` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'call number (852$h+$i in MARC21)',
3172
  `suppress` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Boolean indicating whether the record is suppressed in OPAC',
3173
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'date and time this record was last touched',
3174
  `datecreated` date NOT NULL COMMENT 'the date this record was added to Koha',
3175
  `deleted_on` datetime DEFAULT NULL COMMENT 'the date this record was deleted',
3176
  PRIMARY KEY (`holding_id`),
3177
  KEY `hldnoidx` (`holding_id`),
3178
  KEY `hldbibnoidx` (`biblionumber`),
3179
  KEY `timestamp` (`timestamp`),
3180
  KEY `holdings_ibfk_2` (`holdingbranch`),
3181
  CONSTRAINT `holdings_ibfk_1` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
3182
  CONSTRAINT `holdings_ibfk_2` FOREIGN KEY (`holdingbranch`) REFERENCES `branches` (`branchcode`) ON UPDATE CASCADE
3183
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3184
/*!40101 SET character_set_client = @saved_cs_client */;
3185
3186
--
3187
-- Table structure for table `holdings_metadata`
3188
--
3189
3190
DROP TABLE IF EXISTS `holdings_metadata`;
3191
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3192
/*!40101 SET character_set_client = utf8 */;
3193
CREATE TABLE `holdings_metadata` (
3194
  `id` int(11) NOT NULL AUTO_INCREMENT,
3195
  `holding_id` int(11) NOT NULL,
3196
  `format` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL,
3197
  `schema` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL,
3198
  `metadata` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
3199
  `deleted_on` datetime DEFAULT NULL COMMENT 'the date this record was deleted',
3200
  PRIMARY KEY (`id`),
3201
  UNIQUE KEY `holdings_metadata_uniq_key` (`holding_id`,`format`,`schema`),
3202
  KEY `hldnoidx` (`holding_id`),
3203
  CONSTRAINT `holdings_metadata_fk_1` FOREIGN KEY (`holding_id`) REFERENCES `holdings` (`holding_id`) ON DELETE CASCADE ON UPDATE CASCADE
3204
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3205
/*!40101 SET character_set_client = @saved_cs_client */;
3206
3156
--
3207
--
3157
-- Table structure for table `housebound_profile`
3208
-- Table structure for table `housebound_profile`
3158
--
3209
--
Lines 3736-3741 CREATE TABLE `items` ( Link Here
3736
  `stocknumber` varchar(32) DEFAULT NULL COMMENT 'inventory number (MARC21 952$i)',
3787
  `stocknumber` varchar(32) DEFAULT NULL COMMENT 'inventory number (MARC21 952$i)',
3737
  `new_status` varchar(32) DEFAULT NULL COMMENT '''new'' value, you can put whatever free-text information. This field is intented to be managed by the automatic_item_modification_by_age cronjob.',
3788
  `new_status` varchar(32) DEFAULT NULL COMMENT '''new'' value, you can put whatever free-text information. This field is intented to be managed by the automatic_item_modification_by_age cronjob.',
3738
  `exclude_from_local_holds_priority` tinyint(1) DEFAULT NULL COMMENT 'Exclude this item from local holds priority',
3789
  `exclude_from_local_holds_priority` tinyint(1) DEFAULT NULL COMMENT 'Exclude this item from local holds priority',
3790
  `holding_id` int(11) DEFAULT NULL COMMENT 'foreign key from holdings table used to link this item to the right holdings record',
3739
  PRIMARY KEY (`itemnumber`),
3791
  PRIMARY KEY (`itemnumber`),
3740
  UNIQUE KEY `itembarcodeidx` (`barcode`),
3792
  UNIQUE KEY `itembarcodeidx` (`barcode`),
3741
  KEY `itemstocknumberidx` (`stocknumber`),
3793
  KEY `itemstocknumberidx` (`stocknumber`),
Lines 3748-3757 CREATE TABLE `items` ( Link Here
3748
  KEY `items_ccode` (`ccode`),
3800
  KEY `items_ccode` (`ccode`),
3749
  KEY `itype_idx` (`itype`),
3801
  KEY `itype_idx` (`itype`),
3750
  KEY `timestamp` (`timestamp`),
3802
  KEY `timestamp` (`timestamp`),
3803
  KEY `hldid_idx` (`holding_id`),
3751
  CONSTRAINT `items_ibfk_1` FOREIGN KEY (`biblioitemnumber`) REFERENCES `biblioitems` (`biblioitemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
3804
  CONSTRAINT `items_ibfk_1` FOREIGN KEY (`biblioitemnumber`) REFERENCES `biblioitems` (`biblioitemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
3752
  CONSTRAINT `items_ibfk_2` FOREIGN KEY (`homebranch`) REFERENCES `branches` (`branchcode`) ON UPDATE CASCADE,
3805
  CONSTRAINT `items_ibfk_2` FOREIGN KEY (`homebranch`) REFERENCES `branches` (`branchcode`) ON UPDATE CASCADE,
3753
  CONSTRAINT `items_ibfk_3` FOREIGN KEY (`holdingbranch`) REFERENCES `branches` (`branchcode`) ON UPDATE CASCADE,
3806
  CONSTRAINT `items_ibfk_3` FOREIGN KEY (`holdingbranch`) REFERENCES `branches` (`branchcode`) ON UPDATE CASCADE,
3754
  CONSTRAINT `items_ibfk_4` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE
3807
  CONSTRAINT `items_ibfk_4` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
3808
  CONSTRAINT `items_ibfk_5` FOREIGN KEY (`holding_id`) REFERENCES `holdings` (`holding_id`) ON DELETE CASCADE ON UPDATE CASCADE
3755
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3809
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3756
/*!40101 SET character_set_client = @saved_cs_client */;
3810
/*!40101 SET character_set_client = @saved_cs_client */;
3757
3811
(-)a/installer/data/mysql/mandatory/auth_val_cat.sql (+1 lines)
Lines 27-32 INSERT IGNORE INTO authorised_value_categories( category_name, is_system ) Link Here
27
INSERT IGNORE INTO authorised_value_categories( category_name, is_system )
27
INSERT IGNORE INTO authorised_value_categories( category_name, is_system )
28
    VALUES
28
    VALUES
29
    ('branches', 1),
29
    ('branches', 1),
30
    ('holdings', 1),
30
    ('itemtypes', 1),
31
    ('itemtypes', 1),
31
    ('cn_source', 1);
32
    ('cn_source', 1);
32
33
(-)a/installer/data/mysql/mandatory/sysprefs.sql (+1 lines)
Lines 717-722 INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` Link Here
717
('SubscriptionLog','1',NULL,'If ON, enables subscriptions log','YesNo'),
717
('SubscriptionLog','1',NULL,'If ON, enables subscriptions log','YesNo'),
718
('suggestion','1','','If ON, enables patron suggestions feature in OPAC','YesNo'),
718
('suggestion','1','','If ON, enables patron suggestions feature in OPAC','YesNo'),
719
('suggestionPatronCategoryExceptions', '', '', 'List the patron categories not affected by suggestion system preference if on', 'Free'),
719
('suggestionPatronCategoryExceptions', '', '', 'List the patron categories not affected by suggestion system preference if on', 'Free'),
720
('SummaryHoldings', '0', NULL, 'If ON, enables support for holdings records.', 'YesNo'),
720
('SuspendHoldsIntranet','1','Allow holds to be suspended from the intranet.',NULL,'YesNo'),
721
('SuspendHoldsIntranet','1','Allow holds to be suspended from the intranet.',NULL,'YesNo'),
721
('SuspendHoldsOpac','1','Allow holds to be suspended from the OPAC.',NULL,'YesNo'),
722
('SuspendHoldsOpac','1','Allow holds to be suspended from the OPAC.',NULL,'YesNo'),
722
('SuspensionsCalendar','noSuspensionsWhenClosed','ignoreCalendar|noSuspensionsWhenClosed','Specify whether to use the Calendar in calculating suspension expiration','Choice'),
723
('SuspensionsCalendar','noSuspensionsWhenClosed','ignoreCalendar|noSuspensionsWhenClosed','Specify whether to use the Calendar in calculating suspension expiration','Choice'),
(-)a/koha-tmpl/intranet-tmpl/prog/css/addholding.css (+448 lines)
Line 0 Link Here
1
form {
2
    display: block;
3
}
4
5
div#toolbar {
6
    border: 0;
7
    margin-bottom: 0;
8
    padding-top: 5px;
9
}
10
11
.tab-content {
12
    border: 0;
13
    border-radius: 0;
14
    padding: 0;
15
}
16
17
.tab-pane h3 {
18
    font-size: 140%;
19
    margin: .3em 0;
20
}
21
22
.tab-pane ul {
23
    margin-bottom: 0;
24
    padding-left: 0;
25
}
26
27
ul li.tag,
28
ul li.tag li.subfield_line {
29
    list-style-type: none;
30
    padding-left: 30px;
31
    position: relative;
32
}
33
34
ul li.tag::before {
35
    content: " ";
36
    font-size: .8em;
37
    left: 10px;
38
    padding-top: 1.7em;
39
    position: absolute;
40
    top: 0;
41
}
42
43
ul li.tag.sortable_tag::before,
44
ul li.tag li.subfield_line::before {
45
    color: #999;
46
    content: "\f0c9";
47
    cursor: move;
48
    font-family: FontAwesome;
49
    font-size: .8em;
50
    left: 10px;
51
    position: absolute;
52
    top: 0;
53
}
54
55
li.ui-sortable-helper {
56
    background-color: #E0E0E0;
57
    border-radius: 4px;
58
    max-height: 150px;
59
    padding: 2px;
60
}
61
62
li.ui-sortable-helper ul li {
63
    display: none !important;
64
}
65
66
.sortable_subfield .ui-sortable-helper input.flat {
67
    background-color: transparent;
68
}
69
70
ul li.tag li.subfield_line.ui-sortable-helper::before {
71
    top: 5px;
72
}
73
74
.buttonPlus {
75
    font-weight: bold;
76
    text-decoration: none;
77
}
78
79
.buttonMinus {
80
    font-weight: bold;
81
    text-decoration: none;
82
}
83
84
a.expandfield {
85
    text-decoration: none;
86
}
87
88
.toptabs {
89
    margin-left: -5px;
90
    margin-top: 0;
91
}
92
93
.toptabs .tab-pane {
94
    padding: 1em;
95
}
96
97
.tag {
98
    border-bottom: 2px solid #E4F2DA;
99
    clear: both;
100
    padding: .7em 0;
101
}
102
103
li.subfield_line {
104
    clear: left;
105
    float: left;
106
    padding-bottom: .3em;
107
    width: 100%;
108
}
109
110
li.subfield_line label {
111
    clear: left;
112
    float: left;
113
    font-size: 89%;
114
    padding-right: .4em;
115
    text-align: left;
116
    width: 10em;
117
}
118
119
.subfieldcode img {
120
    cursor: pointer;
121
}
122
123
.tag_title {
124
    font-size: 90%;
125
    padding: .2em 0;
126
}
127
128
.tagnum {
129
    color: #000;
130
    font-size: 130%;
131
    font-weight: bold;
132
    padding: .1em .3em .1em 0;
133
}
134
135
a.tagnum {
136
    color: #000;
137
    font-size: 110%;
138
    font-weight: bold;
139
    padding: .1em .3em .1em 0;
140
    text-decoration: none;
141
}
142
143
.subfield {
144
    color: #00698A;
145
    float: left;
146
    text-align: right;
147
    width: 10em;
148
}
149
150
.subfield.subfield_mandatory {
151
    color: #C00;
152
}
153
154
.subfieldcode {
155
    display: block;
156
    float: left;
157
    padding-right: 2px;
158
}
159
160
.labelsubfield {
161
    float: left;
162
}
163
164
#cat_addholding .subfieldcode {
165
    float: none;
166
}
167
168
#cat_addholding .labelsubfield {
169
    float: none;
170
    font-size: 90%;
171
}
172
173
#cat_addholding .subfield,
174
#authoritytabs .subfield {
175
    float: none;
176
    padding: .25em .5em;
177
}
178
179
#cat_addholding .subfield label,
180
#authoritytabs .subfield label {
181
    color: #00698A;
182
}
183
184
.input_marceditor {
185
    float: left;
186
    width: 50%;
187
}
188
189
#cat_addholding .input_marceditor {
190
    float: none;
191
    width: 100%;
192
}
193
194
#cat_addholding .subfield_line {
195
    display: flex;
196
}
197
198
#cat_addholding .field_marceditor {
199
    flex-grow: 1;
200
    padding: .25em .5em;
201
}
202
203
#cat_addholding .subfield_loop_mandatory {
204
    padding: .25em .5em;
205
}
206
207
.indicator {
208
    box-sizing: content-box;
209
    width: 1em;
210
}
211
212
.item_edit_form .subfield_line {
213
    align-items: flex-start;
214
    display: flex;
215
    flex-basis: 100%;
216
}
217
218
div.item_edit_form ol li label,
219
div.item_edit_form ol li span.label {
220
    flex-basis: 25%;
221
    font-size: 100%;
222
    margin-right: 1rem;
223
}
224
225
div.item_edit_form ol li {
226
    padding-bottom: 3px;
227
}
228
229
.item_edit_form .input_marceditor {
230
    flex-basis: 50%;
231
    float: none;
232
}
233
234
.item_edit_form textarea.input_marceditor {
235
    width: 31em;
236
}
237
238
div.item_edit_form ol li label:first-child,
239
fieldset.order_details ol li label:first-child,
240
div.item_edit_form ol li .label:first-child,
241
fieldset.order_details ol li .label:first-child {
242
    flex-basis: 25%;
243
}
244
245
#cat_addholding .field_marceditor .flatpickr_wrapper {
246
    display: none;
247
}
248
249
.mandatory_marker {
250
    color: #C00;
251
}
252
253
.linktools {
254
    display: block;
255
    white-space: nowrap;
256
}
257
258
.linktools a {
259
    background-color: #FFF;
260
    display: block;
261
    font-size: 75%;
262
    margin: 0 2px;
263
    padding: 2px;
264
    text-align: center;
265
    text-decoration: none;
266
}
267
268
.linktools a:first-child {
269
    border-bottom: 1px solid #DDD;
270
}
271
272
.linktools a:hover {
273
    background-color: #FFC;
274
}
275
276
.subfield_controls {
277
    margin: 0 .5em;
278
}
279
280
#cataloguing_additem_itemlist {
281
    margin-bottom: 1em;
282
}
283
284
tbody tr.active:nth-child( 2n+1 ) td,
285
tbody tr.active td {
286
    background-color: #FFFFCC;
287
}
288
289
#loading {
290
    background-color: #FFF;
291
    cursor: wait;
292
    height: 100%;
293
    left: 0;
294
    opacity: .7;
295
    position: fixed;
296
    top: 0;
297
    width: 100%;
298
    z-index: 1000;
299
}
300
301
#loading div {
302
    background: transparent url( "../img/loading.gif" ) top left no-repeat;
303
    font-size: 175%;
304
    font-weight: bold;
305
    height: 2em;
306
    left: 50%;
307
    margin: -1em 0 0 -2.5em;
308
    padding-left: 50px;
309
    position: absolute;
310
    top: 50%;
311
    width: 15em;
312
}
313
314
.toolbar-tabs-container {
315
    flex-basis: 100%;
316
    margin-top: .5em;
317
}
318
319
.toolbar-tabs {
320
    background-color: #FFF;
321
    clear: both;
322
    display: flex;
323
    flex-direction: row;
324
    justify-content: center;
325
    margin-bottom: 0;
326
    padding-left: 0;
327
}
328
329
.toolbar-tabs li {
330
    background-color: #FFF;
331
    display: flex;
332
    flex-grow: 1;
333
    justify-content: center;
334
    margin-bottom: 0;
335
    text-align: center;
336
}
337
338
.toolbar-tabs li a {
339
    background-color: #71B443;
340
    border: 1px solid #71B443;
341
    border-left: 0;
342
    border-radius: 5px;
343
    border-right: 1px solid #71B443;
344
    color: #FFF;
345
    display: block;
346
    font-weight: bold;
347
    margin: 5px;
348
    padding: .3em 1.5em;
349
    width: 100%;
350
}
351
352
.toolbar-tabs li.selected a {
353
    background-color: #418940;
354
    border-bottom: 1px solid #418940;
355
    border-right: 1px solid #418940;
356
    color: #FFF;
357
    display: block;
358
    font-weight: bold;
359
    margin: 5px;
360
    padding: .3em 1.5em;
361
    text-decoration: none;
362
    width: 100%;
363
}
364
365
.toolbar-tabs li.selected a:hover {
366
    background-color: #418940;
367
}
368
369
.toolbar-tabs li a:hover {
370
    background-color: #418940;
371
    border-bottom: 1px solid #418940;
372
    border-right: 1px solid #418940;
373
    color: #FFF;
374
    display: block;
375
    font-weight: bold;
376
    margin: 5px;
377
    padding: .3em 1.5em;
378
    text-decoration: none;
379
    width: 100%;
380
}
381
382
.tag_anchors_list {
383
    background-color: #FFF;
384
    clear: both;
385
    display: block;
386
    font-size: 95%;
387
    margin-bottom: 0;
388
    padding-left: 0;
389
}
390
391
.tag_anchor.selected {
392
    font-weight: bold;
393
}
394
395
.tag_anchors {
396
    display: none;
397
    padding: .5em 0;
398
}
399
400
.tag_anchors a {
401
    border-right: 1px solid #CCC;
402
    display: inline-block;
403
    padding: 0 .4em;
404
}
405
406
.tag_anchors.tab_selected {
407
    display: inline-block;
408
}
409
410
.show-errors {
411
    background: #FFEC8C none;
412
    border-color: #E0C726;
413
    color: #000;
414
    display: none;
415
    text-shadow: none;
416
}
417
418
.floating .show-errors {
419
    display: inline-block;
420
}
421
422
@media ( min-width: 768px ) {
423
    li.subfield_line label {
424
        width: 20em;
425
    }
426
427
    .input_marceditor {
428
        width: 50em;
429
    }
430
431
    .subfield {
432
        width: 14em;
433
    }
434
}
435
436
@media ( min-width: 1200px ) {
437
    li.subfield_line label {
438
        width: 25em;
439
    }
440
441
    .input_marceditor {
442
        width: 60em;
443
    }
444
445
    .subfield {
446
        width: 16em;
447
    }
448
}
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/cat-toolbar.inc (+4 lines)
Lines 10-15 Link Here
10
             <li><a id="newbiblio" href="/cgi-bin/koha/cataloguing/addbiblio.pl">New record</a></li>
10
             <li><a id="newbiblio" href="/cgi-bin/koha/cataloguing/addbiblio.pl">New record</a></li>
11
            [% END %]
11
            [% END %]
12
12
13
            [% IF ( Koha.Preference('SummaryHoldings') && CAN_user_editcatalogue_edit_items ) %]
14
            <li><a id="newholding" href="/cgi-bin/koha/cataloguing/addholding.pl?biblionumber=[% biblionumber | uri %]">New holdings record</a></li>
15
            [% END %]
16
13
            [% IF ( CAN_user_editcatalogue_edit_items ) %]
17
            [% IF ( CAN_user_editcatalogue_edit_items ) %]
14
             <li><a id="newitem" href="/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% biblionumber | html %]#additema">New item</a></li>
18
             <li><a id="newitem" href="/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% biblionumber | html %]#additema">New item</a></li>
15
            [% END %]
19
            [% END %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt (+4 lines)
Lines 202-207 Link Here
202
                                                        [% IF (cannotdelbiblio.itemcount) %]<li>[% cannotdelbiblio.itemcount | html %] item(s) attached.</li>[% END %]
202
                                                        [% IF (cannotdelbiblio.itemcount) %]<li>[% cannotdelbiblio.itemcount | html %] item(s) attached.</li>[% END %]
203
                                                        [% IF (cannotdelbiblio.subscriptions) %]<li>[% cannotdelbiblio.subscriptions | html %] subscription(s) attached.</li>[% END %]
203
                                                        [% IF (cannotdelbiblio.subscriptions) %]<li>[% cannotdelbiblio.subscriptions | html %] subscription(s) attached.</li>[% END %]
204
                                                        [% IF (cannotdelbiblio.countbiblio) %]<li>[% cannotdelbiblio.countbiblio | html %] order(s) attached.</li>[% END %]
204
                                                        [% IF (cannotdelbiblio.countbiblio) %]<li>[% cannotdelbiblio.countbiblio | html %] order(s) attached.</li>[% END %]
205
                                                        [% IF (cannotdelbiblio.holdingscount) %]<li>[% cannotdelbiblio.holdingscount | html %] holdings record(s) attached.</li>[% END %]
205
                                                        [% IF (cannotdelbiblio.othererror) %]<li>Unknown error.</li>[% END %]
206
                                                        [% IF (cannotdelbiblio.othererror) %]<li>Unknown error.</li>[% END %]
206
                                                    </ul>
207
                                                    </ul>
207
                                                </li>
208
                                                </li>
Lines 703-708 Link Here
703
                                                                        [% ELSE %]
704
                                                                        [% ELSE %]
704
                                                                            <span class="button" title="Can't delete catalog record, see constraints below">Can't cancel order and delete catalog record</span><br>
705
                                                                            <span class="button" title="Can't delete catalog record, see constraints below">Can't cancel order and delete catalog record</span><br>
705
                                                                        [% END %]
706
                                                                        [% END %]
707
                                                                        [% IF ( books_loo.holdings ) %]
708
                                                                            <strong title="Can't delete catalog record, because of [% books_loo.holdings | html %] existing holdings record(s)" >[% books_loo.holdings | html %] holdings record(s) left</strong><br>
709
                                                                        [% END %]
706
                                                                        [% IF ( books_loo.left_item ) %]
710
                                                                        [% IF ( books_loo.left_item ) %]
707
                                                                            <strong title="Can't delete catalog record, because of [% books_loo.items | html %] existing hold(s)" >[% books_loo.items | html %] item(s) left</strong><br>
711
                                                                            <strong title="Can't delete catalog record, because of [% books_loo.items | html %] existing hold(s)" >[% books_loo.items | html %] item(s) left</strong><br>
708
                                                                        [% END %]
712
                                                                        [% END %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt (+4 lines)
Lines 1-5 Link Here
1
[% USE raw %]
1
[% USE raw %]
2
[% USE Asset %]
2
[% USE Asset %]
3
[% USE Holdings %]
3
[% USE Koha %]
4
[% USE Koha %]
4
[% USE KohaDates %]
5
[% USE KohaDates %]
5
[% USE Price %]
6
[% USE Price %]
Lines 236-241 Link Here
236
    [% INCLUDE 'acquisitions-search.inc' %]
237
    [% INCLUDE 'acquisitions-search.inc' %]
237
[% END %]
238
[% END %]
238
239
240
[% ShowSummaryHoldings = Koha.Preference('SummaryHoldings') %]
241
239
[% WRAPPER 'sub-header.inc' %]
242
[% WRAPPER 'sub-header.inc' %]
240
    [% WRAPPER breadcrumbs %]
243
    [% WRAPPER breadcrumbs %]
241
        [% WRAPPER breadcrumb_item %]
244
        [% WRAPPER breadcrumb_item %]
Lines 498-503 Link Here
498
                      <tr>
501
                      <tr>
499
                          <th class="noExport">Actions</th>
502
                          <th class="noExport">Actions</th>
500
                          <th>Barcode</th>
503
                          <th>Barcode</th>
504
                          [% IF (ShowSummaryHoldings) %]<th id="holdings_record">Holdings record</th>[% END %]
501
                          <th>Home library</th>
505
                          <th>Home library</th>
502
                          <th>Holding library</th>
506
                          <th>Holding library</th>
503
                          <th>Not for loan</th>
507
                          <th>Not for loan</th>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/biblio_framework.tt (-2 / +1 lines)
Lines 180-186 Link Here
180
    <tbody>
180
    <tbody>
181
    <tr>
181
    <tr>
182
        <td>&nbsp;</td>
182
        <td>&nbsp;</td>
183
        <td>Default framework</td>
183
        <td>Default bibliographic framework</td>
184
        <td>
184
        <td>
185
          <div class="btn-group dropup">
185
          <div class="btn-group dropup">
186
            <a class="btn btn-default btn-xs dropdown-toggle" id="frameworkactions[% loo.frameworkcode | html %]" role="button" data-toggle="dropdown" href="#">
186
            <a class="btn btn-default btn-xs dropdown-toggle" id="frameworkactions[% loo.frameworkcode | html %]" role="button" data-toggle="dropdown" href="#">
Lines 244-250 Link Here
244
        </div> <!-- /#import_modal_... -->
244
        </div> <!-- /#import_modal_... -->
245
        </td>
245
        </td>
246
    </tr>
246
    </tr>
247
248
    [% FOREACH loo IN frameworks %]
247
    [% FOREACH loo IN frameworks %]
249
        <tr>
248
        <tr>
250
            <td>[% loo.frameworkcode | html %]</td>
249
            <td>[% loo.frameworkcode | html %]</td>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref (+7 lines)
Lines 399-401 Cataloging: Link Here
399
            - "All values of repeating tags and subfields will be printed with the given RIS tag."
399
            - "All values of repeating tags and subfields will be printed with the given RIS tag."
400
            - "<br/>"
400
            - "<br/>"
401
            - "Use of TY ( record type ) as a key will <em>replace</em> the default TY with the field value of your choosing."
401
            - "Use of TY ( record type ) as a key will <em>replace</em> the default TY with the field value of your choosing."
402
    Holdings:
403
        -
404
            - pref: SummaryHoldings
405
              choices:
406
                  1: Use
407
                  0: "Don't use"
408
            - summary holdings records.
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt (-5 / +71 lines)
Lines 9-14 Link Here
9
[% USE Frameworks %]
9
[% USE Frameworks %]
10
[% USE Price %]
10
[% USE Price %]
11
[% USE TablesSettings %]
11
[% USE TablesSettings %]
12
[% USE Holdings %]
12
[% PROCESS 'i18n.inc' %]
13
[% PROCESS 'i18n.inc' %]
13
[% SET CoverImagePlugins = KohaPlugins.get_plugins_intranet_cover_images %]
14
[% SET CoverImagePlugins = KohaPlugins.get_plugins_intranet_cover_images %]
14
15
Lines 33-38 Link Here
33
34
34
[% SET plugins_intranet_catalog_biblio_tabs = KohaPlugins.get_plugins_intranet_catalog_biblio_tab({ biblio => biblio, biblio_id => biblionumber }) %]
35
[% SET plugins_intranet_catalog_biblio_tabs = KohaPlugins.get_plugins_intranet_catalog_biblio_tab({ biblio => biblio, biblio_id => biblionumber }) %]
35
36
37
[% ShowSummaryHoldings = Koha.Preference('SummaryHoldings') %]
38
36
[% SET footerjs = 1 %]
39
[% SET footerjs = 1 %]
37
[% INCLUDE 'doc-head-open.inc' %]
40
[% INCLUDE 'doc-head-open.inc' %]
38
<title>[% FILTER collapse %]
41
<title>[% FILTER collapse %]
Lines 282-295 Link Here
282
<ul class="nav nav-tabs" role="tablist">
285
<ul class="nav nav-tabs" role="tablist">
283
    [% IF (SeparateHoldings) %]
286
    [% IF (SeparateHoldings) %]
284
        <li role="presentation">
287
        <li role="presentation">
285
            <a href="#holdings" aria-controls="holdings" role="tab" data-toggle="tab">[% Branches.GetLoggedInBranchname | html %] holdings ([% itemloop.size() || 0 | html %])</a>
288
            <a href="#holdings" aria-controls="holdings" role="tab" data-toggle="tab">[% Branches.GetLoggedInBranchname | html %] [% IF (ShowSummaryHoldings) %]items[% ELSE %]holdings[% END %] ([% itemloop.size() || 0 | html %])</a>
286
        </li>
289
        </li>
287
        <li role="presentation">
290
        <li role="presentation">
288
            <a href="#otherholdings"  aria-controls="otherholdings" role="tab" data-toggle="tab">Other holdings ([% otheritemloop.size() || 0 | html %])</a>
291
            <a href="#otherholdings"  aria-controls="otherholdings" role="tab" data-toggle="tab">[% IF (ShowSummaryHoldings) %]Other items[% ELSE %]Other holdings[% END %] ([% otheritemloop.size() || 0 | html %])</a>
289
        </li>
292
        </li>
290
    [% ELSE %]
293
    [% ELSE %]
291
        <li role="presentation">
294
        <li role="presentation">
292
            <a href="#holdings" aria-controls="holdings" role="tab" data-toggle="tab">Holdings ([% itemloop.size() || 0 | html %])</a>
295
            <a href="#holdings" aria-controls="holdings" role="tab" data-toggle="tab">[% IF (ShowSummaryHoldings) %]Items[% ELSE %]Holdings[% END %] ([% itemloop.size() || 0 | html %])</a>
296
        </li>
297
    [% END %]
298
    [% IF (ShowSummaryHoldings) %]
299
        <li role="presentation">
300
            <a href="#summaryholdings" aria-controls="summaryholdings" role="tab" data-toggle="tab">Holdings ([% summary_holdings.count() || 0 | html %])</a>
293
        </li>
301
        </li>
294
    [% END %]
302
    [% END %]
295
    [% IF Koha.Preference('EnableItemGroups') %]
303
    [% IF Koha.Preference('EnableItemGroups') %]
Lines 351-356 Link Here
351
                    <th id="[% tab | html %]_cover_image" data-colname="[% tab | html %]_cover_image">Cover image</th>
359
                    <th id="[% tab | html %]_cover_image" data-colname="[% tab | html %]_cover_image">Cover image</th>
352
                [% END %]
360
                [% END %]
353
                [% IF ( item_level_itypes ) %]<th id="[% tab | html %]_itype" data-colname="[% tab | html %]_itype">Item type</th>[% END %]
361
                [% IF ( item_level_itypes ) %]<th id="[% tab | html %]_itype" data-colname="[% tab | html %]_itype">Item type</th>[% END %]
362
                [% IF ( ShowSummaryHoldings ) %]<th>Holdings record</th>[% END %]
354
                <th id="[% tab | html %]_holdingbranch" data-colname="[% tab | html %]_holdingbranch">Current library</th>
363
                <th id="[% tab | html %]_holdingbranch" data-colname="[% tab | html %]_holdingbranch">Current library</th>
355
                <th id="[% tab | html %]_homebranch" data-colname="[% tab | html %]_homebranch">Home library</th>
364
                <th id="[% tab | html %]_homebranch" data-colname="[% tab | html %]_homebranch">Home library</th>
356
                [% IF ( itemdata_ccode ) %]<th id="[% tab | html %]_ccode" data-colname="[% tab | html %]_ccode">Collection</th>[% END %]
365
                [% IF ( itemdata_ccode ) %]<th id="[% tab | html %]_ccode" data-colname="[% tab | html %]_ccode">Collection</th>[% END %]
Lines 417-422 Link Here
417
                            <span class="itypedesc itypetext">[% itemtype.translated_description | html %]</span>
426
                            <span class="itypedesc itypetext">[% itemtype.translated_description | html %]</span>
418
                        </td>
427
                        </td>
419
                    [% END %]
428
                    [% END %]
429
                    [% IF ( ShowSummaryHoldings ) %]
430
                        <td class="holding">[% Holdings.GetLocation(item.holding_id) | html %]</td>
431
                    [% END %]
420
                    <td class="location">[% UNLESS ( singlebranchmode ) %][% Branches.GetName( item.holdingbranch ) | html %] [% END %]</td>
432
                    <td class="location">[% UNLESS ( singlebranchmode ) %][% Branches.GetName( item.holdingbranch ) | html %] [% END %]</td>
421
                    <td class="homebranch">
433
                    <td class="homebranch">
422
                        <span class="homebranchdesc">[% Branches.GetName(item.homebranch) | html %]</span>
434
                        <span class="homebranchdesc">[% Branches.GetName(item.homebranch) | html %]</span>
Lines 663-668 Link Here
663
675
664
[% END %][%# end of block items_table %]
676
[% END %][%# end of block items_table %]
665
677
678
[% IF ( ShowSummaryHoldings ) %]
679
    <div role="tabpanel" class="tab-pane" id="summaryholdings">
680
681
    [% IF ( summary_holdings.count() ) %]
682
        <div class="summaryholdings_table_controls">
683
        </div>
684
        <table class="summaryholdings_table">
685
            <thead>
686
                <tr>
687
                    <th>Library</th>
688
                    <th>Location</th>
689
                    <th>Collection</th>
690
                    <th>Call number</th>
691
                    <th>Status</th>
692
                    [% IF ( CAN_user_editcatalogue_edit_items ) %]<th class="NoSort">&nbsp;</th>[% END %]
693
                </tr>
694
            </thead>
695
            <tbody>
696
                [% FOREACH holding IN summary_holdings %]
697
                    <tr>
698
                        <td class="branch">[% UNLESS ( singlebranchmode ) %][% Branches.GetName( holding.holdingbranch ) | html %] [% END %]</td>
699
                        <td class="location"><span class="shelvingloc">[% holding.location | html %]</span>
700
                        <td class="collection">[% holding.ccode | html %]</span>
701
                        <td class="itemcallnumber">[% IF ( holding.callnumber ) %] [% holding.callnumber | html %][% END %]</td>
702
                        <td class="status">
703
                            [% IF ( holding.suppress ) %]
704
                                <span class="suppressed">Suppressed in OPAC</span>
705
                            [% END %]
706
                        </td>
707
                    [% IF CAN_user_editcatalogue_edit_items %]
708
                        <td class="actions">
709
                            <a class="btn btn-default btn-xs" href="/cgi-bin/koha/cataloguing/addholding.pl?op=edit&amp;biblionumber=[% holding.biblionumber | uri %]&amp;holding_id=[% holding.holding_id | uri %]"><i class="fa fa-pencil"></i> Edit</a>
710
                            <a class="btn btn-default btn-xs delete" href="/cgi-bin/koha/cataloguing/addholding.pl?op=delete&amp;biblionumber=[% holding.biblionumber | uri %]&amp;holding_id=[% holding.holding_id | uri %]"><i class="fa fa-eraser"></i> Delete</a>
711
                            <a class="btn btn-default btn-xs" href="/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% holding.biblionumber | uri %]&amp;holding_id=[% holding.holding_id | uri %]#additema"><i class="fa fa-plus"></i> Add item</a>
712
                            <a class="btn btn-default btn-xs previewMARC" href="/cgi-bin/koha/catalogue/showmarc.pl?holding_id=[% holding.holding_id | uri %]&amp;viewas=html" title="MARC">Show MARC</a>
713
                        </td>
714
                    [% END %]
715
                    </tr>
716
                [% END %]
717
            </tbody>
718
        </table>
719
    [% ELSE %]
720
        <div id="noitems">No holdings records</div>
721
    [% END %]
722
723
    </div>
724
[% END %]
725
666
[% IF Koha.Preference('EnableItemGroups') %]
726
[% IF Koha.Preference('EnableItemGroups') %]
667
    <div role="tabpanel" class="tab-pane" id="item_groups">
727
    <div role="tabpanel" class="tab-pane" id="item_groups">
668
        [% IF CAN_user_editcatalogue_manage_item_groups %]
728
        [% IF CAN_user_editcatalogue_manage_item_groups %]
Lines 1695-1707 Link Here
1695
                    $("input[name='itemnumber'][type='checkbox']", $("#"+tab)).prop('checked', false);
1755
                    $("input[name='itemnumber'][type='checkbox']", $("#"+tab)).prop('checked', false);
1696
                    itemSelectionBuildActionLinks(tab);
1756
                    itemSelectionBuildActionLinks(tab);
1697
                });
1757
                });
1758
1759
                $('a.delete').click(function() {
1760
                    return confirm(_("Are you sure?"));
1761
                });
1698
            });
1762
            });
1699
        [% END %]
1763
        [% END %]
1700
1764
1701
        $(document).ready(function() {
1765
        $(document).ready(function() {
1702
            // Pick details tab to display by default
1766
            // Pick ShowSummaryHoldings and then details tab to display by default
1703
            [% IF count == 0 %]
1767
            [% IF count == 0 %]
1704
                [% IF ( Koha.Preference('HTML5MediaEnabled') == 'staff' or Koha.Preference('HTML5MediaEnabled') == 'both' ) && HTML5MediaSets.size %]
1768
                [% IF ShowSummaryHoldings AND (summary_holdings.count() || 0) %]
1769
                    $(".nav-tabs a[href='#summaryholdings']").tab("show");
1770
                [% ELSIF ( Koha.Preference('HTML5MediaEnabled') == 'staff' or Koha.Preference('HTML5MediaEnabled') == 'both' ) && HTML5MediaSets.size %]
1705
                    $(".nav-tabs a[href='#html5media']").tab("show");
1771
                    $(".nav-tabs a[href='#html5media']").tab("show");
1706
                [% ELSIF ComponentParts && ComponentParts.size %]
1772
                [% ELSIF ComponentParts && ComponentParts.size %]
1707
                    $(".nav-tabs a[href='#components']").tab("show");
1773
                    $(".nav-tabs a[href='#components']").tab("show");
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt (+2 lines)
Lines 4-9 Link Here
4
[% USE Koha %]
4
[% USE Koha %]
5
[% USE Branches %]
5
[% USE Branches %]
6
[% USE Price %]
6
[% USE Price %]
7
[% USE Holdings %]
7
[% PROCESS 'i18n.inc' %]
8
[% PROCESS 'i18n.inc' %]
8
[% SET footerjs = 1 %]
9
[% SET footerjs = 1 %]
9
[% INCLUDE 'doc-head-open.inc' %]
10
[% INCLUDE 'doc-head-open.inc' %]
Lines 129-134 Link Here
129
130
130
                                <div class="rows">
131
                                <div class="rows">
131
                                    <ol class="bibliodetails">
132
                                    <ol class="bibliodetails">
133
                                        <li><span class="label">Holdings record:</span> [% Holdings.GetLocation( ITEM_DAT.holding_id ) | html %]&nbsp;</li>
132
                                        <li><span class="label">Home library:</span> [% Branches.GetName( ITEM_DAT.homebranch ) | html %]&nbsp;</li>
134
                                        <li><span class="label">Home library:</span> [% Branches.GetName( ITEM_DAT.homebranch ) | html %]&nbsp;</li>
133
                                        [% IF ( item_level_itypes ) %]
135
                                        [% IF ( item_level_itypes ) %]
134
                                            <li><span class="label">Item type:</span> [% ITEM_DAT.itype | html %]&nbsp;</li>
136
                                            <li><span class="label">Item type:</span> [% ITEM_DAT.itype | html %]&nbsp;</li>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt (+14 lines)
Lines 3-8 Link Here
3
[% USE Asset %]
3
[% USE Asset %]
4
[% USE Koha %]
4
[% USE Koha %]
5
[% USE Biblio %]
5
[% USE Biblio %]
6
[% USE Holdings %]
6
[% USE KohaDates %]
7
[% USE KohaDates %]
7
[% USE KohaPlugins %]
8
[% USE KohaPlugins %]
8
[% USE To %]
9
[% USE To %]
Lines 608-613 Link Here
608
609
609
                                            <td>
610
                                            <td>
610
                                                <div class="availability">
611
                                                <div class="availability">
612
                                                    [% IF ( SEARCH_RESULT.summary_holdings ) %]
613
                                                        <div class="holdings">
614
                                                            <strong>Holdings</strong>
615
                                                            <ul>
616
                                                            [% FOREACH holding IN SEARCH_RESULT.summary_holdings %]
617
                                                                <li>
618
                                                                    [% Holdings.GetLocation(holding) | html %]
619
                                                                </li>
620
                                                            [% END %]
621
                                                            </ul>
622
                                                        </div>
623
                                                    [% END %]
624
611
                                                    [% IF ( SEARCH_RESULT.items_count ) %]
625
                                                    [% IF ( SEARCH_RESULT.items_count ) %]
612
                                                        <div class="results_available_count">
626
                                                        <div class="results_available_count">
613
                                                            [% IF MaxSearchResultsItemsPerRecordStatusCheck && SEARCH_RESULT.items_count > MaxSearchResultsItemsPerRecordStatusCheck %]
627
                                                            [% IF MaxSearchResultsItemsPerRecordStatusCheck && SEARCH_RESULT.items_count > MaxSearchResultsItemsPerRecordStatusCheck %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addholding.tt (+895 lines)
Line 0 Link Here
1
[% USE raw %]
2
[% USE Asset %]
3
[% USE Koha %]
4
[% USE HtmlTags %]
5
[% INCLUDE 'doc-head-open.inc' %]
6
<title>Koha &rsaquo; Cataloging &rsaquo; [% title | html %] [% IF ( author ) %] by [% author | html %][% END %] (Record #[% biblionumber | html %]) &rsaquo; Holdings</title>
7
[% INCLUDE 'doc-head-close.inc' %]
8
[% INCLUDE 'calendar.inc' %]
9
[% Asset.js("lib/hc-sticky.js") | $raw %]
10
[% INCLUDE 'select2.inc' %]
11
<script>
12
    [% IF Koha.Preference('CreateAVFromCataloguing') && CAN_user_parameters_manage_auth_values %]
13
        var auth_values_creation = 1;
14
    [% ELSE %]
15
        var auth_values_creation = 0;
16
    [% END %]
17
    $.fn.select2.defaults.set("width", "100%" );
18
</script>
19
[% Asset.js("js/cataloging.js") | $raw %]
20
[% Asset.js("js/browser.js") | $raw %]
21
<script>
22
    var browser = KOHA.browser('[% searchid | html %]', parseInt('[% biblionumber | html %]', 10));
23
    browser.show();
24
25
    $(window).load(function(){
26
        $("#loading").hide();
27
    });
28
    var Sticky;
29
    $(document).ready(function() {
30
31
        $("a[data-toggle='tab']").on("shown.bs.tab", function (e) {
32
            $( e.target.hash + " .input_marceditor:visible:eq(0)").focus();
33
        });
34
35
        /* On page load, check for location.hash in the page URL */
36
        /* If present the location hash will be used to activate the correct tab */
37
        var hash = location.hash;
38
        var hashPieces = hash.split('?');
39
        console.log(hashPieces);
40
        if( hashPieces[0] !== "" && hashPieces[0] !== '#addholding' && hashPieces[0] !== '#editholding' ){
41
            selectTab( hashPieces[0] );
42
            window.scrollTo( 0, 0 );
43
        }
44
45
        $( "ul.sortable_field", "#addholdingtabs" ).sortable({
46
            axis: "y",
47
            containment: $("#addholdingtabs")
48
        });
49
        $( "ul.sortable_subfield", "#addholdingtabs" ).sortable({
50
            axis: "y",
51
            containment: "parent"
52
        });
53
54
        [% IF tab %]
55
            hash = "#[% tab | html %]";
56
            selectTab( hash );
57
        [% END %]
58
59
        Sticky = $("#toolbar");
60
        Sticky.hcSticky({
61
            stickTo: "#f",
62
            stickyClass: "floating"
63
        });
64
65
        /* check cookie to hide/show marcdocs*/
66
        if( Cookies.get("marcdocs_[% borrowernumber | html %]") == 'hide'){
67
            toggleMARCdocLinks(false);
68
        } else {
69
            toggleMARCdocLinks(true);
70
        }
71
72
        $("#marcDocsSelect").click(function(){
73
            if( Cookies.get("marcdocs_[% borrowernumber | html %]") == 'hide'){
74
                toggleMARCdocLinks(true);
75
            } else {
76
                toggleMARCdocLinks(false);
77
            }
78
        });
79
80
        /* check cookie to hide/show marc tags*/
81
        var marctags_cookie = Cookies.get("marctags_[% borrowernumber | html %]");
82
        if( marctags_cookie == 'hide'){
83
            toggleMARCTagLinks(false);
84
        } else if( marctags_cookie == 'show'){
85
            toggleMARCTagLinks(true)
86
        } else {
87
            [% UNLESS Koha.Preference("hide_marc") %]
88
                toggleMARCTagLinks(true)
89
            [% ELSE %]
90
                toggleMARCTagLinks(false);
91
            [% END %]
92
        }
93
94
        $("#marcTagsSelect").click(function(){
95
            if( Cookies.get("marctags_[% borrowernumber | html %]") == 'hide'){
96
                toggleMARCTagLinks(true)
97
            } else {
98
                toggleMARCTagLinks(false);
99
            }
100
        });
101
102
        $("#z3950search").click(function(){
103
            PopupZ3950();
104
        });
105
106
        $("#linkerbutton").click(function(){
107
            AutomaticLinker();
108
        });
109
110
        $("#saverecord").click(function(){
111
            $(".btn-group").removeClass("open");
112
            onOption();
113
            return false;
114
        });
115
116
        $("#saveandview").click(function(){
117
            $(".btn-group").removeClass("open");
118
            redirect("view");
119
            return false;
120
        });
121
122
        $("#saveanditems").click(function(){
123
            $(".btn-group").removeClass("open");
124
            redirect("items");
125
            return false;
126
        });
127
        $("#saveandcontinue").click(function(){
128
            $(".btn-group").removeClass("open");
129
            var tab = $("#addholdingtabs div.active:first").attr('id');
130
            $("#current_tab").val(tab);
131
            redirect("just_save", tab);
132
            return false;
133
        });
134
135
        $( '#switcheditor' ).click( function() {
136
            var breedingid = [% breedingid || "null" | html %];
137
138
            if ( !confirm( breedingid ? _("This record cannot be transferred to the advanced editor. Continue?") : _("Any changes will not be saved. Continue?") ) ) return false;
139
140
            Cookies.set( 'catalogue_editor_[% logged_in_user.borrowernumber | html %]', 'advanced', { expires: 365, path: '/', sameSite: 'Lax'  } );
141
142
            var holding_id = [% holding_id || "null" | html %];
143
144
            window.location = '/cgi-bin/koha/cataloguing/editor.pl#catalog/' + biblionumber + '/holdings/' + holding_id;
145
146
            return false;
147
        } );
148
        $(".change-framework").on("click", function(){
149
            var frameworkcode = $(this).data("frameworkcode");
150
            $("#frameworkcode").val( frameworkcode );
151
            Changefwk();
152
        });
153
154
        $(".toolbar-tabs a").on("click",function(e){
155
            e.preventDefault();
156
            selectTab( this.hash );
157
        });
158
159
        $(".tag_anchor").on("click", function(e){
160
            e.preventDefault();
161
            $(".tag_anchor").removeClass("selected");
162
            $(this).addClass("selected");
163
            var link = this.href;
164
            var linkid = link.substring( link.indexOf("#") + 1 );
165
            window.scrollTo( 0, getScrollto( linkid, "toolbar" ) );
166
        });
167
168
        $("body").on("click", ".linkfield", function(e){
169
            e.preventDefault();
170
            var tab = $(this).data("tab");
171
            var field = $(this).data("field");
172
            var tablink = $("a[data-tabid='" + tab + "']" ).get(0).hash;
173
            selectTab( tablink );
174
            window.scrollTo( 0, getScrollto( field, "toolbar" ) );
175
        });
176
177
        $("body").on("click", ".show-errors", function(e){
178
            document.getElementById("form-errors").scrollIntoView();
179
        });
180
181
    });
182
183
    function selectTab( tablink ){
184
        let a = $("a[href='" + tablink + "']");
185
        $(".toolbar-tabs li").removeClass("selected");
186
        a.tab("show").parent().addClass("selected");
187
        var tabid = a.data("tabid");
188
        $(".tag_anchors").removeClass("tab_selected").hide();
189
        $(".d" + tabid ).addClass("tab_selected").show();
190
    }
191
192
    /**
193
    * Returns a roughly ideal position to scroll an element into view
194
    * @param {string} target - The HTML id of the element to scroll into view
195
    * @param {string} elemid - The HTML id of the element which might obscure
196
    *                          the view of the target element e.g. a floating toolbar
197
    * @return {number} - The y-coordinate to pass to window.scrollTo()
198
    */
199
    function getScrollto( target, elemid ){
200
        var dest = $("#" + target );
201
        var yoffset = dest.offset();
202
203
        if( elemid != "" ){
204
            var element = $("#" + elemid );
205
            var elem_height = element.outerHeight();
206
        } else {
207
            elem_height = 0;
208
        }
209
        return yoffset.top - elem_height - 20;
210
    }
211
212
    function redirect(dest){
213
        $("#redirect").attr("value",dest);
214
        return Check();
215
    }
216
217
    [% IF ( CAN_user_editcatalogue_edit_items ) %]
218
        var onOption = function () {
219
            return Check();
220
        }
221
    [% END %]
222
223
function PopupMARCFieldDoc(field) {
224
    [% IF Koha.Preference('marcfielddocurl') %]
225
        var docurl = "[% Koha.Preference('marcfielddocurl').replace('"','&quot;') | html %]";
226
        docurl = docurl.replace("{MARC}", "[% marcflavour | html %]");
227
        docurl = docurl.replace("{FIELD}", ""+field);
228
        docurl = docurl.replace("{LANG}", "[% lang | html %]");
229
        window.open(docurl);
230
    [% ELSIF ( marcflavour == 'MARC21' ) %]
231
        _MARC21FieldDoc(field);
232
    [% ELSIF ( marcflavour == 'UNIMARC' ) %]
233
        _UNIMARCFieldDoc(field);
234
    [% END %]
235
}
236
    function confirmnotdup(redirect){
237
        $("#confirm_not_duplicate").attr("value","1");
238
        $("#redirect").attr("value",redirect);
239
        Check();
240
    }
241
242
    function Dopop(link,i) {
243
        defaultvalue = document.getElementById(i).value;
244
        window.open(link+"&result="+defaultvalue,"valuebuilder",'width=700,height=550,toolbar=false,scrollbars=yes');
245
    }
246
247
    /**
248
     * this function open a popup to search on z3950 server.
249
     */
250
    function PopupZ3950() {
251
        var strQuery = GetZ3950Terms();
252
        if(strQuery){
253
            window.open("/cgi-bin/koha/cataloguing/z3950_search.pl?biblionumber=[% biblionumber | html %]"+strQuery,"z3950search",'width=740,height=450,location=yes,toolbar=no,scrollbars=yes,resize=yes');
254
        }
255
    }
256
257
    function _MARC21FieldDoc(field) {
258
        if(field == 0) {
259
            window.open("http://www.loc.gov/marc/holdings/hdleader.html");
260
        } else if (field < 900) {
261
            window.open("http://www.loc.gov/marc/holdings/hd" + ("000"+field).slice(-3) + ".html");
262
        } else {
263
            window.open("http://www.loc.gov/marc/holdings/hd9xx.html");
264
        }
265
    }
266
267
    function _UNIMARCFieldDoc(field) {
268
        /* http://archive.ifla.org/VI/3/p1996-1/ is an outdated version of UNIMARC, but
269
           seems to be the only version available that can be linked to per tag.  More recent
270
           versions of the UNIMARC standard are available on the IFLA website only as
271
           PDFs!
272
        */
273
        var url;
274
        if (field == 0) {
275
            url = "http://archive.ifla.org/VI/3/p1996-1/uni.htm";
276
        } else {
277
            var first = field.substring(0,1);
278
            url = "http://archive.ifla.org/VI/3/p1996-1/uni" + first + ".htm#";
279
            if (first == 0) url = url + "b";
280
            url = first == 9
281
                  ? "http://archive.ifla.org/VI/3/p1996-1/uni9.htm"
282
                  : url + field;
283
        }
284
        window.open(url);
285
    }
286
287
    /*
288
     * Functions to hide/show marc docs and tags links
289
     */
290
291
    function toggleMARCdocLinks(flag){
292
        if( flag === true ){
293
            $(".marcdocs").show();
294
            Cookies.set("marcdocs_[% borrowernumber | html %]",'show', { path: "/", expires: 365, sameSite: 'Lax'  });
295
            $("#marcDocsSelect i").addClass('fa-check-square-o').removeClass('fa-square-o');
296
        } else {
297
            $(".marcdocs").hide();
298
            Cookies.set("marcdocs_[% borrowernumber | html %]",'hide', { path: "/", expires: 365, sameSite: 'Lax'  });
299
            $("#marcDocsSelect i").removeClass('fa-check-square-o').addClass('fa-square-o');
300
        }
301
    }
302
303
    function toggleMARCTagLinks(flag){
304
        if( flag === true ){
305
            $(".tagnum").show();
306
            $(".subfieldcode").show();
307
            Cookies.set("marctags_[% borrowernumber | html %]",'show', { path: "/", expires: 365, sameSite: 'Lax'  });
308
            $("#marcTagsSelect i").addClass('fa-check-square-o').removeClass('fa-square-o');
309
        } else {
310
            $(".tagnum").hide();
311
            $(".subfieldcode").hide();
312
            Cookies.set("marctags_[% borrowernumber | html %]",'hide', { path: "/", expires: 365, sameSite: 'Lax'  });
313
            $("#marcTagsSelect i").removeClass('fa-check-square-o').addClass('fa-square-o');
314
        }
315
    }
316
317
    /**
318
     * check if mandatory/important subfields are written
319
     * @param mandatory true to check for mandatories, false for importants
320
     */
321
    function AreFieldsNotOk (mandatory = true) {
322
        var mandatories = new Array();
323
        var mandatoriesfields = new Array();
324
        var tab = new Array();
325
        var label = new Array();
326
        var flag=0;
327
        var tabflag= new Array();
328
        [% FOREACH BIG_LOO IN BIG_LOOP %]
329
            [% FOREACH innerloo IN BIG_LOO.innerloop %]
330
                [% IF ( innerloo.mandatory ) %]
331
                    mandatoriesfields.push(new Array("[% innerloo.tag | html %]","[% innerloo.index | html %][% innerloo.random | html %]","[% innerloo.index | html %]"));
332
                [% END %]
333
                [% FOREACH subfield_loo IN innerloo.subfield_loop %]
334
                    [% IF ( subfield_loo.mandatory ) %]
335
                        mandatories.push("[% subfield_loo.id | html %]");
336
                        tab.push("[% BIG_LOO.number | html %]");
337
                        label.push("[% subfield_loo.marc_lib | $raw %]");
338
                    [% END %]
339
                [% END %]
340
            [% END %]
341
        [% END %]
342
        var StrAlert = _("Can't save this record because the following field aren't filled:");
343
        StrAlert += "\n\n";
344
        for (var i=0,len=mandatories.length; i<len ; i++) {
345
            var tag=mandatories[i].substr(4,3);
346
            var subfield=mandatories[i].substr(17,1);
347
            var tagnumber=mandatories[i].substr(19,mandatories[i].lastIndexOf("_")-19);
348
            if (tabflag[tag+subfield+tagnumber] ==  null) {
349
                tabflag[tag+subfield+tagnumber]=new Array();
350
                tabflag[tag+subfield+tagnumber][0]=0;
351
            }
352
            if (tabflag[tag+subfield+tagnumber][0] != 1 && (document.getElementById(mandatories[i]) != null && ! document.getElementById(mandatories[i]).value || document.getElementById(mandatories[i]) == null)) {
353
                tabflag[tag+subfield+tagnumber][0] = 0 + tabflag[tag+subfield+tagnumber] ;
354
                document.getElementById(mandatories[i]).setAttribute('class','subfield_not_filled');
355
                $('#' + mandatories[i]).focus();
356
                tabflag[tag+subfield+tagnumber][1]=label[i];
357
                tabflag[tag+subfield+tagnumber][2]=tab[i];
358
            } else {
359
                tabflag[tag+subfield+tagnumber][0] = 1;
360
            }
361
        }
362
        for (var tagsubfieldid in tabflag) {
363
        if (tabflag[tagsubfieldid][0]==0) {
364
            var tag=tagsubfieldid.substr(0,3);
365
            var subfield=tagsubfieldid.substr(3,1);
366
            StrAlert += "\t* "+_("tag %s subfield %s %s in tab %s").format(tag, subfield, tabflag[tagsubfieldid][1], tabflag[tagsubfieldid][2]) + "\n";
367
            flag=1;
368
        }
369
        }
370
371
        /* Check for mandatories field(not subfields) */
372
        for (var i=0,len=mandatoriesfields.length; i<len; i++) {
373
            isempty  = true;
374
            arr      = mandatoriesfields[i];
375
            divid    = "tag_" + arr[0] + "_" + arr[1];
376
            varegexp = new RegExp("^tag_" + arr[0] + "_code_");
377
378
            if(parseInt(arr[0]) >= 10){
379
                elem = document.getElementById(divid);
380
                eleminputs = elem.getElementsByTagName('input');
381
382
                for(var j=0,len2=eleminputs.length; j<len2; j++){
383
384
                    if(eleminputs[j].name.match(varegexp) && eleminputs[j].value){
385
                        inputregexp = new RegExp("^tag_" + arr[0] + "_subfield_" + eleminputs[j].value + "_" + arr[2]);
386
387
                        for( var k=0; k<len2; k++){
388
                            if( eleminputs[k].id.match(inputregexp) ){
389
                                if( eleminputs[k].value ){
390
                                    isempty = false
391
                                }
392
                            }
393
                        }
394
395
                        elemselect = elem.getElementsByTagName('select');
396
                        for( var k=0; k<elemselect.length; k++){
397
                            if(elemselect[k].id.match(inputregexp) && elemselect[k].value){
398
                                isempty = false
399
                            }
400
                        }
401
                    }
402
                }
403
404
                elemtextareas = elem.getElementsByTagName('textarea');
405
                for(var j=0,len2=elemtextareas.length; j<len2; j++){
406
                    // this bit assumes that the only textareas in this context would be for subfields
407
                    if (elemtextareas[j].value) {
408
                        isempty = false;
409
                    }
410
                }
411
            } else {
412
                isempty = false;
413
            }
414
415
            if(isempty){
416
                flag = true;
417
                if (mandatory) {
418
                    mandatoryFields[ arr[0] ] = {
419
                        importance: "mandatory",
420
                        elemid: "div_indicator_" + divid,
421
                        tab: arr[3]
422
                    }
423
                } else {
424
                    mandatoryFields[ arr[0] ] = {
425
                        importance: "important",
426
                        elemid: "div_indicator_" + divid,
427
                        tab: arr[3]
428
                    }
429
                }
430
            }
431
432
        }
433
434
        if( Object.entries(mandatoryFields).length > 0 ){
435
            StrAlert += "<h4>" + _("The following fields aren't filled:") + "</h4>";
436
            StrAlert += "<ul>";
437
            for( var prop in mandatoryFields ){
438
                if( mandatoryFields[prop]["importance"] == "mandatory" ){
439
                    StrAlert += "<li>" + _("Field %s is mandatory, at least one of its subfields must be filled.").format( prop ) + ' <a class="linkfield btn btn-link" href="#" data-tab="' + mandatoryFields[prop]["tab"] + '" data-field="' + mandatoryFields[prop]["elemid"] + '"><i class="fa fa-arrow-right" aria-hidden="true"></i> ' + _("Go to field") + '</a></li>';
440
                } else {
441
                    StrAlert += "<li>" + _("Field %s is important, at least one of its subfields must be filled.").format(prop) + ' <a class="linkfield btn btn-link" href="#" data-tab="' + mandatoryFields[prop]["tab"] + '" data-field="' + mandatoryFields[prop]["elemid"] + '"><i class="fa fa-arrow-right" aria-hidden="true"></i> ' + _("Go to field") + '</a></li>';
442
                }
443
            }
444
            StrAlert += "</ul>";
445
        }
446
        StrAlert += "</div>";
447
        if ( flag ) {
448
            $("#show-errors").html('<button type="button" class="btn btn-danger show-errors"><i class="fa fa-warning"></i> ' + _("Errors") + '</span>');
449
            return StrAlert;
450
        } else {
451
            return flag;
452
        }
453
    }
454
455
    /**
456
     * Run checks for mandatory and important fields
457
     * Output errors if necessary, or submit the form
458
     */
459
    function Check(){
460
        var StrAlert = AreFieldsNotOk();
461
        var StrWarning = AreFieldsNotOk( false );
462
        if( !StrAlert && StrWarning ){
463
            // Check important fields
464
            $("#check_errors").html( StrWarning );
465
            $('html, body').animate({ scrollTop: 0 }, 'fast');
466
467
            var r=confirm( _("Important fields(s) are not filled. Are you sure you want to save?" ) );
468
            if (! r){
469
                return false;
470
            } else {
471
                document.f.submit();
472
                return true;
473
            }
474
        } else if( StrAlert ){
475
            var strAll = StrAlert;
476
            if( StrWarning ){
477
                strAll += StrWarning;
478
            }
479
            $("#check_errors").html( strAll );
480
            $('html, body').animate({ scrollTop: 0 }, 'fast');
481
            Sticky.hcSticky('refresh');
482
            return false;
483
        } else if( !StrAlert && !StrWarning ){
484
            document.f.submit();
485
            return true;
486
        }
487
    }
488
489
    /**
490
     * check if z3950 mandatories are set or not
491
     */
492
    function GetZ3950Terms(){
493
        var frameworkcode = document.getElementById("frameworkcode").value;
494
        var strQuery = "&frameworkcode=" + encodeURIComponent(frameworkcode);
495
        var mandatories = new Array();
496
        var mandatories_label = new Array();
497
        [% FOREACH BIG_LOO IN BIG_LOOP %]
498
            [% FOREACH innerloo IN BIG_LOO.innerloop %]
499
                [% FOREACH subfield_loo IN innerloo.subfield_loop %]
500
                    [% IF ( subfield_loo.z3950_mandatory ) %]
501
                        mandatories.push("[% subfield_loo.id | html %]");
502
                        mandatories_label.push("[% subfield_loo.z3950_mandatory | html %]");
503
                    [% END %]
504
                [% END %]
505
            [% END %]
506
        [% END %]
507
508
        for(var i=0,len=mandatories.length; i<len ; i++){
509
            var field_value = document.getElementById(mandatories[i]).value;
510
            if( field_value ){
511
                strQuery += "&"+encodeURIComponent(mandatories_label[i])+"="+encodeURIComponent(field_value);
512
            }
513
        }
514
        return strQuery;
515
    }
516
517
    function Changefwk() {
518
        var f = document.f;
519
        f.op.value = "[% op | html %]";
520
        f.biblionumber.value = "[% biblionumber | html %]";
521
        f.holding_id.value = "[% holding_iddata | html %]";
522
        f.changed_framework.value = "changed";
523
        f.submit();
524
    }
525
526
    /* Wrap a value in HTML without putting HTML in translatable string */
527
    function formatFieldName( string ){
528
        return "<strong><em>" + string + "</em></strong>";
529
    }
530
531
    $(document).ready(function(){
532
        $('body').on('click','.expandfield',ExpandField);
533
    });
534
</script>
535
[% Asset.css("css/addholding.css") | $raw %]
536
</head>
537
<body id="cat_addholding" class="cat">
538
539
   <div id="loading">
540
       <div>Loading, please wait...</div>
541
   </div>
542
543
    [% WRAPPER 'header.inc' %]
544
        [% INCLUDE 'cataloging-search.inc' %]
545
    [% END %]
546
[% WRAPPER 'sub-header.inc' %]
547
    [% WRAPPER breadcrumbs %]
548
        [% WRAPPER breadcrumb_item %]
549
                <a href="/cgi-bin/koha/cataloguing/addbooks.pl">Cataloging</a>
550
        [% END %]
551
        [% WRAPPER breadcrumb_item %]
552
            <span>Editing <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber | uri %]">
553
                    <em>[% title | html %]</em> (Record number [% biblionumber | html %])</a>
554
                    [% IF ( author ) %] by [% author | html %][% END %]
555
            </span>
556
        [% END %]
557
        [% WRAPPER breadcrumb_item bc_active= 1 %]
558
            <span><a aria-current="page" href="/cgi-bin/koha/cataloguing/addholding.pl?biblionumber=[% biblionumber | uri %]">Holdings</a>
559
            </span>
560
        [% END %]
561
    [% END #/ WRAPPER breadcrumbs %]
562
[% END #/ WRAPPER sub-header.inc %]
563
564
    [% INCLUDE 'blocking_errors.inc' %]
565
566
    <div class="main container-fluid">
567
        <div class="row">
568
            <div class="col-md-10 col-md-offset-1">
569
570
                <div id="check_errors"></div>
571
572
                <h1>
573
                    [% IF ( holding_id ) %]
574
                        <span>Edit holdings record number [% holding_id | html %]</span>
575
                    [% ELSE %]
576
                        <span>Add holdings record</span>
577
                    [% END %]
578
                </h1>
579
580
                [% IF ( error_items_exist ) %]<div class="dialog alert"><strong>This holdings record has items attached.</strong> Please delete them first.</div>[% END %]
581
                [% IF ( error_delete_failed ) %]<div class="dialog alert"><strong>Error deleting the record.</strong></div>[% END %]
582
583
                [% IF ( done ) %]
584
                    <script>
585
                        opener.document.forms['f'].holding_id.value=[% holding_id | html %];
586
                        window.close();
587
                    </script>
588
                [% ELSE %]
589
                    <form method="post" name="f" id="f" action="/cgi-bin/koha/cataloguing/addholding.pl" onsubmit="return Check();">
590
                        <input type="hidden" value="[% IF ( holding_id ) %]view[% ELSE %]holdings[% END %]" id="redirect" name="redirect" />
591
                        <input type="hidden" value="" id="current_tab" name="current_tab" />
592
                [% END %]
593
594
                <div id="toolbar" class="btn-toolbar">
595
                    [% IF CAN_user_editcatalogue_edit_items %]
596
                        <div class="btn-group">
597
                            <button class="btn btn-primary" id="saverecord"><i class="fa fa-save"></i> Save</button>
598
                            <button class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
599
                            <span class="caret"></span>
600
                            </button>
601
                            <ul class="dropdown-menu">
602
                                <li><a id="saveandview" href="#">Save and view record</a></li>
603
                                <li><a id="saveanditems" href="#">Save and edit items</a></li>
604
                                <li><a id="saveandcontinue" href="#">Save and continue editing</a></li>
605
                            </ul>
606
                        </div>
607
                    [% END %]
608
609
                    <div class="btn-group">
610
                        <button class="btn btn-default dropdown-toggle" data-toggle="dropdown"><i class="fa fa-cog"></i> Settings <span class="caret"></span></button>
611
                        <ul id="settings-menu" class="dropdown-menu">
612
                            [% IF Koha.Preference( 'EnableAdvancedCatalogingEditor' ) == 1 && CAN_user_editcatalogue_advanced_editor %]
613
                                <li><a href="#" id="switcheditor">Switch to advanced editor</a></li>
614
                            [% END %]
615
                            [% UNLESS advancedMARCEditor %]
616
                                <li>
617
                                    <a href="#" id="marcDocsSelect"><i class="fa fa-check-square-o"></i> Show MARC tag documentation links</a>
618
                                <li>
619
                                    <a href="#" id="marcTagsSelect"><i class="fa fa-check-square-o"></i> Show tags</a>
620
                                </li>
621
                            [% END %]
622
                            <li class="dropdown-header">Change framework</li>
623
                            <li>
624
                                <a href="#" class="change-framework" data-frameworkcode="">
625
                                    [% IF ( frameworkcode ) %]
626
                                       <i class="fa fa-fw">&nbsp;</i>
627
                                    [% ELSE %]
628
                                        <i class="fa fa-fw fa-check"></i>
629
                                    [% END %]
630
                                    Default
631
                                </a>
632
                            </li>
633
                            [% FOREACH framework IN frameworks%]
634
                                <li>
635
                                    <a href="#" class="change-framework" data-frameworkcode="[% framework.frameworkcode | html %]">
636
                                        [% IF framework.frameworkcode == frameworkcode %]
637
                                            <i class="fa fa-fw fa-check"></i>
638
                                        [% ELSE %]
639
                                            <i class="fa fa-fw">&nbsp;</i>
640
                                        [% END %]
641
                                        [% framework.frameworktext | html %]
642
                                    </a>
643
                                </li>
644
                            [% END %]
645
                        </ul> <!-- /#settings-menu -->
646
                    </div> <!-- /.btn-group -->
647
                    <div class="btn-group">
648
                        <a href="[% PROCESS biblio_a_href biblionumber => biblionumber %]" class="btn btn-link" id="cancel">Cancel</a>
649
                    </div>
650
                    <div id="show-errors" class="btn-group"></div>
651
                    <div class="toolbar-tabs-container">
652
                        [% IF ( BIG_LOOP && BIG_LOOP.size > 1 ) %]
653
                            <ul class="toolbar-tabs" role="tablist">
654
                                [%- FOREACH BIG_LOO IN BIG_LOOP -%]
655
                                    [% IF loop.first %]
656
                                        <li role="presentation" class="active selected">
657
                                    [% ELSE %]
658
                                        <li role="presentation">
659
                                    [% END %]
660
                                        <a data-tabid="[% BIG_LOO.number | html %]" href="#tab[% BIG_LOO.number | html %]XX" aria-controls="#tab[% BIG_LOO.number | html %]XX" role="tab" data-toggle="tab">[% BIG_LOO.number | html %]</a>
661
                                    </li>
662
                                [%- END -%]
663
                            </ul>
664
                        [% END %]
665
                        <ul class="dlist">
666
                            [% FOREACH BIG_LOO IN BIG_LOOP %]
667
                                [% IF loop.first %][% SET tab_selected = "tab_selected" %][% ELSE %][% SET tab_selected = "" %][% END %]
668
                                [% FOREACH innerloo IN BIG_LOO.innerloop %]
669
                                    [% IF ( innerloo.tag ) %]
670
                                        <li class="tag_anchors d[% BIG_LOO.number | html %] [% tab_selected | html %]">
671
                                            <a class="tag_anchor" id="tag_anchor_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]" title="tag_anchor_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]" href="#div_indicator_tag_[% innerloo.tag | uri %]_[% innerloo.index | uri %][% innerloo.random | uri %]">[% innerloo.tag | uri %]</a>
672
                                        </li>
673
                                    [% END %]
674
                                [% END %]
675
                            [% END %]
676
                        </ul>
677
                    </div>
678
                </div> <!-- /#toolbar.btn-toolbar -->
679
680
                [% IF ( popup ) %]
681
                        <input type="hidden" name="mode" value="popup" />
682
                [% END %]
683
                <input type="hidden" name="op" value="add" />
684
                <input type="hidden" id="frameworkcode" name="frameworkcode" value="[% frameworkcode | html %]" />
685
                <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
686
                <input type="hidden" name="holding_id" value="[% holding_id | html %]" />
687
                <input type="hidden" name="changed_framework" value="" />
688
689
                <div id="addholdingtabs" class="toptabs numbered">
690
                    <div class="tab-content">
691
692
                        [% FOREACH BIG_LOO IN BIG_LOOP %]
693
                            [% IF loop.first %]
694
                                <div id="tab[% BIG_LOO.number | html %]XX" role="tabpanel" class="tab-pane active">
695
                            [% ELSE %]
696
                                <div id="tab[% BIG_LOO.number | html %]XX" role="tabpanel" class="tab-pane">
697
                            [% END %]
698
699
                                [% IF ( BIG_LOOP.size > 1 ) %]
700
                                    <h3>Section [% BIG_LOO.number | html %]</h3>
701
                                [% END %]
702
                                [% previous = "" %]
703
                                [% FOREACH innerloo IN BIG_LOO.innerloop %]
704
                                    [% IF ( innerloo.tag ) %]
705
                                    [% IF innerloo.tag != previous %]
706
                                        [% IF previous != "" %]
707
                                            </ul>
708
                                        [% END %]
709
                                        [% previous = innerloo.tag %]
710
                                        [% IF ( innerloo.repeatable ) %]
711
                                            <ul class="sortable_field">
712
                                        [% ELSE %]
713
                                            <ul>
714
                                        [% END %]
715
                                    [% END %]
716
                                        [% IF ( innerloo.repeatable ) %]
717
                                            <li class="tag sortable_tag clearfix" id="tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]">
718
                                        [% ELSE %]
719
                                            <li class="tag clearfix" id="tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]">
720
                                        [% END %]
721
                                            <div class="tag_title" id="div_indicator_tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]">
722
                                                [% IF advancedMARCEditor %]
723
                                                    <a href="#" tabindex="1" class="tagnum" title="[% innerloo.tag_lib | html %] - Click to Expand this Tag" data-field_id="tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]">[% innerloo.tag | html %]</a>
724
                                                [% ELSE %]
725
                                                    <span class="tagnum" title="[% innerloo.tag_lib | html %]">[% innerloo.tag | html %]</span>
726
                                                    <a href="#" class="marcdocs" onclick="PopupMARCFieldDoc('[% innerloo.tag | html %]'); return false;">&nbsp;?</a>
727
                                                [% END %]
728
729
                                                [% IF ( innerloo.fixedfield ) %]
730
                                                    <input type="text"
731
                                                        tabindex="1"
732
                                                        class="indicator flat"
733
                                                        style="display:none;"
734
                                                        name="tag_[% innerloo.tag | html %]_indicator1_[% innerloo.index | html %][% innerloo.random | html %]"
735
                                                        size="1"
736
                                                        maxlength="1"
737
                                                        value="[% innerloo.indicator1 | html %]" />
738
                                                    <input type="text"
739
                                                        tabindex="1"
740
                                                        class="indicator flat"
741
                                                        style="display:none;"
742
                                                        name="tag_[% innerloo.tag | html %]_indicator2_[% innerloo.index | html %][% innerloo.random | html %]"
743
                                                        size="1"
744
                                                        maxlength="1"
745
                                                        value="[% innerloo.indicator2 | html %]" />
746
                                                [% ELSE %]
747
                                                    <input type="text"
748
                                                        tabindex="1"
749
                                                        class="indicator flat"
750
                                                        name="tag_[% innerloo.tag | html %]_indicator1_[% innerloo.index | html %][% innerloo.random | html %]"
751
                                                        size="1"
752
                                                        maxlength="1"
753
                                                        value="[% innerloo.indicator1 | html %]" />
754
                                                    <input type="text"
755
                                                        tabindex="1"
756
                                                        class="indicator flat"
757
                                                        name="tag_[% innerloo.tag | html %]_indicator2_[% innerloo.index | html %][% innerloo.random | html %]"
758
                                                        size="1"
759
                                                        maxlength="1"
760
                                                        value="[% innerloo.indicator2 | html %]" />
761
                                                [% END # /IF innerloo.fixedfield %] -
762
763
                                                [% UNLESS advancedMARCEditor %]
764
                                                    <a href="#" tabindex="1" class="expandfield" data-field_id="tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]" title="Click to Expand this Tag">[% innerloo.tag_lib | html %]</a>
765
                                                [% END %]
766
767
                                                <span class="field_controls">
768
                                                    [% IF ( innerloo.repeatable ) %]
769
                                                        <a href="#" tabindex="1" class="buttonPlus" onclick="CloneField('tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]','0','[% advancedMARCEditor | html %]'); return false;" title="Repeat this Tag">
770
                                                            <img src="[% interface | html %]/[% theme | html %]/img/repeat-tag.png" alt="Repeat this Tag" />
771
                                                        </a>
772
                                                    [% END %]
773
                                                    <a href="#" tabindex="1" class="buttonMinus" onclick="UnCloneField('tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]'); return false;" title="Delete this Tag">
774
                                                        <img src="[% interface | html %]/[% theme | html %]/img/delete-tag.png" alt="Delete this Tag" />
775
                                                    </a>
776
                                                </span> <!-- /.field_controls -->
777
                                            </div> <!-- /div.tag_title -->
778
779
                                            <ul class="sortable_subfield">
780
                                            [% FOREACH subfield_loo IN innerloo.subfield_loop %]
781
                                                <!--  One line on the marc editor -->
782
                                                <li class="subfield_line" style="[% subfield_loo.visibility | html %]" id="subfield[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]">
783
                                                    <div class="subfieldcode">
784
                                                        <input type="text"
785
                                                                title="[% subfield_loo.marc_lib | $raw %]"
786
                                                                style=" [% IF ( subfield_loo.fixedfield ) %]display:none; [% END %]border:0;"
787
                                                                name="tag_[% subfield_loo.tag | html %]_code_[% subfield_loo.subfield | html %]_[% subfield_loo.index | html %]_[% subfield_loo.index_subfield | html %]"
788
                                                                value="[% subfield_loo.subfield | html %]"
789
                                                                size="2"
790
                                                                maxlength="1"
791
                                                                class="flat"
792
                                                                tabindex="0" />
793
                                                    </div>
794
                                                    [% UNLESS advancedMARCEditor %]
795
                                                        [% IF ( subfield_loo.mandatory ) %]
796
                                                            <div class="subfield subfield_mandatory">
797
                                                        [% ELSIF ( subfield_loo.important ) %]
798
                                                            <div class="subfield subfield_important">
799
                                                        [% ELSE %]
800
                                                            <div class="subfield">
801
                                                        [% END %]
802
                                                            [% IF ( subfield_loo.fixedfield ) %]
803
                                                                <label for="tag_[% subfield_loo.tag | html %]_subfield_[% subfield_loo.subfield | html %]_[% subfield_loo.index | html %]_[% subfield_loo.index_subfield | html %]" style="display:none;" class="labelsubfield">
804
                                                            [% ELSE %]
805
                                                                <label for="tag_[% subfield_loo.tag | html %]_subfield_[% subfield_loo.subfield | html %]_[% subfield_loo.index | html %]_[% subfield_loo.index_subfield | html %]" class="labelsubfield">
806
                                                            [% END %]
807
                                                            [% subfield_loo.marc_lib | $raw %]
808
                                                            </label>
809
                                                        </div>
810
                                                    [% END %]
811
812
                                                    [% SET mv = subfield_loo.marc_value %]
813
                                                    <div id="field_marceditor[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]" class="field_marceditor">
814
                                                        [% IF ( mv.type == 'text' ) %]
815
                                                            [% IF ( mv.readonly == 1 ) %]
816
                                                                <input type="text" id="[%- mv.id | html -%]" name="[%- mv.name | html -%]" value="[%- mv.value | html -%]" class="input_marceditor readonly" tabindex="1" size="[%- mv.size | html -%]" maxlength="[%- mv.maxlength | html -%]" readonly="readonly" />
817
                                                            [% ELSE %]
818
                                                                <input type="text" id="[%- mv.id | html -%]" name="[%- mv.name | html -%]" value="[%- mv.value | html -%]" class="input_marceditor" tabindex="1" size="[%- mv.size | html -%]" maxlength="[%- mv.maxlength | html -%]" />
819
                                                            [% END %]
820
821
                                                        [% ELSIF ( mv.type == 'text_complex' ) %]
822
                                                            <input type="text" id="[%- mv.id | html -%]" name="[%- mv.name | html -%]" value="[%- mv.value | html -%]" class="input_marceditor framework_plugin" tabindex="1" size="[%- mv.size | html -%]" maxlength="[%- mv.maxlength | html -%]" />
823
                                                            [% mv.javascript | $raw %]
824
                                                        [% ELSIF ( mv.type == 'hidden' ) %]
825
                                                            <input tabindex="1" type="hidden" id="[%- mv.id | html -%]" name="[%- mv.name | html -%]" size="[%- mv.size | html -%]" maxlength="[%- mv.maxlength | html -%]" value="[%- mv.value | html -%]" />
826
                                                        [% ELSIF ( mv.type == 'textarea' ) %]
827
                                                            <textarea cols="70" rows="4" id="[%- mv.id | html -%]" name="[%- mv.name | html -%]" class="input_marceditor" tabindex="1">[%- mv.value | html -%]</textarea>
828
                                                        [% ELSIF ( mv.type == 'select' ) %]
829
                                                        [% IF mv.category AND CAN_user_parameters_manage_auth_values %]
830
                                                            <select name="[%- mv.name | html -%]" tabindex="1" class="input_marceditor" id="[%- mv.id | html -%]" data-category="[% mv.category | html %]">
831
                                                        [% ELSE %]
832
                                                            <select name="[%- mv.name | html -%]" tabindex="1" class="input_marceditor select2" id="[%- mv.id | html -%]">
833
                                                        [% END %]
834
                                                            [% FOREACH aval IN mv.values %]
835
                                                                [% IF aval == mv.default %]
836
                                                                <option value="[%- aval | html -%]" selected="selected">[%- mv.labels.$aval | html -%]</option>
837
                                                                [% ELSE %]
838
                                                                <option value="[%- aval | html -%]">[%- mv.labels.$aval | html -%]</option>
839
                                                                [% END %]
840
                                                            [% END %]
841
                                                            </select>
842
                                                        [% END  # /IF (mv.type...) %]
843
                                                    </div>
844
                                                    [% IF ( subfield_loo.mandatory ) %]
845
                                                        <div class="subfield_loop_mandatory">
846
                                                            <span class="required">Required</span>
847
                                                        </div>
848
                                                    [% ELSIF ( subfield_loo.important ) %]
849
                                                        <div class="subfield_loop_mandatory">
850
                                                            <span class="important">Important</span>
851
                                                        </div>
852
                                                    [% END %]
853
                                                    <div class="subfield_controls">
854
                                                        [% IF ( mv.type == 'text' ) %]
855
                                                            [% IF ( mv.authtype ) %]
856
                                                                <a href="#" class="buttonDot tag_editor" onclick="openAuth(this.parentNode.parentNode.getElementsByTagName('input')[1].id,'[%- mv.authtype | html -%]','holding'); return false;" tabindex="1" title="Tag editor">Tag editor</a>
857
                                                            [% END %]
858
                                                        [% ELSIF ( mv.type == 'text_complex' ) %]
859
                                                                [% IF mv.noclick %]
860
                                                                    <span class="buttonDot tag_editor disabled" tabindex="-1" title="Field autofilled by plugin"></span>
861
                                                                [% ELSE %]
862
                                                                    [% IF mv.plugin == "upload.pl" %]
863
                                                                        <a href="#" id="buttonDot_[% mv.id | html %]" class="tag_editor upload framework_plugin" tabindex="1"><i class="fa fa-upload" aria-hidden="true"></i> Upload</a>
864
                                                                    [% ELSE %]
865
                                                                        <a href="#" id="buttonDot_[% mv.id | html %]" class="buttonDot tag_editor framework_plugin" tabindex="1" title="Tag editor">Tag editor</a>
866
                                                                    [% END %]
867
                                                                [% END %]
868
                                                            </span>
869
                                                        [% END %]
870
                                                        [% IF ( subfield_loo.repeatable ) %]
871
                                                            <a href="#" class="buttonPlus" tabindex="1" onclick="CloneSubfield('subfield[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]','[% advancedMARCEditor | html %]'); return false;">
872
                                                                <img src="[% interface | html %]/[% theme | html %]/img/clone-subfield.png" alt="Clone" title="Clone this subfield" />
873
                                                            </a>
874
                                                            <a href="#" class="buttonMinus" tabindex="1" onclick="UnCloneField('subfield[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]'); return false;">
875
                                                                <img src="[% interface | html %]/[% theme | html %]/img/delete-subfield.png" alt="Delete" title="Delete this subfield" />
876
                                                            </a>
877
                                                        [% END %]
878
                                                    </div>
879
                                                </li> <!-- /.subfield_line -->
880
                                                <!-- End of the line -->
881
                                            [% END # /FOREACH subfield_loop %]
882
                                            </ul> <!--  /.sortable_subfield -->
883
                                        </li> <!-- /.tag.clearfix -->
884
                                    [% END %]<!-- if innerloo.tag -->
885
                                [% END # /FOREACH BIG_LOO.innerloop %]
886
                                </ul> <!--  /.sortable_field -->
887
                            </div> <!-- /#tabXXX -->
888
                        [% END # /FOREACH BIG_LOOP %]
889
                    </div> <!-- /.tab-content -->
890
                </div><!-- /#addholdingtabs -->
891
            </form> <!-- /name=f -->
892
        </div> <!-- /.col-md-10.col-md-offset-1 -->
893
    </div> <!-- /.row -->
894
895
[% INCLUDE 'intranet-bottom.inc' %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_008_holdings.tt (+194 lines)
Line 0 Link Here
1
[% SET footerjs = 1 %]
2
[% INCLUDE 'doc-head-open.inc' %]
3
<title>Koha &rsaquo; Holdings &rsaquo; 008 builder</title>
4
[% INCLUDE 'doc-head-close.inc' %]
5
</head>
6
7
<body id="cat_marc21_field_008_holdings" class="cat" style="padding:1em;">
8
<h3>008 Fixed-length data elements</h3>
9
<form name="f_pop" onsubmit="report()" action="">
10
<input type="hidden" name="plugin_name" value="marc21_field_008_holdings.pl" />
11
<input name="f1" value="[% f1 | html %]" type="hidden" />
12
<table>
13
    <tr>
14
        <td>00-05 - Date entered on file</td>
15
        <td>[% f1 | html %]</td>
16
    </tr>
17
    <tr>
18
        <td><label for="f6">06 - Receipt or acquisition status</label></td>
19
        <td>
20
            <select name="f6" id="f6" size="1">
21
                <option value="0"[%- IF ( f60 ) -%] selected="selected"[%- END -%]>0 - Unknown</option>
22
                <option value="1"[%- IF ( f61 ) -%] selected="selected"[%- END -%]>1 - Other receipt or acquisition status</option>
23
                <option value="2"[%- IF ( f62 ) -%] selected="selected"[%- END -%]>2 - Received and complete or ceased</option>
24
                <option value="3"[%- IF ( f63 ) -%] selected="selected"[%- END -%]>3 - On order</option>
25
                <option value="4"[%- IF ( f64 ) -%] selected="selected"[%- END -%]>4 - Currently received</option>
26
                <option value="5"[%- IF ( f65 ) -%] selected="selected"[%- END -%]>5 - Not currently received</option>
27
            </select>
28
        </td>
29
    </tr>
30
    <tr>
31
        <td><label for="f7">07 - Method of acquisition</label></td>
32
        <td>
33
            <select name="f7" id="f7" size="1">
34
                <option value="c"[%- IF ( f7c ) -%] selected="selected"[%- END -%]>c - Cooperative or consortial purchase</option>
35
                <option value="d"[%- IF ( f7d ) -%] selected="selected"[%- END -%]>d - Deposit</option>
36
                <option value="e"[%- IF ( f7e ) -%] selected="selected"[%- END -%]>e - Exchange</option>
37
                <option value="f"[%- IF ( f7f ) -%] selected="selected"[%- END -%]>f - Free</option>
38
                <option value="g"[%- IF ( f7g ) -%] selected="selected"[%- END -%]>g - Gift</option>
39
                <option value="l"[%- IF ( f7l ) -%] selected="selected"[%- END -%]>l - Legal deposit</option>
40
                <option value="m"[%- IF ( f7m ) -%] selected="selected"[%- END -%]>m - Membership</option>
41
                <option value="n"[%- IF ( f7n ) -%] selected="selected"[%- END -%]>n - Non-library purchase</option>
42
                <option value="p"[%- IF ( f7p ) -%] selected="selected"[%- END -%]>p - Purchase</option>
43
                <option value="q"[%- IF ( f7q ) -%] selected="selected"[%- END -%]>q - Lease</option>
44
                <option value="u"[%- IF ( f7u ) -%] selected="selected"[%- END -%]>u - Unknown</option>
45
                <option value="z"[%- IF ( f7z ) -%] selected="selected"[%- END -%]>z - Other method of acquisition</option>
46
            </select>
47
        </td>
48
    </tr>
49
    <tr>
50
        <td><label for="f8">08-11 - Expected acquisition end date</label></td>
51
        <td><input type="text" name="f8" id="f8" maxlength="4" size="5" value="[% f8 | html %]" /></td>
52
    </tr>
53
    <tr>
54
        <td><label for="f12">12- General retention policy</label></td>
55
        <td>
56
            <select name="f12" id="f12" size="1">
57
                <option value="0"[%- IF ( f120 ) -%] selected="selected"[%- END -%]>0 - Unknown</option>
58
                <option value="1"[%- IF ( f121 ) -%] selected="selected"[%- END -%]>1 - Other general retention policy</option>
59
                <option value="2"[%- IF ( f122 ) -%] selected="selected"[%- END -%]>2 - Retained except as replaced by updates</option>
60
                <option value="3"[%- IF ( f123 ) -%] selected="selected"[%- END -%]>3 - Sample issue retained</option>
61
                <option value="4"[%- IF ( f124 ) -%] selected="selected"[%- END -%]>4 - Retained until replaced by microform</option>
62
                <option value="5"[%- IF ( f125 ) -%] selected="selected"[%- END -%]>5 - Retained until replaced by cumulation, replacement volume, or revision</option>
63
                <option value="6"[%- IF ( f126 ) -%] selected="selected"[%- END -%]>6 - Retained for a limited period</option>
64
                <option value="7"[%- IF ( f127 ) -%] selected="selected"[%- END -%]>7 - Not retained</option>
65
                <option value="8"[%- IF ( f128 ) -%] selected="selected"[%- END -%]>8 - Permanently retained</option>
66
            </select>
67
        </td>
68
    </tr>
69
    <tr>
70
        <td><label for="f13">13 - Policy type</label></td>
71
        <td>
72
            <select name="f13" id="f13" size="1">
73
                <option value=" "[%- IF ( f13 ) -%] selected="selected"[%- END -%]># - No information provided</option>
74
                <option value="l"[%- IF ( f13l ) -%] selected="selected"[%- END -%]>l - Latest</option>
75
                <option value="p"[%- IF ( f13p ) -%] selected="selected"[%- END -%]>p - Previous</option>
76
            </select>
77
        </td>
78
    </tr>
79
    <tr>
80
        <td><label for="f14">14 - Number of units</label></td>
81
        <td>
82
            <select name="f14" id="f14" size="1">
83
                <option value=" "[%- IF ( f14 ) -%] selected="selected"[%- END -%]># - No information provided</option>
84
                <option value="1"[%- IF ( f141 ) -%] selected="selected"[%- END -%]>1</option>
85
                <option value="2"[%- IF ( f142 ) -%] selected="selected"[%- END -%]>2</option>
86
                <option value="3"[%- IF ( f143 ) -%] selected="selected"[%- END -%]>3</option>
87
                <option value="4"[%- IF ( f144 ) -%] selected="selected"[%- END -%]>4</option>
88
                <option value="5"[%- IF ( f145 ) -%] selected="selected"[%- END -%]>5</option>
89
                <option value="6"[%- IF ( f146 ) -%] selected="selected"[%- END -%]>6</option>
90
                <option value="7"[%- IF ( f147 ) -%] selected="selected"[%- END -%]>7</option>
91
                <option value="8"[%- IF ( f148 ) -%] selected="selected"[%- END -%]>8</option>
92
                <option value="9"[%- IF ( f149 ) -%] selected="selected"[%- END -%]>9 </option>
93
            </select>
94
        </td>
95
    </tr>
96
    <tr>
97
        <td><label for="f15">15 - Unit type</label></td>
98
        <td>
99
            <select name="f15" id="f15" size="1">
100
                <option value=" "[%- IF ( f15 ) -%] selected="selected"[%- END -%]># - No information provided</option>
101
                <option value="m"[%- IF ( f15m ) -%] selected="selected"[%- END -%]>m - Month(s)</option>
102
                <option value="w"[%- IF ( f15w ) -%] selected="selected"[%- END -%]>w - Week(s)</option>
103
                <option value="y"[%- IF ( f15y ) -%] selected="selected"[%- END -%]>y - Year(s)</option>
104
                <option value="e"[%- IF ( f15e ) -%] selected="selected"[%- END -%]>e - Edition(s)</option>
105
                <option value="i"[%- IF ( f15i ) -%] selected="selected"[%- END -%]>i - Issue(s)</option>
106
                <option value="s"[%- IF ( f15s ) -%] selected="selected"[%- END -%]>s - Supplement(s)</option>
107
            </select>
108
        </td>
109
    </tr>
110
    <tr>
111
        <td><label for="f16">16 - Completeness</label></td>
112
        <td>
113
            <select name="f16" id="f16" size="1">
114
                <option value="0"[%- IF ( f160 ) -%] selected="selected"[%- END -%]>0 - Other</option>
115
                <option value="1"[%- IF ( f161 ) -%] selected="selected"[%- END -%]>1 - Complete</option>
116
                <option value="2"[%- IF ( f162 ) -%] selected="selected"[%- END -%]>2 - Incomplete</option>
117
                <option value="3"[%- IF ( f163 ) -%] selected="selected"[%- END -%]>3 - Scattered</option>
118
                <option value="4"[%- IF ( f164 ) -%] selected="selected"[%- END -%]>4 - Not applicable</option>
119
            </select>
120
        </td>
121
    </tr>
122
    <tr>
123
        <td><label for="f17">17-19 - Number of copies reported</label></td>
124
        <td><input type="text" name="f17" id="f17" maxlength="3" size="4" value="[% f17 | html %]" /></td>
125
    </tr>
126
    <tr>
127
        <td><label for="f20">20 - Lending policy</label></td>
128
        <td>
129
            <select name="f20" id="f20" size="1">
130
                <option value="a"[%- IF ( f20a ) -%] selected="selected"[%- END -%]>a - Will lend</option>
131
                <option value="b"[%- IF ( f20b ) -%] selected="selected"[%- END -%]>b - Will not lend</option>
132
                <option value="c"[%- IF ( f20c ) -%] selected="selected"[%- END -%]>c - Will lend hard copy only</option>
133
                <option value="l"[%- IF ( f20l ) -%] selected="selected"[%- END -%]>l - Limited lending policy</option>
134
                <option value="u"[%- IF ( f20u ) -%] selected="selected"[%- END -%]>u - Unknown</option>
135
            </select>
136
        </td>
137
    </tr>
138
    <tr>
139
        <td><label for="f21">21 - Reproduction policy</label></td>
140
        <td>
141
            <select name="f21" id="f21" size="1">
142
                <option value="a"[%- IF ( f21a ) -%] selected="selected"[%- END -%]>a - Will reproduce</option>
143
                <option value="b"[%- IF ( f21b ) -%] selected="selected"[%- END -%]>b - Will not reproduce</option>
144
                <option value="u"[%- IF ( f21u ) -%] selected="selected"[%- END -%]>u - Unknown</option>
145
            </select>
146
        </td>
147
    </tr>
148
    <tr>
149
        <td><label for="f22">22-24 - Language</label></td>
150
        <td><input type="text" name="f22" id="f22" maxlength="3" size="4" value="[% f22 | html %]" /></td>
151
    </tr>
152
    <tr>
153
        <td><label for="f25">25 - Separate or composite copy report</label></td>
154
        <td>
155
            <select name="f25" id="f25" size="1">
156
                <option value="0"[%- IF ( f250 ) -%] selected="selected"[%- END -%]>0 - Separate copy report</option>
157
                <option value="1"[%- IF ( f251 ) -%] selected="selected"[%- END -%]>1 - Composite copy report</option>
158
            </select>
159
        </td>
160
    </tr>
161
    <tr>
162
        <td><label for="f26">26-31 - Date of report</label></td>
163
        <td><input type="text" name="f26" id="f26" maxlength="6" size="7" value="[% f26 | html %]" /></td>
164
    </tr>
165
</table>
166
<fieldset class="action"><input type="submit" value="OK" /> <a href="#" class="cancel close">Cancel</a></fieldset>
167
</form>
168
<script>
169
    function report() {
170
        var doc   = opener.document;
171
        var field = doc.getElementById("[% index | html %]");
172
173
        field.value =
174
        document.f_pop.f1.value+
175
        document.f_pop.f6.value+
176
        document.f_pop.f7.value+
177
        (document.f_pop.f8.value + '    ').substr(0, 4)+
178
        document.f_pop.f12.value+
179
        document.f_pop.f13.value+
180
        document.f_pop.f14.value+
181
        document.f_pop.f15.value+
182
        document.f_pop.f16.value+
183
        (document.f_pop.f17.value + '   ').substr(0, 3)+
184
        document.f_pop.f20.value+
185
        document.f_pop.f21.value+
186
        (document.f_pop.f22.value + '   ').substr(0, 3)+
187
        document.f_pop.f25.value+
188
        document.f_pop.f26.value;
189
        self.close();
190
        return false;
191
    }
192
</script>
193
194
[% INCLUDE 'intranet-bottom.inc' popup_window=1 %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_leader_holdings.tt (+105 lines)
Line 0 Link Here
1
[% SET footerjs = 1 %]
2
[% INCLUDE 'doc-head-open.inc' %]
3
<title>000 - Leader builder &rsaquo; Holdings &rsaquo; Koha</title>
4
[% INCLUDE 'doc-head-close.inc' %]
5
</head>
6
<body id="cat_marc21_leader_holdings" class="cat" style="padding:1em;">
7
<form name="f_pop" onsubmit="report()" action="">
8
<input type="hidden" name="plugin_name" value="marc21_leader_holdings.pl" />
9
<h3>000 - Leader</h3>
10
<table>
11
    <tr>
12
        <td><span class="label">0-4 Record size</span></td>
13
        <td>(auto-filled)</td>
14
    </tr>
15
    <tr>
16
        <td><label for="f5">5 - Record status</label></td>
17
        <td>
18
            <select name="f5" id="f5" size="1">
19
                <option value="c"[%- IF ( f5c ) -%] selected="selected"[%- END -%]>c - Corrected or revised</option>
20
                <option value="d"[%- IF ( f5d ) -%] selected="selected"[%- END -%]>d - Deleted</option>
21
                <option value="n"[%- IF ( f5n ) -%] selected="selected"[%- END -%]>n - New</option>
22
            </select>
23
        </td>
24
    </tr>
25
    <tr>
26
        <td><label for="f6">6 - Type of record</label></td>
27
        <td>
28
            <select name="f6" id="f6" size="1">
29
                <option value="u"[%- IF ( f6u ) -%] selected="selected"[%- END -%]>u - Unknown</option>
30
                <option value="v"[%- IF ( f6v ) -%] selected="selected"[%- END -%]>v - Multipart item holdings</option>
31
                <option value="x"[%- IF ( f6x ) -%] selected="selected"[%- END -%]>x - Single-part item holdings</option>
32
                <option value="y"[%- IF ( f6y ) -%] selected="selected"[%- END -%]>y - Serial item holdings</option>
33
            </select>
34
        </td>
35
    </tr>
36
    <tr>
37
        <tr>07-08 - Undefined</tr>
38
        <tr>  </tr>
39
    </tr>
40
    <tr>
41
        <td>9 - Character coding scheme</td>
42
        <td>a - UCS/Unicode (auto-filled)</td>
43
    </tr>
44
    <tr>
45
        <td>10-16 - indicator/subfields/size</td>
46
        <td>(auto-filled)</td>
47
    </tr>
48
    <tr>
49
        <td><label for="f17">17 - Encoding level</label></td>
50
        <td>
51
            <select name="f17" id="f17" size="1">
52
                <option value="1"[%- IF ( f171 ) -%] selected="selected"[%- END -%]>1 - Holdings level 1</option>
53
                <option value="2"[%- IF ( f172 ) -%] selected="selected"[%- END -%]>2 - Holdings level 2</option>
54
                <option value="3"[%- IF ( f173 ) -%] selected="selected"[%- END -%]>3 - Holdings level 3</option>
55
                <option value="4"[%- IF ( f174 ) -%] selected="selected"[%- END -%]>4 - Holdings level 4</option>
56
                <option value="5"[%- IF ( f175 ) -%] selected="selected"[%- END -%]>5 - Holdings level 4 with piece designation</option>
57
                <option value="m"[%- IF ( f17m ) -%] selected="selected"[%- END -%]>m - Mixed level</option>
58
                <option value="u"[%- IF ( f17u ) -%] selected="selected"[%- END -%]>u - Unknown</option>
59
                <option value="z"[%- IF ( f17z ) -%] selected="selected"[%- END -%]>z - Other level</option>
60
            </select>
61
        </td>
62
    </tr>
63
    <tr>
64
        <td><label for="f18">18 - Item information in record</label></td>
65
        <td>
66
            <select name="f18" id="f18" size="1">
67
                <option value="i"[%- IF ( f18i ) -%] selected="selected"[%- END -%]>i - Item information</option>
68
                <option value="n"[%- IF ( f18n ) -%] selected="selected"[%- END -%]>n - No item information</option>
69
            </select>
70
        </td>
71
    </tr>
72
    <tr>
73
        <td>19 - Undefined</td>
74
        <td></td>
75
    </tr>
76
    <tr>
77
        <td>20-24 - entry map &amp; lengths</td>
78
        <td>(auto-filled)</td>
79
    </tr>
80
81
</table>
82
<fieldset class="action"><input type="submit" value="OK" /> <a href="#" class="cancel close">Cancel</a></fieldset>
83
</form>
84
<script>
85
    function report() {
86
        var doc   = opener.document;
87
        var field = doc.getElementById("[% index | html %]");
88
89
        field.value =
90
        '     '+
91
        document.f_pop.f5.value+
92
        document.f_pop.f6.value+
93
        '  '+
94
        'a'+ // MARC21 UNICODE flag - must be 'a' for Koha
95
        '22     '+
96
        document.f_pop.f17.value+
97
        document.f_pop.f18.value+
98
        ' '+
99
        '4500';
100
        self.close();
101
        return false;
102
    }
103
</script>
104
105
[% INCLUDE 'intranet-bottom.inc' popup_window=1 %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/viewlog.tt (+2 lines)
Lines 357-362 Link Here
357
                                                    <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loopro.biblionumber | uri %]" title="Display detail for this bibliographic record">Bibliographic record [% loopro.biblionumber | html %]</a>
357
                                                    <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loopro.biblionumber | uri %]" title="Display detail for this bibliographic record">Bibliographic record [% loopro.biblionumber | html %]</a>
358
                                                [% ELSIF ( loopro.info.substr(0, 6) == 'biblio' ) %]
358
                                                [% ELSIF ( loopro.info.substr(0, 6) == 'biblio' ) %]
359
                                                    <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loopro.object | uri %]" title="Display detail for this bibliographic record">Bibliographic record [% loopro.object | html %]</a>
359
                                                    <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loopro.object | uri %]" title="Display detail for this bibliographic record">Bibliographic record [% loopro.object | html %]</a>
360
                                                [% ELSIF ( loopro.info.substr(0, 7) == 'holding' ) %]
361
                                                    <a href="/cgi-bin/koha/cataloguing/addholding.pl?op=edit&amp;holding_id=[% loopro.object | uri %]" title="Display detail for this holding">Holding [% loopro.object | html %]</a>
360
                                                [% ELSE %]
362
                                                [% ELSE %]
361
                                                    [% loopro.object | html %]
363
                                                    [% loopro.object | html %]
362
                                                [% END %]
364
                                                [% END %]
(-)a/koha-tmpl/intranet-tmpl/prog/js/additem.js (+3 lines)
Lines 99-104 function constructTrNode(index, unique_item_fields) { Link Here
99
    var fields = ['barcode', 'homebranch', 'holdingbranch', 'notforloan',
99
    var fields = ['barcode', 'homebranch', 'holdingbranch', 'notforloan',
100
        'restricted', 'location', 'itemcallnumber', 'copynumber',
100
        'restricted', 'location', 'itemcallnumber', 'copynumber',
101
        'stocknumber', 'ccode', 'itype', 'materials', 'itemnotes'];
101
        'stocknumber', 'ccode', 'itype', 'materials', 'itemnotes'];
102
    if ($('th#holdings_record').length) {
103
        fields.splice(1, 0, 'holding_id');
104
    }
102
105
103
    var result = "<tr idblock='" + index + "'>";
106
    var result = "<tr idblock='" + index + "'>";
104
    var edit_link = "<a href='#itemfieldset' style='text-decoration:none' onclick='showItem(\"" + index + "\");' class='btn btn-default btn-xs'><i class='fa fa-pencil'></i> "
107
    var edit_link = "<a href='#itemfieldset' style='text-decoration:none' onclick='showItem(\"" + index + "\");' class='btn btn-default btn-xs'><i class='fa fa-pencil'></i> "
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt (+28 lines)
Lines 6-11 Link Here
6
[% USE Branches %]
6
[% USE Branches %]
7
[% USE TablesSettings %]
7
[% USE TablesSettings %]
8
[% USE AuthorisedValues %]
8
[% USE AuthorisedValues %]
9
[% USE Holdings %]
9
[% USE KohaPlugins %]
10
[% USE KohaPlugins %]
10
[% SET TagsShowEnabled = ( ( Koha.Preference( 'TagsEnabled' ) == 1 ) && TagsShowOnDetail ) %]
11
[% SET TagsShowEnabled = ( ( Koha.Preference( 'TagsEnabled' ) == 1 ) && TagsShowOnDetail ) %]
11
[% SET TagsInputEnabled = ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'TagsEnabled' ) == 1 ) && TagsInputOnDetail ) %]
12
[% SET TagsInputEnabled = ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'TagsEnabled' ) == 1 ) && TagsInputOnDetail ) %]
Lines 575-580 Link Here
575
                                    [% END %]
576
                                    [% END %]
576
                                [% END %]
577
                                [% END %]
577
                            [% END # IF itemloop.size %]
578
                            [% END # IF itemloop.size %]
579
                            [% IF summary_holdings %]
580
                                [% FOREACH holding IN summary_holdings %]
581
                                    [% UNLESS holding.suppress %]
582
                                        [% holding_details = Holdings.GetDetails(holding) %]
583
                                        [% IF holding_details.public_note || holding_details.summary || holding_details.supplements || holding_details.indexes %]
584
                                            <span class="summary-holdings">
585
                                                <br>
586
                                                <strong>Additional information for [% Holdings.GetLocation(holding, 1) | html %]</strong>
587
                                                <ul>
588
                                                    [% IF holding_details.public_note %]
589
                                                        <li>Public note: [% holding_details.public_note | html %]</li>
590
                                                    [% END %]
591
                                                    [% IF holding_details.summary %]
592
                                                        <li>Summary: [% holding_details.summary | html %]</li>
593
                                                    [% END %]
594
                                                    [% IF holding_details.supplements %]
595
                                                        <li>Supplements: [% holding_details.supplements | html %]</li>
596
                                                    [% END %]
597
                                                    [% IF holding_details.indexes %]
598
                                                        <li>Indexes: [% holding_details.indexes | html %]</li>
599
                                                    [% END %]
600
                                                </ul>
601
                                            </span>
602
                                        [% END %]
603
                                    [% END %]
604
                                [% END %]
605
                            [% END %]
578
                            [% PROCESS 'shelfbrowser.inc' %]
606
                            [% PROCESS 'shelfbrowser.inc' %]
579
                            [% INCLUDE shelfbrowser tab='holdings' %]
607
                            [% INCLUDE shelfbrowser tab='holdings' %]
580
                        [% END # /tab_panel#holdings %]
608
                        [% END # /tab_panel#holdings %]
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl (-3 / +18 lines)
Lines 4-13 Link Here
4
<xsl:stylesheet version="1.0"
4
<xsl:stylesheet version="1.0"
5
  xmlns:marc="http://www.loc.gov/MARC21/slim"
5
  xmlns:marc="http://www.loc.gov/MARC21/slim"
6
  xmlns:items="http://www.koha-community.org/items"
6
  xmlns:items="http://www.koha-community.org/items"
7
  xmlns:holdings="http://www.koha-community.org/holdings"
7
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
8
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
8
  xmlns:exsl="http://exslt.org/common"
9
  xmlns:exsl="http://exslt.org/common"
9
  xmlns:str="http://exslt.org/strings"
10
  xmlns:str="http://exslt.org/strings"
10
  exclude-result-prefixes="marc items str" extension-element-prefixes="exsl">
11
  exclude-result-prefixes="marc items str holdings" extension-element-prefixes="exsl">
11
    <xsl:import href="MARC21slimUtils.xsl"/>
12
    <xsl:import href="MARC21slimUtils.xsl"/>
12
    <xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" encoding="UTF-8"/>
13
    <xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" encoding="UTF-8"/>
13
14
Lines 1300-1306 Link Here
1300
            <span class="label">Availability: </span>
1301
            <span class="label">Availability: </span>
1301
1302
1302
            <xsl:choose>
1303
            <xsl:choose>
1303
                <!-- When there are no items, try alternate holdings -->
1304
                <!-- When there are no items, try alternate holdings and holdings records -->
1304
                <xsl:when test="$itemcount=0">
1305
                <xsl:when test="$itemcount=0">
1305
                    <xsl:choose>
1306
                    <xsl:choose>
1306
                        <xsl:when test="string-length($AlternateHoldingsField)=3 and marc:datafield[@tag=$AlternateHoldingsField]">
1307
                        <xsl:when test="string-length($AlternateHoldingsField)=3 and marc:datafield[@tag=$AlternateHoldingsField]">
Lines 1313-1319 Link Here
1313
                        </xsl:for-each>
1314
                        </xsl:for-each>
1314
                        (<xsl:value-of select="$AlternateHoldingsCount"/>)
1315
                        (<xsl:value-of select="$AlternateHoldingsCount"/>)
1315
                        </xsl:when>
1316
                        </xsl:when>
1316
                        <xsl:otherwise><span class="noitems">No items available.</span> </xsl:otherwise>
1317
                        <xsl:otherwise>
1318
                            <span class="noitems">No items available.</span>
1319
                            <xsl:if test="//holdings:holdings/holdings:holding/holdings:suppress[.='0']"> Locations:
1320
                                <xsl:for-each select="//holdings:holdings/holdings:holding[./holdings:suppress='0']">
1321
                                    <xsl:if test="position() > 1">; </xsl:if>
1322
                                    <xsl:value-of select="./holdings:holdingbranch"/>
1323
                                    <xsl:if test="string-length(./holdings:location) > 0">
1324
                                    - <xsl:value-of select="./holdings:location"/>
1325
                                    </xsl:if>
1326
                                    <xsl:if test="string-length(./holdings:callnumber) > 0">
1327
                                    - <xsl:value-of select="./holdings:callnumber"/>
1328
                                    </xsl:if>
1329
                                </xsl:for-each>
1330
                            </xsl:if>
1331
                        </xsl:otherwise>
1317
                    </xsl:choose>
1332
                    </xsl:choose>
1318
                </xsl:when>
1333
                </xsl:when>
1319
1334
(-)a/misc/batchRebuildHoldingsTables.pl (+65 lines)
Line 0 Link Here
1
#!/usr/bin/perl
2
# Small script that rebuilds the non-MARC Holdings DB
3
4
use strict;
5
use warnings;
6
7
BEGIN {
8
    # find Koha's Perl modules
9
    # test carefully before changing this
10
    use FindBin;
11
    eval { require "$FindBin::Bin/kohalib.pl" };
12
}
13
14
# Koha modules used
15
use Koha::Holdings;
16
17
use Getopt::Long;
18
19
my ($input_marc_file, $number) = ('', 0);
20
my ($help, $confirm);
21
GetOptions(
22
    'c' => \$confirm,
23
    'h' => \$help,
24
);
25
26
if ($help || !$confirm) {
27
    print <<EOF
28
This script rebuilds the non-MARC Holdings DB from the MARC values.
29
You can/must use it when you change the mappings.
30
31
Example: you decide to map holdings.callnumber to 852\$k\$l\$m (it was previously mapped to 852\$k).
32
33
Syntax:
34
\t./batchRebuildHoldingsTables.pl -h (or without arguments => shows this screen)
35
\t./batchRebuildHoldingsTables.pl -c (c like confirm => rebuild non-MARC DB (may take long)
36
EOF
37
;
38
    exit;
39
}
40
41
my $starttime = time();
42
43
$| = 1; # flushes output
44
45
my $count = 0;
46
my $page = 0;
47
my $rows = 1000;
48
while (1) {
49
    ++$page;
50
    my $holdings = Koha::Holdings->search({}, {page => $page, rows => $rows});
51
    my $i = 0;
52
    while (my $holding = $holdings->next()) {
53
        my $metadata = $holding->metadata();
54
        next unless $metadata;
55
        $holding->set_marc({ record => $metadata->record() });
56
        $holding->store();
57
        ++$i;
58
    }
59
    last unless $i;
60
    $count += $i;
61
    my $timeneeded = time() - $starttime;
62
    print "$count records processed in $timeneeded seconds\n";
63
}
64
my $timeneeded = time() - $starttime;
65
print "Completed with $count records processed in $timeneeded seconds\n";
(-)a/misc/stage_file.pl (-1 / +1 lines)
Lines 129-135 sub process_batch { Link Here
129
            $params->{input_file}, $record_type, $params->{encoding} );
129
            $params->{input_file}, $record_type, $params->{encoding} );
130
    } elsif( $format eq 'MARCXML' ) {
130
    } elsif( $format eq 'MARCXML' ) {
131
        ( $errors, $marc_records ) = C4::ImportBatch::RecordsFromMARCXMLFile(
131
        ( $errors, $marc_records ) = C4::ImportBatch::RecordsFromMARCXMLFile(
132
            $params->{input_file}, $params->{encoding} );
132
            $params->{input_file}, $record_type, $params->{encoding} );
133
    }
133
    }
134
    warn ( join ',', @$errors ) if @$errors;
134
    warn ( join ',', @$errors ) if @$errors;
135
    my $num_input_records = ($marc_records) ? scalar(@$marc_records) : 0;
135
    my $num_input_records = ($marc_records) ? scalar(@$marc_records) : 0;
(-)a/t/ImportBatch.t (-3 / +3 lines)
Lines 55-69 subtest 'RecordsFromMARCXMLFile' => sub { Link Here
55
55
56
    my ( $errors, $recs );
56
    my ( $errors, $recs );
57
    my $file = create_file({ whitespace => 1, format => 'marcxml' });
57
    my $file = create_file({ whitespace => 1, format => 'marcxml' });
58
    ( $errors, $recs ) = C4::ImportBatch::RecordsFromMARCXMLFile( $file, 'UTF-8' );
58
    ( $errors, $recs ) = C4::ImportBatch::RecordsFromMARCXMLFile( $file, 'biblio', 'UTF-8' );
59
    is( @$recs, 0, 'No records from empty marcxml file' );
59
    is( @$recs, 0, 'No records from empty marcxml file' );
60
60
61
    $file = create_file({ garbage => 1, format => 'marcxml' });
61
    $file = create_file({ garbage => 1, format => 'marcxml' });
62
    ( $errors, $recs ) = C4::ImportBatch::RecordsFromMARCXMLFile( $file, 'UTF-8' );
62
    ( $errors, $recs ) = C4::ImportBatch::RecordsFromMARCXMLFile( $file, 'biblio', 'UTF-8' );
63
    is( @$recs, 0, 'Garbage returns no records' );
63
    is( @$recs, 0, 'Garbage returns no records' );
64
64
65
    $file = create_file({ two => 1, format => 'marcxml' });
65
    $file = create_file({ two => 1, format => 'marcxml' });
66
    ( $errors, $recs ) = C4::ImportBatch::RecordsFromMARCXMLFile( $file, 'UTF-8' );
66
    ( $errors, $recs ) = C4::ImportBatch::RecordsFromMARCXMLFile( $file, 'biblio', 'UTF-8' );
67
    is( @$recs, 2, 'File has two records' );
67
    is( @$recs, 2, 'File has two records' );
68
68
69
};
69
};
(-)a/t/db_dependent/FrameworkPlugin.t (-1 / +2 lines)
Lines 183-189 sub selected_plugins { Link Here
183
    } else { # some default MARC, UNIMARC and item plugins
183
    } else { # some default MARC, UNIMARC and item plugins
184
        @fi = qw| barcode.pl dateaccessioned.pl marc21_orgcode.pl
184
        @fi = qw| barcode.pl dateaccessioned.pl marc21_orgcode.pl
185
marc21_field_005.pl marc21_field_006.pl marc21_field_007.pl marc21_field_008.pl
185
marc21_field_005.pl marc21_field_006.pl marc21_field_007.pl marc21_field_008.pl
186
marc21_field_008_authorities.pl marc21_leader.pl marc21_leader_authorities.pl
186
marc21_field_008_authorities.pl marc21_field_008_holdings.pl marc21_leader.pl
187
marc21_leader_authorities.pl marc21_leader_holdings.pl
187
unimarc_leader.pl unimarc_field_100.pl unimarc_field_105.pl
188
unimarc_leader.pl unimarc_field_100.pl unimarc_field_105.pl
188
unimarc_field_106.pl unimarc_field_110.pl unimarc_field_120.pl
189
unimarc_field_106.pl unimarc_field_110.pl unimarc_field_120.pl
189
unimarc_field_130.pl unimarc_field_140.pl unimarc_field_225a.pl
190
unimarc_field_130.pl unimarc_field_140.pl unimarc_field_225a.pl
(-)a/t/db_dependent/Koha/Biblio.t (+22 lines)
Lines 1265-1267 sub host_record { Link Here
1265
    );
1265
    );
1266
    return $marc;
1266
    return $marc;
1267
}
1267
}
1268
1269
subtest 'adopt_holdings_from_biblio() tests' => sub {
1270
1271
    plan tests => 2;
1272
1273
    $schema->storage->txn_begin;
1274
1275
    my $biblio1 = $builder->build_sample_biblio;
1276
    my $biblio2 = $builder->build_sample_biblio;
1277
    my $item1 = $builder->build_sample_item({ biblionumber => $biblio1->biblionumber });
1278
    my $item2 = $builder->build_sample_item({ biblionumber => $biblio1->biblionumber });
1279
1280
    $biblio2->adopt_holdings_from_biblio($biblio1);
1281
1282
    $item1->discard_changes;
1283
    $item2->discard_changes;
1284
1285
    is($item1->biblionumber, $biblio2->biblionumber, "Item 1 moved");
1286
    is($item2->biblionumber, $biblio2->biblionumber, "Item 2 moved");
1287
1288
    $schema->storage->txn_rollback;
1289
};
(-)a/t/db_dependent/Koha/Holding.t (+224 lines)
Line 0 Link Here
1
#!/usr/bin/perl
2
3
# This file is part of Koha.
4
#
5
# Koha is free software; you can redistribute it and/or modify it
6
# under the terms of the GNU General Public License as published by
7
# the Free Software Foundation; either version 3 of the License, or
8
# (at your option) any later version.
9
#
10
# Koha is distributed in the hope that it will be useful, but
11
# WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
# GNU General Public License for more details.
14
#
15
# You should have received a copy of the GNU General Public License
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
17
18
use Modern::Perl;
19
20
use Test::More tests => 3;
21
22
use t::lib::TestBuilder;
23
24
use C4::Biblio;
25
26
use Koha::BiblioFrameworks;
27
use Koha::Database;
28
use Koha::Libraries;
29
use Koha::Library;
30
use Koha::MarcSubfieldStructures;
31
32
BEGIN {
33
    use_ok('Koha::Holding');
34
    use_ok('Koha::Holdings');
35
}
36
37
my $schema = Koha::Database->new->schema;
38
39
subtest 'Koha::Holding tests' => sub {
40
41
    plan tests => 20;
42
43
    $schema->storage->txn_begin;
44
45
    # Add a framework
46
    my $frameworkcode = 'HLD';
47
    my $existing_mss = Koha::MarcSubfieldStructures->search({frameworkcode => $frameworkcode});
48
    $existing_mss->delete() if $existing_mss;
49
    my $existing_fw = Koha::BiblioFrameworks->find({frameworkcode => $frameworkcode});
50
    $existing_fw->delete() if $existing_fw;
51
    Koha::BiblioFramework->new({
52
        frameworkcode => $frameworkcode,
53
        frameworktext => 'Holdings'
54
    })->store();
55
    Koha::MarcSubfieldStructure->new({
56
        frameworkcode => $frameworkcode,
57
        tagfield => 852,
58
        tagsubfield => 'b',
59
        kohafield => 'holdings.holdingbranch'
60
    })->store();
61
    Koha::MarcSubfieldStructure->new({
62
        frameworkcode => $frameworkcode,
63
        tagfield => 852,
64
        tagsubfield => 'c',
65
        kohafield => 'holdings.location'
66
    })->store();
67
    Koha::MarcSubfieldStructure->new({
68
        frameworkcode => $frameworkcode,
69
        tagfield => 852,
70
        tagsubfield => 'g',
71
        kohafield => 'holdings.ccode'
72
    })->store();
73
    Koha::MarcSubfieldStructure->new({
74
        frameworkcode => $frameworkcode,
75
        tagfield => 852,
76
        tagsubfield => 'h',
77
        kohafield => 'holdings.callnumber'
78
    })->store();
79
    Koha::MarcSubfieldStructure->new({
80
        frameworkcode => $frameworkcode,
81
        tagfield => 852,
82
        tagsubfield => 'k',
83
        kohafield => 'holdings.callnumber'
84
    })->store();
85
    Koha::MarcSubfieldStructure->new({
86
        frameworkcode => $frameworkcode,
87
        tagfield => 852,
88
        tagsubfield => 'l',
89
        kohafield => 'holdings.callnumber'
90
    })->store();
91
    Koha::MarcSubfieldStructure->new({
92
        frameworkcode => $frameworkcode,
93
        tagfield => 852,
94
        tagsubfield => 'm',
95
        kohafield => 'holdings.callnumber'
96
    })->store();
97
    Koha::MarcSubfieldStructure->new({
98
        frameworkcode => $frameworkcode,
99
        tagfield => 863,
100
        tagsubfield => 'a',
101
        kohafield => 'holdings.summary'
102
    })->store();
103
    Koha::MarcSubfieldStructure->new({
104
        frameworkcode => $frameworkcode,
105
        tagfield => 867,
106
        tagsubfield => 'a',
107
        kohafield => 'holdings.supplements'
108
    })->store();
109
    Koha::MarcSubfieldStructure->new({
110
        frameworkcode => $frameworkcode,
111
        tagfield => 868,
112
        tagsubfield => 'a',
113
        kohafield => 'holdings.indexes'
114
    })->store();
115
    Koha::MarcSubfieldStructure->new({
116
        frameworkcode => $frameworkcode,
117
        tagfield => 942,
118
        tagsubfield => 'n',
119
        kohafield => 'holdings.suppress'
120
    })->store();
121
    Koha::MarcSubfieldStructure->new({
122
        frameworkcode => $frameworkcode,
123
        tagfield => 852,
124
        tagsubfield => 'z',
125
        kohafield => 'holdings.public_note'
126
    })->store();
127
    Koha::MarcSubfieldStructure->new({
128
        frameworkcode => $frameworkcode,
129
        tagfield => 999,
130
        tagsubfield => 'c',
131
        kohafield => 'biblio.biblionumber'
132
    })->store();
133
    Koha::MarcSubfieldStructure->new({
134
        frameworkcode => $frameworkcode,
135
        tagfield => 999,
136
        tagsubfield => 'e',
137
        kohafield => 'holdings.holding_id'
138
    })->store();
139
140
    # Add a branch
141
    Koha::Library->new({ branchcode => 'ABC', branchname => 'Abc' })->store() unless Koha::Libraries->find({ branchcode => 'ABC' });
142
143
    # Add a biblio
144
    my $title = 'Oranges and Peaches';
145
    my $record = MARC::Record->new();
146
    my $field = MARC::Field->new('245','','','a' => $title);
147
    $record->append_fields( $field );
148
    my ($biblionumber) = C4::Biblio::AddBiblio($record, '');
149
150
    # Add a holdings record
151
    my $holding_marc = MARC::Record->new();
152
    $holding_marc->append_fields(
153
        MARC::Field->new(
154
            '852',
155
            '',
156
            '',
157
            'b' => 'ABC', 'c' => 'DEF', 'h' => 'classification', 'k' => 'cnprefix', 'l' => 'shelving', 'm' => 'cnsuffix'
158
        )
159
    );
160
    my $new_holding = Koha::Holding->new({ biblionumber => $biblionumber, frameworkcode => $frameworkcode });
161
    is ($new_holding->set_marc({record => $holding_marc}), $new_holding, 'set_marc() returns the object');
162
    is($new_holding->store(), $new_holding, 'store() returns the object on create');
163
    is(defined $new_holding->holding_id(), 1, 'Newly added holdings record has a holding_id');
164
165
    # Check that the added record can be found and looks right
166
    my $holding = Koha::Holdings->find($new_holding->holding_id());
167
    is(ref $holding, 'Koha::Holding', 'Found a Koha::Holding object');
168
    is($holding->frameworkcode(), $frameworkcode, 'Framework code correct in Koha::Holding object');
169
    is($holding->holdingbranch(), 'ABC', 'Location correct in Koha::Holding object');
170
    is($holding->biblio()->biblionumber(), $biblionumber, 'Biblio correct in Koha::Holding object');
171
172
    my $branch = $holding->holding_branch();
173
    is(ref $branch, 'Koha::Library', 'holding_branch() returns a Koha::Library object');
174
    is($branch->branchname(), 'Abc', 'holding_branch() returns correct library');
175
176
    my $metadata = $holding->metadata;
177
    is( ref $metadata, 'Koha::Holdings::Metadata', 'Method metadata() returned a Koha::Holdings::Metadata object');
178
179
    my $holding_marc2 = $metadata->record;
180
    is(ref $holding_marc2, 'MARC::Record', 'Method record() returned a MARC::Record object');
181
    is($holding_marc2->field('852')->subfield('b'), 'ABC', 'Location in 852$b matches location from original record object');
182
183
    # Test updating the record
184
    $holding_marc2->append_fields(MARC::Field->new('942','','','n' => '1'));
185
    is($holding->set_marc({record => $holding_marc2}), $holding, 'set_marc() returns the object on update');
186
    is($holding->store(), $holding, 'store() returns the object on update');
187
188
    is($holding->suppress(), 1, 'Holdings record is suppressed');
189
190
    # Test misc methods
191
    my %mapping = Koha::Holding->get_marc_field_mapping({ field => 'holdings.location' });
192
    is_deeply(
193
        \%mapping,
194
        {852 => 'c'},
195
        'get_marc_field_mapping returns correct data'
196
    );
197
198
    my $fields = Koha::Holding->marc_to_koha_fields({ record => $holding_marc2 });
199
    is_deeply(
200
        $fields,
201
        {
202
            holdingbranch => 'ABC',
203
            location => 'DEF',
204
            ccode => undef,
205
            indexes => undef,
206
            public_note => undef,
207
            callnumber => 'classification | cnprefix | shelving | cnsuffix',
208
            summary => undef,
209
            supplements => undef,
210
            suppress => 1,
211
            holding_id => $new_holding->holding_id()
212
        },
213
        'marc_to_koha_fields returns correct data'
214
    );
215
216
    # Test deletion
217
    is(defined $holding->deleted_on(), '', 'Holdings record not marked as deleted');
218
    $holding->delete();
219
    $holding = Koha::Holdings->find($new_holding->holding_id());
220
    is(defined $holding->deleted_on(), 1, 'Holdings record marked as deleted');
221
    is(defined $holding->metadata()->deleted_on(), 1, 'Holdings metadata record marked as deleted');
222
223
    $schema->storage->txn_rollback;
224
};
(-)a/t/db_dependent/Koha/Holdings.t (+113 lines)
Line 0 Link Here
1
#!/usr/bin/perl
2
3
# This file is part of Koha.
4
#
5
# Koha is free software; you can redistribute it and/or modify it
6
# under the terms of the GNU General Public License as published by
7
# the Free Software Foundation; either version 3 of the License, or
8
# (at your option) any later version.
9
#
10
# Koha is distributed in the hope that it will be useful, but
11
# WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
# GNU General Public License for more details.
14
#
15
# You should have received a copy of the GNU General Public License
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
17
18
use Modern::Perl;
19
20
use Test::More tests => 2;
21
22
use t::lib::TestBuilder;
23
24
use C4::Biblio;
25
26
use Koha::BiblioFrameworks;
27
use Koha::Database;
28
use Koha::MarcSubfieldStructures;
29
30
BEGIN {
31
    use_ok('Koha::Holdings');
32
}
33
34
my $schema = Koha::Database->new->schema;
35
36
subtest 'Koha::Holdings tests' => sub {
37
38
    plan tests => 3;
39
40
    $schema->storage->txn_begin;
41
42
    # Add a framework
43
    my $frameworkcode = 'HLD';
44
    my $existing_mss = Koha::MarcSubfieldStructures->search({frameworkcode => $frameworkcode});
45
    $existing_mss->delete() if $existing_mss;
46
    my $existing_fw = Koha::BiblioFrameworks->find({frameworkcode => $frameworkcode});
47
    $existing_fw->delete() if $existing_fw;
48
    Koha::BiblioFramework->new({
49
        frameworkcode => $frameworkcode,
50
        frameworktext => 'Holdings'
51
    })->store();
52
    Koha::MarcSubfieldStructure->new({
53
        frameworkcode => $frameworkcode,
54
        tagfield => 852,
55
        tagsubfield => 'b',
56
        kohafield => 'holdings.holdingbranch'
57
    })->store();
58
    Koha::MarcSubfieldStructure->new({
59
        frameworkcode => $frameworkcode,
60
        tagfield => 852,
61
        tagsubfield => 'c',
62
        kohafield => 'holdings.location'
63
    })->store();
64
    Koha::MarcSubfieldStructure->new({
65
        frameworkcode => $frameworkcode,
66
        tagfield => 999,
67
        tagsubfield => 'c',
68
        kohafield => 'biblio.biblionumber'
69
    })->store();
70
    Koha::MarcSubfieldStructure->new({
71
        frameworkcode => $frameworkcode,
72
        tagfield => 999,
73
        tagsubfield => 'e',
74
        kohafield => 'holdings.holding_id'
75
    })->store();
76
77
    # Add branches
78
    Koha::Library->new({ branchcode => 'ABC', branchname => 'Abc' })->store() unless Koha::Libraries->find({ branchcode => 'ABC' });
79
    Koha::Library->new({ branchcode => 'BCD', branchname => 'Bcd' })->store() unless Koha::Libraries->find({ branchcode => 'BCD' });
80
81
    # Add a biblio
82
    my $title = 'Oranges and Peaches';
83
    my $record = MARC::Record->new();
84
    my $field = MARC::Field->new('245','','','a' => $title);
85
    $record->append_fields( $field );
86
    my ($biblionumber) = C4::Biblio::AddBiblio($record, '');
87
88
    # Add a couple of holdings records
89
    my $holding_marc = MARC::Record->new();
90
    $holding_marc->append_fields(MARC::Field->new('852','','','b' => 'ABC', 'c' => 'DEF'));
91
    my $new_holding = Koha::Holding->new({ biblionumber => $biblionumber, frameworkcode => $frameworkcode });
92
    $new_holding->set_marc({record => $holding_marc})->store();
93
94
    $holding_marc = MARC::Record->new();
95
    $holding_marc->append_fields(MARC::Field->new('852','','','b' => 'BCD', 'c' => 'DEF'));
96
    $new_holding = Koha::Holding->new({ biblionumber => $biblionumber, frameworkcode => $frameworkcode });
97
    $new_holding->set_marc({record => $holding_marc})->store();
98
99
    # Add and delete a holdings record
100
    $holding_marc = MARC::Record->new();
101
    $holding_marc->append_fields(MARC::Field->new('852','','','b' => 'BCD', 'c' => 'DEF'));
102
    $new_holding = Koha::Holding->new({ biblionumber => $biblionumber, frameworkcode => $frameworkcode });
103
    $new_holding->set_marc({record => $holding_marc})->store();
104
    $new_holding->delete();
105
106
    # Test results
107
    my $fields = Koha::Holdings->get_embeddable_marc_fields({ biblionumber => $biblionumber});
108
    is(scalar(@{$fields}), 2, 'get_embeddable_marc_fields returns two fields');
109
    is($fields->[0]->as_string, 'ABC DEF', 'get_embeddable_marc_fields returns correct data in first field');
110
    is($fields->[1]->as_string, 'BCD DEF', 'get_embeddable_marc_fields returns correct data in second field');
111
112
    $schema->storage->txn_rollback;
113
};
(-)a/t/db_dependent/Koha/Item.t (-3 / +21 lines)
Lines 1288-1294 subtest 'Tests for relationship between item and item_orders via aqorders_item' Link Here
1288
};
1288
};
1289
1289
1290
subtest 'move_to_biblio() tests' => sub {
1290
subtest 'move_to_biblio() tests' => sub {
1291
    plan tests => 16;
1291
    plan tests => 20;
1292
1292
1293
    $schema->storage->txn_begin;
1293
    $schema->storage->txn_begin;
1294
1294
Lines 1300-1314 subtest 'move_to_biblio() tests' => sub { Link Here
1300
    my $source_biblionumber = $source_biblio->biblionumber;
1300
    my $source_biblionumber = $source_biblio->biblionumber;
1301
    my $target_biblionumber = $target_biblio->biblionumber;
1301
    my $target_biblionumber = $target_biblio->biblionumber;
1302
1302
1303
    my $library = $builder->build_object({ class => 'Koha::Libraries' });
1304
1305
    my $source_holding = $builder->build_sample_holdings_record({
1306
        biblionumber => $source_biblionumber,
1307
        library => $library->branchcode,
1308
    });
1309
    my $standalone_holding = $builder->build_sample_holdings_record({
1310
        biblionumber => $source_biblionumber,
1311
        library => $library->branchcode,
1312
    });
1313
1303
    my $item1 = $builder->build_sample_item({ biblionumber => $source_biblionumber });
1314
    my $item1 = $builder->build_sample_item({ biblionumber => $source_biblionumber });
1315
    $item1->set({ holding_id => $source_holding->holding_id() })->store();
1304
    my $item2 = $builder->build_sample_item({ biblionumber => $source_biblionumber });
1316
    my $item2 = $builder->build_sample_item({ biblionumber => $source_biblionumber });
1317
    $item2->set({ holding_id => $source_holding->holding_id() })->store();
1305
    my $item3 = $builder->build_sample_item({ biblionumber => $source_biblionumber });
1318
    my $item3 = $builder->build_sample_item({ biblionumber => $source_biblionumber });
1306
1319
1307
    my $itemnumber1 = $item1->itemnumber;
1320
    my $itemnumber1 = $item1->itemnumber;
1308
    my $itemnumber2 = $item2->itemnumber;
1321
    my $itemnumber2 = $item2->itemnumber;
1309
1322
1310
    my $library = $builder->build_object({ class => 'Koha::Libraries' });
1311
1312
    my $patron = $builder->build_object({
1323
    my $patron = $builder->build_object({
1313
        class => 'Koha::Patrons',
1324
        class => 'Koha::Patrons',
1314
        value => { branchcode => $library->branchcode }
1325
        value => { branchcode => $library->branchcode }
Lines 1435-1440 subtest 'move_to_biblio() tests' => sub { Link Here
1435
    my $get_item3 = Koha::Items->find( $item3->itemnumber );
1446
    my $get_item3 = Koha::Items->find( $item3->itemnumber );
1436
    is($get_item3->biblionumber, $source_biblionumber, 'item3 is not moved');
1447
    is($get_item3->biblionumber, $source_biblionumber, 'item3 is not moved');
1437
1448
1449
    my $target_holdings = $target_biblio->holdings();
1450
    is($target_holdings->count, 1, 'Holdings record should have been created in target biblio');
1451
1452
    is($get_item1->holding->holding_id, $target_holdings->next->holding_id, 'holding_id updated in the moved item');
1453
    is($get_item2->holding->holding_id, $source_holding->holding_id, 'holding_id not updated in the unmoved item');
1454
    is($get_item3->holding, undef, 'item 3 does not have a holding_id');
1455
1438
    $aq_order1->discard_changes;
1456
    $aq_order1->discard_changes;
1439
    $aq_order2->discard_changes;
1457
    $aq_order2->discard_changes;
1440
    is($aq_order1->biblionumber, $target_biblionumber, 'move_to_biblio moves aq_orders for item 1');
1458
    is($aq_order1->biblionumber, $target_biblionumber, 'move_to_biblio moves aq_orders for item 1');
(-)a/t/db_dependent/Koha/SearchEngine/Indexer.t (-3 / +16 lines)
Lines 60-66 subtest 'Test indexer object creation' => sub { Link Here
60
};
60
};
61
61
62
subtest 'Test indexer calls' => sub {
62
subtest 'Test indexer calls' => sub {
63
    plan tests => 48;
63
    plan tests => 52;
64
64
65
    my @engines = ('Zebra');
65
    my @engines = ('Zebra');
66
    eval { Koha::SearchEngine::Elasticsearch->get_elasticsearch_params; };
66
    eval { Koha::SearchEngine::Elasticsearch->get_elasticsearch_params; };
Lines 184-191 subtest 'Test indexer calls' => sub { Link Here
184
        } undef, "index_records is not called for $engine when moving an item to another biblio (Item->move_to_biblio) if skip_record_index passed";
184
        } undef, "index_records is not called for $engine when moving an item to another biblio (Item->move_to_biblio) if skip_record_index passed";
185
185
186
        warnings_are{
186
        warnings_are{
187
            $biblio->items->move_to_biblio($biblio2);
187
            $biblio2->adopt_holdings_from_biblio($biblio);
188
        } [$engine,"Koha::Items",$engine,"Koha::Items"], "index_records is called for from and to biblios for $engine when adopting items (Biblio->items->move_to_biblio(Biblio)";
188
        } [$engine,"Koha::Biblio",$engine,"Koha::Biblio"], "index_records is called for both biblios for $engine when adopting items and holdings (Biblio->adopt_holdings_from_biblio)";
189
190
        my $holding1;
191
        my $holding2;
192
        warnings_are{
193
            $holding1 = $builder->build_sample_holdings_record({biblionumber => $biblio->biblionumber});
194
            $holding2 = $builder->build_sample_holdings_record({biblionumber => $biblio->biblionumber});
195
        } [$engine,"Koha::Holding",$engine,"Koha::Holding"], "index_records is called for $engine when adding a holdings record (Holding->store)";
196
        warnings_are{
197
            $holding1->store({ skip_record_index => 1 });
198
        } undef, "index_records is not called for $engine when adding a holdings record (Holding->store) if skip_record_index passed";
199
        # Delete holdings records so that they don't interfere with biblio deletion tests
200
        $holding1->delete;
201
        $holding2->delete;
189
202
190
        my $items = Koha::Items->search({ itemnumber => [ $item2->itemnumber, $item5->itemnumber, $item6->itemnumber ] });
203
        my $items = Koha::Items->search({ itemnumber => [ $item2->itemnumber, $item5->itemnumber, $item6->itemnumber ] });
191
        warnings_are{
204
        warnings_are{
(-)a/t/lib/TestBuilder.pm (-2 / +25 lines)
Lines 121-127 sub build { Link Here
121
    });
121
    });
122
    return if !$col_values; # did not meet unique constraints?
122
    return if !$col_values; # did not meet unique constraints?
123
123
124
    # loop thru all fk and create linked records if needed
124
    # loop through all fk and create linked records if needed
125
    # fills remaining entries in $col_values
125
    # fills remaining entries in $col_values
126
    my $foreign_keys = $self->_getForeignKeys( { source => $source } );
126
    my $foreign_keys = $self->_getForeignKeys( { source => $source } );
127
    my $col_names = {};
127
    my $col_names = {};
Lines 210-215 sub build_sample_item { Link Here
210
    )->store->get_from_storage;
210
    )->store->get_from_storage;
211
}
211
}
212
212
213
sub build_sample_holdings_record {
214
    my ( $self, $args ) = @_;
215
216
    my $biblionumber =
217
      delete $args->{biblionumber} || $self->build_sample_biblio->biblionumber;
218
    my $library = delete $args->{library}
219
      || $self->build_object( { class => 'Koha::Libraries' } )->branchcode;
220
221
    my $holding_marc = MARC::Record->new();
222
    $holding_marc->append_fields(MARC::Field->new('852','','','b' => $library));
223
    my $record = Koha::Holding->new({ biblionumber => $biblionumber, frameworkcode => '' });
224
    $record->set_marc({record => $holding_marc});
225
226
    return $record->store->get_from_storage;
227
}
228
213
# ------------------------------------------------------------------------------
229
# ------------------------------------------------------------------------------
214
# Internal helper routines
230
# Internal helper routines
215
231
Lines 749-754 returns the corresponding Koha::Object. Link Here
749
765
750
    my $patron = $builder->build_object({ class => 'Koha::Patrons' [, value => { ... }] });
766
    my $patron = $builder->build_object({ class => 'Koha::Patrons' [, value => { ... }] });
751
767
768
=head2 build_sample_holdings_record
769
770
    my $record = $builder->build_sample_holdings_record( { biblionumber = $bibno, library => $branch });
771
772
Creates and returns a sample Koha::Holding record.
773
774
=cut
775
752
=head1 AUTHOR
776
=head1 AUTHOR
753
777
754
Yohann Dufour <yohann.dufour@biblibre.com>
778
Yohann Dufour <yohann.dufour@biblibre.com>
755
- 

Return to bug 20447