12.4.8 印刷制御属性
印刷制御属性は、主にUPRINT(未フォーマット印刷)コマンドに適用されます。PRINTコマンド(および関連するDEF_XXXXXコマンド)を使用することによって、ここで説明するすべての機能をより高度な別の方法で簡単に実現することができます。詳細については、PRINTおよびDEF_XXXXX印刷定義コマンドを参照してください。
また、『Visual LANSA開発者ガイド』の「LANSAによるレポート作成」も参照してください。
非常に簡単なリスト形式のレポートに対してのみUPRINTコマンドを使用することをお勧めします。重要なアプリケーション・レポート、複数言語レポート、双方向言語レポートには、PRINTコマンドだけを使用してください。
属性 |
適用先 UPRINT |
適用先 PRINT |
説明 |
---|---|---|---|
*NEWPAGE |
可 |
不可 |
このフィールドの内容を変更すると、新しいページが開始されます。 |
*TOTAL *TOT |
可 |
不可 |
このフィールドの小計が計算されます。 |
*TOTLVLn *TOTLEVELn |
可 |
不可 |
このフィールドの内容を変更すると、小計がトリガーされ、「レベル制御切れ」nで印刷されます。 |
*ONCHANGE |
可 |
不可 |
このフィールドは、内容が変更されたときだけ印刷されます。 |
*NOPRINT *NOPRT |
可 |
不可 |
このフィールドは印刷されません。 |
例
ACCOUNTSというファイルに、次のフィールドとデータが入っているとします。
会社(#COMP) |
部門(#DIV) |
課(#DEPT) |
支出(#EXPEND) |
収入(#REVNU) |
---|---|---|---|---|
01 |
1 |
ADM |
400 |
576 |
" |
" |
MKT |
678 |
56 |
" |
" |
SAL |
123 |
6784 |
" |
2 |
ADM |
46 |
52 |
" |
" |
SAL |
978 |
456 |
" |
3 |
ACC |
456 |
678 |
" |
" |
SAL |
123 |
679 |
02 |
1 |
ACC |
843 |
400 |
" |
" |
MKT |
23 |
0 |
" |
" |
SAL |
876 |
10 |
" |
2 |
ACC |
0 |
43 |
ファイルのキーが#COMP、#DIV、#DEPTの場合、次のRDMLプログラムによって、このファイルからページ番号と小計付きのレポートが生成されます。
GROUP_BY NAME(#ACCOUNTS) FIELDS((#COMP *TOTLEVEL1
*NEWPAGE *ONCHANGE)
(#DIV *TOTLEVEL2)
(#DEPT *TOTLEVEL3)
(#EXPEND *TOTAL)
(#REVNU *TOTAL))
SELECT FIELDS(#ACCOUNTS) FROM_FILE(ACCOUNT)
UPRINT FIELDS(#ACCOUNTS)
ENDSELECT
ENDPRINT
使用するフィールド属性について、次の点に注意してください。
· *NEWPAGE属性を使用すると、会社番号が変更されると必ず新しいページが開始されます。
· *ONCHANGE属性を使用すると、フィールド#COMPNOは、変更時のみ印刷されます。
· *TOTLEVELn属性によって、要求される合計「レベル制御切れ」を示します。この場合、会社、部門(会社内)、および課(会社の部門内)別の合計が必要になります。
· *TOTAL属性を使用すると、フィールドが合計されます。この場合、支出フィールドと収入フィールドが合計されます。
· 総計も計算されます。*TOTAL属性を使用すると、印刷ファイルが閉じられると自動的に総計行が作成されます(ENDPRINTコマンドを参照)。