sub extractData($$) {
  my $pendingResult = $_[0];
  my $currentTuple = $_[1];
  my $fnumber;
  my %valuesHash;
  $fnumber = 4;
  my $dataField = $pendingResult->getvalue($currentTuple,$fnumber);
  my $numofbs;

  while(length($dataField)>0) {
    # Extract the field name that is surronded by double quotes
    $dataField =~ m/(\".*?\")/s;
    my $fieldName = $1;
    $dataField = substr $dataField ,length($fieldName);
    $fieldName =~ s/\"//g; #Remove the surronding " signs.

    if($dataField =~ m/(^= )/s) {
      #Matched null
	$dataField = substr $dataField , length($1);
      $valuesHash{$fieldName}=undef;
    }
    elsif ($dataField =~ m/(^=\')/s) {
      #Has data.
      my $value;
      $dataField = substr $dataField ,2; #Skip the ='
    LOOP: {  #This is to allow us to use last from a do loop.
	     #Recommended in perlsyn manpage.
      do {
	my $matchString;
	my $matchString2;
	#Find the substring ending with the first ' or first \
	$dataField =~ m/(.*?[\'])?/s; 
	$matchString = $1;

	$numofbs = ($matchString =~ tr/\\//) % 2;	

	if ($numofbs == 1) { #// odd number of \, i.e. intermediate '
		$matchString2 = substr $matchString,0, length($matchString)-2;
		$matchString2 =~ s/\\\\/\\/g;
		$value .= ($matchString2 . "\'");
		$dataField = substr $dataField,length($matchString);
	}
	else { #// even number of \, i.e. found end of data
		$matchString2 = substr $matchString,0, length($matchString)-1;
		$matchString2 =~ s/\\\\/\\/g;
		$value .= $matchString2;
		$dataField = substr $dataField,length($matchString)+1;
		last;
	}

	   
      } until(length($dataField)==0);
  }
      $valuesHash{$fieldName} = $value;
      
      
      }#else if 
	  else {
	    
	    logErrorMessage "Error in PendingData Sequence Id " .
		$pendingResult->getvalue($currentTuple,0);
	    die;
	  }
    
    
    
  } #while
  return %valuesHash;
    
}
