[ |../../index.htm#lansa/l4wdev05_0215.htm]
現在地:

4.4.6 後置型のDEF_BREAKコマンドの使い方

「後置型(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                     
                              ---      ---                     
                                                                 
 
 
[ |../../index.htm#lansa/l4wdev05_0215.htm]