project QadFinancials > class BCInvoice > method ReverseCInvoiceSubTables

Description

submethod of ReverseCInvoice : contains the reversal of CInvoiceVat, CInvoiceBank and CInvoiceStage and CInvoiceWHT


Parameters


icCInvoiceRowIdinputcharacterRowid of the Invoice
ilReverseBySigninputlogicalIs it reverse by sign or not ?
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BCInvoice.ReverseCInvoice


program code (program3/bcinvoice.p)

    
    /* ========================================================================================================== */
    /* Reverse subtables created for original invoice being reversed and attach this new subtables to new invoice */
    /* ========================================================================================================== */
    /* Parameters:   (I)  NewCInvoiceRowId      RowId of new invoice which reverse original one                   */
    /*               (I)  ReverseBySign         Reverse by sign                                                   */
    /* ========================================================================================================== */
    assign oiReturnStatus = -98.
           
    for each tCInvoiceVat where
             tCInvoiceVat.tc_ParentRowid = icCInvoiceRowId :
        
        if ilReverseBySign
        then assign tCInvoiceVat.CInvoiceVatVatBaseDebitTC    = - tCInvoiceVat.CInvoiceVatVatBaseDebitTC
                    tCInvoiceVat.CInvoiceVatVatBaseDebitLC    = - tCInvoiceVat.CInvoiceVatVatBaseDebitLC
                    tCInvoiceVat.CInvoiceVatVatBaseDebitCC    = - tCInvoiceVat.CInvoiceVatVatBaseDebitCC
                    tCInvoiceVat.tdCInvoiceVatVatBaseDebitVC  = - tCInvoiceVat.tdCInvoiceVatVatBaseDebitVC
                    tCInvoiceVat.CInvoiceVatVatBaseCreditTC   = - tCInvoiceVat.CInvoiceVatVatBaseCreditTC
                    tCInvoiceVat.CInvoiceVatVatBaseCreditLC   = - tCInvoiceVat.CInvoiceVatVatBaseCreditLC
                    tCInvoiceVat.CInvoiceVatVatBaseCreditCC   = - tCInvoiceVat.CInvoiceVatVatBaseCreditCC
                    tCInvoiceVat.tdCInvoiceVatVatBaseCreditVC = - tCInvoiceVat.tdCInvoiceVatVatBaseCreditVC
                    tCInvoiceVat.CInvoiceVatVatDebitTC        = - tCInvoiceVat.CInvoiceVatVatDebitTC
                    tCInvoiceVat.CInvoiceVatVatDebitLC        = - tCInvoiceVat.CInvoiceVatVatDebitLC
                    tCInvoiceVat.CInvoiceVatVatDebitCC        = - tCInvoiceVat.CInvoiceVatVatDebitCC
                    tCInvoiceVat.tdCInvoiceVatVatDebitVC      = - tCInvoiceVat.tdCInvoiceVatVatDebitVC
                    tCInvoiceVat.CInvoiceVatVatCreditTC       = - tCInvoiceVat.CInvoiceVatVatCreditTC
                    tCInvoiceVat.CInvoiceVatVatCreditLC       = - tCInvoiceVat.CInvoiceVatVatCreditLC
                    tCInvoiceVat.CInvoiceVatVatCreditCC       = - tCInvoiceVat.CInvoiceVatVatCreditCC
                    tCInvoiceVat.tdCInvoiceVatVatCreditVC     = - tCInvoiceVat.tdCInvoiceVatVatCreditVC.
        else assign vdAmountTC = tCInvoiceVat.CInvoiceVatVatBaseDebitTC
                    vdAmountLC = tCInvoiceVat.CInvoiceVatVatBaseDebitLC
                    vdAmountCC = tCInvoiceVat.CInvoiceVatVatBaseDebitCC
                    vdAmountVC = tCInvoiceVat.tdCInvoiceVatVatBaseDebitVC
                    tCInvoiceVat.CInvoiceVatVatBaseDebitTC    = tCInvoiceVat.CInvoiceVatVatBaseCreditTC
                    tCInvoiceVat.CInvoiceVatVatBaseDebitLC    = tCInvoiceVat.CInvoiceVatVatBaseCreditLC
                    tCInvoiceVat.CInvoiceVatVatBaseDebitCC    = tCInvoiceVat.CInvoiceVatVatBaseCreditCC
                    tCInvoiceVat.tdCInvoiceVatVatBaseDebitVC  = tCInvoiceVat.tdCInvoiceVatVatBaseCreditVC
                    tCInvoiceVat.CInvoiceVatVatBaseCreditTC   = vdAmountTC
                    tCInvoiceVat.CInvoiceVatVatBaseCreditLC   = vdAmountLC
                    tCInvoiceVat.CInvoiceVatVatBaseCreditCC   = vdAmountCC
                    tCInvoiceVat.tdCInvoiceVatVatBaseCreditVC = vdAmountVC
                    vdAmountTC = tCInvoiceVat.CInvoiceVatVatDebitTC
                    vdAmountLC = tCInvoiceVat.CInvoiceVatVatDebitLC
                    vdAmountCC = tCInvoiceVat.CInvoiceVatVatDebitCC
                    vdAmountVC = tCInvoiceVat.tdCInvoiceVatVatDebitVC
                    tCInvoiceVat.CInvoiceVatVatDebitTC    = tCInvoiceVat.CInvoiceVatVatCreditTC
                    tCInvoiceVat.CInvoiceVatVatDebitLC    = tCInvoiceVat.CInvoiceVatVatCreditLC
                    tCInvoiceVat.CInvoiceVatVatDebitCC    = tCInvoiceVat.CInvoiceVatVatCreditCC
                    tCInvoiceVat.tdCInvoiceVatVatDebitVC  = tCInvoiceVat.tdCInvoiceVatVatCreditVC
                    tCInvoiceVat.CInvoiceVatVatCreditTC   = vdAmountTC
                    tCInvoiceVat.CInvoiceVatVatCreditLC   = vdAmountLC
                    tCInvoiceVat.CInvoiceVatVatCreditCC   = vdAmountCC
                    tCInvoiceVat.tdCInvoiceVatVatCreditVC = vdAmountVC.
    end. /* for each tCInvoiceVat where */
    
    
    for each tCInvoiceBank where
             tCInvoiceBank.tc_ParentRowid = icCInvoiceRowId:
        if ilReverseBySign = true
        then assign tCInvoiceBank.CInvoiceBankToPayTC = - tCInvoiceBank.CInvoiceBankToPayTC.
    end. /* for each tCInvocieBank where */
    
    
    for each tCInvoiceStage where
             tCInvoiceStage.tc_ParentRowid = icCInvoiceRowId:
        if ilReverseBySign = true
        then assign tCInvoiceStage.CInvoiceStageAmountTC     = - tCInvoiceStage.CInvoiceStageAmountTC
                    tCInvoiceStage.CInvoiceStageAmountLC     = - tCInvoiceStage.CInvoiceStageAmountLC
                    tCInvoiceStage.CInvoiceStageAmountCC     = - tCInvoiceStage.CInvoiceStageAmountCC
                    tCInvoiceStage.CInvoiceStageAmtAppliedTC = - tCInvoiceStage.CInvoiceStageAmtAppliedTC.
    end. /* for each tCInvoiceStage where */
    
        
    for each tCInvoiceWHT where
             tCInvoiceWHT.tc_ParentRowid = icCInvoiceRowId :
        if ilReverseBySign
        then assign tCInvoiceWHT.CInvoiceWHTFeeDebitTC          = - tCInvoiceWHT.CInvoiceWHTFeeDebitTC
                    tCInvoiceWHT.CInvoiceWHTFeeCreditTC         = - tCInvoiceWHT.CInvoiceWHTFeeCreditTC
                    tCInvoiceWHT.CInvoiceWHTExpenseDebitTC      = - tCInvoiceWHT.CInvoiceWHTExpenseDebitTC
                    tCInvoiceWHT.CInvoiceWHTExpenseCreditTC     = - tCInvoiceWHT.CInvoiceWHTExpenseCreditTC
                    tCInvoiceWHT.CInvoiceWHTTaxFeeDebitTC       = - tCInvoiceWHT.CInvoiceWHTTaxFeeDebitTC
                    tCInvoiceWHT.CInvoiceWHTTaxFeeDebitLC       = - tCInvoiceWHT.CInvoiceWHTTaxFeeDebitLC
                    tCInvoiceWHT.CInvoiceWHTTaxFeeDebitCC       = - tCInvoiceWHT.CInvoiceWHTTaxFeeDebitCC
                    tCInvoiceWHT.CInvoiceWHTTaxFeeCreditTC      = - tCInvoiceWHT.CInvoiceWHTTaxFeeCreditTC
                    tCInvoiceWHT.CInvoiceWHTTaxFeeCreditLC      = - tCInvoiceWHT.CInvoiceWHTTaxFeeCreditLC
                    tCInvoiceWHT.CInvoiceWHTTaxFeeCreditCC      = - tCInvoiceWHT.CInvoiceWHTTaxFeeCreditCC
                    tCInvoiceWHT.CInvoiceWHTAmtDebitTC          = - tCInvoiceWHT.CInvoiceWHTAmtDebitTC
                    tCInvoiceWHT.CInvoiceWHTAmtDebitLC          = - tCInvoiceWHT.CInvoiceWHTAmtDebitLC
                    tCInvoiceWHT.CInvoiceWHTAmtDebitCC          = - tCInvoiceWHT.CInvoiceWHTAmtDebitCC
                    tCInvoiceWHT.CInvoiceWHTAmtCreditTC         = - tCInvoiceWHT.CInvoiceWHTAmtCreditTC
                    tCInvoiceWHT.CInvoiceWHTAmtCreditLC         = - tCInvoiceWHT.CInvoiceWHTAmtCreditLC
                    tCInvoiceWHT.CInvoiceWHTAmtCreditCC         = - tCInvoiceWHT.CInvoiceWHTAmtCreditCC.
        else assign vdAmountTC                                  = tCInvoiceWHT.CInvoiceWHTFeeDebitTC
                    tCInvoiceWHT.CInvoiceWHTFeeDebitTC          = tCInvoiceWHT.CInvoiceWHTFeeCreditTC  
                    tCInvoiceWHT.CInvoiceWHTFeeCreditTC         = vdAmountTC
                    vdAmountTC                                  = tCInvoiceWHT.CInvoiceWHTExpenseDebitTC
                    tCInvoiceWHT.CInvoiceWHTExpenseDebitTC      = tCInvoiceWHT.CInvoiceWHTExpenseCreditTC  
                    tCInvoiceWHT.CInvoiceWHTExpenseCreditTC     = vdAmountTC
                    vdAmountTC                                  = tCInvoiceWHT.CInvoiceWHTTaxFeeDebitTC
                    vdAmountLC                                  = tCInvoiceWHT.CInvoiceWHTTaxFeeDebitLC
                    vdAmountCC                                  = tCInvoiceWHT.CInvoiceWHTTaxFeeDebitCC
                    tCInvoiceWHT.CInvoiceWHTTaxFeeDebitTC       = tCInvoiceWHT.CInvoiceWHTTaxFeeCreditTC  
                    tCInvoiceWHT.CInvoiceWHTTaxFeeDebitLC       = tCInvoiceWHT.CInvoiceWHTTaxFeeCreditLC  
                    tCInvoiceWHT.CInvoiceWHTTaxFeeDebitCC       = tCInvoiceWHT.CInvoiceWHTTaxFeeCreditCC  
                    tCInvoiceWHT.CInvoiceWHTTaxFeeCreditTC      = vdAmountTC
                    tCInvoiceWHT.CInvoiceWHTTaxFeeCreditLC      = vdAmountLC
                    tCInvoiceWHT.CInvoiceWHTTaxFeeCreditCC      = vdAmountCC
                    vdAmountTC                                  = tCInvoiceWHT.CInvoiceWHTAmtDebitTC
                    vdAmountLC                                  = tCInvoiceWHT.CInvoiceWHTAmtDebitLC
                    vdAmountCC                                  = tCInvoiceWHT.CInvoiceWHTAmtDebitCC
                    tCInvoiceWHT.CInvoiceWHTAmtDebitTC          = tCInvoiceWHT.CInvoiceWHTAmtCreditTC  
                    tCInvoiceWHT.CInvoiceWHTAmtDebitLC          = tCInvoiceWHT.CInvoiceWHTAmtCreditLC  
                    tCInvoiceWHT.CInvoiceWHTAmtDebitCC          = tCInvoiceWHT.CInvoiceWHTAmtCreditCC  
                    tCInvoiceWHT.CInvoiceWHTAmtCreditTC         = vdAmountTC
                    tCInvoiceWHT.CInvoiceWHTAmtCreditLC         = vdAmountLC
                    tCInvoiceWHT.CInvoiceWHTAmtCreditCC         = vdAmountCC.
    end. /* for each tCInvoiceWHT where */
    
    
    
    if oiReturnStatus = -98 then assign oiReturnStatus = 0.