diff --git a/.cane b/.cane new file mode 100644 index 0000000..f5fbe0e --- /dev/null +++ b/.cane @@ -0,0 +1,5 @@ +--no-doc +--no-style +--style-measure 99 +--abc-max 18 +--style-exclude spec/**/* diff --git a/.gitignore b/.gitignore index 219784c..602a8ba 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ *.gem .bundle Gemfile.lock +*.lock pkg/* doc/* -coverage/* \ No newline at end of file +coverage/* +.idea diff --git a/.rspec b/.rspec index cf6add7..b83d9b7 100644 --- a/.rspec +++ b/.rspec @@ -1 +1,3 @@ ---colour \ No newline at end of file +--color +--format documentation +--require spec_helper diff --git a/.rubocop.yml b/.rubocop.yml new file mode 100644 index 0000000..059b099 --- /dev/null +++ b/.rubocop.yml @@ -0,0 +1,17 @@ +AllCops: + Include: + - '**/Rakefile' + Exclude: + - 'spec/**/*' +Style/LineLength: + Max: 99 +Style/FileName: + Enabled: false +Style/ModuleFunction: + Enabled: false +Style/Encoding: + Enabled: false +Documentation: + Enabled: false +Style/MethodLength: + Max: 15 diff --git a/.travis.yml b/.travis.yml index 53ed573..95454da 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,29 +1,18 @@ -script: "bundle exec rake spec" language: ruby rvm: - - 1.9.3 - - 2.1.1 + - 2.0.0 + - 2.1 + - ruby-head - jruby-19mode - - rbx -notifications: - disable: true + - rbx-2 gemfile: - - money-5.1.gemfile - - money-6.0.gemfile - - money-head.gemfile + - gemfiles/money_6.1.gemfile + - gemfiles/money_6.2.gemfile + - gemfiles/money_head.gemfile matrix: allow_failures: - - gemfile: gemfiles/money-head.gemfile - exclude: - - rvm: 1.9.3 - gemfile: money-5.1.gemfile - - rvm: jruby-19mode - gemfile: money-5.1.gemfile - - rvm: rbx - gemfile: money-5.1.gemfile - - rvm: 1.9.3 - gemfile: money-head.gemfile - - rvm: jruby-19mode - gemfile: money-head.gemfile - - rvm: rbx - gemfile: money-head.gemfile + - rvm: ruby-head +bundler_args: --without local_development +script: + - mkdir tmp + - bundle exec rake diff --git a/Appraisals b/Appraisals new file mode 100644 index 0000000..7cae3cc --- /dev/null +++ b/Appraisals @@ -0,0 +1,15 @@ +appraise "money-6.0" do + gem "money", "~> 6.0.0" +end + +appraise "money-6.1" do + gem "money", "~> 6.1.0" +end + +appraise "money-6.2" do + gem "money", "~> 6.2.0" +end + +appraise "money-head" do + gem "money", github: "RubyMoney/money" +end diff --git a/CHANGELOG b/CHANGELOG index 81d78e7..10e2ab0 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,8 @@ +2014-11-17 - Alexander Simonov + * Version 2.1 + * Code refactoring + * Add support for load rates from cache + * Remove support for Money 5.x 2014-03-28 - Matias Korhonen * Version 2.0.2 * Fixes the Nordea data URL diff --git a/Gemfile b/Gemfile index a5afc87..53fd296 100644 --- a/Gemfile +++ b/Gemfile @@ -1,4 +1,20 @@ -source "http://rubygems.org" +source 'https://rubygems.org' -# Specify your gem's dependencies in nordea.gemspec gemspec + +group :test do + gem 'simplecov', '>= 0.9.0', require: false + gem 'coveralls', require: false +end + +group :local_development do + gem 'appraisal' + gem 'terminal-notifier-guard', require: false if RUBY_PLATFORM.downcase.include?('darwin') + gem 'guard', '>= 2.0.0' + gem 'guard-rspec', '>= 4.3.1', require: false + gem 'guard-bundler', require: false + gem 'guard-preek', require: false + gem 'guard-rubocop', require: false + gem 'guard-reek', github: 'pericles/guard-reek', require: false + gem 'pry' +end diff --git a/Guardfile b/Guardfile new file mode 100644 index 0000000..e0e231a --- /dev/null +++ b/Guardfile @@ -0,0 +1,19 @@ +guard 'rspec', cmd: 'rspec' do + watch(%r{^spec/.+_spec\.rb$}) + watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" } + watch('spec/spec_helper.rb') { 'spec' } +end + +guard 'bundler' do + watch('Gemfile') + watch('nordea.gemspec') +end + +guard :rubocop do + watch(%r{.+\.rb$}) + watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) } +end + +guard :preek, run_all_dir: 'lib' do + watch(/^lib\/(.*).rb/) +end diff --git a/README.md b/README.md index 951ca4b..c5244d9 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,9 @@ The Money gem integration works in a similar way to the [eu\_central\_bank](http nordea_bank = Nordea::Bank.new Money.default_bank = nordea_bank + # Load rates + nordea_bank.update_rates + # Exchange 100 EUR to USD nordea_bank.exchange(100, "EUR", "USD") @@ -32,9 +35,16 @@ The Money gem integration works in a similar way to the [eu\_central\_bank](http # Exchange 100 Canadian dollars to US dollars nordea_bank.exchange_with(Money.new(100, "CAD"), "USD") - # Update the forex rates + # Update the rates to latest nordea_bank.update_rates + # Save rates to cache file + cache = '/tmp/nordea_cache.yml' + nordea_bank.save_rates(cache) + + # Load rates from cache file + nordea_bank.update_rates(cache) + ### Without the Money gem exchange_rates = Nordea::ExchangeRates.new @@ -51,12 +61,6 @@ The Money gem integration works in a similar way to the [eu\_central\_bank](http For more information, read the [documentation](http://rubydoc.info/gems/nordea). -Ruby compatibility ------------------- - -The gem should work with Ruby 1.9.3, Ruby 2.0.0, jRuby, and Rubinius (only Ruby 1.9 is actively targetted). - - About the data and data source ------------------------------ diff --git a/Rakefile b/Rakefile index 4dd058e..40123c0 100644 --- a/Rakefile +++ b/Rakefile @@ -1,12 +1,12 @@ # encoding: UTF-8 -require "bundler/gem_tasks" +require 'bundler/gem_tasks' -require "rake" -require "rake/task" +require 'rake' +require 'rake/task' -require "rspec/core" -require "rspec/core/rake_task" +require 'rspec/core' +require 'rspec/core/rake_task' RSpec::Core::RakeTask.new(:spec) -task :default => :spec +task default: :spec diff --git a/defaults.reek b/defaults.reek new file mode 100644 index 0000000..553e2f2 --- /dev/null +++ b/defaults.reek @@ -0,0 +1,11 @@ +--- +NestedIterators: + max_allowed_nesting: 2 +UtilityFunction: + enabled: false +IrresponsibleModule: + enabled: false +DuplicateMethodCall: + max_calls: 5 +FeatureEnvy: + enabled: false diff --git a/gemfiles/money_6.1.gemfile b/gemfiles/money_6.1.gemfile new file mode 100644 index 0000000..0be47cf --- /dev/null +++ b/gemfiles/money_6.1.gemfile @@ -0,0 +1,24 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "money", "~> 6.1.0" + +group :test do + gem "simplecov", ">= 0.9.0", :require => false + gem "coveralls", :require => false +end + +group :local_development do + gem "appraisal" + gem "terminal-notifier-guard", :require => false + gem "guard", ">= 2.0.0" + gem "guard-rspec", ">= 4.3.1", :require => false + gem "guard-bundler", :require => false + gem "guard-preek", :require => false + gem "guard-rubocop", :require => false + gem "guard-reek", :github => "pericles/guard-reek", :require => false + gem "pry" +end + +gemspec :path => "../" diff --git a/gemfiles/money_6.2.gemfile b/gemfiles/money_6.2.gemfile new file mode 100644 index 0000000..e3c7faa --- /dev/null +++ b/gemfiles/money_6.2.gemfile @@ -0,0 +1,24 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "money", "~> 6.2.0" + +group :test do + gem "simplecov", ">= 0.9.0", :require => false + gem "coveralls", :require => false +end + +group :local_development do + gem "appraisal" + gem "terminal-notifier-guard", :require => false + gem "guard", ">= 2.0.0" + gem "guard-rspec", ">= 4.3.1", :require => false + gem "guard-bundler", :require => false + gem "guard-preek", :require => false + gem "guard-rubocop", :require => false + gem "guard-reek", :github => "pericles/guard-reek", :require => false + gem "pry" +end + +gemspec :path => "../" diff --git a/gemfiles/money_head.gemfile b/gemfiles/money_head.gemfile new file mode 100644 index 0000000..0cca349 --- /dev/null +++ b/gemfiles/money_head.gemfile @@ -0,0 +1,24 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "money", :github => "RubyMoney/money" + +group :test do + gem "simplecov", ">= 0.9.0", :require => false + gem "coveralls", :require => false +end + +group :local_development do + gem "appraisal" + gem "terminal-notifier-guard", :require => false + gem "guard", ">= 2.0.0" + gem "guard-rspec", ">= 4.3.1", :require => false + gem "guard-bundler", :require => false + gem "guard-preek", :require => false + gem "guard-rubocop", :require => false + gem "guard-reek", :github => "pericles/guard-reek", :require => false + gem "pry" +end + +gemspec :path => "../" diff --git a/lib/nordea.rb b/lib/nordea.rb index 9ee8fca..3127a9c 100644 --- a/lib/nordea.rb +++ b/lib/nordea.rb @@ -1,43 +1,46 @@ -require "nordea/bank" -require "nordea/exchange_rates" -require "nordea/version" -require "tzinfo" +require 'nordea/bank' +require 'nordea/exchange_rates' +require 'nordea/version' +require 'tzinfo' # Ruby interface to the Nordea Bank exchange rate data. module Nordea # The default timezone, Europe/Helsinki - TZ = TZInfo::Timezone.get("Europe/Helsinki") + TZ = ::TZInfo::Timezone.get('Europe/Helsinki') + extend self - # Parses the datetime format used in the Nordea data. - # - # @example - # Nordea.parse_time("20150101120056") #=> 2015-01-01 10:00:05 UTC - # - # @param [String] the datetime string (YYYYMMDDHHmmSS) - # @return [Time] the string converted into a Time object - def self.parse_time(datetime) - time = Time.utc( datetime[0..3].to_i, - datetime[4..5].to_i, - datetime[6..7].to_i, - datetime[8..9].to_i, - datetime[10..11].to_i, - datetime[11..12].to_i ) + class << self + # Parses the datetime format used in the Nordea data. + # + # @example + # Nordea.parse_time("20150101120056") #=> 2015-01-01 10:00:05 UTC + # + # @param [String] the datetime string (YYYYMMDDHHmmSS) + # @return [Time] the string converted into a Time object + def parse_time(datetime) + time = Time.utc(datetime[0..3].to_i, + datetime[4..5].to_i, + datetime[6..7].to_i, + datetime[8..9].to_i, + datetime[10..11].to_i, + datetime[11..12].to_i) - # Convert the local time to UTC time. - TZ.local_to_utc(time) + # Convert the local time to UTC time. + TZ.local_to_utc(time) rescue nil - end + end - # Parses the date format used in the Nordea data. - # - # @param [String] the date string (YYYYMMDD) - # @return [Date] the string converted into a Date object - def self.parse_date(date) - Date.new(date[0..3].to_i, - date[4..5].to_i, - date[6..7].to_i) + # Parses the date format used in the Nordea data. + # + # @param [String] the date string (YYYYMMDD) + # @return [Date] the string converted into a Date object + def parse_date(date) + ::Date.new(date[0..3].to_i, + date[4..5].to_i, + date[6..7].to_i) rescue nil + end end -end \ No newline at end of file +end diff --git a/lib/nordea/bank.rb b/lib/nordea/bank.rb index d576ed5..198948d 100644 --- a/lib/nordea/bank.rb +++ b/lib/nordea/bank.rb @@ -1,5 +1,6 @@ -require "money" -require "nordea/exchange_rates" +require 'money' +require 'nordea/exchange_rates' +require 'forwardable' module Nordea # Bank implementation for use with the Money gem. @@ -11,35 +12,49 @@ module Nordea # Money.us_dollar(100).exchange_to("ZAR") # nordea_bank.exchange_with(Money.new(100, "CAD"), "USD") class Bank < Money::Bank::VariableExchange - def initialize - super - update_rates - end + extend ::Forwardable + + def_delegators :exchange_rates, :currencies, :headers, :load_from_yaml, :dump_to_yaml, :force_update # Get updated rates from the Nordea server # - # Forces an update of the exchange rates - # + # @param [Boolean] force Force or not an update of the exchange rates from Nordea bank # @return [Hash] rates available - def update_rates - currencies(true).each_pair do |currency, data| - rate = data[:middle_rate_for_commercial_transactions] - add_rate("EUR", currency, rate) if known_currencies.include?(currency) + def update_rates(file = nil) + hash_data = if file && ::File.exist?(file) + load_from_yaml(file) + else + force_update + currencies + end + @mutex.synchronize do + hash_data.each_pair do |currency, data| + rate = data[:middle_rate_for_commercial_transactions] + set_rate('EUR', currency, rate, without_mutex: true) if known_currencies.include?(currency) + end end + rates end + # Save rates to the cache file + def save_rates(file) + dump_to_yaml(file) + end + # Exchange from one currency to another # # @example # nordea_bank = Nordea::Bank.new + # nordea_bank.update_rates # nordea_bank.exchange(100, "EUR", "USD") # # @param [Integer] cents the amount for the conversion in cents, or equivalent # @param [String] from_currency the source currency # @param [String] to_currency the target currency # @return [Money] the result of the conversion - def exchange(cents, from_currency = "EUR", to_currency = "EUR") + def exchange(cents, from_currency = 'EUR', to_currency = 'EUR') + fail 'Load rates first' unless @rates.size > 0 exchange_with(Money.new(cents, from_currency), to_currency) end @@ -56,11 +71,11 @@ def exchange(cents, from_currency = "EUR", to_currency = "EUR") def exchange_with(from, to_currency) rate = get_rate(from.currency, to_currency) unless rate - from_base_rate = get_rate("EUR", from.currency) - to_base_rate = get_rate("EUR", to_currency) - rate = to_base_rate / from_base_rate + from_base_rate = get_rate('EUR', from.currency) + to_base_rate = get_rate('EUR', to_currency) + rate = to_base_rate / from_base_rate end - Money.new((from.cents * rate).round, to_currency) + ::Money.new((from.cents * rate).round, to_currency) end # Initialize or use an existing Nordea::ExchangeRates object @@ -70,26 +85,18 @@ def exchange_rates @exchange_rates ||= Nordea::ExchangeRates.new end - # Get the currency data from Nordea - # - # @param [Boolean] force force an update of the currency data - # @return [Hash] Data for all the currencies and rates from Nordea - def currencies(force = false) - exchange_rates.currencies(force) - end - # List all currencies known to the money gem # # @return [Array] ISO currency codes def money_currencies - Money::Currency.table.keys.map { |c| c.to_s.upcase } + ::Money::Currency.table.keys.map { |c| c.to_s.upcase } end # List currencies found in the Money gem *and* the Nordea currency data # # @return [Array] ISO currency codes def known_currencies - @known_currencies = money_currencies & exchange_rates.currencies.keys + @known_currencies ||= money_currencies & currencies.keys end end -end \ No newline at end of file +end diff --git a/lib/nordea/exchange_rates.rb b/lib/nordea/exchange_rates.rb index 6b28789..f63bf5e 100644 --- a/lib/nordea/exchange_rates.rb +++ b/lib/nordea/exchange_rates.rb @@ -1,8 +1,9 @@ # encoding: UTF-8 -require "net/http" -require "uri" -require "time" -require "date" +require 'net/http' +require 'uri' +require 'time' +require 'date' +require 'yaml' module Nordea # Fetch and update Excahnge rates from Nordea Bank. @@ -11,13 +12,25 @@ module Nordea # objects. class ExchangeRates # URI to the machine readable data file. - DATA_URI = URI::HTTP.build({ - :host => "openpages.nordea.com", - :path => "/fi/lists/currency/elelctronicExchangeFI.dat" - }) + DATA_URI = URI::HTTP.build( + host: 'openpages.nordea.com', + path: '/fi/lists/currency/elelctronicExchangeFI.dat' + ) + + DATA_FILE_KEYS = [ + :file_id, :record_id, :quotation_time, :rate_type, + :currency_iso_code, :counter_currency_iso_code, + :middle_rate_for_commercial_transactions, + :buying_rate_for_commercial_transactions, + :selling_rate_for_commercial_transactions, + :buying_rate_for_cash, :selling_rate_for_cash, + :direction_of_change, :currency_convertability, + :euro_area, :euro_adoption_date, :currency_expiry, + :reserved + ] # Hash keys for key-value pairs that should be converted into floats. - FLOAT_KEYS = [ + FLOAT_KEYS = [ :middle_rate_for_commercial_transactions, :buying_rate_for_commercial_transactions, :selling_rate_for_commercial_transactions, @@ -25,35 +38,66 @@ class ExchangeRates :selling_rate_for_cash ] - # Initialize a new Nordea::ExchangeRates object. def initialize + @currencies = {} + @headers = {} + end + + def currencies + force_update unless @currencies.size > 0 + @currencies + end + + def headers + force_update unless @headers.size > 0 + @headers + end + + # Load rates from file + # @param [String] Path to YAML file with sames rates + # + def load_from_yaml(yaml_file) + data = ::YAML.load_file(yaml_file) + @headers = data[:headers] + @currencies = data[:currencies] + end + + # Dump rates o file + # @param [String] Path to YAML file where need to save rates + def dump_to_yaml(yaml_file) + data = { + currencies: currencies, + headers: headers + } + ::File.open(yaml_file, 'wb') { |file| file.write data.to_yaml } + end + + private + + def force_update + lines = fetch_data.lines.to_a + load_headers(lines.shift) + @currencies = load_currencies(lines) end # The batch headers # # @return [Hash] key-value pairs - # @param [Boolean] force force update - def headers(force = false) - header_line = lines(force).first - - unpacked = header_line.unpack("A4A3A14A120A9") - - headers = { - :file_id => unpacked[0], # File ID = VK01 - :record_id => unpacked[1], # Record ID = 000 - :change_time => unpacked[2], # Exchange rate change time - :notifications => unpacked[3], # Notifications - :reserved => unpacked[4] # Reserved + def load_headers(header_line) + unpacked = header_line.unpack('A4A3A14A120A9') + + @headers = { + file_id: unpacked[0], # File ID = VK01 + record_id: unpacked[1], # Record ID = 000 + change_time: unpacked[2], # Exchange rate change time + notifications: unpacked[3], # Notifications + reserved: unpacked[4] # Reserved } + asciify(@headers) - headers.each do |key, value| - headers[key] = value.force_encoding("ascii") if value.respond_to?(:force_encoding) - end - - headers[:change_time] = Nordea.parse_time(headers[:change_time]) - headers[:notifications].strip! if headers[:notifications].respond_to? :strip! - headers[:reserved].strip! if headers[:reserved].respond_to? :strip! - headers + @headers[:change_time] = ::Nordea.parse_time(@headers[:change_time]) + @headers[:notifications].strip! if @headers[:notifications].respond_to? :strip! + @headers[:reserved].strip! if @headers[:reserved].respond_to? :strip! end # List all currencies as a hash. Uses the currencies' ISO codes as keys. @@ -80,20 +124,14 @@ def headers(force = false) # # :reserved => "" # # } # - # @param [Boolean] force force update + # @param [String] currency_lines force update # @return [Hash] a hash off all list currency rates and their properties - def currencies(force = false) - hash = {} - - records_array(force).each do |record| + def load_currencies(currency_lines) + records_array(currency_lines).each_with_object({}) do |record, hash| hash[record[:currency_iso_code]] = record end - - hash end - private - # Fetches the latest machine readable currency data from the Nordea server. # # Nordea quotes exchange rates on national banking days at least three times a day: @@ -107,77 +145,30 @@ def currencies(force = false) # @return [String] the raw data string. def fetch_data res = Net::HTTP.start(DATA_URI.host, DATA_URI.port) do |http| - http.get(DATA_URI.path, { "USER_AGENT" => "Nordea::Bank gem" }) + http.get(DATA_URI.path, 'USER_AGENT' => 'Nordea::Bank gem') end if res.code =~ /2\d\d/ res.body else - raise ServerError, "The server did not respond in the manner in which we are accustomed to." - end - end - - # The raw machine readable data split into lines. - # - # @return [Array] the raw data split into lines - # @param [Boolean] force force update - # @see #raw_data - def lines(force = false) - raw_data(force).lines.to_a - end - - # The raw machine readable data from Nordea. - # - # If the data has already been fetched, it will return it. If not, a call - # will be made to the Nordea server. - # - # @param [Boolean] force force update - # @return [String] the raw data string - # @see #fetch_data - def raw_data(force = false) - if force - @raw_data = fetch_data - else - @raw_data ||= fetch_data + fail ServerError, 'The server did not respond in the manner in which we are accustomed to.' end end # The data entries as an array of hashes with minimal processing. # # @return [Array] Array of exchange rate records - # @param [Boolean] force force update - def records_array(force = false) - all = lines(force)[1..(lines.length - 1)].map do |line| - unpacked = line.unpack("A4A3A14A4A3A3A13A13A13A13A13AAAAx7AA42") - - hash = { - :file_id => unpacked[0], # File ID (= VK01) - :record_id => unpacked[1], # Record ID (= 000) - :quotation_time => unpacked[2], # Quotation date - :rate_type => unpacked[3], # Rate type ( 0001 = list, 0002 = valuation) - :currency_iso_code => unpacked[4], # Currency ISO code - :counter_currency_iso_code => unpacked[5], # Counter currency ISO code (= EUR) - :middle_rate_for_commercial_transactions => unpacked[6], # Middle rate for commercial transactions - :buying_rate_for_commercial_transactions => unpacked[7], # Buying rate for commercial transactions - :selling_rate_for_commercial_transactions => unpacked[8], # Selling rate for commercial transactions - :buying_rate_for_cash => unpacked[9], # Buying rate for cash - :selling_rate_for_cash => unpacked[10], # Selling rate for cash - :direction_of_change => unpacked[11], # Direction of change from previous value ("+", "-" or blank) - :currency_convertability => unpacked[12], # K = convertible, E = non-convertible - :euro_area => unpacked[13], # 1 = euro area currency, 0 = non-euro area currency - :euro_adoption_date => unpacked[14], # Euro adoption date - :currency_expiry => unpacked[15], # K = in use, E = not in use - :reserved => unpacked[16] # Reserved - } - - line_postprocess(hash) - end + def records_array(lines) + lines.map { |line| collect_line(line) }.select { |rate| rate[:rate_type] == :list } + end - list_rates = all.select do |rate| - rate[:rate_type] == :list + def collect_line(line) + unpacked = line.unpack('A4A3A14A4A3A3A13A13A13A13A13AAAAx7AA42') + hash = {} + DATA_FILE_KEYS.each_with_index do |key, index| + hash[key] = unpacked[index] end - - list_rates + line_postprocess(hash) end # Converts the string values from the Nordea data into Ruby objects where @@ -188,39 +179,51 @@ def records_array(force = false) # expected formats def line_postprocess(line) # Forces the values to be ASCII strings - line.each do |key, value| - line[key] = value.force_encoding("ascii") if value.respond_to?(:force_encoding) - end + asciify(line) - line[:quotation_time] = Nordea.parse_time(line[:quotation_time]) + line[:quotation_time] = ::Nordea.parse_time(line[:quotation_time]) line[:reserved].strip! if line[:reserved].respond_to? :strip! - line[:rate_type] = if line[:rate_type] == "0001" - :list - elsif line[:rate_type] == "0002" - :valuation - end + fill_proper_rate_type(line) - line[:euro_area] = (line[:euro_area] == "1") ? true : false + line[:euro_area] = (line[:euro_area] == '1') - if line[:euro_area] - line[:euro_adoption_date] = Nordea.parse_date(line[:euro_adoption_date]) - else - line[:euro_adoption_date] = nil - end + line[:euro_adoption_date] = if line[:euro_area] + Nordea.parse_date(line[:euro_adoption_date]) + else + nil + end + + line[:currency_expiry] = (line[:currency_expiry] == 'K') + line[:currency_convertability] = (line[:currency_convertability] == 'K') + floatify(line) + + line + end - line[:currency_expiry] = (line[:currency_expiry] == "K") ? true : false - line[:currency_convertability] = (line[:currency_convertability] == "K") ? true : false + def fill_proper_rate_type(line) + line[:rate_type] = if line[:rate_type] == '0001' + :list + elsif line[:rate_type] == '0002' + :valuation + end + end + def floatify(line) FLOAT_KEYS.each do |key| - str = line[key] - float = "#{str[0,6]}.#{str[6,7]}".to_f + str = line[key] + float = "#{str[0, 6]}.#{str[6, 7]}".to_f line[key] = float end + end - line + def asciify(hash) + hash.each do |key, value| + hash[key] = value.force_encoding('ascii') if value.respond_to?(:force_encoding) + end end end # The exception that's raised if the server doesn't respond correctly. - class ServerError < StandardError; end -end \ No newline at end of file + class ServerError < StandardError + end +end diff --git a/lib/nordea/version.rb b/lib/nordea/version.rb index 210d166..c674308 100644 --- a/lib/nordea/version.rb +++ b/lib/nordea/version.rb @@ -1,5 +1,5 @@ -# @version 2.0.2 +# @version 2.1.0 module Nordea # The gem version - VERSION = "2.0.2" + VERSION = '2.1.0' end diff --git a/nordea.gemspec b/nordea.gemspec index 7d05a9b..a249594 100644 --- a/nordea.gemspec +++ b/nordea.gemspec @@ -1,29 +1,25 @@ # -*- encoding: utf-8 -*- -$:.push File.expand_path("../lib", __FILE__) -require "nordea/version" +$LOAD_PATH.push File.expand_path('../lib', __FILE__) +require 'nordea/version' Gem::Specification.new do |s| - s.name = "nordea" + s.name = 'nordea' s.version = Nordea::VERSION - s.authors = ["Matias Korhonen"] - s.email = ["me@matiaskorhonen.fi"] - s.homepage = "http://github.com/matiaskorhonen/nordea" - s.summary = %q{Exchange rates from Nordea Bank} - s.description = %q{A Money.gem compatible currency exchange rate implementation for Nordea Bank} + s.authors = ['Matias Korhonen', 'Alexander Simonov'] + s.email = ['me@matiaskorhonen.fi', 'alex@simonov.me'] + s.homepage = 'https://github.com/matiaskorhonen/nordea' + s.summary = 'Exchange rates from Nordea Bank' + s.description = 'A Money.gem compatible currency exchange rate implementation for Nordea Bank' - s.rubyforge_project = "nordea" - - s.add_dependency "money", ">= 5.1.1" - s.add_dependency "tzinfo", ">= 0.3.38" - - s.add_development_dependency "awesome_print" - s.add_development_dependency "rake" - s.add_development_dependency "rspec", "~> 2.14.1" - s.add_development_dependency "simplecov" - s.add_development_dependency "webmock" - s.add_development_dependency "yard" + s.add_dependency 'money', '>= 6.0.0' + s.add_dependency 'tzinfo', '>= 0.3.38' + + s.add_development_dependency 'rake' + s.add_development_dependency 'rspec', '>= 3.0.0' + s.add_development_dependency 'webmock' + s.add_development_dependency 'yard' s.files = `git ls-files`.split("\n") s.test_files = `git ls-files -- spec/*`.split("\n") - s.require_paths = ["lib"] + s.require_paths = ['lib'] end diff --git a/spec/bank/bank_spec.rb b/spec/bank/bank_spec.rb deleted file mode 100644 index d5b683b..0000000 --- a/spec/bank/bank_spec.rb +++ /dev/null @@ -1,35 +0,0 @@ -require "spec_helper" - -describe "Nordea::Bank" do - let(:bank) do - Nordea::Bank.new - end - - before(:each) do - stub_request(:get, "http://openpages.nordea.com/fi/lists/currency/elelctronicExchangeFI.dat"). - to_return(:status => 200, :body => SampleData.raw) - Money.default_bank = bank - end - - describe "#exchange" do - it "returns the correct exchange rates" do - bank.known_currencies.each do |currency| - bank.exchange(100, "EUR", currency).cents.should == (SampleData.get_rate(currency) * 100).round - end - end - end - - describe "#exchange_with" do - it "returns the correct exchange rates" do - bank.known_currencies.each do |currency| - bank.exchange_with(Money.new(100, "EUR"), currency).cents.should == (SampleData.get_rate(currency) * 100).round - end - end - end - - describe "#exchange_rates" do - it "is an instance of Nordea::ExchangeRates" do - bank.exchange_rates.should be_an_instance_of(Nordea::ExchangeRates) - end - end -end \ No newline at end of file diff --git a/spec/exchange_rates/exchange_rates_spec.rb b/spec/exchange_rates/exchange_rates_spec.rb deleted file mode 100644 index c2582eb..0000000 --- a/spec/exchange_rates/exchange_rates_spec.rb +++ /dev/null @@ -1,75 +0,0 @@ -require "spec_helper" - -describe "Nordea::ExchangeRates" do - let(:exchange_rates) do - Nordea::ExchangeRates.new - end - - before(:each) do - stub_request(:get, "http://openpages.nordea.com/fi/lists/currency/elelctronicExchangeFI.dat"). - to_return(:status => 200, :body => SampleData.raw) - end - - describe "#lines" do - it "returns the raw data as an array of lines" do - exchange_rates.send(:lines).should be_kind_of(Array) - end - - it "returns the correct number of lines" do - exchange_rates.send(:lines).count.should == 221 - end - end - - describe "#currencies" do - it "has the correct data" do - exchange_rates.currencies["EUR"].should == SampleData.currencies["EUR"] - exchange_rates.currencies["USD"].should == SampleData.currencies["USD"] - exchange_rates.currencies["JPY"].should == SampleData.currencies["JPY"] - end - end - - describe "#records_array" do - let(:records) do - exchange_rates.send(:records_array) - end - - it "returns an array of hashes" do - records.should be_kind_of(Array) - records.each do |record| - record.should be_kind_of(Hash) - end - end - - it "has the correct number of records" do - records.length.should == SampleData.currencies.length - end - end - - describe "#headers" do - let(:headers) do - exchange_rates.headers - end - - it "returns a hash" do - headers.should be_kind_of(Hash) - end - - it "has the correct data" do - headers.each_pair do |key,value| - value.should == SampleData.headers[key] - end - end - end - - describe "#fetch_data" do - it "returns the raw data from the server if the request is successful" do - exchange_rates.send(:fetch_data).should == SampleData.raw.read - end - - it "raises an exception if the request is not successful" do - stub_request(:get, "http://openpages.nordea.com/fi/lists/currency/elelctronicExchangeFI.dat"). - to_return(:status => 404, :body => SampleData.raw) - expect { exchange_rates.send(:fetch_data) }.to raise_error Nordea::ServerError - end - end -end \ No newline at end of file diff --git a/spec/nordea/bank_spec.rb b/spec/nordea/bank_spec.rb new file mode 100644 index 0000000..859cb7f --- /dev/null +++ b/spec/nordea/bank_spec.rb @@ -0,0 +1,67 @@ +require 'spec_helper' + +describe Nordea::Bank do + let(:bank) { described_class.new } + + before :each do + ::Money.default_bank = bank + end + + context 'update rates from nordea' do + before(:each) do + stub_request(:get, 'http://openpages.nordea.com/fi/lists/currency/elelctronicExchangeFI.dat') + .to_return(status: 200, body: SampleData.raw) + bank.update_rates + end + + describe '#exchange' do + it 'returns the correct exchange rates' do + bank.known_currencies.each do |currency| + expect(bank.exchange(100, 'EUR', currency).cents).to eq((SampleData.get_rate(currency) * 100).round) + end + end + end + + describe '#exchange_with' do + it 'returns the correct exchange rates' do + bank.known_currencies.each do |currency| + expect(bank.exchange_with(Money.new(100, 'EUR'), currency).cents).to eq((SampleData.get_rate(currency) * 100).round) + end + end + end + end + + context 'load from file' do + let(:file) { File.expand_path('../../support/cache.yml', __FILE__) } + before :each do + bank.update_rates(file) + end + describe '#exchange' do + it 'returns the correct exchange rates' do + bank.known_currencies.each do |currency| + expect(bank.exchange(100, 'EUR', currency).cents).to eq((SampleData.get_rate(currency) * 100).round) + end + end + end + + describe '#exchange_with' do + it 'returns the correct exchange rates' do + bank.known_currencies.each do |currency| + expect(bank.exchange_with(Money.new(100, 'EUR'), currency).cents).to eq((SampleData.get_rate(currency) * 100).round) + end + end + end + end + + describe '#save_rates' do + it 'should call dump_to_yaml' do + expect(bank.exchange_rates).to receive(:dump_to_yaml).with('blablabla') + bank.save_rates('blablabla') + end + end + + describe '#exchange_rates' do + subject { super().exchange_rates } + it { is_expected.to be_a(Nordea::ExchangeRates) } + end +end diff --git a/spec/nordea/exchange_rates_spec.rb b/spec/nordea/exchange_rates_spec.rb new file mode 100644 index 0000000..05c8299 --- /dev/null +++ b/spec/nordea/exchange_rates_spec.rb @@ -0,0 +1,86 @@ +require 'spec_helper' + +describe Nordea::ExchangeRates do + let(:exchange_rates) { described_class.new } + let(:nordea_request_stub) { stub_request(:get, 'http://openpages.nordea.com/fi/lists/currency/elelctronicExchangeFI.dat') + .to_return(status: 200, body: SampleData.raw) } + + before(:each) do + nordea_request_stub + end + + describe '#currencies' do + it 'has the correct data' do + expect(exchange_rates.currencies['EUR']).to eq(SampleData.currencies['EUR']) + expect(exchange_rates.currencies['USD']).to eq(SampleData.currencies['USD']) + expect(exchange_rates.currencies['JPY']).to eq(SampleData.currencies['JPY']) + end + end + + describe '#headers' do + let(:headers) do + exchange_rates.headers + end + + it 'returns a hash' do + expect(headers).to be_kind_of(Hash) + end + + it 'has the correct data' do + headers.each_pair do |key, value| + expect(value).to eq(SampleData.headers[key]) + end + end + end + + describe '#fetch_data' do + it 'returns the raw data from the server if the request is successful' do + expect(exchange_rates.send(:fetch_data)).to eq(SampleData.raw.read) + end + + it 'raises an exception if the request is not successful' do + stub_request(:get, 'http://openpages.nordea.com/fi/lists/currency/elelctronicExchangeFI.dat') + .to_return(status: 404, body: SampleData.raw) + expect { exchange_rates.send(:fetch_data) }.to raise_error Nordea::ServerError + end + end + + describe '#dump_to_yaml' do + let(:file) { File.expand_path('../../../tmp/dump.yml', __FILE__) } + + before :each do + exchange_rates.dump_to_yaml(file) + end + + after :each do + if ::File.exist?(file) + ::File.unlink(file) + end + end + + it 'should create a file' do + expect(::File.exist?(file)) + end + it 'should create proper file data' do + data = ::YAML.load_file(file) + expect(data[:currencies]).to eq(::SampleData.currencies) + expect(data[:headers]).to eq(::SampleData.headers) + end + end + + describe '#load_from_yaml' do + let(:file) { File.expand_path('../../support/cache.yml', __FILE__) } + before :each do + exchange_rates.load_from_yaml(file) + end + + it 'should load proper data from file' do + expect(exchange_rates.currencies).to eq(::SampleData.currencies) + expect(exchange_rates.headers).to eq(::SampleData.headers) + end + + it 'should not make requests to Nordea' do + expect(nordea_request_stub).to_not have_been_made + end + end +end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 187d1e1..396daaf 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,28 +1,17 @@ -unless ENV["CI"] - require "simplecov" - SimpleCov.start -end +require 'simplecov' +require 'coveralls' -require "nordea" -require "webmock/rspec" +SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[ + SimpleCov::Formatter::HTMLFormatter, + Coveralls::SimpleCov::Formatter +] +SimpleCov.start do + add_filter 'spec' + minimum_coverage(76) +end +require 'webmock' +require 'webmock/rspec' +require 'nordea' # Load support files Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f } - -# This file was generated by the `rspec --init` command. Conventionally, all -# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`. -# Require this file using `require "spec_helper"` to ensure that it is only -# loaded once. -# -# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration -RSpec.configure do |config| - config.treat_symbols_as_metadata_keys_with_true_values = true - config.run_all_when_everything_filtered = true - config.filter_run :focus - - # Run specs in random order to surface order dependencies. If you find an - # order dependency and want to debug it, you can fix the order by providing - # the seed, which is printed after each run. - # --seed 1234 - config.order = 'random' -end diff --git a/spec/support/cache.yml b/spec/support/cache.yml new file mode 100644 index 0000000..f5e1061 --- /dev/null +++ b/spec/support/cache.yml @@ -0,0 +1,2906 @@ +--- +:currencies: + EUR: + :file_id: VK01 + :record_id: '001' + :quotation_time: 1999-01-01 05:30:00.000000000 Z + :rate_type: :list + :currency_iso_code: EUR + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1.0 + :buying_rate_for_commercial_transactions: 1.0 + :selling_rate_for_commercial_transactions: 1.0 + :buying_rate_for_cash: 1.0 + :selling_rate_for_cash: 1.0 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + USD: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: USD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1.4448 + :buying_rate_for_commercial_transactions: 1.4598 + :selling_rate_for_commercial_transactions: 1.4298 + :buying_rate_for_cash: 1.4768 + :selling_rate_for_cash: 1.4128 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + JPY: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: JPY + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 115.91 + :buying_rate_for_commercial_transactions: 117.91 + :selling_rate_for_commercial_transactions: 113.91 + :buying_rate_for_cash: 120.01 + :selling_rate_for_cash: 111.81 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + GBP: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: GBP + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 0.881 + :buying_rate_for_commercial_transactions: 0.891 + :selling_rate_for_commercial_transactions: 0.871 + :buying_rate_for_cash: 0.901 + :selling_rate_for_cash: 0.861 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + SEK: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: SEK + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 9.1183 + :buying_rate_for_commercial_transactions: 9.2183 + :selling_rate_for_commercial_transactions: 9.0183 + :buying_rate_for_cash: 9.3233 + :selling_rate_for_cash: 8.9133 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + NOK: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: NOK + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 7.7965 + :buying_rate_for_commercial_transactions: 7.8965 + :selling_rate_for_commercial_transactions: 7.6965 + :buying_rate_for_cash: 7.9765 + :selling_rate_for_cash: 7.6165 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + DKK: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: DKK + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 7.459 + :buying_rate_for_commercial_transactions: 7.4915 + :selling_rate_for_commercial_transactions: 7.4265 + :buying_rate_for_cash: 7.617 + :selling_rate_for_cash: 7.301 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + CHF: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: CHF + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1.2116 + :buying_rate_for_commercial_transactions: 1.2241 + :selling_rate_for_commercial_transactions: 1.1991 + :buying_rate_for_cash: 1.2416 + :selling_rate_for_cash: 1.1816 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + EEK: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-01-01 09:23:31.000000000 Z + :rate_type: :list + :currency_iso_code: EEK + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 15.6466 + :buying_rate_for_commercial_transactions: 15.6466 + :selling_rate_for_commercial_transactions: 15.6466 + :buying_rate_for_cash: 15.6466 + :selling_rate_for_cash: 15.6466 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: true + :euro_adoption_date: + :currency_expiry: false + :reserved: '' + LVL: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: LVL + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 0.7086 + :buying_rate_for_commercial_transactions: 0.7185 + :selling_rate_for_commercial_transactions: 0.6987 + :buying_rate_for_cash: 0.7306 + :selling_rate_for_cash: 0.6866 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + LTL: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: LTL + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 3.4528 + :buying_rate_for_commercial_transactions: 3.4768 + :selling_rate_for_commercial_transactions: 3.4288 + :buying_rate_for_cash: 3.5628 + :selling_rate_for_cash: 3.3428 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + CAD: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: CAD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1.4074 + :buying_rate_for_commercial_transactions: 1.4224 + :selling_rate_for_commercial_transactions: 1.3924 + :buying_rate_for_cash: 1.4404 + :selling_rate_for_cash: 1.3744 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + HKD: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: HKD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 11.2456 + :buying_rate_for_commercial_transactions: 11.4556 + :selling_rate_for_commercial_transactions: 11.0356 + :buying_rate_for_cash: 11.6856 + :selling_rate_for_cash: 10.6656 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + AUD: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: AUD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1.3573 + :buying_rate_for_commercial_transactions: 1.3773 + :selling_rate_for_commercial_transactions: 1.3373 + :buying_rate_for_cash: 1.4173 + :selling_rate_for_cash: 1.2973 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + NZD: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: NZD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1.7663 + :buying_rate_for_commercial_transactions: 1.7828 + :selling_rate_for_commercial_transactions: 1.7498 + :buying_rate_for_cash: 1.8363 + :selling_rate_for_cash: 1.6563 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + ZAR: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: ZAR + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 9.754 + :buying_rate_for_commercial_transactions: 10.034 + :selling_rate_for_commercial_transactions: 9.474 + :buying_rate_for_cash: 10.154 + :selling_rate_for_cash: 9.224 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + MTL: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: MTL + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 0.4293 + :buying_rate_for_commercial_transactions: 0.4293 + :selling_rate_for_commercial_transactions: 0.4293 + :buying_rate_for_cash: 0.4293 + :selling_rate_for_cash: 0.4293 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: true + :euro_adoption_date: + :currency_expiry: false + :reserved: '' + SAR: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: SAR + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 5.41945 + :buying_rate_for_commercial_transactions: 5.49145 + :selling_rate_for_commercial_transactions: 5.34745 + :buying_rate_for_cash: 5.68945 + :selling_rate_for_cash: 5.14445 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + MAD: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: MAD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 11.3376 + :buying_rate_for_commercial_transactions: 11.6626 + :selling_rate_for_commercial_transactions: 11.0126 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + KWD: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: KWD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 0.39635 + :buying_rate_for_commercial_transactions: 0.40135 + :selling_rate_for_commercial_transactions: 0.39135 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + AED: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: AED + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 5.30825 + :buying_rate_for_commercial_transactions: 5.35925 + :selling_rate_for_commercial_transactions: 5.25725 + :buying_rate_for_cash: 5.57025 + :selling_rate_for_cash: 5.02325 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + SGD: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: SGD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1.7804 + :buying_rate_for_commercial_transactions: 1.8104 + :selling_rate_for_commercial_transactions: 1.7504 + :buying_rate_for_cash: 1.8524 + :selling_rate_for_cash: 1.6934 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + MYR: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: MYR + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 4.3792 + :buying_rate_for_commercial_transactions: 0.0 + :selling_rate_for_commercial_transactions: 0.0 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + INR: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: INR + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 64.637 + :buying_rate_for_commercial_transactions: 68.637 + :selling_rate_for_commercial_transactions: 60.637 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + CYP: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: CYP + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 0.585274 + :buying_rate_for_commercial_transactions: 0.585274 + :selling_rate_for_commercial_transactions: 0.585274 + :buying_rate_for_cash: 0.585274 + :selling_rate_for_cash: 0.585274 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: true + :euro_adoption_date: + :currency_expiry: false + :reserved: '' + RUB: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: RUB + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 40.2888 + :buying_rate_for_commercial_transactions: 42.7888 + :selling_rate_for_commercial_transactions: 37.7888 + :buying_rate_for_cash: 43.3888 + :selling_rate_for_cash: 36.7888 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + CZK: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: CZK + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 24.118 + :buying_rate_for_commercial_transactions: 24.478 + :selling_rate_for_commercial_transactions: 23.758 + :buying_rate_for_cash: 25.168 + :selling_rate_for_cash: 23.068 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + SKK: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2008-12-31 22:00:00.000000000 Z + :rate_type: :list + :currency_iso_code: SKK + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 30.126 + :buying_rate_for_commercial_transactions: 30.126 + :selling_rate_for_commercial_transactions: 30.126 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: true + :euro_adoption_date: + :currency_expiry: false + :reserved: '' + PLN: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: PLN + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 3.9302 + :buying_rate_for_commercial_transactions: 4.0302 + :selling_rate_for_commercial_transactions: 3.8302 + :buying_rate_for_cash: 4.1002 + :selling_rate_for_cash: 3.7602 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + HUF: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: HUF + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 264.51 + :buying_rate_for_commercial_transactions: 268.51 + :selling_rate_for_commercial_transactions: 260.51 + :buying_rate_for_cash: 273.96 + :selling_rate_for_cash: 253.96 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + THB: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: THB + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 44.009 + :buying_rate_for_commercial_transactions: 45.009 + :selling_rate_for_commercial_transactions: 43.009 + :buying_rate_for_cash: 46.509 + :selling_rate_for_cash: 41.509 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + KRW: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: KRW + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1564.04 + :buying_rate_for_commercial_transactions: 1591.04 + :selling_rate_for_commercial_transactions: 1537.04 + :buying_rate_for_cash: 1636.04 + :selling_rate_for_cash: 1465.04 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + TND: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: TND + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1.978943 + :buying_rate_for_commercial_transactions: 1.988943 + :selling_rate_for_commercial_transactions: 1.968943 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + XAU: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: XAU + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 0.095157 + :buying_rate_for_commercial_transactions: 0.106157 + :selling_rate_for_commercial_transactions: 0.084157 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + XYP: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: XYP + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 4.8753 + :buying_rate_for_commercial_transactions: 4.8883 + :selling_rate_for_commercial_transactions: 4.8623 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + UBF: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: UBF + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 4.7455 + :buying_rate_for_commercial_transactions: 4.7585 + :selling_rate_for_commercial_transactions: 4.7325 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + KOR: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: KOR + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 5.3301 + :buying_rate_for_commercial_transactions: 5.3461 + :selling_rate_for_commercial_transactions: 5.3141 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + KOX: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: KOX + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 4.6599 + :buying_rate_for_commercial_transactions: 4.6749 + :selling_rate_for_commercial_transactions: 4.6449 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + XDR: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: XDR + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 0.8943 + :buying_rate_for_commercial_transactions: 0.8953 + :selling_rate_for_commercial_transactions: 0.8933 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + FIM: + :file_id: VK01 + :record_id: '001' + :quotation_time: 1999-01-01 09:14:44.000000000 Z + :rate_type: :list + :currency_iso_code: FIM + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 5.94573 + :buying_rate_for_commercial_transactions: 5.94573 + :selling_rate_for_commercial_transactions: 5.94573 + :buying_rate_for_cash: 5.94573 + :selling_rate_for_cash: 5.94573 + :direction_of_change: '' + :currency_convertability: true + :euro_area: true + :euro_adoption_date: + :currency_expiry: false + :reserved: '' + DEM: + :file_id: VK01 + :record_id: '001' + :quotation_time: 1999-01-01 09:14:44.000000000 Z + :rate_type: :list + :currency_iso_code: DEM + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1.95583 + :buying_rate_for_commercial_transactions: 1.95583 + :selling_rate_for_commercial_transactions: 1.95583 + :buying_rate_for_cash: 1.95583 + :selling_rate_for_cash: 1.95583 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: true + :euro_adoption_date: + :currency_expiry: false + :reserved: '' + FRF: + :file_id: VK01 + :record_id: '001' + :quotation_time: 1999-01-01 09:14:44.000000000 Z + :rate_type: :list + :currency_iso_code: FRF + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 6.55957 + :buying_rate_for_commercial_transactions: 6.55957 + :selling_rate_for_commercial_transactions: 6.55957 + :buying_rate_for_cash: 6.55957 + :selling_rate_for_cash: 6.55957 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: true + :euro_adoption_date: + :currency_expiry: false + :reserved: '' + NLG: + :file_id: VK01 + :record_id: '001' + :quotation_time: 1999-01-01 09:14:44.000000000 Z + :rate_type: :list + :currency_iso_code: NLG + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 2.20371 + :buying_rate_for_commercial_transactions: 2.20371 + :selling_rate_for_commercial_transactions: 2.20371 + :buying_rate_for_cash: 2.20371 + :selling_rate_for_cash: 2.20371 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: true + :euro_adoption_date: + :currency_expiry: false + :reserved: '' + ITL: + :file_id: VK01 + :record_id: '001' + :quotation_time: 1999-01-01 09:14:44.000000000 Z + :rate_type: :list + :currency_iso_code: ITL + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1936.27 + :buying_rate_for_commercial_transactions: 1936.27 + :selling_rate_for_commercial_transactions: 1936.27 + :buying_rate_for_cash: 1936.27 + :selling_rate_for_cash: 1936.27 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: true + :euro_adoption_date: + :currency_expiry: false + :reserved: '' + ATS: + :file_id: VK01 + :record_id: '001' + :quotation_time: 1999-01-01 09:14:44.000000000 Z + :rate_type: :list + :currency_iso_code: ATS + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 13.7603 + :buying_rate_for_commercial_transactions: 13.7603 + :selling_rate_for_commercial_transactions: 13.7603 + :buying_rate_for_cash: 13.7603 + :selling_rate_for_cash: 13.7603 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: true + :euro_adoption_date: + :currency_expiry: false + :reserved: '' + ESP: + :file_id: VK01 + :record_id: '001' + :quotation_time: 1999-01-01 09:14:44.000000000 Z + :rate_type: :list + :currency_iso_code: ESP + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 166.386 + :buying_rate_for_commercial_transactions: 166.386 + :selling_rate_for_commercial_transactions: 166.386 + :buying_rate_for_cash: 166.386 + :selling_rate_for_cash: 166.386 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: true + :euro_adoption_date: + :currency_expiry: false + :reserved: '' + IEP: + :file_id: VK01 + :record_id: '001' + :quotation_time: 1999-01-01 09:14:44.000000000 Z + :rate_type: :list + :currency_iso_code: IEP + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 0.787564 + :buying_rate_for_commercial_transactions: 0.787564 + :selling_rate_for_commercial_transactions: 0.787564 + :buying_rate_for_cash: 0.787564 + :selling_rate_for_cash: 0.787564 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: true + :euro_adoption_date: + :currency_expiry: false + :reserved: '' + BEF: + :file_id: VK01 + :record_id: '001' + :quotation_time: 1999-01-01 09:14:44.000000000 Z + :rate_type: :list + :currency_iso_code: BEF + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 40.3399 + :buying_rate_for_commercial_transactions: 40.3399 + :selling_rate_for_commercial_transactions: 40.3399 + :buying_rate_for_cash: 40.3399 + :selling_rate_for_cash: 40.3399 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: true + :euro_adoption_date: + :currency_expiry: false + :reserved: '' + LUF: + :file_id: VK01 + :record_id: '001' + :quotation_time: 1999-01-01 09:14:44.000000000 Z + :rate_type: :list + :currency_iso_code: LUF + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 40.3399 + :buying_rate_for_commercial_transactions: 40.3399 + :selling_rate_for_commercial_transactions: 40.3399 + :buying_rate_for_cash: 40.3399 + :selling_rate_for_cash: 40.3399 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: true + :euro_adoption_date: + :currency_expiry: false + :reserved: '' + PTE: + :file_id: VK01 + :record_id: '001' + :quotation_time: 1999-01-01 09:14:44.000000000 Z + :rate_type: :list + :currency_iso_code: PTE + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 200.482 + :buying_rate_for_commercial_transactions: 200.482 + :selling_rate_for_commercial_transactions: 200.482 + :buying_rate_for_cash: 200.482 + :selling_rate_for_cash: 200.482 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: true + :euro_adoption_date: + :currency_expiry: false + :reserved: '' + GRD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2000-12-30 07:15:50.000000000 Z + :rate_type: :list + :currency_iso_code: GRD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 340.75 + :buying_rate_for_commercial_transactions: 340.75 + :selling_rate_for_commercial_transactions: 340.75 + :buying_rate_for_cash: 340.75 + :selling_rate_for_cash: 340.75 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: true + :euro_adoption_date: + :currency_expiry: false + :reserved: '' + ALL: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: ALL + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 142.3 + :buying_rate_for_commercial_transactions: 142.3 + :selling_rate_for_commercial_transactions: 142.3 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + ANG: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: ANG + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 2.5284 + :buying_rate_for_commercial_transactions: 2.5284 + :selling_rate_for_commercial_transactions: 2.5284 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + ARS: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: ARS + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 5.91 + :buying_rate_for_commercial_transactions: 5.91 + :selling_rate_for_commercial_transactions: 5.91 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + AWG: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: AWG + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 2.5717 + :buying_rate_for_commercial_transactions: 2.5717 + :selling_rate_for_commercial_transactions: 2.5717 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + BBD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: BBD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 2.8752 + :buying_rate_for_commercial_transactions: 2.8752 + :selling_rate_for_commercial_transactions: 2.8752 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + BDT: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: BDT + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 106.7707 + :buying_rate_for_commercial_transactions: 106.7707 + :selling_rate_for_commercial_transactions: 106.7707 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + BGN: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: BGN + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1.9558 + :buying_rate_for_commercial_transactions: 2.0058 + :selling_rate_for_commercial_transactions: 1.9058 + :buying_rate_for_cash: 2.0358 + :selling_rate_for_cash: 1.8758 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + BHD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: BHD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 0.5447 + :buying_rate_for_commercial_transactions: 0.5447 + :selling_rate_for_commercial_transactions: 0.5447 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + BIF: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: BIF + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1748.208 + :buying_rate_for_commercial_transactions: 1748.208 + :selling_rate_for_commercial_transactions: 1748.208 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + BMD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: BMD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1.4448 + :buying_rate_for_commercial_transactions: 1.4448 + :selling_rate_for_commercial_transactions: 1.4448 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + BND: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: BND + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1.7797 + :buying_rate_for_commercial_transactions: 1.7797 + :selling_rate_for_commercial_transactions: 1.7797 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + BOB: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: BOB + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 10.0558 + :buying_rate_for_commercial_transactions: 10.0558 + :selling_rate_for_commercial_transactions: 10.0558 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + BAM: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: BAM + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1.9547 + :buying_rate_for_commercial_transactions: 1.9547 + :selling_rate_for_commercial_transactions: 1.9547 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + BRL: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: BRL + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 2.2871 + :buying_rate_for_commercial_transactions: 2.2871 + :selling_rate_for_commercial_transactions: 2.2871 + :buying_rate_for_cash: 2.422 + :selling_rate_for_cash: 2.158 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + BSD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: BSD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1.4448 + :buying_rate_for_commercial_transactions: 1.4448 + :selling_rate_for_commercial_transactions: 1.4448 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + BTN: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: BTN + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 64.6259 + :buying_rate_for_commercial_transactions: 64.6259 + :selling_rate_for_commercial_transactions: 64.6259 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + BWP: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: BWP + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 9.3818 + :buying_rate_for_commercial_transactions: 9.3818 + :selling_rate_for_commercial_transactions: 9.3818 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + BZD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: BZD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 2.8152 + :buying_rate_for_commercial_transactions: 2.8152 + :selling_rate_for_commercial_transactions: 2.8152 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + CLP: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: CLP + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 673.1323 + :buying_rate_for_commercial_transactions: 673.1323 + :selling_rate_for_commercial_transactions: 673.1323 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + CNY: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: CNY + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 9.3609 + :buying_rate_for_commercial_transactions: 9.3609 + :selling_rate_for_commercial_transactions: 9.3609 + :buying_rate_for_cash: 9.8213 + :selling_rate_for_cash: 8.9213 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + CNH: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: CNH + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 9.3536 + :buying_rate_for_commercial_transactions: 9.3536 + :selling_rate_for_commercial_transactions: 9.3536 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + COP: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: COP + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 2566.5427 + :buying_rate_for_commercial_transactions: 2566.5427 + :selling_rate_for_commercial_transactions: 2566.5427 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + CRC: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: CRC + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 726.301 + :buying_rate_for_commercial_transactions: 726.301 + :selling_rate_for_commercial_transactions: 726.301 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + CUP: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: CUP + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1.4539 + :buying_rate_for_commercial_transactions: 1.4539 + :selling_rate_for_commercial_transactions: 1.4539 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + CVE: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: CVE + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 110.3105 + :buying_rate_for_commercial_transactions: 110.3105 + :selling_rate_for_commercial_transactions: 110.3105 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + DJF: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: DJF + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 252.6233 + :buying_rate_for_commercial_transactions: 252.6233 + :selling_rate_for_commercial_transactions: 252.6233 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + DOP: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: DOP + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 54.3245 + :buying_rate_for_commercial_transactions: 54.3245 + :selling_rate_for_commercial_transactions: 54.3245 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + DZD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: DZD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 103.4432 + :buying_rate_for_commercial_transactions: 103.4432 + :selling_rate_for_commercial_transactions: 103.4432 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + EGP: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: EGP + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 8.5857 + :buying_rate_for_commercial_transactions: 8.5857 + :selling_rate_for_commercial_transactions: 8.5857 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + ETB: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: ETB + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 24.3694 + :buying_rate_for_commercial_transactions: 24.3694 + :selling_rate_for_commercial_transactions: 24.3694 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + FJD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: FJD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 2.5184 + :buying_rate_for_commercial_transactions: 2.5184 + :selling_rate_for_commercial_transactions: 2.5184 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + GHS: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: GHS + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 2.1881 + :buying_rate_for_commercial_transactions: 2.1881 + :selling_rate_for_commercial_transactions: 2.1881 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + GIP: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: GIP + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 2.3708 + :buying_rate_for_commercial_transactions: 2.3708 + :selling_rate_for_commercial_transactions: 2.3708 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + GMD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: GMD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 38.3594 + :buying_rate_for_commercial_transactions: 38.3594 + :selling_rate_for_commercial_transactions: 38.3594 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + GNF: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: GNF + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 9586.248 + :buying_rate_for_commercial_transactions: 9586.248 + :selling_rate_for_commercial_transactions: 9586.248 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + GTQ: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: GTQ + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 11.2637 + :buying_rate_for_commercial_transactions: 11.2637 + :selling_rate_for_commercial_transactions: 11.2637 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + GYD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: GYD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 294.0024 + :buying_rate_for_commercial_transactions: 294.0024 + :selling_rate_for_commercial_transactions: 294.0024 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + HNL: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: HNL + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 27.2995 + :buying_rate_for_commercial_transactions: 27.2995 + :selling_rate_for_commercial_transactions: 27.2995 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + HTG: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: HTG + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 58.2977 + :buying_rate_for_commercial_transactions: 58.2977 + :selling_rate_for_commercial_transactions: 58.2977 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + HRK: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: HRK + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 7.3995 + :buying_rate_for_commercial_transactions: 7.5995 + :selling_rate_for_commercial_transactions: 7.1995 + :buying_rate_for_cash: 7.6375 + :selling_rate_for_cash: 7.1555 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + IDR: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: IDR + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 12333.84 + :buying_rate_for_commercial_transactions: 12333.84 + :selling_rate_for_commercial_transactions: 12333.84 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + ILS: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: ILS + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 4.9061 + :buying_rate_for_commercial_transactions: 4.9061 + :selling_rate_for_commercial_transactions: 4.9061 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + IQD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: IQD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1683.192 + :buying_rate_for_commercial_transactions: 1683.192 + :selling_rate_for_commercial_transactions: 1683.192 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + IRR: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: IRR + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 16769.7936 + :buying_rate_for_commercial_transactions: 16769.7936 + :selling_rate_for_commercial_transactions: 16769.7936 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + JMD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: JMD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 122.4468 + :buying_rate_for_commercial_transactions: 122.4468 + :selling_rate_for_commercial_transactions: 122.4468 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + JOD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: JOD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1.0229 + :buying_rate_for_commercial_transactions: 1.0229 + :selling_rate_for_commercial_transactions: 1.0229 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + KES: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: KES + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 129.0929 + :buying_rate_for_commercial_transactions: 129.0929 + :selling_rate_for_commercial_transactions: 129.0929 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + KHR: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: KHR + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 5916.456 + :buying_rate_for_commercial_transactions: 5916.456 + :selling_rate_for_commercial_transactions: 5916.456 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + KMF: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: KMF + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 494.844 + :buying_rate_for_commercial_transactions: 494.844 + :selling_rate_for_commercial_transactions: 494.844 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + KPW: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: KPW + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 187.824 + :buying_rate_for_commercial_transactions: 187.824 + :selling_rate_for_commercial_transactions: 187.824 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + KYD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: KYD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1.1703 + :buying_rate_for_commercial_transactions: 1.1703 + :selling_rate_for_commercial_transactions: 1.1703 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + LAK: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: LAK + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 11571.4032 + :buying_rate_for_commercial_transactions: 11571.4032 + :selling_rate_for_commercial_transactions: 11571.4032 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + LBP: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: LBP + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 2168.6448 + :buying_rate_for_commercial_transactions: 2168.6448 + :selling_rate_for_commercial_transactions: 2168.6448 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + LKR: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: LKR + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 158.2056 + :buying_rate_for_commercial_transactions: 158.2056 + :selling_rate_for_commercial_transactions: 158.2056 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + LRD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: LRD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 104.0256 + :buying_rate_for_commercial_transactions: 104.0256 + :selling_rate_for_commercial_transactions: 104.0256 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + LSL: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: LSL + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 9.7163 + :buying_rate_for_commercial_transactions: 9.7163 + :selling_rate_for_commercial_transactions: 9.7163 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + LYD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: LYD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1.73 + :buying_rate_for_commercial_transactions: 1.73 + :selling_rate_for_commercial_transactions: 1.73 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + MMK: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: MMK + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 9.2612 + :buying_rate_for_commercial_transactions: 9.2612 + :selling_rate_for_commercial_transactions: 9.2612 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + MNT: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: MNT + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1791.552 + :buying_rate_for_commercial_transactions: 1791.552 + :selling_rate_for_commercial_transactions: 1791.552 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + MOP: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: MOP + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 11.57 + :buying_rate_for_commercial_transactions: 11.57 + :selling_rate_for_commercial_transactions: 11.57 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + MRO: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: MRO + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 394.9361 + :buying_rate_for_commercial_transactions: 394.9361 + :selling_rate_for_commercial_transactions: 394.9361 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + MUR: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: MUR + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 39.732 + :buying_rate_for_commercial_transactions: 39.732 + :selling_rate_for_commercial_transactions: 39.732 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + MVR: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: MVR + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 21.7587 + :buying_rate_for_commercial_transactions: 21.7587 + :selling_rate_for_commercial_transactions: 21.7587 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + MWK: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: MWK + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 216.72 + :buying_rate_for_commercial_transactions: 216.72 + :selling_rate_for_commercial_transactions: 216.72 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + MXN: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: MXN + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 17.1014 + :buying_rate_for_commercial_transactions: 17.9014 + :selling_rate_for_commercial_transactions: 16.3014 + :buying_rate_for_cash: 17.8614 + :selling_rate_for_cash: 15.9114 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + MZN: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: MZN + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 40.4544 + :buying_rate_for_commercial_transactions: 40.4544 + :selling_rate_for_commercial_transactions: 40.4544 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + NAD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: NAD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 9.7562 + :buying_rate_for_commercial_transactions: 9.7562 + :selling_rate_for_commercial_transactions: 9.7562 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + NGN: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: NGN + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 226.3713 + :buying_rate_for_commercial_transactions: 226.3713 + :selling_rate_for_commercial_transactions: 226.3713 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + NIO: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: NIO + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 32.3166 + :buying_rate_for_commercial_transactions: 32.3166 + :selling_rate_for_commercial_transactions: 32.3166 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + NPR: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: NPR + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 103.4332 + :buying_rate_for_commercial_transactions: 103.4332 + :selling_rate_for_commercial_transactions: 103.4332 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + OMR: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: OMR + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 0.5562 + :buying_rate_for_commercial_transactions: 0.5562 + :selling_rate_for_commercial_transactions: 0.5562 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + PAB: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: PAB + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 1.4448 + :buying_rate_for_commercial_transactions: 1.4448 + :selling_rate_for_commercial_transactions: 1.4448 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + PEN: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: PEN + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 3.9905 + :buying_rate_for_commercial_transactions: 3.9905 + :selling_rate_for_commercial_transactions: 3.9905 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + PGK: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: PGK + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 3.1402 + :buying_rate_for_commercial_transactions: 3.1402 + :selling_rate_for_commercial_transactions: 3.1402 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + PHP: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: PHP + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 62.499 + :buying_rate_for_commercial_transactions: 62.499 + :selling_rate_for_commercial_transactions: 62.499 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + PKR: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: PKR + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 123.8916 + :buying_rate_for_commercial_transactions: 123.8916 + :selling_rate_for_commercial_transactions: 123.8916 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + PYG: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: PYG + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 5735.856 + :buying_rate_for_commercial_transactions: 5735.856 + :selling_rate_for_commercial_transactions: 5735.856 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + QAR: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: QAR + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 5.2607 + :buying_rate_for_commercial_transactions: 5.2607 + :selling_rate_for_commercial_transactions: 5.2607 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + RON: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: RON + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 4.1725 + :buying_rate_for_commercial_transactions: 4.2725 + :selling_rate_for_commercial_transactions: 4.0725 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + SBD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: SBD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 9.8554 + :buying_rate_for_commercial_transactions: 9.8554 + :selling_rate_for_commercial_transactions: 9.8554 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + RSD: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: RSD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 100.255 + :buying_rate_for_commercial_transactions: 104.255 + :selling_rate_for_commercial_transactions: 96.255 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + SCR: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: SCR + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 17.377 + :buying_rate_for_commercial_transactions: 17.377 + :selling_rate_for_commercial_transactions: 17.377 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + SDG: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: SDG + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 3.8579 + :buying_rate_for_commercial_transactions: 3.8579 + :selling_rate_for_commercial_transactions: 3.8579 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + SIT: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2007-01-02 14:05:53.000000000 Z + :rate_type: :list + :currency_iso_code: SIT + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 239.64 + :buying_rate_for_commercial_transactions: 239.64 + :selling_rate_for_commercial_transactions: 239.64 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: true + :euro_adoption_date: + :currency_expiry: false + :reserved: '' + SLL: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: SLL + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 6140.4 + :buying_rate_for_commercial_transactions: 6140.4 + :selling_rate_for_commercial_transactions: 6140.4 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + SOS: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: SOS + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 2253.888 + :buying_rate_for_commercial_transactions: 2253.888 + :selling_rate_for_commercial_transactions: 2253.888 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + STD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: STD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 24511.032 + :buying_rate_for_commercial_transactions: 24511.032 + :selling_rate_for_commercial_transactions: 24511.032 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + SVC: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: SVC + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 12.6312 + :buying_rate_for_commercial_transactions: 12.6312 + :selling_rate_for_commercial_transactions: 12.6312 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + SYP: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: SYP + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 68.5558 + :buying_rate_for_commercial_transactions: 68.5558 + :selling_rate_for_commercial_transactions: 68.5558 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + SZL: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: SZL + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 9.7192 + :buying_rate_for_commercial_transactions: 9.7192 + :selling_rate_for_commercial_transactions: 9.7192 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + TOP: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: TOP + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 2.3924 + :buying_rate_for_commercial_transactions: 2.3924 + :selling_rate_for_commercial_transactions: 2.3924 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + TRY: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: TRY + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 2.282 + :buying_rate_for_commercial_transactions: 2.432 + :selling_rate_for_commercial_transactions: 2.132 + :buying_rate_for_cash: 2.457 + :selling_rate_for_cash: 2.057 + :direction_of_change: "+" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + TTD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: TTD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 9.1745 + :buying_rate_for_commercial_transactions: 9.1745 + :selling_rate_for_commercial_transactions: 9.1745 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + TWD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: TWD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 41.6608 + :buying_rate_for_commercial_transactions: 41.6608 + :selling_rate_for_commercial_transactions: 41.6608 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + TZS: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: TZS + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 2256.7776 + :buying_rate_for_commercial_transactions: 2256.7776 + :selling_rate_for_commercial_transactions: 2256.7776 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + UAH: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: UAH + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 11.5367 + :buying_rate_for_commercial_transactions: 11.5367 + :selling_rate_for_commercial_transactions: 11.5367 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + UGX: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: UGX + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 3474.744 + :buying_rate_for_commercial_transactions: 3474.744 + :selling_rate_for_commercial_transactions: 3474.744 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + UYU: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: UYU + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 26.5121 + :buying_rate_for_commercial_transactions: 26.5121 + :selling_rate_for_commercial_transactions: 26.5121 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + VEF: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: VEF + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 6.1972 + :buying_rate_for_commercial_transactions: 6.1972 + :selling_rate_for_commercial_transactions: 6.1972 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + VND: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: VND + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 29676.192 + :buying_rate_for_commercial_transactions: 29676.192 + :selling_rate_for_commercial_transactions: 29676.192 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + VUV: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: VUV + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 126.29 + :buying_rate_for_commercial_transactions: 126.29 + :selling_rate_for_commercial_transactions: 126.29 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + WST: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: WST + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 3.1165 + :buying_rate_for_commercial_transactions: 3.1165 + :selling_rate_for_commercial_transactions: 3.1165 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + XAF: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: XAF + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 656.0981 + :buying_rate_for_commercial_transactions: 656.0981 + :selling_rate_for_commercial_transactions: 656.0981 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + XCD: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: XCD + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 3.8576 + :buying_rate_for_commercial_transactions: 3.8576 + :selling_rate_for_commercial_transactions: 3.8576 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + XOF: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: XOF + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 658.7855 + :buying_rate_for_commercial_transactions: 658.7855 + :selling_rate_for_commercial_transactions: 658.7855 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + XPF: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: XPF + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 118.5314 + :buying_rate_for_commercial_transactions: 118.5314 + :selling_rate_for_commercial_transactions: 118.5314 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + YER: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: YER + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 308.1036 + :buying_rate_for_commercial_transactions: 308.1036 + :selling_rate_for_commercial_transactions: 308.1036 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + ZMK: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: ZMK + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 6949.488 + :buying_rate_for_commercial_transactions: 6949.488 + :selling_rate_for_commercial_transactions: 6949.488 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + KZT: + :file_id: VK01 + :record_id: '001' + :quotation_time: + :rate_type: :list + :currency_iso_code: KZT + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 210.82 + :buying_rate_for_commercial_transactions: 217.82 + :selling_rate_for_commercial_transactions: 203.82 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "-" + :currency_convertability: true + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' + UZS: + :file_id: VK01 + :record_id: '001' + :quotation_time: 2011-06-14 12:53:32.000000000 Z + :rate_type: :list + :currency_iso_code: UZS + :counter_currency_iso_code: EUR + :middle_rate_for_commercial_transactions: 2458.7317 + :buying_rate_for_commercial_transactions: 2458.7317 + :selling_rate_for_commercial_transactions: 2458.7317 + :buying_rate_for_cash: 0.0 + :selling_rate_for_cash: 0.0 + :direction_of_change: "+" + :currency_convertability: false + :euro_area: false + :euro_adoption_date: + :currency_expiry: true + :reserved: '' +:headers: + :file_id: VK01 + :record_id: '000' + :change_time: + :notifications: Listakurssit alle 40.000 eur maksuille 14.06.11 15:47 + :reserved: '' diff --git a/spec/support/sample_data.rb b/spec/support/sample_data.rb index 672d6ce..a089ebe 100644 --- a/spec/support/sample_data.rb +++ b/spec/support/sample_data.rb @@ -1,24 +1,27 @@ # encoding: UTF-8 -require "yaml" +require 'yaml' module SampleData - CURRENCIES = YAML.load_file(File.open(File.expand_path("../sample_currencies.yml", __FILE__), "r")) - HEADERS = YAML.load_file(File.open(File.expand_path("../sample_headers.yml", __FILE__), "r")) + CURRENCIES = YAML.load_file(File.open(File.expand_path('../sample_currencies.yml', __FILE__), 'r')) + HEADERS = YAML.load_file(File.open(File.expand_path('../sample_headers.yml', __FILE__), 'r')) + extend self - def self.raw - File.open(File.expand_path("../sample_electronic.dat", __FILE__), "r") - end + class << self + def raw + File.open(File.expand_path('../sample_electronic.dat', __FILE__), 'r') + end - def self.currencies - CURRENCIES - end + def currencies + CURRENCIES + end - def self.get_rate(currency) - CURRENCIES[currency][:middle_rate_for_commercial_transactions] - end + def get_rate(currency) + CURRENCIES[currency][:middle_rate_for_commercial_transactions] + end - def self.headers - HEADERS + def headers + HEADERS + end end -end \ No newline at end of file +end diff --git a/spec/support/sample_electronic.dat b/spec/support/sample_electronic.dat index daa78d8..2d2c7c2 100644 --- a/spec/support/sample_electronic.dat +++ b/spec/support/sample_electronic.dat @@ -1,221 +1,221 @@ -VK0100020110614154727Listakurssit alle 40.000 eur maksuille 14.06.11 15:47 -VK01001199901010730000001EUREUR00000100000000000010000000000001000000000000100000000000010000000+K000000000K -VK01001201106141547190001USDEUR00000144480000000014598000000001429800000000147680000000014128000-K000000000K -VK01001201106141547140001JPYEUR00011591000000001179100000000113910000000012001000000001118100000-K000000000K -VK01001201106141547190001GBPEUR00000088100000000008910000000000871000000000090100000000008610000-K000000000K -VK01001201106141547190001SEKEUR00000911830000000092183000000009018300000000932330000000089133000+K000000000K -VK01001201106141547170001NOKEUR00000779650000000078965000000007696500000000797650000000076165000-K000000000K -VK01001201106141547130001DKKEUR00000745900000000074915000000007426500000000761700000000073010000+K000000000K -VK01001201106141547150001CHFEUR00000121160000000012241000000001199100000000124160000000011816000-K000000000K -VK01001201101011123110001EEKEUR00001564660000000156466000000015646600000001564660000000156466000+K120110101E -VK01001201106141547140001LVLEUR00000070860000000007185000000000698700000000073060000000006866000-K000000000K -VK01001201106141547130001LTLEUR00000345280000000034768000000003428800000000356280000000033428000+K000000000K -VK01001201106141547170001CADEUR00000140740000000014224000000001392400000000144040000000013744000-K000000000K -VK01001201106141547150001HKDEUR00001124560000000114556000000011035600000001168560000000106656000-K000000000K -VK01001201106141547190001AUDEUR00000135730000000013773000000001337300000000141730000000012973000+K000000000K -VK01001201106141547160001NZDEUR00000176630000000017828000000001749800000000183630000000016563000+K000000000K -VK01001201106141547120001ZAREUR00000975400000000100340000000009474000000001015400000000092240000-K000000000K -VK01001200801011056450001MTLEUR00000042930000000004293000000000429300000000042930000000004293000-K120080101E -VK01001201106141547150001SAREUR00000541945000000054914500000005347450000000568945000000051444500-K000000000K -VK01001201106141547120001MADEUR00001133760000000116626000000011012600000000000000000000000000000-K000000000K -VK01001201106141547170001KWDEUR00000039635000000004013500000000391350000000000000000000000000000-K000000000K -VK01001201106141547120001AEDEUR00000530825000000053592500000005257250000000557025000000050232500-K000000000K -VK01001201106141547170001SGDEUR00000178040000000018104000000001750400000000185240000000016934000+K000000000K -VK01001201106141547140001MYREUR00000437920000000000000000000000000000000000000000000000000000000-K000000000K -VK01001201106141547170001INREUR00006463700000000686370000000060637000000000000000000000000000000-K000000000K -VK01001200801011056420001CYPEUR00000058527400000005852740000000585274000000058527400000005852740+K120080101E -VK01001201106141547150001RUBEUR00004028880000000427888000000037788800000004338880000000367888000-K000000000K -VK01001201106141547170001CZKEUR00002411800000000244780000000023758000000002516800000000230680000+K000000000K -VK01001200901010000010001SKKEUR00003012600000000301260000000030126000000000000000000000000000000+K120090101E -VK01001201106141547120001PLNEUR00000393020000000040302000000003830200000000410020000000037602000-K000000000K -VK01001201106141547140001HUFEUR00026451000000002685100000000260510000000027396000000002539600000-K000000000K -VK01001201106141547160001THBEUR00004400900000000450090000000043009000000004650900000000415090000+K000000000K -VK01001201106141547170001KRWEUR00156404000000015910400000001537040000000163604000000014650400000-K000000000K -VK01001201106141547150001TNDEUR00000197894300000019889430000001968943000000000000000000000000000-K000000000K -VK01001201106141547160001XAUEUR00000009515700000001061570000000084157000000000000000000000000000+K000000000K -VK01001201106141547150001XYPEUR00000487530000000048883000000004862300000000000000000000000000000-K000000000K -VK01001201106141547140001UBFEUR00000474550000000047585000000004732500000000000000000000000000000-K000000000K -VK01001201106141547140001KOREUR00000533010000000053461000000005314100000000000000000000000000000-K000000000K -VK01001201106141547190001KOXEUR00000465990000000046749000000004644900000000000000000000000000000-K000000000K -VK01001201106141547170001XDREUR00000089430000000008953000000000893300000000000000000000000000000-K000000000K -VK01001199901011114430001FIMEUR00000594573000000059457300000005945730000000594573000000059457300 K119990101E -VK01001199901011114430001DEMEUR00000195583000000019558300000001955830000000195583000000019558300+K119990101E -VK01001199901011114430001FRFEUR00000655957000000065595700000006559570000000655957000000065595700+K119990101E -VK01001199901011114440001NLGEUR00000220371000000022037100000002203710000000220371000000022037100+K119990101E -VK01001199901011114440001ITLEUR00193627000000019362700000001936270000000193627000000019362700000+K119990101E -VK01001199901011114440001ATSEUR00001376030000000137603000000013760300000001376030000000137603000+K119990101E -VK01001199901011114440001ESPEUR00016638600000001663860000000166386000000016638600000001663860000+K119990101E -VK01001199901011114440001IEPEUR00000078756400000007875640000000787564000000078756400000007875640+K119990101E -VK01001199901011114450001BEFEUR00004033990000000403399000000040339900000004033990000000403399000+K119990101E -VK01001199901011114450001LUFEUR00004033990000000403399000000040339900000004033990000000403399000+K119990101E -VK01001199901011114450001PTEEUR00020048200000002004820000000200482000000020048200000002004820000+K119990101E -VK01001200012300915000001GRDEUR00034075000000003407500000000340750000000034075000000003407500000-K120010101E -VK01001201106141553270001ALLEUR00014230000000001423000000000142300000000000000000000000000000000-E000000000K -VK01001201106141553260001ANGEUR00000252840000000025284000000002528400000000000000000000000000000+E000000000K -VK01001201106141553270001ARSEUR00000591000000000059100000000005910000000000000000000000000000000+E000000000K -VK01001201106141553270001AWGEUR00000257170000000025717000000002571700000000000000000000000000000+E000000000K -VK01001201106141553270001BBDEUR00000287520000000028752000000002875200000000000000000000000000000+E000000000K -VK01001201106141553270001BDTEUR00010677070000001067707000000106770700000000000000000000000000000+E000000000K -VK01001201106141547160001BGNEUR00000195580000000020058000000001905800000000203580000000018758000+K000000000K -VK01001201106141553270001BHDEUR00000054470000000005447000000000544700000000000000000000000000000+E000000000K -VK01001201106141553270001BIFEUR00174820800000017482080000001748208000000000000000000000000000000+E000000000K -VK01001201106141553270001BMDEUR00000144480000000014448000000001444800000000000000000000000000000+E000000000K -VK01001201106141553270001BNDEUR00000177970000000017797000000001779700000000000000000000000000000+E000000000K -VK01001201106141553270001BOBEUR00001005580000000100558000000010055800000000000000000000000000000+E000000000K -VK01001201106141553270001BAMEUR00000195470000000019547000000001954700000000000000000000000000000+E000000000K -VK01001201106141553270001BRLEUR00000228710000000022871000000002287100000000242200000000021580000+E000000000K -VK01001201106141553270001BSDEUR00000144480000000014448000000001444800000000000000000000000000000+E000000000K -VK01001201106141553270001BTNEUR00006462590000000646259000000064625900000000000000000000000000000+E000000000K -VK01001201106141553270001BWPEUR00000938180000000093818000000009381800000000000000000000000000000+E000000000K -VK01001201106141553270001BZDEUR00000281520000000028152000000002815200000000000000000000000000000+E000000000K -VK01001201106141553270001CLPEUR00067313230000006731323000000673132300000000000000000000000000000+E000000000K -VK01001201106141553270001CNYEUR00000936090000000093609000000009360900000000982130000000089213000+E000000000K -VK01001201106141553270001CNHEUR00000935360000000093536000000009353600000000000000000000000000000+E000000000K -VK01001201106141553270001COPEUR00256654270000025665427000002566542700000000000000000000000000000+E000000000K -VK01001201106141553270001CRCEUR00072630100000007263010000000726301000000000000000000000000000000+E000000000K -VK01001201106141553260001CUPEUR00000145390000000014539000000001453900000000000000000000000000000-E000000000K -VK01001201106141553270001CVEEUR00011031050000001103105000000110310500000000000000000000000000000+E000000000K -VK01001201106141553270001DJFEUR00025262330000002526233000000252623300000000000000000000000000000+E000000000K -VK01001201106141553270001DOPEUR00005432450000000543245000000054324500000000000000000000000000000+E000000000K -VK01001201106141553270001DZDEUR00010344320000001034432000000103443200000000000000000000000000000+E000000000K -VK01001201106141553270001EGPEUR00000858570000000085857000000008585700000000000000000000000000000+E000000000K -VK01001201106141553270001ETBEUR00002436940000000243694000000024369400000000000000000000000000000+E000000000K -VK01001201106141553270001FJDEUR00000251840000000025184000000002518400000000000000000000000000000+E000000000K -VK01001201106141553270001GHSEUR00000218810000000021881000000002188100000000000000000000000000000+E000000000K -VK01001201106141553270001GIPEUR00000237080000000023708000000002370800000000000000000000000000000+E000000000K -VK01001201106141553270001GMDEUR00003835940000000383594000000038359400000000000000000000000000000-E000000000K -VK01001201106141553270001GNFEUR00958624800000095862480000009586248000000000000000000000000000000+E000000000K -VK01001201106141553270001GTQEUR00001126370000000112637000000011263700000000000000000000000000000+E000000000K -VK01001201106141553270001GYDEUR00029400240000002940024000000294002400000000000000000000000000000+E000000000K -VK01001201106141553270001HNLEUR00002729950000000272995000000027299500000000000000000000000000000+E000000000K -VK01001201106141553270001HTGEUR00005829770000000582977000000058297700000000000000000000000000000+E000000000K -VK01001201106141547160001HRKEUR00000739950000000075995000000007199500000000763750000000071555000+K000000000K -VK01001201106141553270001IDREUR01233384000000123338400000012333840000000000000000000000000000000+E000000000K -VK01001201106141553270001ILSEUR00000490610000000049061000000004906100000000000000000000000000000-E000000000K -VK01001201106141553270001IQDEUR00168319200000016831920000001683192000000000000000000000000000000+E000000000K -VK01001201106141553270001IRREUR01676979360000167697936000016769793600000000000000000000000000000-E000000000K -VK01001201106141553270001JMDEUR00012244680000001224468000000122446800000000000000000000000000000+E000000000K -VK01001201106141553270001JODEUR00000102290000000010229000000001022900000000000000000000000000000+E000000000K -VK01001201106141553270001KESEUR00012909290000001290929000000129092900000000000000000000000000000+E000000000K -VK01001201106141553270001KHREUR00591645600000059164560000005916456000000000000000000000000000000+E000000000K -VK01001201106141553260001KMFEUR00049484400000004948440000000494844000000000000000000000000000000+E000000000K -VK01001201106141553270001KPWEUR00018782400000001878240000000187824000000000000000000000000000000+E000000000K -VK01001201106141553270001KYDEUR00000117030000000011703000000001170300000000000000000000000000000+E000000000K -VK01001201106141553260001LAKEUR01157140320000115714032000011571403200000000000000000000000000000+E000000000K -VK01001201106141553270001LBPEUR00216864480000021686448000002168644800000000000000000000000000000+E000000000K -VK01001201106141553260001LKREUR00015820560000001582056000000158205600000000000000000000000000000+E000000000K -VK01001201106141553270001LRDEUR00010402560000001040256000000104025600000000000000000000000000000+E000000000K -VK01001201106141553260001LSLEUR00000971630000000097163000000009716300000000000000000000000000000+E000000000K -VK01001201106141553270001LYDEUR00000173000000000017300000000001730000000000000000000000000000000+E000000000K -VK01001201106141553270001MMKEUR00000926120000000092612000000009261200000000000000000000000000000+E000000000K -VK01001201106141553270001MNTEUR00179155200000017915520000001791552000000000000000000000000000000+E000000000K -VK01001201106141553270001MOPEUR00001157000000000115700000000011570000000000000000000000000000000+E000000000K -VK01001201106141553270001MROEUR00039493610000003949361000000394936100000000000000000000000000000+E000000000K -VK01001201106141553270001MUREUR00003973200000000397320000000039732000000000000000000000000000000+E000000000K -VK01001201106141553270001MVREUR00002175870000000217587000000021758700000000000000000000000000000+E000000000K -VK01001201106141553260001MWKEUR00021672000000002167200000000216720000000000000000000000000000000+E000000000K -VK01001201106141547120001MXNEUR00001710140000000179014000000016301400000001786140000000159114000-K000000000K -VK01001201106141553270001MZNEUR00004045440000000404544000000040454400000000000000000000000000000-E000000000K -VK01001201106141553270001NADEUR00000975620000000097562000000009756200000000000000000000000000000+E000000000K -VK01001201106141553270001NGNEUR00022637130000002263713000000226371300000000000000000000000000000+E000000000K -VK01001201106141553270001NIOEUR00003231660000000323166000000032316600000000000000000000000000000+E000000000K -VK01001201106141553270001NPREUR00010343320000001034332000000103433200000000000000000000000000000+E000000000K -VK01001201106141553270001OMREUR00000055620000000005562000000000556200000000000000000000000000000+E000000000K -VK01001201106141553270001PABEUR00000144480000000014448000000001444800000000000000000000000000000+E000000000K -VK01001201106141553270001PENEUR00000399050000000039905000000003990500000000000000000000000000000+E000000000K -VK01001201106141553270001PGKEUR00000314020000000031402000000003140200000000000000000000000000000-E000000000K -VK01001201106141553270001PHPEUR00006249900000000624990000000062499000000000000000000000000000000+E000000000K -VK01001201106141553270001PKREUR00012389160000001238916000000123891600000000000000000000000000000+E000000000K -VK01001201106141553270001PYGEUR00573585600000057358560000005735856000000000000000000000000000000+E000000000K -VK01001201106141553270001QAREUR00000526070000000052607000000005260700000000000000000000000000000+E000000000K -VK01001201106141547160001RONEUR00000417250000000042725000000004072500000000000000000000000000000-K000000000K -VK01001201106141553260001SBDEUR00000985540000000098554000000009855400000000000000000000000000000-E000000000K -VK01001201106141547130001RSDEUR00010025500000001042550000000096255000000000000000000000000000000+K000000000K -VK01001201106141553270001SCREUR00001737700000000173770000000017377000000000000000000000000000000+E000000000K -VK01001201106141553260001SDGEUR00000385790000000038579000000003857900000000000000000000000000000+E000000000K -VK01001200701021605380001SITEUR00023964000000002396400000000239640000000000000000000000000000000-K120070101E -VK01001201106141553270001SLLEUR00614040000000061404000000006140400000000000000000000000000000000-E000000000K -VK01001201106141553270001SOSEUR00225388800000022538880000002253888000000000000000000000000000000+E000000000K -VK01001201106141553270001STDEUR02451103200000245110320000024511032000000000000000000000000000000-E000000000K -VK01001201106141553270001SVCEUR00001263120000000126312000000012631200000000000000000000000000000+E000000000K -VK01001201106141553270001SYPEUR00006855580000000685558000000068555800000000000000000000000000000+E000000000K -VK01001201106141553270001SZLEUR00000971920000000097192000000009719200000000000000000000000000000+E000000000K -VK01001201106141553270001TOPEUR00000239240000000023924000000002392400000000000000000000000000000+E000000000K -VK01001201106141547160001TRYEUR00000228200000000024320000000002132000000000245700000000020570000+K000000000K -VK01001201106141553260001TTDEUR00000917450000000091745000000009174500000000000000000000000000000+E000000000K -VK01001201106141553270001TWDEUR00004166080000000416608000000041660800000000000000000000000000000+E000000000K -VK01001201106141553260001TZSEUR00225677760000022567776000002256777600000000000000000000000000000+E000000000K -VK01001201106141553270001UAHEUR00001153670000000115367000000011536700000000000000000000000000000+E000000000K -VK01001201106141553270001UGXEUR00347474400000034747440000003474744000000000000000000000000000000+E000000000K -VK01001201106141553270001UYUEUR00002651210000000265121000000026512100000000000000000000000000000+E000000000K -VK01001201106141553270001VEFEUR00000619720000000061972000000006197200000000000000000000000000000+E000000000K -VK01001201106141553270001VNDEUR02967619200000296761920000029676192000000000000000000000000000000+E000000000K -VK01001201106141553270001VUVEUR00012629000000001262900000000126290000000000000000000000000000000-E000000000K -VK01001201106141553270001WSTEUR00000311650000000031165000000003116500000000000000000000000000000+E000000000K -VK01001201106141553260001XAFEUR00065609810000006560981000000656098100000000000000000000000000000+E000000000K -VK01001201106141553270001XCDEUR00000385760000000038576000000003857600000000000000000000000000000+E000000000K -VK01001201106141553270001XOFEUR00065878550000006587855000000658785500000000000000000000000000000+E000000000K -VK01001201106141553270001XPFEUR00011853140000001185314000000118531400000000000000000000000000000-E000000000K -VK01001201106141553270001YEREUR00030810360000003081036000000308103600000000000000000000000000000+E000000000K -VK01001201106141553270001ZMKEUR00694948800000069494880000006949488000000000000000000000000000000+E000000000K -VK01001201106141547130001KZTEUR00021082000000002178200000000203820000000000000000000000000000000-K000000000K -VK01001201106141553270001UZSEUR00245873170000024587317000002458731700000000000000000000000000000+E000000000K -VK01001199901010750000002EUREUR00000100000000000010000000000001000000000000000000000000000000000+K000000000K -VK01001201106141547190002USDEUR00000144480000000014598000000001429800000000000000000000000000000+K000000000K -VK01001201106141547140002JPYEUR00011591000000001179100000000113910000000000000000000000000000000+K000000000K -VK01001201106141547190002GBPEUR00000088100000000008910000000000871000000000000000000000000000000+K000000000K -VK01001201106141547190002SEKEUR00000911830000000092183000000009018300000000000000000000000000000-K000000000K -VK01001201106141547170002NOKEUR00000779650000000078965000000007696500000000000000000000000000000-K000000000K -VK01001201106141547130002DKKEUR00000745900000000074915000000007426500000000000000000000000000000+K000000000K -VK01001201106141547150002CHFEUR00000121160000000012241000000001199100000000000000000000000000000+K000000000K -VK01001201101011123110002EEKEUR00001564660000000156466000000015646600000000000000000000000000000 K120110101E -VK01001201106141547140002LVLEUR00000070860000000007185000000000698700000000000000000000000000000 K000000000K -VK01001201106141547130002LTLEUR00000345280000000034768000000003428800000000000000000000000000000 K000000000K -VK01001201106141547170002CADEUR00000140740000000014224000000001392400000000000000000000000000000+K000000000K -VK01001201106141547150002HKDEUR00001124560000000114556000000011035600000000000000000000000000000+K000000000K -VK01001201106141547190002AUDEUR00000135730000000013773000000001337300000000000000000000000000000-K000000000K -VK01001201106141547160002NZDEUR00000176630000000017828000000001749800000000000000000000000000000-K000000000K -VK01001201106141547120002ZAREUR00000975400000000100340000000009474000000000000000000000000000000-K000000000K -VK01001200801011056450002MTLEUR00000042930000000004293000000000429300000000000000000000000000000-K120080101E -VK01001201106141547150002SAREUR00000541945000000054914500000005347450000000000000000000000000000+K000000000K -VK01001201106141547120002MADEUR00001133760000000116626000000011012600000000000000000000000000000+K000000000K -VK01001201106141547170002KWDEUR00000039635000000004013500000000391350000000000000000000000000000+K000000000K -VK01001201106141547120002AEDEUR00000530825000000053592500000005257250000000000000000000000000000+K000000000K -VK01001201106141547170002SGDEUR00000178040000000018104000000001750400000000000000000000000000000+K000000000K -VK01001201106141547140002MYREUR00000437920000000000000000000000000000000000000000000000000000000+K000000000K -VK01001201106141547170002INREUR00006463700000000686370000000060637000000000000000000000000000000+K000000000K -VK01001200801011056420002CYPEUR00000058527400000005852740000000585274000000000000000000000000000+K120080101E -VK01001201106141547150002RUBEUR00004028880000000427888000000037788800000000000000000000000000000+K000000000K -VK01001201106141547170002CZKEUR00002411800000000244780000000023758000000000000000000000000000000-K000000000K -VK01001200901010000010002SKKEUR00003012600000000301260000000030126000000000000000000000000000000+K120090101E -VK01001201106141547120002PLNEUR00000393020000000040302000000003830200000000000000000000000000000-K000000000K -VK01001201106141547140002HUFEUR00026451000000002685100000000260510000000000000000000000000000000-K000000000K -VK01001201106141547160002THBEUR00004400900000000450090000000043009000000000000000000000000000000+K000000000K -VK01001201106141547170002KRWEUR00156404000000015910400000001537040000000000000000000000000000000+K000000000K -VK01001201106141547150002TNDEUR00000197894300000019889430000001968943000000000000000000000000000+K000000000K -VK01001201106141547160002XAUEUR00000009515700000001061570000000084157000000000000000000000000000+K000000000K -VK01001201106141547150002XYPEUR00000487530000000048883000000004862300000000000000000000000000000+K000000000K -VK01001201106141547140002UBFEUR00000474550000000047585000000004732500000000000000000000000000000+K000000000K -VK01001201106141547140002KOREUR00000533010000000053461000000005314100000000000000000000000000000+K000000000K -VK01001201106141547190002KOXEUR00000465990000000046749000000004644900000000000000000000000000000+K000000000K -VK01001201106141547170002XDREUR00000089430000000008953000000000893300000000000000000000000000000+K000000000K -VK01001199901011114430002FIMEUR00000594573000000059457300000005945730000000000000000000000000000+K119990101E -VK01001199901011114430002DEMEUR00000195583000000019558300000001955830000000000000000000000000000+K119990101E -VK01001199901011114430002FRFEUR00000655957000000065595700000006559570000000000000000000000000000+K119990101E -VK01001199901011114440002NLGEUR00000220371000000022037100000002203710000000000000000000000000000+K119990101E -VK01001199901011114440002ITLEUR00193627000000019362700000001936270000000000000000000000000000000+K119990101E -VK01001199901011114440002ATSEUR00001376030000000137603000000013760300000000000000000000000000000+K119990101E -VK01001199901011114440002ESPEUR00016638600000001663860000000166386000000000000000000000000000000+K119990101E -VK01001199901011114440002IEPEUR00000078756400000007875640000000787564000000000000000000000000000+K119990101E -VK01001199901011114450002BEFEUR00004033990000000403399000000040339900000000000000000000000000000+K119990101E -VK01001199901011114450002LUFEUR00004033990000000403399000000040339900000000000000000000000000000+K119990101E -VK01001199901011114450002PTEEUR00020048200000002004820000000200482000000000000000000000000000000+K119990101E -VK01001200012300915000002GRDEUR00034075000000003407500000000340750000000000000000000000000000000 K120010101E -VK01001201106141547160002BGNEUR00000195580000000020058000000001905800000000000000000000000000000 K000000000K -VK01001201106141547160002HRKEUR00000739950000000075995000000007199500000000000000000000000000000-K000000000K -VK01001201106141547120002MXNEUR00001710140000000179014000000016301400000000000000000000000000000+K000000000K -VK01001201106141547160002RONEUR00000417250000000042725000000004072500000000000000000000000000000-K000000000K -VK01001201106141547130002RSDEUR00010025500000001042550000000096255000000000000000000000000000000+K000000000K -VK01001200701021605380002SITEUR00023964000000002396400000000239640000000000000000000000000000000 K120070101E -VK01001201106141547160002TRYEUR00000228200000000024320000000002132000000000000000000000000000000+K000000000K -VK01001201106141547130002KZTEUR00021082000000002178200000000203820000000000000000000000000000000+K000000000K +VK0100020110614154727Listakurssit alle 40.000 eur maksuille 14.06.11 15:47 +VK01001199901010730000001EUREUR00000100000000000010000000000001000000000000100000000000010000000+K000000000K +VK01001201106141547190001USDEUR00000144480000000014598000000001429800000000147680000000014128000-K000000000K +VK01001201106141547140001JPYEUR00011591000000001179100000000113910000000012001000000001118100000-K000000000K +VK01001201106141547190001GBPEUR00000088100000000008910000000000871000000000090100000000008610000-K000000000K +VK01001201106141547190001SEKEUR00000911830000000092183000000009018300000000932330000000089133000+K000000000K +VK01001201106141547170001NOKEUR00000779650000000078965000000007696500000000797650000000076165000-K000000000K +VK01001201106141547130001DKKEUR00000745900000000074915000000007426500000000761700000000073010000+K000000000K +VK01001201106141547150001CHFEUR00000121160000000012241000000001199100000000124160000000011816000-K000000000K +VK01001201101011123110001EEKEUR00001564660000000156466000000015646600000001564660000000156466000+K120110101E +VK01001201106141547140001LVLEUR00000070860000000007185000000000698700000000073060000000006866000-K000000000K +VK01001201106141547130001LTLEUR00000345280000000034768000000003428800000000356280000000033428000+K000000000K +VK01001201106141547170001CADEUR00000140740000000014224000000001392400000000144040000000013744000-K000000000K +VK01001201106141547150001HKDEUR00001124560000000114556000000011035600000001168560000000106656000-K000000000K +VK01001201106141547190001AUDEUR00000135730000000013773000000001337300000000141730000000012973000+K000000000K +VK01001201106141547160001NZDEUR00000176630000000017828000000001749800000000183630000000016563000+K000000000K +VK01001201106141547120001ZAREUR00000975400000000100340000000009474000000001015400000000092240000-K000000000K +VK01001200801011056450001MTLEUR00000042930000000004293000000000429300000000042930000000004293000-K120080101E +VK01001201106141547150001SAREUR00000541945000000054914500000005347450000000568945000000051444500-K000000000K +VK01001201106141547120001MADEUR00001133760000000116626000000011012600000000000000000000000000000-K000000000K +VK01001201106141547170001KWDEUR00000039635000000004013500000000391350000000000000000000000000000-K000000000K +VK01001201106141547120001AEDEUR00000530825000000053592500000005257250000000557025000000050232500-K000000000K +VK01001201106141547170001SGDEUR00000178040000000018104000000001750400000000185240000000016934000+K000000000K +VK01001201106141547140001MYREUR00000437920000000000000000000000000000000000000000000000000000000-K000000000K +VK01001201106141547170001INREUR00006463700000000686370000000060637000000000000000000000000000000-K000000000K +VK01001200801011056420001CYPEUR00000058527400000005852740000000585274000000058527400000005852740+K120080101E +VK01001201106141547150001RUBEUR00004028880000000427888000000037788800000004338880000000367888000-K000000000K +VK01001201106141547170001CZKEUR00002411800000000244780000000023758000000002516800000000230680000+K000000000K +VK01001200901010000010001SKKEUR00003012600000000301260000000030126000000000000000000000000000000+K120090101E +VK01001201106141547120001PLNEUR00000393020000000040302000000003830200000000410020000000037602000-K000000000K +VK01001201106141547140001HUFEUR00026451000000002685100000000260510000000027396000000002539600000-K000000000K +VK01001201106141547160001THBEUR00004400900000000450090000000043009000000004650900000000415090000+K000000000K +VK01001201106141547170001KRWEUR00156404000000015910400000001537040000000163604000000014650400000-K000000000K +VK01001201106141547150001TNDEUR00000197894300000019889430000001968943000000000000000000000000000-K000000000K +VK01001201106141547160001XAUEUR00000009515700000001061570000000084157000000000000000000000000000+K000000000K +VK01001201106141547150001XYPEUR00000487530000000048883000000004862300000000000000000000000000000-K000000000K +VK01001201106141547140001UBFEUR00000474550000000047585000000004732500000000000000000000000000000-K000000000K +VK01001201106141547140001KOREUR00000533010000000053461000000005314100000000000000000000000000000-K000000000K +VK01001201106141547190001KOXEUR00000465990000000046749000000004644900000000000000000000000000000-K000000000K +VK01001201106141547170001XDREUR00000089430000000008953000000000893300000000000000000000000000000-K000000000K +VK01001199901011114430001FIMEUR00000594573000000059457300000005945730000000594573000000059457300 K119990101E +VK01001199901011114430001DEMEUR00000195583000000019558300000001955830000000195583000000019558300+K119990101E +VK01001199901011114430001FRFEUR00000655957000000065595700000006559570000000655957000000065595700+K119990101E +VK01001199901011114440001NLGEUR00000220371000000022037100000002203710000000220371000000022037100+K119990101E +VK01001199901011114440001ITLEUR00193627000000019362700000001936270000000193627000000019362700000+K119990101E +VK01001199901011114440001ATSEUR00001376030000000137603000000013760300000001376030000000137603000+K119990101E +VK01001199901011114440001ESPEUR00016638600000001663860000000166386000000016638600000001663860000+K119990101E +VK01001199901011114440001IEPEUR00000078756400000007875640000000787564000000078756400000007875640+K119990101E +VK01001199901011114450001BEFEUR00004033990000000403399000000040339900000004033990000000403399000+K119990101E +VK01001199901011114450001LUFEUR00004033990000000403399000000040339900000004033990000000403399000+K119990101E +VK01001199901011114450001PTEEUR00020048200000002004820000000200482000000020048200000002004820000+K119990101E +VK01001200012300915000001GRDEUR00034075000000003407500000000340750000000034075000000003407500000-K120010101E +VK01001201106141553270001ALLEUR00014230000000001423000000000142300000000000000000000000000000000-E000000000K +VK01001201106141553260001ANGEUR00000252840000000025284000000002528400000000000000000000000000000+E000000000K +VK01001201106141553270001ARSEUR00000591000000000059100000000005910000000000000000000000000000000+E000000000K +VK01001201106141553270001AWGEUR00000257170000000025717000000002571700000000000000000000000000000+E000000000K +VK01001201106141553270001BBDEUR00000287520000000028752000000002875200000000000000000000000000000+E000000000K +VK01001201106141553270001BDTEUR00010677070000001067707000000106770700000000000000000000000000000+E000000000K +VK01001201106141547160001BGNEUR00000195580000000020058000000001905800000000203580000000018758000+K000000000K +VK01001201106141553270001BHDEUR00000054470000000005447000000000544700000000000000000000000000000+E000000000K +VK01001201106141553270001BIFEUR00174820800000017482080000001748208000000000000000000000000000000+E000000000K +VK01001201106141553270001BMDEUR00000144480000000014448000000001444800000000000000000000000000000+E000000000K +VK01001201106141553270001BNDEUR00000177970000000017797000000001779700000000000000000000000000000+E000000000K +VK01001201106141553270001BOBEUR00001005580000000100558000000010055800000000000000000000000000000+E000000000K +VK01001201106141553270001BAMEUR00000195470000000019547000000001954700000000000000000000000000000+E000000000K +VK01001201106141553270001BRLEUR00000228710000000022871000000002287100000000242200000000021580000+E000000000K +VK01001201106141553270001BSDEUR00000144480000000014448000000001444800000000000000000000000000000+E000000000K +VK01001201106141553270001BTNEUR00006462590000000646259000000064625900000000000000000000000000000+E000000000K +VK01001201106141553270001BWPEUR00000938180000000093818000000009381800000000000000000000000000000+E000000000K +VK01001201106141553270001BZDEUR00000281520000000028152000000002815200000000000000000000000000000+E000000000K +VK01001201106141553270001CLPEUR00067313230000006731323000000673132300000000000000000000000000000+E000000000K +VK01001201106141553270001CNYEUR00000936090000000093609000000009360900000000982130000000089213000+E000000000K +VK01001201106141553270001CNHEUR00000935360000000093536000000009353600000000000000000000000000000+E000000000K +VK01001201106141553270001COPEUR00256654270000025665427000002566542700000000000000000000000000000+E000000000K +VK01001201106141553270001CRCEUR00072630100000007263010000000726301000000000000000000000000000000+E000000000K +VK01001201106141553260001CUPEUR00000145390000000014539000000001453900000000000000000000000000000-E000000000K +VK01001201106141553270001CVEEUR00011031050000001103105000000110310500000000000000000000000000000+E000000000K +VK01001201106141553270001DJFEUR00025262330000002526233000000252623300000000000000000000000000000+E000000000K +VK01001201106141553270001DOPEUR00005432450000000543245000000054324500000000000000000000000000000+E000000000K +VK01001201106141553270001DZDEUR00010344320000001034432000000103443200000000000000000000000000000+E000000000K +VK01001201106141553270001EGPEUR00000858570000000085857000000008585700000000000000000000000000000+E000000000K +VK01001201106141553270001ETBEUR00002436940000000243694000000024369400000000000000000000000000000+E000000000K +VK01001201106141553270001FJDEUR00000251840000000025184000000002518400000000000000000000000000000+E000000000K +VK01001201106141553270001GHSEUR00000218810000000021881000000002188100000000000000000000000000000+E000000000K +VK01001201106141553270001GIPEUR00000237080000000023708000000002370800000000000000000000000000000+E000000000K +VK01001201106141553270001GMDEUR00003835940000000383594000000038359400000000000000000000000000000-E000000000K +VK01001201106141553270001GNFEUR00958624800000095862480000009586248000000000000000000000000000000+E000000000K +VK01001201106141553270001GTQEUR00001126370000000112637000000011263700000000000000000000000000000+E000000000K +VK01001201106141553270001GYDEUR00029400240000002940024000000294002400000000000000000000000000000+E000000000K +VK01001201106141553270001HNLEUR00002729950000000272995000000027299500000000000000000000000000000+E000000000K +VK01001201106141553270001HTGEUR00005829770000000582977000000058297700000000000000000000000000000+E000000000K +VK01001201106141547160001HRKEUR00000739950000000075995000000007199500000000763750000000071555000+K000000000K +VK01001201106141553270001IDREUR01233384000000123338400000012333840000000000000000000000000000000+E000000000K +VK01001201106141553270001ILSEUR00000490610000000049061000000004906100000000000000000000000000000-E000000000K +VK01001201106141553270001IQDEUR00168319200000016831920000001683192000000000000000000000000000000+E000000000K +VK01001201106141553270001IRREUR01676979360000167697936000016769793600000000000000000000000000000-E000000000K +VK01001201106141553270001JMDEUR00012244680000001224468000000122446800000000000000000000000000000+E000000000K +VK01001201106141553270001JODEUR00000102290000000010229000000001022900000000000000000000000000000+E000000000K +VK01001201106141553270001KESEUR00012909290000001290929000000129092900000000000000000000000000000+E000000000K +VK01001201106141553270001KHREUR00591645600000059164560000005916456000000000000000000000000000000+E000000000K +VK01001201106141553260001KMFEUR00049484400000004948440000000494844000000000000000000000000000000+E000000000K +VK01001201106141553270001KPWEUR00018782400000001878240000000187824000000000000000000000000000000+E000000000K +VK01001201106141553270001KYDEUR00000117030000000011703000000001170300000000000000000000000000000+E000000000K +VK01001201106141553260001LAKEUR01157140320000115714032000011571403200000000000000000000000000000+E000000000K +VK01001201106141553270001LBPEUR00216864480000021686448000002168644800000000000000000000000000000+E000000000K +VK01001201106141553260001LKREUR00015820560000001582056000000158205600000000000000000000000000000+E000000000K +VK01001201106141553270001LRDEUR00010402560000001040256000000104025600000000000000000000000000000+E000000000K +VK01001201106141553260001LSLEUR00000971630000000097163000000009716300000000000000000000000000000+E000000000K +VK01001201106141553270001LYDEUR00000173000000000017300000000001730000000000000000000000000000000+E000000000K +VK01001201106141553270001MMKEUR00000926120000000092612000000009261200000000000000000000000000000+E000000000K +VK01001201106141553270001MNTEUR00179155200000017915520000001791552000000000000000000000000000000+E000000000K +VK01001201106141553270001MOPEUR00001157000000000115700000000011570000000000000000000000000000000+E000000000K +VK01001201106141553270001MROEUR00039493610000003949361000000394936100000000000000000000000000000+E000000000K +VK01001201106141553270001MUREUR00003973200000000397320000000039732000000000000000000000000000000+E000000000K +VK01001201106141553270001MVREUR00002175870000000217587000000021758700000000000000000000000000000+E000000000K +VK01001201106141553260001MWKEUR00021672000000002167200000000216720000000000000000000000000000000+E000000000K +VK01001201106141547120001MXNEUR00001710140000000179014000000016301400000001786140000000159114000-K000000000K +VK01001201106141553270001MZNEUR00004045440000000404544000000040454400000000000000000000000000000-E000000000K +VK01001201106141553270001NADEUR00000975620000000097562000000009756200000000000000000000000000000+E000000000K +VK01001201106141553270001NGNEUR00022637130000002263713000000226371300000000000000000000000000000+E000000000K +VK01001201106141553270001NIOEUR00003231660000000323166000000032316600000000000000000000000000000+E000000000K +VK01001201106141553270001NPREUR00010343320000001034332000000103433200000000000000000000000000000+E000000000K +VK01001201106141553270001OMREUR00000055620000000005562000000000556200000000000000000000000000000+E000000000K +VK01001201106141553270001PABEUR00000144480000000014448000000001444800000000000000000000000000000+E000000000K +VK01001201106141553270001PENEUR00000399050000000039905000000003990500000000000000000000000000000+E000000000K +VK01001201106141553270001PGKEUR00000314020000000031402000000003140200000000000000000000000000000-E000000000K +VK01001201106141553270001PHPEUR00006249900000000624990000000062499000000000000000000000000000000+E000000000K +VK01001201106141553270001PKREUR00012389160000001238916000000123891600000000000000000000000000000+E000000000K +VK01001201106141553270001PYGEUR00573585600000057358560000005735856000000000000000000000000000000+E000000000K +VK01001201106141553270001QAREUR00000526070000000052607000000005260700000000000000000000000000000+E000000000K +VK01001201106141547160001RONEUR00000417250000000042725000000004072500000000000000000000000000000-K000000000K +VK01001201106141553260001SBDEUR00000985540000000098554000000009855400000000000000000000000000000-E000000000K +VK01001201106141547130001RSDEUR00010025500000001042550000000096255000000000000000000000000000000+K000000000K +VK01001201106141553270001SCREUR00001737700000000173770000000017377000000000000000000000000000000+E000000000K +VK01001201106141553260001SDGEUR00000385790000000038579000000003857900000000000000000000000000000+E000000000K +VK01001200701021605380001SITEUR00023964000000002396400000000239640000000000000000000000000000000-K120070101E +VK01001201106141553270001SLLEUR00614040000000061404000000006140400000000000000000000000000000000-E000000000K +VK01001201106141553270001SOSEUR00225388800000022538880000002253888000000000000000000000000000000+E000000000K +VK01001201106141553270001STDEUR02451103200000245110320000024511032000000000000000000000000000000-E000000000K +VK01001201106141553270001SVCEUR00001263120000000126312000000012631200000000000000000000000000000+E000000000K +VK01001201106141553270001SYPEUR00006855580000000685558000000068555800000000000000000000000000000+E000000000K +VK01001201106141553270001SZLEUR00000971920000000097192000000009719200000000000000000000000000000+E000000000K +VK01001201106141553270001TOPEUR00000239240000000023924000000002392400000000000000000000000000000+E000000000K +VK01001201106141547160001TRYEUR00000228200000000024320000000002132000000000245700000000020570000+K000000000K +VK01001201106141553260001TTDEUR00000917450000000091745000000009174500000000000000000000000000000+E000000000K +VK01001201106141553270001TWDEUR00004166080000000416608000000041660800000000000000000000000000000+E000000000K +VK01001201106141553260001TZSEUR00225677760000022567776000002256777600000000000000000000000000000+E000000000K +VK01001201106141553270001UAHEUR00001153670000000115367000000011536700000000000000000000000000000+E000000000K +VK01001201106141553270001UGXEUR00347474400000034747440000003474744000000000000000000000000000000+E000000000K +VK01001201106141553270001UYUEUR00002651210000000265121000000026512100000000000000000000000000000+E000000000K +VK01001201106141553270001VEFEUR00000619720000000061972000000006197200000000000000000000000000000+E000000000K +VK01001201106141553270001VNDEUR02967619200000296761920000029676192000000000000000000000000000000+E000000000K +VK01001201106141553270001VUVEUR00012629000000001262900000000126290000000000000000000000000000000-E000000000K +VK01001201106141553270001WSTEUR00000311650000000031165000000003116500000000000000000000000000000+E000000000K +VK01001201106141553260001XAFEUR00065609810000006560981000000656098100000000000000000000000000000+E000000000K +VK01001201106141553270001XCDEUR00000385760000000038576000000003857600000000000000000000000000000+E000000000K +VK01001201106141553270001XOFEUR00065878550000006587855000000658785500000000000000000000000000000+E000000000K +VK01001201106141553270001XPFEUR00011853140000001185314000000118531400000000000000000000000000000-E000000000K +VK01001201106141553270001YEREUR00030810360000003081036000000308103600000000000000000000000000000+E000000000K +VK01001201106141553270001ZMKEUR00694948800000069494880000006949488000000000000000000000000000000+E000000000K +VK01001201106141547130001KZTEUR00021082000000002178200000000203820000000000000000000000000000000-K000000000K +VK01001201106141553270001UZSEUR00245873170000024587317000002458731700000000000000000000000000000+E000000000K +VK01001199901010750000002EUREUR00000100000000000010000000000001000000000000000000000000000000000+K000000000K +VK01001201106141547190002USDEUR00000144480000000014598000000001429800000000000000000000000000000+K000000000K +VK01001201106141547140002JPYEUR00011591000000001179100000000113910000000000000000000000000000000+K000000000K +VK01001201106141547190002GBPEUR00000088100000000008910000000000871000000000000000000000000000000+K000000000K +VK01001201106141547190002SEKEUR00000911830000000092183000000009018300000000000000000000000000000-K000000000K +VK01001201106141547170002NOKEUR00000779650000000078965000000007696500000000000000000000000000000-K000000000K +VK01001201106141547130002DKKEUR00000745900000000074915000000007426500000000000000000000000000000+K000000000K +VK01001201106141547150002CHFEUR00000121160000000012241000000001199100000000000000000000000000000+K000000000K +VK01001201101011123110002EEKEUR00001564660000000156466000000015646600000000000000000000000000000 K120110101E +VK01001201106141547140002LVLEUR00000070860000000007185000000000698700000000000000000000000000000 K000000000K +VK01001201106141547130002LTLEUR00000345280000000034768000000003428800000000000000000000000000000 K000000000K +VK01001201106141547170002CADEUR00000140740000000014224000000001392400000000000000000000000000000+K000000000K +VK01001201106141547150002HKDEUR00001124560000000114556000000011035600000000000000000000000000000+K000000000K +VK01001201106141547190002AUDEUR00000135730000000013773000000001337300000000000000000000000000000-K000000000K +VK01001201106141547160002NZDEUR00000176630000000017828000000001749800000000000000000000000000000-K000000000K +VK01001201106141547120002ZAREUR00000975400000000100340000000009474000000000000000000000000000000-K000000000K +VK01001200801011056450002MTLEUR00000042930000000004293000000000429300000000000000000000000000000-K120080101E +VK01001201106141547150002SAREUR00000541945000000054914500000005347450000000000000000000000000000+K000000000K +VK01001201106141547120002MADEUR00001133760000000116626000000011012600000000000000000000000000000+K000000000K +VK01001201106141547170002KWDEUR00000039635000000004013500000000391350000000000000000000000000000+K000000000K +VK01001201106141547120002AEDEUR00000530825000000053592500000005257250000000000000000000000000000+K000000000K +VK01001201106141547170002SGDEUR00000178040000000018104000000001750400000000000000000000000000000+K000000000K +VK01001201106141547140002MYREUR00000437920000000000000000000000000000000000000000000000000000000+K000000000K +VK01001201106141547170002INREUR00006463700000000686370000000060637000000000000000000000000000000+K000000000K +VK01001200801011056420002CYPEUR00000058527400000005852740000000585274000000000000000000000000000+K120080101E +VK01001201106141547150002RUBEUR00004028880000000427888000000037788800000000000000000000000000000+K000000000K +VK01001201106141547170002CZKEUR00002411800000000244780000000023758000000000000000000000000000000-K000000000K +VK01001200901010000010002SKKEUR00003012600000000301260000000030126000000000000000000000000000000+K120090101E +VK01001201106141547120002PLNEUR00000393020000000040302000000003830200000000000000000000000000000-K000000000K +VK01001201106141547140002HUFEUR00026451000000002685100000000260510000000000000000000000000000000-K000000000K +VK01001201106141547160002THBEUR00004400900000000450090000000043009000000000000000000000000000000+K000000000K +VK01001201106141547170002KRWEUR00156404000000015910400000001537040000000000000000000000000000000+K000000000K +VK01001201106141547150002TNDEUR00000197894300000019889430000001968943000000000000000000000000000+K000000000K +VK01001201106141547160002XAUEUR00000009515700000001061570000000084157000000000000000000000000000+K000000000K +VK01001201106141547150002XYPEUR00000487530000000048883000000004862300000000000000000000000000000+K000000000K +VK01001201106141547140002UBFEUR00000474550000000047585000000004732500000000000000000000000000000+K000000000K +VK01001201106141547140002KOREUR00000533010000000053461000000005314100000000000000000000000000000+K000000000K +VK01001201106141547190002KOXEUR00000465990000000046749000000004644900000000000000000000000000000+K000000000K +VK01001201106141547170002XDREUR00000089430000000008953000000000893300000000000000000000000000000+K000000000K +VK01001199901011114430002FIMEUR00000594573000000059457300000005945730000000000000000000000000000+K119990101E +VK01001199901011114430002DEMEUR00000195583000000019558300000001955830000000000000000000000000000+K119990101E +VK01001199901011114430002FRFEUR00000655957000000065595700000006559570000000000000000000000000000+K119990101E +VK01001199901011114440002NLGEUR00000220371000000022037100000002203710000000000000000000000000000+K119990101E +VK01001199901011114440002ITLEUR00193627000000019362700000001936270000000000000000000000000000000+K119990101E +VK01001199901011114440002ATSEUR00001376030000000137603000000013760300000000000000000000000000000+K119990101E +VK01001199901011114440002ESPEUR00016638600000001663860000000166386000000000000000000000000000000+K119990101E +VK01001199901011114440002IEPEUR00000078756400000007875640000000787564000000000000000000000000000+K119990101E +VK01001199901011114450002BEFEUR00004033990000000403399000000040339900000000000000000000000000000+K119990101E +VK01001199901011114450002LUFEUR00004033990000000403399000000040339900000000000000000000000000000+K119990101E +VK01001199901011114450002PTEEUR00020048200000002004820000000200482000000000000000000000000000000+K119990101E +VK01001200012300915000002GRDEUR00034075000000003407500000000340750000000000000000000000000000000 K120010101E +VK01001201106141547160002BGNEUR00000195580000000020058000000001905800000000000000000000000000000 K000000000K +VK01001201106141547160002HRKEUR00000739950000000075995000000007199500000000000000000000000000000-K000000000K +VK01001201106141547120002MXNEUR00001710140000000179014000000016301400000000000000000000000000000+K000000000K +VK01001201106141547160002RONEUR00000417250000000042725000000004072500000000000000000000000000000-K000000000K +VK01001201106141547130002RSDEUR00010025500000001042550000000096255000000000000000000000000000000+K000000000K +VK01001200701021605380002SITEUR00023964000000002396400000000239640000000000000000000000000000000 K120070101E +VK01001201106141547160002TRYEUR00000228200000000024320000000002132000000000000000000000000000000+K000000000K +VK01001201106141547130002KZTEUR00021082000000002178200000000203820000000000000000000000000000000+K000000000K diff --git a/spec/support/sample_headers.yml b/spec/support/sample_headers.yml index e1574a0..6996fbb 100644 --- a/spec/support/sample_headers.yml +++ b/spec/support/sample_headers.yml @@ -1,6 +1,6 @@ --- :file_id: VK01 :record_id: '000' -:change_time: +:change_time: :notifications: Listakurssit alle 40.000 eur maksuille 14.06.11 15:47 -:reserved: '' +:reserved: '' \ No newline at end of file