質問箱 No.43: 同じような手順を共通のサブルーチンにしたい
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 〜 〜 〜 〜
|
|