Reporting API Functions / Functions to introspect reports at runtime (librdd) |
These data types are used in the librdd module.
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
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
TYPE rddReportSectionInfo RECORD name STRING, # FIRST PAGE HEADER, BEFORE GROUP customer_id, ON EVERY ROW, ... reportPrints DYNAMIC ARRAY OF rddReportPrintInfo END RECORD
TYPE rddReportInfo RECORD reportName STRING, reportSections DYNAMIC ARRAY OF rddReportSectionInfo END RECORD
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