project QadFinancials > class BQBudgetCommitment > method AdditionalUpdatesDeleteSub

Description

AdditonalUpdatesDeleteSub; Submethod of AdditionalUpdatesDelete because it could not haold all the data


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BQBudgetCommitment.AdditionalUpdatesDelete


program code (program6/bqbudgetcommitment.p)

/* ======================== */
    /* Read once all currencies */
    /* ======================== */
    <Q-5 run CurrencyByCode (all) (Read) (NoCache)
          (input ?, (CurrencyCode)
           output dataset tqCurrencyByCode) in BCurrency >
                             
    /* ========================================================================== */
    /* Go through all tBudgetCheckInfoWBSQBA-record (returned by the resolving)   */
    /* Note that the currency of the Q-record amy differ from the Budget-currency */
    /* ========================================================================== */
    for each tQBudgetLinkCommit where 
             tQBudgetLinkCommit.tc_Status = "D":U ,
        each tBudgetCheckInfoQBC where  
             tBudgetCheckInfoQBC.tcParentTcRowid = string(rowid(tQBudgetLinkCommit)) ,
        each tBudgetCheckInfoWBSQBC where 
             tBudgetCheckInfoWBSQBC.tiBudgetCheckInfoID = tBudgetCheckInfoQBC.tiBudgetCheckInfoID :
        /* ======================================= */
        /* Create the new BudgetLinkActual-records */
        /* ======================================= */
        create tNewBudgetLinkCommitFromBQ.
        assign tNewBudgetLinkCommitFromBQ.Budget_ID                   = tBudgetCheckInfoWBSQBC.tiBudgetID
               tNewBudgetLinkCommitFromBQ.BudgetPeriod_ID             = tBudgetCheckInfoWBSQBC.tiBudgetPeriodID
               tNewBudgetLinkCommitFromBQ.BudgetWBS_ID                = tBudgetCheckInfoWBSQBC.tiBudgetWBSID
               tNewBudgetLinkCommitFromBQ.POLine_ID                   = tQBudgetLinkCommit.POLine_ID  
               tNewBudgetLinkCommitFromBQ.Company_ID                  = tQBudgetLinkCommit.Company_ID
               tNewBudgetLinkCommitFromBQ.BudgetLinkCommitDate        = tQBudgetLinkCommit.BudgetLinkCommitDate
               tNewBudgetLinkCommitFromBQ.BudgetLinkCommitInfo        = tQBudgetLinkCommit.BudgetLinkCommitInfo
               tNewBudgetLinkCommitFromBQ.BudgetLinkCommitDivCode     = tQBudgetLinkCommit.BudgetLinkCommitDivCode
               tNewBudgetLinkCommitFromBQ.BudgetLinkCommitGLCode      = tQBudgetLinkCommit.BudgetLinkCommitGLCode
               tNewBudgetLinkCommitFromBQ.BudgetLinkCommitPrjCode     = tQBudgetLinkCommit.BudgetLinkCommitPrjCode
               tNewBudgetLinkCommitFromBQ.BudgetLinkCommitCCCode      = tQBudgetLinkCommit.BudgetLinkCommitCCCode
               tNewBudgetLinkCommitFromBQ.BudgetLinkCommitSafStruct   = tQBudgetLinkCommit.BudgetLinkCommitSafStruct
               tNewBudgetLinkCommitFromBQ.BudgetLinkCommitSaf1Code    = tQBudgetLinkCommit.budgetLinkCommitSaf1Code
               tNewBudgetLinkCommitFromBQ.BudgetLinkCommitSaf2Code    = tQBudgetLinkCommit.budgetLinkCommitSaf2Code
               tNewBudgetLinkCommitFromBQ.BudgetLinkCommitSaf3Code    = tQBudgetLinkCommit.budgetLinkCommitSaf3Code
               tNewBudgetLinkCommitFromBQ.BudgetLinkCommitSaf4Code    = tQBudgetLinkCommit.BudgetLinkCommitSaf4Code
               tNewBudgetLinkCommitFromBQ.BudgetLinkCommitSaf5Code    = tQBudgetLinkCommit.budgetLinkCommitSaf5Code
               tNewBudgetLinkCommitFromBQ.BudgetLinkCommitSaf1Concpt = tQBudgetLinkCommit.BudgetLinkCommitSaf1Concpt
               tNewBudgetLinkCommitFromBQ.BudgetLinkCommitSaf2Concpt = tQBudgetLinkCommit.BudgetLinkCommitSaf2Concpt
               tNewBudgetLinkCommitFromBQ.BudgetLinkCommitSaf3Concpt = tQBudgetLinkCommit.BudgetLinkCommitSaf3Concpt
               tNewBudgetLinkCommitFromBQ.BudgetLinkCommitSaf4Concpt = tQBudgetLinkCommit.BudgetLinkCommitSaf4Concpt
               tNewBudgetLinkCommitFromBQ.BudgetLinkCommitSaf5Concpt = tQBudgetLinkCommit.BudgetLinkCommitSaf5Concpt
               tNewBudgetLinkCommitFromBQ.tc_Rowid                    = string(rowid(tBudgetCheckInfoWBSQBC))
               tNewBudgetLinkCommitFromBQ.BudgetLinkCommitTC          = tQBudgetLinkCommit.BudgetLinkCommitTC 
               tNewBudgetLinkCommitFromBQ.BudgetLinkCommitQTY         = (if tQBudgetLinkCommit.Unit_ID = tBudgetCheckInfoWBSQBC.tiUnitID then tQBudgetLinkCommit.BudgetLinkCommitQTY else 0).
        /* ===================================== */ 
        /* Get the exchange-rate (if applicable) */
        /* ===================================== */
        if tQBudgetLinkCommit.Currency_ID /* PO currency */ <> tBudgetCheckInfoWBSQBC.tiCurrencyID /* Budget-currency */ 
        then do :
             <M-36 run GetExchangeRate
                (input  ? (iiCompanyID), 
                 input  tQBudgetLinkCommit.Currency_ID (iiFromCurrencyID), 
                 input  ? (icFromCurrencyCode), 
                 input  tBudgetCheckInfoWBSQBC.tiCurrencyID (iiToCurrencyID), 
                 input  ? (icToCurrencyCode), 
                 input  ? (iiExchangeRateTypeID), 
                 input  {&EXCHANGERATETYPE-ACCOUNTING} (icExchangeRateTypeCode), 
                 input  tQBudgetLinkCommit.BudgetLinkCommitDate (itValidityDate), 
                 output vdExchangeRate (odExchangeRate), 
                 output vdExchangeRateScale (odExchangeScaleFactor), 
                 output viFcReturnSuper (oiReturnStatus)) in BQBudgetCommitment>
            if viFcReturnSuper <> 0 then assign oiReturnStatus = viFcReturnSuper.
            if oiReturnStatus < 0 then Return.
            if vdExchangeRate <> 1
            then do :
                assign tNewBudgetLinkCommitFromBQ.BudgetLinkCommitTC = tNewBudgetLinkCommitFromBQ.BudgetLinkCommitTC * vdExchangeRate * vdExchangeRateScale.
                if tBudgetCheckInfoWBSQBC.tiCurrencyID = viCompanyLCId
                then assign tNewBudgetLinkCommitFromBQ.BudgetLinkCommitTC = <M-6 RoundAmount
                                                                               (input  tNewBudgetLinkCommitFromBQ.BudgetLinkCommitTc (idUnroundedAmount), 
                                                                                input  viCompanyLCId (iiCurrencyID), 
                                                                                input  '':U (icCurrencyCode)) in business>.
                    /* round(tNewBudgetLinkCommitFromBQ.BudgetLinkCommitTc,viCompanyLCDec). */
                else if tBudgetCheckInfoWBSQBC.tiCurrencyID = viCompanyCCId
                     then assign tNewBudgetLinkCommitFromBQ.BudgetLinkCommitTC = <M-7 RoundAmount
                                                                                    (input  tNewBudgetLinkCommitFromBQ.BudgetLinkCommitTC (idUnroundedAmount), 
                                                                                     input  viCompanyCCId (iiCurrencyID), 
                                                                                     input  '':U (icCurrencyCode)) in business>.
                    /* round(tNewBudgetLinkCommitFromBQ.BudgetLinkCommitTC,viCompanyCCDec). */
                     else do :
                        find first tqCurrencyByCode where
                                   tqCurrencyByCode.tiCurrency_ID = tBudgetCheckInfoWBSQBC.tiCurrencyID
                                   no-lock no-error.
                        if available tqCurrencyByCode
                        then assign tNewBudgetLinkCommitFromBQ.BudgetLinkCommitTC = <M-8 RoundAmount
                                                                                       (input  tNewBudgetLinkCommitFromBQ.BudgetLinkCommitTC (idUnroundedAmount), 
                                                                                        input  tQBudgetLinkCommit.Currency_ID (iiCurrencyID), 
                                                                                        input  '':U (icCurrencyCode)) in business>.
                    end. /* if tBudgetCheckInfoWBSQBC.tiCurrencyID <> viCompanyCCId */
            end. /* if vdExchangeRate <> 1 */
        end. /* if tQBudgetLinkCommit.Currency_ID  <> tBudgetCheckInfoWBSQBC.tiCurrencyID */
    end. /* for each tBudgetCheckInfoQBC */