5.9.3 GENDSP01パターンを使用したCUI画面でのフィールド単位のデータ入力
(1) 処理の概要
受注データ入力画面を表示します。ファンクションキーなどを使用しないで,テンキーだけを操作してデータ入力をし,フィールド単位でデータの処理をします。
受注データ入力画面でのデータ入力処理の概要を次に示します。
図5-19 受注データ入力画面でのデータ入力処理(フィールド単位)
![[図データ]](figure/zu04k200.gif)
(2) 使用するマップの概要
作成するCUI画面の基になる定義サンプルを次に示します。
- 受注データ入力画面の定義サンプル:FIE1CCNC
定義サンプルを使用しない場合は,レイアウトパターンの「フリー」を選んで定義してください。
受注データ入力画面の作成時には,次の注意が必要です。
- すべての入出力フィールドに「自動スキップ(選択したら次のフィールドにフォーカスを移す)」の属性を指定する。これによって,フィールドの領域いっぱいまで文字を入力すると,自動的に次の入出力フィールドにカーソルが移動される。
- すべての入出力フィールドに「自動送信(入力直後にAPへ制御を渡す)」の属性を指定する。これによって,データ入力後にほかのフィールドにカーソルが移動したときに,このフィールドは送信(実行)キーが押された状態になり,APへ自動的に通知される。
- 処理済みのフィールドを書き込み禁止状態にするために,すべての入出力フィールドに「動的変更(APから表示属性を変更する)」の属性を指定する。
(3) AP作成上のポイント
作成するAPの基になるAPパターンを次に示します。
- メインプログラムで使用するAPパターン名:GENDSP01
このAPパターンを使用してのAP作成時には次の注意が必要です。
- フィールド単位で,順にデータ入力,表示処理をする。このとき処理済みのフィールドに,APから「入力不可」属性を指定することで,フィールドが書き込み禁止の状態になる。
- ファイルの入出力処理は,必要に応じて追加する。
(4) コーディング例
この例題のソースプログラムを「FIELDCC.cbl」として/opt/HIXMAP/samples/COBOLに標準提供しています。ソースプログラムからコーディング上のポイントを抜粋して次に示します。
![[図データ]](figure/zu04k300.gif)
- マップ名を変更する
プログラム中の「@@@555」を「FIE1CC」に変更します。
- APから表示属性を変更するための修飾名を設定する
- 画面の表示とデータを入力する