RPG

32.改ページでトラブらない印刷出力のサブルーチン

ここで紹介する OUTPUT という名前のサブルーチンは、内部記述印刷処理を
制御するための安定した動作をシンプルに提供する。
印刷出力のための標識として、明細行であれば42を 合計行であれば 43を ON にして
OUTPUTに渡すだけで確実に、オーバーフロー制御が行なわれる。
長年にわたってこのルーチンを使用してきたが、未だに問題や不便さは感じられない
信頼高いルーチンである。

0009.00      LQPRINT   66FL 62OL
0033.00      C*( 明細印刷 )
0034.00      C*----------------------------------------------------+
0035.00      C                     SETON                     42    |
0036.00      C                     EXSR OUTPUT                     | 明細印刷
0037.00      C*----------------------------------------------------+
0042.00      C*( T-LR 最終合計 )
0043.00      C*----------------------------------------------------+ 
0044.00      CLR                   SETON                     49    | 
0045.00      CLR                   EXSR OUTPUT                     | 件数印刷
0046.00      C*----------------------------------------------------+ 
0053.00      C******************************************************
0054.00      C           OUTPUT    BEGSR
0055.00      C******************************************************
0056.00      CSRN40                SETON                     4041
0057.00      CSR                   EXCPT
0058.00      CSR OF                SETOF                     40OF
0059.00      CSR                   SETOF                     414243
0060.00      CSR                   SETOF                     444546
0061.00      CSR                   SETOF                     474849
0062.00      CSR                   ENDSR 
0063.00      OQPRINT  E  206   41 
0064.00      O                         UDATE Y    8 
0065.00      O                                   14 ' 作成 ' 
0066.00      O                         HDR,1     82 
0067.00      O                                  128 'PAGE.' 
0068.00      O                         PAGE  Z  131 
0069.00      O        E  1     41 
0070.00      O                                   10 ' 品種 code' 
0071.00      O                         SHSCOD    14 
0072.00      O                                   22 ' 品種名 ' 
0073.00      O                         HNSNAM    36 
0074.00      O        E  1     41
0075.00      O                                   10 ' 商品 code'
0076.00      O                                   34 ' 商品名 ' 
0077.00      O                                   68 ' 単価 ' 
0078.00      O        E  2     42 
0079.00      O                         SHCODE    11
0080.00      O                         SHNAME    46 
0081.00      O                         SHTANKJ   70 
0082.00      O        E  1     49 
0083.00      O                                   40 ' 処理件数 ' 
0084.00      O                                   57 '. . . . . . . . .'
0085.00      O                         KENSU 2   65