project QadFinancials > class BBudget > method ApiGetBudgetWBSDeleteLevelOne

Description

This method will remove the level-1 nodes from tViewbudgetWBS and tViewbudgetWBSFig.
Level-2 nodes that have the same name, will be joined and their figures will be sommated.


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BBudget.ApiGetBudgetWBS
method BBudget.ApiGetBudgetWBSWithFigures


program code (program9/bbudget.p)

/* =========================================================================== */
    /* If ilSkipLevelOneNodes = true the                                           */
    /* - Remove all nodes on FDS-level 1                                           */
    /* - Set for the nodes on FDS-level 2; ParentBudgetWBSID = ?                   */
    /* - Join nodes on FDS-level 2 that have the same name (just keep 1 of them    */
    /*   but move the childs of the removed nodes into the 1 node that is kept)    */
    /* We set ParentBudgetWBSID = -999999999 because otherwise the for-each        */
    /* would acces the records wherefor ParentBudgetWBSID was set to ? in the loop */
    /* Delete tViewBudgetWBS => delete the related tViewBudgetWBSFigures as well   */
    /* =========================================================================== */
    for each tViewBudgetWBS where 
             tViewBudgetWBS.tiParentBudgetWBSID = ? or 
             tViewBudgetWBS.tiParentBudgetWBSID = 0 :
        for each btViewBudgetWBS where 
                 btViewBudgetWBS.tiParentBudgetWBSID = tViewBudgetWBS.tiBudgetWBSID : 
            assign btViewBudgetWBS.tiParentBudgetWBSID = -999999999.
        end. /* for each btViewBudgetWBS where */
        for each tViewBudgetWBSFigures where
                 tViewBudgetWBSFigures.tiBudgetWBSID = tViewBudgetWBS.tiBudgetWBSID :
            delete tViewBudgetWBSFigures.
        end. /* for each tViewBudgetWBSFigures where */
        delete tViewBudgetWBS.
    end. /* for each tViewBudgetWBS where */
    for each tViewBudgetWBS where 
             tViewBudgetWBS.tiParentBudgetWBSID = -999999999 : 
        assign tViewBudgetWBS.tiParentBudgetWBSID = 0.
    end. /* for each tViewBudgetWBS */
    for each tViewBudgetWBS where 
             tViewBudgetWBS.tiParentBudgetWBSID = 0 :
        find tViewBudgetWBSFigures where 
             tViewBudgetWBSFigures.tiBudgetWBSID = tViewBudgetWBS.tiBudgetWBSID
             no-error.
        for each btViewBudgetWBS where 
                 btViewBudgetWBS.tcBudgetWBSCode     = tViewBudgetWBS.tcBudgetWBSCode    and
                 btViewBudgetWBS.tcBudgetWBSTcRowid <> tViewBudgetWBS.tcBudgetWBSTcRowid and
                 btViewBudgetWBS.tiParentBudgetWBSID = 0 : 
            for each btViewBudgetWBSChilds where 
                     btViewBudgetWBSChilds.tiParentBudgetWBSID = btViewBudgetWBS.tiBudgetWBSID : 
                assign btViewBudgetWBSChilds.tiParentBudgetWBSID = tViewBudgetWBS.tiBudgetWBSID.
            end. /* for each btViewBudgetWBSChilds where  */
            for each btViewBudgetWBSFigures where
                     btViewBudgetWBSFigures.tiBudgetWBSID = btViewBudgetWBS.tiBudgetWBSID :
                if available tViewBudgetWBSFigures
                then assign tViewBudgetWBSFigures.tdBudgetCostTC        = tViewBudgetWBSFigures.tdBudgetCostTC + btViewBudgetWBSFigures.tdBudgetCostTC
                            tViewBudgetWBSFigures.tdBudgetRevenueTC     = tViewBudgetWBSFigures.tdBudgetRevenueTC + btViewBudgetWBSFigures.tdBudgetRevenueTC
                            tViewBudgetWBSFigures.tdBudgetQTY           = tViewBudgetWBSFigures.tdBudgetQTY + btViewBudgetWBSFigures.tdBudgetQTY
                            tViewBudgetWBSFigures.tdPMCostTC            = tViewBudgetWBSFigures.tdPMCostTC + btViewBudgetWBSFigures.tdPMCostTC
                            tViewBudgetWBSFigures.tdPMRevenueTC         = tViewBudgetWBSFigures.tdPMRevenueTC + btViewBudgetWBSFigures.tdPMRevenueTC
                            tViewBudgetWBSFigures.tdPMQTY               = tViewBudgetWBSFigures.tdPMQTY + btViewBudgetWBSFigures.tdPMQTY
                            tViewBudgetWBSFigures.tdControlCostTC       = tViewBudgetWBSFigures.tdControlCostTC + btViewBudgetWBSFigures.tdControlCostTC
                            tViewBudgetWBSFigures.tdControlRevenueTC    = tViewBudgetWBSFigures.tdControlRevenueTC + btViewBudgetWBSFigures.tdControlRevenueTC
                            tViewBudgetWBSFigures.tdControlQTY          = tViewBudgetWBSFigures.tdControlQTY + btViewBudgetWBSFigures.tdControlQTY
                            tViewBudgetWBSFigures.tdCommitCostTC        = tViewBudgetWBSFigures.tdCommitCostTC + btViewBudgetWBSFigures.tdCommitCostTC 
                            tViewBudgetWBSFigures.tdCommitQTY           = tViewBudgetWBSFigures.tdCommitQTY + btViewBudgetWBSFigures.tdCommitQTY
                            tViewBudgetWBSFigures.tdActualRevenueTC     = tViewBudgetWBSFigures.tdActualRevenueTC + btViewBudgetWBSFigures.tdActualRevenueTC
                            tViewBudgetWBSFigures.tdActualCostTC        = tViewBudgetWBSFigures.tdActualCostTC + btViewBudgetWBSFigures.tdActualCostTC
                            tViewBudgetWBSFigures.tdActualQTY           = tViewBudgetWBSFigures.tdActualQTY + btViewBudgetWBSFigures.tdActualQTY.
                delete btViewBudgetWBSFigures.
            end. /* for each btViewBudgetWBSFigures where */
            delete btViewBudgetWBS.
        end. /* for each btViewBudgetWBS where */
    end. /* for each tViewBudgetWBS where */