project QadFinancials > class BBudget > method ValidateComponentBudgetWBSList
Description
This method is the submethod of ValidateComponentBudgetWBS because it could not contain all the code.
Parameters
iiBudgetCompanyID | input | integer | BudgetCompanyID |
icBudgetWBSTcRowid | input | character | BudgetWBSTcRowid |
icBudgetWBSCode | input | character | BudgetWBSCode |
icBudgetWBSFDSType | input | character | icBudgetWBSFDSType |
icBudgetWBSFDSList | input | character | BudgetWBSFDSList |
icSafConceptCode | input | character | SAF Concept Code |
icFRWChartCode | input | character | |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program5/bbudget.p)
/* ================================ */
/* Check the FDS-List value */
/* ================================ */
if icBudgetWBSFDSList <> "":U
then do :
do viCounter = num-entries(icBudgetWBSFDSList,",":U) to 1 by -1 :
CASE icBudgetWBSFDSType :
when {&BUDGETFDSTYPE-GL}
then do :
<Q-1 assign vlFcQueryRecordsAvailable = GLPrim (NoCache)
(input iiBudgetCompanyID, (CompanyId)
input entry(viCounter,icBudgetWBSFDSList,',':U), (GLCode)
input ?, (GLId)) in BGL >
if vlFcQueryRecordsAvailable = false
then do :
assign oiReturnStatus = -1
vcMessage = trim(substitute(#T-12'The WBS node &1 - Entry &2 (of type &3) in the COA List field cannot be found.':255(641)t-12#,icBudgetWBSCode,entry(viCounter,icBudgetWBSFDSList,',':U),icBudgetWBSFDSType)).
<M-2 run SetMessage (input vcMessage (icMessage),
input '':U (icArguments),
input 'tBudgetWBS.BudgetWBSFDSList':U (icFieldName),
input entry(viCounter,icBudgetWBSFDSList,',':U) (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input icBudgetWBSTcRowid (icRowid),
input 'QADFIN-530':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BBudget>
Return.
end. /* if vlFcQueryRecordsAvailable = false */
end. /* GL */
when {&BUDGETFDSTYPE-DIVISION}
then do :
<Q-11 assign vlFcQueryRecordsAvailable = DivisionPrim (NoCache)
(input iiBudgetCompanyID, (CompanyId)
input ?, (DivisionID)
input entry(viCounter,icBudgetWBSFDSList,',':U), (DivisionCode)) in BDivision >
if vlFcQueryRecordsAvailable = false
then do :
assign oiReturnStatus = -1
vcMessage = trim(substitute(#T-13'The WBS node &1 - Entry &2 (of type &3) in the COA List field cannot be found.':255(641)t-13#,icBudgetWBSCode,entry(viCounter,icBudgetWBSFDSList,',':U),icBudgetWBSFDSType)).
<M-4 run SetMessage (input vcMessage (icMessage),
input '':U (icArguments),
input 'tBudgetWBS.BudgetWBSFDSList':U (icFieldName),
input entry(viCounter,icBudgetWBSFDSList,',':U) (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input icBudgetWBSTcRowid (icRowid),
input 'QADFIN-531':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BBudget>
Return.
end. /* if vlFcQueryRecordsAvailable = false */
end. /* Div */
when {&BUDGETFDSTYPE-PROJECT}
then do :
<Q-5 assign vlFcQueryRecordsAvailable = ProjectPrim (NoCache)
(input iiBudgetCompanyID, (CompanyId)
input ?, (ProjectID)
input entry(viCounter,icBudgetWBSFDSList,',':U), (ProjectCode)) in BProject >
if vlFcQueryRecordsAvailable = false
then do :
assign oiReturnStatus = -1
vcMessage = trim(substitute(#T-14'The WBS node &1 - Entry &2 (of type &3) in the COA List field cannot be found.':255(641)t-14#,icBudgetWBSCode,entry(viCounter,icBudgetWBSFDSList,',':U),icBudgetWBSFDSType)).
<M-6 run SetMessage (input vcMessage (icMessage),
input '':U (icArguments),
input 'tBudgetWBS.BudgetWBSFDSList':U (icFieldName),
input entry(viCounter,icBudgetWBSFDSList,',':U) (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input icBudgetWBSTcRowid (icRowid),
input 'QADFIN-532':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BBudget>
Return.
end. /* if vlFcQueryRecordsAvailable = false */
end. /* Prj */
when {&BUDGETFDSTYPE-COSTCENTRE}
then do :
<Q-7 assign vlFcQueryRecordsAvailable = CostCentrePrim (NoCache)
(input iiBudgetCompanyID, (CompanyId)
input ?, (CostCentreID)
input entry(viCounter,icBudgetWBSFDSList,',':U), (CostCentreCode)) in BCostCentre >
if vlFcQueryRecordsAvailable = false
then do :
assign oiReturnStatus = -1
vcMessage = trim(substitute(#T-15'The WBS node &1 - Entry &2 (of type &3) in the COA List field cannot be found.':255(641)t-15#,icBudgetWBSCode,entry(viCounter,icBudgetWBSFDSList,',':U),icBudgetWBSFDSType)).
<M-8 run SetMessage (input vcMessage (icMessage),
input '':U (icArguments),
input 'tBudgetWBS.BudgetWBSFDSList':U (icFieldName),
input entry(viCounter,icBudgetWBSFDSList,',':U) (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input icBudgetWBSTcRowid (icRowid),
input 'QADFIN-533':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BBudget>
Return.
end. /* if vlFcQueryRecordsAvailable = false */
end. /* CC */
when {&BUDGETFDSTYPE-SAF}
then do :
<Q-9 assign vlFcQueryRecordsAvailable = SafByCodeIDActiveConcept (NoCache)
(input entry(viCounter,icBudgetWBSFDSList,',':U), (SafCode)
input icSafConceptCode, (SafConceptCode)
input ?, (SafID)
input ?, (SafIsActive)
input ?, (SafConceptID)
input ?, (BudgetGroupID)
input ?, (BudgetGroupCode)) in BSaf>
if vlFcQueryRecordsAvailable = false
then do :
assign oiReturnStatus = -1
vcMessage = trim(substitute(#T-16'The WBS node &1 - Entry &2 (of type &3) in the COA List field cannot be found.':255(641)t-16#,icBudgetWBSCode,entry(viCounter,icBudgetWBSFDSList,',':U),icBudgetWBSFDSType)).
<M-10 run SetMessage (input vcMessage (icMessage),
input '':U (icArguments),
input 'tBudgetWBS.BudgetWBSFDSList':U (icFieldName),
input entry(viCounter,icBudgetWBSFDSList,',':U) (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input icBudgetWBSTcRowid (icRowid),
input 'QADFIN-534':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BBudget>
Return.
end. /* if vlFcQueryRecordsAvailable = false */
end. /* Saf */
when {&BUDGETFDSTYPE-REPORT}
then do:
<Q-51 assign vlFcQueryRecordsAvailable = FRWAnCodePrim (NoCache)
(input ?, (FRWAnCode_ID)
input entry(viCounter,icBudgetWBSFDSList,',':U), (FRWAnCodeCode)) in BFRWAnalysisCode>
if vlFcQueryRecordsAvailable = false
then do :
assign oiReturnStatus = -1
vcMessage = trim(substitute(#T-76'The WBS node &1 - Entry &2 (of type &3) in the COA List field cannot be found.':255(641)T-76#,icBudgetWBSCode,entry(viCounter,icBudgetWBSFDSList,',':U),icBudgetWBSFDSType)).
end.
if oiReturnStatus <> -1
then do:
<Q-31 run SelectFRWAnCodeForFRWBudget (all) (Read) (Cache) (output dataset tqSelectFRWAnCodeForFRWBudget) in BFRWAnalysisCode>
if not can-find (first tqSelectFRWAnCodeForFRWBudget
where tqSelectFRWAnCodeForFRWBudget.tcFRWAnCodeFRWChartCode = icFRWChartCode and
tqSelectFRWAnCodeForFRWBudget.tcFRWAnCodeCode = entry(viCounter,icBudgetWBSFDSList,',':U))
then do:
assign oiReturnStatus = -1
vcMessage = trim(substitute(#T-77'The WBS node &1 - Entry &2 (of type &3) in the COA List field does not belong to the current report chart.':255(436902037)T-77#,
icBudgetWBSCode,entry(viCounter,icBudgetWBSFDSList,',':U),icBudgetWBSFDSType)).
end.
end. /* if oiReturnStatus <> -1 */
if oiReturnStatus = -1
then do:
<M-39 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input 'tBudgetWBS.BudgetWBSFDSList':U (icFieldName),
input entry(viCounter,icBudgetWBSFDSList,',':U) (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input icBudgetWBSTcRowid (icRowid),
input 'qadfin-329708':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BBudget>
return.
end. /* if oiReturnStatus = -1 */
end. /* Ananysis Report */
end CASE.
end. /* do viCounter */
end. /* if icBudgetWBSFDSList <> "":U */