project QadFinancials > class BConsolidDump > method DefaultValuesCurrencyCode

Description

Return the Exchange Rate based on the selected Currency Code and the end date of the selected ?o period?


Parameters


icRowidinputcharacter
icCurrencyCodeinputcharacter
iiToPeriodYearinputinteger
iiToPeriodPeriodinputinteger
odConsolidDumpRateoutputdecimal
odConsolidDumpRateScaleoutputdecimal
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BConsolidDump.InitialValues


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.