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
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
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 */