project QadFinancials > class BFRWChart > method ValidateComponentAllEntities

Description

Validate all entities.


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BFRWChart.ValidateComponentAll


program code (program5/bfrwchart.p)

/* ====================================================================================== *
 * Method       : ValidateComponentAllEntities                                            *
 * Description  : This method validates Entities                                          *
 * ====================================================================================== */


MAIN_BLOCK:
do on error undo, throw:   
    /*************************************/
    /* Validations on entity */  
    /*************************************/
    if not can-find (first  t_sFRWCompany where 
        t_sFRWCompany.tc_ParentRowid = t_sFRWChart.tc_Rowid and t_sFRWCompany.tc_Status <> "D":U)
    then do:
        assign vcMessage = trim(#T-57'You must select at least one entity.':255(482391233)T-57#) 
               oiReturnStatus = -1.                        
        <M-3 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-781399':U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BFRWChart>
        leave MAIN_BLOCK.
    end.

    for each t_sFRWCompany where 
        t_sFRWCompany.tc_ParentRowid = t_sFRWChart.tc_Rowid :
        /* Validate COA Cross Ref and entity are consistent */
        
        if t_sFRWCompany.tc_Status <> "D":U and
          ( t_sFRWCompany.FRWShSetComb_ID = ? or t_sFRWCompany.FRWShSetComb_ID = 0 or 
            not can-find (first t_sFRWShSetComb where t_sFRWShSetComb.FRWShSetComb_ID = t_sFRWCompany.FRWShSetComb_ID) or
            not can-find (first tChartCOACrossRef where tChartCOACrossRef.tiCompanyId = t_sFRWCompany.Company_ID))
        then do:
            assign vcMessage =  trim(#T-91'You must generate COA cross reference before submitting.':200(888888952)T-91#)
                   oiReturnStatus = -1.
            <M-40 run SetMessage
               (input  vcMessage (icMessage), 
                input  '':U (icArguments), 
                input  'FRWCompany.FRWCompanyCode':U (icFieldName), 
                input  t_sFRWCompany.FRWCompanyCode (icFieldValue), 
                input  'E':U (icType), 
                input  3 (iiSeverity), 
                input  '':U (icRowid), 
                input  'qadfin-159401':U (icFcMsgNumber), 
                input  '':U (icFcExplanation), 
                input  '':U (icFcIdentification), 
                input  '':U (icFcContext), 
                output viFcReturnSuper (oiReturnStatus)) in BFRWChart>
        end.

       
        if t_sFRWCompany.tc_Status = 'D':U
        then do:
            /* Validate if FRWCompany is used in cube, if so, cannot delete */
            <Q-84 run FRWCubeCyByChartAndCompany (first) (Read) (NoCache)
               (input t_sFRWCompany.FRWChart_ID, (ChartID)
                input t_sFRWCompany.Company_ID, (CompanyId)
                output dataset tqFRWCubeCyByChartAndCompany) in BFRWCube>
            find first tqFRWCubeCyByChartAndCompany no-error.
            if available tqFRWCubeCyByChartAndCompany
            then do:
                assign vcMessage = trim(#T-67'Entity is already used in Cube and cannot be deleted.':150(350761424)T-67#)
                       oiReturnStatus = -1.
                <M-36 run SetMessage
                   (input  vcMessage (icMessage), 
                    input  '':U (icArguments), 
                    input  'FRWCompany.FRWCompanyCode':U (icFieldName), 
                    input  t_sFRWCompany.FRWCompanyCode (icFieldValue), 
                    input  'E':U (icType), 
                    input  3 (iiSeverity), 
                    input  '':U (icRowid), 
                    input  'qadfin-386148':U (icFcMsgNumber), 
                    input  '':U (icFcExplanation), 
                    input  '':U (icFcIdentification), 
                    input  '':U (icFcContext), 
                    output viFcReturnSuper (oiReturnStatus)) in BFRWChart>
            end. 

        end. /* if t_sFRWCompany.tc_Status = 'D' */        
    end. /* for each t_sFRWCompany  */   

    for each tChartCOACrossRef break by tChartCOACrossRef.tiCompanyId:
        if first-of (tChartCOACrossRef.tiCompanyId)
        then do:
            if not can-find (first t_sFRWCompany where t_sFRWCompany.Company_ID = tChartCOACrossRef.tiCompanyId)
            then do:
                assign vcMessage = trim(#T-97'You must generate COA cross reference before submitting.':200(888888952)T-97#)
                       oiReturnStatus = -1.
                <M-89 run SetMessage
                   (input  vcMessage (icMessage), 
                    input  '':U (icArguments), 
                    input  'FRWCompany.FRWCompanyCode':U (icFieldName), 
                    input  t_sFRWCompany.FRWCompanyCode (icFieldValue), 
                    input  'E':U (icType), 
                    input  3 (iiSeverity), 
                    input  '':U (icRowid), 
                    input  'qadfin-367222':U (icFcMsgNumber), 
                    input  '':U (icFcExplanation), 
                    input  '':U (icFcIdentification), 
                    input  '':U (icFcContext), 
                    output viFcReturnSuper (oiReturnStatus)) in BFRWChart>
            end.
        end. /* if first-of (tChartCOACrossRef.tiCompanyId) */
    end. /* for each tChartCOACrossRef */
end. /* MAIN_BLOCK: */