8.5.3 入出力テキスト/入出力フィールド
入出力テキスト/入出力フィールドは,キーボードなどからデータを入力するとき,およびAPから渡されるデータを表示するときに使用します。
入出力テキスト/入出力フィールドは,入出力するデータの意味に応じて,種類(使用目的,詳細目的)を選びます。使用目的にMCRを設定すると,MCRからデータを入力できます。MCRについての詳細は「8.7 MCR」を参照してください。
初期表示値(出力データ)を表示し,書き換えが必要な場合だけ入力するような使い方ができます。
入出力テキスト/入出力フィールドの表示属性については,「12.1 画面定義のリファレンス情報」を参照してください。
- 〈この項の構成〉
(1) 設定できる項目
入出力テキスト/入出力フィールドの項目と設定できる値を次の表に示します。
項目 |
動的変更 |
設定できる値 |
|||
---|---|---|---|---|---|
テキスト |
フィールド |
テキスト |
フィールド |
||
使用目的 |
− |
− |
数字,金額,数値,カナ,英数,日本語,パスワード,MCR |
数字,金額,数値,カナ,英数,日本語,パスワード,MCR |
|
詳細目的※1 |
○ |
○ |
|||
空白入力※1 |
− |
− |
|||
遷移条件 |
○ |
○ |
手動スキップ・右寄せ, 手動スキップ・全桁必須, 手動スキップ, 自動スキップ |
手動スキップ・右寄せ, 手動スキップ・全桁必須, 手動スキップ, 自動スキップ |
|
表示方法 |
○ |
○ |
入力可能-標準表示, 入力可能-文字だけ表示, 入力不可-標準表示, 入力不可-グレーアウト表示, 入力不可-文字だけ非表示, 全体非表示 |
入力可能-標準表示, 入力可能-文字だけ表示, 入力不可-標準表示, 入力不可-文字だけ非表示 |
|
表示書式※2 |
− |
− |
使用目的が金額の場合:カンマ付加,\・カンマ付加,*・カンマ付加 使用目的が数値の場合:ゼロサプレス,*付加,ゼロ付加 |
使用目的が金額の場合:カンマ付加,\・カンマ付加,*・カンマ付加 使用目的が数値の場合:ゼロサプレス,*付加,ゼロ付加 |
|
背景色 |
○ |
− |
白,赤,緑,青,ライトレッド,ライトブルー,黄,グレー,黒,ダークグレー,ライトグレー,ダークグリーン,ライトグリーン,ライトイエロー,ダークブルー,透明 |
− |
|
枠高 |
− |
− |
3ます,2.5ます,2ます |
− |
|
文字色 |
○ |
○ |
白,赤,緑,青,紫,空,黄,黒,ダークレッド,ダークブルー,ダークグリーン,ダークイエロー |
白,赤,緑,青,紫,空,黄,黒,ダークレッド,ダークブルー,ダークグリーン,ダークイエロー |
|
文字サイズ |
− |
− |
大,標準,小 |
− |
|
文字の書体 |
− |
− |
標準,明朝,ゴシック |
− |
|
文字の強調 |
− |
− |
標準,太字,斜体,太字&斜体 |
− |
|
テキスト・フィールド反復※3 |
− |
− |
回数は, 縦方向:1〜96 横方向:1〜160 間隔は, 縦方向:0〜92 横方向:0〜158 |
回数は, 縦方向:1〜127 横方向:1〜255 間隔は, 縦方向:0〜125 横方向:0〜253 |
|
反転表示する |
○ |
○ |
チェックあり/チェックなし |
チェックあり/チェックなし |
|
フォーカス/カーソル設定(初期フォーカス/カーソルを本フィールドに設定する) |
− |
− |
チェックあり/チェックなし |
チェックあり/チェックなし |
|
入力済み(入力しなくても表示データをAPに返す) |
○ |
○ |
チェックあり/チェックなし |
チェックあり/チェックなし |
|
自動送信(入力直後にAPへ制御を渡す) |
○ |
○ |
チェックあり/チェックなし |
チェックあり/チェックなし |
|
入力必須(入力しない時にはエラーにする) |
○ |
○ |
チェックあり/チェックなし |
チェックあり/チェックなし |
|
ワンタッチクリア(選択状態にする) |
○ |
○ |
チェックあり/チェックなし |
チェックあり/チェックなし |
|
改行入力(改行コードを認識する) |
− |
− |
− |
チェックあり/チェックなし |
|
印字する |
− |
○ |
− |
チェックあり/チェックなし |
|
コメントの記述 |
− |
− |
文字数:40文字(半角) |
文字数:40文字(半角) |
|
APが受け取る項目 |
データ名 |
− |
− |
||
桁 |
− |
− |
|||
データ長 |
− |
− |
|||
データ型 |
− |
− |
|||
桁寄せ |
− |
− |
|||
埋字 |
− |
− |
|||
初期値(入力) |
− |
− |
|||
下位項目 |
− |
− |
|||
APからデータを表示する |
− |
− |
|||
APが渡す項目 |
データ名 |
− |
− |
||
桁 |
− |
− |
|||
データ長 |
− |
− |
|||
データ型 |
− |
− |
|||
桁寄せ |
− |
− |
|||
埋字 |
− |
− |
|||
初期値(出力) |
− |
− |
|||
下位項目 |
− |
− |
|||
自由な設定 |
− |
− |
|||
動的変更 |
− |
− |
(2) 表示形式
表示形式は,扱うデータの種別によって次のように変わります。
-
入出力テキストは,枠は必ず付きます。入出力フィールドは,アンダードットは付きますが,枠は付きません。
- (例1)
-
アンダードットの例
-
入出力テキストは,文字サイズを指定できます。
-
文字を強調するために,斜体や太字を使用できます。
-
明朝体,ゴシック体を使用できます。
-
入出力テキストで枠を付ける場合,「枠高」で「2ます」を指定すると,枠付きのテキストボックスを上下に配置したとき,枠同士が接した状態でも表示できます。「枠高」で「2.5ます」または「3ます」を指定していると,枠と枠の間が1ます分空きます。
-
入出力フィールドは,行を折り返して複数行にわたるサイズで配置できます。入出力フィールドが複数行にわたる場合,復改キーでカーソルの改行動作が行われます。改行入力属性を指定している場合,改行位置に改行コードが付きます。改行入力属性を指定していない場合,改行コードは付きません。
改行入力属性を指定している場合,データの途中の改行コードは,画面表示,および画面入力時に改行コードとして入出力されます。改行入力属性を指定していない場合,データの途中の改行コードは,画面表示,および画面入力時に不当な文字データとして入出力されます。
なお,改行入力属性を指定している場合に,改行位置からフィールドの末尾までにデータが入力されている,または埋字に「LOW(X'00')」以外が指定されていると,改行コードが挿入されないことがあります。そのため,埋字に「LOW(X'00')」と指定するか,表示後に文字データ以降をフィールドキーでクリアしてください。
- (例2)
-
複数行にわたるデータの例
-
入出力フィールドを配置するときに,縦方向に繰り返して反復の指定ができます。反復の操作は,[Shift]キーを押したままマウスをドラッグすることで,入出力フィールドを縦方向に繰り返して定義できます。反復した入出力フィールドのデータ項目は配列(COBOLの場合,OCCURS展開)となります。
(3) 入力データのチェック
扱うデータの種類を決めたり,空白の使い方を指定したりして,入力データをチェックします。
(a) 使用目的による入力データのチェック
使用目的によって,入力データをチェックできます。使用目的と入力データの関係については,「12.1.10 使用目的と詳細目的」の表12-8を参照してください。
(b) 詳細目的による入力データのチェック
詳細目的を指定して,使用目的よりも細かいチェック条件が指定できます。詳細目的とデータ型および入力できる文字の関係については,「12.1.10 使用目的と詳細目的」の表12-9を参照してください。
(c) 空白入力
データに対して挿入する空白を,半角だけにするか全角だけにするか混合にするかで指定します。選べる項目は,使用目的および詳細目的に応じて異なります。「禁止」を指定すると,空白の入力はできません。空白入力については,「12.1.2 キーエントリ・ラベル系オブジェクトの表示属性一覧(テキストとフィールド)」を参照してください。
(4) 画面確定時の動き
(a) イベント通知コードの動作で指定する画面確定時の動き
画面属性ダイアログの「イベント通知コード」設定の「動作」に「AP通知(確定)」を指定している場合,画面確定時に「入力必須」を指定したテキスト・フィールドの内容が入力されているかがチェックされます。ヘルプの表示など,一時的に入力を中断してAPに通知を返すときは,「AP通知(中断)」「AP通知(取消)」を使用して,「入力必須」を指定したテキスト・フィールドが未入力でもチェックされないようにできます。
(b) [閉じる]ボタンでの画面確定時の注意
入出力テキスト/フィールドの使用目的が「金額」「数値」の場合,[閉じる]ボタンで画面を確定した表示画面からAPに制御が渡るとき,画面上のデータは保証されません。再表示時に前回と同じ内容を表示させたい場合は,明示的にオブジェクトの値を設定するか,画面属性ダイアログの「入力・選択状態の扱い」で「初期設定」を指定してください。
(5) フォーカス/カーソルの遷移
遷移条件が指定できます。
-
入力データが桁数に満たない場合,タブキーで次の入力/選択できる領域にフォーカス・カーソルを移動すると,入力データが右寄せされます。
-
1文字でも入力した場合,桁数いっぱいに入力しないと入力エラーになり,タブキーでのフォーカス・カーソル移動ができなくなります。
-
桁数を超えるデータを入力しようとするとエラーになります。
-
桁数いっぱいまで文字を入力すると,フォーカス・カーソルが次の入力/選択できる領域に自動的に移動します。これに対して,手動スキップの場合はタブキーを押すことでフォーカス・カーソルの次の入力/選択できる領域に移動します。
(6) 入力時のAPの操作
APの入力論理マップには次の内容を格納します。
(a) 入力データ項目
-
下位項目を利用したチェック
必要に応じて下位項目を設定できます。下位項目はデータ型が「文字(XX)」のときに設定できます。下位項目を設定すると,データをコードデータのように区切ってチェックしたり,1文字の繰り返しデータのようにして,1文字ずつチェックしたりできます。下位項目については,「8.6(3) 下位項目」を参照してください。
-
入力データチェックの通知
どのような操作が起こったかをチェックするためのコードをAPに通知します。
-
コードエラーの通知
不正な文字を入力した場合,一般的には入力時にエラーになります。ただし,エラー通知文字(標準はHIGH(X'FF'))をAPへ返すこともできます。なお,この機能を使用できるのは,使用目的「カナ」,詳細目的「カナ・半角」を組み合わせて指定したテキストまたはフィールドに対して,全角文字を入力した場合です。
また,空白入力に「一部&全桁(半角)」か「一部(半角)」を指定し,XMAP3実行環境の表示・印刷環境ファイルの「全角スペースコードの扱い」で「全角スペースをそのまま返す」を設定すると,全角の空白を入力した場合にコードエラーになります。
-
データ消去の通知
フィールドキーでデータを消去した場合などに,データ消去通知文字(標準はLOW(X'00'))をAPへ返します。
-
データ未入力の通知
・初期値を返す場合
(例)
テキスト・フィールドで初期値に「ABC」の文字を設定し,データを入力しない場合に初期値の「ABC」をAPへ返します。
・初期クリア文字を返す場合
初期値の文字を設定しないで,データを入力しない場合に初期クリア文字(標準は埋字と同じ文字)を返します。
(例)
使用目的が「英数」の場合は埋字(スペース)を,「数字」の場合は埋字(ゼロ)をAPへ返します。
エラー通知文字,データ消去通知文字および初期クリア文字は,ドローセットアップで変更することもできます。
-
(7) 入出力テキスト・フィールドでの定義とAPの実行結果
XMAP3での入出力テキスト・フィールドの定義と,APでの実行結果の例を次の表に示します。
適用例 |
ドローでの定義 |
実行結果 |
||
---|---|---|---|---|
使用目的 |
詳細目的 (空白入力) |
キーボード の入力 |
表示結果 |
|
数字 コード |
数字 |
数字 |
1234 |
|
+123 |
エラー |
|||
英数 コード |
英数 |
英大・数 |
A001 |
|
*001 |
エラー |
|||
名前 |
日本語 |
混在 (一部&全桁(半角)) |
日△△立 |
|
漢字 (禁止) |
日立 |
|||
漢字 (禁止) |
△△日立 |
エラー |
||
数量 |
数値 |
数字 |
12 |
|
数字・数字記号 |
+12 |
|||
金額 |
金額 |
数字 |
1234 |
|
+1234 |
エラー |
|||
フリガナ |
カナ |
カナ・英大・マイナス・長音 |
||
エラー |
||||
パスワード |
パスワード |
半角 |
1234 |
|
IDカード |
MCR |
半角 |
>1234 |
(8) 出力時のAPの操作
出力時のAPから操作する場合については,「8.5.2 出力テキスト/出力フィールド」を参照してください。
(9) 表示属性の動的変更
入出力テキスト/入出力フィールドでは,表示属性をAP実行時に変更できます。表示属性の動的変更については「8.2.4 表示属性の動的変更」を参照してください。