project QadFinancials > class BMirroringGL > method ValidateComponentPre


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BMirroringGL.ValidateComponent


program code (program4/bmirroringgl.p)

assign oiReturnStatus = -98
       viLocalStatus  = 0.

for each t_sMirroringGL:
    
    /*Assigning t_sMirroringGL.Company_ID */
   if (t_sMirroringGL.Company_ID = 0 or t_sMirroringGL.Company_ID = ?) and
       t_sMirroringGL.tcCompanyCode <> "":U                            and
       t_sMirroringGL.tcCompanyCode <> ?                               and
       t_sMirroringGL.tcDomainCode <> "":U                             and
       t_sMirroringGL.tcDomainCode <> ?
    then do:
        <Q-81 run CompanyByCompanyCodeDomainCode (all) (Read) (NoCache)
           (input ?, (CompanyId)
            input t_sMirroringGL.tcCompanyCode, (CompanyCode)
            input t_sMirroringGL.tcDomainCode, (DomainCode)
            input ?, (DomainId)
            input ?, (CompanyIsActive)
            output dataset tqCompanyByCompanyCodeDomainCode) in BCompany>
        
        find first tqCompanyByCompanyCodeDomainCode where
                   tqCompanyByCompanyCodeDomainCode.tcCompanyCode = t_sMirroringGL.tcCompanyCode and
                   tqCompanyByCompanyCodeDomainCode.tcDomainCode  = t_sMirroringGL.tcDomainCode no-error.
        if available tqCompanyByCompanyCodeDomainCode
        then assign t_sMirroringGL.Company_ID = tqCompanyByCompanyCodeDomainCode.tiCompany_ID.      
    end. 
    
    if not vlGLByCodeStarted
    then do:
        <Q-4 run GLByCode  (Start) in BGL >
        assign vlGLByCodeStarted = true.
    end.
/*fill the Read-Only Related Key Business Fields (RKBF)  to make sure we can use them for validations.*/
    <Q-3 run GLByCode (all) (Read) (NoCache)
       (input t_sMirroringGL.Company_ID, (CompanyId)
        input t_sMirroringGL.tcSource1GLCode, (GLCode)
        output dataset tqGLByCode) in BGL >
    find first tqGLByCode 
        where tqGLByCode.tcGLCode = t_sMirroringGL.tcSource1GLCode
        no-error.
    if available tqGLByCode
    then assign 
        t_sMirroringGL.tcSource1GLTypeCode   = tqGLByCode.tcGLTypeCode
        t_sMirroringGL.tcSource1GLSystemType = tqGLByCode.tcGLSystemTypeCode.

    <Q-6 run GLByCode (all) (Read) (NoCache)
       (input t_sMirroringGL.Company_ID, (CompanyId)
        input t_sMirroringGL.tcSource2GLCode, (GLCode)
        output dataset tqGLByCode) in BGL >
    find first tqGLByCode 
        where tqGLByCode.tcGLCode = t_sMirroringGL.tcSource2GLCode
        no-error.
    if available tqGLByCode
    then assign 
        t_sMirroringGL.tcSource2GLTypeCode   = tqGLByCode.tcGLTypeCode
        t_sMirroringGL.tcSource2GLSystemType = tqGLByCode.tcGLSystemTypeCode.

    <Q-7 run GLByCode (all) (Read) (NoCache)
       (input t_sMirroringGL.Company_ID, (CompanyId)
        input t_sMirroringGL.tcMirror1GLCode, (GLCode)
        output dataset tqGLByCode) in BGL >
    find first tqGLByCode 
        where tqGLByCode.tcGLCode = t_sMirroringGL.tcMirror1GLCode
        no-error.
    if available tqGLByCode
    then assign 
        t_sMirroringGL.tcMirror1GLTypeCode   = tqGLByCode.tcGLTypeCode.

    <Q-8 run GLByCode (all) (Read) (NoCache)
       (input t_sMirroringGL.Company_ID, (CompanyId)
        input t_sMirroringGL.tcMirror2GLCode, (GLCode)
        output dataset tqGLByCode) in BGL >
    find first tqGLByCode 
        where tqGLByCode.tcGLCode = t_sMirroringGL.tcMirror2GLCode
        no-error.
    if available tqGLByCode
    then assign 
        t_sMirroringGL.tcMirror2GLTypeCode   = tqGLByCode.tcGLTypeCode.
        
end. /* for each t_sMirroringGL: */

if vlGLByCodeStarted
then do:
    <Q-5 run GLByCode  (Stop) in BGL >
end.

assign oiReturnStatus = viLocalStatus.