Description
Return the Exchange Rate based on the selected Currency Code and the end date of the selected ?o period?
Parameters
icRowid | input | character | |
icCurrencyCode | input | character | |
iiToPeriodYear | input | integer | |
iiToPeriodPeriod | input | integer | |
odConsolidDumpRate | output | decimal | |
odConsolidDumpRateScale | output | decimal | |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program2/bconsoliddump.p)
If icRowID = ?
Then Assign icRowID = "":U.
If icRowID = "":U
Then Return.
Find bConsolidDump Where
bConsolidDump.tc_Rowid = icRowID
No-error.
If Not Available bConsolidDump
Then Return.
If iiToPeriodPeriod = 0 Or iiToPeriodPeriod = ? Or
iiToPeriodYear = 0 Or iiToPeriodYear = ?
Then Return.
If bConsolidDump.tcCurrencyCode <> icCurrencyCode
Then Assign bConsolidDump.tcCurrencyCode = icCurrencyCode
bConsolidDump.ConsolidDumpConsolRate = 0
bConsolidDump.ConsolidDumpConsolRteScale = 0.
If vcCompanyLC = bConsolidDump.tcCurrencyCode
Then Assign bConsolidDump.ConsolidDumpConsolRate = 1
bConsolidDump.ConsolidDumpConsolRteScale = 1.
If bConsolidDump.ConsolidDumpConsolRate = 0
Then Do:
<Q-1 run PeriodByYearPeriod (all) (Read) (NoCache)
(input viCompanyId, (CompanyId)
input iiToPeriodYear, (PeriodYear)
input iiToPeriodPeriod, (PeriodPeriod)
input ?, (PeriodId)
output dataset tqPeriodByYearPeriod) in BPeriod >
Find First tqPeriodByYearPeriod No-error.
If Available tqPeriodByYearPeriod
Then Do:
<M-72 run GetExchangeRate
(input ? (iiCompanyID),
input viCompanyLCId (iiFromCurrencyID),
input ? (icFromCurrencyCode),
input ? (iiToCurrencyID),
input bConsolidDump.tcCurrencyCode (icToCurrencyCode),
input ? (iiExchangeRateTypeID),
input {&EXCHANGERATETYPE-ACCOUNTING} (icExchangeRateTypeCode),
input tqPeriodByYearPeriod.ttPeriodEndDate (itValidityDate),
output bConsolidDump.ConsolidDumpConsolRate (odExchangeRate),
output bConsolidDump.ConsolidDumpConsolRteScale (odExchangeScaleFactor),
output viFcReturnSuper (oiReturnStatus)) in BConsolidDump>
If viFcReturnSuper <> 0
Then Assign oiReturnStatus = viFcReturnSuper.
If oiReturnStatus < 0
Then Return.
End.
End.
Assign odConsolidDumpRate = bConsolidDump.ConsolidDumpConsolRate
odConsolidDumpRateScale = bConsolidDump.ConsolidDumpConsolRteScale.