+ else {
+ my $numresults = $oResult[$k]->size();
+ my $i;
+ my $result = '';
+ if ( $numresults > 0 ) {
+ for ($i = 0; $i < (($numresults < 20) ? $numresults : 20); $i++) {
+ my $rec = $oResult[$k]->record($i);
+ if ($rec) {
+ my $marcrecord;
+ $marcdata = $rec->raw();
+
+ my ($charset_result, $charset_errors);
+ ($marcrecord, $charset_result, $charset_errors) =
+ MarcToUTF8Record($marcdata, C4::Context->preference('marcflavour'), $encoding[$k]);
+
+ # We clean the ISBN
+ my ($bibliotag,$bibliosubf)=GetMarcFromKohaField('biblioitems.isbn','');
+
+ if ($bibliotag<10){
+ $isbn = $marcrecord->field($bibliotag)->data;
+ }else{
+ $isbn = $marcrecord->subfield($bibliotag,$bibliosubf);
+ }
+
+ $isbn = C4::Koha::_isbn_cleanup($isbn);
+
+ if($marcrecord->field($bibliotag)){
+ if($bibliotag < 10){
+ $marcrecord->field($bibliotag)->update($isbn)
+ }else{
+ $marcrecord->field($bibliotag)->update($bibliosubf => $isbn);
+ }
+ }
+
+####WARNING records coming from Z3950 clients are in various character sets MARC8,UTF8,UNIMARC etc
+## In HEAD i change everything to UTF-8
+# In rel2_2 i am not sure what encoding is so no character conversion is done here
+##Add necessary encoding changes to here -TG
+ my $oldbiblio = TransformMarcToKoha( $dbh, $marcrecord, "" );
+ $oldbiblio->{isbn} =~ s/ |-|\.//g,
+ $oldbiblio->{issn} =~ s/ |-|\.//g,
+ my (
+ $notmarcrecord, $alreadyindb, $alreadyinfarm,
+ $imported, $breedingid
+ )
+ = ImportBreeding( $marcdata, 2, $serverhost[$k], $encoding[$k], $random, 'z3950' );
+ my %row_data;
+ $row_data{server} = $servername[$k];
+ $row_data{isbn} = $oldbiblio->{isbn};
+ $row_data{lccn} = $oldbiblio->{lccn};
+ $row_data{title} = $oldbiblio->{title};
+ $row_data{author} = $oldbiblio->{author};
+ $row_data{date} = $oldbiblio->{copyrightdate};
+ $row_data{edition} = $oldbiblio->{editionstatement};
+ $row_data{breedingid} = $breedingid;
+ $row_data{biblionumber} = $biblionumber;
+ push( @breeding_loop, \%row_data );
+
+ } else {
+ push(@breeding_loop,{'server'=>$servername[$k],'title'=>join(': ',$oConnection[$k]->error_x()),'breedingid'=>-1,'biblionumber'=>-1});
+ } # $rec
+ }
+ } #$numresults
+ }
+ } # if $k !=0
+ $numberpending = $nremaining - 1;
+ $template->param(
+ breeding_loop => \@breeding_loop,
+ server => $servername[$k],
+ numberpending => $numberpending,
+ biblionumber => $biblionumber,
+ errconn => \@errconn