project QadFinancials > class BConsolid > method AdditionalUpdatesConsolidationBlockVal

Description

Validations. Needs to be in segment 1 to work.


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BConsolid.AdditionalUpdatesConsolidationBlock


program code (program1/bconsolid.p)

assign oiReturnStatus      = -98
       viLocalReturnStatus = 0.

VALIDATIONBLOCK:
do:
    /* Get Consolidation cycle */
    <Q-1 run ConsolidCycleByCompanyID (all) (Read) (NoCache)
       (input tConsolid.ConsolidCompany_ID, (CompanyId)
        output dataset tqConsolidCycleByCompanyID) in BConsolidCycle >
    find tqConsolidCycleByCompanyID where
         tqConsolidCycleByCompanyID.tiCompany_ID = tConsolid.ConsolidCompany_ID
         no-lock no-error.
    if not available tqConsolidCycleByCompanyID
    then do:
        assign vcMessage           = trim(#T-8'You must first create the consolidation cycle for this entity.':200(999890421)T-8#)
               viLocalReturnStatus = -1.
        <M-2 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-9070':U (icFcMsgNumber), 
            input  '' (icFcExplanation), 
            input  '' (icFcIdentification), 
            input  '' (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BConsolid>    
        Leave VALIDATIONBLOCK.
    end.
  
    /* Check if the default Division, CostCentre and Projcect were defined for the Consolidation Cycle */
    <Q-3 run ConsolidCycleByConsolidCycleID (all) (Read) (NoCache)
       (input tConsolid.ConsolidCompany_ID, (CompanyId)
        input tqConsolidCycleByCompanyID.tiConsolidCycle_ID, (ConsolidCycleID)
        output dataset tqConsolidCycleByConsolidCycleID) in BConsolidCycle >
    find first tqConsolidCycleByConsolidCycleID where
               tqConsolidCycleByConsolidCycleID.tiCompany_ID      = tConsolid.ConsolidCompany_ID and
               tqConsolidCycleByConsolidCycleID.tcCostCentreCode <> "":U and
               tqConsolidCycleByConsolidCycleID.tcProjectCode    <> "":U and
               tqConsolidCycleByConsolidCycleID.tcDivisionCode   <> "":U
               no-error.
    if not available tqConsolidCycleByConsolidCycleID
    then do:
        assign vcMessage           = trim(#T-9'The default Sub-Account, Cost Center and Project Code need to be defined in the consolidation cycle.':200(999890182)T-9#)
               viLocalReturnStatus = -1.
        <M-4 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-9071':U (icFcMsgNumber), 
            input  '' (icFcExplanation), 
            input  '' (icFcIdentification), 
            input  '' (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BConsolid>  
        leave VALIDATIONBLOCK.
    end.

    /* Get the defaults safs for consolidation cycle */
    <Q-5 run ConsolidCycleSafByParentType (all) (Read) (NoCache)
       (input '':U, (ParentType)
        input tqConsolidCycleByCompanyID.tiConsolidCycle_ID, (ConsolidCycleID)
        output dataset tqConsolidCycleSafByParentType) in BConsolidCycle >

    /* Get Consolidation Cycle Company */
    <Q-6 run ConsolidCycleByCompanies (all) (Read) (NoCache)
       (input tConsolid.ConsolidCompany_ID, (CompanyId)
        input tConsolid.tcSourceCompanyCode, (SourceCompanyCode)
        input 0, (SourceCompanyID)
        output dataset tqConsolidCycleByCompanies) in BConsolidCycle >
    find tqConsolidCycleByCompanies where
         tqConsolidCycleByCompanies.tiCompany_ID        = tConsolid.ConsolidCompany_ID and
         tqConsolidCycleByCompanies.tcSourceCompanyCode = tConsolid.tcSourceCompanyCode
         no-lock no-error.
    if not available tqConsolidCycleByCompanies
    then do:    
        assign vcMessage           = trim(substitute(#T-10'The selected source entity &1 has not been defined in the consolidation cycle.':200(999890422)T-10#, trim(tConsolid.tcSourceCompanyCode) ))
               viLocalReturnStatus = -1.
        <M-7 run SetMessage
           (input  vcMessage (icMessage), 
            input  '':U (icArguments), 
            input  '':U (icFieldName), 
            input  '':U (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  tConsolid.tc_Rowid (icRowid), 
            input  'QadFin-9072':U (icFcMsgNumber), 
            input  '' (icFcExplanation), 
            input  '' (icFcIdentification), 
            input  '' (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BConsolid>    
        leave VALIDATIONBLOCK.
    end.
end. /* VALIDATIONBLOCK */

assign oiReturnStatus = viLocalReturnStatus.