project QadFinancials > class BBudget > method ValidateComponentBudgetWBSList

Description

This method is the submethod of ValidateComponentBudgetWBS because it could not contain all the code.


Parameters


iiBudgetCompanyIDinputintegerBudgetCompanyID
icBudgetWBSTcRowidinputcharacterBudgetWBSTcRowid
icBudgetWBSCodeinputcharacterBudgetWBSCode
icBudgetWBSFDSTypeinputcharactericBudgetWBSFDSType
icBudgetWBSFDSListinputcharacterBudgetWBSFDSList
icSafConceptCodeinputcharacterSAF Concept Code
icFRWChartCodeinputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BBudget.ValidateComponentBudgetWBS


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 */