project QadFinancials > class BFRWChart > method InitializeChartCOACrossRef

Description

Initialize tChartCOACrossRef temp-table from FRWCompany


Parameters


tChartCOACrossRefoutputtemp-table
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


unused


program code (program1/bfrwchart.p)

/**************************************************************************/
/* This method will initialize COA Cross Ref for chart entity             */
/**************************************************************************/
MAINBLOCK:
do on error undo, throw:
    empty temp-table tChartCOACrossRef.
    for each t_iFRWChart:
        for each t_iFRWCompany where t_iFRWCompany.FRWChart_ID = t_IFRWChart.FRWChart_id and t_iFRWCompany.FRWShSetComb_ID <> 0:
            for each t_iFRWShSetComb where t_iFRWShSetComb.FRWShSetComb_ID = t_iFRWCompany.FRWShSetComb_ID:
                <Q-9 run CompanyByAll (all) (Read) (NoCache)
                   (input t_iFRWCompany.Company_ID, (CompanyId)
                    input ?, (CompanyCode)
                    input ?, (CompanyIsActive)
                    output dataset tqCompanyByAll) in BCompany>
                find first tqCompanyByAll no-error.
                if available tqCompanyByAll
                then do:
                    create tChartCOACrossRef.
                    assign tChartCOACrossRef.tiCompanyId = t_iFRWCompany.Company_ID
                           tChartCOACrossRef.tcCompanyCode = tqCompanyByAll.tcCompanyCode
                           tChartCOACrossRef.tcCompanyDesc = tqCompanyByAll.tcCompanyDescription
                           tChartCOACrossRef.tcSharedSetType = {&SHAREDSETTYPE-GL}
                           tChartCOACrossRef.tcSourceSharedSetCode = t_iFRWShSetComb.FRWShSetCombGLSSCode
                           tChartCOACrossRef.tiSourceSharedSetId = t_iFRWShSetComb.GLSharedSet_ID
                           tChartCOACrossRef.tcTargetSharedSetCode = t_iFRWChart.tcGLSharedSetCode 
                           tChartCOACrossRef.tiTargetSharedSetId = t_iFRWChart.GLSharedSet_ID
                           tChartCOACrossRef.tiCOACrossRefId = t_iFRWShSetComb.GLCOACrossRef_ID
                           tChartCOACrossRef.tcCOACrossRefCode = t_iFRWShSetComb.FRWShSetCombGLCOACRCode
                           tChartCOACrossRef.tiFRWShSetCombId =  t_iFRWShSetComb.FRWShSetComb_ID
                           tChartCOACrossRef.tiDomainID = t_iFRWShSetComb.Domain_ID.
                      
                    create tChartCOACrossRef.
                    assign tChartCOACrossRef.tiCompanyId = t_iFRWCompany.Company_ID
                           tChartCOACrossRef.tcCompanyCode = tqCompanyByAll.tcCompanyCode
                           tChartCOACrossRef.tcCompanyDesc = tqCompanyByAll.tcCompanyDescription
                           tChartCOACrossRef.tcSharedSetType = {&SHAREDSETTYPE-DIVISION}
                           tChartCOACrossRef.tcSourceSharedSetCode = t_iFRWShSetComb.FRWShSetCombDIVSSCode
                           tChartCOACrossRef.tiSourceSharedSetId = t_iFRWShSetComb.DivisionSharedSet_ID
                           tChartCOACrossRef.tcTargetSharedSetCode = t_iFRWChart.tcDivisionSharedSetCode
                           tChartCOACrossRef.tiTargetSharedSetId = t_iFRWChart.DivisionSharedSet_ID
                           tChartCOACrossRef.tiCOACrossRefId = t_iFRWShSetComb.DivCOACOACrossRef_ID
                           tChartCOACrossRef.tcCOACrossRefCode = t_iFRWShSetComb.FRWShSetCombDivCOACRCode
                           tChartCOACrossRef.tiFRWShSetCombId =  t_iFRWShSetComb.FRWShSetComb_ID
                           tChartCOACrossRef.tiDomainID = t_iFRWShSetComb.Domain_ID.
    
                    create tChartCOACrossRef.
                    assign tChartCOACrossRef.tiCompanyId = t_iFRWCompany.Company_ID
                           tChartCOACrossRef.tcCompanyCode = tqCompanyByAll.tcCompanyCode
                           tChartCOACrossRef.tcCompanyDesc = tqCompanyByAll.tcCompanyDescription
                           tChartCOACrossRef.tcSharedSetType = {&SHAREDSETTYPE-COSTCENTRE}
                           tChartCOACrossRef.tcSourceSharedSetCode = t_iFRWShSetComb.FRWShSetCombCCSSCode
                           tChartCOACrossRef.tiSourceSharedSetId = t_iFRWShSetComb.CostCentreSharedSet_ID
                           tChartCOACrossRef.tcTargetSharedSetCode = t_iFRWChart.tcCostCentreSharedSetCode
                           tChartCOACrossRef.tiTargetSharedSetId = t_iFRWChart.CostCentreSharedSet_ID
                           tChartCOACrossRef.tiCOACrossRefId = t_iFRWShSetComb.CCCOACOACrossRef_ID
                           tChartCOACrossRef.tcCOACrossRefCode = t_iFRWShSetComb.FRWShSetCombCCCOACRCode
                           tChartCOACrossRef.tiFRWShSetCombId =  t_iFRWShSetComb.FRWShSetComb_ID
                           tChartCOACrossRef.tiDomainID = t_iFRWShSetComb.Domain_ID.
    
                    create tChartCOACrossRef.
                    assign tChartCOACrossRef.tiCompanyId = t_iFRWCompany.Company_ID
                           tChartCOACrossRef.tcCompanyCode = tqCompanyByAll.tcCompanyCode
                           tChartCOACrossRef.tcCompanyDesc = tqCompanyByAll.tcCompanyDescription
                           tChartCOACrossRef.tcSharedSetType = {&SHAREDSETTYPE-PROJECT}
                           tChartCOACrossRef.tcSourceSharedSetCode = t_iFRWShSetComb.FRWShSetCombPrjSSCode
                           tChartCOACrossRef.tiSourceSharedSetId = t_iFRWShSetComb.ProjectSharedSet_ID
                           tChartCOACrossRef.tcTargetSharedSetCode = t_iFRWChart.tcProjectSharedSetCode
                           tChartCOACrossRef.tiTargetSharedSetId = t_iFRWChart.ProjectSharedSet_ID
                           tChartCOACrossRef.tiCOACrossRefId = t_iFRWShSetComb.PrjCOACOACrossRef_ID
                           tChartCOACrossRef.tcCOACrossRefCode = t_iFRWShSetComb.FRWShSetCombPrjCOACRCode
                           tChartCOACrossRef.tiFRWShSetCombId =  t_iFRWShSetComb.FRWShSetComb_ID
                           tChartCOACrossRef.tiDomainID = t_iFRWShSetComb.Domain_ID.
    
                    create tChartCOACrossRef.
                    assign tChartCOACrossRef.tiCompanyId = t_iFRWCompany.Company_ID
                           tChartCOACrossRef.tcCompanyCode = tqCompanyByAll.tcCompanyCode
                           tChartCOACrossRef.tcCompanyDesc = tqCompanyByAll.tcCompanyDescription
                           tChartCOACrossRef.tcSharedSetType = {&COACROSSREFTYPE-COMBINED}
                           tChartCOACrossRef.tiCOACrossRefId = t_iFRWShSetComb.CombCOACOACrossRef_ID
                           tChartCOACrossRef.tcCOACrossRefCode = t_iFRWShSetComb.FRWShSetCombCombCOACRCode
                           tChartCOACrossRef.tiFRWShSetCombId =  t_iFRWShSetComb.FRWShSetComb_ID
                           tChartCOACrossRef.tcAllSets = t_iFRWShSetComb.FRWShSetCombAllSets
                           tChartCOACrossRef.tiDomainID = t_iFRWShSetComb.Domain_ID
                           tChartCOACrossRef.tcTargetSharedSetCode = t_iFRWShSetComb.FRWShSetCombFRWChartCode.
                    <Q-61 run DomainsPrim (all) (Read) (NoCache)
                           (input t_iFRWShSetComb.Domain_ID, (DomainID)
                            input ?, (DomainCode)
                            output dataset tqDomainsPrim) in BDomain>
                    for first tqDomainsPrim:
                        tChartCOACrossRef.tcSourceSharedSetCode = tqDomainsPrim.tcDomainCode.
                    end.
                end. /*  if available tqCompanyByAll */
            end. /* for each t_iFRWShSetComb */
        end. /* for each t_iFRWCompany */
    end. /* for each t_iFRWChart */
    /* Assign COA Cross Ref calculated code and COA Cross Ref Description */
    for each tChartCOACrossRef:
        if tChartCOACrossRef.tcCOACrossRefCode = {&COACROSSREFCODE-NOTNEEDED}
        then assign tChartCOACrossRef.tcCOACrossRefCodeCalc = {&COACROSSREFCODE-NOTNEEDED-TR}.
        else assign tChartCOACrossRef.tcCOACrossRefCodeCalc = tChartCOACrossRef.tcCOACrossRefCode.
        if trim(tChartCOACrossRef.tcCOACrossRefCode) <> "":U and tChartCOACrossRef.tcCOACrossRefCode <> ? 
            and tChartCOACrossRef.tcCOACrossRefCode <> {&COACROSSREFCODE-NOTNEEDED}
        then do:
            <Q-51 run COACrossRefByCodeAndSourceDomain (all) (Read) (NoCache)
               (input tChartCOACrossRef.tcCOACrossRefCode, (COACrossRefCode)
                input ?, (SourceDomain_ID)
                output dataset tqCOACrossRefByCodeSourceDomain) in BCOACrossRef>
            for first tqCOACrossRefByCodeSourceDomain:
                assign tChartCOACrossRef.tcCOACrossRefDesc = tqCOACrossRefByCodeSourceDomain.tcCOACrossRefDescription.
                if tChartCOACrossRef.tiTargetDomainId = ? or tChartCOACrossRef.tiTargetDomainId = 0
                then assign tChartCOACrossRef.tiTargetDomainId = tqCOACrossRefByCodeSourceDomain.tiTargetDomain_ID.
                if tChartCOACrossRef.tiDomainID = ? or tChartCOACrossRef.tiDomainID = 0
                then assign tChartCOACrossRef.tiDomainID = tqCOACrossRefByCodeSourceDomain.tiSourceDomain_ID.
            end. /* for first tqCOACrossRefByCodeSourceDomain */
        end. /*  if trim(tChartCOACrossRef.tcCOACrossRefCode) <> "":U */
        else assign tChartCOACrossRef.tcCOACrossRefDesc = "":U.
    end. /* for each tChartCOACrossRef */
end. /* MAINBLOCK */