Types used in librdd
These data types are used in the librdd module.
rddReportPrintElementInfo
TYPE rddReportPrintElementInfo RECORD
unionType CHAR(1), #v=variable, e=expression, l=literal
value STRING, #the value in case of type 'l'
variableName STRING, #the variable name case of type 'v'
variableType STRING #the variable or expression type in case of type 'v'
END RECORD
rddReportPrintInfo
TYPE rddReportPrintInfo RECORD
controlPath DYNAMIC ARRAY OF rddTree, # Path into tree, e.g.
# REPORT/ON EVERY ROW/IF/THEN/FOR,
# REPORT/ON EVERY ROW/IF/ELSE/FOR
printxName STRING,
printElements DYNAMIC ARRAY OF rddReportPrintElementInfo
END RECORD
rddReportSectionInfo
TYPE rddReportSectionInfo RECORD
name STRING, # FIRST PAGE HEADER, BEFORE GROUP customer_id, ON EVERY ROW, ...
reportPrints DYNAMIC ARRAY OF rddReportPrintInfo
END RECORD
rddReportInfo
TYPE rddReportInfo RECORD
reportName STRING,
reportSections DYNAMIC ARRAY OF rddReportSectionInfo
END RECORD
rddTree
TYPE rddTree RECORD
firstLine INTEGER
,
lastLine INTEGER
,
type CHAR(1), # l: loop: FOR, FOREACH, WHILE
# c: conditional: CASE, IF, OTHERWHISE, WHEN
# i: interaction: MENU, {DISPLAY|INPUT} ARRAY, INPUT, PROMPT,
# ON {KEY|ACTION}, {BEFORE|AFTER} ..
# d: declaration: GLOBALS, DEFINE, RECORD
# o: other statements: TRY, CATCH
# a: trigger in interaction or report
fileId INTEGER
, # references rddFiles (rddFile.id=fileId)
fileIdEnd INTEGER
, # references rddFiles (rddFile.id=fileIdEnd) =
# the file where the declaration ends
name STRING # for example BEFORE GROUP
END RECORD