project QadFinancials > class BBudget > method BudgetWBSInsertAdjustSequence
Parameters
icBudgetTcRowid | input | character | |
iiBudgetWBSID | input | integer | |
ocNewRecordWBSSeq | output | character | |
iiParentBudgetWBSID | input | integer | |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program7/bbudget.p)
assign oiReturnStatus = -98.
/* ============================================================================ */
/* Get Sequence of selected Active Row */
/* ============================================================================ */
find first tBudgetWBS where
tBudgetWBS.tc_ParentRowid = icBudgetTcRowid and
tBudgetWBS.BudgetWBS_ID = iiBudgetWBSID and
tBudgetWBS.tc_Status <> "D":U
no-error.
if available tBudgetWBS
then assign ocNewRecordWBSSeq = tBudgetWBS.tcBudgetWBSSeqStr
/* vdNewRecordWBSSeq = decimal(tBudgetWBS.tcBudgetWBSSeqStr) */.
/* ============================================================================ */
/* Adjust the Sequence for the rows that belongs to same parent row but having */
/* bigger Sequence number. */
/* ============================================================================ */
for each tBudgetWBS where
tBudgetWBS.tc_ParentRowid = icBudgetTcRowid and
tBudgetWBS.ParentBudgetWBS_ID = iiParentBudgetWBSID and
tBudgetWBS.tcBudgetWBSSeqStr >= ocNewRecordWBSSeq and
tBudgetWBS.tc_Status <> "D":U:
/* ============================================================ */
/* Raise the retrieved sequence by a jump of the correct level */
/* Level1 = Level1-jump */
/* Level2 = Level1-jump / 1000 */
/* Level3 = Level1-jump / 1000000 */
/* ============================================================ */
assign vdJumpCurrentLevel = vdFSDLevelOneJump.
do viCounter = 1 to (tBudgetWBS.BudgetFDSSeq - 1) by 1 :
assign vdJumpCurrentLevel = vdJumpCurrentLevel / 1000.
end. /* do viCounter */
assign tBudgetWBS.tcBudgetWBSSeqStr = string(decimal(tBudgetWBS.tcBudgetWBSSeqStr) + vdJumpCurrentLevel, "999999999999999999999999999999999999999999999999").
/* assign tBudgetWBS.BudgetWBSSeq = tBudgetWBS.BudgetWBSSeq + vdJumpCurrentLevel.
assign tBudgetWBS.tcBudgetWBSSeqStr = string(tBudgetWBS.BudgetWBSSeq). */
create tNewBudgetWBS.
buffer-copy tBudgetWBS except BudgetWBSSeq to tNewBudgetWBS.
for each tBudgetVersionFig where
tBudgetVersionFig.BudgetWBS_ID = tBudgetWBS.BudgetWBS_ID:
assign tBudgetVersionFig.tcBudgetWBSSeq = tBudgetWBS.tcBudgetWBSSeqStr.
create tNewBudgetVersionFigure.
buffer-copy tBudgetVersionFig to tNewBudgetVersionFigure.
end.
for each tBudgetVersionGLFig where
tBudgetVersionGLFig.BudgetWBS_ID = tBudgetWBS.BudgetWBS_ID:
assign tBudgetVersionGLFig.tcBudgetWBSSeq = tBudgetWBS.tcBudgetWBSSeqStr.
create tNewBudgetVersionGLFig.
buffer-copy tBudgetVersionGLFig to tNewBudgetVersionGLFig.
end.
end. /* for each tBudgetWBS */
assign oiReturnStatus = 0.