i-net Report
Development Report
Avoid using page N of M, as it requires all page's rendering. Replace "Page N of
M" with "Page", then you will get the first page after it has been finished. With
the special field "Page N of M" you get the first page after all pages have been
rendered.
If the report is rendering huge data, avoid keeping serial numbers by group.
Report Avoid using unnecessary groups and summary functions. If the report output is
Development huge and there are no groupings and summary functions, enable the property
"Row Buffer" in the category "Document Properties" of the i-net Designer
Tips dialogue "Document Properties". Give Row Buffer size as 30000.
Your report should have only one data source.
Never use SQL commands. i.e., do not write your own queries in reports.
Avoid keeping conditions in the Record selection formula and
Group selection formula
Ex:
((((PRODUCTIONPROGRESS.COMPANYCODE = {?ABSUSERPROMPT_CompanyCode})
AND (PRODUCTIONDEMAND.DIVISIONCODE = {?ABSUSERPROMPT_DivisionCode}))
AND (PRODUCTIONDEMANDSTEP.STDBEGINQUEUE >= {?ABSUSERPROMPT_FromDate}))
AND (PRODUCTIONDEMANDSTEP.STDBEGINQUEUE <= {?ABSUSERPROMPT_ToDate}))
• Always generate reports using Worktable. I.e., write logic in
ABS or Stored procedure to get the data required by the report
and put that data into a worktable. Use that worktable in your
report. Avoid joining tables in rpt.
• When creating a worktable in ABS, make sure that you are not
using References for attributes. Using Reference will degrade the
performance when inserting data into the worktable using ABS.
• Create an index on the worktable, if required. After inserting
data into the worktable, if you are again reading or updating the
data of the worktable, either in ABS or in Procedure, it’s
mandatory to create an index on the worktable.
• Always pass the EQB to the report, so that the number of rows
selected in the report will be minimized which will increase the
performance by using less memory in the application server.
• Before releasing it to production, check the memory consumed
by the report using the “version info” process.
Standard
• Always use “Sans Serif ” font
• Font Size:
• For company name: 14pts
• For Title: 12 pts
• For report content: 9 pts. (Can be reduced to 8 or 7 depending on the report's requirement)
• Lines:
• Outer borders: Single line, width 1.0 and black colour
• Inside lines/borders: Single line, width 0.5 and Gray colour.
• If the report output is Excel, try to align columns properly, so that cell merging can be avoided in the Excel file.
• All numbers should be right-aligned, and all text should be left-aligned.
• Whenever you add a table in Visual Database Wizard, remove the schema name by selecting “set location” after
right-clicking on the table’s header.
• The date should be in DD-MM-YYYY format unless there is a specific requirement from the client, remove the time
part from the date
Avoid the use of query
commands
The SQL Commands added to the report will be passed to the
database as it is and will be executed on the database (like a
view). If the report contains an “SQL command” then the
command needs to contain the filter clause also. No additional
record selection formula should be used if an SQL command is
used in the report. Also, only the SQL command should be used in
the database wizard and no other joined tables etc. because this
would require an additional SQL.
If the report has a query command, the Crystal-Clear engine does
not use the selection criteria within the main select but discards
the records programmatically: this causes a performance degree.
This is valid NOT only for the selection applied to the query
command itself but also for the main report selection formula.
Imagine that your report main table is a work file within a
timestamp as key and the work file has several records: in this
case, the report generation might also take hours!