4.2.7 初期フォーカスの動的変更
画面を表示したときの初期フォーカス位置をAPで指定できます。APでフォーカス位置を指定しないと,フォーカス位置はドローで定義した初期フォーカス位置に指定されます。
ここでは,入出力テキストにフォーカスを位置づけて表示する場合のコーディング例について説明します。
AP実行時のフォーカスの位置づけを次の図に示します。
顧客コードに初期フォーカス位置を指定するために,出力論理マップにフォーカス定数を代入します。顧客コードにフォーカスがある状態で,画面が表示されます。フォーカスを支店コードに移動すると,入力論理マップにフォーカス定数が格納されます。
フォーカス位置を特定するコーディング例を次に示します。
MOVE MAP001-FILED0002-T TO MAP001-OUTCURS-LOCO. …フォーカス定数を設定 : : IF MAP001- INCURS-LOCI = MAP001-FILED0003-T. …フォーカス位置を特定 THEN : |
出力論理マップのフォーカス制御項目に,フォーカスを設定するオブジェクトのフォーカス定数を格納します。画面上で,フォーカスのあるオブジェクトのフォーカス定数は,入力論理マップのフォーカス制御項目で受け取ります。
オブジェクトごとのフォーカス定数は,XMAP3 が自動的に生成します。なお,定数は,各オブジェクトのAPが受け取る項目のデータ名に「T」を付けて,定数テーブルとしています。このため,画面のオブジェクトの位置を変更しても,AP を変更する必要はありません。定数テーブルの値は,初期カーソル設定でも使用できるので,フィールドボックスへのフォーカスと,ボックス内の入出力フィールドへのカーソルを同時に設定できます。