| 
      
            Lines 12-17
          BEGIN {
      
      
        Link Here
      
     | 
  
        
          | 12 | 
          use C4::Context;  | 
          12 | 
          use C4::Context;  | 
        
        
          | 13 | 
          use C4::Biblio;  | 
          13 | 
          use C4::Biblio;  | 
        
        
          | 14 | 
          use C4::Items;  | 
          14 | 
          use C4::Items;  | 
        
            
               | 
               | 
              15 | 
              use Koha::Items;  | 
            
        
          | 15 | 
          use Getopt::Long;  | 
          16 | 
          use Getopt::Long;  | 
        
        
          | 16 | 
           | 
          17 | 
           | 
        
        
          | 17 | 
          $| = 1;  | 
          18 | 
          $| = 1;  | 
        
  
    | 
      
            Lines 34-40
          if (not $result or $want_help or not $do_update) {
      
      
        Link Here
      
     | 
  
        
          | 34 | 
           | 
          35 | 
           | 
        
        
          | 35 | 
          my $num_bibs_processed     = 0;  | 
          36 | 
          my $num_bibs_processed     = 0;  | 
        
        
          | 36 | 
          my $num_bibs_modified      = 0;  | 
          37 | 
          my $num_bibs_modified      = 0;  | 
        
            
              | 37 | 
              my $num_nobib_foritemnumber = 0;  | 
               | 
               | 
            
        
          | 38 | 
          my $num_noitem_forbarcode = 0;  | 
          38 | 
          my $num_noitem_forbarcode = 0;  | 
        
        
          | 39 | 
          my $num_nobarcode_inhostfield =0;  | 
          39 | 
          my $num_nobarcode_inhostfield =0;  | 
        
        
          | 40 | 
          my $num_hostfields_unabletomodify =0;  | 
          40 | 
          my $num_hostfields_unabletomodify =0;  | 
        
  
    | 
      
            Lines 91-126
          sub process_bib {
      
      
        Link Here
      
     | 
  
        
          | 91 | 
              my $analyticfield = '773';  | 
          91 | 
              my $analyticfield = '773';  | 
        
        
          | 92 | 
          	foreach my $hostfield ( $bib->field($analyticfield) ) { | 
          92 | 
          	foreach my $hostfield ( $bib->field($analyticfield) ) { | 
        
        
          | 93 | 
          		if(my $barcode = $hostfield->subfield('o')){ | 
          93 | 
          		if(my $barcode = $hostfield->subfield('o')){ | 
        
          
            
              | 94 | 
              			my $itemnumber = GetItemnumberFromBarcode($barcode);  | 
              94 | 
                          my $item = Koha::Items->find({ barcode => $barcode }); | 
            
            
              | 95 | 
              			if ($itemnumber ne undef){ | 
              95 | 
                          if ($item) { | 
            
            
              | 96 | 
              				my $bibnumber = GetBiblionumberFromItemnumber($itemnumber);  | 
              96 | 
                              my $modif;  | 
            
            
              | 97 | 
              				if ($bibnumber ne undef){ | 
              97 | 
                              if ( $hostfield->subfield('0') ne $biblionumber ) { | 
            
            
              | 98 | 
              					my $modif;  | 
              98 | 
                                  $hostfield->update( '0', $biblionumber );  | 
            
            
              | 99 | 
              					if ($hostfield->subfield('0') ne $bibnumber){ | 
              99 | 
                                  $modif = 1;  | 
            
            
              | 100 | 
              						$hostfield->update('0', $bibnumber); | 
              100 | 
                              }  | 
            
            
              | 101 | 
              						$modif = 1;  | 
              101 | 
                              if ( $hostfield->subfield('9') ne $item->itemnumber ) { | 
            
            
              | 102 | 
              					}  | 
              102 | 
                                  $hostfield->update( '9', $item->itemnumber );  | 
            
            
              | 103 | 
              					if ($hostfield->subfield('9') ne $itemnumber){ | 
              103 | 
                                  $modif = 1;  | 
            
            
              | 104 | 
              						$hostfield->update('9', $itemnumber); | 
              104 | 
                              }  | 
            
            
              | 105 | 
              						$modif=1;  | 
              105 | 
                              if ($modif) { | 
            
            
              | 106 | 
              					}  | 
              106 | 
                                  $num_bibs_modified++;  | 
            
            
              | 107 | 
              					if ($modif){ | 
              107 | 
                                  my $modresult = ModBiblio( $bib, $biblionumber, '' );  | 
            
            
              | 108 | 
              						$num_bibs_modified++;  | 
              108 | 
                                  warn "Modifying biblio $biblionumber";  | 
            
            
              | 109 | 
              						my $modresult = ModBiblio($bib, $biblionumber, '');  | 
              109 | 
                                  if ( !$modresult ) { | 
            
            
              | 110 | 
              						warn "Modifying biblio $biblionumber";  | 
              110 | 
                                      warn "Unable to modify biblio $biblionumber with update host field";  | 
            
            
              | 111 | 
              						if (!$modresult){ | 
              111 | 
                                      $num_hostfields_unabletomodify++;  | 
            
            
              | 112 | 
              							warn "Unable to modify biblio $biblionumber with update host field";  | 
              112 | 
                                  }  | 
            
            
              | 113 | 
              							$num_hostfields_unabletomodify++;  | 
              113 | 
                              }  | 
            
            
              | 114 | 
              						}  | 
              114 | 
                          }  | 
            
            
              | 115 | 
              					}  | 
              115 | 
                          else { | 
            
            
              | 116 | 
              				} else { | 
              116 | 
                              warn "No item record found for barcode $barcode";  | 
            
            
              | 117 | 
              					warn "No biblio record found corressponding to itemnumber $itemnumber";  | 
              117 | 
                              $num_noitem_forbarcode++;  | 
            
            
              | 118 | 
              					$num_nobib_foritemnumber++;  | 
              118 | 
                          }  | 
            
            
              | 119 | 
              				}  | 
               | 
               | 
            
            
              | 120 | 
              			} else { | 
            
            
              | 121 | 
              				warn "No item record found for barcode $barcode";  | 
            
            
              | 122 | 
              				$num_noitem_forbarcode++;  | 
            
            
              | 123 | 
              			}  | 
            
        
          | 124 | 
          		} else{ | 
          119 | 
          		} else{ | 
        
        
          | 125 | 
          			warn "No barcode in host field for biblionumber $biblionumber";  | 
          120 | 
          			warn "No barcode in host field for biblionumber $biblionumber";  | 
        
        
          | 126 | 
          			$num_nobarcode_inhostfield++;  | 
          121 | 
          			$num_nobarcode_inhostfield++;  | 
        
            
              | 127 | 
              -   | 
               | 
               |