質問箱 No.43: 同じような手順を共通のサブルーチンにしたい

      ◇ 回答箱 No.43-1    早瀬 壮一   1997年01月 180号 P.18
          ◇ 回答箱 No.43-2    高橋 周助   1997年02月 181号 P.27
             ◇ 質問箱 目次へ
No.43    同じような手順を共通のサブルーチンにしたい 質問者
  罍 昭夫
1996年12月
179号 P.37
 次のような手順のプログラムがあります。
  • (1) 元データをCSします。
  • (2) CSしたものをダミー表にAPDします。
  • (3) ダミー表をSORTしてWORKBINDERに保存します。
           一通り処理が終わった後で
  • (4) ダミー表が複数頁あったらARPで2頁以降を削除して1頁だけにし、1頁目のデータはDRで削除します(次回の処理に備えます)。


  •    下の<TEST>プログラムでは、5行〜8行と15〜18行で(4)の処理が行われています。(4)の行程をサブルーチンにしたいのですが、良い方法を教えて下さい。
 1<TEST>
 2            APD;%V5;%V6;;SORT;%V6;@枝番;A;;%V7/D;
 3
 4 /*****************************************************************/
 5           LET X6=BINDER(V6);          /* ここではV6がダミー表  &nbs ; */
 6           IF X6=1 THEN GOTO $1頁処理1
 7           ARP;%V6;D;2;%X6;Y;          /* 複数頁なら2頁以降削除   */
 8 $1頁処理1:G;%V6/1;DR;A;;P;*;          /* ダミー表のデータ行を削除*/
 9 /*****************************************************************/
 10
 11          CS;%V8;@枝番 ="=110*" OR "=112*" OR "=116*";;;%V9/D;
 12          APD;%V9;%V10;;SORT;%V10;@共済;A;;%V11/D
 13
 14 /*****************************************************************/
 15           LET X6=BINDER(V10);         /* ここではV10がダミー表   *
 16           IF X6=1 THEN GOTO $1頁処理2
 17           ARP;%V10;D;2;%X6;Y;         /* 複数頁なら2頁以降削除   */
 18 $1頁処理2:G;%V10/1;DR;A;;P;*;         /* ダミー表のデータ行を削除*/
 19 /*****************************************************************/
 20 〜 〜 〜 〜


このページのTOPへ戻る