project QadFinancials > class BVAT > method GetTaxEnvAndCalculateTaxByItemClass

Description

Calculate the tax amounts to post, based on an input amount with or without tax. It is different with GetTaxEnviormentAndCalculateTax. it will use different class to retrieve env and rate.


Parameters


icShipFromTaxZoneinputcharacter
icShipToTaxZoneinputcharacter
icTxclTaxClsinputcharacter
icCurrencyCodeinputcharacter
icTransactionTypeinputcharacter
icDocumentReferenceinputcharacter
icDocumentNumberinputcharacter
ilTaxIsIncludedinputlogical
itTaxPointDateinputdate
itPostingDateinputdate
icTaxUsageCodeinputcharacter
idAmountTCinputdecimal
idExchangeRateScaleinputdecimal
idExchangeRateinputdecimal
icCompanyCodeinputcharacter
icPaymentConditioninputcharacter
ilIsTaxInCityFromCompanyinputlogical
ilIsTaxInCityFromShipToinputlogical
ilIsTaxableinputlogical
idAdjustmentFactorinputdecimal
iiShipFromAddressIDinputinteger
iiShipToAddressIDinputinteger
icCustomerCodeinputcharacter
icInvoiceTypeinputcharacter
icItemTaxClassinputcharacter
tTaxDetailinput-outputtemp-table
tTaxParametersExtVAToutputtemp-table
ocTxenvTaxEnvoutputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BCDocument.CalculateBankChargeTax


program code (program7/bvat.p)

<I-57 {bFcStartAndOpenInstance
     &CLASS                = "PGTM"}>

<M-15 run GetTaxEnvironment
   (input  false (ilStartAndOpenPGTM), 
    input  icShipFromTaxZone (icShipFromTaxZone), 
    input  icShipToTaxZone (icShipToTaxZone), 
    input  icTxclTaxCls (icTxclTaxCls), 
    output ocTxenvTaxEnv (ocTxenvTaxEnv), 
    output viFcReturnSuper (oiReturnStatus)) in BVAT>

if viFcReturnSuper >= 0
then do:
    <M-2 run CalculateTax
       (input  false (ilStartAndOpenPGTM), 
        input  icCurrencyCode (icCurrencyCode), 
        input  icTransactionType (icTransactionType), 
        input  icDocumentReference (icDocumentReference), 
        input  icDocumentNumber (icDocumentNumber), 
        input  ilTaxIsIncluded (ilTaxIsIncluded), 
        input  itTaxPointDate (itTaxPointDate), 
        input  itPostingDate (itPostingDate), 
        input  ocTxenvTaxEnv (icTaxEnvCode), 
        input  icShipFromTaxZone (icFromTaxZoneCode), 
        input  icShipToTaxZone (icToTaxZoneCode), 
        input  icItemTaxClass (icTaxClassCode), 
        input  icTaxUsageCode (icTaxUsageCode), 
        input  idAmountTC (idAmountTC), 
        input  idExchangeRateScale (idExchangeRateScale), 
        input  idExchangeRate (idExchangeRate), 
        input  icCompanyCode (icCompanyCode), 
        input  icPaymentCondition (icPaymentCondition), 
        input  ilIsTaxInCityFromCompany (ilIsTaxInCityFromCompany), 
        input  ilIsTaxInCityFromShipTo (ilIsTaxInCityFromShipTo), 
        input  ilIsTaxable (ilIsTaxable), 
        input  idAdjustmentFactor (idAdjustmentFactor), 
        input  iiShipToAddressID (iiShipToAddressID), 
        input  iiShipFromAddressID (iiShipFromAddressID), 
        input  icCustomerCode (icCustomerCode), 
        input  icInvoiceType (icInvoiceType), 
        input-output tTaxDetail (tTaxDetail), 
        output tTaxParametersExtVAT (tTaxParametersExtVAT), 
        output viFcReturnSuper (oiReturnStatus)) in BVAT>
end.
    
if viFcReturnSuper < 0 or
   oiReturnStatus  = 0
then assign oiReturnStatus = viFcReturnSuper.

<I-25 {bFcCloseAndStopInstance
     &CLASS           = "PGTM"}>