RPGによるコーディング | 簡単な会話型処理 |
RPGによるコーディング方法を取り上げます。随時増ページの予定です。
画面ファイルを使用した会話型処理
もっとも簡単な会話側処理の例を紹介します。
画面の2行目3カラムからガイドを表示し、Y:YESかN:NOを取得し、パラメータで呼び出しプログラムに
取得した結果を返します。
. 確認して下さい(Y/N) _
画面ファイルのDDSは次のようになります。
**. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 A R FMT01 TEXT(' 応答要求画面 ') A 2 3' 確認して下さい (Y/N)' A S1RES 1A B +1TEXT(' 応答 ')
最初の行FMT01はレコード様式名です。
2行3列から、確認のガイドを表示しています。
応答はS1RECというフィールド名で,1Aすなわち、1桁の英数字です。
入力と出力に使用するので使用法を、B(both)としています。
+1は前のフィールドからの相対的位置です。
プログラムロジック
プログラムは応答(S1RES)がYかNになるまで、処理を繰返します。
このようなプログラムは入力の最後に確認の応答を求めるサブ・プログラムとして応用できます。
プログラム例
**. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 FA110S CF E WORKSTN C*-------------------------------------------------------------- C *ENTRY PLIST C PARM S1RES 1 応答 C* 画面ループ処理 +----C S1RES DOUEQ'Y' | C S1RES OREQ 'N' | C EXFMTFMT01 +----C ENDDO C* C SETON LR C RETRN
最初の行は画面ファイルの記述です。15桁目のCが会話型のファイルを示します。
40桁目からの装置はワークステーションを意味します。
プログラムはパラメータで呼出側に応答の1文字をかえします。
画面との入出力はEXFMT(execute format)命令を使用します。これは出力+入力の命令です。
WRITE命令+READ命令でも同じことができます。
繰返しはDOUEQ(DO UNTIL EQUAL)で行っています。
以上一番簡単な会話型処理の例を紹介しました。
前ページ 次ページ 目 次
(C)COPYRIGHT ISHIOKA KATSUHIDE 2002−2003