外部記述 WORKSTN ファイルの使用

RPG WORKSTN ファイルには、外部記述表示装置ファイルまたは ICF 装置ファイル を使用することができます。これにはファイル情報、および書き出される レコードのフィールドの記述が入っています。 最も一般に使用される 外部記述 WORKSTN ファイルは表示装置ファイルです。 (表示装置ファイルを記述し作成する方法の説明については、Web サイト http://www.ibm.com/systems/i/infocenter/IBM® i Information Center の中の『データベースおよびファイル・システム』カテゴリーの『DB2® for i』の節を参照してください。)

フィールド記述 (フィールド名、属性など) のほかに、次のことを行うため に表示装置ファイルの DDS が使用されます。
  • 各フィールドおよび固定情報について行番号と桁番号を指定することによ って、画面上におけるレコードの配置形式を設定する。
  • フィールドの下線付けや強調表示、反転イメージ、明滅カーソルなどのア テンション機能を指定する。
  • 表示ワークステーションから入力されたデータを妥当性検査するように指定する。 妥当性検査機能にはデータが必要なフィールドの検出、全桁入力フィールド の検出、誤りデータ・タイプの検出、特定の範囲についてのデータの検出、 データが有効な入力であるかどうかの検査、およびモジュール 10 または 11 の検査数字検査の 処理があります。
  • 新しいデータが表示される時にフィールドを消去するか、オーバーレイす るか、または保存するかを判別するなどの画面管理機能を制御する。
  • 標識 01 ~ 99 をコマンド・アテンション・キーまたはコマンド機能キーと 関連付ける。 機能キーをコマンド機能キー (CF) として記述した場合には、応答標識 とデータ・レコード (画面で変更が入力された) の両方ともプログラムに戻さ れます。 機能キーをコマンド・アテンション・キー (CA) として記述した場合に は、応答標識がプログラムに戻されますが、データ・レコードは変更されない ままです。 したがって、入力専用文字フィールドはブランクであり、入力専用数字フィールド はゼロが埋め込まれます。ただし、これらのフィールドがそれ以外の値で 初期設定されている場合は除きます。
  • 編集コード (EDTCDE) または編集語 (EDTWRD) キーワードをフィールドに割り当てて、フィールド値の表示法を指定する。
  • サブファイルを指定する。
表示装置レコード様式は次の 3 種類のフィールドで構成されます。
  • 入力フィールド。 入力フィールドは、プログラムがレコードを読み取る時に、 装置からプログラムに渡されます。 入力フィールドはデフォルト値を用いて初期設定 することができます。 デフォルト値が変更されない場合には、 デフォルト値がプログラムに渡されます。 初期設定されていない入力フィールドは、 ブランクとして表示され、ワークステーション・ユーザーはそこにデータを入力する ことができます。
  • 出力フィールド。 出力フィールドは、プログラムがレコードを 表示装置に書き出す時に、プログラムから装置に渡されます。 出力フィールドは、プログラムまたはレコード様式によって装置ファイルに指 定することができます。
  • 出力 / 入力 (入出力共用) フィールド。 出力 / 入力フィールドは変更可能な出力フィールドです。 変更される場合には、入力フィールドとなります。 出力 / 入力フィールドは、プログラムが表示装置にレコードを書き出す時に プログラムから渡され、プログラムが表示装置からレコードを 読み取る時にプログラムに渡されます。 出力 / 入力フィールドは、ユーザーがプログラムから表示装置に書き出される データを変更または更新する時に使用されます。

WORKSTN ファイルの DDS にキーワード INDARA を指定した場合には、 RPG プログラムは標識を入出力バッファーではなく、独立標識域内の WORKSTN ファイルに渡します。

外部記述表示装置ファイルの詳細な説明、および有効な DDS キーワードのリストについては、Web サイト http://www.ibm.com/systems/i/infocenter/IBM i Information Center の中の『データベースおよびファイル・システム』カテゴリーの『DB2 for i』の節を参照してください。

図 1 に、表示装置ファイルの DDS の例が示して あります。

図 1. 表示装置ファイルのデータ記述仕様書の例
*.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ..*
AAN01N02N03T.Name++++++RLen++TDpBLinPosFunctions++++++++++++++++++++*
A** 品目マスター照会
A                                      REF(DSTREF)  1 
A          R PROMPT                    TEXT('Item Prompt Format')
A  73N61                               OVERLAY  2 
A                                      CA03(98 'End of Program')  3 
A                                  1  2'Item Inquiry'
A                                  3  2'Item Number'
A            ITEM      R        I  3 15PUTRETAIN  4 
A  61                                  ERRMSG('Invalid Item Number' 61) 5 
A          R RESPONSE                  TEXT('Response Format')
A                                      OVERLAY  2 
A                                      LOCK  6 
A                                  5  2'Description'
A            DESCRP    R           5 15
A                                  5 37'Price'
A            PRICE     R           5 44
A                                  7  2'Warehouse Location'  7 
A            WHSLOC    R           7 22
A                                  9  2'On Hand'
A            ONHAND    R           9 10
A                                  9 19'Allocated'  8 
A            ALLOC     R           9 30
A                                  9 40'Available'
A            AVAIL     R           9 51
A*
この表示装置ファイルは、2 つのレコード様式 PROMPT および RESPONSE で構 成されています。
 1 
このファイルのフィールドの属性は、DSTREF フィールド参照ファイルに 定義してあります。
 2 
OVERLAY キーワードを使用して、両方のレコード様式が同じ画面で使用で きるようにします。
 3 
機能キー 3 を標識 98 と関連付けてありますが、この標識は プログラマーがプログラムを終了させるために使用します。
 4 
PUTRETAIN キーワードによって、ITEM フィールドに入力された値を表示装 置に保存することができます。 さらに、ITEM フィールドは 38 桁目の I で入力フィールドとして定義され ます。 ITEM は、これらのレコード様式の中では唯一の入力フィールドです。 レコード中の他のフィールドはすべて、それぞれの 38 桁目がブランクになっ ているので、出力フィールドです。
  5 
ERRMSG キーワードは、このレコード様式を使用するプログラム で標識 61 がオンに設定された場合に表示されるエラー・メッセージを指定します。
 6 
LOCK キーワードによって、RESPONSE レコード様式が最初に表示された時 に、ワークステーション・ユーザーはキーボードを使用できなくなります。
  7 
‘Description’ (品名)、‘Price’ (価格)、‘Warehouse Location’ (倉庫内棚番) などの固定情報は、プログラムで書き出されるフィールドを記述しています。
  8 
行および桁を記入することによって、フィールドまたは固定情報が 画面に書き出される場所を示します。