project QadFinancials > class BYearClosing > method AdditionalUpdatesPostingTaxAccount

Description

Add a default tax line to a postingline on a tax account.


Parameters


iiCompanyIdinputinteger
icDefaultTaxCodeinputcharacter
icPostingtcRowidinputcharacter
iiPostingLineIdinputinteger
icCurrencyCodeinputcharacter
itTaxPointDateinputdate
icTaxGLCodeinputcharacter
idExchangeRateinputdecimal
idCCExchangeRateinputdecimal
idCCExchangeRateScaleinputdecimal
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BYearClosing.AdditionalUpdatesPostingCloseOpenBS
method BYearClosing.AdditionalUpdatesPostingCloseOpenPL


program code (program5/byearclosing.p)

assign viLocalReturnStatus = oiReturnStatus
       oiReturnStatus      = -98.

empty temp-table tYearClosingTaxDetailPosting.

/* Get the domain of the year closing company */
<Q-1 run DomainsForCompanies (all) (Read) (NoCache)
   (input 0, (DomainId)
    input '':U, (DomainCode)
    input iiCompanyId, (CompanyId)
    output dataset tqDomainsForCompanies) in BDomain >
find tqDomainsForCompanies where
     tqDomainsForCompanies.tiCompany_id = iiCompanyId
     no-lock no-error.
if not available tqDomainsForCompanies
then do:
    assign vcMessage  = trim(substitute(#T-4'The domain could not be found for an entity (Entity ID = &1).':255(63326)t-4#, trim(string(iiCompanyId)) ))
           oiReturnStatus = -3.
    <M-2 run SetMessage
       (input  vcMessage (icMessage), 
        input  '':U (icArguments), 
        input  '':U (icFieldName), 
        input  '':U (icFieldValue), 
        input  'S':U (icType), 
        input  1 (iiSeverity), 
        input  '':U (icRowid), 
        input  'QadFin-6860':U (icFcMsgNumber), 
        input  '':U (icFcExplanation), 
        input  '':U (icFcIdentification), 
        input  '':U (icFcContext), 
        output viFcReturnSuper (oiReturnStatus)) in BYearClosing>
    return.
end. /* if not available tqDomainsForCompanies */

create tYearClosingTaxDetailPosting.
assign tYearClosingTaxDetailPosting.tx2d_domain   = tqDomainsForCompanies.tcDomainCode
       tYearClosingTaxDetailPosting.tx2d_tax_code = icDefaultTaxCode
       tYearClosingTaxDetailPosting.tx2d_tr_type  = {&VATTAXTRANSACTIONTYPE-APVOUCHER}.

/* Retrieve PostingLine Rowid */
<M-6 run GetPostingLineRowidBasedOnPostingLineID
   (input  iiPostingLineId (iiPostingLineID), 
    output vcPostingLineRowid (ocPostingLineRowid), 
    output viFcReturnSuper (oiReturnStatus)) in BJournalEntry>
if viFcReturnSuper <> 0 and viLocalReturnStatus >= 0
then assign viLocalReturnStatus = viFcReturnSuper.                           

<M-3 run AddTaxPosting
   (input  icPostingtcRowid (icPostingtcRowid), 
    input  vcPostingLineRowid (icPostingLineTcRowid), 
    input  itTaxPointDate (itTaxPointDate), 
    input  trim(#T-5'Default Tax':100(63325)T-5#) (icDescription), 
    input  icCurrencyCode (icCurrencyCode), 
    input  0 (iiCurrencyId), 
    input  {&EXCHANGERATETYPE-ACCOUNTING} (icExchangeRateType), 
    input  idExchangeRate (idExchangeRate), 
    input  1 (idExchangeRateScale), 
    input  idCCExchangeRate (idCCRate), 
    input  idCCExchangeRateScale (idCCRateScale), 
    input  0 (idBaseDebit), 
    input  0 (idBaseCredit), 
    input  0 (idFullDebit), 
    input  0 (idFullCredit), 
    input  {&INVOICETYPE-INVOICE} (icInvoiceType), 
    input  false (ilCalculateVat), 
    input-output tYearClosingTaxDetailPosting (tTaxDetailPosting), 
    input  '':U (icCaller), 
    input  false (ilIsVatDelay), 
    input  '':U (icDivisionCode), 
    input  '':U (icVatCurrencyCode), 
    input  0 (iiVatCurrencyId), 
    input  1 (idVatExchangeRate), 
    input  1 (idVatExchangeRateScale), 
    input  {&VATTRANSACTIONTYPE-PURCHASE} (icTransactionType), 
    input  '':U (icTxclTaxCls), 
    input  '':U (icTxuTaxUsage), 
    input  '':U (icFromTxzTaxZone), 
    input  '':U (icToTxzTaxZone), 
    input  '':U (icTxenvTaxEnv), 
    input  '':U (icDocumentReference), 
    input  '':U (icDocumentNumber), 
    input  '':U (icPaymentCondition), 
    input  false (ilIsTaxInCityFromCompany), 
    input  false (ilIsTaxInCityFromShipTo), 
    input  true (ilCustomerInvoice), 
    input  '':U (icControlGLCode), 
    input  0 (iiMasterId), 
    input  0 (iiTransactionId), 
    input  icTaxGLCode (icTaxGLCode), 
    input  false (ilIsTaxable), 
    input  0 (idAdjustmentFactor), 
    input  '':U (icCostCentreCode), 
    input  '':U (icProjectCode), 
    input  0 (iiShipFromAddressId), 
    input  0 (iiShipToAddressId), 
    input  {&VATTAXTRANSACTIONTYPE-APVOUCHER} (icTaxTransactionType), 
    input  '':U (icSoldToDebtorCode), 
    input-output iiPostingLineId (biFirstVatPostingLineId), 
    output viDummyPostingLineID (oiSecondVatPostingLineId), 
    output vcDummy (ocPostingLineIds), 
    input  false (ilLinkedCrCyDaemonReqExists), 
    output viFcReturnSuper (oiReturnStatus)) in BJournalEntry>

if viFcReturnSuper <> 0 and viLocalReturnStatus >= 0
then assign viLocalReturnStatus = viFcReturnSuper.                           

assign oiReturnStatus = viLocalReturnStatus.