Table 330 "Currency Exchange Rate"
Base Application · Microsoft.Finance.Currency
Across versions
- BC23present
- BC24declaration changed
- BC251 fields changed, 1 events added
- BC26-27unchanged
- BC284 fields changed
- BC298 fields changed, 7 events added
- BC30unchanged
Neighbourhood 7 connected objects and pages
Base Application · Microsoft.Finance.Currency · BC23-30 · source at ea08af5e · facts from BC29
Learn documents this table through its pages: Page 30085 “APIV2- Currency Exchange Rates” (2 Learn pages), Page 483 “Currency Exchange Rates” (1).
Properties
| Property | Value |
|---|---|
| Caption | Currency Exchange Rate |
| DataClassification | CustomerContent |
Fields
Explanation: the field’s ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.
| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Currency Code Δ BC29 | Code[10] | Specifies the code of the currency on this line. | TableRelation Table 4 “Currency”; not editable; NotBlank |
| 2 | Starting Date Δ BC29 | Date | Specifies the date on which the exchange rate on this line comes into effect. | NotBlank |
| 3 | Exchange Rate Amount Δ BC28 Δ BC29 | Decimal | Specifies the amounts that are used to calculate exchange rates for the currency on this line. | |
| 4 | Adjustment Exch. Rate Amount Δ BC28 Δ BC29 | Decimal | Specifies the amounts that are used to calculate exchange rates that will be used by the Adjust Exchange Rates batch job. | |
| 5 | Relational Currency Code Δ BC29 | Code[10] | Specifies how you want to set up the two currencies, one of the currencies can be LCY, for which you want to register exchange rates. | TableRelation Table 4 “Currency” |
| 6 | Relational Exch. Rate Amount Δ BC28 Δ BC29 | Decimal | Specifies the amounts that are used to calculate exchange rates for the foreign currency on this line. | |
| 7 | Fix Exchange Rate Amount Δ BC25 Δ BC29 | Enum “Fix Exch. Rate Amount Type” | Specifies if the currency’s exchange rate can be changed on invoices and journal lines. | enum Enum 330 “Fix Exch. Rate Amount Type” |
| 8 | Relational Adjmt Exch Rate Amt Δ BC28 Δ BC29 | Decimal | Specifies the amounts that are used to calculate exchange rates that will be used by the Adjust Exchange Rates batch job. |
Keys
- Key1: Currency Code, Starting Date (clustered)
Events published
OnAfterFindCurrency(var CurrencyExchangeRate: Record "Currency Exchange Rate"; var CurrencyExchangeRateArray: array[2] of Record "Currency Exchange Rate"; Date: Date; CurrencyCode: Code[10]; CacheNo: Integer)(integration)OnExchangeAmtFCYToLCYOnAfterSetRelationalExchRateAmount(var CurrencyExchangeRate: Record "Currency Exchange Rate")(integration)OnFindCurrencyOnAfterCalcShouldUseCache(var CurrencyExchangeRate: Record "Currency Exchange Rate"; CacheNo: Integer; var ShouldUseCache: Boolean)(integration)OnFindCurrencyOnAfterCurrencyExchRate2SetFilters(var CurrencyExchRate2: Record "Currency Exchange Rate"; CurrencyCode: Code[10]; Date: Date; var CurrencyExchangeRate: Record "Currency Exchange Rate")(integration)OnExchangeRateOnAfterSetRelationalExchRateAmount(var CurrencyExchangeRate: Record "Currency Exchange Rate")(integration)OnFindCurrency2OnAfterCurrencyExchRate3SetFilters(var CurrencyExchRate3: Record "Currency Exchange Rate"; CurrencyCode: Code[10]; Date: Date; var CurrencyExchangeRate: Record "Currency Exchange Rate")+ BC25 (integration)OnBeforeExchangeAmtLCYToFCY(var CurrencyExchangeRate: Record "Currency Exchange Rate"; Date: Date; CurrencyCode: Code[10]; var Amount: Decimal; Factor: Decimal; var RelExchangeRateAmt: Decimal; var ExchangeRateAmt: Decimal; var RelCurrencyCode: Code[10]; FixExchangeRateAmt: Enum "Fix Exch. Rate Amount Type"; var IsHandled: Boolean)+ BC29 (integration)OnBeforeExchangeAmtFCYToLCY(var CurrencyExchangeRate: Record "Currency Exchange Rate"; Date: Date; CurrencyCode: Code[10]; var Amount: Decimal; Factor: Decimal; UseAdjmtAmounts: Boolean; var RelExchangeRateAmt: Decimal; var ExchangeRateAmt: Decimal; var RelCurrencyCode: Code[10]; FixExchangeRateAmt: Enum "Fix Exch. Rate Amount Type"; var IsHandled: Boolean)+ BC29 (integration)OnBeforeExchangeRate(var CurrencyExchangeRate: Record "Currency Exchange Rate"; Date: Date; CurrencyCode: Code[10]; var CurrencyFactor: Decimal; UseAdjmtAmounts: Boolean; var RelExchangeRateAmt: Decimal; var ExchangeRateAmt: Decimal; var RelCurrencyCode: Code[10]; var IsHandled: Boolean)+ BC29 (integration)OnBeforeExchangeAmtFCYToFCY(var CurrencyExchangeRate: Record "Currency Exchange Rate"; Date: Date; FromCurrencyCode: Code[10]; ToCurrencyCode: Code[10]; var Amount: Decimal; CurrencyExchRate3: array[3] of Record "Currency Exchange Rate"; var IsHandled: Boolean)+ BC29 (integration)OnBeforeApplnExchangeAmtFCYToFCY(var CurrencyExchangeRate: Record "Currency Exchange Rate"; Date: Date; FromCurrencyCode: Code[10]; ToCurrencyCode: Code[10]; var Amount: Decimal; var ExchRateFound: Boolean; CurrencyExchRate3: array[3] of Record "Currency Exchange Rate"; var IsHandled: Boolean)+ BC29 (integration)OnBeforeGetLatestExchangeRate(var CurrencyExchangeRate: Record "Currency Exchange Rate"; CurrencyCode: Code[10]; var Date: Date; var Amount: Decimal; var IsHandled: Boolean)+ BC29 (integration)OnBeforeSetCurrentCurrencyFactor(var CurrencyExchangeRate: Record "Currency Exchange Rate"; CurrencyCode: Code[10]; CurrencyFactor: Decimal; var IsHandled: Boolean)+ BC29 (integration)
Procedures
ExchangeAmtLCYToFCY(Date: Date; CurrencyCode: Code[10]; Amount: Decimal; Factor: Decimal): DecimalExchangeAmtFCYToLCY(Date: Date; CurrencyCode: Code[10]; Amount: Decimal; Factor: Decimal): DecimalExchangeRate(Date: Date; CurrencyCode: Code[10]): DecimalExchangeAmtLCYToFCYOnlyFactor(Amount: Decimal; Factor: Decimal): DecimalExchangeAmtFCYToLCYAdjmt(Date: Date; CurrencyCode: Code[10]; Amount: Decimal; Factor: Decimal): DecimalExchangeRateAdjmt(Date: Date; CurrencyCode: Code[10]): DecimalExchangeAmount(Amount: Decimal; FromCurrencyCode: Code[10]; ToCurrencyCode: Code[10]; UsePostingDate: Date): DecimalFindCurrency(Date: Date; CurrencyCode: Code[10]; CacheNo: Integer)ExchangeAmtFCYToFCY(Date: Date; FromCurrencyCode: Code[10]; ToCurrencyCode: Code[10]; Amount: Decimal): DecimalApplnExchangeAmtFCYToFCY(Date: Date; FromCurrencyCode: Code[10]; ToCurrencyCode: Code[10]; Amount: Decimal; var ExchRateFound: Boolean): DecimalGetCurrentCurrencyFactor(CurrencyCode: Code[10]): DecimalGetLastestExchangeRate(CurrencyCode: Code[10]; var Date: Date; var Amt: Decimal)CurrencyExchangeRateExist(CurrencyCode: Code[10]; Date: Date): BooleanSetCurrentCurrencyFactor(CurrencyCode: Code[10]; CurrencyFactor: Decimal)
Plus 2 local procedures.
Relations
- drill-down page Page 483 “Currency Exchange Rates”
- lookup page Page 483 “Currency Exchange Rates”
- Currency Code: TableRelation Table 4 “Currency”
- Relational Currency Code: TableRelation Table 4 “Currency”
Pages and codeunits on this table
- Page 30085 “APIV2- Currency Exchange Rates” (source table)
- Page 483 “Currency Exchange Rates” (source table)
Extended by
Countries that replace it
Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).
Ask your agent
Procedure bodies are not stored here (D10). For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "table", object_name: "Currency Exchange Rate"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.