Issue 2369: Exchange rates need to be date based. (currency-rtf) Source: (, ) Nature: Revision Severity: Summary: Summary: In Fbc: Need the ability to have date based exchange rates and for the manager to manage date based exchange rates. - Since we need to start accounting for dates for exchange of currencies and also for doing multi-currency money calculations, it would be nice to add settings on the ExchangeRateManager that is state based that allows for client configuration. Resolution: resolved by Currency 2RTF Revised Text: Resolution: Adding operations and text for the ExchangeRateManager to be able to handle date based ExchangeRate, spec. changes for ExchangeRate is covered in issue number 2391. Since the ExchangeRate is now date based, when doing Money calculations, exchanges, or exchange rate retrievals the facility needs to know the point in time and rate type the client wants used in order for the facility to grab the correct rate. There need to be new operations to handle this. Revised Text: In section 2.3.11 change the idl from: ExchangeRate createExchangeRate(in wstring rateTypeId, in wstring sourceCurrencyMnemonic, in wstring targetCurrencyMnemonic, in CBO::DDecimal conversionFactor) raises(FbcException); To: ExchangeRate createExchangeRate(in wstring rateTypeId, in wstring sourceCurrencyMnemonic, in wstring targetCurrencyMnemonic, in CBO::DDecimal conversionFactor, in CBO::DTime beginDateTime, in CBO::DTime endDateTime) raises(FbcException); Add the following section before the Retrieval Method section of the ExchangeRateManager: Configuration Manipulation void setPointInTime(in long stateIdentifier, in CBO::Time pointInTime) raises(FbcException); CBO::Time getPointInTime (in long stateIdentifier) raises(FbcException); The point in time setting is used when attempting to retrieve exchange rates as well as during MoneyCalculations, for a given stateIdentifier. Exchange rates will be retrieved for the appropriate rate type, source currency mnemonic, and target currency mnemonic where their beginDateTime >= pointInTime <= endDateTime. There are no restrictions on the specific moment in time that pointInTime represents. The vendor is responsible for providing, and documenting, the default point in time value, to support the case where it is needed by this component, but has not yet been assigned (via setPointInTime()). void setRateType(in long stateIdentifier, in wstring rateTypeID) raises(FbcException); wstring getRateType(in long stateIdentifier) raises(FbcException); The rate type setting is used when attempting to retrieve exchange rates as well as during MoneyCalculations, for a given stateIdentifier. Exchange rates will be retrieved for the appropriate point in time, source currency mnemonic, and target currency mnemonic where their rate type matches rateTypeID. There are no restrictions on the specific rate type that rateTypeID represents. The vendor must be able to support rateTypeID being at least 10 wide characters in length. The vendor is responsible for providing, and documenting, the default rate type value, to support the case where it is needed by this component, but has not yet been assigned (via setRateType()). Revised IDL: In the idl for the ExchangeRateManager change the createExchangeRate operation from: ExchangeRate createExchangeRate(in wstring rateTypeId, in wstring sourceCurrencyMnemonic, in wstring targetCurrencyMnemonic, in CBO::DDecimal conversionFactor) raises(FbcException); To: ExchangeRate createExchangeRate(in wstring rateTypeId, in wstring sourceCurrencyMnemonic, in wstring targetCurrencyMnemonic, in CBO::DDecimal conversionFactor, in CBO::DTime beginDateTime, in CBO::DTime endDateTime) raises(FbcException); Add the following operations to the ExchangeRateManager interface in the Consolidated IDL (Appendix A.1) before the getExchangeRate operation: void setPointInTime(in long stateIdentifier, in CBO::Time pointInTime) raises(FbcException); CBO::Time getPointInTime (in longObject stateIdentifier) raises(FbcException); void setRateType(in long stateIdentifier, in wstring rateTypeID) raises(FbcException); wstring getRateType(in long stateIdentifier) raises(FbcException); Actions taken: January 11, 1999: received issue May 4, 2000: closed issue Discussion: End of Annotations:===== Return-Path: From: Robert_Mickley@CYBORG.COM X-Lotus-FromDomain: CYBORG@CYBORG_NET To: issues@omg.org cc: Robert_Mickley@CYBORG.COM, Amy_Griffis@CYBORG.COM Date: Mon, 11 Jan 1999 21:28:52 -0700 Subject: Currency RTF Issues Content-Disposition: inline Today is the deadline for comments for the Currency RTF. Below is an itemized list of additions to that list. Issue Title: Exchange rates need to be date based. Issue Type: IDL Revision Issue Description: - In Fbc: Need the ability to have date based exchange rates and for the manager to manage date based exchange rates. - Since we need to start accounting for dates for exchange of currencies and also for doing multi-currency money calculations, it would be nice to add settings on the ExchangeRateManager that is state based that allows for client configuration.