在日常开发中经常涉及到不同币种之间的账务处理,此时就需要做汇率计算处理,
数据表 gl_daily_rates_v
SELECT gd.conversion_rate, gd.from_currency, gd.to_currency, gd.conversion_type, gd.conversion_date, gd.* FROM gl_daily_rates_v gd
常用逻辑语句
IF rec_header.currency_code <> 'CNY' THEN BEGIN SELECT gd.conversion_rate INTO l_exchange_rate FROM gl_daily_rates_v gd WHERE gd.from_currency = rec_header.currency_code --源币种 AND gd.to_currency = 'CNY'--转换目标币种 AND gd.conversion_type = 'Corporate' --汇率类型 AND gd.conversion_date = SYSDATE; --汇率日期 EXCEPTION WHEN no_data_found THEN h_error_flag := 'Y'; h_error_msg := '汇率不存在'; WHEN OTHERS THEN h_error_flag := 'Y'; h_error_msg := '查找汇率出错'; END; ELSIF rec_header.currency_code = 'CNY' THEN l_exchange_rate := 1; END IF;