project QadFinancials > class TFRWTreeView > method GetFRWTreeLevel2NodeRetriveCubeDim


Parameters


icTargetChartinputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method TFRWTreeView.GetFRWTreeLevel2Node
method TFRWTreeView.GetFRWTreeLevel3Node


program code (program1/tfrwtreeview.p)


for each tcube, each tancode:
   assign vidimcount = 0.
   repeat viancodecount = 1 to num-entries(tancode.tcancode):
   for first frwancode where frwancode.frwancodecode = entry(viancodecount,tancode.tcancode)and frwancode.frwancodefrwchartcode = ictargetchart no-lock,
                                  each frwancodeelem of frwancode no-lock:
        assign vidimcount = vidimcount + 1.
      /* GL with a range are expected to be used often, so this gets a special treatment first - performance */
         if frwancodeelem.frwancodeelemcoatype = "gl" and
          frwancodeelem.frwancodeelemmaskrange2 <> "" then do:
                for each frwcubedim where frwcubedim.frwcubedimfrwcubecode = tcube.tccubename and
                                frwcubedim.frwcubedimglcode >= frwancodeelem.frwancodeelemmaskrange1 and
                                frwcubedim.frwcubedimglcode <= frwancodeelem.frwancodeelemmaskrange2 no-lock:
                  find tanalelemcubedim where  tanalelemcubedim.tccubename =  tcube.tccubename and
                     tanalelemcubedim.tcancode = tancode.tcancode and
                     tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id no-error.
                  if not available tanalelemcubedim then do:
                     create tanalelemcubedim.
                     assign tanalelemcubedim.tccubename    = tcube.tccubename
                        tanalelemcubedim.tcancode          = tancode.tcancode
                        tanalelemcubedim.ticubedimid       = frwcubedim.frwcubedim_id
                        tanalelemcubedim.tidimcount        = 1
                        tAnalelemcubedim.tcCompanyCode     = frwcubedim.FRWCubeDimCompanyCode
                        tAnalelemcubedim.tcCurrencyCode    = frwcubedim.FRWCubeDimCurrencyCode
                        tAnalelemcubedim.tcLayerCode       = frwcubedim.FRWCubeDimLayerCode
                        tAnalelemcubedim.tcJournalCode     = frwcubedim.FRWCubeDimJournalCode
                        tAnalelemcubedim.tcGLCode          = frwcubedim.FRWCubeDimGLCode
                        tAnalelemcubedim.tcDivisionCode    = frwcubedim.FRWCubeDimDivisionCode
                        tAnalelemcubedim.tcCostCentreCode  = frwcubedim.FRWCubeDimCostCentreCode
                        tAnalelemcubedim.tcProjectCode     = frwcubedim.FRWCubeDimProjectCode
                        tAnalelemcubedim.tcSafCode01       = frwcubedim.FRWCubeDimSafCode01
                        tAnalelemcubedim.tcSafCode02       = frwcubedim.FRWCubeDimSafCode02
                        tAnalelemcubedim.tcSafCode03       = frwcubedim.FRWCubeDimSafCode03
                        tAnalelemcubedim.tcSafCode04       = frwcubedim.FRWCubeDimSafCode04
                        tAnalelemcubedim.tcSafCode05       = frwcubedim.FRWCubeDimSafCode05
                        tAnalelemcubedim.tcSafCode06       = frwcubedim.FRWCubeDimSafCode06
                        tAnalelemcubedim.tcSafCode07       = frwcubedim.FRWCubeDimSafCode07
                        tAnalelemcubedim.tcSafCode08       = frwcubedim.FRWCubeDimSafCode08
                        tAnalelemcubedim.tcSafCode09       = frwcubedim.FRWCubeDimSafCode09
                        tAnalelemcubedim.tcSafCode10       = frwcubedim.FRWCubeDimSafCode10
                        tAnalelemcubedim.tcDescription     = frwcubedim.FRWCubeDimGLDescr
                        tAnalelemcubedim.tcICInterco       = frwcubedim.FRWCubeDimICInterco.
                  end.
                  else do:
                     assign tanalelemcubedim.tidimcount = tanalelemcubedim.tidimcount + 1.
                  end.
                end.  /* for each cube dim */
        end.
      else do:  /* if no gl range */
         for each frwancodeelemdet of frwancodeelem no-lock:
            /* code added for the case that the user made the range smaller and the frwancodeelemdet still contains records that fall outside the range */
            if frwancodeelem.frwancodeelemmaskrange2 <> "" and
               (frwancodeelemdet.frwancodeelemdetcode < frwancodeelem.frwancodeelemmaskrange1 or
               frwancodeelemdet.frwancodeelemdetcode > frwancodeelem.frwancodeelemmaskrange2)
            then next.
            if frwancodeelem.frwancodeelemmaskrange2 <> "" and
               (frwancodeelemdet.frwancodeelemdetcode < frwancodeelem.frwancodeelemmaskrange1 or
               frwancodeelemdet.frwancodeelemdetcode > frwancodeelem.frwancodeelemmaskrange2)
            then next.
            if frwancodeelem.frwancodeelemmask <> "" and
               not frwancodeelemdet.frwancodeelemdetcode begins frwancodeelem.frwancodeelemmask
            then next.
            if frwancodeelem.frwancodeelemcoatype = "company" then do:
               for each frwcubedim where frwcubedim.frwcubedimfrwcubecode = tcube.tccubename and
                                   frwcubedim.frwcubedimcompanycode = frwancodeelemdet.frwancodeelemdetcode no-lock:
                  find tanalelemcubedim where  tanalelemcubedim.tccubename =  tcube.tccubename and
                     tanalelemcubedim.tcancode = tancode.tcancode and
                     tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id no-error.
                  if not available tanalelemcubedim then do:
                     create tanalelemcubedim.
                     assign tanalelemcubedim.tccubename =  tcube.tccubename
                        tanalelemcubedim.tcancode = tancode.tcancode
                        tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id
                        tanalelemcubedim.tidimcount = 1
                        tAnalelemcubedim.tcCompanyCode     = frwcubedim.FRWCubeDimCompanyCode
                        tAnalelemcubedim.tcCurrencyCode    = frwcubedim.FRWCubeDimCurrencyCode
                        tAnalelemcubedim.tcLayerCode       = frwcubedim.FRWCubeDimLayerCode
                        tAnalelemcubedim.tcJournalCode     = frwcubedim.FRWCubeDimJournalCode
                        tAnalelemcubedim.tcGLCode          = frwcubedim.FRWCubeDimGLCode
                        tAnalelemcubedim.tcDivisionCode    = frwcubedim.FRWCubeDimDivisionCode
                        tAnalelemcubedim.tcCostCentreCode  = frwcubedim.FRWCubeDimCostCentreCode
                        tAnalelemcubedim.tcProjectCode     = frwcubedim.FRWCubeDimProjectCode
                        tAnalelemcubedim.tcSafCode01       = frwcubedim.FRWCubeDimSafCode01
                        tAnalelemcubedim.tcSafCode02       = frwcubedim.FRWCubeDimSafCode02
                        tAnalelemcubedim.tcSafCode03       = frwcubedim.FRWCubeDimSafCode03
                        tAnalelemcubedim.tcSafCode04       = frwcubedim.FRWCubeDimSafCode04
                        tAnalelemcubedim.tcSafCode05       = frwcubedim.FRWCubeDimSafCode05
                        tAnalelemcubedim.tcSafCode06       = frwcubedim.FRWCubeDimSafCode06
                        tAnalelemcubedim.tcSafCode07       = frwcubedim.FRWCubeDimSafCode07
                        tAnalelemcubedim.tcSafCode08       = frwcubedim.FRWCubeDimSafCode08
                        tAnalelemcubedim.tcSafCode09       = frwcubedim.FRWCubeDimSafCode09
                        tAnalelemcubedim.tcSafCode10       = frwcubedim.FRWCubeDimSafCode10
                        tAnalelemcubedim.tcDescription     = frwcubedim.FRWCubeDimGLDescr
                        tAnalelemcubedim.tcICInterco       = frwcubedim.FRWCubeDimICInterco.
                  end.
                  else do:
                     assign tanalelemcubedim.tidimcount = tanalelemcubedim.tidimcount + 1.
                  end.
                end.  /* for each cube dim */
            end. /* company */
            if frwancodeelem.frwancodeelemcoatype = "gl" then do:
               for each frwcubedim where frwcubedim.frwcubedimfrwcubecode = tcube.tccubename and
                                   frwcubedim.frwcubedimglcode = frwancodeelemdet.frwancodeelemdetcode no-lock:
                  find tanalelemcubedim where  tanalelemcubedim.tccubename =  tcube.tccubename and
                     tanalelemcubedim.tcancode = tancode.tcancode and
                     tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id no-error.
                  if not available tanalelemcubedim then do:
                     create tanalelemcubedim.
                     assign tanalelemcubedim.tccubename =  tcube.tccubename
                        tanalelemcubedim.tcancode = tancode.tcancode
                        tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id
                        tanalelemcubedim.tidimcount = 1
                        tAnalelemcubedim.tcCompanyCode     = frwcubedim.FRWCubeDimCompanyCode
                        tAnalelemcubedim.tcCurrencyCode    = frwcubedim.FRWCubeDimCurrencyCode
                        tAnalelemcubedim.tcLayerCode       = frwcubedim.FRWCubeDimLayerCode
                        tAnalelemcubedim.tcJournalCode     = frwcubedim.FRWCubeDimJournalCode
                        tAnalelemcubedim.tcGLCode          = frwcubedim.FRWCubeDimGLCode
                        tAnalelemcubedim.tcDivisionCode    = frwcubedim.FRWCubeDimDivisionCode
                        tAnalelemcubedim.tcCostCentreCode  = frwcubedim.FRWCubeDimCostCentreCode
                        tAnalelemcubedim.tcProjectCode     = frwcubedim.FRWCubeDimProjectCode
                        tAnalelemcubedim.tcSafCode01       = frwcubedim.FRWCubeDimSafCode01
                        tAnalelemcubedim.tcSafCode02       = frwcubedim.FRWCubeDimSafCode02
                        tAnalelemcubedim.tcSafCode03       = frwcubedim.FRWCubeDimSafCode03
                        tAnalelemcubedim.tcSafCode04       = frwcubedim.FRWCubeDimSafCode04
                        tAnalelemcubedim.tcSafCode05       = frwcubedim.FRWCubeDimSafCode05
                        tAnalelemcubedim.tcSafCode06       = frwcubedim.FRWCubeDimSafCode06
                        tAnalelemcubedim.tcSafCode07       = frwcubedim.FRWCubeDimSafCode07
                        tAnalelemcubedim.tcSafCode08       = frwcubedim.FRWCubeDimSafCode08
                        tAnalelemcubedim.tcSafCode09       = frwcubedim.FRWCubeDimSafCode09
                        tAnalelemcubedim.tcSafCode10       = frwcubedim.FRWCubeDimSafCode10
                        tAnalelemcubedim.tcDescription     = frwcubedim.FRWCubeDimGLDescr                        
                        tAnalelemcubedim.tcICInterco       = frwcubedim.FRWCubeDimICInterco.
                  end.
                  else do:
                     assign tanalelemcubedim.tidimcount = tanalelemcubedim.tidimcount + 1.
                  end.
                end.  /* for each cube dim */
            end. /* GL */
            if frwancodeelem.frwancodeelemcoatype = "division" then do:
               for each frwcubedim where frwcubedim.frwcubedimfrwcubecode = tcube.tccubename and
                                   frwcubedim.frwcubedimdivisioncode = frwancodeelemdet.frwancodeelemdetcode no-lock:
                  find tanalelemcubedim where  tanalelemcubedim.tccubename =  tcube.tccubename and
                     tanalelemcubedim.tcancode = tancode.tcancode and
                     tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id no-error.
                  if not available tanalelemcubedim then do:
                     create tanalelemcubedim.
                     assign tanalelemcubedim.tccubename =  tcube.tccubename
                        tanalelemcubedim.tcancode = tancode.tcancode
                        tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id
                        tanalelemcubedim.tidimcount = 1
                        tAnalelemcubedim.tcCompanyCode     = frwcubedim.FRWCubeDimCompanyCode
                        tAnalelemcubedim.tcCurrencyCode    = frwcubedim.FRWCubeDimCurrencyCode
                        tAnalelemcubedim.tcLayerCode       = frwcubedim.FRWCubeDimLayerCode
                        tAnalelemcubedim.tcJournalCode     = frwcubedim.FRWCubeDimJournalCode
                        tAnalelemcubedim.tcGLCode          = frwcubedim.FRWCubeDimGLCode
                        tAnalelemcubedim.tcDivisionCode    = frwcubedim.FRWCubeDimDivisionCode
                        tAnalelemcubedim.tcCostCentreCode  = frwcubedim.FRWCubeDimCostCentreCode
                        tAnalelemcubedim.tcProjectCode     = frwcubedim.FRWCubeDimProjectCode
                        tAnalelemcubedim.tcSafCode01       = frwcubedim.FRWCubeDimSafCode01
                        tAnalelemcubedim.tcSafCode02       = frwcubedim.FRWCubeDimSafCode02
                        tAnalelemcubedim.tcSafCode03       = frwcubedim.FRWCubeDimSafCode03
                        tAnalelemcubedim.tcSafCode04       = frwcubedim.FRWCubeDimSafCode04
                        tAnalelemcubedim.tcSafCode05       = frwcubedim.FRWCubeDimSafCode05
                        tAnalelemcubedim.tcSafCode06       = frwcubedim.FRWCubeDimSafCode06
                        tAnalelemcubedim.tcSafCode07       = frwcubedim.FRWCubeDimSafCode07
                        tAnalelemcubedim.tcSafCode08       = frwcubedim.FRWCubeDimSafCode08
                        tAnalelemcubedim.tcSafCode09       = frwcubedim.FRWCubeDimSafCode09
                        tAnalelemcubedim.tcSafCode10       = frwcubedim.FRWCubeDimSafCode10
                        tAnalelemcubedim.tcDescription     = frwcubedim.FRWCubeDimGLDescr
                        tAnalelemcubedim.tcICInterco       = frwcubedim.FRWCubeDimICInterco.
                  end.
                  else do:
                     assign tanalelemcubedim.tidimcount = tanalelemcubedim.tidimcount + 1.
                  end.
                end.  /* for each cube dim */
            end. /* division */
            if frwancodeelem.frwancodeelemcoatype = "costcentre" then do:
               for each frwcubedim where frwcubedim.frwcubedimfrwcubecode = tcube.tccubename and
                                   frwcubedim.frwcubedimcostcentrecode = frwancodeelemdet.frwancodeelemdetcode no-lock:
                  find tanalelemcubedim where  tanalelemcubedim.tccubename =  tcube.tccubename and
                     tanalelemcubedim.tcancode = tancode.tcancode and
                     tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id no-error.
                  if not available tanalelemcubedim then do:
                     create tanalelemcubedim.
                     assign tanalelemcubedim.tccubename =  tcube.tccubename
                        tanalelemcubedim.tcancode = tancode.tcancode
                        tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id
                        tanalelemcubedim.tidimcount = 1
                        tAnalelemcubedim.tcCompanyCode     = frwcubedim.FRWCubeDimCompanyCode
                        tAnalelemcubedim.tcCurrencyCode    = frwcubedim.FRWCubeDimCurrencyCode
                        tAnalelemcubedim.tcLayerCode       = frwcubedim.FRWCubeDimLayerCode
                        tAnalelemcubedim.tcJournalCode     = frwcubedim.FRWCubeDimJournalCode
                        tAnalelemcubedim.tcGLCode          = frwcubedim.FRWCubeDimGLCode
                        tAnalelemcubedim.tcDivisionCode    = frwcubedim.FRWCubeDimDivisionCode
                        tAnalelemcubedim.tcCostCentreCode  = frwcubedim.FRWCubeDimCostCentreCode
                        tAnalelemcubedim.tcProjectCode     = frwcubedim.FRWCubeDimProjectCode
                        tAnalelemcubedim.tcSafCode01       = frwcubedim.FRWCubeDimSafCode01
                        tAnalelemcubedim.tcSafCode02       = frwcubedim.FRWCubeDimSafCode02
                        tAnalelemcubedim.tcSafCode03       = frwcubedim.FRWCubeDimSafCode03
                        tAnalelemcubedim.tcSafCode04       = frwcubedim.FRWCubeDimSafCode04
                        tAnalelemcubedim.tcSafCode05       = frwcubedim.FRWCubeDimSafCode05
                        tAnalelemcubedim.tcSafCode06       = frwcubedim.FRWCubeDimSafCode06
                        tAnalelemcubedim.tcSafCode07       = frwcubedim.FRWCubeDimSafCode07
                        tAnalelemcubedim.tcSafCode08       = frwcubedim.FRWCubeDimSafCode08
                        tAnalelemcubedim.tcSafCode09       = frwcubedim.FRWCubeDimSafCode09
                        tAnalelemcubedim.tcSafCode10       = frwcubedim.FRWCubeDimSafCode10
                        tAnalelemcubedim.tcDescription     = frwcubedim.FRWCubeDimGLDescr
                        tAnalelemcubedim.tcICInterco       = frwcubedim.FRWCubeDimICInterco.
                  end.
                  else do:
                     assign tanalelemcubedim.tidimcount = tanalelemcubedim.tidimcount + 1.
                  end.
                end.  /* for each cube dim */
            end. /* costcentre */
            if frwancodeelem.frwancodeelemcoatype = "project" then do:
               for each frwcubedim where frwcubedim.frwcubedimfrwcubecode = tcube.tccubename and
                                   frwcubedim.frwcubedimprojectcode = frwancodeelemdet.frwancodeelemdetcode no-lock:
                  find tanalelemcubedim where  tanalelemcubedim.tccubename =  tcube.tccubename and
                     tanalelemcubedim.tcancode = tancode.tcancode and
                     tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id no-error.
                  if not available tanalelemcubedim then do:
                     create tanalelemcubedim.
                     assign tanalelemcubedim.tccubename =  tcube.tccubename
                        tanalelemcubedim.tcancode = tancode.tcancode
                        tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id
                        tanalelemcubedim.tidimcount = 1
                        tAnalelemcubedim.tcCompanyCode     = frwcubedim.FRWCubeDimCompanyCode
                        tAnalelemcubedim.tcCurrencyCode    = frwcubedim.FRWCubeDimCurrencyCode
                        tAnalelemcubedim.tcLayerCode       = frwcubedim.FRWCubeDimLayerCode
                        tAnalelemcubedim.tcJournalCode     = frwcubedim.FRWCubeDimJournalCode
                        tAnalelemcubedim.tcGLCode          = frwcubedim.FRWCubeDimGLCode
                        tAnalelemcubedim.tcDivisionCode    = frwcubedim.FRWCubeDimDivisionCode
                        tAnalelemcubedim.tcCostCentreCode  = frwcubedim.FRWCubeDimCostCentreCode
                        tAnalelemcubedim.tcProjectCode     = frwcubedim.FRWCubeDimProjectCode
                        tAnalelemcubedim.tcSafCode01       = frwcubedim.FRWCubeDimSafCode01
                        tAnalelemcubedim.tcSafCode02       = frwcubedim.FRWCubeDimSafCode02
                        tAnalelemcubedim.tcSafCode03       = frwcubedim.FRWCubeDimSafCode03
                        tAnalelemcubedim.tcSafCode04       = frwcubedim.FRWCubeDimSafCode04
                        tAnalelemcubedim.tcSafCode05       = frwcubedim.FRWCubeDimSafCode05
                        tAnalelemcubedim.tcSafCode06       = frwcubedim.FRWCubeDimSafCode06
                        tAnalelemcubedim.tcSafCode07       = frwcubedim.FRWCubeDimSafCode07
                        tAnalelemcubedim.tcSafCode08       = frwcubedim.FRWCubeDimSafCode08
                        tAnalelemcubedim.tcSafCode09       = frwcubedim.FRWCubeDimSafCode09
                        tAnalelemcubedim.tcSafCode10       = frwcubedim.FRWCubeDimSafCode10
                        tAnalelemcubedim.tcDescription     = frwcubedim.FRWCubeDimGLDescr
                        tAnalelemcubedim.tcICInterco       = frwcubedim.FRWCubeDimICInterco.
                  end.
                  else do:
                     assign tanalelemcubedim.tidimcount = tanalelemcubedim.tidimcount + 1.
                  end.
                end.  /* for each cube dim */
            end. /* Project */
            if frwancodeelem.frwancodeelemcoatype = "layer" then do:
               for each frwcubedim where frwcubedim.frwcubedimfrwcubecode = tcube.tccubename and
                                   frwcubedim.frwcubedimlayercode = frwancodeelemdet.frwancodeelemdetcode no-lock:
                  find tanalelemcubedim where  tanalelemcubedim.tccubename =  tcube.tccubename and
                     tanalelemcubedim.tcancode = tancode.tcancode and
                     tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id no-error.
                  if not available tanalelemcubedim then do:
                     create tanalelemcubedim.
                     assign tanalelemcubedim.tccubename =  tcube.tccubename
                        tanalelemcubedim.tcancode = tancode.tcancode
                        tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id
                        tanalelemcubedim.tidimcount = 1
                        tAnalelemcubedim.tcCompanyCode     = frwcubedim.FRWCubeDimCompanyCode
                        tAnalelemcubedim.tcCurrencyCode    = frwcubedim.FRWCubeDimCurrencyCode
                        tAnalelemcubedim.tcLayerCode       = frwcubedim.FRWCubeDimLayerCode
                        tAnalelemcubedim.tcJournalCode     = frwcubedim.FRWCubeDimJournalCode
                        tAnalelemcubedim.tcGLCode          = frwcubedim.FRWCubeDimGLCode
                        tAnalelemcubedim.tcDivisionCode    = frwcubedim.FRWCubeDimDivisionCode
                        tAnalelemcubedim.tcCostCentreCode  = frwcubedim.FRWCubeDimCostCentreCode
                        tAnalelemcubedim.tcProjectCode     = frwcubedim.FRWCubeDimProjectCode
                        tAnalelemcubedim.tcSafCode01       = frwcubedim.FRWCubeDimSafCode01
                        tAnalelemcubedim.tcSafCode02       = frwcubedim.FRWCubeDimSafCode02
                        tAnalelemcubedim.tcSafCode03       = frwcubedim.FRWCubeDimSafCode03
                        tAnalelemcubedim.tcSafCode04       = frwcubedim.FRWCubeDimSafCode04
                        tAnalelemcubedim.tcSafCode05       = frwcubedim.FRWCubeDimSafCode05
                        tAnalelemcubedim.tcSafCode06       = frwcubedim.FRWCubeDimSafCode06
                        tAnalelemcubedim.tcSafCode07       = frwcubedim.FRWCubeDimSafCode07
                        tAnalelemcubedim.tcSafCode08       = frwcubedim.FRWCubeDimSafCode08
                        tAnalelemcubedim.tcSafCode09       = frwcubedim.FRWCubeDimSafCode09
                        tAnalelemcubedim.tcSafCode10       = frwcubedim.FRWCubeDimSafCode10
                        tAnalelemcubedim.tcDescription     = frwcubedim.FRWCubeDimGLDescr
                        tAnalelemcubedim.tcICInterco       = frwcubedim.FRWCubeDimICInterco.
                  end.
                  else do:
                     assign tanalelemcubedim.tidimcount = tanalelemcubedim.tidimcount + 1.
                  end.
               end.  /* for each cube dim */
            end. /* layer */
            if frwancodeelem.frwancodeelemcoatype = "journal" then do:
               for each frwcubedim where frwcubedim.frwcubedimfrwcubecode = tcube.tccubename and
                                   frwcubedim.journal_id  = int(frwancodeelemdet.frwancodeelemdetvalue) no-lock:
                                    /* FRWCubeDim.FRWCubeDimJournalCode = FRWAnCodeElemDet.FRWAnCodeElemDetCode no-lock: */
                  find tanalelemcubedim where  tanalelemcubedim.tccubename =  tcube.tccubename and
                     tanalelemcubedim.tcancode = tancode.tcancode and
                     tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id no-error.
                  if not available tanalelemcubedim then do:
                     create tanalelemcubedim.
                     assign tanalelemcubedim.tccubename =  tcube.tccubename
                        tanalelemcubedim.tcancode = tancode.tcancode
                        tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id
                        tanalelemcubedim.tidimcount = 1
                        tAnalelemcubedim.tcCompanyCode     = frwcubedim.FRWCubeDimCompanyCode
                        tAnalelemcubedim.tcCurrencyCode    = frwcubedim.FRWCubeDimCurrencyCode
                        tAnalelemcubedim.tcLayerCode       = frwcubedim.FRWCubeDimLayerCode
                        tAnalelemcubedim.tcJournalCode     = frwcubedim.FRWCubeDimJournalCode
                        tAnalelemcubedim.tcGLCode          = frwcubedim.FRWCubeDimGLCode
                        tAnalelemcubedim.tcDivisionCode    = frwcubedim.FRWCubeDimDivisionCode
                        tAnalelemcubedim.tcCostCentreCode  = frwcubedim.FRWCubeDimCostCentreCode
                        tAnalelemcubedim.tcProjectCode     = frwcubedim.FRWCubeDimProjectCode
                        tAnalelemcubedim.tcSafCode01       = frwcubedim.FRWCubeDimSafCode01
                        tAnalelemcubedim.tcSafCode02       = frwcubedim.FRWCubeDimSafCode02
                        tAnalelemcubedim.tcSafCode03       = frwcubedim.FRWCubeDimSafCode03
                        tAnalelemcubedim.tcSafCode04       = frwcubedim.FRWCubeDimSafCode04
                        tAnalelemcubedim.tcSafCode05       = frwcubedim.FRWCubeDimSafCode05
                        tAnalelemcubedim.tcSafCode06       = frwcubedim.FRWCubeDimSafCode06
                        tAnalelemcubedim.tcSafCode07       = frwcubedim.FRWCubeDimSafCode07
                        tAnalelemcubedim.tcSafCode08       = frwcubedim.FRWCubeDimSafCode08
                        tAnalelemcubedim.tcSafCode09       = frwcubedim.FRWCubeDimSafCode09
                        tAnalelemcubedim.tcSafCode10       = frwcubedim.FRWCubeDimSafCode10
                        tAnalelemcubedim.tcDescription     = frwcubedim.FRWCubeDimGLDescr
                        tAnalelemcubedim.tcICInterco       = frwcubedim.FRWCubeDimICInterco.
                  end.
                  else do:
                     assign tanalelemcubedim.tidimcount = tanalelemcubedim.tidimcount + 1.
                  end.
               end.  /* for each cube dim */
            end. /* daybook */
            if frwancodeelem.frwancodeelemcoatype = "currency" then do:
               for each frwcubedim where frwcubedim.frwcubedimfrwcubecode = tcube.tccubename and
                                   frwcubedim.frwcubedimcurrencycode = frwancodeelemdet.frwancodeelemdetcode no-lock:
                  find tanalelemcubedim where  tanalelemcubedim.tccubename =  tcube.tccubename and
                     tanalelemcubedim.tcancode = tancode.tcancode and
                     tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id no-error.
                  if not available tanalelemcubedim then do:
                     create tanalelemcubedim.
                     assign tanalelemcubedim.tccubename =  tcube.tccubename
                        tanalelemcubedim.tcancode = tancode.tcancode
                        tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id
                        tanalelemcubedim.tidimcount = 1
                        tAnalelemcubedim.tcCompanyCode     = frwcubedim.FRWCubeDimCompanyCode
                        tAnalelemcubedim.tcCurrencyCode    = frwcubedim.FRWCubeDimCurrencyCode
                        tAnalelemcubedim.tcLayerCode       = frwcubedim.FRWCubeDimLayerCode
                        tAnalelemcubedim.tcJournalCode     = frwcubedim.FRWCubeDimJournalCode
                        tAnalelemcubedim.tcGLCode          = frwcubedim.FRWCubeDimGLCode
                        tAnalelemcubedim.tcDivisionCode    = frwcubedim.FRWCubeDimDivisionCode
                        tAnalelemcubedim.tcCostCentreCode  = frwcubedim.FRWCubeDimCostCentreCode
                        tAnalelemcubedim.tcProjectCode     = frwcubedim.FRWCubeDimProjectCode
                        tAnalelemcubedim.tcSafCode01       = frwcubedim.FRWCubeDimSafCode01
                        tAnalelemcubedim.tcSafCode02       = frwcubedim.FRWCubeDimSafCode02
                        tAnalelemcubedim.tcSafCode03       = frwcubedim.FRWCubeDimSafCode03
                        tAnalelemcubedim.tcSafCode04       = frwcubedim.FRWCubeDimSafCode04
                        tAnalelemcubedim.tcSafCode05       = frwcubedim.FRWCubeDimSafCode05
                        tAnalelemcubedim.tcSafCode06       = frwcubedim.FRWCubeDimSafCode06
                        tAnalelemcubedim.tcSafCode07       = frwcubedim.FRWCubeDimSafCode07
                        tAnalelemcubedim.tcSafCode08       = frwcubedim.FRWCubeDimSafCode08
                        tAnalelemcubedim.tcSafCode09       = frwcubedim.FRWCubeDimSafCode09
                        tAnalelemcubedim.tcSafCode10       = frwcubedim.FRWCubeDimSafCode10
                        tAnalelemcubedim.tcDescription     = frwcubedim.FRWCubeDimGLDescr
                        tAnalelemcubedim.tcICInterco       = frwcubedim.FRWCubeDimICInterco.
                  end.
                  else do:
                     assign tanalelemcubedim.tidimcount = tanalelemcubedim.tidimcount + 1.
                  end.
               end.  /* for each cube dim */
            end. /* Currency */
            if frwancodeelem.frwancodeelemcoatype = "interco" then do:

               for each frwcubedim where frwcubedim.frwcubedimfrwcubecode = tcube.tccubename and
                                   frwcubedim.frwcubedimicinterco = frwancodeelemdet.frwancodeelemdetcode no-lock:

                  find tanalelemcubedim where  tanalelemcubedim.tccubename =  tcube.tccubename and
                     tanalelemcubedim.tcancode = tancode.tcancode and
                     tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id no-error.
                  if not available tanalelemcubedim then do:
                     create tanalelemcubedim.                     
                     assign tanalelemcubedim.tccubename =  tcube.tccubename
                        tanalelemcubedim.tcancode = tancode.tcancode
                        tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id
                        tanalelemcubedim.tidimcount = 1
                        tAnalelemcubedim.tcCompanyCode     = frwcubedim.FRWCubeDimCompanyCode
                        tAnalelemcubedim.tcCurrencyCode    = frwcubedim.FRWCubeDimCurrencyCode
                        tAnalelemcubedim.tcLayerCode       = frwcubedim.FRWCubeDimLayerCode
                        tAnalelemcubedim.tcJournalCode     = frwcubedim.FRWCubeDimJournalCode
                        tAnalelemcubedim.tcGLCode          = frwcubedim.FRWCubeDimGLCode
                        tAnalelemcubedim.tcDivisionCode    = frwcubedim.FRWCubeDimDivisionCode
                        tAnalelemcubedim.tcCostCentreCode  = frwcubedim.FRWCubeDimCostCentreCode
                        tAnalelemcubedim.tcProjectCode     = frwcubedim.FRWCubeDimProjectCode
                        tAnalelemcubedim.tcSafCode01       = frwcubedim.FRWCubeDimSafCode01
                        tAnalelemcubedim.tcSafCode02       = frwcubedim.FRWCubeDimSafCode02
                        tAnalelemcubedim.tcSafCode03       = frwcubedim.FRWCubeDimSafCode03
                        tAnalelemcubedim.tcSafCode04       = frwcubedim.FRWCubeDimSafCode04
                        tAnalelemcubedim.tcSafCode05       = frwcubedim.FRWCubeDimSafCode05
                        tAnalelemcubedim.tcSafCode06       = frwcubedim.FRWCubeDimSafCode06
                        tAnalelemcubedim.tcSafCode07       = frwcubedim.FRWCubeDimSafCode07
                        tAnalelemcubedim.tcSafCode08       = frwcubedim.FRWCubeDimSafCode08
                        tAnalelemcubedim.tcSafCode09       = frwcubedim.FRWCubeDimSafCode09
                        tAnalelemcubedim.tcSafCode10       = frwcubedim.FRWCubeDimSafCode10
                        tAnalelemcubedim.tcDescription     = frwcubedim.FRWCubeDimGLDescr
                        tAnalelemcubedim.tcICInterco       = frwcubedim.FRWCubeDimICInterco.   
                  end.
                  else do:
                     assign tanalelemcubedim.tidimcount = tanalelemcubedim.tidimcount + 1.
                  end.
               end.  /* for each cube dim */
            end. /* interco */
            if frwancodeelem.frwancodeelemcoatype = "saf1" then do:
               for each frwcubedim where frwcubedim.frwcubedimfrwcubecode = tcube.tccubename and
                                   frwcubedim.frwcubedimsafcode01 = frwancodeelemdet.frwancodeelemdetcode no-lock:
                  find tanalelemcubedim where  tanalelemcubedim.tccubename =  tcube.tccubename and
                     tanalelemcubedim.tcancode = tancode.tcancode and
                     tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id no-error.
                  if not available tanalelemcubedim then do:
                     create tanalelemcubedim.
                     assign tanalelemcubedim.tccubename =  tcube.tccubename
                        tanalelemcubedim.tcancode = tancode.tcancode
                        tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id
                        tanalelemcubedim.tidimcount = 1
                        tAnalelemcubedim.tcCompanyCode     = frwcubedim.FRWCubeDimCompanyCode
                        tAnalelemcubedim.tcCurrencyCode    = frwcubedim.FRWCubeDimCurrencyCode
                        tAnalelemcubedim.tcLayerCode       = frwcubedim.FRWCubeDimLayerCode
                        tAnalelemcubedim.tcJournalCode     = frwcubedim.FRWCubeDimJournalCode
                        tAnalelemcubedim.tcGLCode          = frwcubedim.FRWCubeDimGLCode
                        tAnalelemcubedim.tcDivisionCode    = frwcubedim.FRWCubeDimDivisionCode
                        tAnalelemcubedim.tcCostCentreCode  = frwcubedim.FRWCubeDimCostCentreCode
                        tAnalelemcubedim.tcProjectCode     = frwcubedim.FRWCubeDimProjectCode
                        tAnalelemcubedim.tcSafCode01       = frwcubedim.FRWCubeDimSafCode01
                        tAnalelemcubedim.tcSafCode02       = frwcubedim.FRWCubeDimSafCode02
                        tAnalelemcubedim.tcSafCode03       = frwcubedim.FRWCubeDimSafCode03
                        tAnalelemcubedim.tcSafCode04       = frwcubedim.FRWCubeDimSafCode04
                        tAnalelemcubedim.tcSafCode05       = frwcubedim.FRWCubeDimSafCode05
                        tAnalelemcubedim.tcSafCode06       = frwcubedim.FRWCubeDimSafCode06
                        tAnalelemcubedim.tcSafCode07       = frwcubedim.FRWCubeDimSafCode07
                        tAnalelemcubedim.tcSafCode08       = frwcubedim.FRWCubeDimSafCode08
                        tAnalelemcubedim.tcSafCode09       = frwcubedim.FRWCubeDimSafCode09
                        tAnalelemcubedim.tcSafCode10       = frwcubedim.FRWCubeDimSafCode10
                        tAnalelemcubedim.tcDescription     = frwcubedim.FRWCubeDimGLDescr
                        tAnalelemcubedim.tcICInterco       = frwcubedim.FRWCubeDimICInterco.
                  end.
                  else do:
                     assign tanalelemcubedim.tidimcount = tanalelemcubedim.tidimcount + 1.
                  end.
               end.  /* for each cube dim */
            end. /* saf1 */
            if frwancodeelem.frwancodeelemcoatype = "saf2" then do:
               for each frwcubedim where frwcubedim.frwcubedimfrwcubecode = tcube.tccubename and
                                   frwcubedim.frwcubedimsafcode02 = frwancodeelemdet.frwancodeelemdetcode no-lock:
                  find tanalelemcubedim where  tanalelemcubedim.tccubename =  tcube.tccubename and
                     tanalelemcubedim.tcancode = tancode.tcancode and
                     tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id no-error.
                  if not available tanalelemcubedim then do:
                     create tanalelemcubedim.
                     assign tanalelemcubedim.tccubename =  tcube.tccubename
                        tanalelemcubedim.tcancode = tancode.tcancode
                        tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id
                        tanalelemcubedim.tidimcount = 1
                        tAnalelemcubedim.tcCompanyCode     = frwcubedim.FRWCubeDimCompanyCode
                        tAnalelemcubedim.tcCurrencyCode    = frwcubedim.FRWCubeDimCurrencyCode
                        tAnalelemcubedim.tcLayerCode       = frwcubedim.FRWCubeDimLayerCode
                        tAnalelemcubedim.tcJournalCode     = frwcubedim.FRWCubeDimJournalCode
                        tAnalelemcubedim.tcGLCode          = frwcubedim.FRWCubeDimGLCode
                        tAnalelemcubedim.tcDivisionCode    = frwcubedim.FRWCubeDimDivisionCode
                        tAnalelemcubedim.tcCostCentreCode  = frwcubedim.FRWCubeDimCostCentreCode
                        tAnalelemcubedim.tcProjectCode     = frwcubedim.FRWCubeDimProjectCode
                        tAnalelemcubedim.tcSafCode01       = frwcubedim.FRWCubeDimSafCode01
                        tAnalelemcubedim.tcSafCode02       = frwcubedim.FRWCubeDimSafCode02
                        tAnalelemcubedim.tcSafCode03       = frwcubedim.FRWCubeDimSafCode03
                        tAnalelemcubedim.tcSafCode04       = frwcubedim.FRWCubeDimSafCode04
                        tAnalelemcubedim.tcSafCode05       = frwcubedim.FRWCubeDimSafCode05
                        tAnalelemcubedim.tcSafCode06       = frwcubedim.FRWCubeDimSafCode06
                        tAnalelemcubedim.tcSafCode07       = frwcubedim.FRWCubeDimSafCode07
                        tAnalelemcubedim.tcSafCode08       = frwcubedim.FRWCubeDimSafCode08
                        tAnalelemcubedim.tcSafCode09       = frwcubedim.FRWCubeDimSafCode09
                        tAnalelemcubedim.tcSafCode10       = frwcubedim.FRWCubeDimSafCode10
                        tAnalelemcubedim.tcDescription     = frwcubedim.FRWCubeDimGLDescr
                        tAnalelemcubedim.tcICInterco       = frwcubedim.FRWCubeDimICInterco.
                  end.
                  else do:
                     assign tanalelemcubedim.tidimcount = tanalelemcubedim.tidimcount + 1.
                  end.
               end.  /* for each cube dim */
            end. /* Saf2 */
            if frwancodeelem.frwancodeelemcoatype = "saf3" then do:
               for each frwcubedim where frwcubedim.frwcubedimfrwcubecode = tcube.tccubename and
                                   frwcubedim.frwcubedimsafcode03 = frwancodeelemdet.frwancodeelemdetcode no-lock:
                  find tanalelemcubedim where  tanalelemcubedim.tccubename =  tcube.tccubename and
                     tanalelemcubedim.tcancode = tancode.tcancode and
                     tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id no-error.
                  if not available tanalelemcubedim then do:
                     create tanalelemcubedim.
                     assign tanalelemcubedim.tccubename =  tcube.tccubename
                        tanalelemcubedim.tcancode = tancode.tcancode
                        tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id
                        tanalelemcubedim.tidimcount = 1
                        tAnalelemcubedim.tcCompanyCode     = frwcubedim.FRWCubeDimCompanyCode
                        tAnalelemcubedim.tcCurrencyCode    = frwcubedim.FRWCubeDimCurrencyCode
                        tAnalelemcubedim.tcLayerCode       = frwcubedim.FRWCubeDimLayerCode
                        tAnalelemcubedim.tcJournalCode     = frwcubedim.FRWCubeDimJournalCode
                        tAnalelemcubedim.tcGLCode          = frwcubedim.FRWCubeDimGLCode
                        tAnalelemcubedim.tcDivisionCode    = frwcubedim.FRWCubeDimDivisionCode
                        tAnalelemcubedim.tcCostCentreCode  = frwcubedim.FRWCubeDimCostCentreCode
                        tAnalelemcubedim.tcProjectCode     = frwcubedim.FRWCubeDimProjectCode
                        tAnalelemcubedim.tcSafCode01       = frwcubedim.FRWCubeDimSafCode01
                        tAnalelemcubedim.tcSafCode02       = frwcubedim.FRWCubeDimSafCode02
                        tAnalelemcubedim.tcSafCode03       = frwcubedim.FRWCubeDimSafCode03
                        tAnalelemcubedim.tcSafCode04       = frwcubedim.FRWCubeDimSafCode04
                        tAnalelemcubedim.tcSafCode05       = frwcubedim.FRWCubeDimSafCode05
                        tAnalelemcubedim.tcSafCode06       = frwcubedim.FRWCubeDimSafCode06
                        tAnalelemcubedim.tcSafCode07       = frwcubedim.FRWCubeDimSafCode07
                        tAnalelemcubedim.tcSafCode08       = frwcubedim.FRWCubeDimSafCode08
                        tAnalelemcubedim.tcSafCode09       = frwcubedim.FRWCubeDimSafCode09
                        tAnalelemcubedim.tcSafCode10       = frwcubedim.FRWCubeDimSafCode10
                        tAnalelemcubedim.tcDescription     = frwcubedim.FRWCubeDimGLDescr
                        tAnalelemcubedim.tcICInterco       = frwcubedim.FRWCubeDimICInterco.
                  end.
                  else do:
                     assign tanalelemcubedim.tidimcount = tanalelemcubedim.tidimcount + 1.
                  end.
               end.  /* for each cube dim */
            end. /* Saf3 */
            if frwancodeelem.frwancodeelemcoatype = "saf4" then do:
               for each frwcubedim where frwcubedim.frwcubedimfrwcubecode = tcube.tccubename and
                                   frwcubedim.frwcubedimsafcode04 = frwancodeelemdet.frwancodeelemdetcode no-lock:
                  find tanalelemcubedim where  tanalelemcubedim.tccubename =  tcube.tccubename and
                     tanalelemcubedim.tcancode = tancode.tcancode and
                     tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id no-error.
                  if not available tanalelemcubedim then do:
                     create tanalelemcubedim.
                     assign tanalelemcubedim.tccubename =  tcube.tccubename
                        tanalelemcubedim.tcancode = tancode.tcancode
                        tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id
                        tanalelemcubedim.tidimcount = 1
                        tAnalelemcubedim.tcCompanyCode     = frwcubedim.FRWCubeDimCompanyCode
                        tAnalelemcubedim.tcCurrencyCode    = frwcubedim.FRWCubeDimCurrencyCode
                        tAnalelemcubedim.tcLayerCode       = frwcubedim.FRWCubeDimLayerCode
                        tAnalelemcubedim.tcJournalCode     = frwcubedim.FRWCubeDimJournalCode
                        tAnalelemcubedim.tcGLCode          = frwcubedim.FRWCubeDimGLCode
                        tAnalelemcubedim.tcDivisionCode    = frwcubedim.FRWCubeDimDivisionCode
                        tAnalelemcubedim.tcCostCentreCode  = frwcubedim.FRWCubeDimCostCentreCode
                        tAnalelemcubedim.tcProjectCode     = frwcubedim.FRWCubeDimProjectCode
                        tAnalelemcubedim.tcSafCode01       = frwcubedim.FRWCubeDimSafCode01
                        tAnalelemcubedim.tcSafCode02       = frwcubedim.FRWCubeDimSafCode02
                        tAnalelemcubedim.tcSafCode03       = frwcubedim.FRWCubeDimSafCode03
                        tAnalelemcubedim.tcSafCode04       = frwcubedim.FRWCubeDimSafCode04
                        tAnalelemcubedim.tcSafCode05       = frwcubedim.FRWCubeDimSafCode05
                        tAnalelemcubedim.tcSafCode06       = frwcubedim.FRWCubeDimSafCode06
                        tAnalelemcubedim.tcSafCode07       = frwcubedim.FRWCubeDimSafCode07
                        tAnalelemcubedim.tcSafCode08       = frwcubedim.FRWCubeDimSafCode08
                        tAnalelemcubedim.tcSafCode09       = frwcubedim.FRWCubeDimSafCode09
                        tAnalelemcubedim.tcSafCode10       = frwcubedim.FRWCubeDimSafCode10
                        tAnalelemcubedim.tcDescription     = frwcubedim.FRWCubeDimGLDescr
                        tAnalelemcubedim.tcICInterco       = frwcubedim.FRWCubeDimICInterco.
                  end.
                  else do:
                     assign tanalelemcubedim.tidimcount = tanalelemcubedim.tidimcount + 1.
                  end.
               end.  /* for each cube dim */
            end. /* Saf4 */
            if frwancodeelem.frwancodeelemcoatype = "saf5" then do:
               for each frwcubedim where frwcubedim.frwcubedimfrwcubecode = tcube.tccubename and
                                   frwcubedim.frwcubedimsafcode05 = frwancodeelemdet.frwancodeelemdetcode no-lock:
                  find tanalelemcubedim where  tanalelemcubedim.tccubename =  tcube.tccubename and
                     tanalelemcubedim.tcancode = tancode.tcancode and
                     tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id no-error.
                  if not available tanalelemcubedim then do:
                     create tanalelemcubedim.
                     assign tanalelemcubedim.tccubename =  tcube.tccubename
                        tanalelemcubedim.tcancode = tancode.tcancode
                        tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id
                        tanalelemcubedim.tidimcount = 1
                        tAnalelemcubedim.tcCompanyCode     = frwcubedim.FRWCubeDimCompanyCode
                        tAnalelemcubedim.tcCurrencyCode    = frwcubedim.FRWCubeDimCurrencyCode
                        tAnalelemcubedim.tcLayerCode       = frwcubedim.FRWCubeDimLayerCode
                        tAnalelemcubedim.tcJournalCode     = frwcubedim.FRWCubeDimJournalCode
                        tAnalelemcubedim.tcGLCode          = frwcubedim.FRWCubeDimGLCode
                        tAnalelemcubedim.tcDivisionCode    = frwcubedim.FRWCubeDimDivisionCode
                        tAnalelemcubedim.tcCostCentreCode  = frwcubedim.FRWCubeDimCostCentreCode
                        tAnalelemcubedim.tcProjectCode     = frwcubedim.FRWCubeDimProjectCode
                        tAnalelemcubedim.tcSafCode01       = frwcubedim.FRWCubeDimSafCode01
                        tAnalelemcubedim.tcSafCode02       = frwcubedim.FRWCubeDimSafCode02
                        tAnalelemcubedim.tcSafCode03       = frwcubedim.FRWCubeDimSafCode03
                        tAnalelemcubedim.tcSafCode04       = frwcubedim.FRWCubeDimSafCode04
                        tAnalelemcubedim.tcSafCode05       = frwcubedim.FRWCubeDimSafCode05
                        tAnalelemcubedim.tcSafCode06       = frwcubedim.FRWCubeDimSafCode06
                        tAnalelemcubedim.tcSafCode07       = frwcubedim.FRWCubeDimSafCode07
                        tAnalelemcubedim.tcSafCode08       = frwcubedim.FRWCubeDimSafCode08
                        tAnalelemcubedim.tcSafCode09       = frwcubedim.FRWCubeDimSafCode09
                        tAnalelemcubedim.tcSafCode10       = frwcubedim.FRWCubeDimSafCode10
                        tAnalelemcubedim.tcDescription     = frwcubedim.FRWCubeDimGLDescr
                        tAnalelemcubedim.tcICInterco       = frwcubedim.FRWCubeDimICInterco.
                  end.
                  else do:
                     assign tanalelemcubedim.tidimcount = tanalelemcubedim.tidimcount + 1.
                  end.
               end.  /* for each cube dim */
            end. /* Saf5 */
            if frwancodeelem.frwancodeelemcoatype = "saf6" then do:
               for each frwcubedim where frwcubedim.frwcubedimfrwcubecode = tcube.tccubename and
                                   frwcubedim.frwcubedimsafcode06 = frwancodeelemdet.frwancodeelemdetcode no-lock:
                  find tanalelemcubedim where  tanalelemcubedim.tccubename =  tcube.tccubename and
                     tanalelemcubedim.tcancode = tancode.tcancode and
                     tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id no-error.
                  if not available tanalelemcubedim then do:
                     create tanalelemcubedim.
                     assign tanalelemcubedim.tccubename =  tcube.tccubename
                        tanalelemcubedim.tcancode = tancode.tcancode
                        tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id
                        tanalelemcubedim.tidimcount = 1
                        tAnalelemcubedim.tcCompanyCode     = frwcubedim.FRWCubeDimCompanyCode
                        tAnalelemcubedim.tcCurrencyCode    = frwcubedim.FRWCubeDimCurrencyCode
                        tAnalelemcubedim.tcLayerCode       = frwcubedim.FRWCubeDimLayerCode
                        tAnalelemcubedim.tcJournalCode     = frwcubedim.FRWCubeDimJournalCode
                        tAnalelemcubedim.tcGLCode          = frwcubedim.FRWCubeDimGLCode
                        tAnalelemcubedim.tcDivisionCode    = frwcubedim.FRWCubeDimDivisionCode
                        tAnalelemcubedim.tcCostCentreCode  = frwcubedim.FRWCubeDimCostCentreCode
                        tAnalelemcubedim.tcProjectCode     = frwcubedim.FRWCubeDimProjectCode
                        tAnalelemcubedim.tcSafCode01       = frwcubedim.FRWCubeDimSafCode01
                        tAnalelemcubedim.tcSafCode02       = frwcubedim.FRWCubeDimSafCode02
                        tAnalelemcubedim.tcSafCode03       = frwcubedim.FRWCubeDimSafCode03
                        tAnalelemcubedim.tcSafCode04       = frwcubedim.FRWCubeDimSafCode04
                        tAnalelemcubedim.tcSafCode05       = frwcubedim.FRWCubeDimSafCode05
                        tAnalelemcubedim.tcSafCode06       = frwcubedim.FRWCubeDimSafCode06
                        tAnalelemcubedim.tcSafCode07       = frwcubedim.FRWCubeDimSafCode07
                        tAnalelemcubedim.tcSafCode08       = frwcubedim.FRWCubeDimSafCode08
                        tAnalelemcubedim.tcSafCode09       = frwcubedim.FRWCubeDimSafCode09
                        tAnalelemcubedim.tcSafCode10       = frwcubedim.FRWCubeDimSafCode10
                        tAnalelemcubedim.tcDescription     = frwcubedim.FRWCubeDimGLDescr
                        tAnalelemcubedim.tcICInterco       = frwcubedim.FRWCubeDimICInterco.
                  end.
                  else do:
                     assign tanalelemcubedim.tidimcount = tanalelemcubedim.tidimcount + 1.
                  end.
               end.  /* for each cube dim */
            end. /* Saf6 */
            if frwancodeelem.frwancodeelemcoatype = "saf7" then do:
               for each frwcubedim where frwcubedim.frwcubedimfrwcubecode = tcube.tccubename and
                                   frwcubedim.frwcubedimsafcode07 = frwancodeelemdet.frwancodeelemdetcode no-lock:
                  find tanalelemcubedim where  tanalelemcubedim.tccubename =  tcube.tccubename and
                     tanalelemcubedim.tcancode = tancode.tcancode and
                     tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id no-error.
                  if not available tanalelemcubedim then do:
                     create tanalelemcubedim.
                     assign tanalelemcubedim.tccubename =  tcube.tccubename
                        tanalelemcubedim.tcancode = tancode.tcancode
                        tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id
                        tanalelemcubedim.tidimcount = 1
                        tAnalelemcubedim.tcCompanyCode     = frwcubedim.FRWCubeDimCompanyCode
                        tAnalelemcubedim.tcCurrencyCode    = frwcubedim.FRWCubeDimCurrencyCode
                        tAnalelemcubedim.tcLayerCode       = frwcubedim.FRWCubeDimLayerCode
                        tAnalelemcubedim.tcJournalCode     = frwcubedim.FRWCubeDimJournalCode
                        tAnalelemcubedim.tcGLCode          = frwcubedim.FRWCubeDimGLCode
                        tAnalelemcubedim.tcDivisionCode    = frwcubedim.FRWCubeDimDivisionCode
                        tAnalelemcubedim.tcCostCentreCode  = frwcubedim.FRWCubeDimCostCentreCode
                        tAnalelemcubedim.tcProjectCode     = frwcubedim.FRWCubeDimProjectCode
                        tAnalelemcubedim.tcSafCode01       = frwcubedim.FRWCubeDimSafCode01
                        tAnalelemcubedim.tcSafCode02       = frwcubedim.FRWCubeDimSafCode02
                        tAnalelemcubedim.tcSafCode03       = frwcubedim.FRWCubeDimSafCode03
                        tAnalelemcubedim.tcSafCode04       = frwcubedim.FRWCubeDimSafCode04
                        tAnalelemcubedim.tcSafCode05       = frwcubedim.FRWCubeDimSafCode05
                        tAnalelemcubedim.tcSafCode06       = frwcubedim.FRWCubeDimSafCode06
                        tAnalelemcubedim.tcSafCode07       = frwcubedim.FRWCubeDimSafCode07
                        tAnalelemcubedim.tcSafCode08       = frwcubedim.FRWCubeDimSafCode08
                        tAnalelemcubedim.tcSafCode09       = frwcubedim.FRWCubeDimSafCode09
                        tAnalelemcubedim.tcSafCode10       = frwcubedim.FRWCubeDimSafCode10
                        tAnalelemcubedim.tcDescription     = frwcubedim.FRWCubeDimGLDescr
                        tAnalelemcubedim.tcICInterco       = frwcubedim.FRWCubeDimICInterco.
                  end.
                  else do:
                     assign tanalelemcubedim.tidimcount = tanalelemcubedim.tidimcount + 1.
                  end.
               end.  /* for each cube dim */
            end. /* Saf7 */
            if frwancodeelem.frwancodeelemcoatype = "saf8" then do:
               for each frwcubedim where frwcubedim.frwcubedimfrwcubecode = tcube.tccubename and
                                   frwcubedim.frwcubedimsafcode08 = frwancodeelemdet.frwancodeelemdetcode no-lock:
                  find tanalelemcubedim where  tanalelemcubedim.tccubename =  tcube.tccubename and
                     tanalelemcubedim.tcancode = tancode.tcancode and
                     tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id no-error.
                  if not available tanalelemcubedim then do:
                     create tanalelemcubedim.
                     assign tanalelemcubedim.tccubename =  tcube.tccubename
                        tanalelemcubedim.tcancode = tancode.tcancode
                        tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id
                        tanalelemcubedim.tidimcount = 1
                        tAnalelemcubedim.tcCompanyCode     = frwcubedim.FRWCubeDimCompanyCode
                        tAnalelemcubedim.tcCurrencyCode    = frwcubedim.FRWCubeDimCurrencyCode
                        tAnalelemcubedim.tcLayerCode       = frwcubedim.FRWCubeDimLayerCode
                        tAnalelemcubedim.tcJournalCode     = frwcubedim.FRWCubeDimJournalCode
                        tAnalelemcubedim.tcGLCode          = frwcubedim.FRWCubeDimGLCode
                        tAnalelemcubedim.tcDivisionCode    = frwcubedim.FRWCubeDimDivisionCode
                        tAnalelemcubedim.tcCostCentreCode  = frwcubedim.FRWCubeDimCostCentreCode
                        tAnalelemcubedim.tcProjectCode     = frwcubedim.FRWCubeDimProjectCode
                        tAnalelemcubedim.tcSafCode01       = frwcubedim.FRWCubeDimSafCode01
                        tAnalelemcubedim.tcSafCode02       = frwcubedim.FRWCubeDimSafCode02
                        tAnalelemcubedim.tcSafCode03       = frwcubedim.FRWCubeDimSafCode03
                        tAnalelemcubedim.tcSafCode04       = frwcubedim.FRWCubeDimSafCode04
                        tAnalelemcubedim.tcSafCode05       = frwcubedim.FRWCubeDimSafCode05
                        tAnalelemcubedim.tcSafCode06       = frwcubedim.FRWCubeDimSafCode06
                        tAnalelemcubedim.tcSafCode07       = frwcubedim.FRWCubeDimSafCode07
                        tAnalelemcubedim.tcSafCode08       = frwcubedim.FRWCubeDimSafCode08
                        tAnalelemcubedim.tcSafCode09       = frwcubedim.FRWCubeDimSafCode09
                        tAnalelemcubedim.tcSafCode10       = frwcubedim.FRWCubeDimSafCode10
                        tAnalelemcubedim.tcDescription     = frwcubedim.FRWCubeDimGLDescr
                        tAnalelemcubedim.tcICInterco       = frwcubedim.FRWCubeDimICInterco.
                  end.
                  else do:
                     assign tanalelemcubedim.tidimcount = tanalelemcubedim.tidimcount + 1.
                  end.
               end.  /* for each cube dim */
            end. /* Saf8 */
            if frwancodeelem.frwancodeelemcoatype = "saf9" then do:
               for each frwcubedim where frwcubedim.frwcubedimfrwcubecode = tcube.tccubename and
                                   frwcubedim.frwcubedimsafcode09 = frwancodeelemdet.frwancodeelemdetcode no-lock:
                  find tanalelemcubedim where  tanalelemcubedim.tccubename =  tcube.tccubename and
                     tanalelemcubedim.tcancode = tancode.tcancode and
                     tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id no-error.
                  if not available tanalelemcubedim then do:
                     create tanalelemcubedim.
                     assign tanalelemcubedim.tccubename =  tcube.tccubename
                        tanalelemcubedim.tcancode = tancode.tcancode
                        tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id
                        tanalelemcubedim.tidimcount = 1
                        tAnalelemcubedim.tcCompanyCode     = frwcubedim.FRWCubeDimCompanyCode
                        tAnalelemcubedim.tcCurrencyCode    = frwcubedim.FRWCubeDimCurrencyCode
                        tAnalelemcubedim.tcLayerCode       = frwcubedim.FRWCubeDimLayerCode
                        tAnalelemcubedim.tcJournalCode     = frwcubedim.FRWCubeDimJournalCode
                        tAnalelemcubedim.tcGLCode          = frwcubedim.FRWCubeDimGLCode
                        tAnalelemcubedim.tcDivisionCode    = frwcubedim.FRWCubeDimDivisionCode
                        tAnalelemcubedim.tcCostCentreCode  = frwcubedim.FRWCubeDimCostCentreCode
                        tAnalelemcubedim.tcProjectCode     = frwcubedim.FRWCubeDimProjectCode
                        tAnalelemcubedim.tcSafCode01       = frwcubedim.FRWCubeDimSafCode01
                        tAnalelemcubedim.tcSafCode02       = frwcubedim.FRWCubeDimSafCode02
                        tAnalelemcubedim.tcSafCode03       = frwcubedim.FRWCubeDimSafCode03
                        tAnalelemcubedim.tcSafCode04       = frwcubedim.FRWCubeDimSafCode04
                        tAnalelemcubedim.tcSafCode05       = frwcubedim.FRWCubeDimSafCode05
                        tAnalelemcubedim.tcSafCode06       = frwcubedim.FRWCubeDimSafCode06
                        tAnalelemcubedim.tcSafCode07       = frwcubedim.FRWCubeDimSafCode07
                        tAnalelemcubedim.tcSafCode08       = frwcubedim.FRWCubeDimSafCode08
                        tAnalelemcubedim.tcSafCode09       = frwcubedim.FRWCubeDimSafCode09
                        tAnalelemcubedim.tcSafCode10       = frwcubedim.FRWCubeDimSafCode10
                        tAnalelemcubedim.tcDescription     = frwcubedim.FRWCubeDimGLDescr
                        tAnalelemcubedim.tcICInterco       = frwcubedim.FRWCubeDimICInterco.
                  end.
                  else do:
                     assign tanalelemcubedim.tidimcount = tanalelemcubedim.tidimcount + 1.
                  end.
               end.  /* for each cube dim */
            end. /* Saf9 */
            if frwancodeelem.frwancodeelemcoatype = "saf10" then do:
               for each frwcubedim where frwcubedim.frwcubedimfrwcubecode = tcube.tccubename and
                                   frwcubedim.frwcubedimsafcode10 = frwancodeelemdet.frwancodeelemdetcode no-lock:
                  find tanalelemcubedim where  tanalelemcubedim.tccubename =  tcube.tccubename and
                     tanalelemcubedim.tcancode = tancode.tcancode and
                     tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id no-error.
                  if not available tanalelemcubedim then do:
                     create tanalelemcubedim.
                     assign tanalelemcubedim.tccubename =  tcube.tccubename
                        tanalelemcubedim.tcancode = tancode.tcancode
                        tanalelemcubedim.ticubedimid = frwcubedim.frwcubedim_id
                        tanalelemcubedim.tidimcount = 1
                        tAnalelemcubedim.tcCompanyCode     = frwcubedim.FRWCubeDimCompanyCode
                        tAnalelemcubedim.tcCurrencyCode    = frwcubedim.FRWCubeDimCurrencyCode
                        tAnalelemcubedim.tcLayerCode       = frwcubedim.FRWCubeDimLayerCode
                        tAnalelemcubedim.tcJournalCode     = frwcubedim.FRWCubeDimJournalCode
                        tAnalelemcubedim.tcGLCode          = frwcubedim.FRWCubeDimGLCode
                        tAnalelemcubedim.tcDivisionCode    = frwcubedim.FRWCubeDimDivisionCode
                        tAnalelemcubedim.tcCostCentreCode  = frwcubedim.FRWCubeDimCostCentreCode
                        tAnalelemcubedim.tcProjectCode     = frwcubedim.FRWCubeDimProjectCode
                        tAnalelemcubedim.tcSafCode01       = frwcubedim.FRWCubeDimSafCode01
                        tAnalelemcubedim.tcSafCode02       = frwcubedim.FRWCubeDimSafCode02
                        tAnalelemcubedim.tcSafCode03       = frwcubedim.FRWCubeDimSafCode03
                        tAnalelemcubedim.tcSafCode04       = frwcubedim.FRWCubeDimSafCode04
                        tAnalelemcubedim.tcSafCode05       = frwcubedim.FRWCubeDimSafCode05
                        tAnalelemcubedim.tcSafCode06       = frwcubedim.FRWCubeDimSafCode06
                        tAnalelemcubedim.tcSafCode07       = frwcubedim.FRWCubeDimSafCode07
                        tAnalelemcubedim.tcSafCode08       = frwcubedim.FRWCubeDimSafCode08
                        tAnalelemcubedim.tcSafCode09       = frwcubedim.FRWCubeDimSafCode09
                        tAnalelemcubedim.tcSafCode10       = frwcubedim.FRWCubeDimSafCode10
                        tAnalelemcubedim.tcDescription     = frwcubedim.FRWCubeDimGLDescr
                        tAnalelemcubedim.tcICInterco       = frwcubedim.FRWCubeDimICInterco.
                  end.
                  else do:
                     assign tanalelemcubedim.tidimcount = tanalelemcubedim.tidimcount + 1.
                  end.
               end.  /* for each cube dim */
            end. /* Saf10 */
         end.  /* for each element det */
      end.  /* if not GL range */
      end. /*  for first FRWAnCode, element */
   end. /*  REPEAT tiAnCodeCount  */
   for each tanalelemcubedim where tanalelemcubedim.tccubename =  tcube.tccubename and
                                tanalelemcubedim.tcancode = tancode.tcancode:
             if tanalelemcubedim.tidimcount < vidimcount then delete tanalelemcubedim.
   end.
end. /* for each twCube, each tancode */