project QadFinancials > class BBankEntry > method AdditionalUpdatesBankImpLine


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BBankEntry.AdditionalUpdates


program code (program1/bbankentry.p)

if vlCreateBEFromBankImpLineBatch = no 
then return.

assign vdGLUnallocStatBalance = 0
       viCount                = 1
       vdPrevClosingBalance   = 0.

/*Update Opening Balance of BankState in Batch Mode*/
for each tBankState break by tBankState.GL_ID by tBankState.Company_ID by tBankState.BankStateNumber:
    /* ===================================================================== */
    /* Resolve the Balance after getting the current accounting year/period  */
    /* ===================================================================== */
    if first-of(tBankState.GL_ID) or first-of(tBankState.Company_ID) 
    then do:
        assign viCount       = 1
               vhFcComponent = ?.
        <M-81 run ApiGetAccountBalance
           (input  9999 (iiAccYear), 
            input  99 (iiAccPeriod), 
            input  tBankState.GL_ID (iiGL_ID), 
            input  '':U (icGLCode), 
            input  viCompanyId (iiCompanyID), 
            input  '':U (icCompanyCode), 
            output vdDummy (odBalanceLC), 
            output vdDummy (odBalanceCC), 
            output vdGLBalanceTC (odBalanceTC), 
            output viFcReturnSuper (oiReturnStatus)) in BGL>
        if viFcReturnSuper <> 0
        then return.

        /* read PARTALLOCATED */
        assign vdGLUnallocStatBalance = 0.

        empty temp-table tqBankStateByGLBankStateNbr.
        <Q-14 run BankStateByGLBankStateNbr (all) (Read) (NoCache)
           (input tBankState.Company_ID, (CompanyId)
            input ?, (MinBankStateNumber)
            input tBankState.GL_ID, (GLID)
            input {&BANKSTATELINESTATUS-UNALLOC}, (BankStateLineStatus)
            input ?, (GLCode)
            input {&BANKSTATESTATUS-PARTALLOC}, (BankStateStatus)
            output dataset tqBankStateByGLBankStateNbr) in BBankEntry>

        for each tqBankStateByGLBankStateNbr :
            assign vdGLUnallocStatBalance = vdGLUnallocStatBalance + tqBankStateByGLBankStateNbr.tdBankStateLineAmountTC.
        end.
        
        /* read UNALLOCATED ALLOCATED */    
        empty temp-table tqBankStateByGLBankStateNbr.
          <Q-64 run BankStateByGLBankStateNbr (all) (Read) (NoCache)
             (input tBankState.Company_ID, (CompanyId)
              input ?, (MinBankStateNumber)
              input tBankState.GL_ID, (GLID)
              input {&BANKSTATELINESTATUS-UNALLOC}, (BankStateLineStatus)
              input ?, (GLCode)
              input {&BANKSTATESTATUS-UNALLOC}, (BankStateStatus)
              output dataset tqBankStateByGLBankStateNbr) in BBankEntry>    
    
        for each tqBankStateByGLBankStateNbr :
            assign vdGLUnallocStatBalance = vdGLUnallocStatBalance + tqBankStateByGLBankStateNbr.tdBankStateLineAmountTC.
        end.
    end.

    /* ========================= */
    /* calculate opening balance */
    /* ========================= */
    if viCount = 1 then
    do:
        assign tBankState.BankStateOpeningBalance = vdGLBalanceTC + vdGLUnallocStatBalance.
    end.
    else
    do:
        assign tBankState.BankStateOpeningBalance = vdPrevClosingBalance.
    end.

    assign tBankState.BankStateClosingBalance = tBankState.BankStateOpeningBalance + tBankState.BankStateMovement
           vdPrevClosingBalance               = tBankState.BankStateClosingBalance
           viCount                            = viCount + 1.
end.

assign vlCreateBEFromBankImpLineBatch = no.