project QadFinancials > class TFRWTreeView > method CreateTempTableBeforeAddNode
Parameters
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program1/tfrwtreeview.p)
/* ================================================================= */
/* Caculate quarters */
/* ================================================================= */
assign vifromyearlength = 0
vitoyearlength = 0.
for each frwcubeperiod where frwcubeperiod.frwcubeperiodfrwcubecode = frwcube.frwcubecode and
frwcubeperiod.frwcubeperiodreportyear = vifromreportyear no-lock:
if frwcubeperiod.FRWCubePeriodReportPerInt > vifromyearlength then assign vifromyearlength = frwcubeperiod.FRWCubePeriodReportPerInt.
end.
for each frwcubeperiod where frwcubeperiod.frwcubeperiodfrwcubecode = frwcube.frwcubecode and
frwcubeperiod.frwcubeperiodreportyear = vitoreportyear no-lock:
if frwcubeperiod.FRWCubePeriodReportPerInt > vitoyearlength then assign vitoyearlength = frwcubeperiod.FRWCubePeriodReportPerInt.
end.
if vifromyearlength > 10 and
vifromyearlength < 15 and
vifromreportperiod <> 0 then do:
assign vifromquarter = if vifromreportperiod < 4 then 1
else if vifromreportperiod < 7 then 2
else if vifromreportperiod < 10 then 3
else 4.
end.
else
if vifromyearlength = 4 and
vifromreportperiod <> 0 then do:
assign vifromquarter = vifromreportperiod.
end.
else assign vifromquarter = 0.
if vitoyearlength > 10 and
vitoyearlength < 15 and
vitoreportperiod <> 0 then do:
assign vitoquarter = if vitoreportperiod < 4 then 1
else if vitoreportperiod < 7 then 2
else if vitoreportperiod < 10 then 3
else 4.
end.
else
if vitoyearlength = 4 and
vitoreportperiod <> 0 then do:
assign vitoquarter = vitoreportperiod.
end.
else assign vitoquarter = 0.
/* ================================================================= */
/* Create tCols */
/* ================================================================= */
empty temp-table tPerrange.
empty temp-table tCols.
create tCols.
assign tCols.tiseq = 1
tCols.tcmeas = "OPEN"
tCols.tclabel = "OPENING BALANCE"
tCols.tifromyear = vifromreportyear
tCols.tifromperiod = vifromreportperiod
tCols.titoyear = vitoreportyear
tCols.titoperiod = vitoreportperiod.
if viAmountInView = 2 then assign tCols.tcmeas = "OPBC".
create tCols.
assign tCols.tiseq = 2
tCols.tcmeas = "ACTDR"
tCols.tclabel = "ACTIVITY DEBIT"
tCols.tifromyear = vifromreportyear
tCols.tifromperiod = vifromreportperiod
tCols.titoyear = vitoreportyear
tCols.titoperiod = vitoreportperiod.
if viAmountInView = 2 then assign tCols.tcmeas = "ABCDR".
create tCols.
assign tCols.tiseq = 3
tCols.tcmeas = "ACTCR"
tCols.tclabel = "ACTIVITY CREDIT"
tCols.tifromyear = vifromreportyear
tCols.tifromperiod = vifromreportperiod
tCols.titoyear = vitoreportyear
tCols.titoperiod = vitoreportperiod.
if viAmountInView = 2 then assign tCols.tcmeas = "ABCCR".
create tCols.
assign tCols.tiseq = 4
tCols.tcmeas = "CLOSE"
tCols.tclabel = "CLOSING BALANCE"
tCols.tifromyear = vifromreportyear
tCols.tifromperiod = vifromreportperiod
tCols.titoyear = vitoreportyear
tCols.titoperiod = vitoreportperiod.
if viAmountInView = 2 then assign tCols.tcmeas = "CLOBC".
assign viColDetSeq = 4.
/* ================================================================= */
/* Create tPrerange */
/* ================================================================= */
assign viperrangeseqs = 0.
for each tCols:
/*
if tCols.tifromyear = tCols.titoyear then do:
find tPerrange where
tPerrange.tiyear = tCols.tifromyear and
tPerrange.tifromperiod = tCols.tifromperiod and
tPerrange.titoperiod = tCols.titoperiod no-error.
if not available tPerrange then do:
assign viperrangeseqs = viperrangeseqs + 1.
create tPerrange.
assign tPerrange.tiyear = tCols.tifromyear
tPerrange.tifromperiod = tCols.tifromperiod
tPerrange.titoperiod = tCols.titoperiod
tPerrange.tiperrangeseq = viperrangeseqs
tCols.tiperrangeseq1 = viperrangeseqs.
end.
else tCols.tiperrangeseq1 = tPerrange.tiperrangeseq.
end.
else do:
find tPerrange where
tPerrange.tiyear = tCols.tifromyear and
tPerrange.tifromperiod = tCols.tifromperiod and
tPerrange.titoperiod = vifromyearlength no-error.
if not available tPerrange then do:
assign viperrangeseqs = viperrangeseqs + 1.
create tPerrange.
assign tPerrange.tiyear = tCols.tifromyear
tPerrange.tifromperiod = tCols.tifromperiod
tPerrange.titoperiod = vifromyearlength
tPerrange.tiperrangeseq = viperrangeseqs
tCols.tiperrangeseq1 = viperrangeseqs.
end.
else tCols.tiperrangeseq1 = tPerrange.tiperrangeseq.
find tPerrange where
tPerrange.tiyear = tCols.titoyear and
tPerrange.tifromperiod = 1 and
tPerrange.titoperiod = tCols.titoperiod no-error.
if not available tPerrange then do:
assign viperrangeseqs = viperrangeseqs + 1.
create tPerrange.
assign tPerrange.tiyear = tCols.titoyear
tPerrange.tifromperiod = 1
tPerrange.titoperiod = tCols.titoperiod
tPerrange.tiperrangeseq = viperrangeseqs
tCols.tiperrangeseq2 = viperrangeseqs.
end.
else tCols.tiperrangeseq2 = tPerrange.tiperrangeseq.
end.
*/
do with viTeller = tCols.tiFromyear to tCols.tiToyear:
if viTeller = tCols.tiFromyear then
assign viFromPerRange = tCols.tiFromperiod.
else assign viFromPerRange = 1.
if viteller = tCols.tiToyear then
assign viToPerRange = tCols.tiToperiod.
else assign viToPerRange = viFromyearLength.
find tPerrange where
tPerrange.tiYear = viTeller and
tPerrange.tiFromperiod = viFromPerRange and
tPerrange.tiToperiod = viToPerRange no-error.
if not available tPerrange then do:
assign viPerrangeSeqs = viPerrangeSeqs + 1.
create tPerrange.
assign tPerrange.tiYear = viTeller
tPerrange.tiFromperiod = viFromPerRange
tPerrange.tiToperiod = viToPerRange
tPerrange.tiPerrangeSeq = viPerrangeSeqs.
end.
create tColPer.
assign tColPer.tiColSeq = tCols.tiSeq
tColPer.tiPerSeq = tPerrange.tiPerrangeSeq.
end.
end. /* for each tCols */