5.9.4 GENDSP01パターンを使用した行単位のデータ入力
(1) 処理の概要
受注データ入力画面を表示します。1行ずつデータが入力できる状態になり,行単位で入力を確認して,入力データを処理します。
受注データ入力画面でのデータ入力処理の概要を次に示します。
図5-20 受注データ入力画面でのデータ入力処理(行単位)
![[図データ]](figure/zu04k400.gif)
(2) 使用するマップの概要
作成するGUI画面の基になる定義サンプルを次に示します。
- 受注データ入力画面の定義サンプル:LIN1GCND
定義サンプルを使用しない場合は,レイアウトパターンの「フリー」を選んで定義してください。
受注データ入力画面の作成時には,次の注意が必要です。
- すべての入出力フィールドに「入力不可―標準表示」の表示属性を指定する。
- すべての入出力フィールドに「動的変更(APから表示属性を変更する)」の属性を指定する。
- 行の最後の入出力フィールド(数量)には「自動送信(入力直後にAPへ制御を渡す)」の属性を指定する。
(3) AP作成上のポイント
作成するAPの基になるAPパターンとAP部品を次に示します。
- メインプログラムで使用するAPパターン名:GENDSP01
- サブルーチンで使用するAP部品名:PATWRT01
このAPパターンを使用してAPを作成するには,次の注意が必要です。
- 行単位で,順にデータ入力,表示処理をする。このとき,1行ずつ入力できるように行単位で「入力可能―標準表示」の表示属性を動的変更する。
- データ処理後の表示済みのフィールドは2回目の画面表示以降ではデータを送らないようにして,必要以上に画面がちらつかないようにする。
- ファイルの入出力処理は,必要に応じて追加する。
(4) コーディング例
この例題のソースプログラムを「LINEGC.cbl」として/opt/HIXMAP/samples/COBOLに標準提供しています。ソースプログラムからコーディング上のポイントを抜粋して次に示します。
![[図データ]](figure/zu04k500.gif)
- マップ名を変更する
プログラム中の「@@@555」を「LIN1GC」に変更してください。
- 入力する行の入力フィールドを活性に変更する
- フォーカスを位置づける
- 画面の表示とデータの入力
- 入力した行の入力フィールドを不活性に戻す
- 表示済みのフィールドに対するデータを転送しないようにする