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