project QadFinancials > class BPosting > method AddTaxPostingFillCCAmounts

Description

fill the cc amounts of posting line and posting vat


Parameters


iiCurrencyIdinputintegerCurrency ID
idExchangeRateinputdecimalExchange Rate
idExchangeRateScaleinputdecimalexchange rate scale
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BPosting.AddTaxPostingDetail


program code (program6/bposting.p)

assign oiReturnStatus      = -98
       viLocalReturnStatus = 0.

/* ============================================================ */
/* Currency: CC = TC --> amounts: CC = TC                       */
/* Currency: DomainIsStatutory = false --> amounts: CC = LC     */
/* Currency: CC <> TC & DomainIsStatutory --> CC = TC * SC-Rate */
/* ============================================================ */
if viCompanyCCId <> 0 and viCompanyCCId <> ?
then do:
    if viCompanyCCId = iiCurrencyId
    then assign tPostingLine.PostingLineDebitCC    = tPostingLine.PostingLineDebitTC
                tPostingLine.PostingLineCreditCC   = tPostingLine.PostingLineCreditTC
                tPostingLine.PostingLineCCRate     = 1
                tPostingLine.PostingLineCCScale    = 1
                tPostingVat.PostingVatTaxDebitCC   = tPostingVat.PostingVatTaxDebitTC
                tPostingVat.PostingVatTaxCreditCC  = tPostingVat.PostingVatTaxCreditTC
                tPostingVat.PostingVatBaseDebitCC  = tPostingVat.PostingVatBaseDebitTC
                tPostingVat.PostingVatBaseCreditCC = tPostingVat.PostingVatBaseCreditTC.
    else if vlDomainIsStatutory = false
         then assign tPostingLine.PostingLineDebitCC    = tPostingLine.PostingLineDebitLC
                     tPostingLine.PostingLineCreditCC   = tPostingLine.PostingLineCreditLC
                     tPostingLine.PostingLineCCRate     = tPostingLine.PostingLineExchangeRate
                     tPostingLine.PostingLineCCScale    = tPostingLine.PostingLineRateScale
                     tPostingVat.PostingVatTaxDebitCC   = tPostingVat.PostingVatTaxDebitLC
                     tPostingVat.PostingVatTaxCreditCC  = tPostingVat.PostingVatTaxCreditLC
                     tPostingVat.PostingVatBaseDebitCC  = tPostingVat.PostingVatBaseDebitLC
                     tPostingVat.PostingVatBaseCreditCC = tPostingVat.PostingVatBaseCreditLC.
         else assign tPostingLine.PostingLineCCRate     = idExchangeRate
                     tPostingLine.PostingLineCCScale    = idExchangeRateScale.
                     if tPostingLine.PostingLineDebitTC <> 0  then                     
                     tPostingLine.PostingLineDebitCC    = 
                        <M-1 RoundAmount
                           (input  tPostingLine.PostingLineDebitTC  * idExchangeRate * idExchangeRateScale (idUnroundedAmount), 
                            input  viCompanyCCId (iiCurrencyID), 
                            input  '':U (icCurrencyCode)) in business>.
                     if tPostingLine.PostingLineCreditTC <> 0 then       
                     tPostingLine.PostingLineCreditCC   = 
                        <M-2 RoundAmount
                           (input  tPostingLine.PostingLineCreditTC * idExchangeRate * idExchangeRateScale (idUnroundedAmount), 
                            input  viCompanyCCId (iiCurrencyID), 
                            input  '':U (icCurrencyCode)) in business>.
                     if tPostingVat.PostingVatTaxDebitTC <> 0 then       
                     tPostingVat.PostingVatTaxDebitCC  = 
                        <M-3 RoundAmount
                           (input  tPostingVat.PostingVatTaxDebitTC * idExchangeRate * idExchangeRateScale (idUnroundedAmount), 
                            input  viCompanyCCId (iiCurrencyID), 
                            input  '':U (icCurrencyCode)) in business>.
                     if tPostingVat.PostingVatTaxCreditTC <> 0 then        
                     tPostingVat.PostingVatTaxCreditCC = 
                        <M-4 RoundAmount
                           (input  tPostingVat.PostingVatTaxCreditTC * idExchangeRate * idExchangeRateScale (idUnroundedAmount), 
                            input  viCompanyCCId (iiCurrencyID), 
                            input  '':U (icCurrencyCode)) in business>.
                     if tPostingVat.PostingVatBaseDebitTC <> 0 then       
                     tPostingVat.PostingVatBaseDebitCC  = 
                        <M-5 RoundAmount
                           (input  tPostingVat.PostingVatBaseDebitTC * idExchangeRate * idExchangeRateScale (idUnroundedAmount), 
                            input  viCompanyCCId (iiCurrencyID), 
                            input  '':U (icCurrencyCode)) in business>.
                     if tPostingVat.PostingVatBaseCreditTC <> 0 then        
                     tPostingVat.PostingVatBaseCreditCC = 
                        <M-6 RoundAmount
                           (input  tPostingVat.PostingVatBaseCreditTC * idExchangeRate * idExchangeRateScale (idUnroundedAmount), 
                            input  viCompanyCCId (iiCurrencyID), 
                            input  '':U (icCurrencyCode)) in BApplicationProperty>.
end. /* if viCompanyCCId <> 0 and viCompanyCCId <> ? */

assign oiReturnStatus = viLocalReturnStatus.