project QadFinancials > class BConsolid > method ValidateComponentPre


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BConsolid.ValidateComponent


program code (program4/bconsolid.p)

assign oiReturnStatus    = -98
       viLocalReturnStatus = 0.

/* ============================================= */
/* Remove the non-selected ConsolidLayer records */
/* ============================================= */
for each t_sConsolidLayer where
         t_sConsolidLayer.tlConsolidLayerIsSelected = false:
    if t_sConsolidLayer.tc_Status = "N":U
    then delete t_sConsolidLayer.
    else assign t_sConsolidLayer.tc_Status = "D":U.
end.

/* =================================================================== */
/* Source Company can not be an updateable related key business field. */
/* Fill in the ID and check if the company code is correct.            */
/* =================================================================== */
for each t_sConsolid where
         t_sConsolid.tc_Status <> 'D':U:
    if t_sConsolid.tcSourceCompanyCode = ? or
       t_sConsolid.tcSourceCompanyCode = '':U
    then do:
        assign vcMessage           = trim(#T-4'You must enter the source entity.':200(1340)T-4#)
               viLocalReturnStatus = -1.
        <M-1 run SetMessage
           (input  vcMessage (icMessage), 
            input  '':U (icArguments), 
            input  't_sConsolid.tcSourceCompanyCode':U (icFieldName), 
            input  t_sConsolid.tcSourceCompanyCode (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sConsolid.tc_Rowid (icRowid), 
            input  'QadFin-8911':U (icFcMsgNumber), 
            input  '' (icFcExplanation), 
            input  '' (icFcIdentification), 
            input  '' (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BConsolidCycle>
        next.
    end.

    <Q-2 run CompanyPrim (all) (Read) (NoCache)
       (input ?, (LookupCompanyId)
        input t_sConsolid.tcSourceCompanyCode, (CompanyCode)
        output dataset tqCompanyPrim) in BCompany >
    find tqCompanyPrim where
         tqCompanyPrim.tcCompanyCode = t_sConsolid.tcSourceCompanyCode
         no-lock no-error.
    if not available tqCompanyPrim
    then do:
        assign vcMessage           = trim(substitute(#T-5'Entity code (&1) not found.':200(1341)T-5#, trim(t_sConsolid.tcSourceCompanyCode) ))
               viLocalReturnStatus = -1.
        <M-3 run SetMessage
           (input  vcMessage (icMessage), 
            input  '':U (icArguments), 
            input  't_sConsolid.tcSourceCompanyCode':U (icFieldName), 
            input  t_sConsolid.tcSourceCompanyCode (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sConsolid.tc_Rowid (icRowid), 
            input  'QadFin-8912':U (icFcMsgNumber), 
            input  '' (icFcExplanation), 
            input  '' (icFcIdentification), 
            input  '' (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BConsolidCycle>           
    end. /* if not available tqCompanyPrim */
    else assign t_sConsolid.SourceCompany_ID = tqCompanyPrim.tiCompany_ID.
end. /* for each t_sConsolid */

assign oiReturnStatus = viLocalReturnStatus.