\\Input
Parm Class
CurrencyCode fromCurrencyCode;
CurrencyCode toCurrencyCode;
TransDate exchangeRateDate;
CurrencyExchangeRate exchangeRate;
ExchangeRateTypeRecId exchangeRateTypeRecId;
ExchangeRateDisplayFactor exchangeRateDisplayFactor;
fromCurrencyCode = CompanyInfo::standardCurrency();
exchangeRateType = "Default";
exchangeRateTypeRecId = ExchangeRateType::find(exchangeRateType).RecId;
updateExchangeRates = Noyes::yes;
exchangeRateDisplayFactor = ExchangeRateDisplayFactor::One;
Table: ExchangeRate
Table Method
/// <summary>
/// Imports an exchange rate between the from currency and the accounting currency for the default
/// exchange rate type.
/// </summary>
/// <param name="_fromCurrencyCode">
/// The from currency.
/// </param>
/// <param name="_toCurrencyCode">
/// The to currency.
/// </param>
/// <param name="_exchangeRateTypeRecId">
/// The exchange rate type ID.
/// </param>
/// <param name="_exchangeRateDate">
/// The exchange rate date.
/// </param>
/// <param name="_exchangeRate">
/// The exchange rate.
/// </param>
/// <param name="_insertExchangeRate">
/// A Boolean value that determines whether to insert exchange rates.
/// </param>
/// <param name="_updateExchangeRate">
/// A Boolean value that determines whether to update exchange rates.
/// </param>
/// /// <param name="_exchangeRateDisplayFactor">
/// An exchange rate display factor
/// </param>
public static void importExchangeRate(
CurrencyCode _fromCurrencyCode,
CurrencyCode _toCurrencyCode,
ExchangeRateTypeRecId _exchangeRateTypeRecId,
TransDate _exchangeRateDate,
CurrencyExchangeRate _exchangeRate,
boolean _insertExchangeRate,
boolean _updateExchangeRate,
ExchangeRateDisplayFactor _exchangeRateDisplayFactor = 0)
{
ExchangeRateCurrencyPair exchangeRateCurrencyPair;
ExchangeRate exchangeRate;
;
date exchangeRateDate = _exchangeRateDate;
ttsbegin;
if (_insertExchangeRate || _updateExchangeRate)
{
select RecId from exchangeRateCurrencyPair
where exchangeRateCurrencyPair.FromCurrencyCode == _fromCurrencyCode
&& exchangeRateCurrencyPair.ToCurrencyCode == _toCurrencyCode
&& exchangeRateCurrencyPair.ExchangeRateType == _exchangeRateTypeRecId;
if (exchangeRateCurrencyPair)
{
select firstonly forupdate validtimestate(exchangeRateDate) ExchangeRate from exchangeRate
where exchangeRate.ExchangeRateCurrencyPair == exchangeRateCurrencyPair.RecId
&& exchangeRate.ValidFrom == exchangeRateDate;
}
if (exchangeRate)
{
if (_updateExchangeRate)
{
exchangeRate.ExchangeRate = _exchangeRate;
exchangeRate.update();
}
}
else
{
if (_insertExchangeRate)
{
if (!exchangeRateCurrencyPair)
{
exchangeRateCurrencyPair.FromCurrencyCode = _fromCurrencyCode;
exchangeRateCurrencyPair.ToCurrencyCode = _toCurrencyCode;
exchangeRateCurrencyPair.ExchangeRateType = _exchangeRateTypeRecId;
if (_exchangeRateDisplayFactor)
{
exchangeRateCurrencyPair.ExchangeRateDisplayFactor = _exchangeRateDisplayFactor;
}
exchangeRateCurrencyPair.insert();
}
exchangeRate.clear();
exchangeRate.ExchangeRateCurrencyPair = exchangeRateCurrencyPair.RecId;
exchangeRate.ExchangeRate = _exchangeRate;
exchangeRate.ValidFrom = _exchangeRateDate;
if (_exchangeRateDisplayFactor)
{
exchangeRateCurrencyPair.ExchangeRateDisplayFactor = _exchangeRateDisplayFactor;
}
exchangeRate.insert();
}
}
}
ttscommit;
}
No comments:
Post a Comment