optionally include records with 856's in MARC export
authorJeff Davis <jdavis@sitka.bclibraries.ca>
Wed, 10 Aug 2016 19:46:38 +0000 (12:46 -0700)
committerJeff Davis <jdavis@sitka.bclibraries.ca>
Wed, 10 Aug 2016 19:46:38 +0000 (12:46 -0700)
marc_export_custom/marc_export_custom

index 8839d65..bf9273a 100755 (executable)
@@ -30,6 +30,7 @@ my ($exclusion_ini,$collapse_to_depth, $output_file);
 my $cfg;
 my $force901;
 my $onlyholdings;
+my $with_ebooks;
 my $field852_4b_type = 'collapsed';
 
 GetOptions(
@@ -49,6 +50,7 @@ GetOptions(
         'exclusion_ini=s' => \$exclusion_ini,
         'collapse_to_depth=i' => \$collapse_to_depth,
         'onlyholdings' => \$onlyholdings,
+        'with-ebooks' => \$with_ebooks,
         'output-file=s' => \$output_file,
         'quiet' => \$quiet,
         'field-852-4b-type=s' => \$field852_4b_type,
@@ -104,6 +106,7 @@ Usage: $0 [options]
                             will be collapsed up to the parent org unit at the set depth
  --onlyholdings             Clean out 852s before adding new ones, and only export items that
                             successfully recieved an 852 field
+ --with-ebooks              Include records with 856 fields, even if they have no holdings
  --field-852-4b-type TYPE   TYPE IN 'circ', 'owning', 'collapsed' (default)
                             What library should be displayed in field 852 4\$b?
 
@@ -269,9 +272,11 @@ sub export_record {
                 # Add new 852 fields 
                 add_bib_holdings($bib, $r);
                 # Check that at least one 852 was added
-                @f = $r->field('852');
+                @marc852 = $r->field('852');
+                @marc856 = $r->field('856');
                 # If not, we should NOT add this item to the export 
-                return unless @f;
+                # ... but we may still want the record if it has an 856
+                return unless ( @marc852 || ($with_ebooks && @marc856) );
             } else {
                 add_bib_holdings($bib, $r);
             }