project QadFinancials > class BBLWIReport > method CreateBWLIReportFromDInvoices

Description

This method is called by the report method DocumentBLWIReport. Since the report method is not used, this method is also obsolete.


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BBLWIReport.DocumentBLWIReport


program code (program3/bblwireport.p)

<Q-1 run DInvoiceForBLWIReport (all) (Read) (NoCache)
   (input viCompanyId, (CompanyId)
    input vcCountryCodeBE, (CountryCode)
    input TRUE, (IsOpen)
    input int(vcYearPeriod), (YearPeriod)
    output dataset tqDInvoiceForBLWIReport) in BBLWIReport >
for each tqDInvoiceForBLWIReport:
    if tqDInvoiceForBLWIReport.tcBLWICountryCode = "":U
    then assign vcCountryCode = tqDInvoiceForBLWIReport.tcCountryCode.
    else assign vcCountryCode = tqDInvoiceForBLWIReport.tcBLWICountryCode.
    find first tBWLIReport where tBWLIReport.tcBWLICountryCode = tqDInvoiceForBLWIReport.tcCountryCode
                                 exclusive-lock no-error.
    if not available tBWLIReport
    then do:
        create tBWLIReport.
        assign tBWLIReport.tcBWLICountryCode        = vcCountryCode
               tBWLIReport.tcBWLICountryDescription = if tqDInvoiceForBLWIReport.tcBLWICountryCode = ""
                                                      then tqDInvoiceForBLWIReport.tcCountryDescription
                                                      else "":U.
    end. /* find first tBWLIReport */
    case tqDInvoiceForBLWIReport.tcCurrencyCode:
      when "EUR":U then assign tBWLIReport.tdAmountEUR     = tBWLIReport.tdAmountEUR + (tqDInvoiceForBLWIReport.tdDInvoiceBalanceLC * 1).
      when "CHF":U then assign tBWLIReport.tdAmountCHF_EUR = tBWLIReport.tdAmountCHF_EUR + (tqDInvoiceForBLWIReport.tdDInvoiceBalanceLC * 1)
                               tBWLIReport.tdAmountCHF     = tBWLIReport.tdAmountCHF + (tqDInvoiceForBLWIReport.tdDInvoiceBalanceTC * 1).
      when "GBP":U then assign tBWLIReport.tdAmountGBP_EUR = tBWLIReport.tdAmountGBP_EUR + (tqDInvoiceForBLWIReport.tdDInvoiceBalanceLC * 1)
                               tBWLIReport.tdAmountGBP     = tBWLIReport.tdAmountGBP + (tqDInvoiceForBLWIReport.tdDInvoiceBalanceTC * 1).
      when "JPY":U then assign tBWLIReport.tdAmountJPY_EUR = tBWLIReport.tdAmountJPY_EUR + (tqDInvoiceForBLWIReport.tdDInvoiceBalanceLC * 1)
                               tBWLIReport.tdAmountJPY     = tBWLIReport.tdAmountJPY + (tqDInvoiceForBLWIReport.tdDInvoiceBalanceTC * 1).
      when "USD":U then assign tBWLIReport.tdAmountUSD_EUR = tBWLIReport.tdAmountUSD_EUR + (tqDInvoiceForBLWIReport.tdDInvoiceBalanceLC * 1)
                               tBWLIReport.tdAmountUSD     = tBWLIReport.tdAmountUSD + (tqDInvoiceForBLWIReport.tdDInvoiceBalanceTC * 1).
      otherwise do:
        <M-73 run GetExchangeRate
           (input  ? (iiCompanyID), 
            input  ? (iiFromCurrencyID), 
            input  tqDInvoiceForBLWIReport.tcCurrencyCode (icFromCurrencyCode), 
            input  viCompanyLCId (iiToCurrencyID), 
            input  ? (icToCurrencyCode), 
            input  ? (iiExchangeRateTypeID), 
            input  {&EXCHANGERATETYPE-ACCOUNTING} (icExchangeRateTypeCode), 
            input  tqDInvoiceForBLWIReport.ttDInvoicePostingDate (itValidityDate), 
            output vdRateCurrency (odExchangeRate), 
            output vdRateScaleCurrency (odExchangeScaleFactor), 
            output viFcReturnSuper (oiReturnStatus)) in BBLWIReport>
        assign tBWLIReport.tdAmountOTHER_EUR = tBWLIReport.tdAmountOther_EUR + (tqDInvoiceForBLWIReport.tdDInvoiceBalanceLC * vdRateCurrency * 1).
      end.
    end case. /* case tqDInvoiceForBLWIReport.tcCurrencyCode: */
end. /* for each tqDInvoiceForBLWIReport */