Report engine behavior can be controlled with FGLPROFILE settings.
By default, aggregate instructions such as SUM() return a NULL value if all input record values are NULL.
You can force the report engine to return a zero decimal value with the following FGLPROFILE setting:
Report.aggregateZero = {true|false}
When this entry is set to true, the SUM() , AVG() , MAX() and MIN() aggregate functions return zero when all values are NULL.
Default value of the configuration parameter is false (i.e. aggregate functions evaluate to null if all items are null)
When using GROUP aggregates with this entry is set to true, the aggregate instruction will still return NULL in the first AFTER GROUP OF output of the report. Zero values will be returned starting from second group output. This behavior is expected, for backward compatibility with older versions.
You should not use the Report.aggregateZero entry if you don't need that specific behavior.