Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

As an example of this, consider the following modifications to the RDML program used in the 4.4.5 Using a Leading DEF_BREAK Command to demonstrate "leading" break lines:

     GROUP_BY    NAME(#ACCOUNT)

...

 
            FIELDS(

...

#COMP #DIV #DEPT #EXPEND #REVNU)
DEF_HEAD    NAME(#HEADING)

...

 FIELDS(#COMP)

...

 
            TRIGGER_BY(

...

#COMP *OVERFLOW)
DEF_BREAK   NAME(#BREAK01)

...

 FIELDS(#DIV)

...

 
            TRIGGER_BY(

...

#COMP #DIV)
            TYPE(*LEADING)
DEF_BREAK   NAME(#BREAK02)

...

 FIELDS(#DIV #DIVEXP #DIVRNU)
            TRIGGER_BY(

...

#COMP #DIV) TYPE(*TRAILING)
DEF_LINE    NAME(#DETAILS)

...

 FIELDS(#DEPT #EXPEND #REVNU)

DEFINE      FIELD(#DIVEXP)

...

 REFFLD(#EXPEND)

...

 LABEL('Expend')
DEFINE      FIELD(#DIVRNU)

...

 REFFLD(#REVNU)  LABEL('Revenue')
 
SELECT      FIELDS(#ACCOUNT)

...

 FROM_FILE(ACCOUNTS)
KEEP_TOTAL  OF_FIELD(#EXPEND)

...

 IN_FIELD(#DIVEXP)

...

 
            BY_FIELD(

...

#COMP #DIV)
KEEP_TOTAL  OF_FIELD(#REVNU)  IN_FIELD(#DIVRNU)

...

 
            BY_FIELD(

...

#COMP #DIV)
PRINT       LINE(#DETAILS)
ENDSELECT
ENDPRINT

Note how the DEF_BREAK command is "triggered" by change of #COMP or #DIV. Note also the KEEP_TOTAL commands into the SELECT loop. These are used to automatically keep the company/division subtotals. Refer to the KEEP_XXXXX command series for more details of these commands and their usage.

The resulting report, using default design attributes, would probably look something like this:

...

However, by using the Report Design Facility in the LANSA for i User Guide, the entire report layout could be modified in a few minutes to look like the examples following.
 
       Company 01                                                
                                                                 
           Department             Expenditure       Revenue                    
           =========== Division 1 ===========                    
                ADM                           400                   576                     
                 MKT                           678                    56                     
                  SAL                           123                 6784                     
                                                   ----                   ----                     
                                                 1201                 7416                     
                                                   ----                   ----                     
                                                                 
           =========== Division 2 ===========                    
                ADM                             46                     52                     
                  SAL                           978                   456                     
                                                   ----                   ----                     
                                                 1024                   508                     
                                                   ----                   ----                     
                                                                 
           =========== Division 3 ===========                    
                 ACC                           456                   678                     
                  SAL                           123                   679                     
                                                   ----                   ----                     
                                                   579                 1357                     
                                                   ----                   ----                     
                                                   
       Company 02                                                
           Department             Expenditure       Revenue                    
           =========== Division 1 ===========                    
              ACC                               843                   400                     
              MKT                                23                       0                     
              SAL                               876                     10                     
                                                    ----                   ----                     
                                                  1742                   410                     
                                                    ----                   ----                     
           =========== Division 2 ===========                    
              ACC                                  0                      43                     
                                                   ----                    ----                     
                                                      0                       43                     
                                                   ----                    ----