画面・帳票サポートシステム XMAP3 開発ガイド


3.4.1 論理マップ属性

画面からの入力データに対するAPでの区別をできるようにするためのXMAP3に対する指示と,画面から生成される論理マップの展開形式を変更できます。変更は[論理マップ属性]ダイアログで行います。

[図データ]

〈この項の構成〉

(1) 初期クリア文字を変更する

初期クリア文字とは,AP実行時に画面からの入力データをAPが受け取る前にXMAP3が入力論理マップの各項目をクリアしておく文字のことです。したがって,画面上で入力操作がなかったときには,入力データがないためにAPが受け取るデータは初期クリア文字になり,これによってAPでは入力がなかったことを判断できます。標準設定ではドローまたはドローセットアップで,使用目的別データ型の入力テキスト/フィールド属性として設定した「埋字」でクリアすることになっているので,埋字以外で初期クリアする必要がある場合には変更してください。

[論理マップ属性]ダイアログの「初期クリア文字」で,ドロップダウンリストから変更したいクリア文字指定を選択し,[OK]ボタンをクリックして変更します。

ただし,初期クリア文字に指定できるのは半角文字だけです。初期クリア文字に「スペース」を指定した場合は,漢字専用オブジェクトでも,1文字につき半角スペース二つでクリアされます。漢字専用のオブジェクトで半角の初期クリア文字が入るのを回避したい場合は,次の方法があります。

(2) データ消去通知文字を変更する

データ消去通知文字とは,AP実行時に画面から[End]キーまたは[HELP]キーを押して,入出力テキスト・フィールドなどのエントリ系オブジェクトのデータを消去した場合にAPが受け取るデータのことです。したがって,APが受け取ったデータがデータ消去通知文字であれば,画面操作でデータ消去されたと判断できます。初期クリア文字とデータ消去通知文字を分けておくことで,入力操作がされなかったのか,データ消去されたのか区別できます。標準設定ではデータ消去された場合にAPが受け取るデータは「LOW(X'00')」となっているので,(00)16以外でデータ消去を認識する必要がある場合には通知文字を変更してください。

ただし,オブジェクトに「入力済み」の属性がある場合,画面確定時に入力データや表示データがないときには,データ消去されていなくてもデータ消去通知文字が返ります。

[論理マップ属性]ダイアログの「データ消去通知文字」で,ドロップダウンリストから変更したい変換文字指定を選択し,[OK]ボタンをクリックして変更します。データ消去通知文字に指定できるのは半角文字だけです。データ消去通知文字に「スペース」を指定した場合は,漢字専用オブジェクトでも1文字につき半角スペース2が通知されます。

変更する内容

選択する指定

通知しない(初期クリア文字または初期状態のまま)

「なし」

ドローまたはドローセットアップで設定した埋字

「埋字」

(00)16

「LOW(X'00')」

(FF)16

「HIGH(X'FF')」

(20)16

「スペース」

(3) エラー通知文字を変更する

エラー通知文字とは,AP実行時に画面のエントリ系オブジェクトからの入力エラーを検出した場合に,APが受け取るデータのことです。入力エラーは,使用目的が「カナ」で詳細目的が「カナ・半角」の入出力テキスト・フィールドに対して全角文字を入力した場合に検出されます。標準設定では入力エラーを検出するとAPが受け取るデータは「HIGH(X'FF')」となっているので,(FF)16以外でエラー検出を認識する必要がある場合には通知文字を変更してください。

[論理マップ属性]ダイアログの「エラー通知文字」で,ドロップダウンリストから変更したい通知文字指定を選択し,[OK]ボタンをクリックして変更します。

変更する内容

選択する指定

通知しない(初期クリア文字または初期状態のまま)

「なし」

画面定義またはドローセットアップで指定した埋字を通知文字にする

「埋字」

(00)16を通知文字にする

「LOW(X'00')」

(FF)16を通知文字にする

「HIGH(X'FF')」

(20)16を通知文字にする

「スペース」

(30)16を通知文字にする

「ゼロ」

(4) 論理マップの展開形式を変更する

マップ生成時の論理マップの展開形式を変更できます。

[論理マップ属性]ダイアログの「論理マップ展開形式」で,変更したい項目のチェックボタンを選択し,[OK]ボタンをクリックして変更します。

(a) 入力データ長格納領域の生成

画面から入出力テキスト/フィールドにデータ入力された場合,入力データのけた数をAPで認識する目的で,論理マップにAPが受け取るデータのけた数を格納する領域を生成することを指定できます。標準設定ではデータのけた数格納領域は生成されません。入力データのけた数をAPで意識する必要がある場合だけ,「入力データ長格納領域の生成」チェックボタンを選択して標準設定を変更してください。

(b) 定数部の別ファイル出力

マップ生成時,論理マップの各種項目と定数部を,それぞれ別ファイルに出力することを指定できます。標準設定では出力論理マップファイル中に,APから渡す項目と定数テーブルを出力します。APのソース管理の都合上,定数専用の論理マップを別管理する必要がある場合だけ,「定数部の別ファイル出力」チェックボタンを選択して標準設定を変更してください。

(c) 定数部への論理マップ長出力

論理マップの全体長を定数として論理マップファイル中に合わせて出力することを指定できます。標準設定では論理マップ長を定数部に出力します。論理マップの全体長をAPで意識する必要がない場合だけ,「定数部への論理マップ長出力」チェックボタンの選択を解除して標準設定を変更してください。

(d) 定義した位置の昇順に生成

標準設定では,論理マップ中の項目に該当するレイアウト定義上のオブジェクトの定義位置順に従って展開します。行番号,列番号が小さいオブジェクトの順に,論理マップ中に項目が展開されます。

(e) 接頭語を付加する

論理マップに生成される項目のデータ名の先頭に,接頭語としてマップ名を付加するかどうかを指定できます。接頭語にマップ名を付加することによって,一つのソースプログラム上で二つ以上の論理マップを扱う場合でもデータ名の重複を防ぐことができます。

標準設定では,接頭語の付加が指定されています。接頭語を付加しない場合だけ,「接頭語を付加する」チェックボタンの選択を解除して標準設定を変更してください。

(f) 論理マップ可変部の集団項目化

マップ生成時,論理マップの可変部の項目を,集団項目にまとめることを指定できます。標準設定では,論理マップの先頭から5バイト目の可変部のレベルを下げ,集団項目化します。可変部を集団項目化しておくことで,APで論理マップの長さ以外の項目のデータを,一括して初期クリアできるようになります。集団項目化しない場合だけ,「論理マップ可変部の集団項目化」チェックボタンの選択を解除して標準設定を変更してください。ただし,ドローで,言語種別をC言語にして開発する場合は,設定に関係なく集団項目化はされません。