You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Current »

「後置型(TRAILING)」のDEF_BREAKコマンドは通常、グループ分けしたレコードの合計値などを表す行を出力するために使います。

例えば「4.4.5 前置型のDEF_BREAKコマンドの使い方」で説明したRDMLプログラムを次のように修正し、「前置型の」ブレーク行を表示してみましょう。


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

 
#COMPまたは#DIVの値が変わったときにDEF_BREAKコマンドが起動されることに注意してください。また、SELECTループにはKEEP_TOTALコマンドも追加されています。これは会社/部門ごとの合計値を自動的に保持するために使います。詳しくはKEEP_XXXXX系コマンドの項を参照してください。

明示した以外の属性は省略値のままで、実際にレポートを作成すると次のようになります。
 
       会社 01                                                
                                                                 
              課               支出     収入                    
       部門 1                                                
              ADM              400       576                     
              MKT              678        56                     
              SAL              123      6784                     
       部門 1     支出 1201     収入 7416                       
       部門 2                                                
              ADM               46        52                     
              SAL              978       456                     
       部門 2     支出 1024     収入  508                       
       部門 3                                                
              ACC              456       678                     
              SAL              123       679                     
       部門 3     支出  579     収入 1357                       
 
 
 
 
       会社 02                                                
                                                                 
              課               支出     収入                    
       部門 1                                                
              ACC              843       400                     
              MKT               23         0                     
              SAL              876        10                     
       部門 1     支出 1742     収入  410                       
       部門 2                                                
              ACC                0        43                     
       部門 2     支出    0     収入   43                       
 

一方、LANSA/AD ユーザー ガイドに説明されている「レポート設計機能」を使えば、レポート全体のレイアウトを簡単に次のように変更することができます。
 
       会社 01                                                
                                                                 
              課               支出     収入                    
           =========== 部門 1 ===========                    
              ADM              400       576                     
              MKT              678        56                     
              SAL              123      6784                     
                              ----      ----                       
                              1201      7416                     
                              ----      ----          
                                                                 
           =========== 部門 2 ===========                    
              ADM               46        52                     
              SAL              978       456                     
                              ----      ----                    
                              1024       508                     
                              ----      ----               
                                                                 
           =========== 部門 3 ===========                    
              ACC              456       678                     
              SAL              123       679                     
                              ----      ----                   
                               579      1357                     
                              ----      ----                  
                                                                 
 
 
 
       会社 02                                                
                                                                 
              課               支出     収入                    
                                                                 
           =========== 部門 1 ===========                    
              ACC              843       400                     
              MKT               23         0                     
              SAL              876        10                     
                              ----      ----                
                              1742       410                     
                              ----      ----                    
           =========== 部門 2 ===========                    
              ACC                0        43                     
                              ----      ----               
                                 0        43                     
                              ----      ----              
                                                                 

  • No labels