project QadFinancials > class BBudget > method ValidateComponentBudgetWBSIsReportStruct
Description
This submethod is to check if the levels sub-account or cost-centre/project are used then the applicable topics must be linked in a strict 1-to-1 G/L ? Sub-Account ? Cost Centre/Project combination. This means that no ranges or lists can be used for linking an FDS element to a topic
Parameters
icBudgetWBSTcRowid | input | character | BudgetWBS tc Rowid |
icBudgetWBStcStatus | input | character | BudgetWBS tc Status |
icBudgetWBSCode | input | character | BudgetWBSCode |
icBudgetWBSFDSType | input | character | BudgetWBSFDSType |
iiBudgetWBSFDSSeq | input | integer | BudgetWBSFDSSeq |
icBudgetWBSFDSCode | input | character | BudgetWBSFDSCode |
icBudgetWBSFDSList | input | character | BudgetWBSFDSList |
icBudgetWBSFDSFromCode | input | character | BudgetWBSFDSFromCode |
icBudgetWBSFDSToCode | input | character | BudgetWBSFDSToCode |
icBudgetWBSFDSDefault | input | character | BudgetWBSFDSDefault |
iiBudgetGroupID | input | integer | BudgetGroupID |
icBudgetGroupCode | input | character | BudgetGroupCode |
iiBudgetCompanyID | input | integer | BudgetCompanyID |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program1/bbudget.p)
/* Defect 10249-0586 begin */
assign vcMessage = "":U.
/* define buffer bbCurrBudgetWbs for t_sBudgetWBS. */
define buffer bbCurrBudgetWbs for bCurrBudgetWbs.
/* Defect 10249-0586 end */
find bbCurrBudgetWbs where
bbCurrBudgetWbs.tc_Rowid = icBudgetWBSTcRowid
NO-lock no-error.
if available bbCurrBudgetWbs
then do :
Assign vibudgetwbsfdsseq = bbCurrBudgetWbs.budgetfdsseq
viParentBudgetWBSID = bbcurrbudgetwbs.BudgetWBS_ID.
end.
else vcMessage = trim(substitute(#T-4'Unable to locate the WBS node (&1) based on its row ID (&2).':255(999890571)T-4#,icBudgetWBSCode,icBudgetWBSTcRowid)).
if icBudgetGroupCode <> "" or
icBudgetWBSFDSFromCode <> "" or
icBudgetWBSFDSToCode <> "" or
num-entries(icBudgetWBSFDSList) > 1 or
icBudgetWBSFDSCode = "*"
THEN DO:
find first bbCurrBudgetWbs where
bbcurrbudgetwbs.ParentBudgetWBS_ID = viParentBudgetWBSID
no-lock no-error.
if available bbCurrBudgetWbs
then DO:
assign vcMessage = trim(substitute(#T-2'Budget-Structure &1 should be a strict 1-to-1 G/L-Sub-Account-Cost Centre/Project combination':255(620614301)T-2#,trim({&BUDGETFDSTYPE-GL-TR}))).
end.
END.
/*
if icBudgetWBSFDSDefault
then do:
assign vcMessage = trim(substitute(#T-3'Budget-report-Structure '&1' cannot have SAF':255(999890573)T-3#,trim({&BUDGETFDSTYPE-GL-TR}))).
end.
*/
if vcMessage <> "":U
then do :
ASSIGN oiReturnStatus = -1.
<M-1 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'QadFin-6341':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BBudget>
end. /* if vcMessage <> "":U */