画面・帳票サポートシステム

XMAP3 プログラミングガイド 画面編

解説・手引・操作書

3020-7-594-A0

目　　次

前書き

変更内容

はじめに

1.　画面機能の概要

1.1　XMAP3で作成できる画面

1.2　XMAP3の画面設計の概要

1.3　画面設計の流れ

1.3.1　作成する画面の種類を決定する

1.3.2　画面を設計する

1.3.3　画面のレイアウトを定義する

1.3.4　APをコーディングする

1.4　画面で使用できる機能（GUI画面，CUI画面）

1.4.1　GUI画面で使用できる機能

1.4.2　CUI画面で使用できる機能

1.5　XMAP3画面制御方式の解説

1.5.1　画面の制御方式

1.5.2　画面の描画方式

1.5.3　画面の表示モード

1.5.4　論理マップ

1.5.5　データ有無コード

1.5.6　表示属性の動的変更

1.5.7　オブジェクトの転送モード

1.5.8　入力単位

1.5.9　画面確定とAPへの通知

1.5.10　表示先と表示環境の設定

1.6　XMAP3関連ファイルの関係

1.7　画面を設計する前に

1.7.1　画面設計で使用する基本用語の説明

1.7.2　オブジェクト配置位置の基準

1.7.3　画面設計と定義

2.　GUI画面の作成

2.1　GUI画面の設計

2.1.1　GUI画面の構成

2.1.2　画面サイズ

2.1.3　画面の表示様式

2.1.4　レイアウト領域の背景色

2.1.5　一次ウィンドウと二次ウィンドウ

2.1.6　GUI画面設計でこんなこともできます

2.1.7　GUI画面設計のポイント

2.2　GUI画面のレイアウト手順

2.2.1　マップ名の決定

2.2.2　定義パターンおよび部品の登録

2.3　GUI画面属性の設定

2.3.1　画面属性の詳細

2.3.2　画面属性の動的変更

2.4　GUI画面を構成するオブジェクト

2.4.1　タイトルバー

2.4.2　メニューバー

2.4.3　二次ウィンドウ

2.4.4　入出力テキストボックス

2.4.5　日付テキスト・フィールドと時刻テキスト・フィールド（入出力）

2.4.6　固定テキストボックス

2.4.7　出力テキストボックス

2.4.8　日付テキスト・フィールドと時刻テキスト・フィールド（出力）

2.4.9　コンボボックス

2.4.10　ポップアップテキスト

2.4.11　スピンボックス

2.4.12　リストボックス

2.4.13　ラジオボタンボックス

2.4.14　チェックボタンボックス

2.4.15　トグルフィールド

2.4.16　グループボックス

2.4.17　フィールドボックス

2.4.18　固定グラフィック

2.4.19　出力グラフィック

2.4.20　セパレータ

2.4.21　けい線

2.4.22　メッセージアイコン

2.4.23　塗りつぶしフィールド

2.4.24　プッシュボタンボックス（コマンドボタン）

2.4.25　MCR

2.4.26　フォーカスとカーソル

2.4.27　予約テキスト・フィールド

2.4.28　次画面

2.5　部品の利用

2.6　データ名の編集

2.6.1　データ名編集ダイアログの機能

2.6.2　データ名編集ダイアログでの操作と注意事項

2.7　テスト表示

3.　CUI画面の作成

3.1　CUI画面の設計

3.1.1　CUI画面の構成

3.1.2　画面サイズ

3.1.3　背景色および画面の表示フォント

3.2　CUI画面のレイアウト手順

3.2.1　マップ名の決定

3.2.2　定義パターンおよび部品の登録

3.3　CUI画面属性の設定

3.3.1　画面属性の詳細

3.3.2　画面属性の動的変更

3.4　CUI画面を構成するオブジェクト

3.4.1　タイトルバー

3.4.2　APへの通知

3.4.3　入出力フィールド

3.4.4　固定フィールド

3.4.5　出力フィールド

3.4.6　フレーム（横／縦繰り返し）

3.4.7　けい線

3.4.8　カーソル

3.4.9　予約フィールド

3.4.10　次画面

3.5　部品の利用

3.6　データ名に関するコメントの編集

3.7　テスト表示

4.　マウスとキー操作

4.1　有効となるキー

4.1.1　データ入力キー

4.1.2　制御キー

4.1.3　キーボードのカスタマイズ

4.2　各制御キーの機能

4.2.1　キーの機能

4.2.2　キーでのデータ入力と編集

4.3　マウス操作

4.3.1　有効となるボタン

4.3.2　シングルクリックとダブルクリック

4.3.3　マウスでのクリック

4.3.4　ホイールマウスでの操作

4.4　コピー＆ペースト操作

4.4.1　コピーの対象

4.4.2　ペーストの対象

4.4.3　クリップボードを使用したコピー＆ペースト操作

5.　論理マップ生成規則とマッピング規則

5.1　論理マップとは

5.1.1　論理マップの構成

5.1.2　論理マップ生成規則で使用する用語

5.1.3　生成される標準のデータ名

5.1.4　ターゲットでの論理マップの違い

5.1.5　マッピングオプション

5.1.6　使用目的／詳細目的とデータ型

5.1.7　ドローセットアップとの関係

5.1.8　下位項目を指定したときの扱い

5.1.9　フレームを使用したときの扱い

5.2　固定部の論理マップ生成規則とマッピング規則

5.2.1　固定部の出力論理マップ生成規則とマッピング規則

5.2.2　固定部の入力論理マップ生成規則とマッピング規則

5.3　可変部の論理マップ生成規則とマッピング規則

5.3.1　ウィンドウ表示

5.3.2　出力カーソル制御

5.3.3　入力カーソル制御

5.3.4　イベント通知コード

5.3.5　可変項目の論理マップ生成規則とマッピング規則

5.3.6　入力数字編集項目の論理マップ生成規則とマッピング規則

5.3.7　制御項目の論理マップ生成規則とマッピング規則

5.3.8　入力バイト数格納項目の論理マップ生成規則とマッピング規則

5.3.9　埋字と桁寄せに関するマッピング規則（出力フィールド）

5.3.10　フィールドキーを押したときのマッピング規則

5.3.11　データキーを押したときのマッピング規則

5.3.12　入力操作がなかったときのマッピング規則

5.3.13　コードエラーを検出したときのマッピング規則

5.3.14　埋字と桁寄せに関するマッピング規則（入力フィールド）

5.3.15　MCR入力のマッピング規則

5.3.16　隠しフィールドの論理マップ生成規則とマッピング規則

5.3.17　確定キーの制御情報

5.3.18　下位項目の論理マップ生成規則とマッピング規則

5.4　可変部の論理マップ生成規則とマッピング規則（GUI画面固有）

5.4.1　ポップアップメニューの論理マップ生成規則とマッピング規則

5.4.2　メニューバーの論理マップ生成規則

5.4.3　プッシュボタンボックスの論理マップ生成規則とマッピング規則

5.4.4　ラジオボタンボックスの論理マップ生成規則とマッピング規則

5.4.5　チェックボタンボックスの論理マップ生成規則とマッピング規則

5.4.6　リストボックスの論理マップ生成規則とマッピング規則

5.4.7　コンボボックスの論理マップ生成規則とマッピング規則

5.4.8　フォーカス・カーソル位置の論理マップ生成規則とマッピング規則

5.4.9　二次ウィンドウの表示に関するマッピング規則

5.4.10　出力グラフィックの論理マップ生成規則とマッピング規則

5.4.11　日付・時刻項目の論理マップ生成規則とマッピング規則

5.4.12　トグルフィールドの論理マップ生成規則とマッピング規則

5.4.13　スピンボックスの論理マップ生成規則とマッピング規則

5.4.14　数値・金額項目の論理マップ生成規則とマッピング規則

5.4.15　ウィンドウ表示位置の論理マップ生成規則とマッピング規則

5.5　定数部の論理マップ生成規則とマッピング規則

5.5.1　定数部の論理マップ生成規則

5.5.2　イベント定数の論理マップ生成規則

5.5.3　フォーカス定数の論理マップ生成規則

5.5.4　動的変更テーブル

5.6　予約テキスト・フィールドのマッピング規則

6.　画面定義とコーディングの関連

6.1　画面属性とAP

6.1.1　ウィンドウの表示形態を変更する

6.1.2　ウィンドウ位置を変更する

6.1.3　PFキーなど確定キーの扱いを変更する

6.1.4　次画面を設定する

6.2　GUI画面の各オブジェクトとAP

6.2.1　出力テキストの表示

6.2.2　出力数字編集項目の利用（COBOLだけ有効）

6.2.3　出力テキストでの埋字と桁寄せ向きの利用

6.2.4　下位項目を利用した日付テキスト・フィールドと時刻テキスト・フィールド（出力）

6.2.5　入出力テキストを使用したデータの送受信

6.2.6　入出力テキストでの埋字と桁寄せ向きの利用

6.2.7　特定の入出力テキストだけを書き換える（データ有無コードの利用）

6.2.8　初期値の利用

6.2.9　入力できるデータ型の設定（詳細目的の利用）

6.2.10　下位項目を利用した入出力テキスト

6.2.11　下位項目を利用した日付テキスト・フィールドと時刻テキスト・フィールド（入出力）

6.2.12　テキストの文字色の動的変更

6.2.13　パスワードの利用

6.2.14　MCR入力専用のテキストの利用

6.2.15　フィールドボックスの入出力

6.2.16　複数行フィールドからのデータの抽出

6.2.17　可変ポップアップテキストを使用したデータの入力

6.2.18　ポップアップメニューファイルを使用したデータの入力

6.2.19　固定ポップアップテキストを使用したデータの入力

6.2.20　トグルフィールド

6.2.21　入出力・出力フィールドの一括反復（フレームの使用）

6.2.22　メニュー選択コンボボックス（可変）を使用した候補の選択

6.2.23　メニュー選択コンボボックス（固定）を使用した候補の選択

6.2.24　キー入力コンボボックス（可変）を使用したデータの入力

6.2.25　キー入力コンボボックス（固定）を使用したデータの入力

6.2.26　可変ラジオボタンを使用した候補の選択

6.2.27　固定ラジオボタンを使用した候補の選択

6.2.28　可変チェックボタンを使用した候補の選択

6.2.29　固定チェックボタンを使用した候補の選択

6.2.30　チェックボタンの選択状態の動的変更

6.2.31　リストボックスを使用した項目の選択

6.2.32　コンボボックスの項目数の動的変更

6.2.33　プッシュボタンを使用した処理の選択

6.2.34　プッシュボタンの表示の動的変更

6.2.35　メニューバーを使用した処理の選択

6.2.36　出力グラフィックの利用

6.2.37　GUI画面でのファンクションキーの利用

6.2.38　二次ウィンドウの表示

6.2.39　初期フォーカスの動的変更

6.2.40　隠しフィールドの設定

7.　APのコーディング方法

7.1　XMAP3実行支援のAPインタフェースについて

7.1.1　XMAP3での画面の入出力の基本

7.1.2　AP間でオープンを引き継ぐ場合

7.1.3　AP分割時の注意

7.1.4　APでの入力論理マップ上のデータチェック

7.1.5　AP作成時の注意事項

7.2　COBOLの画面入出力命令

7.2.1　仮想端末の自動割当て

7.2.2　論理マップの取り込み方法（COBOL）

7.2.3　画面表示命令（COBOL）

7.2.4　CALL文による方法

7.2.5　COBOL開発マネージャを使用したコンパイルと実行のポイント

7.2.6　COBOL開発マネージャでのXMAP3の利用方法

7.3　C言語の画面入出力命令

7.3.1　仮想端末の自動割当て

7.3.2　論理マップの取り込み方法（C言語）

7.3.3　画面表示命令（C言語）

7.3.4　C言語固有のコーディング例

7.4　汎用APインタフェース

7.4.1　関数の機能概要

7.4.2　C言語での表示方法

7.4.3　Visual BasicおよびAccessでの表示方法

7.4.4　Delphiでの表示方法

7.4.5　文字編集DLL

7.5　OLTPサーバ構成での画面表示

7.5.1　COBOLでの画面表示命令

7.5.2　C言語での画面表示命令

7.5.3　APの実行

8.　標準パターンを使用したAPの作成

8.1　標準パターン

8.1.1　レイアウトパターンとアプリケーションのパターン

8.1.2　COBOLエディタからのAPパターンの利用

8.1.3　C言語用のサンプルとAPパターン

8.2　標準パターンを使用した機能別の作成例（COBOL）

8.2.1　BTMENU01パターンを使用したメニュー画面の表示

8.2.2　BTMENU01のAP実行前に表示するスプラッシュ画面の追加

8.2.3　GENDSP01パターンを使用したメニュー画面からの次画面表示

8.2.4　GENDSP01パターンを使用したCUI画面でのフィールド単位のデータ入力

8.2.5　GENFLD01パターンを使用したGUI画面でのフィールド単位のデータ入力

8.2.6　GENEVN01パターンを使用したGUI画面でのイベント単位のデータ入力

8.2.7　GENDSP01パターンを使用した行単位のデータ入力

8.2.8　GENDSP01パターンを使用した入力フィールドのクリア

8.2.9　GENDSP01パターンを使用したAPからのフィールド属性の変更

8.2.10　GENDSP01パターンを使用した表形式の一覧表示

8.2.11　GENDSP01パターンを使用した出力フィールドの再表示

8.2.12　GENDSP01パターンを使用したヘルプ画面の表示

8.2.13　GENDSP01パターンを使用したダイアログの表示

8.2.14　GENDSP01パターンを使用した掲示板の表示

8.2.15　DSPPRT01パターンを使用した画面表示と帳票印刷

8.2.16　MCFDP01パターンを使用した画面表示と帳票印刷

8.3　各種例題プログラム

8.3.1　APサンプルのコンパイルと実行手順

8.3.2　COBOLによるGUI画面を使用した画面単位入力例題

8.3.3　COBOLによるGUI画面を使用したフィールド単位入力例題

8.3.4　COBOLによるGUI画面を使用したイベント単位入力例題

8.3.5　COBOLによるGUI画面を使用した行単位入力例題

8.3.6　COBOLによるCUI画面を使用したフィールド単位入力例題

8.3.7　C言語によるGUI画面を使用したGUI入門例題

8.3.8　COBOLによるOLTPクライアントAP例（OpenTP1を使用した受注業務）

8.3.9　COBOLによるトランザクション型AP例（OpenTP1を使用した受発注業務）

9.　チューニングとトラブルの対処方法

9.1　性能向上のポイント

9.2　トラブルの対処方法

9.2.1　日立COBOL使用時のトラブル

9.2.2　旧バージョン提供ファイルのコンパイル時のトラブル

9.2.3　表示に関する対処方法

9.2.4　応答性能の対処方法

付録

付録A　属性情報一覧

付録A.1　ウィンドウ制御情報一覧

付録A.2　キーエントリ・ラベル系オブジェクトの表示属性一覧（テキストとフィールド）

付録A.3　キーエントリ・ラベル系オブジェクトの表示属性一覧（日付テキスト・フィールドと時刻テキスト・フィールド）

付録A.4　選択エントリ系オブジェクトの表示属性一覧

付録A.5　候補選択コントロール系オブジェクトの表示属性一覧

付録A.6　グループコントロール系オブジェクトの表示属性一覧

付録A.7　グラフィックコントロール系オブジェクトの表示属性一覧

付録A.8　コマンドコントロール系オブジェクトの表示属性一覧

付録A.9　表示属性の解説

付録A.10　修飾名と変更属性の標準値

付録B　XMAP3で提供している定義パターン

付録B.1　GUI画面の定義パターン

付録B.2　CUI画面の定義パターン

付録B.3　XMAP3で提供しているプログラムのパターン

付録C　日立以外のコンパイラを使用するときの注意

付録C.1　他社COBOLとの仕様比較

付録C.2　 C言語を使用するときの注意

付録C.3　 Visual Basic， Delphi， Accessを使用するときの注意

付録D　画面定義の制限値

付録D.1　オブジェクトの個数およびサイズ

付録D.2　使用できるグラフィックデータ

付録E　XMAP3のリターンコード・詳細コード

付録F　用語解説

索引

[他社商品名称に関する表示]

All Rights Reserved. Copyright (C) 2001, 2006, Hitachi, Ltd.

前書き

■ 対象製品

P-262B-5344　 XMAP3/NET Version 4　 04-10（適用OS：Windows 95，Windows 98，Windows Me，Windows NT 4.0，Windows 2000，Windows XP，Windows Server 2003，Windows Server 2003 x64）
P-262B-534U　 XMAP3/NET Version 4 Upgrade　 04-10（適用OS：Windows 95，Windows 98，Windows Me，Windows NT 4.0，Windows 2000，Windows XP，Windows Server 2003，Windows Server 2003 x64）
P-262B-5C44　 XMAP3/Enterprise Edition Version 4　 04-10（適用OS：Windows 95，Windows 98，Windows Me，Windows NT 4.0，Windows 2000，Windows XP，Windows Server 2003，Windows Server 2003 x64）
P-262B-5C4U　 XMAP3/Enterprise Edition Version 4 Upgrade　 04-10（適用OS：Windows 95，Windows 98，Windows Me，Windows NT 4.0，Windows 2000，Windows XP，Windows Server 2003，Windows Server 2003 x64）

これらの製品は，ISO9001およびTickITの認証を受けた品質マネジメントシステムで開発されました。

■ 輸出時の注意

本製品を輸出される場合には，外国為替および外国貿易法ならびに米国の輸出管理関連法規などの規制をご確認の上，必要な手続きをお取りください。
なお，ご不明な場合は，弊社担当営業にお問い合わせください。

■ 商標類

AIXは，米国における米国International Business Machines Corp.の登録商標です。
AXは，AX協議会のシステム名称です。
BackOfficeは，米国Microsoft Corp.の登録商標です。
Delphiは，米国Borland International,Inc.の登録商標です。
HP-UXは，米国Hewlett-Packard Companyのオペレーティングシステムの名称です。
Itaniumは，アメリカ合衆国および他の国におけるインテル コーポレーションまたはその子会社の登録商標です。
Java 及びすべてのJava関連の商標及びロゴは，米国及びその他の国における米国Sun Microsystems,Inc.の商標または登録商標です。
JFIFは，C-Cube Microsystems社が規定したフォーマットの名称です。
Linuxは，Linus Torvaldsの米国およびその他の国における登録商標あるいは商標です。
Micro Focus COBOLは，Micro Focus International Limited の商標です。
Microsoftは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Microsoft Accessは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Microsoft Excelは，米国Microsoft Corp.の商品名称です。
MS-DOSは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
OLEは，米国Microsoft Corp.が開発したソフトウェア名称です。
PA-RISCは，米国Hewlett-Packard Companyの商標です。
PC-9800は，日本電気（株）の商品名称です。
Red Hatは，米国およびその他の国でRed Hat,Inc. の登録商標若しくは商標です。
Solarisは，米国Sun Microsystems,Inc. の米国およびその他の国における商標または登録商標です。
TurboLinuxの名称及びロゴは，TurboLinux,Inc. の商標です。
UNIXは，X/Open Company Limitedが独占的にライセンスしている米国ならびに他の国における登録商標です。
Visual Basicは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Visual C++は，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Windowsは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Windows NTは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Windows Serverは，米国およびその他の国における米国Microsoft Corp. の商標です。

■ 発行

2001年 4月（第1版）3020-7-594
2006年 9月（第11版）3020-7-594-A0

■ 著作権

All Rights Reserved. Copyright (C) 2001, 2006, Hitachi, Ltd.

変更内容

変更内容（3020-7-594-A0）　XMAP3 Version 4　04-10

追加・変更内容 | 変更個所
Windows Server 2003 R2，Windows Server 2003 R2 x64に対応した。 | －
フィールドボックス内の複数行フィールドで，改行コードを認識する機能を追加した。 | 2.4.17，4.1.2，4.2.1，6.2.16，付録A.2

単なる誤字・脱字などはお断りなく訂正しました。

変更内容（3020-7-594-90）　XMAP3 Version 4　04-09

追加・変更内容

使用目的が「日本語」のデータ型に「漢字（XX）」を追加した。

変更内容（3020-7-594-80）　XMAP3 Version 4　04-08

追加・変更機能

表示・印刷セットアップのコピー&ペーストモードが単体フィールドの場合に，タブまたは改行コードをペーストするかどうか設定時に選択できるようにした。

Windows Server 2003 x64に対応した。

変更内容（3020-7-594-70）　XMAP3 Version 4　04-07

追加・変更内容

日立コード変換に対応した。

はじめに

このマニュアルは，次に示すプログラムプロダクトの機能および使用方法について説明したものです。

P-262B-5344　XMAP3/NET Version 4

P-262B-534U　XMAP3/NET Version 4 Upgrade

P-262B-5C44　XMAP3/Enterprise Edition Version 4

P-262B-5C4U　XMAP3/Enterprise Edition Version 4 Upgrade

このマニュアルでは，上記プログラムプロダクトをXMAP3と表記しています。

対象読者

XMAP3を使用して画面を設計し，APを開発する方を対象としています。また，次のことを前提としています。

Windowsの基本操作を習得していること。

COBOL，C言語，またはJavaの知識を持っていること。

マニュアルの構成

このマニュアルは，次に示す章と付録から構成されています。

第1章　画面機能の概要

画面機能の概要，XMAP3で作成できる画面について説明しています。

第2章　GUI画面の作成

GUI画面の設計，およびGUI画面のレイアウト定義について説明しています。

第3章　CUI画面の作成

CUI画面の設計，およびCUI画面のレイアウト定義について説明しています。

第4章　マウスとキー操作

操作キーの機能，およびマウスの操作について説明しています。

第5章　論理マップ生成規則とマッピング規則

画面のレイアウトを保存したときに生成される論理マップと，マッピング規則の関係について説明しています。

第6章　画面定義とコーディングの関連

APと画面定義および画面の各オブジェクトの関連について説明しています。

第7章　APのコーディング方法

XMAP3実行支援のAPインタフェースについて説明しています。

第8章　標準パターンを使用したAPの作成

XMAP3が用意している画面の定義サンプルとAPのパターンを組み合わせて，COBOLソースプログラムを作成する方法について説明しています。

第9章　チューニングとトラブルの対処方法

実行時の性能向上のポイントや，トラブル発生時の対処方法について説明しています。

付録A　属性情報一覧

付録B　XMAP3で提供している定義パターン

付録C　日立以外のコンパイラを使用するときの注意

付録D　画面定義の制限値

付録E　XMAP3のリターンコード・詳細コード

付録F　用語解説

マニュアル体系図

XMAP3のマニュアル体系を次に示します。

関連マニュアル

このマニュアルに関連するマニュアルを次に示します。

画面・帳票サポートシステム XMAP3 開発・実行ガイド（3020-7-591）

画面・帳票サポートシステム XMAP3 入門（3020-7-592）

画面・帳票サポートシステム XMAP3 プログラミングガイド　帳票編（3020-7-593）

画面・帳票サポートシステム XMAP3 メインフレーム連携ガイド（3020-7-595）

画面・帳票サポートシステム XMAP3/Web（3020-7-596）

画面・帳票サポートシステム XMAP3/Web for Cosminexus（3020-7-597）

画面・帳票サポートシステム XMAP3 Server（3000-7-508）

COBOL85 言語（3020-3-782）

COBOL85 操作ガイド（3020-3-851）※1

COBOL85 ユーザーズガイド（3020-3-852）

COBOL85 操作ガイド（3020-3-873）

COBOL2002 操作ガイド（3020-3-D41）

COBOL2002 ユーザーズガイド（3020-3-D42）

COBOL2002 言語 標準仕様編（3020-3-D44）

COBOL2002 言語 拡張仕様編（3020-3-D45）

OpenTP1 Version 5 分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/XMAP3編（3000-3-375）※2

OpenTP1 Version 6 分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/XMAP3編（3000-3-965）※2

注※1

COBOL85 Version 5.0の場合にお読みください。

注※2

このマニュアルの本文では，OpenTP1関連マニュアルのタイトルにある「バージョン表記」を省略しています。省略した表記を次に示します。

マニュアル名
このマニュアルでの表記

「OpenTP1 Version 5 分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/XMAP3編」
「OpenTP1 Version 6 分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/XMAP3編」
「OpenTP1 プロトコル TP1/NET/XMAP3編」

このマニュアルでの表記

このマニュアルでは各製品を次のように表記しています。

製品名
略称

AIX 5L V5.1
AIX

AIX 5L V5.2

AIX 5L V5.3

COBOL2002 Net Client Suite
COBOL2002
日立COBOL

COBOL2002 Net Developer

COBOL2002 Net Server Suite

COBOL85 Server Version 6
COBOL85

COBOL85 Server Version 7

COBOL85 Version 5.0

COBOL85 Version 6

COBOL85 Version 7

COBOL85 Version 7 for Server OS - Client Use

HP-UX 10.20
HP-UX

HP-UX 11

HP-UX 11i

HP-UX 11i V2（IPF）

HP-UX 11i V2（PA-RISC）

Java(TM)
Java

Microsoft Access(R)
Access

Microsoft(R) C
C

Microsoft(R) Excel
Excel

Microsoft(R) Visual Basic(R)
Visual Basic（またはVB）

Microsoft(R) Visual C++(R)
Visual C++

Microsoft(R) Visual C++(R) .NET 2002
Visual C++ .NET

Microsoft(R) Visual C++(R) .NET 2003

Microsoft(R) Windows(R) 95 Operating System
Windows 95

Microsoft(R) Windows(R) 98 Operating System
Windows 98

Microsoft(R) Windows(R) Millennium Edition Operating System
Windows Me

Microsoft(R) Windows NT(R) Server Network Operating System Version 4.0
Windows NT Server 4.0
Windows NT
（またはWindows NT 4.0）

Microsoft(R) Windows NT(R) Server Network Operating System Version 4.0 Enterprise Edition

Microsoft(R) BackOffice(R) Small Business Server Version 4.0

Microsoft(R) Windows NT(R) Workstation Operating System Version 4.0
Windows NT
Workstation 4.0

Microsoft(R) Windows(R) 2000 Server Operating System
Windows 2000 Server
Windows 2000

Microsoft(R) Windows(R) 2000 Advanced Server Operating System
Windows 2000
Advanced Server

Microsoft(R) Windows(R) 2000 Datacenter Server Operating System
Windows 2000
Datacenter Server

Microsoft(R) Windows(R) 2000 Professional Operating System
Windows 2000
Professional

Microsoft(R) Windows(R) XP Professional Operating System
Windows XP
Professional
Windows XP

Microsoft(R) Windows(R) XP Home Edition Operating System
Windows XP
Home Edition

Microsoft(R) Windows Server(TM) 2003, Standard Edition 日本語版
Windows Server 2003

Microsoft(R) Windows Server(TM) 2003, Enterprise Edition 日本語版

Microsoft(R) Windows Server(TM) 2003 R2, Standard Edition 日本語版

Microsoft(R) Windows Server(TM) 2003 R2, Enterprise Edition 日本語版

Microsoft(R) Windows Server(TM) 2003, Standard x64 Edition 日本語版
Windows Server 2003 x64

Microsoft(R) Windows Server(TM) 2003, Enterprise x64 Edition 日本語版

Microsoft(R) Windows Server(TM) 2003 R2, Standard x64 Edition 日本語版

Microsoft(R) Windows Server(TM) 2003 R2, Enterprise x64 Edition 日本語版

MS-DOS(R) Version 5.0/V以降
MS-DOS

Solaris 7
Solaris

Solaris 8

Solaris 9

TP1/Message Control
TP1/MCF

TP1/NET/Library

TP1/NET/XMAP3

TurboLinux Server 日本語版 6.1
Linux

Red Hat Linux 6.2J

XMAP3/Enterprise Edition Version 4
XMAP3/Enterprise Edition

XMAP3/NET Version 4
XMAP3/NET

Microsoft(R) Windows Server(TM) 2003 R2, Standard Edition 日本語版，Microsoft(R) Windows Server(TM) 2003 R2, Enterprise Edition 日本語版をWindows Server 2003 R2と表記します。Microsoft(R) Windows Server(TM) 2003 R2, Standard x64 Edition 日本語版，Microsoft(R) Windows Server(TM) 2003 R2, Enterprise x64 Edition 日本語版を，Windows Server 2003 R2 x64と表記します。

Windows 95，Windows 98，Windows Me，Windows NT，Windows 2000，Windows XP，Windows Server 2003，およびWindows Server 2003 x64に機能差がない場合，Windowsと表記します。

AIX，HP-UX，Solaris，およびLinuxで機能差がない場合，WSと表記します。

COBOL85 Server Version 6およびCOBOL85 Version 6を合わせて，COBOL85 Version 6と表記します。

COBOL85 Server Version 7，COBOL85 Version 7，およびCOBOL85 Version 7 for Server OS - Client Useを合わせて，COBOL85 Version 7と表記します。

このマニュアルで使用する略語

このマニュアルでは，次に示す用語を略して表現しています。

略称 | 正式名称
ANK | Alphabet Numeric Kana
AP | Application Program
API | Application Programming Interface
C/Sシステム | Client / Server System
CSV | Comma Separated Value
CUI | Character User Interface
DCT | Digital Capture Technology
DLL | Dynamic Linking Library
DNS | Domain Name System
EUC | Extended UNIX Code
GUI | Graphical User Interface
IPF | Itanium(R) Processor Family
JFIF | JPEG File Interchange Format
JIS | Japanese Industrial Standard
JPEG | Joint Photographic Experts Group
LAN | Local Area Network
MCR | Magnetic Character Reader
OCR | Optical Character Reader
OLE | Object Linking and Embedding
OLTP | Online Transaction Processing
OS | Operating System
PC | Personal Computer
RAM | Random Access Memory
RPC | Remote Procedure Call
TCP/IP | Transmission Control Protocol/Internet Protocol
WS | Workstation

このマニュアルで使用する記号

このマニュアルで使用する記号を次のように定義しています。

記号
意　味

［　　］
メニュータイトル，メニュー項目，ボタン，キー，およびアイコンの名称を示す。
例：［ファイル］メニュー
　　［OK］ボタン
　　［Enter］キー など

［　　］+［　　］
+の前のキーを押したまま，後ろのキーを押すことを示す。
例：［Shift］+［A］キー
　　［Shift］キーを押したまま［A］キーを押す。

［　　］－［　　］
例：［ファイル］－［開く］
　　［ファイル］メニューから［開く］コマンドを選択することを示す。

△
半角の空白を入れること，またはスペースキーを指定された数だけ押すことを示す。

〔　　〕
この記号で囲まれている項目は，省略してもよいことを示す。

図中で使用する記号

このマニュアルの図中で使用する記号を次のように定義します。

オンラインヘルプの紹介

XMAP3では，オンラインヘルプ（以降，ヘルプと呼びます）を提供しています。ヘルプでは，詳細な操作手順，トラブルの対処方法，用語，ダイアログやウィンドウの項目の説明などを参照できます。

常用漢字以外の漢字の使用について

このマニュアルでは，常用漢字を使用することを基本としていますが，次の用語については，常用漢字以外の漢字を使用しています。

　個所（かしょ）　矩形（くけい）　桁（けた）　全て（すべて）　揃える（そろえる）

　貼り付け（はりつけ）　汎用（はんよう）　必須（ひっす）　頁（ページ）

KB（キロバイト）などの単位表記について

1KB（キロバイト），1MB（メガバイト），1GB（ギガバイト），1TB（テラバイト）は，それぞれ1,024バイト，1,024²バイト，1,024³バイト，1,024⁴バイトです。

1.　画面機能の概要

この章では，XMAP3で作成できる画面，および画面を作成する前に知っておかなければならない事項について説明します。

＜この章の構成＞

1.1　XMAP3で作成できる画面

1.2　XMAP3の画面設計の概要

1.3　画面設計の流れ

1.4　画面で使用できる機能（GUI画面，CUI画面）

1.5　XMAP3画面制御方式の解説

1.6　XMAP3関連ファイルの関係

1.7　画面を設計する前に

1.1　XMAP3で作成できる画面

XMAP3で作成できる画面にはGUI画面とCUI画面があります。

GUI画面は，キーボードからの文字入力とマウスによる操作ができる画面です。Windowsの「ボタン」「スクロール」「プルダウン・カスケード」「ポップアップ」などが使用できます。画面の大きさは自由（最大48行×160列（半角文字））です。画面の背景色はユーザが指定できます。

CUI画面は，キーボードからの文字入力が中心の画面です。メインフレーム型オンライン業務や，MS-DOSベースの業務で使用していた画面です。画面の大きさは，24行×80列（半角文字）で，画面の背景色は黒色で固定されています。

XMAP3では，これらの画面の入出力を，マップを使用して実現しています。マップには，画面の各オブジェクトの位置などを格納した物理マップと，画面の可変情報を設定する論理マップ（AP中のデータ領域）があります。この物理マップと論理マップを利用して画面の入出力を実現します。

1.2　XMAP3の画面設計の概要

XMAP3では，画面のレイアウト（定義）とAPの処理を分離したマッピング方法を採用しています。このため，画面設計では，画面のレイアウト定義作業とコーディング作業とを分離できます。XMAP3でAPを作成するときの利点を次に示します。

データ名をあらかじめ決めておくことで，レイアウト定義で配置したオブジェクトの位置を意識することなく，APをコーディングできます。

XMAP3で画面のレイアウトを定義すると，登録集原文が「論理マップ」として生成されます。生成された論理マップをAPでCOPY文で取り込んで使用すれば，効率良くAPを開発できます。

画面のレイアウト定義とAPの関係を次の図に示します。

図1-1　画面のレイアウト定義とAPの関係

1.3　画面設計の流れ

XMAP3では，次のような流れで画面を設計します。

作成する画面の種類を決定する

画面を設計する

画面のレイアウトを定義する

APをコーディングする

それぞれの手順の概要を次に示します。

＜この節の構成＞

1.3.1　作成する画面の種類を決定する

1.3.2　画面を設計する

1.3.3　画面のレイアウトを定義する

1.3.4　APをコーディングする

1.3.1　作成する画面の種類を決定する

キーボードからの文字入力とマウスによる操作ができるGUI画面を作成するか，キーボードからの文字入力が中心のCUI画面を作成するかを検討します。

GUI画面とCUI画面では使用できる機能が異なります。このため，GUI画面，およびCUI画面で使用できる機能を確認してから，作成する画面の種類を決定します。使用できる機能については，「1.4　画面で使用できる機能（GUI画面，CUI画面）」を参照してください。

1.3.2　画面を設計する

XMAP3での画面の制御方式を理解し，画面のサイズや表示形式などを設計します。

XMAP3での画面の制御方式については，「1.5　XMAP3画面制御方式の解説」を参照してください。画面サイズや表示形式などの設計については，GUI画面を作成する場合には「2.1　GUI画面の設計」を，CUI画面を作成する場合には「3.1　CUI画面の設計」を参照してください。

1.3.3　画面のレイアウトを定義する

ドローを起動して表示される画面定義ウィンドウで，画面の属性を設定し，画面上にオブジェクトを配置してレイアウトを定義します。

＜この項の構成＞

(1)　画面属性を設定する

(2)　オブジェクトを配置する

(1)　画面属性を設定する

画面をレイアウトする前に，画面属性情報を設定します。画面属性情報とは，画面を制御する情報のことです。画面属性情報は，ドローの画面属性ダイアログで設定します。

画面属性の設定については，GUI画面を作成する場合には「2.3　GUI画面属性の設定」を，CUI画面を作成する場合には「3.3　CUI画面属性の設定」を参照してください。

(2)　オブジェクトを配置する

画面定義ウィンドウで，レイアウトを定義します。レイアウト定義後，定義情報を保存すると，画面の定義情報を格納したファイル（マップ定義ファイル）が生成されます。

画面のレイアウト定義の詳細については，GUI画面を作成する場合には「2.4　GUI画面を構成するオブジェクト」を，CUI画面を作成する場合には「3.4　CUI画面を構成するオブジェクト」を参照してください。

1.3.4　APをコーディングする

レイアウト定義で作成された定義ファイルを使用して，APを作成します。APの作成には，COBOL，C言語，またはJavaを利用できます。また，XMAP3では言語に依存しないマッピング関数も用意しているので，Visual BasicやDelphiも利用できます。

なお，Javaを利用できるのは，XMAP3/Web for Cosminexusを使用してCosminexus上で実行する場合です。

APコーディングについては，「6.　画面定義とコーディングの関連」，「7.　APのコーディング方法」，「8.　標準パターンを使用したAPの作成」を参照してください。ただし，XMAP3/Web for Cosminexusを使用してCosminexus上で実行する場合のAPコーディングについては，マニュアル「XMAP3/Web for Cosminexus」を参照してください。

XMAP3/Web for Cosminexusを使用してCosminexus上で実行する場合

XMAP3で開発した画面・帳票は，XMAP3/Web for Cosminexusを使用して，Cosminexus上で実行することもできます。この場合，AP開発言語には，JavaまたはCOBOLが使用できます。Javaの場合，Java言語用ツールを使用して動的変更テーブルおよび論理マップをXMLファイルに変換する必要があります。Java言語用ツールの使用方法については，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

1.4　画面で使用できる機能（GUI画面，CUI画面）

GUI画面およびCUI画面で使用できる機能について説明します。

＜この節の構成＞

1.4.1　GUI画面で使用できる機能

1.4.2　CUI画面で使用できる機能

1.4.1　GUI画面で使用できる機能

GUI画面の例を図1-2～図1-5に，GUI画面の機能内容を表1-1に示します。

図1-2　メニューバー，タイトルバーがない画面の例（スプラッシュ画面）

図1-3　GUI画面の例1（標準的な画面）

図1-4　GUI画面の例2（ダイアログ表示時の画面）

図1-5　グラフィック利用画面の例

表1-1　GUI画面の機能内容

項目
機能内容

画面サイズ
論理画面は最大127行×255文字（フィールドボックスでスクロール使用時）
ウィンドウサイズは最大48行×160列（ディスプレイ装置の解像度による）ウィンドウサイズが画面より大きい場合は，オプションでスクロールバーを付ける
全画面表示（一次ウィンドウだけ有効）

ウィンドウ
タイトルバーあり／なし
オペレータインジケータあり／なし
ウィンドウサイズ変更（リサイズ）あり／なし
背景色（15色），壁紙
ウィンドウ位置（XYZ位置）／一時非表示
フォーカス順序の設定

同時に表示できる二次ウィンドウの数 ※¹
一次ウィンドウ1個に対し，二次ウィンドウ3個

GUI機能
（使用できる
オブジェクト
（2D／3D））
キーエントリ系
入出力テキスト・フィールド（数字，数値，金額，日本語，カナ，英数，MCR，パスワード）
日付テキスト・フィールド（入出力）
時刻テキスト・フィールド（入出力）

ラベル系
固定テキスト・フィールド
出力テキスト・フィールド（数字，日本語，英数）
日付テキスト・フィールド（出力）
時刻テキスト・フィールド（出力）

選択エントリ系
コンボボックス（キー入力コンボボックス（固定／可変），メニュー選択コンボボックス（固定／可変））※2，ポップアップテキスト・フィールド（固定／可変）※2，スピンボックス

候補選択コントロール
リストボックス※2，ラジオボタン（固定／可変），チェックボタン（固定／可変），トグルフィールド

グループコントロール
グループボックス，フィールドボックス※2，フレーム

グラフィックコントロール
固定グラフィック※3，出力グラフィック※2※3，セパレータ，けい線，メッセージアイコン，塗りつぶしフィールド

コマンドコントロール
メニューバー，プルダウンメニュー，カスケードメニュー，プッシュボタン（グラフィック貼り付けボタンを含む）

予約項目
予約テキスト・フィールド※⁴

表示文字
画面単位
大，中，小

オブジェクト単位
文字サイズ
標準文字サイズ，大きい文字，小さい文字

文字の書体
標準，明朝，ゴシック

文字の強調
太字，斜体，太字＆斜体

文字の拡大
標準，長体（縦2倍），平体（横2倍），倍角（縦横2倍）

文字色
12色

確定キー
送信キー，PF1～PF84キー，PA1～PA3キー，スクリーン消去キー，割込キー

その他
アラーム音，IDカード（MCR）の入力，フォーカス・カーソル位置設定

注

使用できるオブジェクトの制限値については，「付録D　画面定義の制限値」またはオンラインヘルプを参照してください。また，各オブジェクトの詳細については「2.　GUI画面の作成」を参照してください。

注※1

二次ウィンドウの表示は，一次ウィンドウが表示されていることが前提になります。

注※2

スクロールバーを付けられます。

注※3

フルカラー対応です。

注※4

予約テキスト・フィールドを定義した画面はOLTPサーバ構成の環境で使用できます。予約項目名はOpenTP1で提供している範囲が使用できます。

1.4.2　CUI画面で使用できる機能

CUI画面の例を図1-6に，CUI画面の機能内容を表1-2に示します。

図1-6　CUI画面の例

表1-2　CUI画面の機能内容

項目
機能内容

画面サイズ
24行×80列

CUI機能
（使用できるオブジェクト）
ラベル系
固定フィールド，出力フィールド（数字，英数，日本語）

キーエントリ系
入出力フィールド（数字，カナ，英数，日本語，パスワード，MCR）

グラフィックコントロール
けい線（縦線，横線），矩形，表けい線の枠，表けい線の横線（縦線）繰り返し

グループコントロール
フレーム

予約項目
予約フィールド※

文字の拡大
標準，長体（縦2倍），平体（横2倍），倍角（縦横2倍）

文字色
7色

確定キー
送信キー，PF1～PF24キー，スクリーン消去キー，割込キー，PA1～3キー

その他
アラーム音，IDカード（MCR）の入力，カーソル位置設定

注※

予約テキスト・フィールドを定義した画面はOLTPサーバ構成の環境で使用できます。

1.5　XMAP3画面制御方式の解説

XMAP3での，画面とAP間の制御方式や，画面設計時の描画方式について説明します。

＜この節の構成＞

1.5.1　画面の制御方式

1.5.2　画面の描画方式

1.5.3　画面の表示モード

1.5.4　論理マップ

1.5.5　データ有無コード

1.5.6　表示属性の動的変更

1.5.7　オブジェクトの転送モード

1.5.8　入力単位

1.5.9　画面確定とAPへの通知

1.5.10　表示先と表示環境の設定

1.5.1　画面の制御方式

XMAP3では，GUI画面であっても，オンライン端末と同じように，画面単位の入出力（手続き型）でAPを作成できます。このような画面制御を実現させるために，XMAP3では画面バッファという論理的な画面を設けてウィンドウシステムとAPとのやり取りをします。なお，GUI画面特有の機能を実現させるために，オプションで，フィールド単位の入出力のAPも作成できます。

図1-7　XMAP3での制御方式

実際のウィンドウ表示
ウィンドウには，APから返されたデータが表示されています。ユーザは，このウィンドウに対し，データを入力します。

画面バッファ
画面ごとのデータをAPとやり取りするために，XMAP3がメモリ中に持っている論理的な画面です。APから返されたデータは，画面バッファに展開されてから，実際のウィンドウに表示されます。ユーザによってウィンドウに入力されたデータも，画面バッファを介してAPに返されます。

画面表示
APから，データの表示が要求されます。XMAP3は，画面バッファに表示内容を展開し，実際のウィンドウ上に表示します。
OLTPサーバ構成の環境では，TP1/NET/XMAP3のXMAP3共通定義（mcftpx）や論理端末定義（mcftalcle）での設定が優先されます。XMAP3共通定義，および論理端末定義については，マニュアル「OpenTP1プロトコル TP1/NET/XMAP3編」を参照してください。

画面操作
マウスやキーボードを使用した操作は，「イベント」としてウィンドウシステムからXMAP3に返されます。XMAP3では，このイベントを画面バッファに反映していきます。この時点では，まだAPへ制御は返されません。

APへ制御を返すタイミング
APへ制御を返すタイミングは，画面確定のときです。画面が確定すると，画面バッファの内容はAPが受け取れる型に編集され，APへ送られます。
画面確定は，一般的に送信キー，ファンクションキー，およびボタン（プッシュボタン）などを押した場合に成立します。どのような操作によって画面が確定したかは，イベント通知コードでAPに通知されます。また，フォーカス・カーソルがオブジェクト（またはフィールド）を離れたときに，強制的に画面確定を成立させるオプションもあります。
なお，OLTPサーバ構成の環境の場合，TP1/NET/XMAP3上で，「次メッセージ要求キー」として割り当てられているキーのイベントはAPに渡りません。したがって，APにイベントを通知したいキーは，TP1/NET/XMAP3上で次メッセージ要求キーに割り当てないよう設定してください。

1.5.2　画面の描画方式

XMAP3では，マッピング方式という画面描画方式を利用します。マッピング方式とは，定義されたレイアウトの情報（物理マップ）と，APが出力するデータ（論理マップ）を編集して，画面を生成する方式です。

図1-8　マッピング方式

1.5.3　画面の表示モード

＜この項の構成＞

(1)　マッピングオプション

(2)　表示形態

(3)　マッピングオプションと表示形態の組み合わせ

(1)　マッピングオプション

画面の表示モードには，「マージ」「論理マップだけ」「物理マップだけ」の三つの指定があります。これらは，日立COBOLでSEND文およびTRANSCEIVE文を使用したときは，MAPPING MODE句で指定します。日立COBOLでCALL文を使用したとき，およびC言語を使用したときは，マッピングインタフェースで指定します。

なお，OLTPサーバ構成で使用する場合，「物理マップだけ」は指定できません。画面の表示モードは「マージ」，または「論理マップだけ」を指定してください。

図1-9　画面の表示モード

マージ：
論理マップに代入したデータと物理マップをマージして画面を表示します。同一画面を書き換えるときに使用します。
表示属性の変更要求をしないオブジェクト属性については，画面定義時に指定した表示属性になります。
同じ画面に対し，2回目以降の表示では固定部分（タイトルやけい線）は再描画しません。

論理マップだけ：
論理マップに代入したデータを使用して画面を表示します。一般的に，2回目以降の表示で，入力した状態をそのままにして部分的に書き換えるときに使用します※。表示属性の変更指定をしないオブジェクト属性については，直前の表示属性になります。

物理マップだけ：
論理項目，または制御項目に指定したデータを無視して，画面定義時の情報（物理マップ）だけで画面を表示します。論理マップをすべてデータ有無コードでクリアしたときと同じで，メニューなどの初期表示に使用します。

注※

画面属性ダイアログで「入力・選択状態の扱い」の「初期状態」を選んでいる場合，入力データは消去されます。入力データを残したい場合は，「初期状態」以外を選んでください。

(2)　表示形態

表示形態には，「全面書換」，「一部上書」，および「自動」の三つの指定があります。なお，表示形態とマッピングオプション（マッピングモード）の関係については，「(3)　マッピングオプションと表示形態の組み合わせ」および「2.3　GUI画面属性の設定」を参照してください。

全面書換

表示中の画面を消去し，次の画面を全画面描画します。

一部上書

直前に表示した画面の，一部のオブジェクトだけを変更して表示します。「全面書換」に比べて表示時間を短縮できます。この場合，マッピングオプションの「マージ」か「論理マップだけ」とあわせて使用する必要があります。

なお，直前の画面と異なるマップ名のときは「全面書換」の動作となります。

自動

「一部上書」と「全面書換」をXMAP3に任せて，特にAPでは意識しません。直前の画面と同じマップ名のときは「一部上書」を仮定します。

標準は「自動」です。

図1-10　表示形態

(3)　マッピングオプションと表示形態の組み合わせ

指定したマッピングオプションによって，指定できる表示形態が変わります。

マッピングオプションと表示形態の組み合わせを次の表に示します。

表1-3　マッピングオプションと表示形態の組み合わせ（1回目：新しいマップ名で表示する場合）

表示形態 | マッピングオプション
マージ | 論理マップだけ | 物理マップだけ
全面書換 | ○ | × | ○
一部上書 | × | × | ×
自動 | ○ | × | ×

（凡例）

○：指定できる。

×：指定できない。

表1-4　マッピングオプションと表示形態の組み合わせ（2回目以降：同じマップ名で表示する場合）

表示形態 | マッピングオプション
マージ | 論理マップだけ | 物理マップだけ
全面書換 | △ | × | ×
一部上書 | ○ | ○ | ×
自動 | ○ | ○ | ×

（凡例）

○：指定できる。

△：指定できるが，すべて表示し直すため効率が悪い。

×：指定できない。

また，これらの表示形態と，Z位置指定（ウィンドウの重なり指定）をあわせて設定できます。詳細は「2.1.3(2)　ウィンドウ表示位置と重なり」を参照してください。

1.5.4　論理マップ

XMAP3とAPとの間でやり取りされるデータを，論理データといいます。論理データをAPで扱うための領域定義文を論理マップといいます。領域定義文は，COBOL言語では登録集原文（COPY），C言語の場合はヘッダファイルになります。

論理マップはXMAP3が自動生成します。XMAP3へ渡すデータを格納する領域を出力論理マップ，XMAP3から受け取るデータを格納する領域を入力論理マップといいます。

図1-11　論理マップ

1.5.5　データ有無コード

画面にデータを表示させる場合は，論理マップのデータ項目に，表示させたいデータを代入してXMAP3に返します。ただし，データ項目にデータを代入したくない場合には，そのデータ項目が無効であることを明示的にXMAP3に知らせる必要があります。データ項目の内容が無効であることをXMAP3に知らせるためには，データ有無コード（標準は(1F)₁₆）という特別なコードを使用します。

同じ画面に対してデータの上書き（一部上書）をする場合，書き換えたくないデータにデータ有無コードを指定して使用します。

また，制御項目のデータ項目にデータ有無コードを代入すると，データ書き換え時に表示属性を変更しないようにしたり，変更した表示属性を元に戻したりする設定をAPから制御できます。

なお，データ有無コードの値は必要に応じてAPから変更できます。ただし，すべてのAPにかかわるコードなので，できるだけ標準値を利用することをお勧めします。

OLTPサーバ構成で使用する場合，APで使用するデータ有無コードはTP1/NET/XMAP3のマッピングサービス属性定義ファイルで指定してください。マッピングサービス属性定義ファイルについては，マニュアル「OpenTP1プロトコル TP1/NET/XMAP3編」を参照してください。

図1-12　データ有無コード

1.5.6　表示属性の動的変更

APでオブジェクトの表示属性を実行時に変更できます。これを「動的変更」といいます。オブジェクトとはXMAP3で定義できるテキスト・フィールドやボタンなどの総称です。

表示属性の動的変更を指定すると，マップ生成後には，表示属性変更の情報を受け取る領域（接尾語「-A」が付くデータ項目（これを制御項目といいます））が自動的に生成されます。APでは，表示属性を変更するデータ項目にXMAP3が用意する修飾名をセットすると，実行時に表示属性を変更して表示します。なお，XMAP3が用意している修飾名以外に，ユーザが表示属性を設定して用意しておく修飾名も利用できます。各修飾名で設定されている表示属性の詳細については，「付録A　属性情報一覧」を参照してください。

表示属性はドローセットアップで修飾名ごとに設定します。ドローセットアップでの設定については，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

なお，マッピングオプションに「空白または0（マージ）」を指定している場合，表示属性を変更するデータ項目にヌル（(00)₁₆）またはデータ有無コード（データがないことを示す1バイトのコード）をセットすると，標準の表示属性で表示します。「2（論理マップだけ）」を指定している場合，前回の画面表示時に指定した表示属性がそのまま表示されます。

図1-13　動的変更

1.5.7　オブジェクトの転送モード

転送モードでは，入出力テキストや入出力フィールドおよびボタンを選ばれた状態（例えばデータが入力されている状態や，ボタンが選択されている状態）にしておけます。

転送モードには，転送状態（入力済み，または選択済みの状態）と，非転送状態（未入力，未選択）があります。転送状態にしておくと，ユーザがデータを入力しないで画面確定を成立させた場合でも，画面に表示されているデータが無条件にAPへ返されます。ただし，オブジェクトに初期値が設定されていると，未入力または未選択（非転送状態）のとき，この初期値がAPに返されます。

図1-14　転送モード

1.5.8　入力単位

入力は，基本的に画面単位です。ただしオプションとして，フィールド単位およびイベント単位の入力が選べます。ただし，入力単位がイベント単位またはフィールド単位のときは，オブジェクトごとにAPとの通信が発生します。そのためC/Sシステム環境では，画面単位の場合と同じようなスムーズなオブジェクト間の遷移はできません。応答性能を要求するようなシステムでは注意が必要です。

なお，OLTPサーバ構成で使用する場合には画面単位を指定してください。画面単位以外を指定した場合，APを継続問い合わせ応答型のプログラムとして作成する必要があります。継続問い合わせ応答型のプログラムは複雑になりやすく，お勧めできません。

＜この項の構成＞

(1)　画面単位

(2)　フィールド単位

(3)　イベント単位

(4)　表示直後（強制送信）

(1)　画面単位

(a)　画面確定のタイミング

画面属性ダイアログの入力単位で「画面」を指定すると，APから画面を表示するときに，入出力の制限（不活性）を指定しているオブジェクト以外は入力・選択できる状態で表示されます。これらのオブジェクトを選択したり，データを入力したりしたあと，画面確定を設定しているメニューバー，プッシュボタンまたは画面確定キーを押すと，APに制御が渡ります。なお，オブジェクトに「自動送信」を設定すると，そのオブジェクトからフォーカス・カーソルが離脱するタイミングで「送信」の画面確定が仮定されます。

(2)　フィールド単位

(a)　画面確定のタイミング

画面属性ダイアログの入力単位で「フィールド」を指定すると，APから画面を表示するときに，APで設定されているフォーカス（カーソル）があるオブジェクトだけが入力・選択可能になります。ただし，確定キー（送信キーやPFキー），プッシュボタンおよびメニューバーは除かれます。

これらのオブジェクトを選択したり，データを入力したりしたあと，フォーカス（カーソル）が次のオブジェクトに移動するタイミングでAPに制御が渡ります。なお，各オブジェクトでの「自動送信」の指定は無効になります。

(b)　APでの処理

APでは，画面上の該当するオブジェクトに対応する項目，イベント通知コード，隠しフィールドおよびフォーカス・カーソルにだけ値が格納されます。APではこの項目のデータチェック処理などをします。APでのデータチェック処理などが終わると，APが次に操作するオブジェクトにフォーカス・カーソルを設定し，SEND要求で画面を表示します。するとXMAP3では，今回AP側でフォーカスが設定してあるオブジェクトだけを入力できる状態にして画面を表示します。なお，PFキーやプッシュボタン，タイトルバーなどでの画面確定は常に有効です。

注

入力単位が「フィールド」の場合，「自動送信」の指定は無効になります。

(3)　イベント単位

(a)　画面確定のタイミング

画面属性ダイアログの入力単位で「イベント」を指定すると，APから画面を表示するときに，入出力の制限（不活性）を指定しているオブジェクト以外は入力・選択できる状態で表示されます。なお，各オブジェクトでの「自動送信」の指定は無効になります。

これらのオブジェクトの一つを選択したり，データを入力したあと，フォーカス・カーソルが次のオブジェクトに移動するタイミングでAPに制御が渡ります。このとき，個々のオブジェクトを識別する通知コードがAPに渡ります。通知コードはイベント通知コードという定数です。なお，イベントが発生したとき，APに通知するかどうかは画面属性ダイアログで指定できます。イベントの定義に関しては「2.3.1(6)　イベント通知コード」を参照してください。またAPにイベントが渡るタイミングの詳細については「1.5.9　画面確定とAPへの通知」を参照してください。

(b)　APでの処理

APでは，論理マップ中のイベント通知項目に格納されているイベント通知コードによって，渡されたデータがどのオブジェクトから渡されたものかを判断し，そのオブジェクトに該当する処理のサブルーチンなどを呼び出します。

そのため，オブジェクトにはユニークなイベント通知コードが自動的に割り当てられます。ただし，反復（繰り返し）オブジェクトに対しては，同じイベントを返します。

イベント通知コードは，論理マップと一緒にオブジェクトに対応したデータ名に「-V」を付けてイベント定数として生成されます。オブジェクトに対応するデータ名を使用しているため，AP中で，オブジェクトとイベントの対応がわかりやすくなっています。

（例）

データ名がFIELD1-の場合

出力データ項目：FIELD1-O

入力データ項目：FIELD1-I

イベント定数 ：FIELD1-V

注1

入力単位が「イベント」の場合，「自動送信」の指定は無効になります。入力単位が「イベント」のときは常に，活性状態のオブジェクトの一つを選択したり，データを入力したあと，フォーカス・カーソルが次のオブジェクトに移動するタイミングでAPに制御が渡ります。

注2

繰り返しの指定があるテキスト・フィールドのイベント通知コードは，先頭のテキスト・フィールドのイベント定数がAPに返ります。

注3

ドローセットアップのイベント通知コードダイアログで「通知コードの長さ」を4以外で設定すると，入力単位「イベント」は利用できません。

(4)　表示直後（強制送信）

(a)　画面確定のタイミング

画面属性ダイアログの入力単位で「表示直後」を指定すると，画面に対して何の操作がされなくても，一定の時間が過ぎると自動的にAPに制御を渡します。その場合のイベント通知コードは，送信キーを押したときと同じ値を返します。また，APに制御が渡るまでの時間を設定しないで，表示直後にAPに制御を渡すような設定もできます。なお，設定した時間が過ぎる前に，ボタンを押すなど，画面に対する操作をした場合は，表示直後の指定が解除され，画面単位と同じ動作になります。

スプラッシュ画面や，表示専用の掲示板のような画面を表示するときに利用できます。

スプラッシュ画面や掲示板のような画面については「1.4.1　GUI画面で使用できる機能」および「2.1.6　GUI画面設計でこんなこともできます」を参照してください。

(b)　APでの処理

(c)　表示直後を使用するときの注意

画面属性で「表示直後」を指定した画面の注意事項について説明します。

画面には，入力必須属性を設定したオブジェクトを定義しないでください。入力必須属性を設定したオブジェクトを定義した画面を表示した場合，待機終了時にAPに対してエラーが通知されます。

表示する画面にグラフィックオブジェクトがあると，画面表示に時間がかかることがあります。このため，指定した「待機時間」よりも長く待機することがあります。

1.5.9　画面確定とAPへの通知

＜この項の構成＞

(1)　APにイベントが渡るタイミング

(2)　各入力単位での画面確定操作

(3)　APへ通知するための設定

(4)　イベントとイベント通知コード

(1)　APにイベントが渡るタイミング

次にAPにイベントが渡るタイミングを示します。

GUI画面／CUI画面共通

PFキーなど，確定キーを押したとき。

メニューバーでAP通知となっているメニューを選択したとき。

プッシュボタンでAP通知となっているメニューを選択したとき。

「自動送信」が指定してあるオブジェクトからフォーカス・カーソルが離脱したとき。

タイトルバーの［閉じる］メニュー／ボタンを選んだとき。

GUI画面固有

リストボックスのリスト項目をマウスでダブルクリックしたとき。

MCRカードの読み込みが終了したとき。

画面属性ダイアログの「入力単位」で「表示直後」が指定してある画面で，設定した待機時間に達したとき。

画面属性ダイアログの「入力単位」で「フィールド」または「イベント」が指定されている画面で，フォーカス・カーソルがオブジェクトから離脱したとき。

注

手動ポップアップの表示は，画面確定の対象とはなりません。

(2)　各入力単位での画面確定操作

各入力単位が指定されているウィンドウで画面確定の操作した場合の結果を次に示します。

画面確定の操作 | 入力単位
画面 | フィールド | イベント | 表示直後
画面確定キー | ○ | ○ | ○ | ○
プッシュボタン | ○ | ○ | ○ | ○
メニューバー | ○ | ○ | ○ | ○
［閉じる］メニュー | ○ | ○ | ○ | ○
［閉じる］ボタン | ○ | ○ | ○ | ○
リストボックスのダブルクリック | ○ | ○ | ○ | ○
自動送信 | ○ | － | － | ×
MCR入力後 | ○ | － | ○ | ○
待機時間 | － | － | － | ○
オブジェクトからのフォーカス・カーソルの離脱 | － | ○ | ○ | －

（凡例）

○：画面確定する。

×：画面確定しない。

－：操作は無効になる。

(3)　APへ通知するための設定

各画面確定の操作で，APへ通知するための必要な設定内容を示します。

画面確定の操作
表示・印刷セットアップ
ドローセット
アップ
ドロー
AP

画面確定キー
キーの割り当て
有効となるキーの特定
APから動的変更するかどうかの指定
修飾名の指定
（動的変更時）

プッシュボタン
－
－
通知コードの割り当て
－

メニューバー
－
－
通知コードの割り当て
－

［閉じる］メニュー
使用するかどうか
－
－
－

［閉じる］ボタン
使用するかどうか
－
－
－

リストボックスのダブルクリック
使用するかどうか
－
－
－

自動送信
－※
－
各オブジェクトの定義ダイアログで指定
－

入力単位
－
－
画面属性ダイアログ
－

MCR入力
－
－
各オブジェクトの定義ダイアログで指定
－

（凡例）

－：操作は無効になる。

注※

表示・印刷セットアップの「キー操作1」タブの「入力直後APへ制御を渡す（自動送信）動作」の「データ変更時だけ制御を渡す」を設定すると，入力操作をしたときだけ自動送信の通知をします。

(4)　イベントとイベント通知コード

画面確定の操作とイベント種別，および通知コードの関係を次に示します。

画面確定の操作
イベント種別
標準の通知コード
（ドローセットアップで変更できる）

画面確定キー
PF1～PF24
確定キー
PF01～PF24

PF25～PF84
A001～A060

送信（実行）キー
ENTR

割込みキー
BREK

スクリーン消去キー
SCRN

PA1～PA3
PA1～PA3

プッシュボタン／メニューバー
ボタン・メニュー
A061～A071

閉じる（ボタン／メニュー）
割込み
BREK

ダブルクリック
送信
ENTR

自動送信
送信
ENTR

MCR
MCR
標準なし（初期クリア文字を通知）

設定した待機時間に達したとき
送信
ENTR

フィールド単位で戻ったとき
送信
ENTR

イベント単位で戻ったとき
イベント
標準なし（論理マップ中のイベント定数を通知）

1.5.10　表示先と表示環境の設定

＜この項の構成＞

(1)　表示先の指定

(2)　表示環境の設定

(1)　表示先の指定

APから画面に表示するときは，表示先を指定します。この表示先の名前を「仮想端末名」といいます。標準値は「DSP001」です。

スタンドアロンの場合は，自分自身の画面のウィンドウが表示先になります。

C/Sシステム構成の場合は，サーバから見た表示先のPCを指定します。C/Sシステム構成では，この物理的なLANアドレスと，論理的なアドレスである「仮想端末名」をあらかじめ定義しておきます。なお，C/Sシステム構成の場合，仮想端末の自動割当て機能も使用できます。仮想端末設定および仮想端末自動割当ての詳細については，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

図1-15　表示先

(2)　表示環境の設定

（1）で説明した仮想端末名の定義のほかに，表示先として使用するPCの属性を設定しておくことができます。設定できる主な属性を次に示します。

使用するキーボードやキーボードの機能の設定

画面のデザインの設定

日本語入力の設定

表示色の設定

表示文字の設定

これらの属性設定を「表示・印刷セットアップ」といいます。表示・印刷セットアップの詳細については，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

1.6　XMAP3関連ファイルの関係

ドローで使用するファイルとXMAP3の機能の関連を次の図に示します。また，ドローで使用するファイルとその説明も次の表に示します。また，XMAP3で使用するファイルと機能の関連については，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

図1-16　XMAP3で使用するファイルとXMAP3の機能の関連

表1-5　XMAP3で使用するファイルとその説明

ファイル名
内容
区分
拡張子

1.ドローセットアップファイル
ドローセットアップで設定した結果を格納
入出力
－

2.マップ定義ファイル
画面定義のソースを格納
入出力
.IMP

3.論理マップファイル
入力論理マップファイル
出力論理マップファイル
入出力
.CBL
.H

4.物理マップファイル
物理マップファイル
出力
.PMP

5.表示・印刷環境ファイル
印刷モードやプリンタ種別などの情報を格納
入力
－

6.動的変更テーブル
ドローセットアップで設定した修飾名のテーブルを格納
入出力
.CBL
.H

（凡例）

－：該当しない。

注

これらのファイルは，修正する前にバックアップを取っておくことをお勧めします。「XMAP3Backup」などの別フォルダ（またはディレクトリ）を作成し，その中に対象のファイルをコピーしてください。インストール時の状態に戻したいときは，フォルダ中の対象ファイルをXMAP3インストール先に上書きコピーしてください。

1.7　画面を設計する前に

＜この節の構成＞

1.7.1　画面設計で使用する基本用語の説明

1.7.2　オブジェクト配置位置の基準

1.7.3　画面設計と定義

1.7.1　画面設計で使用する基本用語の説明

XMAP3の画面設計でよく使用する用語について説明します。ここで説明していない用語については，「付録F　用語解説」を参照してください。

＜この項の構成＞

(1)　レイアウト領域の設定に関する用語

(1)　レイアウト領域の設定に関する用語

グリッド
レイアウト領域にオブジェクトを配置する位置を決める基準になります。

基準文字サイズ
画面のレイアウト領域の基準となる文字サイズです。標準サイズと，標準よりも大きいまたは小さいサイズが選択できます。
画面のレイアウト領域でオブジェクトを配置するときの単位となるグリッド（ます目）は，この基準文字サイズが基準になります。行方向は基準文字サイズの半分，列方向は半角文字の幅でそれぞれグリッドの縦幅／横幅が決まります。各オブジェクトでは，この基準文字サイズが適用されます。基準文字サイズを定義する画面属性ダイアログの一部を次に示します。

1.7.2　オブジェクト配置位置の基準

ドローでオブジェクトを配置する位置は，オブジェクトの属性定義によって異なります。

＜この項の構成＞

(1)　ます目とオブジェクト

(2)　オブジェクト同士の位置関係

(1)　ます目とオブジェクト

ます目に対してオブジェクトがどのように配置されるかを示します。

オブジェクト
ます目との関係
表示される状態

セパレータ，けい線系

横けい線の場合，ます目の上，中央，下に配置される。

縦けい線の場合，ます目の左，中央，右に配置される。

テキスト系
半角文字は，ます目に対して横1ます，縦2ます。全角は横2ます，縦2ます。倍角は全角の2倍になる。文字はこの領域の中央に表示される。
[図データ]　

枠付きのオブジェクト
ボックス枠があるオブジェクトの配置は，オブジェクトの「枠高」での指定に依存する。

「2.5」や「3」のときは，ボックス枠の横線はます目の外側に，縦線はます目の中央に位置づけられる。

「2」のときは，ボックス枠の横線はます目の内側に，縦線はます目の中央に位置づけられる。

スクロールバーが付く場合は，ボックス枠の外側にバー用のボックスが付く。バー用のボックスの大きさは横1ます，縦2ます。
[図データ]　

(2)　オブジェクト同士の位置関係

オブジェクト同士を並べて配置したり，隣接して配置するときの規則を示します。ただし，セパレータ以外のオブジェクト同士を重ねて配置することはできません。

横／縦
オブジェクト
配置位置
表示状態

横
枠付きボックス同士
同じますに配置する。
[図データ]　

枠付きボックスとセパレータ
同じますに配置する。
[図データ]　

枠付きボックスと文字列
次のますに配置する。
[図データ]　

縦
枠付きボックス同士

「枠高」が「2ます」の枠付きボックス同士

「枠高」が「2.5ます」または「3ます」の枠付きボックス同士

1ます空けて配置する。

直後のますに配置する。

1ます空ける。

枠付きボックスとセパレータ

縦セパレータは枠付きボックスの配置されているますの直前，直後のますに配置する。

横セパレータは枠付きボックスの配置されているますから1ます空けて配置する。

枠付きボックスと文字列
直後のますに配置する。
[図データ]　

文字列同士
直後のますに配置する。
[図データ]　

1.7.3　画面設計と定義

画面を定義する前に確認する項目について説明します。

＜この項の構成＞

(1)　ハードウェア依存およびドライバ依存の確認

(2)　レイアウト定義前の決定事項

(1)　ハードウェア依存およびドライバ依存の確認

ハードウェアやドライバ依存に関する設定は，実際の定義を始める前に確認しておくことをお勧めします。また，C/Sシステム構成の場合には，各クライアントでの設定を合わせておくことをお勧めします。

次に確認する項目を示します。

キーボードの種別

画面の解像度

画面単位での基準文字サイズ※（大／中／小）

オブジェクトの外観（2D（平面的に表示）／3D（立体的に表示））

表示色（256色以上／16色）
16色の場合には背景色が使用できず，また，3D表示ができないため，文字色の工夫が必要になります。なるべく256色以上のディスプレイドライバを用意してください。

注※

画面属性ダイアログで指定する基準文字サイズです。ドロー上で文字を編集するときの基準のサイズになります。

(2)　レイアウト定義前の決定事項

レイアウトを定義する前に次のことを決めておいてください。

ディスプレイの物理サイズに見合った画面サイズ
使用するPCの中で，「画面解像度のいちばん低いものの行数×列数」の値を物理サイズの最大値とし，画面サイズはこの値を超えないように設計する。

画面全体の文字サイズ（大きい文字／標準文字サイズ／小さい文字）

オブジェクトの概観（2D（平面的に表示）／3D（立体的に表示））

一次ウィンドウと二次ウィンドウの区別
二次ウィンドウは，一次ウィンドウに対しての補助的な表示をする場合に使用する。例えば，データエントリ画面やメッセージ画面，ヘルプ画面などを使用する場合には，二次ウィンドウを使用する。

使用するオブジェクトおよびオブジェクト配置のデザイン

APから変更できる表示属性

PFキーやボタンの使用基準

2.　GUI画面の作成

GUI画面のデザインは，XMAP3のドローを使用して設計します。この章では，GUI画面の設計で使用できる機能について説明します。

＜この章の構成＞

2.1　GUI画面の設計

2.2　GUI画面のレイアウト手順

2.3　GUI画面属性の設定

2.4　GUI画面を構成するオブジェクト

2.5　部品の利用

2.6　データ名の編集

2.7　テスト表示

2.1　GUI画面の設計

基幹業務では，大量の画面を扱わなければなりません。そのような場合，画面を目的別や性質別にまとめたり，操作方式や画面形式を統一したりすることで，作業の煩雑さや誤操作を防げます。また，見た目にも画面の違いがわかるようバリエーションに富んだ画面を設計することで，作業の効率化が図れます。

XMAP3でのGUI画面設計ではボタンやリスト，グラフィックなどのオブジェクトを利用して，多彩な表現を実現できます。ここでは，GUI画面のウィンドウ構成やGUI画面を構成するオブジェクトについて説明します。

＜この節の構成＞

2.1.1　GUI画面の構成

2.1.2　画面サイズ

2.1.3　画面の表示様式

2.1.4　レイアウト領域の背景色

2.1.5　一次ウィンドウと二次ウィンドウ

2.1.6　GUI画面設計でこんなこともできます

2.1.7　GUI画面設計のポイント

2.1.1　GUI画面の構成

GUI画面は，次に示す2種類の画面，および2種類の平面で構成されています。GUI画面を構成する画面と平面の種類を次の表に示します。

表2-1　GUI画面を構成する画面と平面の種類

画面，平面
意味

画
面
物理画面
ディスプレイ画面上に表示される画面

仮想画面
ウィンドウを配置する論理上の表示画面

平
面
ウィンドウ
実際のレイアウト領域に表示する，各オブジェクトを配置する平面

プレーン領域
ウィンドウ上のボックスに表示する各種のオブジェクトを配置する平面

各画面の関係を次の図に示します。

図2-1　物理画面，仮想画面，ウィンドウおよびプレーンの関係

各画面，および平面についての説明を次に示します。

＜この項の構成＞

(1)　物理画面

(2)　仮想画面

(3)　ウィンドウ

(4)　 プレーン領域

(1)　物理画面

物理画面は，実際のディスプレイ画面のことです。各ウィンドウは，最終的にこの物理画面上に表示されます。

(2)　仮想画面

仮想画面は，物理画面から独立した，論理上の表示画面のことです。

実際の画面表示では，仮想画面から物理画面上に表示できる範囲をPC上のウィンドウ表示システムが切り取って表示します。ただし，仮想上の枠線などの境界は表示されません。

仮想画面のサイズは，指定がない場合，画面サイズの最大値（48行×160列）を仮定します。このため，画面レイアウト上，仮想画面は特に意識する必要はありません。なお，GUI画面は半行単位で定義するため，指定値は最大96行となります。

ただし，物理画面の範囲をはみ出すようなウィンドウは配置できないので，ウィンドウのサイズおよび位置は，物理画面内に収まるように配置してください。

画面レイアウト時には，この仮想画面上に一次ウィンドウ，および二次ウィンドウを配置します。

(3)　ウィンドウ

ウィンドウは，仮想画面上の領域内に各種のオブジェクトを配置するための平面です。

実際の画面レイアウト時には，このウィンドウ内へのオブジェクトの配置を考慮することが主となります。オブジェクトは，種類によって配置する平面が異なります。エントリ系，ラベル系オブジェクトは直接ウィンドウ上に配置します。リストボックスとフィールドボックスなどは，ウィンドウ上には表示位置や大きさだけを配置し，内容はプレーン領域に配置します。

図2-2　ウィンドウ各部の名称

コントロールメニュー
コントロールメニューとは，画面の左上にある枠をマウスでクリックすると表示されるシステムメニューです。タイトルバー左端にカーソルを位置づけ，マウスの左ボタンを押すと表示されます。コントロールメニューをクリックすると，Windowsのシステムメニューが表示されます。システムメニューには，［元のサイズに戻す］［移動］［サイズ変更］［最小化］［最大化］および［閉じる］があります。［閉じる］メニューでAPに割込キーのイベントを返すかどうかは，表示・印刷セットアップで指定できます。設定方法の詳細についてはマニュアル「XMAP3 開発・実行ガイド」を参照してください。また，イベントについては「1.5.9　画面確定とAPへの通知」を参照してください。

タイトルバー（オプション）
そのウィンドウに対応する業務の名称を表示します。一つの業務が二次ウィンドウを含め複数の画面から構成される場合は，画面での処理や，画面遷移を考慮してタイトルを付けます。タイトルは左側に表示されます。
タイトルは，画面属性ダイアログで設定します。タイトルの長さは，最大で78文字（半角の場合）です。タイトルを省略した場合は，「XMAP3」が仮定されます。APからは変更できません。
なお，スプラッシュ画面など，タイトルバーやメニューバーを表示しない画面の場合は，画面属性ダイアログで「タイトルバーを付ける」の項目をチェックしません。

（例）

「受注処理業務：データ入力」，「受注処理業務：データ検索」

タイトルはドロー定義時に指定しますが，タイトルの表示は画面属性ダイアログで指定します。

メニューバー
画面の業務に対して，各種操作をするメニューを表示します。表示する文字列，表示属性はドローで指定します。メニューバーは必要に応じて使用します。なお，スプラッシュ画面など，タイトルバーやメニューバーを表示しない画面の場合は，画面属性ダイアログで「メニューバーを付ける」の項目をチェックしません。

オペレータインジケータ（オプション）
キーボード状態，入力データのチェック結果などのメッセージをXMAP3が表示します。APからのメッセージの表示はできません。オペレータインジケータを表示するかしないかは画面属性ダイアログで指定します。表示位置は，XMAP3の表示・印刷セットアップで変更します。表示は，「上に表示」「下に表示」「表示しない」および「拡張形式」※が選択できます。なお，OLTPサーバ構成の環境で使用する場合には，「上に表示」または「下に表示」のどちらかを選択します。

注※

拡張形式では，オペレータインジケータは常に下に表示されます。

レイアウト領域
実際の業務処理に使用するオブジェクトを配置します。
これ以降，表示レイアウトなどの説明での「作業領域」は，断りがないかぎりレイアウト領域を示します。

《レイアウト領域のグリッド》

グリッドのます目の最小単位は，画面属性ダイアログで指定した文字サイズ「基準文字サイズ」を基準にして決まります。横が半角1文字分です。GUI画面での文字とます目の関係について次に示します。

なお，レイアウト領域で表示されている文字に対し，さらに「大きい文字」「小さい文字」「標準文字サイズ」を指定できます。それぞれの指定をしたときの表示を次に示します。なお，ここでは全角文字の場合を例にします。

ますの高さ
GUI画面の場合，ますの高さは標準文字の高さの半分になります。ただし，フィールドボックス中では，ますの高さは文字の高さと同じになります。このように，オブジェクトをどこに配置するかによって，レイアウトに必要な領域長が異なります。
オブジェクトを配置する場所とますの高さの関係を次の表に示します。

表2-2　オブジェクトを配置する場所とますの高さの関係

オブジェクトを配置する場所 | ますの高さ
フィールドボックス以外 | 半角文字1／2文字分
フィールドボックス内 | 半角文字1文字分

(4)　 プレーン領域

プレーン領域は，ウィンドウ上に配置したボックス内にけい線やフィールドを配置するための平面です。

プレーンサイズは，対応するボックスのボックスサイズと同じか，大きいサイズを指定できます。画面表示上は，ボックスに表示できる範囲をPCの表示システムが切り取って表示します。ボックスサイズの範囲外の部分は，スクロールすることで表示されます。

プレーンサイズがボックスサイズよりも大きくなる場合，プレーン上に配置するオブジェクトは，別画面としてレイアウトします。このとき，切り取られてボックス内に表示される部分が，ウィンドウ上のほかのオブジェクトと関連する場合はボックスとオブジェクトの重なり範囲を意識してボックス内のオブジェクトを配置する必要があります。

2.1.2　画面サイズ

ディスプレイ画面の解像度（ドット数），または表示する文字サイズの大きさによって表示できる行数，および列数が異なります。また，各ウィンドウに分けて表示できるため，実質的に表示する画面サイズは一定ではありません。

代表的な画面解像度ごとの文字サイズを表2-3に，画面サイズを表2-4に示します。

表2-3　画面解像度ごとの文字サイズ

《2Dの場合》単位：ピクセル

XMAP3の画面属性での基準文字サイズ
各オブジェクト
での文字サイズ
640×480
800×600
1,024×768
1,280×1,024

大
大
28
28
38
38

標準
24
24
32
32

小
18
18
24
24

中
大
18
18
28
28

標準
16
16
24
24

小
12
12
18
18

小
大
14
14
18
18

標準
12
12
16
16

小
8
8
12
12

《3Dの場合》単位：ピクセル

XMAP3の画面属性での基準文字サイズ
各オブジェクト
での文字サイズ
640×480
800×600
1,024×768
1,280×1,024

大
大
26
26
26
26

標準
22
22
22
22

小
16
16
16
16

中
大
16
16
16
16

標準
14
14
14
14

小
10
10
10
10

小
大
14
14
14
14

標準
12
12
12
12

小
8
8
8
8

注

10ピクセル以下の文字は，小さ過ぎて見にくい場合があります。あらかじめご確認ください。

表2-4　画面解像度ごとの画面サイズ

《2Dの場合》単位：ドット

XMAP3の画面属性での基準文字サイズ
各オブジェクト
での文字サイズ
640×480
800×600
1,024×768
1,280×1,024

列
行
列
行
列
行
列
行

大
大
45
17
57
22
53
21
67
29

標準
53
17
66
22
64
21
80
29

小
71
17
88
22
85
21
106
29

中
大
71
25
88
32
73
28
91
38

標準
80
25
100
32
85
28
106
38

小
106
25
133
32
113
28
142
38

小
大
91
32
114
41
113
41
142
48

標準
106
32
133
41
128
41
160
48

小
160
32
160
41
160
41
160
48

《3Dの場合》単位：ドット

XMAP3の画面属性での基準文字サイズ
各オブジェクト
での文字サイズ
640×480
800×600
1,024×768
1,280×1,024

列
行
列
行
列
行
列
行

大
大
49
17
61
22
78
28
98
38

標準
58
17
72
22
93
28
116
38

小
80
17
100
22
128
28
160
38

中
大
80
25
100
32
128
41
160
48

標準
91
25
114
32
146
41
160
48

小
128
25
160
32
160
41
160
48

小
大
91
29
114
36
146
47
160
48

標準
106
29
133
36
160
47
160
48

小
160
29
160
36
160
47
160
48

注1

この表の値の単位は，XMAP3の標準フォントサイズ（単位：ドット）を使用したレイアウト領域で表示できる列数×行数です。行数は，オペレータインジケータ分を含みません。この表の行列サイズは最大値であり，画面定義上は，この値では制限されません。ウィンドウシステムの設定（システムフォントサイズなど）によってこの値より小さな値になることがあります。

注2

画面上にオペレータインジケータを表示する場合，およびメニューバーを表示する場合は，画面のサイズは変わりませんが，ユーザが使用できる領域はそれぞれの場合，1行ずつ減ります。

例えば，オペレータインジケータ，メニューバーをどちらも表示していないときの行数が「17」の場合，オペレータインジケータまたはメニューバーのどちらかを表示すると「16」に，どちらとも表示させると「15」になります。

表示できる画面行列数の計算方法を次に示します。

《行数の計算方法》

画面行ドット数を求める計算式

画面行ドット数＝

（フォントサイズ（ドット）＋2（または4））×（ウィンドウ行数

＋1（1行単位））＋タイトルバーの高さドット数＋メニューバードット数

計算式の説明

フォントサイズに加える値が4となるのは，表示・印刷セットアップで3D表示を指定し，ディスプレイが256色以上の表示の場合だけである。

タイトルバーの高さドット数とメニューバードット数は，Windowsが表示をするため，使用する標準フォントやディスプレイドライバによってPCごとに異なる。

メニューバーは，1行に収まらない場合，複数行で表示する。また，メニューバーを指定しない場合は，行ドット数に含まれない。

必要な画面ドット数を求める場合，通常はそれぞれ1.5行分のドット数が必要なものとして計算することをお勧めします。

画面ドット数から表示できる行数を求める場合，この計算式を逆算します。この場合，行数は整数値なので，端数は切り捨てます。

《列数の計算方法》

画面列ドット数を求める計算式

画面列ドット数＝

（フォントサイズ（ドット）／2）×ウィンドウ列数（半角文字数）

画面ドット数から表示できる文字数（半角）を求める場合，この計算式を逆算します。この場合，文字数は整数値なので端数は切り捨てます。また，表示できる全角文字数を求めるには，「表示できる半角文字数／2」の値を偶数値となるように値を丸めます。

2.1.3　画面の表示様式

XMAP3で表示する画面の表示環境は，仮想端末ごとに設定できます。APでは，仮想端末名で表示環境を区別しているため，表示環境を動的に変更することはできません。XMAP3では，物理画面上の複数の仮想端末に対して，いちいちオープン・クローズをしなくても，一時的に非表示にしたり，ウィンドウの位置を設定したりできます。

＜この項の構成＞

(1)　表示様式

(2)　ウィンドウ表示位置と重なり

(3)　表示様式の関係

(1)　表示様式

「全画面表示」および「ウィンドウ表示」は表示・印刷セットアップで設定します。

全画面表示
全画面表示は，一次ウィンドウにだけ設定できます。全画面表示を設定すると，タスクバーを除くディスプレイの全領域にウィンドウが表示されます。全画面表示時には次の点に注意してください。

タスクバーの「自動的に隠す」を指定している場合に全画面表示を設定すると，タスクバーを表示できなくなる。「自動的に隠す」を指定しないか，またはマウス移動や［Ctrl］＋［Esc］の押下でスタートメニューを表示させ，「自動的に隠す」の指定を解除すると，タスクバーは表示される。

画面属性ダイアログで「ウィンドウのサイズ変更を抑止する」をチェックしていなくても，画面のリサイズはできない。また，画面属性ダイアログの［ウィンドウサイズを変更する］のチェックが外れている状態で，表示・印刷セットアップの「デザイン1」タブの［全画面表示する］をチェックしていても，画面のリサイズはできない。

ウィンドウの移動はできない。

二次ウィンドウに対しては，全画面表示の設定はできない。

表示・印刷セットアップで設定する。

動的変更はできない。

ドロー上での定義は，標準表示と変わらない。

壁紙は，ドローで定義したウィンドウの大きさまで表示される。

物理画面（ディスプレイ）の中央位置を基準に物理画面がウィンドウ枠より大きいときだけ，背景を引き伸ばし全画面化する。また，タイトルは画面の上部に表示する。

ウィンドウ表示
標準的な使い方です。ウィンドウサイズに従って表示されます。ウィンドウサイズは変更でき，小さく変更する場合は必要に応じてスクロールバーが付きます。それぞれのウィンドウの表示位置を指定しておきます。位置の指定には縦横（XY位置）を指定して物理画面上での平面的な位置を指定する方法と，奥行き（Z位置）を指定してウィンドウ同士の重なりを指定する方法があります。これらの指定はAPから動的変更できます。

(2)　ウィンドウ表示位置と重なり

ウィンドウ表示位置およびウィンドウ同士の重なりは「XY位置」および「Z位置」で設定します。ただし，APでの「XY位置」および「Z位置」の設定が有効になるのは，表示形態で「全面書換」を指定している場合だけです。

XY位置
XY位置は「左上」「左下」「中央」「右上」「右下」「自由な位置」から選べます。

Z位置
Z位置は「標準表示」「手前に表示」「後ろに表示」「一時非表示」から選べます。「一時非表示」は奥行きの指定に関係なく，一時的にウィンドウを隠します。なお，二次ウィンドウの場合は，標準表示だけとなります。

複数のウィンドウを表示するときのウィンドウ同士の重なりを，奥行きを示すZ位置で指定できます（Zオーダー）。

標準表示
表示するといちばん手前に表示されます。ほかのAPのウィンドウが表示されると，後ろへ移動されます。

手前に表示
活性／不活性に関係なく，常に手前に表示されます。

後ろに表示
活性／不活性に関係なく，常に後ろに表示されます。

一時非表示
ウィンドウを見えない状態にします。通常の表示にするには，APから動的変更をして「標準表示」などに切り替えます。一時非表示を利用すると，一時的にウィンドウをクローズしたような状態を作れます。なお，一時非表示の場合，送信キーを押したときと同じイベント通知コードが，自動的にAPに渡されます。

(3)　表示様式の関係

画面の表示様式とウィンドウの関係を次に示します。

表示様式 | ウィンドウの定義
一次ウィンドウ | 二次ウィンドウ | XY位置 | Z位置
全画面表示 | 様式の定義は有効 | 様式の定義は無効 | × | ○
ウィンドウ表示 | 様式の定義は有効 | 様式の定義は有効 | ○ | ○

（凡例）

○：定義できる。

×：定義できない。

2.1.4　レイアウト領域の背景色

レイアウト領域には背景色が指定できます。背景色には，標準色として「グレー」が仮定されています。また，背景として壁紙を選ぶこともできます。壁紙の詳細については，「2.1.6(2)　壁紙の利用」を参照してください。

2.1.5　一次ウィンドウと二次ウィンドウ

一次ウィンドウは，データ入力のために使用する画面です。これに対し二次ウィンドウは，ヘルプやメッセージを表示するために使用する画面です。二次ウィンドウは同時に3個まで，一つの一次ウィンドウ上に重ねて表示できます。なお，二次ウィンドウ表示は，一次ウィンドウが表示されていることが前提になります。

一次ウィンドウおよび二次ウィンドウの表示位置や重なって表示される場合の前後関係は，画面属性ダイアログで設定します。

複数のウィンドウを表示しているとき，オペレータが画面操作できるのは，活性状態のウィンドウだけです。操作できる状態にあることをフォーカスがあるといいます。

ウィンドウの代表的な表示規則を次に示します。

＜この項の構成＞

(1)　一次ウィンドウから二次ウィンドウの表示

(2)　複数ウィンドウ表示後に一次ウィンドウ表示

(3)　複数ウィンドウ表示後に二次ウィンドウ表示

(4)　画面の表示フォント

(1)　一次ウィンドウから二次ウィンドウの表示

(2)　複数ウィンドウ表示後に一次ウィンドウ表示

(3)　複数ウィンドウ表示後に二次ウィンドウ表示

(4)　画面の表示フォント

XMAP3で表示に使用するフォントは，フォント構成ファイル（X3PFONT）の定義情報に従います。

画面の外観を3D（立体的な表示）にした場合，標準では画面解像度に関係なく，MSゴシックの14ドットフォントとなります。これ以外のフォントおよびサイズを使用したい場合は，表示・印刷セットアップの「表示文字」タブで設定してください。

2.1.6　GUI画面設計でこんなこともできます

＜この項の構成＞

(1)　スプラッシュ画面の作成

(2)　壁紙の利用

(3)　掲示板の作成

(4)　画面のズームイン，ズームアウトの作成

(1)　スプラッシュ画面の作成

スプラッシュ画面では，メニューバーやオペレータインジケータを表示しません。スプラッシュ画面の場合，画面に対して何も操作がされなくても，あらかじめ設定した時間が過ぎた場合，または表示直後に自動的にAPに制御を渡せます。

スプラッシュ画面の詳細，および例題については「8.2.2　BTMENU01のAP実行前に表示するスプラッシュ画面の追加」を参照してください。

なお，OLTPサーバ構成用のプログラムでは，スプラッシュ画面を適用できません。

(2)　壁紙の利用

定義するウィンドウごとに，壁紙を設定できます。壁紙はビットマップファイル（.bmp）です。壁紙とレイアウト領域の関係はを次に示します。

壁紙のサイズがレイアウト領域より小さい場合
レイアウト領域の左上を原点にして，並べて表示します。

壁紙のサイズがレイアウト領域より大きい場合
レイアウト領域の左上を原点にして表示します。レイアウト領域からはみ出た部分は切り捨てます。

なお，ウィンドウ内に壁紙を使用する設定をしている場合に，全画面表示を設定しているときは，壁紙はドローで定義したウィンドウの大きさまでしか表示されません。

(3)　掲示板の作成

ウィンドウ上にずっと表示しておく画面です。一定間隔でAPから表示内容を書き換えます。ユーザが画面確定の操作をしなくても，APに制御を渡します。掲示板の詳細，および例題については「8.2.14　GENDSP01パターンを使用した掲示板の表示」を参照してください。

(4)　画面のズームイン，ズームアウトの作成

画面属性ダイアログで指定する基準文字サイズ（大／中／小）に対し，ドロー上でさらに3種類の文字サイズを指定できます。つまり，ドロー上では9種類の文字サイズを使用して画面を作成できます。同じレイアウトで文字サイズだけを変更した数種類の画面を作成しておき，APで切り替えると，画面をズームイン，またはズームアウトできます。

2.1.7　GUI画面設計のポイント

GUI画面の設計ではさまざまな機能が利用できるので，大量の画面を必要とする基幹業務などへの適応ができます。しかし，利用できる機能が多ければ多いほど，ポイントをしぼって設計しなければ煩雑な画面になってしまいます。

ここでは，より快適に業務を行うための画面の設計のポイントについて説明します。

＜この項の構成＞

(1)　使いやすいGUI画面の特長

(2)　GUI画面を設計するときの検討課題

(1)　使いやすいGUI画面の特長

使いやすいGUI画面の特長を次に示します。

操作方法が統一されている。

画面のサイズ，形式が画面の種類ごとに統一されている。

入力必須，選択必須の項目は，スクロールしなくても必ず表示される位置にある。

操作を画面上だけに集中させず，マウス操作やキー操作にも割り振るなどして，最も簡潔な方法で操作できるようになっている。

画面上で使用している色数が適当である。また，長時間作業していても目に負担をかけない色使いである。

(2)　GUI画面を設計するときの検討課題

GUI画面を設計するときには，次の点をよく検討します。

(a)　画面中の機能の絞り込み

一つのGUI画面には，まとまりのある機能を持たせます。最初に表示する画面にはなるべく汎用的な機能を持たせ，そこから二次ウィンドウやダイアログに制御を移していく方が，画面を効率良く使えます。

(b)　操作方式，画面形式の統一

操作方式や画面形式を統一すると，初めて操作する画面でもそれまでの経験を基に操作できるので，効率良く作業ができます。また，決まった機能を持つボタンの位置が画面間で統一されていれば，誤入力や誤操作を防げます。

（例）

画面を終了するときに表示されるダイアログのボタンの配置は，常に「はい」「いいえ」「キャンセル」の順である。

(c)　使用している色の考慮

GUI画面の特長である多彩な色を使いながら，見やすい画面にするには，次の点に注意してください。

目立たせたい項目を決め，背景色とは対立する色を指定する。それ以外は同系色でまとめる。

使用する色は統一する。
（タイトルバーの色，背景色の色，エラーダイアログの色など）

目が疲れないように，広範囲の色には彩度の低い色を使う。

文字色には必ず見やすい色を使う。

モノクロの画面や液晶画面で表示されることも考慮する。

色弱者を考慮する（赤と緑の組み合わせを避けるなど）。

具体的な画面での色使いについては，サンプル画面を参考にしてください。

(d)　ユーザレベルの考慮

熟練者でも初心者でも操作しやすいように配慮してください。

（例）

初心者用のガイドを用意する。ただし，熟練者には必要ないので画面上に常駐させない。

(e)　PFキー，テンキー入力の利用

操作をすべて画面に集中させずに，今までのオペレーションとの連続性や手間などを考慮して機能を割り振ってください。

(f)　ハードウェアデバイスの影響

ブラウン管や液晶画面などのハードウェアデバイスによって，表示結果やサイズが異なる点を考慮してください。

(g)　基幹業務で利用するということ（AP生産性，保守性の配慮）

基幹業務は，大量の画面，APから構成されています。また，常に変更・更新されます。これらの点を考慮して，生産性，保守性，信頼性について十分，検討してください。

(h)　CUI画面での操作に対応するGUI画面の機能

これまでCUI画面上で操作していたものをGUI画面に移行させる場合，各フィールドに対応するGUIの機能は次のようになっています。

●キー入力するフィールド

CUI画面でキー入力していた各フィールドは，目的に応じて次の分類のオブジェクトに割り振れます。各オブジェクトの詳細は「2.4　GUI画面を構成するオブジェクト」を参照してください。

キーエントリしていたフィールドに対応するGUI画面の機能

直接，入出力するもの
「入出力テキスト・フィールド」「入出力日付テキスト・フィールド」「入出力時刻テキスト・フィールド」

選択して入出力するもの
「コンボボックス」「ポップアップテキスト・フィールド」「スピンボックス」

固定（ラベル）フィールドに対応するGUI画面の機能

「固定テキスト・フィールド」「出力テキスト・フィールド」「出力日付テキスト・フィールド」「出力時刻テキスト・フィールド」

●一覧を表示するフィールドに対応するGUI画面の機能

「フィールドボックス」「リストボックス」「テキスト・フィールドの反復」

●PFキーなど画面を確定し，APに制御を渡して処理をコントロールするものに対応するGUI画面の機能

CUIでのファンクションキー操作をそのまま使いたい場合
「GUIのボタンにPFキーや送信キーを割り振って使う」
「GUIのボタンとPFキーを組み合わせて使う」「プッシュボタン」

GUI画面の機能を利用したい場合
「メニューバー」「テンキー（自動送信と組み合わせて使う）」「ラジオボタン」「チェックボタン」「トグルフィールド」

2.2　GUI画面のレイアウト手順

実際にドローを起動し，画面上にオブジェクトを配置してレイアウト定義をします。ここでは，GUI画面を新規に作成するときのレイアウト手順について説明します。

GUI画面を新規に作成するときの手順を次に示します。

スタートメニューから［XMAP3］－［ドロー］を選び，ドローを起動する。
新規・更新選択ダイアログが表示されます。

新規・更新選択ダイアログで［対象］から「マップ」※1を選択し，「画面・帳票・書式を新規作成する」を選択する。
選択後，［OK］ボタンをクリックすると新規作成ダイアログが表示されます。

新規作成ダイアログでマップ名を指定する。
マップ名の決定の詳細については，「2.2.1　マップ名の決定」を参照してください。

新規作成ダイアログで「定義種別」を選択する。
「定義対象の選択」から定義種別を選択します。

一次ウィンドウを作成する場合

「GUI画面（一次）」を選択します。

二次ウィンドウを作成する場合

「GUI画面（二次）」を選択します。

新規作成ダイアログで定義パターンを選択する。
定義パターンを選択します。選択できる定義パターンには，XMAP3が用意しているパターンまたはユーザが登録したパターンがあります。XMAP3で提供している定義パターンについては，「付録B　XMAP3で提供している定義パターン」を参照してください。
サイズを自由にするときは，「フリー」を選んで画面属性ダイアログで設定します。

新規作成ダイアログで言語種別を選択する。
COBOLまたはCのどちらかを選択します。
なお，XMAP3/Web for Cosminexusを使用してCosminexus上で実行するGUI画面を開発する場合で，AP開発言語がJavaのときは，Cを選択してください。

［OK］ボタンをクリックする。
画面定義ウィンドウが表示されます。

画面定義ウィンドウで，画面属性を設定する。
ウィンドウの表示形態やイベント通知コードなど，画面を制御する情報（画面属性情報）を定義します。［属性］－［画面属性］を選択して表示される画面属性ダイアログで値を設定します。

画面レイアウトを定義する。
画面定義ウィンドウのツールボックスからオブジェクトのボタンを選んで，レイアウト領域にオブジェクトを配置し，画面をレイアウトします。オブジェクトについては，「2.4　GUI画面を構成するオブジェクト」を参照してください。

定義内容を保存し，終了する。
画面定義ウィンドウのツールバーから［ドローの終了］を選ぶと定義内容が保存され，画面定義が終了します。このとき，定義ファイルに加え，ドローセットアップで設定したターゲット用※2の論理マップと物理マップが生成されます。

注※1

［対象］から［パターン］を選択した場合には定義パターンを，［部品］を選択した場合には部品を作成できます。定義パターンや部品の作成については，「2.2.2　定義パターンおよび部品の登録」を参照してください。

注※2

XMAP3/Enterprise Editionの場合，ドローセットアップのターゲットの設定で，次の指定をした場合に，論理マップと物理マップが出力されます。

・メインフレーム－PC分散用の画面・帳票開発

・AIX（文字コード：シフトJIS）用の画面・帳票開発

・AIX（文字コード：EUC）用の画面・帳票開発

・HP-UX（文字コード：シフトJIS）用の画面・帳票開発

・Solaris（文字コード：シフトJIS）用の画面・帳票開発

・Solaris（文字コード：EUC）用の画面・帳票開発

・Linux（文字コード：EUC）用の画面・帳票開発

・Windows用の画面・帳票開発

＜この節の構成＞

2.2.1　マップ名の決定

2.2.2　定義パターンおよび部品の登録

2.2.1　マップ名の決定

画面の定義情報と生成される物理マップや論理マップなどの名称の整合性を図るために，マップ名を設定します。このマップ名は，各ファイル名称の先頭の文字列（拡張子を除く文字列）などになります。

マップ名にMAP001という名称を付けた場合のマップ定義ファイル名称
MAP001.impになります。

マップ名をMAP001とした場合に生成される物理マップファイル名称
マップ名が6文字※の場合，MAP001ND.pmpになります。マップ名が7文字※の場合は，MAP001O.pmpになります。

注※

マップ名の6文字または7文字については，ドローセットアップで設定します。ドローセットアップについては，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

マップ名をMAP001とした場合に，生成される論理マップファイル名称

COBOLの場合
入力論理マップファイル名称はMAP001I.cbl，出力論理マップファイル名称はMAP001O.cblになります。

C言語の場合
入力論理マップファイル名はMAP001I.h，出力論理マップファイル名称はMAP001O.hになります。

2.2.2　定義パターンおよび部品の登録

定義パターンおよび部品について説明します。なお，定義パターンおよび部品の登録の詳細手順については，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

＜この項の構成＞

(1)　定義パターン，部品とは

(2)　定義パターンの登録

(3)　部品の登録

(4)　定義パターンおよび部品登録時の注意

(1)　定義パターン，部品とは

ドローでは，画面のレイアウト定義のほかに，パターンや部品を必要に応じて定義できます。パターンとは，マップを効率良く作るために，定型的なオブジェクトを定義してあるひな型のマップのことです。部品とは，複数のオブジェクトを一つのグループとして定義したオブジェクトのことです。使用頻度の高い各種オブジェクトをあらかじめ部品として定義しておくことで，マップを効率良く作成できます。

(2)　定義パターンの登録

XMAP3では，汎用的に使用できる定義パターンを標準提供していますが，このほかに，必要に応じてユーザ独自の定義パターンを用意しておけます。ユーザ独自の定義パターンは，レイアウト定義前に作成してください。

登録した定義パターンは，画面の新規作成時に，新規作成ダイアログの定義パターンの選択一覧に表示されます。

定義パターンは，GUI画面（一次），GUI画面（二次）ごとにそれぞれ登録できます。

(3)　部品の登録

よく使用する属性のオブジェクトや，幾つかのオブジェクトを組み合わせたグループを部品として登録できます。オブジェクトを組み合わせるには，固定フィールドや入出力フィールドなどの複数のオブジェクトを，グループ化することで実現できます。部品を有効に使用することで，ユーザの画面定義を効率良く作成できます。部品を使用する場合は，レイアウト定義前に作成しておく必要があります。

部品は，GUI画面（一次），GUI画面（二次）ごとにそれぞれ登録できます。

(4)　定義パターンおよび部品登録時の注意

定義パターンと部品の登録は，ドローセットアップの「運用管理者用の設定」で「パターンの登録・更新を許可」または「部品の登録・更新を許可」を選択しているときにできます。ただし，定義パターンおよび部品は，ユーザの開発プロジェクト内で必要なものを登録するため，プロジェクト管理者などの特定のユーザが登録することをお勧めします。

2.3　GUI画面属性の設定

GUI画面の画面属性情報，およびイベント通知コードの詳細について説明します。

画面を制御する情報を画面属性情報といいます。画面属性情報は，ドローセットアップで初期値が設定されています。この情報は，セットアップ時，または画面定義時に設定できます。

画面属性情報に指定できる属性を次に示します。

＜この節の構成＞

2.3.1　画面属性の詳細

2.3.2　画面属性の動的変更

2.3.1　画面属性の詳細

画面属性は，画面属性ダイアログで指定します。なお，次の図にある番号は，該当定義項目が説明されている項番を示しています。

＜この項の構成＞

(1)　ウィンドウ

(2)　キーボードのロック状態を解除する

(3)　ウィンドウを表示したときにアラームを鳴らす

(4)　モジュラスアルゴリズム

(5)　画面に対するコメントの記述

(6)　イベント通知コード

(7)　次画面

(8)　APインタフェース

(9)　タイトルバー／メニューバー／オペレータインジケータ／ウィンドウサイズ変更抑止／基準文字サイズ

(1)　ウィンドウ

(a)　表示形態

新しく画面を表示したときの表示中の画面の扱いを変更できます。表示中の画面を消去して次の画面を表示する場合は「全面書換」，画面を重ねて表示する場合は「一部上書」を指定します。システムに表示形態を任せる場合は，「自動」を指定します。「全面書換」「一部上書」および「自動」の詳細については，「1.5.3(2)　表示形態」を参照してください。

(b)　XY位置

物理画面上の仮想画面の表示位置を指定します。二次ウィンドウの定義で，一次ウィンドウでの指定位置に従って表示する場合は，「一次に従う」を指定します。

自由な位置：
任意の位置を縦横の値で指定できます。指定した位置は，画面を最初に表示したときに有効となります。そのあと，別画面を表示したり，同一画面を再表示したりした場合は，直前の画面の位置（ウィンドウ操作によって移動した位置）のまま表示します。ただし，表示・印刷セットアップの「デザイン1」で「画面定義を優先する」を指定している場合は，「全面書換」で表示するたびに指定が有効になるので，指定した位置に画面を表示できます。

左上／左下，右上／右下，中央：
それぞれの位置にウィンドウを表示します。この指定は，画面を最初に表示したときと，直前の画面と異なる画面を表示したときに有効となります。同一画面を再表示したときは，直前の画面の位置（ウィンドウ操作を行った位置）のまま表示します。
なお，表示・印刷セットアップの「デザイン1」の「ウィンドウ操作を優先する」または「画面定義を優先する」の選択は無効となります。
APから動的変更で指定する場合は，「2.3.1(8)(d)　動的変更（APからウィンドウ位置属性を変更する）」を参照してください。

(c)　Z位置

物理画面上に，複数の仮想画面が表示されている場合などに，それぞれの仮想画面の重なり位置を指定し，操作するウィンドウを目立たせることができます。また，ウィンドウを一時的に非表示にできます。

標準表示，手前に表示，後ろに表示，一時非表示：
それぞれのZ位置にウィンドウを表示します。この指定は，最初に画面を表示したときと，直前の画面と異なる画面を表示したときに有効となります。
同一画面を再表示したときは，直前の画面の位置（ウィンドウ操作を行った位置）のまま表示します。
なお，一時非表示の場合，送信キーを押したときと同じイベント通知コードが，自動的にAPに渡されます。
APから動的変更で指定する場合は，「2.3.1(8)(d)　動的変更（APからウィンドウ位置属性を変更する）」を参照してください。

(d)　入力・選択状態の扱い

画面を一部上書するとき，画面表示前の入力・選択系オブジェクトの扱いを変更できます。入力・選択系オブジェクトを未入力または未選択状態にするかどうかを指定します。転送状態とは，キー入力またはAPでの指定で入力済みにしておくことを示します。APで入力済みを指定した場合，APから未入力状態に変更させたり，全面書換をしないかぎり，入力済みの状態は引き継がれます。

一度表示した画面に対して一部上書したときに，APに返す値を次に示します。

操作
オブジェクトの表示属性
ウィンドウ属性（入力・選択状態の扱い）

未入力・未選択
状態を維持
初期状態

ヌルを入力
入力済（初期値なし）
消去通知文字
消去通知文字
消去通知文字

入力済でない
（初期値なし）
初期クリア文字
初期クリア文字
初期クリア文字

入力か選択
入力済（初期値なし）
表示データ
表示データ
消去通知文字

選択済
選択通知※
選択通知
選択通知※

選択済でない
初期クリア文字
選択通知
初期クリア文字

初期値
あり
入力済でない
初期値
初期値
初期値

初期値
なし
入力済でない
初期クリア文字
初期クリア文字
初期クリア文字

何もしない
初期値
あり
入力済
初期値
初期値
初期値

入力済でない
初期値
初期値
初期値

初期値
なし
入力済
消去通知文字
消去通知文字
消去通知文字

選択済
選択通知※
選択通知
選択通知※

入力済でない
初期クリア文字
初期クリア文字
初期クリア文字

選択済でない
初期クリア文字
初期クリア文字
初期クリア文字

注

ウィンドウ属性（入力・選択状態の扱い）は，ドローセットアップの「表示属性の標準値」の「ウィンドウ属性」タブでも指定できます。なお，ドローセットアップでの値が有効になるのは，XMAP3が標準提供している定義パターンを使用してドローを新規作成した場合，およびXMAP3が標準提供している定義パターンを使用して，ユーザ登録の定義パターンを作成したときです。

注※

固定のラジオボタン，チェックボタンで動的変更しないドロー定義をした場合は，初期クリア文字を返します。

(e)　種別

定義する画面が一次ウィンドウか，二次ウィンドウかを指定します。

(f)　背景色

画面全体で共通の背景色（ウィンドウの色）を変更できます。標準値は「グレー」です。

(g)　壁紙を設定する

「壁紙を設定する」をチェックして［壁紙の設定］ボタンをクリックすると，壁紙として使用できるグラフィックファイルの一覧が表示されます。壁紙として使用したいファイルを選びます。なお，壁紙はレイアウト領域には表示されません。確認するときは，テスト表示を使用してください。

壁紙はビットマップファイル（.bmp）です。壁紙の表示様式については，「2.1.6(2)　壁紙の利用」を参照してください。

(h)　二次ウィンドウの位置

「種別」が「一次ウィンドウ」の場合に，このウィンドウに対して表示する二次ウィンドウの位置を，ウィンドウ種別のIDによって，あらかじめ指定できます。ウィンドウ種別のIDの詳細については，「2.4.3　二次ウィンドウ」を参照してください。

指定しない場合は，各二次ウィンドウに設定された位置で表示されます。

(2)　キーボードのロック状態を解除する

キーボードのロック状態を直前の画面から継続するか，解除するかが指定できます。この指定をチェックすると，画面を表示したとき，マウスやキーボードから入力できる状態になります。指定しない場合は，キーボードのロック状態が直前の画面から継続されます。画面の操作では，「取消キー」によってキーボードのロック状態を解除できます。なお，キーの詳細については，「4.2.1　キーの機能」を参照してください。

(3)　ウィンドウを表示したときにアラームを鳴らす

画面を表示したときにアラームを鳴らすかどうかが指定できます。初期値は「鳴らさない」です。

(4)　モジュラスアルゴリズム

モジュラスチェックを「（モジュラス）10チェック」でするか「（モジュラス）11チェック」でするかが指定できます。モジュラスチェックの詳細については，「付録A　属性情報一覧」を参照してください。画面属性ダイアログの初期値は「（モジュラス）10チェック」です。

(5)　画面に対するコメントの記述

画面名（日本語名）と画面に関するコメントを書きます。各オブジェクトに付ける概要や使用目的などの情報です。実際の画面表示の対象にはなりません。

コメントはドキュメンテーション支援でほかの情報とともに出力されるので，定義情報をドキュメント化したときにわかりやすい情報が得られます。また，日本語名はテスト支援の遷移図の画面名として使用されます。ドキュメンテーション支援およびテスト支援についてはマニュアル「XMAP3 開発・実行ガイド」を参照してください。

(6)　イベント通知コード

何によって発生するイベントか，イベント発生後の動作はどうするかを画面単位に指定します。イベント通知コードの詳細についてはイベント通知コードダイアログで指定します。

イベントが発生したとき，APに通知するかどうかはイベント通知コードダイアログの「動作」で指定できます。イベント通知コードダイアログで定義する，通知コードと動作との関係を次に示します。

対象
通知
コード
動作

確定キーを使用する
確定キーを使用しない

一次
ウィンドウ
二次
ウィンドウ
一次
ウィンドウ
二次
ウィンドウ

ファンクショ
ン1～24
（F1～F24）
PF01～
PF24
AP通知（確定）
AP通知（中断）
ポップアップ表示
キー押下無効
使用しない
AP通知（確定）
AP通知（終了）
AP通知（中断）
AP通知（取消）
ポップアップ表示
キー押下無効
使用しない
AP通知（確定）
AP通知（中断）
キー押下無効
使用しない
AP通知（確定）
AP通知（終了）
AP通知（中断）
AP通知（取消）
キー押下無効
使用しない

送信
ENTR

割り込み
BREK

スクリーン
消去
SCRN

PA1キー
（PA1）
PA1

PA2キー
（PA2）
PA2

PA3キー
（PA3）
PA3

ファンクションキー25～84
（F25～F84）※
A001～
A060

プッシュボタン／メニューバー
A061～
A071
AP通知（確定）
AP通知（中断）
AP通知（確定）
AP通知（終了）
AP通知（中断）
AP通知（取消）
AP通知（確定）
AP通知（中断）
AP通知（確定）
AP通知（終了）
AP通知（中断）
AP通知（取消）

注※

既存の画面に対して確定キーとして使用する場合は，ユティリティで「セットアップ情報反映」を実行してください。

動作の詳細は次のとおりです。

動作の指定 | 説明
AP通知（確定） | 画面確定をしてAPにイベントを通知する。入力・選択必須のチェックが実行され，エラーがあった場合はAPに制御を返さない。
AP通知（終了） | 「確定」と同じ動作をし，ウィンドウを閉じる。二次ウィンドウでだけ指定できる。
AP通知（中断） | 画面確定をしないでAPにイベントを通知する。入力・選択必須のチェックは実行されない。APにはイベント通知コードを返すが，入力データは返さない。ヘルプボタンや強制終了などに使用する。
AP通知（取消） | 「中断」と同じ動作をし，ウィンドウを閉じる。二次ウィンドウでだけ指定できる。
ポップアップ表示 | 使用目的が「POP・手動」のポップアップのメニュー項目を開く。APにイベントは通知しない。なお，メニュー項目が開くのは，フォーカス・カーソルが位置づけてあるポップアップである。
キー押下無効 | キー押下無効は，使用しないPFキーなどに使う。これに対応する確定キー，プッシュボタン，またはメニューバーを押すと，エラーとなって画面は入力待ち状態になる。なお，無効にする確定キーをAPから動的変更することもできる。
使用しない | 使用しないPFキーなどに使う。これに対応する確定キーを押すと，画面が確定される。APには，イベント通知コードとして初期クリア文字が返る※。

注1

XMAP3で表示した画面の入出力テキスト・フィールドをコピーまたはペーストしても，APへは何も返しません。

注2

OLTPサーバ構成の場合，OpenTP1上で「次メッセージ要求キー」として割り当てられているキーのイベントはAPに渡りません。

注※

OLTPサーバ構成で使用している場合，リターンコードが「4」，詳細エラーコードが「(0414)₁₆」のエラーとなります。

(7)　次画面

APで，画面名称を固定値として定義していなくても，次に表示させたい画面名称を実行時に取得したいとき指定します。次画面はマップ名が6文字のときに指定できます。なお，次画面はOLTPサーバ構成の環境で利用できます。

(8)　APインタフェース

APからウィンドウの属性を変更して表示する場合に指定します。

(a)　入力単位

画面確定のタイミングを「画面」「フィールド」「イベント」および「表示直後」から選びます。入力単位の詳細については「1.5.8　入力単位」を参照してください。

(b)　待機時間

「入力単位」で「表示直後」を選んだ場合，APに自動的に制御が渡されるまでの時間を設定できます。「0秒」も設定できます。

(c)　動的変更（APからウィンドウ属性を変更する）

APから表示形態などのウィンドウ属性を変更して，画面を表示します。

この場合，制御項目が論理マップに展開されます。この制御項目に修飾名という定数をAPが設定することで，表示属性が動的に変更されます。

修飾名と表示属性との対応の標準値については「付録A.10　修飾名と変更属性の標準値」を参照してください。なお，表示属性はドローセットアップで変更できます。

(d)　動的変更（APからウィンドウ位置属性を変更する）

一次ウィンドウを表示する場合のウィンドウの位置（XY位置，Z位置）を動的に変更できます。

この場合，制御項目が論理マップに展開されます。この制御項目に修飾名という定数をAPが設定することで，表示属性が動的に変更されます。

直前の画面と同じ画面を再表示する場合は，画面定義時にウィンドウ属性の表示形態に「全面書換」を指定するか，またはAPからの動的変更で表示形態に「全面書換」を指定してください。その他の指定の場合や指定なしの場合は，位置属性は変更されません。

修飾名と表示属性との対応の標準値については「付録A.10　修飾名と変更属性の標準値」を参照してください。なお，表示属性はドローセットアップで変更できます。

(e)　動的変更（APから確定キー属性を変更する）

画面に対する操作に使用する各制御キーの有効／無効を動的に変更できます。

この場合，制御項目が論理マップに展開されます。この制御項目に修飾名という定数をAPが設定することで，表示属性が動的に変更されます。

修飾名と表示属性との対応の標準値については「付録A.10　修飾名と変更属性の標準値」を参照してください。なお，表示属性はドローセットアップで変更できます。

(f)　初期クリア文字

AP実行時に，画面からの入力データをAPが受け取る前に，XMAP3が入力論理マップの各項目をあらかじめクリアしておく文字です。なお，APが受け取るデータの優先順位は次のとおりです。

キー入力データ／選択したイベント通知コード

入力済み／選択済みのとき，表示されているデータ／イベント通知コード

エラー通知文字

初期値

初期クリア文字

(g)　データ消去通知文字

AP実行時に，画面からフィールドキーなどで入出力テキスト・フィールドのデータを消去したり，(00)₁₆のデータを受信したときにAPが受け取るデータです。したがって，APが受け取ったデータがデータ消去通知文字であれば，画面操作でデータ消去されたと判断できます。

初期クリア文字や初期値とデータ消去通知とを分けておくことで，入力操作がなかったのか，データ消去されたのかが区別できます。

なお，オブジェクトに「入力済み」が定義されている場合で，画面確定時に何も入力しなくてもヌル（(00)₁₆）が表示されている状態のとき，データ消去通知文字がAPに返されます。

(h)　エラー通知文字

XMAP3が入力データにエラーを検出した場合に，APが受け取るデータです。

入力データのエラーは，半角文字だけを入力できるテキスト・フィールドに，全角文字を入力したときなどに発生します。

(i)　隠しフィールド

実際の画面には表示されないフィールドで，入力固定項目として使用します。

入力固定項目とは，入力論理マップに必ず固定の値を返すデータ項目で，論理マップ可変部の最初のデータ項目として展開されます。

OLTPサーバ構成で使用するトランザクションコードをXMAP3上で定義するには，隠しフィールドとして定義します。

(j)　再定義名

定義済みの論理マップを別定義として使用するときの名称です。半角で30字以内で定義します。

入力論理マップ用と出力論理マップ用とで別の名称にすることもできます。

(9)　タイトルバー／メニューバー／オペレータインジケータ／ウィンドウサイズ変更抑止／基準文字サイズ

(a)　タイトルバーを付ける

ウィンドウのタイトルバーを付けるかどうか，およびタイトルの内容を指定します。

(b)　メニューバーを付ける

画面に対する処理をメニューから選択させたいときに指定します。指定すると，定義したウィンドウにメニューバーが付きます。メニューバーの内容の定義は，［メニューバー定義］ボタンから操作します。

(c)　オペレータインジケータを付ける

オペレータインジケータを表示するかしないかを指定できます。OLTPサーバ構成の場合には，オペレータインジケータを付ける必要があります。この場合，拡張形式は使用できません。オペレータインジケータを設定していない場合，二次ウィンドウを表示するときTP1/NET/XMAP3の通信エラーとなります。

なお，オペレータインジケータに表示されるメッセージについては，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

(d)　ウィンドウのサイズ変更を抑止する

マウスのドラッグで，ウィンドウのサイズを自由に変更できるかできないかを指定します。標準は「変更できない」です。ウィンドウを小さくした場合は，必要に応じてスクロールバーが付けられます。スクロールバーを付けるか付けないかは，表示・印刷セットアップで設定します。なお，スクロールバーを付けるときは，スクロールすることで重要なエラーメッセージなどが隠れないよう，画面設計時に注意してください。

(e)　基準文字サイズ

画面全体の基準となる文字サイズを変更できます。

画面属性の定義では，「基準文字サイズ」の設定によって，配置できる領域が変わってきます。この基準文字サイズは，レイアウト画面上に表示されているグリッドの縦横の間隔と対応します。縦（行）の間隔は文字サイズの半分，横（列）の間隔は半角の文字サイズの幅で表示されます。GUI画面中のフィールドボックスに配置する場合の基準文字サイズについては，「2.1.1(3)　ウィンドウ」の「ますの高さ」の記述を参照してください。

2.3.2　画面属性の動的変更

画面属性はAP実行時に変更できます。XMAP3では，ドローで定義した画面属性情報のほかに，APからの変更用としてドローセットアップで画面属性情報を定義できます。

これらの画面属性情報は，名前を付けて区別します。この名前を修飾名といいます。標準提供の画面属性情報の修飾名は「付録A.10　修飾名と変更属性の標準値」を参照してください。標準提供の修飾名を使用すると，表示形態をAPから変更できます。APでは，論理マップの属性情報格納エリア（制御項目）に画面属性情報の修飾名を格納することで，実行時に画面属性の表示属性を変更できます。

2.4　GUI画面を構成するオブジェクト

GUI画面を構成するオブジェクトと，それぞれの機能について説明します。なお，オブジェクトは機能によって次のように分類されます。

大分類
小分類
オブジェクト名

キャラクタコントロール
キーエントリ
入出力テキスト・フィールド

入出力日付テキスト・フィールド

入出力時刻テキスト・フィールド

コンボボックス（固定／可変）

ラベル
固定テキスト・フィールド

出力テキスト・フィールド

出力日付テキスト・フィールド

出力時刻テキスト・フィールド

予約テキスト・フィールド※

選択エントリ
コンボボックス（固定／可変）

ポップアップテキスト・フィールド（固定／可変）

スピンボックス

候補選択コントロール
リストボックス
リスト項目

ラジオボタンボックス
（固定／可変）
ラジオボタン

チェックボタン
ボックス
（固定／可変）
チェックボタン

トグルフィールド

グループコントロール
グループボックス

フィールドボックス

フレーム

グラフィックコントロール
グラフィック
固定グラフィック

出力グラフィック

セパレータ・けい線

メッセージアイコン

塗りつぶしフィールド

コマンドコントロール
メニューバー
プルダウン

カスケード

プッシュボタン

注※

予約テキスト・フィールドはXMAP3の開発環境を利用した，OLTPサーバ構成用のプログラムで使用できます。

＜この節の構成＞

2.4.1　タイトルバー

2.4.2　メニューバー

2.4.3　二次ウィンドウ

2.4.4　入出力テキストボックス

2.4.5　日付テキスト・フィールドと時刻テキスト・フィールド（入出力）

2.4.6　固定テキストボックス

2.4.7　出力テキストボックス

2.4.8　日付テキスト・フィールドと時刻テキスト・フィールド（出力）

2.4.9　コンボボックス

2.4.10　ポップアップテキスト

2.4.11　スピンボックス

2.4.12　リストボックス

2.4.13　ラジオボタンボックス

2.4.14　チェックボタンボックス

2.4.15　トグルフィールド

2.4.16　グループボックス

2.4.17　フィールドボックス

2.4.18　固定グラフィック

2.4.19　出力グラフィック

2.4.20　セパレータ

2.4.21　けい線

2.4.22　メッセージアイコン

2.4.23　塗りつぶしフィールド

2.4.24　プッシュボタンボックス（コマンドボタン）

2.4.25　MCR

2.4.26　フォーカスとカーソル

2.4.27　予約テキスト・フィールド

2.4.28　次画面

2.4.1　タイトルバー

一次ウィンドウおよび二次ウィンドウのタイトルバーと，各部の表示仕様を示します。

＜この項の構成＞

(1)　形式

(2)　表示仕様

(3)　APインタフェース

(1)　形式

一次ウィンドウ

二次ウィンドウ

(2)　表示仕様

タイトルバーの表示仕様を次の表に示します。なお，タイトルバーを表示するかしないかは画面属性ダイアログで指定できます。

表2-5　タイトルバーの表示仕様

項番
名称
機能
使用条件，その他

1
タイトルバーアイコンまたはコントロールボックス
XMAP3システムのアイコンまたはコントロールメニューを出すための，ボタンを表示する。クリックすると最小化メニューなどが表示される。
タイトルバーアイコンが表示される。

2
ウィンドウタイトル
表示されているウィンドウのタイトル。通常は，業務内容を示す。
ドローで定義する。何も定義されていないときは「XMAP3」が表示される。表示・印刷セットアップで，表示するかしないかを設定できる。

3
最小化ボタン
ウィンドウをアイコン化する。
表示・印刷セットアップで，表示するかしないかを設定できる。

4
最大化ボタン
ウィンドウのサイズを最大にする。
表示・印刷セットアップで，表示するかしないかを設定できる。

5
閉じるボタン
ウィンドウを閉じ，APを終了させるために使用する。
表示・印刷セットアップで，表示するかしないかを設定できる。
二次ウィンドウでは使用できない。

(3)　APインタフェース

タイトルバーのタイトルはAPから変更できません。

［閉じる］ボタンはオプションです。［閉じる］ボタンをクリックすると，［割込］キーと同じイベントがAPに通知されます。

2.4.2　メニューバー

メニューバーは，表示された画面に対する処理を選択するときに使用します。画面遷移やポップアップメニュー（手動）表示の契機としても使用できます。メニューバーは常に表示されているため，一般的に使用する機能（ファイル，編集など）を設定することをお勧めします。

メニューバーで表示できるメニューの種類を次の表に示します。

表2-6　メニューの種類

種類
内容

メニューバー
ウィンドウ上のタイトルバーの下に表示されるメニュー。
1メニューバー上で最大24とおりの処理が選択できる。

プルダウンメニュー
メニューバーを選択すると表示されるメニュー。
メニューバーを選択したとき下位の処理選択があるとき（アクション→計算，印刷などアクションに対する処理が細分化するとき）に使用する。
1プルダウンメニュー上で最大24とおりの処理が選択できる。

カスケードメニュー
メニューの右端にカスケードメニュー表示用の記号（矢印ボタン）が表示されているプルダウンメニューを選択すると表示されるメニュー。
プルダウンメニューの処理内容がさらに細分化されるとき（印刷から印刷開始まで，書式設定，印刷取消など印刷に対する処理が細分化されるとき）に使用する。1カスケードメニュー上で最大24とおりの処理が選択できる。

選択する処理が多数あり処理単位でグループ分けができる場合は，プルダウンメニューやカスケードメニューを使用してメニューを階層化することをお勧めします。メニューを階層化することで，1ウィンドウ中で最大96とおりの処理が選択できます。

＜この項の構成＞

(1)　選択時のAPインタフェース

(1)　選択時のAPインタフェース

メニューは，マウス，またはキーボードで選択できます。キーボードで処理を選択する場合，アクセスキーとショートカットキーを指定しておきます。

各メニューを選択したときに指定できる動作を次に示します。

《メニューバー》

プルダウンメニューを表示する。

APにイベント通知コードを返す。

手動ポップアップを表示する。

不活性（選択できない状態にする）

最後のテキストを右端に表示する。

動的変更（APから表示属性を変更する）

《プルダウンメニュー》

カスケードメニューを表示する。

APにイベント通知コードを返す。

手動ポップアップを表示する。

メニューの下にセパレータ線を引く。

不活性（選択できない状態にする）

《カスケードメニュー》

APにイベント通知コードを返す。

また，メニューを選択したときに複写，貼り付け，およびポップアップ表示を指定できます。複写と貼り付けの機能は画面間での動作のため，APに影響はありません。メニューの選択方法，および複写と貼り付け機能の操作の詳細については，「4.4　コピー＆ペースト操作」を参照してください。ポップアップ表示は，ポップアップ（手動）付きの入出力テキストボックス（またはフィールドボックス内の入出力フィールド）を配置してある場合に有効となります。ポップアップの詳細については「2.4.10　ポップアップテキスト」を参照してください。

メニュー選択時にAPに通知コードを返す場合，メニューに対応したイベント通知コードが入力論理マップに格納されます。

2.4.3　二次ウィンドウ

二次ウィンドウは，一次ウィンドウを消去しないで補助的なデータの表示と操作をするときに使用します。また，二次ウィンドウは，メッセージの表示や入力するデータを検索するダイアログを表示するときにも使用します。

二次ウィンドウの表示は，一次ウィンドウを表示する方法と同じです。二次ウィンドウは，必ず一次ウィンドウの前面に重ねて表示します。このとき，一次ウィンドウが消去されることはありません。また，二次ウィンドウの表示中には，一次ウィンドウの操作はできません。

また，画面属性ダイアログの「二次ウィンドウの位置」または種別「二次ウィンドウ」時の「位置」ではウィンドウ種別のIDによって二次ウィンドウの表示位置およびサイズを指定できます。IDごとに次の表に示すように分類して使用することをお勧めします。

表2-7　ウィンドウ種別のIDごとの表示内容の適用例

ID | 表示制御の内容
1 | データ入力の補助のために表示するダイアログ。
2 | メッセージを表示するダイアログ。
3 | ヘルプ情報を表示するダイアログ。

＜この項の構成＞

(1)　データ入力補助のダイアログとして使用する

(2)　メッセージ表示のダイアログとして使用する

(3)　ヘルプ表示のダイアログとして使用する

(1)　データ入力補助のダイアログとして使用する

一次ウィンドウで選択対象とする項目が多岐にわたり，ポップアップなどでは表示できない場合や，選択するデータを検索したい場合に使用します。データ入力時の煩雑さをなくすために，一次ウィンドウの一つの項目に対するデータ入力補助を目的とし，二次ウィンドウから選択するデータは基本的に一つにすることをお勧めします。

画面のサイズは一次ウィンドウの半分以下とし，一次ウィンドウと同様の機能を使用して画面を設計します。

(2)　メッセージ表示のダイアログとして使用する

画面を操作するオペレータに対してメッセージを通知するときに使用します。

メッセージには「エラー」「インフォメーション」「クエスチョン」「ワーニング」があります。

画面のサイズは一次ウィンドウの1/4以下を目安とし，テキストボックスやフィールドボックスを使用した出力メッセージと，メッセージアイコンとを組み合わせて画面を設計します。

(3)　ヘルプ表示のダイアログとして使用する

一次ウィンドウに対する操作説明などのヘルプ情報を表示するときに使用します。ヘルプ情報は，確認後，［OK］のプッシュボタンなどで二次ウィンドウを閉じるように指定します。

画面のサイズは一次ウィンドウの半分以下とし，テキストボックスやフィールドボックスを使用して表示するヘルプダイアログを設計します。

2.4.4　入出力テキストボックス

入出力テキストボックスは，キーボードなどからデータを入力するとき，およびAPから渡されるデータを表示するときに使用します。入出力するデータの意味に応じて，種類（使用目的，詳細目的）を選びます。

初期表示値（出力データ）を表示し，書き換えが必要な場合だけ入力するような使い方ができます。

ボックスの表示属性の標準値は背景色が「白」です。テキストの表示属性の標準値は文字色が「黒」です。なお，入出力テキストボックスの表示属性の詳細については「付録A　属性情報一覧」を参照してください。

＜この項の構成＞

(1)　表示形式

(2)　入力データのチェック

(3)　画面確定時の動き

(4)　フォーカスの遷移

(5)　入力時のAPインタフェース

(6)　入出力テキスト・フィールドでの定義とAPの実行結果

(7)　出力時のAPインタフェース

(8)　表示属性の動的変更

(9)　小数点入力時の文字列の表示

(1)　表示形式

表示形式は，扱うデータの種別によって次のように変わります。

枠は必ず付きます。

文字サイズを指定できます。

文字を強調するために，斜体や太字を使用できます。

明朝体，ゴシック体を使用できます。

枠を付ける場合「枠高」で「2ます」を指定すると，枠付きのテキストボックスを上下に配置したとき，枠同士が接した状態でも表示できます。「枠高」で「2.5ます」または「3ます」を指定していると，枠と枠の間が1ます分空きます。

(2)　入力データのチェック

扱うデータの種類を決めたり，空白の使い方を指定して，入力データをチェックします。

(a)　使用目的による入力データのチェック

使用目的によって，入力データをチェックできます。使用目的と入力データの関係については，「付録A.9　表示属性の解説」の表A-8を参照してください。

(b)　詳細目的による入力データのチェック

詳細目的を指定して，使用目的よりも細かいチェック条件が指定できます。詳細目的とデータ型および入力できる文字の関係については，「付録A.9　表示属性の解説」の表A-9を参照してください。

(c)　空白入力

データに対して挿入する空白を，半角だけにするか全角だけにするか混合にするかで指定します。選べる項目は，使用目的および詳細目的に応じて異なります。「禁止」を指定すると，空白の入力はできません。空白入力については，「付録A.2　キーエントリ・ラベル系オブジェクトの表示属性一覧（テキストとフィールド）」を参照してください。

(3)　画面確定時の動き

(a)　イベント通知コードの動作で指定する画面確定時の動き

画面属性ダイアログの「イベント通知コード」設定の「動作」に「AP通知（確定）」を指定している場合，画面確定時に「入力必須」を指定したテキスト・フィールドの内容が入力されているかがチェックされます。ヘルプの表示など，一時的に入力を中断してAPに通知を返すときは，「AP通知（中断）」「AP通知（取消）」を使用して，「入力必須」を指定したテキスト・フィールドが未入力でもチェックされないようにできます。

(b)　［閉じる］ボタンでの画面確定時の注意

入出力テキストの使用目的が「金額」「数値」「日付」および「時刻」の場合，［閉じる］ボタンで画面を確定した表示画面からAPに制御が渡るとき，画面上のデータは保証されません。再表示時に前回と同じ内容を表示させたい場合は，明示的にオブジェクトの値を設定するか，画面属性ダイアログの「入力・選択状態の扱い」で「初期設定」を指定してください。

(4)　フォーカスの遷移

遷移条件が指定できます。

手動スキップ・右寄せ
入力データが桁数に満たない場合，タブキーで次の入力／選択できる領域にフォーカス・カーソルを移動すると，入力データが右寄せされます。

手動スキップ・全桁必須
1文字でも入力した場合，桁数いっぱいに入力しないと入力エラーになり，タブキーでのフォーカス・カーソル移動ができなくなります。

手動スキップ
桁数を超えるデータを入力しようとするとエラーになります。

自動スキップ
桁数いっぱいまで文字を入力すると，フォーカス・カーソルが次の入力／選択できる領域に自動的に移動します。これに対して，手動スキップの場合はタブキーを押すことでフォーカス・カーソルの次の入力／選択できる領域に移動します。

(5)　入力時のAPインタフェース

APの入力論理マップには次の内容を格納します。

(a)　入力データ項目

下位項目を利用したチェック
必要に応じて下位項目を設定できます。下位項目はデータ型が「文字（XX）」のときに設定できます。下位項目を設定すると，データをコードデータのように区切ってチェックしたり，1文字の繰り返しデータのようにして，1文字ずつチェックしたりできます。下位項目の詳細については，「6.2.10　下位項目を利用した入出力テキスト」を参照してください。

入力データチェックの通知
どのような操作が起こったかをチェックするためのコードをAPに通知します。

コードエラーの通知
不正な文字を入力した場合，一般的には入力時にエラーになります。ただし，エラー通知文字（標準はHIGH（X'FF'））をAPへ返すこともできます。なお，この機能を使用できるのは，使用目的「カナ」，詳細目的「カナ・半角」を組み合わせて指定したテキストまたはフィールドに対して，全角文字を入力した場合です。
また，空白入力に「一部＆全桁（半角）」か「一部（半角）」を指定し，表示・印刷セットアップの「日本語入力」タブの「全角スペースコードの扱い」で「全角スペースをそのまま返す」を設定すると，全角の空白を入力した場合にコードエラーになります。

データ消去の通知
フィールドキーでデータを消去した場合などに，データ消去通知文字（標準はLOW（X'00'））をAPへ返します。

データ未入力の通知
・初期値を返す場合
（例）
テキスト・フィールドで初期値に「ABC」の文字を設定し，データを入力しない場合に初期値の「ABC」をAPへ返します。
・初期クリア文字を返す場合
初期値の文字を設定しないで，データを入力しない場合に初期クリア文字（標準は埋字と同じ文字）を返します。
（例）
使用目的が「英数」の場合は埋字（スペース）を，「数字」の場合は埋字（ゼロ）をAPへ返します。
エラー通知文字，データ消去通知文字および初期クリア文字は，ドローセットアップで変更することもできます。

(b)　入力バイト数格納項目（オプション）

実際にキー入力した文字のバイト数（半角の桁数）が入ります。入力バイト数格納項目については「5.3.8　入力バイト数格納項目の論理マップ生成規則とマッピング規則」を参照してください。

(6)　入出力テキスト・フィールドでの定義とAPの実行結果

XMAP3での入出力テキスト・フィールドの定義と，APでの実行結果の関係を次の表に示します。

表2-8　入出力テキスト・フィールドとAPの実行結果例

適用例
ドローでの定義
実行結果

使用
目的
詳細目的
（空白入力）
キーボード
の入力
表示結果
論理マップ
格納形式

数字
コード
数字
数字
1234
[図データ]　
[図データ]　

+123
エラー

英数
コード
英数
英大・数
A001
[図データ]　
[図データ]　

＊001
エラー

名前
日本語
混在
（一部&全桁（半角））
日△△立
[図データ]　
[図データ]　

漢字
（禁止）
日立
[図データ]　
[図データ]　

漢字
（禁止）
△△日立
エラー

数量
数値
数字
12
[図データ]　
[図データ]　

数字・数字記号
+12
[図データ]　
[図データ]　

金額
金額
数字
1234
[図データ]　
[図データ]　

+1234
エラー

フリガナ
カナ
カナ・英大・マイナス・長音
[図データ]　
[図データ]　
[図データ]　

[図データ]　
エラー

パスワード
パスワード
半角
1234
[図データ]　
[図データ]　

IDカード
MCR
半角
＞1234
[図データ]　
[図データ]　

（凡例）

△：空白を示す。

注

「桁寄せ」と「埋字」は標準値で定義してあると仮定します。

(7)　出力時のAPインタフェース

出力時のAPインタフェースについては，「2.4.7　出力テキストボックス」を参照してください。

(8)　表示属性の動的変更

入出力テキストボックスでは，表示属性をAP実行時に変更できます。表示属性の動的変更については「1.5.6　表示属性の動的変更」を参照してください。

(9)　小数点入力時の文字列の表示

使用目的が「金額」または「数値」で，詳細目的が「小数点付き」または「符号・小数点付き」の場合の小数点入力時の動きについて，使用目的が「金額」の場合の例を次に示します。

注1

「数値」の場合は，コンマは付きません。

注2

「数値」の場合は，数値の前にゼロを付けることができます。

2.4.5　日付テキスト・フィールドと時刻テキスト・フィールド（入出力）

日付や時刻を表すデータを入出力するオブジェクトです。キーボードなどからデータを入力します。また，APから渡される可変のデータを表示できます。

表示されている出力データを必要に応じて編集したり，日付や時刻を表記する形式（表示書式）を選んだりできます。また，入出力対象にする単位（年／月／日，時／分／秒）なども指定できます。

＜この項の構成＞

(1)　表示形式（数字表示）

(2)　表示形式（元年表示）

(3)　表示形式の例

(4)　データのチェック

(5)　データ入力後の動作

(6)　画面確定時のチェック

(7)　入力とAPインタフェース

(8)　出力時のAPインタフェース

(9)　表示属性の動的変更

(1)　表示形式（数字表示）

(2)　表示形式（元年表示）

(3)　表示形式の例

日付および時刻を入力するとき，出力するときおよび格納するときのデータの形式や，入出力の対象にする単位（年／月／日，時／分／秒）はドローで定義します。ドローで定義した入力形式を基に，キーボードから入力されたデータはチェックされ，出力形式（表示書式）を基に，APから渡されるデータは表示されます。また，データは格納形式に従ってAPに格納されます。日付および時刻の入力形式と格納形式の詳細については「付録A.9　表示属性の解説」の表A-10および表A-11を参照してください。

(4)　データのチェック

キーボードから入力した日付および時刻のデータをチェックします。なお，西暦下2桁（YY）の場合に「00」を指定すると，西暦2000年（うるう年）とみなされます。

(a)　チェック範囲

「部分」の場合
日付を「YYYY（またはYY）」「MM」「DD」に分け，それぞれの数字に対し最小値から最大値の範囲でチェックします。「YYYY（またはYY）」「MM」「DD」がそれぞれ「1～9999（または0～99）」「1～12」「1～31」を超えている場合，入力エラーになります。

「全体」の場合
入力されたデータが，実際にありうる年月日（または年月）かをチェックします。
和暦の場合，年号の区切りのチェック方法には「戸籍六法方式」「JIS規格方式」および「JIS規格と戸籍六法の混在方式」があります。どの方式を適用するかは，表示・印刷セットアップで設定します。詳細についてはマニュアル「XMAP3 開発・実行ガイド」を参照してください。方式ごとの和暦年号の区切りを次に示します。

戸籍六法方式

元号 | 和暦年号の区切り | 区切りの年に該当する西暦
明治 | 1年9月8日～45年 7月29日 | 1912（明治45年）
大正 | 1年7月30日～15年12月24日 | 1926（大正15年）
昭和 | 1年12月25日～64年1月7日 | 1989（昭和64年）

JIS規格方式

元号 | 和暦年号の区切り | 区切りの年に該当する西暦
明治 | 1年9月8日～45年 7月30日 | 1912（明治45年）
大正 | 1年7月31日～15年12月25日 | 1926（大正15年）
昭和 | 1年12月26日～64年1月7日 | 1989（昭和64年）

JIS規格と戸籍六法の混在方式

元号 | 和暦年号の区切り | 区切りの年に該当する西暦
明治 | 1年9月8日～45年 7月30日 | 1912（明治45年）
大正 | 1年7月30日～15年12月25日 | 1926（大正15年）
昭和 | 1年12月25日～64年1月7日 | 1989（昭和64年）

(b)　時刻のチェック

時刻を「HH」「MM」「SS」に分け，それぞれの数字に対し最小値から最大値の範囲でチェックします。「HH」「MM」「SS」がそれぞれ「0～23」「0～59」「0～59」を超えている場合，入力エラーになります。

(5)　データ入力後の動作

次に示す項目で，データを入力したあとのフォーカス・カーソルの遷移や，APへ制御を返すタイミングなどを定義します。

遷移属性

入力済み（入力しなくても表示データをAPに返す）

自動送信（入力直後にAPへ制御を渡す）

(6)　画面確定時のチェック

画面属性ダイアログの「イベント通知コード」設定の「動作」に「AP通知（確定）」を指定している場合，画面確定時に「入力必須」を指定したテキスト・フィールドの内容が入力されているかがチェックされます。ヘルプの表示など，一時的に入力を中断してAPに通知を返すときは，「AP通知（中断）」「AP通知（取消）」を使用して，「入力必須」を指定したテキスト・フィールドが未入力でもチェックされないようにできます。

(7)　入力とAPインタフェース

デリミタ（／や－など）を除いた形式のデータをAPに渡します。和暦の場合は，先頭に元号を指定します。時刻の場合は，24時間表示で入力します。

（例）

注

「年月日」および「時刻」のデータは一まとまりに扱われます。「年」「月」「日」および「時」「分」「秒」それぞれのデータを分けて扱いたいときには入出力日付テキストまたは入出力時刻テキストの属性を定義するダイアログで下位項目を設定してください。入出力日付テキスト・フィールドまたは入出力日付テキスト・フィールドでの下位項目の利用については「6.2.11　下位項目を利用した日付テキスト・フィールドと時刻テキスト・フィールド（入出力）」を参照してください。

(8)　出力時のAPインタフェース

下位項目を指定してデータを細分化できます。下位項目はデータ型が「文字（XX）」のときに設定できます。

(9)　表示属性の動的変更

入出力の日付・時刻は，表示属性をAP実行時に変更できます。表示属性の動的変更については「1.5.6　表示属性の動的変更」を参照してください。

2.4.6　固定テキストボックス

固定テキストボックスについて説明します。固定テキストボックスは，ドローで定義した固定の文字列を表示するときに使用します。全角文字を使用する「日本語」と半角文字だけを使用する「英数」があります。

なお，固定テキストボックスの表示属性の詳細については「付録A　属性情報一覧」を参照してください。

＜この項の構成＞

(1)　表示形式

(2)　表示属性の動的変更

(1)　表示形式

画面属性ダイアログの基準文字サイズで「大」「中」「小」のどれかを選ぶと，選んだサイズの文字がドローの画面に表示されます。表示されている文字に対し，さらに文字サイズを指定できます。また，文字を強調するために太字や斜体も使用できます。

文字を強調するために，斜体や太字を使用できます。ただしオブジェクトを斜体で配置する場合は，右端に1ますの余白が必要です。

文字サイズを指定できます。

明朝体，ゴシック体を使用できます。

枠を付ける場合「枠高」で「2ます」を指定すると，枠付きのテキストボックスを上下に配置したとき，枠同士が接した状態でも表示できます。「枠高」で「2.5ます」または「3ます」を指定していると，枠と枠の間が一ます分空きます。

(2)　表示属性の動的変更

固定テキストの表示属性は実行時に変更できます。表示属性の動的変更については「1.5.6　表示属性の動的変更」を参照してください。なお，動的変更を指定した場合，画面初回表示および画面切り替え時のマッピングオプションに「論理マップだけ」を指定すると，ドローで定義した固定の文字列が表示されません。

2.4.7　出力テキストボックス

出力テキストボックスは，APから渡される可変データを表示するときに使用します。表示するデータに応じて，データの種別（使用目的）を選べます。出力テキストボックスの表示属性の詳細については「付録A　属性情報一覧」を参照してください。

＜この項の構成＞

(1)　表示形式

(2)　出力時のAPインタフェース

(3)　表示属性の動的変更

(1)　表示形式

画面属性ダイアログの基準文字サイズで，表示するデータの文字サイズを「大」「中」「小」から選べます。また，表示されている文字に対し，さらに文字サイズを指定できます。また，文字を強調するために太字や斜体も使用できます。

文字を強調するために，斜体や太字を使用できます。ただしオブジェクトを斜体で配置する場合は，右端に1ますの余白が必要です。

文字サイズを指定できます。

明朝体，ゴシック体を使用できます。

枠を付ける場合「枠高」で「2ます」を指定すると，枠付きのテキストボックスを上下に配置したとき，枠同士が接した状態でも表示できます。「枠高」で「2.5ます」または「3ます」を指定していると，枠と枠の間が一ます分空きます。

(2)　出力時のAPインタフェース

COBOLの場合，ピクチャ文字による編集ができます。なお，C言語の場合，すべて「char」として扱われます。

(a)　出力データ

数字
数字データ，数字編集データを表示できます。数字編集データは，指定したPICTURE句に従って表示されます（COBOLだけ有効）。
使用できるピクチャ文字：「＊」「＋」「－」「¥」「9」「，」「．」「Z」「／」の組み合わせで指定します。

日本語
全角または全角と半角の混在文字データを表示できます。全角と半角の混在文字データを表示する場合は，下位項目を指定してデータを細分化できます。

英数
半角の文字データを表示できます。また，下位項目を指定してデータを細分化できます。

(b)　データ格納形式

出力フィールドでは，埋字や桁寄せなどのデータの編集もできます。APがデータ有無コードを格納し，出力論理マップに代入した有効データの長さが出力フィールドデータ名の領域の長さより短い場合，出力フィールドデータ名の領域の余った部分を埋め字に置き換えます。また，出力データを出力フィールドデータ名の領域の右側に格納するか，左側に格納するかは，桁寄せ向きに従います。

(3)　表示属性の動的変更

出力テキストの表示属性は実行時に変更できます。表示属性の動的変更については「1.5.6　表示属性の動的変更」を参照してください。

2.4.8　日付テキスト・フィールドと時刻テキスト・フィールド（出力）

日付や時刻を表すデータを表示するオブジェクトです。APから渡される可変のデータを出力します。日付や時刻を表示する形式（表示書式）は日付または時刻の定義ダイアログで選んで定義します。出力対象にする単位（年／月／日，時／分／秒）なども指定できます。

＜この項の構成＞

(1)　表示形式

(2)　APでのデータと出力結果

(3)　出力時のAPインタフェース

(4)　表示属性の動的変更

(1)　表示形式

日付・時刻の出力時の表示形式の例を次に示します。なお，日付および時刻の表示書式と格納形式の詳細については「付録A.3　キーエントリ・ラベル系オブジェクトの表示属性一覧（日付テキスト・フィールドと時刻テキスト・フィールド）」を参照してください。

定義する表示書式
実際の表示形式
説明

1997／08／07
2002／03／31
デリミタ「／」
ゼロサプレス※1なし

1997．08．07
2002．03．31
デリミタ「．」
ゼロサプレス なし

1997／ 8／ 7
2002／ 3／31
デリミタ「／」
ゼロサプレス あり

平成 9年 8月 7日※2
平成14年 3月 31日
元号 「平成」
ゼロサプレス あり

21：08：07
21：08：07
デリミタ「：」
ゼロサプレス なし

注※1

ゼロサプレスでは，日付・時刻の前にある0を削除し，空白で表示します。

注※2

和暦表示の場合，元号が変わった最初の年を「1年」と表示するか「元年」と表示するかを表示・印刷セットアップで設定できます。詳細についてはマニュアル「XMAP3 開発・実行ガイド」を参照してください。

(2)　APでのデータと出力結果

APでは，データはデリミタなしの形式で扱われます。これらのデータは，出力時に，表示書式に合わせて編集されます。

（例）

APでのデータ格納形式 | ドローで定義する表示書式※1 | 出力結果
20020331 | 1997－08－07 | 2002－03－31
4140331※2 | 平成 9年 8月 7日 | 平成14年 3月31日
101000 | 21：08：07 | 10：10：00
101000 | PM 09：08：07※3 | AM 10：10：00
221000 | PM 10：10：00

注※1

表示書式の日付および時刻（1997－08－07や21：08：07）はパラメタです。実際の表示内容ではありません。

注※2

和暦の場合，先頭の数字が元号に変換されます。先頭の数字と元号の関係を次に示します。それぞれに3種類の形式があります。

1……明／明治

2……大／大正

3……昭／昭和

4……平／平成

注※3

時刻の出力では，24時間表示のデータを，定義する表示書式に従ってAM／PM付きに変換して表示します。

(3)　出力時のAPインタフェース

下位項目を指定してデータを細分化できます。下位項目はデータ型が「文字（XX）」のときに設定できます。出力日付テキスト・フィールドまたは出力日付テキスト・フィールドでの下位項目の利用については「6.2.4　下位項目を利用した日付テキスト・フィールドと時刻テキスト・フィールド（出力）」を参照してください。

(4)　表示属性の動的変更

日付・時刻（出力）テキストの表示属性は実行時に変更できます。表示属性の動的変更については「1.5.6　表示属性の動的変更」を参照してください。

2.4.9　コンボボックス

コンボボックスには，データをメニュー項目選択およびキー入力で入力するもの（キー入力コンボボックス）と，メニュー項目選択だけで入力するもの（メニュー選択コンボボックス）があります。それぞれに固定と可変があります。ドローでこれらのオブジェクトを定義するときは，コンボボックスアイコンをクリックして，種類を切り替えてから使用します。

なお，このマニュアルでは，特に書き分けていない場合，コンボボックスはメニュー選択コンボボックスとキー入力コンボボックスを指します。

＜この項の構成＞

(1)　メニュー選択コンボボックス

(2)　キー入力コンボボックス

(3)　コンボボックス使用時の注意事項

(1)　メニュー選択コンボボックス

メニュー選択コンボボックスは，入力するデータを，候補（メニュー項目）から選択することで指定するオブジェクトです。このとき，キー入力でメニューの内容を編集することはできません。

メニュー選択コンボボックスのメニューは，オブジェクトとして常に表示されてはいません。したがって，必要な場合だけ入力するオプションを選択したり，画面上に入力候補となるデータを表示する領域を十分に確保できないときに使用することをお勧めします。

なお，メニュー選択コンボボックスの表示属性の詳細については，「付録A　属性情報一覧」を参照してください。

(a)　表示形式

注

メニューのタイトルはありません。

(b)　使用目的

使用目的によって，入力データをチェックできます。使用目的と入力データの関係については，「付録A.9　表示属性の解説」の表A-8を参照してください。

(c)　表示サイズとメニュー項目数

メニュー選択コンボボックスの固定コンボボックスおよび可変コンボボックスを表示する領域（表示サイズ）は，必ずウィンドウに収まるようにドロー上で定義します。コンボボックスのメニュー項目数が，表示領域に収まらない場合は，自動的にスクロールバーが付けられます。ドローで定義したコンボボックスのメニューの行数よりも少ないメニュー項目をAPから設定した場合は，表示するメニューサイズを項目数に合わせて自動的に縮小します。なお，メニュー項目は最大128個，指定できます。

(d)　キーを押したときの動作の選択

メニュー選択コンボボックスはキーで操作できます。キーで操作するときのメニュー選択コンボボックスの動きは，表示・印刷セットアップで設定できます。次に，表示・印刷セットアップで設定できる，キーを押したときのメニュー選択コンボボックスの動きを示します。なお，表示・印刷セットアップでの設定の詳細についてはマニュアル「XMAP3 開発・実行ガイド」を参照してください。

カーソルキーでメニューを開くモード
メニュー選択コンボボックスにフォーカスが位置づいているときに，カーソル移動キーを押すと，メニューが表示されます。表示されたメニューから，メニュー項目を選択します。

カーソルキーでメニューを選択するモード
メニュー選択コンボボックスにフォーカスが位置づいているときに，カーソル移動キーを押すと，メニューを開かない状態で，メニュー項目を選択します。カーソル移動キーを押すごとに，次のメニュー項目が選ばれ，逐次，選択したラベルとして表示されます。

(e)　入出力時のAPインタフェース

メニュー選択コンボボックスには，固定コンボボックスと可変コンボボックスとがあります。固定コンボボックスは，画面設計時に入力データの候補となるメニューが決まっている場合に使用します。可変コンボボックスは，メニューのラベルおよびメニューの通知コードをAPから設定したい場合に使用します。

メニュー選択コンボボックスで選択されたメニューはボックス内に表示され，画面確定後には，メニューに対応した通知コードが入力論理マップに格納されます。

(f)　表示属性の動的変更

メニュー選択コンボボックスの表示属性をAP実行時に変更できます。表示属性の動的変更については「1.5.6　表示属性の動的変更」を参照してください。

(g)　APから初期値を変更する

「APから初期値を選択する」を指定すると，初期値用のデータエリア「マップ－FIELD」が出力論理マップ中に生成されます。ここに値を代入すると，コンボボックスの初期表示時に，初期値が選択された状態で表示されます。

(h)　メニュー項目数の動的変更（可変コンボボックスの場合）

コンボメニューのダイアログでは，使用するメニュー項目数の最大値を指定しておきます。しかし実際の表示では，メニュー項目数が可変になる場合があります。上から順に項目のデータを代入し，残った項目のラベルに半角の空白（スペースコード）を代入すると，空白を代入したメニュー項目は表示されません。なお，途中のメニュー項目を詰めて表示することはできません。空白のラベルをメニューの最後に表示させたい場合は，ラベルのデータに全角のスペースを代入してください。途中のメニュー項目の空白はデータとみなされます。メニュー項目数の動的変更の詳細については「6.2.32　コンボボックスの項目数の動的変更」を参照してください。

(2)　キー入力コンボボックス

キー入力コンボボックスは，入力するデータを，候補（メニュー項目）から選択したり，直接，キー入力したりして指定するオブジェクトです。キー入力コンボボックスの規則はメニュー選択コンボボックスの規則とほとんど同じです。ここでは，メニュー選択コンボボックスと異なる規則について説明します。なお，キー入力コンボボックスの表示属性の詳細については，「付録A　属性情報一覧」を参照してください。

(a)　表示形態

注1

メニューのタイトルはありません。

注2

メニューが開いている状態で入出力ボックスにデータを入力した場合，入力したデータと一致するコードがある場合は，対応するメニュー項目が選択された状態で表示されます。キー入力したデータと一致するコードがない場合，メニューを表示しても，何も選ばれていない状態で先頭のメニュー項目が表示されます。

(b)　使用目的と詳細目的

APが受け取る通知コードの「データ型」「桁寄せ」および「埋字」に設定できる値は，「使用目的」および「詳細目的」によって決まります。キー入力コンボボックスの「使用目的」については「付録A.9　表示属性の解説」の表A-8を参照してください。「使用目的」と「詳細目的」の組み合わせについては「付録A.9　表示属性の解説」の表A-9を参照してください。

(c)　ボックス内のデータ表示

キー入力コンボボックスにフォーカスがあるときで，メニュー項目が表示されていない場合，ボックス内のデータにはカーソルが位置づきます。また，ボックス内のデータをワンタッチクリアすることもできます。ワンタッチクリアについては「4.2.2　キーでのデータ入力と編集」を参照してください。

(d)　入出力時のAPインタフェース

出力時のAPインタフェース
ラベル初期表示したい場合，ラベルに対応するコードを出力論理マップに設定します。AP中の論理テーブルに対応するコードがない場合は，設定したコードが初期表示として表示されます。何も設定されていないときは，何も表示されません。

入力時のAPインタフェース
キー入力コンボボックスのラベルには，直接，データを入力できます。入力されたデータは，入力論理マップに格納されます。
なお，メニューを選択してデータを入力した場合は，コンボボックスと同じように，ラベルに対応するコードがAPに渡ります。

(3)　コンボボックス使用時の注意事項

大量の項目を持つコンボボックスおよびキー入力コンボボックスを，画面に大量に定義すると，生成されるウィンドウ数がWindowsの上限値を超えてしまい，画面を表示する際にAPにエラーが通知されることがあります。この場合は，定義するコンボボックスの個数またはメニュー項目数を減らすようにしてください。

2.4.10　ポップアップテキスト

ポップアップテキストは，決められた候補（メニュー項目）から一つを選択するときに使用します。固定と可変があります。メニュー項目に入力データの候補を表示することで，データの入力を補助します。入力するデータの内容が決まっている場合に使用することをお勧めします。なお，ポップアップテキストの表示属性の詳細については「付録A　属性情報一覧」を参照してください。

＜この項の構成＞

(1)　表示形式（可変・固定）

(2)　使用目的（可変・固定）

(3)　表示サイズとメニュー項目数（可変・固定）

(4)　入出力時のAPインタフェース（可変・固定）

(5)　ポップアップ表示属性の遷移条件（可変・固定）

(6)　アクセスキーと選択ラベル（可変・固定）

(7)　表示属性の動的変更（可変・固定）

(8)　APから初期値を変更する（可変・固定）

(9)　メニュー項目数の動的変更（可変）

(10)　ポップアップメニューをファイルで指定する（可変）

(1)　表示形式（可変・固定）

(2)　使用目的（可変・固定）

使用目的によって，入力データをチェックできます。ただし，ラベルのデータ型は，使用目的の指定と連動しません。ラベルのデータ型の「文字（XX）」は「日本語」の属性になります。また，使用目的に「自動－日本語」または「手動－日本語」を選択すると，詳細目的として「混在（全角・半角）」または「漢字」を選択できます。

使用目的と入力データの関係，および詳細目的については，「付録A.9　表示属性の解説」の表A-8および表A-9を参照してください。

(3)　表示サイズとメニュー項目数（可変・固定）

固定ポップアップメニューおよび可変ポップアップメニューを表示する領域（表示サイズ）は，必ずウィンドウに収まるようにドロー上で定義します。ポップアップメニューのメニュー項目数が，表示領域に収まらない場合は，自動的にスクロールバーが付けられます。ドローで定義したポップアップのメニューの行数よりも少ないメニュー項目をAPから設定した場合は，表示するメニューサイズを項目数に合わせて自動的に縮小します。詳細については，「2.4.9(1)(h)　メニュー項目数の動的変更（可変コンボボックスの場合）」を参照してください。なお，表示できるメニュー項目数は次のようになります。

ドローまたはAPで設定したメニュー項目を表示する場合：128個／1階層（階層は1階層だけ）

ポップアップメニューファイルのメニュー項目を表示する場合
：256項目／1階層（ファイルが階層構造の場合）（階層は8階層まで）
：32,000項目／ファイル

(4)　入出力時のAPインタフェース（可変・固定）

ポップアップテキストには，固定ポップアップと可変ポップアップとがあります。固定ポップアップは，画面設計時に入力データの候補となるメニューが決まっている場合に使用します。可変ポップアップは，メニューのラベルおよびメニューの通知コードを，APまたはポップアップメニューファイルから設定したい場合に使用します。

ポップアップテキストで選択されたメニューはボックス内に表示され，画面確定後には，メニューに対応した通知コードが入力論理マップに格納されます。

ポップアップメニューの表示方法を次の表に示します。

表2-9　ポップアップメニューの表示方法

表示方法
内容

自動で表示する
POP（自動）
メニュー項目の選択でだけデータを入力する標準的な使い方。
オブジェクトにフォーカスが位置づくと，メニューが自動的に表示される。

手動で表示する
POP（手動）
キーボードからの入力と，メニュー項目の選択との2とおりでデータを入力できる使い方。
メニューは次に示す方法で表示される。

手動で表示する
メニューは，オブジェクトにフォーカスを位置づけ，あらかじめポップアップ表示用に対応づけたファンクションキーかプッシュボタンを押すと，表示される。なお，同じキーまたはボタンを押して，表示されているメニューを閉じることもできる。キー操作に慣れているユーザはキー入力で操作でき，初心者はボタンなどで表示されているメニューから選択して操作できる。

「最初にメニューを開く」を指定して表示する
ポップアップメニューダイアログの「最初にメニューを開く」を指定しておくと，オブジェクトにフォーカスが位置づいたとき，自動的にメニューが表示される。

注

アクセスキーでメニュー項目を選択する場合は，キー操作または「最初にメニューを開く」指定をしてメニューを表示しておく必要がある。

(5)　ポップアップ表示属性の遷移条件（可変・固定）

ポップアップでメニューを選択した場合，入出力テキストに表示される選択ラベルは，そのポップアップの入出力テキスト属性で指定する「遷移条件」の動作はしません。選択したメニューに対応する選択ラベルはそのままの状態で入出力テキストに表示され，右寄せなどの表示はされません。また，次のボックスに自動的にフォーカス遷移する「自動スキップ」の属性は，メニューの表示属性の「選択したらメニューを閉じる」の指定に従います。

ポップアップ表示属性ダイアログの「遷移条件」の定義内容は，使用目的が「POP（手動）」のとき，入出力テキストにキー入力されたテキストにだけ適用されます。使用目的ごとの遷移条件の適用を次の表に示します。

使用目的
遷移条件
（手動スキップ・自動スキップ）
桁寄せ
（右寄せ・全桁必須）

POP（自動）
×
×

POP（手動）※
メニュー選択
○
×

キー入力
○
○

（凡例）

○：適用される。

×：適用されない。

注※

「自動スキップ」を指定した場合は，「選択したらメニューを閉じる」を指定してください。「手動スキップ」を指定した場合は，「選択したらメニューを閉じる」を指定しないでください。

(6)　アクセスキーと選択ラベル（可変・固定）

ポップアップでは，アクセスキーを利用してポップアップメニューを選んだり，選んだメニュー項目が反映される選択ラベルを使用したりできます。アクセスキーおよび選択ラベルについては「6.2.17　可変ポップアップテキストを使用したデータの入力」または「6.2.19　固定ポップアップテキストを使用したデータの入力」を参照してください。

(a)　アクセスキーの利用

アクセスキーは，可変ポップアップおよび固定ポップアップの使用目的が「POP（自動）」または「POP（手動）」のときに利用できます。また，ポップアップメニューファイルにアクセスキーを記述して，メニューをファイルで指定する可変ポップアップでも利用できます。

(b)　アクセスキーの入力時の注意

アクセスキーは4桁まで指定できます。ドローでアクセスキーの桁数を指定するには，定義画面のアクセスキーの「長さ」で指定します。ポップアップメニューファイルでアクセスキーの桁数を指定する場合については，マニュアル「XMAP3 開発・実行ガイド」を参照してください。また，ポップアップメニューファイルで階層化されているメニュー項目にアクセスキーを入力するときの注意事項については，「2.4.10(10)(a)　ポップアップメニューファイル使用時の注意事項」を参照してください。

次にアクセスキーを入力するときの注意事項を示します。

アクセスキーは，メニューが表示されているときだけ入力できます。
メニューが表示されていないときに入力すると，通知コードとしてAPに渡されますので注意してください。

アクセスキーは全桁入力したときに，有効になります。指定した長さより短いアクセスキーを入力して確定させようとしても，エラーになります。

(7)　表示属性の動的変更（可変・固定）

ポップアップテキストの表示属性をAP実行時に変更できます。表示属性の動的変更については「1.5.6　表示属性の動的変更」を参照してください。

(8)　APから初期値を変更する（可変・固定）

「APから初期値を選択する」を指定すると，初期値用のデータエリアが出力論理マップ中に生成されます。ここに値を代入すると，ポップアップテキストの初期表示時に，初期値に対応するメニュー項目が選択された状態で表示されます。

(9)　メニュー項目数の動的変更（可変）

ポップアップのダイアログでは，使用するメニュー項目数の最大値を指定しておきます。しかし実際の表示では，メニュー項目数が可変になる場合があります。上から順に項目のデータを代入し，残った項目のラベルに半角の空白（スペースコード）を代入すると，空白を代入したメニュー項目は表示されません。なお，途中のメニュー項目を詰めて表示することはできません。途中のメニュー項目の空白はデータとみなされます。空白のラベルをメニューの最後に表示させたい場合は，ラベルのデータに全角のスペースを代入してください。メニュー項目数の動的変更の詳細については「6.2.32　コンボボックスの項目数の動的変更」を参照してください。なお，コンボボックスはポップアップに置き換えてお読みください。

(10)　ポップアップメニューをファイルで指定する（可変）

XMAP3では，ポップアップテキストに表示するメニューデータをAP実行時にファイルから渡せます。このファイルをポップアップメニューファイルといいます。ポップアップメニューファイルは，あらかじめ用意しておきます。

ポップアップメニューファイルは，メニュー項目が大量にある場合や，メニューを大分類，小分類にして表示したい場合に使用します。また，ホスト連携機能を利用する場合，PC側にポップアップメニューファイルを持つことで，ホストとPC間で転送するデータ量を減らせます。ポップアップメニューファイルの使い方については，「6.2.18　ポップアップメニューファイルを使用したデータの入力」を参照してください。

(a)　ポップアップメニューファイル使用時の注意事項

次にポップアップメニューファイルを使用するときの注意事項を示します。

ポップアップメニューファイルの準備
ポップアップメニューファイルを使用する場合は，あらかじめポップアップメニューファイルを作成し，各クライアントPC側に用意しておきます。ポップアップメニューファイルは，ユティリティの「ポップアップメニューエディタ」で作成できます。また，ポップアップメニューファイルを格納しておくフォルダは，実際に表示を実行するPCの「ポップアップメニューフォルダ（ディレクトリ）」です。ポップアップメニューフォルダのパスは，表示・印刷セットアップで設定します。ポップアップメニューファイルの準備および規則の詳細については，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

ファイル名の初期値の指定
ポップアップメニューファイルで指定したメニューをテスト表示時に確認したい場合は，準備したポップアップメニューファイル名を，定義画面のファイル名の「初期値」に指定しておきます。このとき，必ず拡張子「.csv」※を付けて指定してください。拡張子が「.csv」でないファイル名を指定すると，エラーになります。なお，拡張子は，大文字でも小文字でもかまいません。

注※

CSV形式（Comma Separated Values形式）

ポップアップメニューファイルで指定できるメニューの階層
ポップアップメニューファイルで指定できるメニューの階層は，1階層から8階層までです。

ポップアップメニューファイルがない場合
APで指定したポップアップメニューファイルがなかったり，「メニューデータをファイルで指定する」を指定して，ファイル名の指定をしていなかったりした場合，ポップアップテキストには1階層の空のメニューが作成されます。このメニューにフォーカスが位置づくと，エラーになります。

メニュー項目の制限値を超えている場合
一つのファイルに指定できるメニュー項目数は，32,000項目です。32,000項目を超えるメニュー項目が指定されているファイルを読み込んだ場合，超過したメニュー項目は表示されません。

ポップアップメニューファイル読み込みの契機（タイミング）
ポップアップメニューファイルを読み込むタイミングは，表示・印刷セットアップで設定できます。メニュー項目が大量の場合など，必要に応じて読み込むタイミングの設定を変更してください。ポップアップメニューファイル読み込みのタイミングの設定については，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

選択ラベルおよびアクセスキーの利用
ポップアップメニューファイルでの定義を有効にするために，次の点に注意してください。

選択ラベルを定義している場合
ポップアップメニューファイルで選択ラベルを定義している場合は，ドローのポップアップメニューダイアログで「選択ラベルと通知コードを同じ値にする」の指定を外してください。

アクセスキーを定義している場合
ポップアップメニューファイルでアクセスキーを定義している場合は，ドローのポップアップメニューダイアログで「アクセスキーを指定する」を指定してください。

選択ラベルおよびラベルの大きさの指定
選択ラベルおよびラベルの大きさは，ポップアップメニューファイルで定義した選択ラベルおよびラベルのデータ長にかかわらず，ドローで定義した大きさになります。ポップアップメニューダイアログの，選択ラベルの「桁」およびラベルの「桁」で大きさを指定してください。指定できる「桁」の大きさについては，「付録D　画面定義の制限値」を参照してください。

使用目的の指定
ポップアップメニューファイルで定義する通知コードを入力データとして正しく扱うには，ポップアップテキストの使用目的の指定を考慮する必要があります。使用目的と通知コードの関係については，「付録A.9　表示属性の解説」の表A-8を参照してください。
AP実行時の通知コードの扱いについては，「5.4.1(2)　ポップアップフィールドの論理マップ生成規則とマッピング規則」を参照してください。

階層化されたメニューでのアクセスキー入力
階層化されたポップアップメニューでは，アクセスキー入力時に表示されている，最下位のメニュー項目が選択対象になります。階層を超えて，別の階層のアクセスキーを入力できません。上位の層のメニュー項目のアクセスキーを入力する場合は，カーソル移動キーで対象の階層の表示に戻してから入力してください。また，最下位のメニュー項目を選択する場合，マウス操作やカーソル移動キーの操作で最終的に選択するメニュー項目を表示させて選択するか，手動ポップアップであれば，最終的にAPに渡される通知コードを，直接，テキストボックスへ入力して選択してください。

(b)　メニューの表示（標準メニューの場合）

ポップアップメニューファイルを使用する場合，メニュー表示の形式を選択できます。メニュー形式で「標準（メニュー）」を指定すると，ポップアップメニューファイルに格納されているメニュー項目が階層構造の場合は，下位のメニュー項目がカスケードメニューで表示されます。

表示形式

メニュー項目の選択
標準表示のメニュー項目は，マウス操作でもキー操作でも選択できます。

マウスでの操作
マウス操作でメニュー項目を選択する場合，ドラッグするだけでは，下位階層のカスケードメニューは表示されません。必ず，インジケータが付いているメニュー項目をクリックしてください。

キーでの操作
フォーカスの移動：上下のカーソルキー。
下位階層のカスケードメニューの表示：インジケータが付いているメニュー項目にフォーカスを位置づけ，［スペース］キーまたは［Enter］キーを押す。

キー操作の詳細については「4.　マウスとキー操作」を参照してください。

選択後のメニュー表示
標準表示では，メニュー項目を選択後，メニューを閉じるかどうかを選択できます。

アクセスキーの使用
アクセスキーを入力する場合は，必ずメニューを表示してください。入力したアクセスキーに該当するメニュー項目にインジケータが付いている場合は，下位階層のカスケードメニューが表示され，アクセスキーに対応するメニュー項目にフォーカスが位置づきます。

通知コードの使用
通知コードをAPから指定したり，メニューが表示されていない状態で，入出力テキストボックスに通知コードを入力すると，指定された通知コードに対応するラベルが選択状態になります。このとき，APに制御が渡されると，指定された通知コードをAPが受け取ります。

(c)　メニューの表示（リストの場合）

ポップアップメニューファイルを使用する場合，メニュー表示の形式を選択できます。メニュー形式で「リスト－ポップアップ型」または「リスト－ダイアログ型」を指定すると，ポップアップメニューファイルに格納されているメニュー項目が階層構造の場合，下位のメニュー項目は下位レベルのリストとして表示されます。メニュー形式で「リスト－ポップアップ型」を指定すると，メニューをポップアップ型で表示できます。「リスト－ダイアログ型」で指定すると，メニューをダイアログ型で表示できます。

表示形式

ポップアップ型とダイアログ型の違い
ポップアップ型とダイアログ型の違いを示します。
ポップアップ型

ポップアップ型は，階層構造のメニュー項目を第1～第8レベルのリストで表示します。

ポップアップ型では，下位項目を持たないメニュー項目にフォーカスが位置づいたとき，メニュー項目が選択されたとみなされます。

ポップアップ型では，メニュー項目を選択後，メニューを閉じるかどうかを選択できます。

ポップアップ型が表示されても，実行画面は不活性になりません。

ポップアップ型で表示しているメニューは，単体では移動できません。

使用目的で「POP（手動）」が指定されている場合，メニュー項目が選択されて，実行画面のテキストボックスにデータが入力されるときに，メニューは閉じられます。「POP（自動）」が指定されている場合は，メニューは閉じられません。

ポップアップ型で表示しているメニューには，タイトルを付けません。

ダイアログ型

ダイアログ型は，階層構造のメニュー項目を第1～第8レベルのリストで表示し，［OK］ボタンと［キャンセル］ボタンを付けます。

ダイアログ型では，［OK］ボタンをクリックしたときにフォーカスが位置づいていたメニュー項目が，選択されたメニュー項目とみなされます。このとき，選択されたメニュー項目は下位項目を持たないメニュー項目でなければなりません。下位項目を持っているメニュー項目を選んで［OK］ボタンをクリックすると，エラーになります。

ダイアログ型では［OK］ボタンをクリックすると，選んだメニュー項目を確定し，メニューを閉じます。

ダイアログ型が表示されると，実行画面は不活性になります。

ダイアログ型で表示している場合，メニューだけの移動ができます。

ダイアログ型で表示しているメニューには，タイトルが必ず付けられます。

メニュー項目の選択
リスト表示のメニュー項目は，マウス操作でもキー操作でも選択できます。

キーでの操作
同レベル内のフォーカスの移動：上下のカーソルキーを押す。
メニュー項目の選択：［スペース］キーまたは［Enter］キーを押す※。
第2～第8レベルのリストの表示：インジケータが付いているメニュー項目にフォーカスを位置づけ［スペース］キーまたは［Enter］キーを押す※。
メニュー内でのフォーカス移動：［Tab］キーを押す※。
第1レベルにフォーカスを戻す：［Home］キーを押す。

なお，［キャンセル］ボタンにフォーカスが位置づいているときに［Tab］キーを押すと，メニューは閉じられます。
キー操作の詳細については「4.　マウスとキー操作」を参照してください。

注※

ダイアログ型で表示している場合，フォーカスはプッシュボタンにも位置づきます。

アクセスキーの使用
アクセスキーを入力すると，対応するメニュー項目が選択状態になります。対応するメニュー項目にインジケータが付いている場合は，第2～第8レベルのリストが表示され，アクセスキーに対応するメニュー項目にフォーカスが位置づきます。

通知コードの使用
通知コードをAPから指定したり，メニューが表示されていない状態で，入出力テキストボックスに通知コードを入力すると，指定された通知コードに対応するラベルが選択状態になります。このとき，APに制御が渡されると，指定された通知コードをAPが受け取ります。

メニュー項目数の動的変更
リスト表示をしているポップアップメニューでは，メニュー項目数の動的変更はできません。

2.4.11　スピンボックス

スピンボックスでは，ボックスに表示されている数値データを，ボックスの右端にあるアップダウンボタンで増減させて指定します。データを増減するときの値（増分値）はドロー定義時に設定します。APからは変更できません。

なお，スピンボックスの最小値と最大値の差分は，増分値の倍数になるようドローで定義してください。最大値に，最小値と最大値の差分が増分値の倍数にならない値を指定した場合には，増加の最終値は最大値になります。また減少操作での最終値は最小値となります。また，最大値後に減少操作をした場合の値は，増加操作時の変位と異なる変位を取ることになります。

（例）

最大値「13」，最小値「3」，増分値「4」の場合

この場合，最小値と最大値の差分は「10」となるので，増分値「4」の倍数にはなりません。このときのアップダウンボタンでの値の動きを次に示します。

初期値が「3」の状態で値を増加させると，増分値が「4」のため，「7」「11」「15」の順に値が増加します。ただし，この場合，最大値に「13」を指定しているため，値は「7」「11」「13」の順に増加し，最終値は「13」になります。

最終値「13」の状態からアップダウンボタンで値を減少させると，「9」「5」「3」の順に値が減少していきます。
このように，最小値と最大値の差分が増分値の倍数にならない場合，減少操作をすると，増加したときと異なる変位を取ります。

＜この項の構成＞

(1)　表示形式

(2)　スピンボックスの例

(3)　出力時のAPインタフェース

(4)　入力時のAPインタフェース

(5)　表示属性の動的変更

(1)　表示形式

(2)　スピンボックスの例

(a)　増分値について

最小値を「1」，最大値を「100」とし，増分値を「2」，APからの表示データを「50」で設定した場合。

注

増分値には数字だけ指定できます。

(b)　スピンボックスとAPの関係について

スピンボックスとAPの関係を示します。

(3)　出力時のAPインタフェース

APから，論理マップに初期値を設定します。

(4)　入力時のAPインタフェース

最終的に表示された値が，APに渡ります。

(5)　表示属性の動的変更

スピンボックスの表示属性をAP実行時に変更できます。表示属性の動的変更については「1.5.6　表示属性の動的変更」を参照してください。

2.4.12　リストボックス

画面表示しているリストの中から選択させるときに使用します。表示するデータ量や選択肢の数が多いときに使用することをお勧めします。例えば，マスタファイル検索結果としての複数のデータの中からデータを選択させる場合などに適しています。表示する範囲が限られていても，スクロールバー※を付けて定義した表示範囲よりも大きなリスト項目を表示できます。

リストボックスには，表示データから一つのリスト項目だけ選択できる「単一選択リストボックス」と，複数のリスト項目を選択できる「複数選択リストボックス」があります。単一選択リストボックスでリスト項目を選択する場合，フォーカスが位置づいたリスト項目を自動的に選択する方法と，フォーカスに関係なくキー操作やマウス操作などでリスト項目を選択する方法があります。どちらの方法でリスト項目を選択するかは，表示・印刷セットアップで設定します。詳細は，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

リストボックスの表示属性の標準値は文字色が「黒」，「ボックス枠を付ける」，「垂直スクロールバーを付ける」です。リストボックスの表示属性の詳細については，「付録A　属性情報一覧」を参照してください。

注※

フォーカスが位置づいていない状態でリストボックスのスクロールバーをマウスでスクロールしても，リストボックスにフォーカスは移動しません。リストボックスにフォーカスを位置づけたい場合は，［Tab］キーを押すか，リスト項目をマウスでクリックしてください。

＜この項の構成＞

(1)　表示形式

(2)　使用目的

(3)　入出力時のAPインタフェース

(4)　表示属性の動的変更

(5)　リスト項目数の動的変更

(1)　表示形式

(2)　使用目的

使用目的によって，入力データをチェックできます。ただし，ラベルのデータ型は，使用目的の指定と連動しません。ラベルのデータ型の「文字（XX）」は「日本語」の属性になります。使用目的と入力データの関係については，「付録A.9　表示属性の解説」の表A-8を参照してください。

(3)　入出力時のAPインタフェース

リストボックスに表示するリスト項目のラベルと通知コードはAPで指定します。リストボックスからリスト項目を選択したあとで画面が確定すると，選んだリスト項目のラベルに対応した通知コードを入力論理マップに格納します。

(4)　表示属性の動的変更

リストボックスの表示属性をAP実行時に変更できます。表示属性の動的変更については「1.5.6　表示属性の動的変更」を参照してください。

(5)　リスト項目数の動的変更

リストボックスのダイアログでは，使用するリスト項目数の最大値を指定しておきます。しかし実際の表示では，リスト項目数が可変になる場合があります。上から順に項目のデータを代入し，残った項目のラベルに半角の空白（スペースコード）を代入すると，空白を代入したメニュー項目は表示されません。なお，途中の項目を詰めて表示することはできません。途中のリスト項目の空白はデータとみなされます。リスト項目数の動的変更の詳細については「6.2.32　コンボボックスの項目数の動的変更」を参照してください。なお，コンボボックスはリストボックスに置き換えてお読みください。

2.4.13　ラジオボタンボックス

入力データを，画面表示している候補（ラジオボタンボックス）をオン状態にして指定します。ラジオボタンでは，ラジオボタンボックスの中からボタンを一つだけ選択できます。

ラジオボタンボックスでラジオボタンを選択する場合，フォーカスが位置づいたラジオボタンを自動的に選択する方法と，フォーカスに関係なくキー操作やマウス操作などでラジオボタンを選択する方法があります。どちらの方法でラジオボタンを選択するかは，表示・印刷セットアップで設定します。詳細は，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

ラジオボタンボックスには，ボタンラベルをドローで定義する「固定ラジオボタン」と，APから指定する「可変ラジオボタン」があります。ラジオボタンは，表示データ量や選択肢の数が少ないときに使用します。また，「YES」か「NO」の選択などの単純な選択をするのに適しています。

なお，ラジオボタンボックスの表示属性の詳細については，「付録A　属性情報一覧」を参照してください。

＜この項の構成＞

(1)　表示形式

(2)　使用目的

(3)　入出力時のAPインタフェース

(4)　表示属性の動的変更

(1)　表示形式

注1

ラベルのないボタンも作成できます。

注2

ボタンの並びは，ラジオボタンボックスで「ボタンを横に並べる」を指定したときは左から右へ，指定していないときは上から下へとなります。

(2)　使用目的

使用目的によって，入力データをチェックできます。ただし，ラベル（可変）のデータ型は，使用目的の指定と連動しません。ラベルのデータ型の「文字（XX）」は「日本語」の属性になります。使用目的と入力データの関係については，「付録A.9　表示属性の解説」の表A-8を参照してください。

(3)　入出力時のAPインタフェース

ラジオボタンには，固定ラジオボタンと可変ラジオボタンがあります。固定ラジオボタンはラベル，およびラベルに対応する通知コードを画面定義時に指定します。可変ラジオボタンはラベル，およびラベルに対応する通知コードをAPで指定します。

ラジオボタンボックスからボタンを選択したあとで画面を送信すると，ボタンに対応する通知コードがAPの入力論理マップに格納されます。

(4)　表示属性の動的変更

ラジオボタンの活性／不活性や表示属性をAP実行時に変更できます。表示属性の動的変更については「1.5.6　表示属性の動的変更」を参照してください。

2.4.14　チェックボタンボックス

入力データを，画面表示している候補（チェックボタンボックス）をオン状態にして指定します。チェックボタンでは，チェックボタンボックスの中からボタンを複数選択できます。

チェックボタンには，ボタンラベルをドローで定義する「固定チェックボタン」と，APから指定する「可変チェックボタン」があります。

チェックボタンは，表示データ量や選択肢の数が少ないときに使用します。また，ボタンを選択しなくてもエラーにならないため，オプション的な選択をするのに適しています。チェックボタンでは，表示データ量は漢字で最大32文字，選択肢の数は64個までですが，表示データ量が漢字で10文字程度，選択肢の数が10個程度のときに使用することをお勧めします。

チェックボタンの表示属性の標準値は文字色が「黒」です。なお，チェックボタンボックスの表示属性の詳細については，「付録A　属性情報一覧」を参照してください。

＜この項の構成＞

(1)　表示形式

(2)　使用目的

(3)　入出力時のAPインタフェース

(4)　表示属性の動的変更

(1)　表示形式

注1

ラベルのないボタンも作成できます。

注2

ボタンの並びは，チェックボタンボックスで「ボタンを横に並べる」を指定したときは左から右へ，指定していないときは上から下へとなります。

(2)　使用目的

使用目的によって，入力データをチェックできます。ただし，ラベルのデータ型は，使用目的の指定と連動しません。ラベルのデータ型の「文字（XX）」は「日本語」の属性になります。使用目的と入力データの関係については，「付録A.9　表示属性の解説」の表A-8を参照してください。

(3)　入出力時のAPインタフェース

チェックボタンには，固定チェックボタンと可変チェックボタンがあります。固定チェックボタンはラベル，およびラベルに対応する通知コードを画面定義時に指定します。可変チェックボタンはラベル，およびラベルに対応する通知コードをAPで指定します。

チェックボタンボックスからボタンを選択したあとで画面を送信すると，ボタンに対応する通知コードが入力論理マップに格納されます。

(4)　表示属性の動的変更

チェックボタンの活性／不活性や表示属性をAP実行時に変更できます。表示属性の動的変更については「1.5.6　表示属性の動的変更」を参照してください。

2.4.15　トグルフィールド

表の各行の末尾にフィールドを付け，「確認」や「了解」「承認」などの印を付けます。また，「オン／オフ」での選択ができます。「オン／オフ」は「[図データ]」，「YES／NO」および「○／×」で表されます。オン状態の印が付けられたデータは，入力データとしてAPに渡されます。

なお，インストール直後にトグルフィールドが正しく表示されない場合，表示に必要なフォントがOSに認識されていない可能性があります。OSを再起動してください。

＜この項の構成＞

(1)　表示形式

(2)　使用目的

(3)　入力時のAPインタフェース

(4)　表示属性の動的変更

(1)　表示形式

トグル種別 | チェック | ○／× | Y／N
オン | [図データ]　 | ○ | Y
オフ | [図データ]　 | × | N

注

サイズは文字と同じです。全角1文字に相当します。

(2)　使用目的

使用目的によって，入力データをチェックできます。使用目的と入力データの関係については，「付録A.9　表示属性の解説」の表A-8を参照してください。

(3)　入力時のAPインタフェース

オン状態のとき，通知コードがAPに返ります。

(4)　表示属性の動的変更

トグルフィールドの表示属性をAP実行時に変更できます。表示属性の動的変更については「1.5.6　表示属性の動的変更」を参照してください。

2.4.16　グループボックス

画面上のオブジェクト（セパレータを除く）を囲んでグループ化するオブジェクトです。必要に応じて，グループボックス単位にフォーカス遷移の順序を設定できます。

＜この項の構成＞

(1)　表示形式

(2)　フォーカス順序

(3)　タイトルの設定

(1)　表示形式

グループボックスには，ボックス枠やタイトルの有無，および背景色を指定できます。また，タイトルを付けた場合，タイトルの文字色も指定できます。

(2)　フォーカス順序

(a)　グループボックスを使用した場合と使用しない場合

グループボックスを使用した場合と使用していない場合のフォーカスの移動順序を次の図に示します。

図2-3　グループボックスを使用した場合と使用していない場合のフォーカスの移動順序

(b)　フォーカス順序を設定した場合

複数の入力オブジェクトをグループ化すると，グループボックス間のフォーカスの移動順序を設定できます。フォーカス順序の設定の詳細については，「2.4.26　フォーカスとカーソル」を参照してください。

(3)　タイトルの設定

グループボックスにタイトルを付けられます。どのような種類のオブジェクトがグループ化されているかがわかるようなタイトルを付けたり，目立つような色で表示したりすると，画面上での検索に役立ちます。タイトルはグループボックスダイアログで設定します。

2.4.17　フィールドボックス

多量のデータをまとめて入出力するためのボックスオブジェクトです。

次のような場合に適しています。

けい線を使って，表形式でオブジェクトを並べる

CUI画面を基本にして一部だけをGUI化（ファンクションキーによる選択部分だけのボタン化など）

文章データなど，複数行にわたる文字データの表示

なお，フィールドボックスの表示属性の詳細については，「付録A　属性情報一覧」を参照してください。

＜この項の構成＞

(1)　表示形式

(2)　フィールドボックスの属性

(3)　カーソル表示

(4)　フィールドボックス内の文字とけい線

(5)　APインタフェース

(6)　フィールドボックス内のオブジェクト

(1)　表示形式

注

フィールドボックスは1画面に4個まで配置できます。

(2)　フィールドボックスの属性

フィールドボックスでは次に示す表示属性などが指定できます。詳細は「付録A　属性情報一覧」を参照してください。

ボックス枠の付加

スクロールバーの付加

表示データ（プレーン）がボックスサイズより大きい場合，スクロール※することで全体を表示できます。

注※

フォーカスが位置づいていない状態でフィールドボックスのスクロールバーをマウスでスクロールしても，フィールドボックスにフォーカスは移動しません。フィールドボックスにフォーカスを位置づけたい場合は，［Tab］キーを押すか，表示データ（プレーン）の領域をマウスでクリックしてください。

入力可能なオブジェクトがフィールドボックス内に存在しない場合でも，キー操作でフィールドボックスをスクロールするため，フィールドボックスにフォーカスを移動できます。

スクロール禁止領域
常にデータを表示しておくための，スクロールしない領域を指定できます。
フィールドボックスは，表示属性の標準値として背景色が透明，けい線，カーソル，およびアンダードットの色が黒で設定されています。
フィールドボックスでは，表示属性としてけい線やスクロール禁止領域の表示色などが指定できます。詳細については，「付録A　属性情報一覧」を参照してください。

初期フォーカスを本ボックスに設定する

(3)　カーソル表示

入力可能なオブジェクト※がフィールドボックス内に定義されている場合，そのオブジェクトすべてに標準属性または動的変更によって入力不可が指定され，フィールドボックス内に入力できるオブジェクトが一つもないときでも，フォーカスが位置づくとカーソルは表示されます。入力可能なオブジェクト※がフィールドボックス内に定義されていない場合，カーソルは表示されません。

注※

入力可能なオブジェクトとは，入出力フィールド，入出力日付フィールド／入出力時刻フィールド，ポップアップフィールド，トグルフィールドを指します。

(4)　フィールドボックス内の文字とけい線

文字のサイズ，書体，強調およびけい線の色はフィールドボックス単位で指定できます。文字の色やけい線の種別は，オブジェクトごとに指定できます。文字拡大（サイズ）および強調の例を次に示します。

なお，フィールドを斜体で配置する場合は，右端に1ますの余白が必要です。また，フィールドボックス内で文字を斜体にすると最後の文字が正しく表示されないことがありますが，実際の表示には影響しません。

(5)　APインタフェース

フィールドボックス自体はAPとのインタフェースは持ちません。背景色などの表示属性はドローで定義します。

フィールドボックス内のオブジェクトのインタフェースについては，各オブジェクトの説明を参照してください。

(6)　フィールドボックス内のオブジェクト

フィールドボックスの中には次に示すオブジェクトを配置できます。

固定フィールド

出力フィールド

入出力フィールド

入出力日付フィールド／入出力時刻フィールド

出力日付フィールド／出力時刻フィールド

予約フィールド

ポップアップフィールド

トグルフィールド

塗りつぶしフィールド

けい線

フレーム

(a)　固定フィールド

固定フィールドは，画面上の表のタイトルや注釈などの変化しないテキストを配置するときに使用します。固定のテキストとして，漢字を含めた日本語，または半角の英数字を設定できます。

表示形式
表示されている文字に対し，文字サイズを指定できます。

主な機能

使用目的の指定
表示する文字に応じて，ドロー上で使用目的（日本語，英数）を選べます。

複数行にわたるサイズの配置
行を折り返して複数行にわたるサイズで配置できます。ただし，文字の拡大や反復定義との併用はできません。

(b)　出力フィールド

出力フィールドは，APで指定したデータを表示するときに使用します。キーボードやマウスを使用しての文字入力はできません。テキストの表示属性の標準値は文字色が「黒」，文字の拡大が「標準」です。指定できる表示属性の詳細については，「付録A　属性情報一覧」を参照してください。

表示形式
フィールドボックスのダイアログの基準文字サイズで，表示するデータの文字サイズを「大」「中」「小」から選べます。

主な機能

反復表示
一つのオブジェクトを縦または横方向に繰り返して定義できます。表形式で，同じ属性を並べるときなどに使用できます。反復を使用すると，同じ表示属性のオブジェクトを一つずつ配置するよりも効率良く定義できます。反復の操作は［Shift］キーを押しながらマウスをドラッグすることで，オブジェクトを縦方向に繰り返して定義できます。反復したオブジェクトのデータ項目は配列（COBOLの場合，OCCURS展開）となります。

使用目的の指定
表示する文字に応じて，使用目的（数字，英数，日本語）を選べます。

複数行にわたるサイズの配置
行を折り返して複数行にわたるサイズで配置できます。ただし，文字の拡大や反復定義との併用はできません。

出力データの編集
出力フィールドでは，埋字や桁寄せなどのデータの編集もできます。APがデータ有無コードを格納し，出力論理マップにセットした有効データの長さが出力フィールドデータ名の領域の長さより短い場合，出力フィールドデータ名の領域の余った部分を埋字に置き換えます。また，出力データを出力フィールドデータ名の領域の右側に格納するか，左側に格納するかは，桁寄せ向きに従います。

出力データ
出力フィールドに設定できるデータを次に示します。

数字
数字データ，数字編集データを表示できます。数字編集データは，指定したPICTURE句に従って表示されます（COBOLだけ有効）。
使用できるピクチャ文字：「＊」「＋」「－」「¥」「9」「，」「．」「Z」「／」の組み合わせで指定します。

日本語
全角，または全角と半角の混在文字データを表示できます。

英数
半角の文字データを表示できます。

実行時の属性変更のAPインタフェース
出力フィールドの表示属性をAP実行時に変更できます。表示属性の動的変更については「1.5.6　表示属性の動的変更」を参照してください。

(c)　入出力フィールド

入出力フィールドは，キーボードなどからデータを入力するとき，およびAPから渡されるデータを表示するときに使用します。入出力するデータの意味に応じて，種類（使用目的，詳細目的）を選びます。

初期表示値（出力データ）を表示し，書き換えが必要な場合だけ入力するような使い方ができます。

テキストの表示属性の標準値は文字色が「黒」です。指定できる表示属性の詳細については，「付録A　属性情報一覧」を参照してください。

なお，入出力フィールドの詳細については「2.4.4　入出力テキストボックス」を参照してください。「入出力テキストボックス」は「入出力フィールド」と置き換えてお読みください。ここでは，入出力テキストボックスと異なる点を示します。

表示形式
入出力テキストボックスと同じです。ただし，入出力フィールドの場合，アンダードットが付きます。枠は付きません。また，入力データの長さが，入力開始位置から行の最後までの長さを超える場合，入力しきれないデータを継続行として次行に入力できます。このとき，データの入力開始位置はフィールドのどこであってもかまいません。
入出力フィールドが複数行にわたる場合，復改キーでカーソルの改行動作が行われます。改行入力属性を指定している場合，改行位置に改行コードが付きます。改行入力属性を指定していない場合，改行コードは付きません。
改行入力属性を指定している場合，データの途中の改行コードは，画面表示，および画面入力時に改行コードとして入出力されます。
改行入力属性を指定していない場合，データの途中の改行コードは，画面表示，および画面入力時に不当な文字データとして入出力されます。
なお，改行入力属性を指定している場合に，改行位置からフィールドの末尾までにデータが入力されている，または埋字に「LOW（X'00'）」以外が指定されていると，改行コードが挿入されないことがあります。そのため，埋字に「LOW（X'00'）」と指定するか，表示後に文字データ以降をフィールドキーでクリアしてください。

（例1）

アンダードットの例

（例2）

複数行にわたるデータの例

反復表示
一つのオブジェクトを縦または横方向に繰り返して定義できます。表形式で，同じ属性を並べるときなどに使用できます。反復を使用すると，同じ表示属性のオブジェクトを一つずつ配置するよりも効率良く定義できます。反復の操作は［Shift］キーを押しながらマウスをドラッグすることで，オブジェクトを縦方向に繰り返して定義できます。反復したオブジェクトのデータ項目は配列（COBOLの場合，OCCURS展開）となります。

(d)　日付フィールドと時刻フィールド（入出力／出力）

日付フィールドと時刻フィールド（入出力）の詳細は「2.4.5　日付テキスト・フィールドと時刻テキスト・フィールド（入出力）」を参照してください。日付フィールドと時刻フィールド（出力）の詳細は「2.4.8　日付テキスト・フィールドと時刻テキスト・フィールド（出力）」を参照してください。

(e)　ポップアップフィールド

ポップアップフィールドは，決められた候補（メニュー項目）から一つを選択するときに使用します。メニュー項目に入力データの候補を表示することで，データの入力を補助します。入力するデータの内容が決まっている場合に使用することをお勧めします。なお，ポップアップフィールドの表示属性の詳細については「付録A　属性情報一覧」を参照してください。ポップアップフィールドの詳細については「2.4.10　ポップアップテキスト」を参照してください。その場合，「ポップアップテキスト」は「ポップアップフィールド」と置き換えてお読みください。ここでは，ポップアップテキストと異なる点を示します。

注

ポップアップフィールドでは，ポップアップメニューファイルは利用できません。

表示形式
ポップアップテキストと同じです。ただし，枠は付きません。また，キー入力できる手動ポップアップのときは，アンダードットが付きます。

（例）

反復表示
一つのオブジェクトを縦または横方向に繰り返して定義できます。表形式で，同じ属性を並べるときなどに使用できます。反復を使用すると，同じ表示属性のオブジェクトを一つずつ配置するよりも効率良く定義できます。反復の操作は［Shift］キーを押しながらマウスをドラッグすることで，オブジェクトを縦方向に繰り返して定義できます。反復したオブジェクトのデータ項目は配列（COBOLの場合，OCCURS展開）となります。

(f)　トグルフィールド

「YES／NO」などの印を付けるためのオブジェクトです。表の各行末に配置して，「オン／オフ」や「済／未」を表す場合などに使います。トグルフィールドの詳細は「2.4.15　トグルフィールド」を参照してください。

(g)　塗りつぶしフィールド

フィールドボックス内の領域に色を付けるオブジェクトです。ほかのオブジェクトを重ねて配置できます。1行おきに色のパターンを付けて行を見やすくする場合などに使います。塗りつぶしフィールドの詳細は「2.4.23　塗りつぶしフィールド」を参照してください。

(h)　けい線

配置した複数のオブジェクトを区切ったり，強調させたりするオブジェクトです。けい線の詳細については「2.4.21　けい線」を参照してください。

(i)　フレーム（横／縦繰り返し）

フレームで指定した領域内の先頭行または先頭列にオブジェクトを配置すると，配置したオブジェクトがフレームで指定した行数分または列数分，反復表示されます。入出力フィールドと出力フィールドを1行として反復表示することもできます。APでは，この1列および1行を集団項目として扱います。また，論理マップでは反復表示されたオブジェクトを配列として展開します。

表示形式
フレーム自体は表示されません。ドロー上では，オブジェクトをまとめる点線の枠で表示されます。

フレームに配置できるオブジェクト
GUIのフィールドボックスで設定するフレームに配置できるオブジェクトは次のとおりです。なお，フレームの1枠に範囲指定で選択した複数オブジェクトを移動・複写することはできません。コピーしてから貼り付けてください。

入出力フィールド

固定フィールド

出力フィールド

入出力日付・時刻フィールド，出力日付・時刻フィールド（デリミタ含む）

縦／横けい線

ポップアップフィールド

トグルフィールド

フレームの操作
フレームのハンドル（■）をドラッグしたり，行または列を選択して行の高さや幅を変更できます。

フレームの反復回数とサイズの変更
フレーム全体を選択し，表示されるハンドル（■）をドラッグします。

行の高さまたは列の幅の変更
フレームの先頭または最終以外の行（または列）をクリックし，行（または列）に表示されるハンドル（■）をドラッグします。フレーム内のすべての行の高さ（または列の幅）が変更されます。なお，拡大する場合は，あらかじめフレームの変更する方向の領域を空けておく必要があります。

フレームの繰り返し間隔の変更
フレームの先頭または最終以外の行（または列）をクリックし，選択した行（または列）をドラッグします。フレームの行（または列）が1行（または1列）おきに繰り返されます。

フレームへのオブジェクトの追加
1行目（または1列目）にオブジェクトを配置します。配置すると行（または列）方向にオブジェクトが繰り返されます。

フレーム内のオブジェクトの削除
1行目（または1列目）のオブジェクトを選択します。行（または列）のオブジェクトが選択状態になったら［削除］を選択します。

塗りつぶしのフィールド選択する
塗りつぶしとオブジェクトのフィールドが重なっている場合に，塗りつぶしを選択したいとき，［Shift］キーを押しながらクリックすると，塗りつぶしが選択できます。

APインタフェース
フレームは，APインタフェースは持ちません。フレーム内に配置された各オブジェクトのAPインタフェースは有効です。

2.4.18　固定グラフィック

GUI画面上に，固定グラフィックを貼り付けられます。固定グラフィックを使用するには，あらかじめWindows形式の固定グラフィックファイルを用意しておきます。グラフィックファイルのサイズやデータ形式については「付録D　画面定義の制限値」を参照してください。また，XMAP3が標準提供しているクリップアートを利用することもできます。

固定グラフィックには，レイアウト領域に配置したあと，ボックスサイズを基準にしてサイズを変更できる表示方法と，レイアウト領域に配置したままのサイズで固定する表示方法があります。XMAP3の表示領域は行列単位でサイズを指定するのに対し，固定グラフィックはドット単位でサイズを変更する上，ディスプレイの画面解像度によって行列当たりのドット数が異なるため，表示の際に何を優先するかで使い分けてください。

＜この項の構成＞

(1)　固定グラフィックをボックスサイズに合わせて表示する

(2)　読み込んだままの固定グラフィックを表示する

(3)　固定グラフィックの大きさとカラーの扱い

(1)　固定グラフィックをボックスサイズに合わせて表示する

異なる画面解像度のディスプレイ上で，画面上の固定グラフィックサイズを同じにしたい場合に使用します。固定グラフィックダイアログで「ボックスサイズに合わせて表示する」を指定しておくと，固定グラフィックをレイアウト領域に配置したあとで， 指定した領域サイズに合わせて固定グラフィックを拡大・縮小できます。ただし，この場合，読み込んだファイル中の固定グラフィックに比べて表示が不鮮明になることがあります。どのディスプレイ上でも，見た目にあまり差がないような固定グラフィックを表示するためには，領域サイズを次のように決めることをお勧めします。

画面の定義前に，異なる画面解像度のディスプレイ上で，どちらの解像度でも固定グラフィックが鮮明に読み込める領域サイズを決める。

いちばん使用頻度の多い画面解像度のディスプレイに合わせて領域サイズを決める。

サイズが小さい画像（ビットマップおよびJPEG）を大きい領域に表示すると，正常に表示されないことがあります。この場合，画像自体のサイズを大きくするか，表示領域のサイズを小さくしてください。

(2)　読み込んだままの固定グラフィックを表示する

固定グラフィックを，読み込んだファイルと同じくらい鮮明に表示したい場合は，固定グラフィックダイアログで「ボックスサイズに合わせて表示する」を指定しません。この場合，固定グラフィックのサイズをレイアウト領域上で変更できないので，表示領域が読み込んだ固定グラフィックファイルよりも小さい場合，はみ出した部分はカットされます。

大きいサイズの固定グラフィックを鮮明に表示するためには，640×480ドットの画面解像度のディスプレイをベースに領域サイズを決めることをお勧めします。

(3)　固定グラフィックの大きさとカラーの扱い

画面上に配置する固定グラフィックのサイズと，カラーの扱いについては，「付録D　画面定義の制限値」を参照してください。

2.4.19　出力グラフィック

描画ソフトであらかじめ作成しておいたグラフィックファイルを，ファイルやクリップボードを経由してAPが実行時に表示する機能です。 グラフィックデータを画面に表示する命令は，AP側で指定します。XMAP3ではグラフィックデータを受け渡す領域を定義します。 APから表示の命令が来ると，XMAP3は「グラフィックデータの渡し方」に定義したファイル名，または取り込み元がクリップボードである指示を基にしてグラフィックデータを取り込み，画面上に表示します。なおグラフィックファイルのサイズやデータ形式については「付録D　画面定義の制限値」を参照してください。

＜この項の構成＞

(1)　表示処理

(2)　出力時のAPインタフェース

(3)　実行時の注意事項

(1)　表示処理

グラフィックデータ出力の仕組みを次の図に示します。

図2-4　グラフィックデータの出力

(2)　出力時のAPインタフェース

イメージデータを表示する場合
イメージデータをスキャナやイメージOCRなどから入力し，ファイルに格納しておきます。APからこのファイル名を論理マップに代入し，SEND要求をすると，XMAP3実行支援が指定されたファイルからデータを入力して表示します。APから直接イメージデータを論理マップに代入することはできません。グラフィックデータを格納しておくフォルダは実行支援の動作をしているPCの「グラフィックフォルダ（ディレクトリ）」です。グラフィックパスは表示・印刷セットアップで設定します。

グラフを表示する場合
描画ソフトを使用してグラフを作成し，グラフィックデータとしてファイルまたはクリップボードに格納します。日立COBOLで提供するOLE2オートメーションインタフェース機能を使用することでExcelなどのグラフ作成ツールを呼び出せます。APからこのファイル名を論理マップに代入し，SEND要求をすると，XMAP3実行支援が指定されたファイルからデータを入力して表示します。APから直接イメージデータを論理マップに代入することはできません。グラフィックデータを格納しておくフォルダは実行支援の動作をしているPCの「グラフィックフォルダ（ディレクトリ）」です。グラフィックパスは表示・印刷セットアップで設定します。

(3)　実行時の注意事項

グラフの変更による再表示
グラフを変更して再表示するには，再度グラフ表示アプリケーションを操作して，グラフデータを作成します。OLE2処理を終了している場合，APの開始から始める必要があります。ただし，OLE2処理はほかのAPを起動する処理などを行うため，処理が遅くなることが考えられます。表示したグラフを変更することが考えられる場合，グラフ作成ごとにグラフ表示アプリケーションの開始や終了をするのではなく，表示アプリケーションを起動しておくなどの配慮が必要です。

グラフィックファイルのフォーマット
XMAP3が扱えるグラフィックファイルフォーマットは，ファイル出力の場合はファイル拡張子，クリップボード出力の場合はクリップボード格納形式で判断します。

グラフィックファイルのサイズ
グラフィックデータのサイズの制限値は表示処理に必要なWindowsリソース（使用できるメモリ量など）に制限される以外はありません。ただし，サイズが大きくなると，データ読み込みや展開などの表示処理に時間が掛かるため，100KB以内にしておくことをお勧めします。
なお，サイズが小さい画像（ビットマップおよびJPEG）を大きい領域に表示すると，正常に表示されないことがあります。この場合，画像自体のサイズを大きくするか，表示領域のサイズを小さくしてください。

ウィンドウのサイズ／大きさの制限

1ウィンドウ中の領域の数，または大きさの制限値はウィンドウサイズによる制限以外はありません。ただし，数やサイズが大きくなってくると，表示処理に要する時間も大きくなるため，できる限り1個にすることをお勧めします。

クリップボードはOSが用意するものを使用するため，グラフィックデータは1度に1種類だけの保存・表示になります。そのため，1ウィンドウの中に，複数グラフィックデータを表示する場合は，ファイルからの読み込みを併用することになります。

グラフィックファイルの格納場所は，表示・印刷セットアップで指定した特定のディレクトリ下1か所だけになります。ファイル数の制限値はOSの制限値になります。

グラフィックデータの表示はファイル，またはクリップボード内のデータをそのまま表示します。つまり，回転・縮小・拡大・減色などの操作は，ファイルなどに書き込むAPでオブジェクトのプロパティを操作するなどして，あらかじめ処理しておいてください。ただし，表示領域サイズがグラフィックデータサイズと異なる場合，領域サイズに合うようにグラフィックデータを拡大縮小する処理は，画面定義時のオプションとして指定できます。

グラフィックデータサイズが表示領域サイズより大きい場合，画面定義時のオプションで，領域サイズに合うようにグラフィックデータを拡大縮小しないで，スクロール表示できます。その際，リストボックスと同様，スクロールバーはグラフィックデータサイズと表示領域サイズの大小に関係なく常に表示されます。

グラフィックデータの表示

グラフィックデータ表示領域はキーボードからデータ入力されない領域のため，タブキーなどでフォーカスが位置づきません。そのため，スクロールバーの操作はマウスだけになります。

表示色数が少ないディスプレイ（256色）に対して，表示色が多いグラフィックデータを表示する場合は，OSが色の再割り当てをするため，意図した色が表示されない場合があります。グラフィックデータに使用する色数はできる限り16色以内に抑えた方が安全です。

グラフィックデータは一般的にデータ量が大きく，そのサイズや個数が多くなるにつれ，処理に要する時間も比例して大きくなります。表示に要する時間を短縮するためには，1画面に表示するグラフィックデータは1個にしたり，大きさを小さくしたりするなどして処理時間を軽減してください。

クリップボードの利用

クリップボードへの入出力は，ファイルへの入出力よりも短い時間で処理できます。表示するグラフィックデータは1個にして，クリップボード経由でXMAP3に引き渡すなどして処理時間を軽減してください。また，ファイルを使用する場合は，RAMディスクに割り当てると表示性能を確保できる場合があります。

クリップボードはシステムに一つだけです。そのため，クリップボードを使用する複数のプログラムを同時に動作させると，意図したもの以外のグラフィックが表示・印刷されることがあります。画面表示プログラムと帳票印刷プログラムを同時に実行したときも同じことが考えられますので，そのような運用をする場合には，ファイルからの読み込みで対処してください。

2.4.20　セパレータ

セパレータは縦方向，または横方向に1本の線を引きます。配置したオブジェクトの間を区切るときに使用します。なお，セパレータは，APとのインタフェースを持ちません。そのため，セパレータを追加，修正，または削除してもAPに影響はありません。また，セパレータはグループボックス中に引いたり，ボックスを通過して引いたりすることはできません。

＜この項の構成＞

(1)　セパレータの種類

(2)　セパレータの位置

(1)　セパレータの種類

セパレータの種類を次に示します。

(a)　凹型

立体的な影が付いて，周りよりも一段低くなっているような線が引けます。3D画面で表示できます。2D画面では立体的に表示しないで，平面的な実線として表示します。

(b)　凸型

立体的な影が付いて，周りよりも一段高くなっているような線が引けます。3D画面で表示できます。2D画面では立体的に表示しないで，平面的な実線として表示します。

(c)　実線／点線／破線

3D画面および2D画面で表示できます。

(2)　セパレータの位置

セパレータの位置は縦線の場合はますの「右／中央／左」，横線の場合は「上／中央／下」から選べます。これらは縦（または横）セパレータダイアログで設定します。また，横方向のセパレータの開始位置，および終了位置と同じ領域には，テキストやボタンを配置できます。

(a)　線の位置

2.4.21　けい線

けい線は縦方向，または横方向に1本の線を引きます。配置した複数のオブジェクトの間を区切るときに使用します。

なお，けい線は，APとのインタフェースを持ちません。そのため，けい線を追加，修正，または削除してもAPに影響はありません。また，けい線はフィールドを通過して引いたりすることはできません。

＜この項の構成＞

(1)　けい線の線種

(2)　線の位置

(3)　矩形および表けい線

(1)　けい線の線種

けい線の線種を次に示します。

実線／点線／破線／二重線

それぞれに線の太さが選べます。線の太さは「中／太／極太」から選べます。線の種類，太さおよび線の位置はけい線ダイアログで設定します。なお，二重線の場合，線の太さは選べません。

(2)　線の位置

GUI画面のフィールドボックス内の縦けい線は，列の「右／中央／左」，横けい線は行の「上／中央／下」に引けます。

図2-5　けい線の位置

(3)　矩形および表けい線

けい線はオブジェクトを区切る以外にも次のように使用できます。なお，線の属性の設定（線種や位置など）はけい線の場合と同じです。

(a)　矩形

指定した範囲をけい線で囲むときに使用します。

矩形の位置

矩形の位置は「外枠／中央」から選べます。これらは矩形ダイアログで設定します。線種および線の太さはけい線と同じです。

外枠の場合は，矩形の内側に隣接したフィールドが配置できます。

図2-6　矩形の位置

(b)　表けい線の枠

表を作成するときに使用します。表に見出しを付けるか付けないかも指定できます。

(c)　表けい線の繰り返し

縦方向，または横方向に等間隔のけい線を引くときに使用します。横方向の繰り返しの間隔は「2行／1行／自動」から選べます。

また，けい線は縦けい線の位置が「中央」の場合に半角文字で1文字分のけい線情報用の領域を占有します。このため，けい線を画面上に配置する場合には，ほかの項目と重ならないようにします。

なお，けい線は複数行にわたるフィールドの途中の行には引けません。また，フィールドを通過して引くこともできません。

2.4.22　メッセージアイコン

ユーザに対して何らかの注意をする際に使用します。メッセージアイコンは，1画面に一つだけ配置できます。

基本的にメッセージアイコンは，メッセージと一緒に出力することをお勧めします。メッセージアイコンの種類を次の表に示します。アイコンの種類はドロー定義時に設定します。

なお，メッセージアイコンはAPとのインタフェースは持ちません。

表2-10　メッセージアイコンの種類

種類
内容

クエスチョン

ユーザに質問するメッセージと一緒に使用します。

ワーニング

ユーザに何らかの注意を喚起したいときに使用します。

インフォメーション

処理に関する情報を表示するときに使用します。

エラー

エラー時のメッセージと一緒に使用します。

2.4.23　塗りつぶしフィールド

フィールドボックス内に配置してあるオブジェクトに対して塗りつぶしの領域をかぶせて指定すると，オブジェクトの背景が塗りつぶされます。画面上に，部分的に背景色が異なる状態を作れます。フレームなどで反復表示されているオブジェクトを行ごとに色分けして見やすくする場合などに利用できます。

すべての背景を塗りつぶす場合は，反復されている領域すべてに対して塗りつぶしの領域をかぶせます。塗りつぶす色は，ドロー定義時に設定します。

＜この項の構成＞

(1)　表示形式

(1)　表示形式

2.4.24　プッシュボタンボックス（コマンドボタン）

プッシュボタンは，イベント（実行する処理）を候補（ボタン）の選択によって指定するオブジェクトです。ボタンを選択したときの動作として，「イベントをAPに通知」「二次ウィンドウを閉じる」「ボップアップメニューを表示」などを設定できます。PFキーの代わりとしても使用できます。また，プッシュボタンにはアクセスキーを指定できます。

ボタンのサイズは，画面の解像度に応じて指定できます。また，グラフィックデータ（.bmp）をボタンのラベルとして貼り付けられます※。ボタンのラベルはドローで定義し，AP実行時に変更できます。

なお，プッシュボタンボックスの表示属性の詳細については「付録A　属性情報一覧」を参照してください。

注※

ボタンのラベルとして貼り付けるグラフィックデータを複数，登録している場合，画面表示時にどのグラフィックデータが使用されるかはプッシュボタンのボタン高で決まります。プッシュボタンのボタン高に収まるサイズのグラフィックデータの中で，最大のものが使用されます。解像度ごとのボタン高の違いについては，「(3)　グラフィックをラベルとしてプッシュボタンに設定する」を参照してください。

＜この項の構成＞

(1)　表示形式

(2)　APインタフェース

(3)　グラフィックをラベルとしてプッシュボタンに設定する

(4)　フォーカスが遷移しないボタン（マウスでの選択だけ有効）

(5)　キーで選択するボタン

(6)　表示属性の動的変更

(1)　表示形式

(2)　APインタフェース

(a)　入力時のAPインタフェース

プッシュボタンが選択されるとイベントが発生します。APに通知するイベントの場合，APでは定義時に指定したイベント通知コードが入力論理マップに格納されます。

イベント通知コードとしては「送信」「スクリーン」「割込」「ファンクションキー（PF1～PF84）」「PA1～PA3」および「ボタンイベント（A061～A071）」が使用できます。

(b)　出力時のAPインタフェース

動的変更によって，ボタンの「活性／不活性」やラベルテキストを変更できます。

ユーザAPでラベルテキスト項目名に変更内容を指定した場合は，ドローのプッシュボタンダイアログで指定した「テキスト揃え」は適用されません。実行時には，ユーザAPで指定したボタンのラベルテキストは左寄せ固定となります。また，ユーザAPでラベルテキスト出力項目名に，ビットマップおよびビットマップファイル名を指定できません。

(3)　グラフィックをラベルとしてプッシュボタンに設定する

プッシュボタンダイアログの「ラベルの種類」から「ビットマップ」または「ビットマップとテキスト」の組み合わせを選択し，ビットマップの［設定］ボタンをクリックすると，プッシュボタンのラベルとして固定グラフィックや固定グラフィックとテキストの組み合わせを表示できます。使用する固定グラフィックは，あらかじめユーザが用意しておきます。なお，グラフィックのサイズが大きい場合や，テキストが長い場合には，グラフィックとテキストが重なり合うことがありますので，必要に応じてボタンのサイズを大きくしてください。

なお，プッシュボタンに表示するグラフィックは，画面の解像度に応じて交代で表示できます。最もよく使用する解像度のグラフィックを「標準用」として指定し，必要に応じて「交代用」を指定します。

次に示す表は，XMAP3が提供する標準の文字サイズに対する値です。

表2-11　640×480または800×600の解像度（2D）

文字 | ボタン高
4.5 | 3.5 | 2.5 | 2
大 | 48×48 | 36×36 | 24×24 | 22×22
標準 | 32×32 | 24×24 | 16×16 | 14×14
小 | 24×24 | 18×18 | 12×12 | 10×10

表2-12　640×480または800×600の解像度（3D）

文字 | ボタン高
4.5 | 3.5 | 2.5 | 2
大 | 44×44 | 32×32 | 22×22 | 20×20
標準 | 28×28 | 20×20 | 14×14 | 12×12
小 | 24×24 | 18×18 | 12×12 | 10×10

表2-13　1,024×768または1,280×1,024の解像度（2D）

文字 | ボタン高
4.5 | 3.5 | 2.5 | 2
大 | 64×64 | 48×48 | 32×32 | 30×30
標準 | 48×48 | 36×36 | 24×24 | 22×22
小 | 32×32 | 24×24 | 16×16 | 14×14

表2-14　1,024×768または1,280×1,024の解像度（3D）

文字 | ボタン高
4.5 | 3.5 | 2.5 | 2
大 | 44×44 | 32×32 | 22×22 | 20×20
標準 | 28×28 | 20×20 | 14×14 | 12×12
小 | 24×24 | 18×18 | 12×12 | 10×10

(4)　フォーカスが遷移しないボタン（マウスでの選択だけ有効）

フォーカス遷移で選択できないようにボタンを設定します。誤入力などを防ぐのに有効です。プッシュボタンボックスダイアログの「フォーカス遷移の対象としない」を指定すると，そのボタンボックス中のプッシュボタンへは，フォーカスが遷移しなくなります。

(5)　キーで選択するボタン

マウスだけでなく，文字キーでもプッシュボタンを選択できるように設定します。プッシュボタンダイアログの「アクセスキーを使用する」を指定すると，アクセスキーが対応するキーを選択することで，プッシュボタンを押せます。このアクセスキーに「0～9」の数字キーを指定すると，テンキーでも操作できるようになります。

なお，アクセスキーが有効なのは，フォーカスがプッシュボタンボックスに位置づいているときです。

(6)　表示属性の動的変更

プッシュボタンの活性／不活性や表示属性を実行時に変更できます。表示属性の動的変更については「1.5.6　表示属性の動的変更」を参照してください。

(a)　ラベルテキストを動的変更するときの注意

●テキスト揃え

ラベルテキストを動的変更する場合，ラベルテキストの中央寄せなどの桁揃えは，論理項目の設定値で調整します。

●プッシュボタンのサイズ変更

プッシュボタンのサイズを変更した場合，変更した値がすべてのプッシュボタンのボタンサイズ，およびラベルテキストの論理項目の桁に設定されます。このため，「APからテキストを変更する」を指定しているボタンが含まれるプッシュボタンボックスで，ボタンのサイズを変更したときは，APを再コンパイルしてください。

●テキストのデータ長の変更

ターゲットによって，データ長をユーザ任意の値に設定できるようになります。「テキストのデータ長を変更する」を指定した場合，ラベルテキストの論理項目の桁が固定になります。このため，同じボックス内のすべてのボタンで，ボタンサイズの変更，およびラベルテキストの論理項目の桁の変更ができなくなります。ターゲットとデータ長の関係については，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

●プッシュボタンの貼り付け

「APからテキストを変更する」を指定しているプッシュボタンを貼り付ける場合，貼付け先のプッシュボタンボックスのボタン長に合わせて桁が変更されます。テキストのデータ長の変更は解除されます。

2.4.25　MCR

MCRのオブジェクトは入出力テキスト・フィールドダイアログで，使用目的の「MCR」を選んで指定します。通常，MCRカードデータを読み込ませた直後に画面が送信されるため，1画面に対しMCRオブジェクトを一つだけ指定するようにしてください。

入出力テキスト・フィールドダイアログで，使用目的に「MCR」以外を指定した項目にもMCRから入力できます。キーボードで入力した場合と同様の動作となります。

MCRは，ターミナルサービス環境では使用できません。また，Windows XPのリモートデスクトップ環境でも使用できません。

＜この項の構成＞

(1)　MCRからの入力

(2)　IDコード無しの場合

(3)　IDコードが「＜」の場合

(4)　IDコードが「＞」の場合

(1)　MCRからの入力

MCRからの入力に使用するカードには，最大64バイトの文字を書き込めます。この文字列の先頭に，IDコードを付けておきます。XMAP3は「＜」または「＞」をIDコードとみなします。MCRで入力されたデータは，キーボードで入力したデータと同様にAPに格納されます。ただし，このとき「＜」および「＞」は削除されます。なお，MCRを使用するときは，表示・印刷セットアップの「接続機器」タブで「使用しない」チェックを外してください。標準ではチェックされています。

フィールドや入出力テキストボックスにカード入力する場合，IDコードの有無や違いによって，XMAP3の動作が異なります。IDコードの違いによるXMAP3の動作の違いを説明します。

(2)　IDコード無しの場合

MCRカードデータの先頭が「＜」または「＞」でない場合，つまりIDコードがない場合には，入出力テキスト・フィールドダイアログの使用目的に「MCR」以外を指定するようにしてください。このとき，XMAP3は通常のキーボード入力と同じように動作します。MCRカードデータが「TOKYO」だとすると，カーソル位置から「TOKYO」と表示します。プッシュボタン，送信（実行）キーまたはファンクションキーを押すと，画面が確定します。

入出力テキスト・フィールドダイアログの使用目的に「MCR」を指定した場合，画面上は入力データが表示されますが，入力論理マップに返されるフィールドデータは入力操作なしのマッピング規則に従います。

(3)　IDコードが「＜」の場合

MCRカードデータの先頭が「＜」の場合，入出力テキスト・フィールドダイアログの使用目的に「MCR」以外を指定するようにしてください。このとき，XMAP3は「＜」をIDコードとみなします。MCRカードデータが「<TOKYO」だとすると，XMAP3は「＜」に続くカードデータ「TOKYO」をカーソル位置から表示したあと，すぐに送信要求を発生させます。カードデータが「＜」だけの場合には，送信要求だけを発生させます。

入出力テキスト・フィールドダイアログの使用目的に「MCR」を指定した場合，画面上は入力データが表示されますが，入力論理マップに返されるフィールドデータは入力操作なしのマッピング規則に従います。

(4)　IDコードが「＞」の場合

MCRカードデータの先頭が「＞」の場合，入出力テキスト・フィールドダイアログの使用目的に「MCR」を指定するようにしてください。このとき，XMAP3は「＞」をIDコードとみなします。IDコードが「＞」のカードデータが入力されると，XMAP3はまずMCR入力フィールド全体をNULLクリアし，カーソル位置を先頭に戻します。このとき，そのMCR入力フィールドはMCR入力済み状態になります。

次に，XMAP3はMCR入力フィールドの2桁目からカードデータを入力し，入力後すぐに送信要求を発生させます。カードデータが「＞」だけの場合には，送信要求だけを発生させます。なお，IDコードが「＞」のカードデータを入力した場合，カーソル位置は移動しますが，カードデータの内容は画面に表示されません。MCRカードデータが「＞NEWYORK」だとすると，画面には何も表示されずにカーソル位置だけが10桁目に移動します。IDコードに続くカードデータがフィールド長を超えると，入力エラーになりますので，IDコードに続くカードデータよりも1バイト長くフィールド長を定義しておく必要があります。

入出力テキスト・フィールドダイアログの使用目的に「MCR」以外を指定した場合，入力できません。

データ入力時，使用目的がMCRの入出力テキスト・フィールドは，半角文字を入力できるフィールドで，桁あふれチェック，非表示の表示属性となります。
MCR入力済み状態になったMCR入出力テキスト・フィールドには，その後IDコードが「＞」のカードだけが入力できます。IDコードのないカードやIDコードが「＜」のカードで入力したり，キーボードから入力したりすると入力エラーになります。
MCR入力済み状態は，次の場合に解除されます。

MCR入力済み状態のフィールド，または入出力テキストボックスにカーソルが位置する場合で，フィールドキーを押したとき。
フィールド，または入出力テキストボックス全体がNULLクリアされ，カーソルはフィールド，または入出力テキストボックス先頭に位置づけられます。

データキーを押した場合。

画面表示時にMCR入力済み状態のフィールド，または入出力テキストボックスにデータが出力された場合。

画面表示時にMCR入力済み状態のフィールド，または入出力テキストボックスがNULLクリアされた場合。

IDコードの違いによるXMAP3の動作の違いを次の表に示します。

論理マップに返される項目データ，およびイベント通知コードの詳細については，「5.3.15　MCR入力のマッピング規則」，および「5.3.4　イベント通知コード」を参照してください。

表2-15　IDコードの違いによるXMAP3の動作の違い（使用目的がMCRの場合）

IDコード | ＜ | ＞ | なし
文字JIS | (3C)₁₆ | (3E)₁₆ | －
フィールドおよびテキストボックスへの入力※¹ | IDコードに続くカードデータ（IDコードを除く）を文字キーと同様にカーソル位置から入力する。 | IDコードに続くカードデータ（IDコードを除く）をカーソルが位置するフィールド先頭の次の桁から入力する※²。 | カードデータの先頭から文字キーと同様にカーソル位置から入力する。
画面への表示 | 表示する。 | 表示しない。 | 表示する。
送信要求の発生のタイミング | カードを読み込ませた直後。 | カードを読み込ませた直後。 | 画面を確定させるキー（実行キー，ファンクションキーなど）を押したあと。
論理マップに返る項目データ | 入力操作なしとなり，カードデータは返らない。 | カードデータが返る。 | 入力操作なしとなり，カードデータは返らない。

（凡例）

－：該当しない。

注※1

入力禁止のフィールド，およびテキストボックスには入力できません。

注※2

IDコードに続くカードデータがフィールド長を超えると入力エラー（桁あふれ）になります。この場合，自動送信しないため，論理マップにカードデータは返りません。

表2-16　IDコードの違いによるXMAP3の動作の違い（使用目的がMCR以外の場合）

IDコード
＜
＞
なし

文字JIS
(3C)₁₆
(3E)₁₆
－

フィールドおよびテキストボックスへの入力※
IDコードに続くカードデータ（IDコードを除く）を文字キーと同様にカーソル位置から入力する。
入力できない
（ブザーが鳴る）。
カードデータの先頭から文字キーと同様にカーソル位置から入力する。

画面への表示
表示する。
表示しない。
表示する。

送信要求の発生のタイミング
カードを読み込ませた直後。
画面を確定させるキー（実行キー，ファンクションキーなど）を押したあと。
画面を確定させるキー（実行キー，ファンクションキーなど）を押したあと。

論理マップに返る項目データ
カードデータが返る。
入力操作なしとなり，カードデータは返らない。
カードデータが返る。

（凡例）

－：該当しない。

注※

入力禁止のフィールド，およびテキストボックスには入力できません。

2.4.26　フォーカスとカーソル

フォーカスまたはカーソルが位置づいているオブジェクトは，ユーザが操作できる状態になっています。オブジェクトに対する操作は，必ずマウス，またはキーボードでフォーカス・カーソルを位置づけたあとで行います。

フォーカスとは，オブジェクトに対して入力権があることを示す印です。キー制御は，この入力権のあるオブジェクトに対して行われます。カーソルは，フォーカスのあるオブジェクトがキーボードからデータ入力できる状態であるとき，その一文字に対し，入力権があることを示す印です。データの入力や削除は，カーソル位置が示す個所が対象となります。

＜この項の構成＞

(1)　表示形式と制御方法

(2)　初期フォーカス・カーソル

(3)　初期フォーカス・カーソルのAPからの設定

(4)　フォーカス・カーソルの移動順序

(5)　グループ間のフォーカス順設定

(6)　フォーカス設定の動的変更

(7)　カーソル制御項目とフィールドボックスの関連づけ

(1)　表示形式と制御方法

(a)　表示形式

(b)　制御方法

XMAP3では，フォーカス・カーソルを次のように制御します。これらの制御方法はドローセットアップで設定します。詳細についてはマニュアル「XMAP3 開発・実行ガイド」を参照してください。

フォーカスとカーソルを同時に制御する
フォーカスとカーソルを共通の項目を使用して制御します。フィールドボックスを定義した画面で，プッシュボタンボックスのフォーカス位置を制御する場合には，フォーカスとカーソルを別々に制御してください。

フォーカスとカーソルを別々に制御する
フォーカス位置とカーソル位置の情報を格納する項目が別々に生成されます。なお，フォーカスとカーソルを別々に制御する場合は，カーソルの種類を次の二つから選びます。

論理カーソル

カーソル位置をカーソル定数で制御する通常の制御方法です。カーソル定数はXMAP3が生成するため，画面のオブジェクトの位置を変更してもAPを変更する必要はありません。

行列（2進）カーソル

カーソル位置を2進数の行列位置で制御します。主にホスト系からの移行上で，行列での制御を特に必要とする場合に使用します。画面のフィールドの位置を変更した場合，APの設定値も合わせて変更する必要があります。

(2)　初期フォーカス・カーソル

各ダイアログのフォーカス・カーソル設定によって，画面を表示したとき，最初にフォーカス・カーソルを位置づけるオブジェクトを設定できます。

(3)　初期フォーカス・カーソルのAPからの設定

フォーカス定数またはカーソル定数という値を論理マップに代入すると，初期フォーカスを位置づけるオブジェクトをAPから設定できます。これらの値が設定されていないと，ドローで定義した初期フォーカス・カーソルの指定が採用されます。フォーカス定数およびカーソル定数については「5.5　定数部の論理マップ生成規則とマッピング規則」を参照してください。

(4)　フォーカス・カーソルの移動順序

タブキーを押したり，メニューを選択したりしたあと，フォーカス・カーソルが次の項目やフィールドに移動するときの順序です。標準では，画面の左上から右下に移動します。グループボックスで囲まれている複数のオブジェクトは，一つのオブジェクトとしてみなされます。

フォーカス対象外

プッシュボタンにフォーカスが遷移しないように設定できます。フォーカス対象外については「2.4.24(4)　フォーカスが遷移しないボタン（マウスでの選択だけ有効）」を参照してください。

(5)　グループ間のフォーカス順設定

グループボックスで囲まれたオブジェクトのフォーカス順序を設定できます。フォーカス順はAPから動的変更できません。入力単位が「フィールド」のときは，APからフォーカス・カーソルを設定するのでフォーカス順の設定は無効になります。

(a)　オブジェクトの遷移条件

オブジェクトの遷移条件を示します。オブジェクトの種類によって，指定できるものが異なります。

キーエントリ系オブジェクトの場合

手動スキップ・右寄せ
入力データが桁数に満たない場合，［Tab］キーで次の入力／選択できる領域にフォーカス・カーソルを移動すると，入力データが右寄せで表示されます。

手動スキップ・全桁必須
一文字でも入力した場合，桁数いっぱいに入力しなければ入力エラーになり，［Tab］キーでのフォーカス・カーソル移動ができなくなります。

手動スキップ
桁数いっぱいまで入力し，［Tab］キーを押すとフォーカス・カーソルが次の入力／選択できる領域に移動します。桁数を超えるデータを入力するとエラーになります。

自動スキップ
桁数いっぱいまで入力すると，フォーカス・カーソルが次の入力／選択できる領域に自動的に移動します。

選択エントリ系オブジェクトの場合

自動スキップ（選択したら次のボックス・ボタン・項目にフォーカスを移す）
ボックス内での選択操作が終わると，フォーカス対象の次のボックスへフォーカスが自動的に遷移します。複数選択できるオブジェクト（複数選択リストボックス，チェックボタンボックス）の場合は，末尾の候補が選択されるとフォーカスが遷移します。

(b)　フォーカス移動順序の設定

フォーカス順序の設定は，ドローのメニューバー「属性」の「フォーカス順序設定開始」で開始します。

フォーカス順序を設定するメニューを次に示します。

フォーカス順序設定解除

フォーカス順序設定開始

フォーカス順序設定終了

フォーカス順序設定取消

フォーカスを位置順に設定

フォーカスを途中から設定

上記のメニューを使用してフォーカス順序を設定します。次に，「フォーカス順序設定開始」を選択したときのレイアウト画面を次の図に示します。

図2-7　フォーカス順序設定開始の画面

フォーカス順序の対象となる条件
入力項目（入力操作が伴うオブジェクト）に対してフォーカスを位置づけることができます。オブジェクトにフォーカス順序を位置づけるためには，グループボックスで囲む必要があります。ただし，プッシュボタンボックスでフォーカス対象外に指定した場合は，フォーカス順序の対象外になります。
フォーカス順序を設定するときには，設定するすべてのオブジェクトがレイアウト領域上に表示されるようにする必要があります。表示されていない場合，レイアウト領域を広げるかズームで全体が見えるようにしてから設定してください。
また，同一グループ内に，プッシュボタン（フォーカス対象外）以外のフォーカス対象オブジェクトがある場合は，グループにはフォーカスが位置づきます。ただし，プッシュボタンボックスにはフォーカスは位置づきません。

標準のフォーカス順序
［フォーカス順序設定開始］メニューで決められるフォーカス順序は，次に示すように左から右，上から下の順になります。

［フォーカスを位置順に設定］を選んだ場合も，上記と同じフォーカス順序になります。

フォーカス位置の設定
各ボックスのフォーカス位置を任意の位置から任意の順番で設定する場合，マウスで設定順にクリックしていきます。

先頭位置以外からのフォーカス順序の設定
画面に定義したグループの任意の位置からのフォーカス順序を変更したい場合は，［フォーカスを途中から設定］メニューを使用します。［フォーカスを途中から設定］メニューを選ぶと何番目のオブジェクトから変更するかを問い合わせるフォーカススキップダイアログが表示されます。

フォーカス順序設定の解除
［フォーカス順序設定開始］メニューを使用して設定したフォーカス順序を，画面での配置順に戻す場合は，［属性］メニューの［フォーカス順序設定解除］を選びます。

(6)　フォーカス設定の動的変更

画面が表示されたときに，どのオブジェクトにフォーカスを位置づけるかをAPで指定できます。フォーカス設定の詳細については「6.2.39　初期フォーカスの動的変更」を参照してください。また動的変更については，「1.5.6　表示属性の動的変更」を参照してください。

(7)　カーソル制御項目とフィールドボックスの関連づけ

ドローセットアップで「フォーカスとカーソルを別々に制御する」と設定して作成した画面に，フィールドボックスを2個以上配置した場合，カーソル制御項目とフィールドボックスの関連づけを変更するには，ドローのメニューバー「属性」の「カーソル制御」を選択して，カーソル制御ダイアログを開きます。カーソル制御ダイアログを次の図に示します。

図2-8　カーソル制御ダイアログ

リストボックス中の，変更したいフィールドボックスの行と列が表示されている行をクリックすると，下段の編集領域に，フィールドボックスの行，列，およびカーソル制御項目名が表示されます。入力カーソル制御項目名が表示されているボックスの右端のボタンをクリックすると，カーソル制御項目の一覧が表示されます。その中から，変更したいカーソル制御項目名を選択してください。

ほかのフィールドボックスが，選択したカーソル制御項目に関連づいていた場合には，そのフィールドボックスには，どのフィールドボックスとも関連づけられていないカーソル制御項目名が，代わりに割り当てられます。

2.4.27　予約テキスト・フィールド

OpenTP1がサポートする予約項目名称を定義するオブジェクトです。論理マップ上にデータを設定していなくても，実行時に予約項目名に応じた内容で画面に出力されます。予約テキスト・フィールドはOLTPサーバ構成の環境で利用できます。

なお，予約テキスト・フィールドの表示属性の詳細については「付録A　属性情報一覧」を参照してください。

＜この項の構成＞

(1)　表示処理

(2)　予約項目名

(1)　表示処理

予約テキスト・フィールドの出力の仕組みを次に示します。

ドロー定義画面で予約テキスト（または予約フィールド）「TIME」を定義します。

物理マップ中に予約項目情報「TIME」が設定されます。

APからのSEND文によって論理データが指定されます。

OpenTP1に物理マップが読み込みます。

OpenTP1によって予約テーブルが生成され，論理データ，物理マップ，および予約テーブルなどがXMAP3に渡されます。

XMAP3によって画面にデータが表示されます。

(2)　予約項目名

予約テキスト・フィールドに定義する項目名称はOpenTP1で提供されている予約項目名を指定します。OpenTP1が提供する予約項目名はドローで定義しておきます。論理マップにデータを設定しなくても，OpenTP1から生成された日付，時刻などのデータを，項目名に対応したフォーマットで画面上に表示できます。

予約項目名については，マニュアル「OpenTP1プロトコル TP1/NET/XMAP3編」を参照してください。

2.4.28　次画面

OpenTP1との連携時，次に表示したい画面を定義するオブジェクトです。通常，ある画面から次に表示したい画面はAP上で画面名称を定義しておく必要があります。このようなときに次に表示したい画面をドロー上で定義しておくと，APで画面名称を定義していなくても実行時に画面名称を取得して表示できます。次画面はOLTPサーバ構成の環境で利用できます。

＜この項の構成＞

(1)　表示処理

(1)　表示処理

次画面の表示の仕組みを次に示します。

ドロー定義画面で次画面名称「MAP002」を定義します。

物理マップ中に次画面名称「MAP002」が設定されます。

OpenTP1によってAPが起動され，APからRECEIVE要求が発行されます。

APからSEND要求が発行され画面が表示されます。

表示された画面上で入力操作を実行するとイベントが発生します。

発生したイベントに対する物理マップでXMAP3にRECEIVE要求され，OpenTP1に論理データと物理マップ中の次画面名称「MAP002」を返します。

OpenTP1によって，次のトランザクションに対応するAPが起動されます。このとき，マッピングによって生成された論理データと次画面名称「MAP002」は，RECEIVE要求でAPに渡されます。

2.5　部品の利用

あらかじめ登録しておいた部品をレイアウト画面上に配置するときの手順を次に示します。

ドローのメニューバーの［編集］から［部品貼り付け］を選ぶ。
部品貼り付けダイアログが表示されます。

使用する部品名称を選ぶ。
部品がレイアウト画面の左上に貼り付けられますので，配置したい位置に移動してください。

なお，ユーザが貼り付けた部品と，すでに定義されているオブジェクトとの関係は次のようになります。

データ名
貼り付けた部品と既存のオブジェクトとでデータ名が重複している場合，部品で使われているデータ名がXMAP3の命名規則に従って変更されます。データ名が重複していない場合は，部品のデータ名がそのまま使われます。

言語種別が異なる場合
部品の中に，既存のオブジェクトの言語種別では使用できない文字（ハイフンとアンダーラインは除く）が指定されている場合，XMAP3の命名規則に従って変更されます。

マップ名の長さが異なる場合
マップ名の長さが6文字で設定されている場合，データ名として指定できる文字数は22文字までですが，マップ名の長さが7文字で設定されている場合は，21文字までです。このため，22文字のデータ名を，マップ名の長さが7桁で設定されているレイアウトに貼り付けると，XMAP3の命名規則に従って変更されます。

通知コード
通知コードの重複はチェックされません。そのため，部品を貼り付けたあと，必要に応じてダイアログを開き，変更する必要があります。

2.6　データ名の編集

ドローでオブジェクトをレイアウトし，そのままマップを生成すると，XMAP3が提供している標準のデータ名が使われます。XMAP3が提供しているデータ名は，「接頭語－オブジェクトごとの名称nnnn－接尾語」で構成されています。そのため，オブジェクトが同じである場合には，オブジェクトの定義順に付けられる4桁の数字（nnnn）の違いで判別しなくてはなりません。

XMAP3では，ドローのデータ名編集機能を使用して，レイアウト画面上に定義しているすべてのオブジェクトのデータ名を表示し，必要に応じて変更できます。

＜この節の構成＞

2.6.1　データ名編集ダイアログの機能

2.6.2　データ名編集ダイアログでの操作と注意事項

2.6.1　データ名編集ダイアログの機能

データ名編集ダイアログには，論理マップに展開されるデータ名および生成元のオブジェクトでの定義内容の一覧が表示されます。このダイアログ上でデータ名を変更したり，論理マップ生成順を指定したりできます。

＜この項の構成＞

(1)　データ名編集ダイアログの説明

(1)　データ名編集ダイアログの説明

データ名編集ダイアログの表示内容およびボタンについて次の表に説明します。

表2-17　データ名編集ダイアログの説明

各部名称
機 能

1. タイトルバー
ダイアログのタイトルとマップ名を表示する。

2. 99999／99999項目
「選択されている項目の番号／項目の総数」を表示する。

3. 検索と置換...
検索と置換ダイアログを表示する。

4. 変更個所へ
カーソルをデータ名が変更された項目に移動し選択する。

5. 先頭へ
カーソルを先頭の項目に移動し選択する。

6. 最後へ
カーソルを最後の項目に移動し選択する。

7. 位置順にソート
論理マップ生成時のデータ名の展開順を指定する。

ボタンをクリックした場合：

データ名がレイアウト上の位置順に表示される。

初期表示は，ドローセットアップで設定した値。データ名編集ダイアログで変更すると，データ名はダイアログでの指定に従って並べ替えられる。

8. 移動元・移動先
項目を移動するとき，移動元・移動先の項目番号を表示する。

9. データ名
データ名一覧で選択したデータ名を表示する。データ名はここで変更する。

10. コメント
データ名一覧で選択したデータ名にコメントがある場合，そのコメントを表示する。コメントはここで変更する。

表2-18　データ名一覧に表示される情報

タイトル
機能

11. C
チェックマークを表示する。
―：書き込み禁止を示す
＊：データ名は変更されていることを示す※

11. L
論理マップ展開レベル
論理マップに展開されたときのデータ項目のレベル。項目を移動する場合，移動元と移動先の論理マップ展開レベルは同じでなければならない。

12. 行
データ名に対応するオブジェクトの位置（行）を示す。

13. 列
データ名に対応するオブジェクトの位置（列）を示す。

14. OBJ
データ名に対応するオブジェクトの種類を示す。

15. 区分
データ名に対応するオブジェクトの細分類を示す。

16. 使用目的
データ名に対応するオブジェクトの使用目的を示す。

17. データ名
接頭語および接尾語を除いたデータ名を示す。

18. コメント
ドキュメント出力用のコメントを示す。

注※

データ名編集ダイアログを表示している間に変更したデータ名にだけ付きます。ダイアログを閉じると，すべてリセットされます。

2.6.2　データ名編集ダイアログでの操作と注意事項

データ名編集ダイアログでは，データ名の変更，ソート，検索および置換ができます。

＜この項の構成＞

(1)　データ名の順序をソートする

(2)　データ名とコメントの変更

(3)　データ名の検索と置換

(4)　ほかの画面からのデータ名のコピー

(1)　データ名の順序をソートする

レイアウト画面でのオブジェクトの位置順をそのまま反映する場合は，「位置順にソート」を指定しておきます。ユーザが独自にソートする場合は，移動させるオブジェクトの上で左ボタンをクリックし，そのまま移動させたい位置にドラッグします。

ソート時の注意

［位置順にソート］ボタンをクリックすると，データ名が位置順に並びます。位置順にソートしたあとで，任意の順番に並べ替えることもできます。

移動元と移動先の論理マップ展開レベルが同じならば，移動できます。

1回の操作で移動できるデータ名は一つです。ただし，データ名に対応するオブジェクトが下位項目を持つ場合（フレームでの反復や，下位項目を指定した場合），下位項目も一緒に移動します。

移動先が移動元の上位項目である場合，または下位項目である場合は，移動できません。

下位項目同士のソートはできません。

(2)　データ名とコメントの変更

データ名一覧から，変更したいデータ名を選ぶと，データ名とコメントの欄に選んだデータ名とコメントが表示されます。変更したいデータ名またはコメントを入力すると，データ名一覧に変更したデータ名およびコメントが反映されます。

データ名とコメント変更時の注意

文字数
接頭語（マップ名）を含めて29文字以内です。このため，ドローセットアップの「マップ名の長さ」の設定が「7」の場合は21文字以内，「6」の場合は22文字以内で指定します。全角文字は2文字分として数えます。

文字種
COBOLの場合は，「A～Z」「0～9」「－（ハイフン）」「大文字の半角カナ」「全角（混在）」
Cの場合は，「A～Z」「a～z」「0～9」「＿（アンダーバー）」

再定義名は半角で30文字まで入力できます。

コメントは，半角で40文字，全角で20文字まで入力できます。

コメントを記述できないオブジェクト（各オブジェクトの定義ダイアログでコメントの入力ができないもの）の場合は，コメントの欄は不活性になります。

(3)　データ名の検索と置換

データ名を検索または置換する場合は，［検索と置換］ボタンを選んで，検索と置換ダイアログを表示します。

データ名の検索時，および置換時の注意

検索するデータ名は最低1文字，指定してください。ただし，メタキャラクタとしての「＊」は使用できません。

置換後のデータ名の長さが上限を超えた場合，上限値以降の文字列は切り捨てられます。

(4)　ほかの画面からのデータ名のコピー

データ名編集ダイアログに表示されているデータ名を，あらかじめ作成しておいたデータ名辞書，Excelの表およびテキストファイルから読み込んだデータ名で変換できます。

Excelまたはテキストファイル上で，変換に使用するデータ名にフォーカスを位置づけ，［Ctrl］＋［C］でクリップボードにコピーします。

データ名編集ダイアログを開いて，変換したいデータ名のフィールドを選びます。フィールドが選ばれ，データ名の項目欄にフォーカスが移ります。

フォーカスが位置づけられたデータ名の欄に［Ctrl］＋［V］で，クリップボードにコピーしておいたデータ名を貼り付けます。

2.7　テスト表示

GUI画面の設計が終了したら，実行時の表示状態を確認するためにテスト表示をします。テスト表示をするときは，［ツール］メニューの［テスト表示］を選ぶか，ツールバーから［テスト表示］ボタンを選びます。また，Webブラウザテスト表示を選択すると，ブラウザを使ったテスト表示ができます。

テスト表示では，グラフィックデータの表示※1，ポップアップメニューファイルから読み込んだポップアップメニューの表示※2，データの入力，ボタンのオン／オフ選択およびフォーカスの移動などが確認できます。

テスト表示では，画面確定を容易にするために，正しい入力や操作をしないと画面が確定できないような属性を無効にしています。このため，テスト表示では，実際のAPでの実行結果と動作が異なることがあります。無効となる属性については，「付録A　属性情報一覧」を参照してください。

なお，予約テキスト・フィールドは「X」（項目長分だけXで埋められた形式）で表示されます。また，次画面の機能をテスト表示することはできません。

注※1

出力グラフィックの場合，XMAP3が標準で提供しているデータしか，テスト表示できません。

注※2

ポップアップメニューファイルから読み込んだポップアップメニューを表示したい場合は，ドローの定義画面で，ファイルの初期値にファイル名を指定し，かつポップアップメニューファイルを用意しておく必要があります。

3.　CUI画面の作成

CUI画面のデザインは，XMAP3のドローを使用して設計します。この章では，CUI画面の設計で使用できる機能について説明します。

＜この章の構成＞

3.1　CUI画面の設計

3.2　CUI画面のレイアウト手順

3.3　CUI画面属性の設定

3.4　CUI画面を構成するオブジェクト

3.5　部品の利用

3.6　データ名に関するコメントの編集

3.7　テスト表示

3.1　CUI画面の設計

CUI画面の概要を設計します。

＜この節の構成＞

3.1.1　CUI画面の構成

3.1.2　画面サイズ

3.1.3　背景色および画面の表示フォント

3.1.1　CUI画面の構成

CUI画面は次のようなウィンドウで構成されています。

＜この項の構成＞

(1)　ウィンドウ各部の名称

(1)　ウィンドウ各部の名称

コントロールメニュー
コントロールメニューとは，画面の左上にある枠をマウスでクリックすると表示されるシステムメニューのことです。タイトルバー左端にタイトルを位置づけ，マウスの左ボタンを押すと表示されます。コントロールメニューをクリックすると，Windowsのシステムメニューが表示されます。システムメニューには，［移動］［サイズ変更］［最小化］［最大化］があります。

タイトルバー
タイトルは左側に表示されます。タイトルは「XMAP3」固定です。

レイアウト領域
実際の業務処理に使用するオブジェクトを配置します。
これ以降，表示レイアウトなどの説明での「作業領域」は，断りがないかぎりレイアウト領域を示します。

オペレータインジケータ
キーボード状態，送信状態などのメッセージをXMAP3が表示します。ユーザプログラムからの操作はできません。表示位置は，XMAP3の表示・印刷セットアップで変更します。表示は，「上に表示」「下に表示」「表示しない」「拡張形式」が選択できます。なお，OLTPサーバ構成の環境で使用するときは，「上に表示」または「下に表示」のどちらかを選択します。

《レイアウト領域のグリッド》

グリッドのます目の最小単位は，半角文字1文字分です。

3.1.2　画面サイズ

CUI画面の画面サイズは，「24行×80列」固定です。

グリッド
半角文字を基準としたます目で，24行×80列となります。

半角文字は1ます

全角文字は2ます

3.1.3　背景色および画面の表示フォント

背景色
背景色は，黒で固定です。

画面の表示フォント
XMAP3で表示に使用するフォントは，フォント構成ファイル（X3PFONT）の定義情報に従います。

3.2　CUI画面のレイアウト手順

画面概要の設計後，実際にドローを起動して画面上にオブジェクトを配置し，レイアウトを定義します。

CUI画面を新規に作成するときのレイアウト手順について説明します。

スタートメニューから［XMAP3］－［ドロー］を選び，ドローを起動する。
新規・更新選択ダイアログが表示されます。

新規・更新選択ダイアログで［対象］から「マップ」※を選択し，「画面・帳票・書式を新規作成する」を選択する。
選択後，［OK］ボタンをクリックすると新規作成ダイアログが表示されます。

新規作成ダイアログでマップ名を指定する。
マップ名の決定の詳細については，「3.2.1　マップ名の決定」を参照してください。

新規作成ダイアログで「定義種別」を選択する。
「定義対象の選択」から「CUI画面」を選択します。

新規作成ダイアログで定義パターンを選択する。
定義パターンを選択します。選択できる定義パターンには，XMAP3が用意しているパターンまたはユーザが登録したパターンがあります。XMAP3で提供している定義パターンについては，「付録B　XMAP3で提供している定義パターン」を参照してください。
また，提供しているパターンを利用しないときは，「フリー」を選んで画面属性ダイアログで設定します。

新規作成ダイアログで言語種別を選択する。
COBOLまたはCのどちらかを選択します。
なお，XMAP3/Web for Cosminexusを使用してCosminexus上で実行するCUI画面を開発する場合で，AP開発言語がJavaのときは，Cを選択してください。

［OK］ボタンをクリックする。
画面定義ウィンドウが表示されます。

画面定義ウィンドウで，画面属性を設定する。
ウィンドウの表示形態やイベント通知コードなど，画面を制御する情報（画面属性情報）を定義します。［属性］－［画面属性］を選択して表示される画面属性ダイアログで値を設定します。

画面レイアウトを定義する。
画面定義ウィンドウのツールボックスからオブジェクトのボタンを選んで，レイアウト領域にオブジェクトを配置し，画面をレイアウトします。
オブジェクトについては，「3.4　CUI画面を構成するオブジェクト」を参照してください。

定義内容を保存し，終了する。
画面定義ウィンドウのツールバーから［ドローの終了］を選ぶと定義内容が保存され，画面定義が終了します。このとき，定義ファイルに加え，論理マップと物理マップが生成されます。

注※

［対象］から［パターン］を選択した場合には定義パターンを，［部品］を選択した場合には部品を作成できます。定義パターンや部品の作成については，「3.2.2　定義パターンおよび部品の登録」を参照してください。

＜この節の構成＞

3.2.1　マップ名の決定

3.2.2　定義パターンおよび部品の登録

3.2.1　マップ名の決定

画面の定義情報と生成される物理マップや論理マップなどの名称の整合性を図るために，マップ名を設定します。このマップ名は，各ファイル名称の先頭の文字列（拡張子を除く文字列）などになります。

マップ名にMAP001という名称を付けた場合のマップ定義ファイル名称
MAP001.impになります。

マップ名をMAP001とした場合に生成される物理マップファイル名称
マップ名が6文字※の場合，MAP001NC.pmpになります。マップ名が7文字※の場合は，MAP001S.pmpになります。

注※

マップ名の6文字または7文字については，ドローセットアップで設定します。ドローセットアップについては，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

マップ名をMAP001とした場合に，生成される論理マップファイル名称

COBOLの場合
入力論理マップファイル名称はMAP001I.cbl，出力論理マップファイル名称はMAP001O.cblになります。

C言語の場合
入力論理マップファイル名はMAP001I.h，出力論理マップファイル名称はMAP001O.hになります。

3.2.2　定義パターンおよび部品の登録

定義パターンおよび部品について説明します。なお，定義パターンおよび部品の登録の詳細手順については，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

＜この項の構成＞

(1)　定義パターン，部品とは

(2)　定義パターンの登録

(3)　部品の登録

(4)　定義パターンおよび部品登録時の注意

(1)　定義パターン，部品とは

ドローでは，画面のレイアウト定義のほかに，パターンや部品を必要に応じて定義できます。パターンとは，マップを効率良く作るために，定型的なオブジェクトを定義してあるひな型のマップのことです。部品とは，複数のオブジェクトを一つのグループとして定義したオブジェクトのことです。使用頻度の高い各種オブジェクトをあらかじめ部品として定義しておくことで，マップを効率良く作成できます。

(2)　定義パターンの登録

XMAP3では，汎用的に使用できる定義パターンを標準提供していますが，このほかに，必要に応じてユーザ独自の定義パターンを用意しておけます。ユーザ独自の定義パターンは，レイアウト定義前に作成してください。

登録した定義パターンは，画面の新規作成時に，新規作成ダイアログのパターンの選択一覧に表示されます。

(3)　部品の登録

よく使用する属性のオブジェクトや，幾つかのオブジェクトを組み合わせたグループを部品として登録できます。オブジェクトを組み合わせるには，固定フィールドや入出力フィールドなどの複数のオブジェクトを，グループ化することで実現できます。部品を有効に使用することで，ユーザの画面定義を効率良く作成できます。部品を使用する場合は，レイアウト定義前に作成しておく必要があります。

(4)　定義パターンおよび部品登録時の注意

定義パターンと部品の登録は，ドローセットアップの「運用管理者用の設定」で「パターンの登録・更新を許可」または「部品の登録・更新を許可」を選択しているときにできます。ただし，定義パターンおよび部品は，ユーザの開発プロジェクト内で必要なものを登録するため，プロジェクト管理者などの特定のユーザが登録することをお勧めします。

3.3　CUI画面属性の設定

CUI画面の画面属性情報，およびイベント通知コードの詳細について説明します。

画面を制御する情報を画面属性情報といいます。画面属性情報は，ドローセットアップで初期値が設定されています。この制御情報は，セットアップ時，または画面定義時に設定できます。

画面属性情報に指定できる属性を次に示します。

＜この節の構成＞

3.3.1　画面属性の詳細

3.3.2　画面属性の動的変更

3.3.1　画面属性の詳細

画面属性は，画面属性ダイアログで指定します。なお，次の図にある番号は，該当定義項目が説明されている項番を示しています。

＜この項の構成＞

(1)　ウィンドウ

(2)　キーボードのロック状態を解除する

(3)　ウィンドウを表示したときにアラームを鳴らす

(4)　モジュラスアルゴリズム

(5)　次画面

(6)　画面に対するコメントの記述

(7)　イベント通知コードのコメント

(8)　APインタフェース

(1)　ウィンドウ

(a)　表示形態

新しく画面を表示したときの表示中の画面の扱いを変更できます。表示中の画面を消去して次の画面を表示する場合は「全面書換」，画面を重ねて表示する場合は「一部上書」を指定します。システムに表示形態を任せる場合は，「自動」を指定します。「全面書換」「一部上書」および「自動」の詳細については，「1.5.3(2)　表示形態」を参照してください。

(b)　入力フィールドの扱い

一度表示した画面に対して一部上書したときに，APに返す値を次に示します。

操作
オブジェクトの表示属性
ウィンドウ属性（入力フィールドの扱い）

入力データをAPに返す
入力データを変更しない
入力データを消去する

ヌルを入力
初期値
なし
入力済
消去通知文字
消去通知文字
消去通知文字

初期値
なし
入力済でない
初期クリア文字
初期クリア文字
初期クリア文字

入力
初期値
なし
入力済
表示データ
表示データ
消去通知文字

初期値
あり
入力済でない
初期値
初期値
初期値

初期値
なし
入力済でない
初期クリア文字
初期クリア文字
初期クリア文字

何もしない
初期値
あり
入力済
初期値
初期値
初期値

入力済でない
初期値
初期値
初期値

初期値
なし
入力済
消去通知文字
消去通知文字
消去通知文字

入力済でない
初期クリア文字
初期クリア文字
初期クリア文字

注

ウィンドウ属性（入力フィールドの扱い）は，ドローセットアップの「表示属性の標準値」の「ウィンドウ属性」タブでも指定できます。なお，ドローセットアップでの値が有効になるのは，XMAP3が標準提供している定義パターンを使用してドローを新規作成した場合，およびXMAP3が標準提供している定義パターンを使用して，ユーザ登録の定義パターンを作成したときです。

(2)　キーボードのロック状態を解除する

キーボードのロック状態を直前の画面から継続するか，解除するかが指定できます。この指定をチェックすると，画面を表示したとき，マウスやキーボードから入力できる状態になります。指定しない場合は，キーボードのロック状態が直前の画面から継続されます。画面の操作では，「取消キー」によってキーボードのロック状態を解除できます。なお，キーの詳細については，「4.2.1　キーの機能」を参照してください。

(3)　ウィンドウを表示したときにアラームを鳴らす

画面を表示したときにアラームを鳴らすかどうかが指定できます。初期値は「鳴らさない」です。

(4)　モジュラスアルゴリズム

モジュラスチェックを「（モジュラス）10チェック」でするか「（モジュラス）11チェック」でするかが指定できます。モジュラスチェックの詳細については，「付録A　属性情報一覧」を参照してください。セットアップの初期値は「（モジュラス）10チェック」です。

(5)　次画面

APで，画面名称を固定値として定義していなくても，次に表示させたい画面名称を実行時に取得したいとき指定します。次画面はマップ名が6文字のときに指定できます。なお，次画面はOLTPサーバ構成の環境で利用できます。

(6)　画面に対するコメントの記述

画面名（日本語名）と画面に関するコメントを書きます。各オブジェクトに付ける概要や使用目的などの情報です。実際の画面表示の対象にはなりません。

コメントはドキュメンテーション支援でほかの情報とともに出力されるので，定義情報をドキュメント化したときにわかりやすい情報が得られます。また，日本語名はテスト支援の遷移図の画面名として使用されます。ドキュメンテーション支援およびテスト支援についてはマニュアル「XMAP3 開発・実行ガイド」を参照してください。

(7)　イベント通知コードのコメント

確定キーに対応するイベント通知コードに，イベント発生後の動作やコメントを指定します。［設定］ボタンから表示されるダイアログで定義します。

イベントが発生したとき，APに通知するかどうかはイベント通知コードダイアログの「動作」で指定できます。動作の詳細は次のとおりです。

動作の指定 | 説明
AP通知（確定） | 画面確定をしてAPにイベントを通知する。入力・選択必須のチェックが実行され，エラーがあった場合はAPに制御を返さない。
使用しない | 使用しないPFキーなどに使う。これに対する確定キーを押すと，画面が確定される。APにはイベント通知コードとして，初期クリア文字が返る※。

注

OLTPサーバ構成の環境で，OpenTP1上で「次メッセージ要求キー」として割り当てられているキーのイベントはAPに渡りません。

注※

OLTPサーバ構成で使用している場合，リターンコードが「4」，詳細エラーコードが「(0414)₁₆」のエラーとなります。

(8)　APインタフェース

APからウィンドウの属性を変更して表示する場合に指定します。

(a)　動的変更（APからウィンドウ属性を変更する）

APから表示形態などのウィンドウ属性を変更して，画面を表示します。

この場合，制御項目が論理マップに展開されます。この制御項目に修飾名という定数をAPが設定することで，表示属性が動的に変更されます。

修飾名と表示属性との対応の標準値については「付録A.10　修飾名と変更属性の標準値」を参照してください。なお，表示属性はドローセットアップで変更できます。

(b)　初期クリア文字

AP実行時に，画面からの入力データをAPが受け取る前に，XMAP3が入力論理マップの各項目をあらかじめクリアしておく文字です。なお，APが受け取るデータの優先順位は次のとおりです。

キー入力データ／選択したイベント通知コード

入力済みのとき，表示されているデータ／イベント通知コード

エラー通知

初期値

初期クリア文字

(c)　データ消去通知文字

AP実行時に，画面からフィールドキーで入出力フィールドのデータを消去したり，(00)₁₆のデータを受信したときにAPが受け取るデータです。したがって，APが受け取ったデータがデータ消去通知文字であれば，画面操作でデータ消去されたと判断できます。

初期クリア文字や初期値とデータ消去通知とを分けておくことで，入力操作がなかったのか，データ消去されたのかが区別できます。

なお，オブジェクトに「入力済み」が定義されている場合で，画面確定時に入力されたデータがないときは，データ消去通知文字がAPに返されます。

(d)　エラー通知文字

XMAP3が入力データにエラーを検出した場合に，APが受け取るデータです。

入力データのエラーは，半角文字だけを入力できるテキスト・フィールドに，全角文字を入力したときなどに発生します。

(e)　隠しフィールド

実際の画面には表示されないフィールドで，入力固定項目として使用します。

入力固定項目とは，入力論理マップに必ず固定の値を返すデータ項目で，論理マップ可変部の最初のデータ項目として展開されます。

OLTPサーバ構成の環境で，使用するトランザクションコードをXMAP3上で定義するには，隠しフィールドとして定義します。

(f)　再定義名

定義済みの論理マップを別定義として使用するときの名称です。半角で30字以内で定義します。

入力論理マップ用と出力論理マップ用とで別の名称にすることもできます。

3.3.2　画面属性の動的変更

画面属性はAP実行時に変更できます。XMAP3では，ドローで定義した画面属性情報のほかに，APからの変更用としてドローセットアップで画面属性情報を定義できます。

これらの画面属性情報は，名前を付けて区別します。この名前を修飾名といいます。標準提供の画面属性情報の修飾名は「付録A.10　修飾名と変更属性の標準値」を参照してください。標準提供の修飾名を使用すると，表示形態をAPから変更できます。APでは，論理マップの制御項目に画面属性情報の修飾名を格納することで，実行時に画面属性の表示属性を変更できます。

3.4　CUI画面を構成するオブジェクト

CUI画面を構成するオブジェクトと，それぞれの機能について説明します。なお，オブジェクトは機能によって分類されます。オブジェクト分類については「2.4　GUI画面を構成するオブジェクト」の一覧表を参照してください。

＜この節の構成＞

3.4.1　タイトルバー

3.4.2　APへの通知

3.4.3　入出力フィールド

3.4.4　固定フィールド

3.4.5　出力フィールド

3.4.6　フレーム（横／縦繰り返し）

3.4.7　けい線

3.4.8　カーソル

3.4.9　予約フィールド

3.4.10　次画面

3.4.1　タイトルバー

CUI画面および各部の表示仕様を次に示します。

＜この項の構成＞

(1)　形式

(2)　表示仕様

(3)　APインタフェース

(1)　形式

図3-1　CUI画面

(2)　表示仕様

タイトルバーの表示仕様を次の表に示します。

表3-1　タイトルバーの表示仕様およびその他の領域

項番
名称
機能
使用条件，その他

1
タイトルバーアイコンまたはコントロールボックス
XMAP3システムのアイコンまたはコントロールメニューを出すための，ボタンを表示します。クリックすると最小化メニューなどが表示されます。
タイトルバーアイコンが表示されます。
表示・印刷セットアップで，表示するかしないかを設定できます。

2
ウィンドウタイトル
表示されているウィンドウのタイトルです。
常に「XMAP3」が表示されます。
表示・印刷セットアップで，タイトルバーを表示するかしないかを設定できます。

3
最小化ボタン
ウィンドウをアイコン化します。
表示・印刷セットアップで，表示するかしないかを設定できます。

4
最大化ボタン
ウィンドウのサイズを最大にします。
表示・印刷セットアップで，表示するかしないかを設定できます。

5
閉じるボタン
ウィンドウを閉じ，APを終了させるために使用します。
表示・印刷セットアップで，表示するかしないかを設定できます。

(3)　APインタフェース

タイトルバーのタイトルはAPから変更できません。

［閉じる］ボタンはオプションです。［閉じる］ボタンをクリックすると，［Break］キーと同じイベントがAPに通知されます。

3.4.2　APへの通知

キーボード上で確定キーが押されたというイベントが発生した場合，イベント通知コードと呼ばれるコードが発生します。

ドローセットアップで確定キーに対する任意のコードが設定できます。通常は，ドローセットアップの標準値を使用することをお勧めします。

＜この項の構成＞

(1)　APへの通知

(1)　APへの通知

イベント通知コードとして使用できるものと，それらの送信方法，および送信のタイミングについては「1.5.9　画面確定とAPへの通知」を参照してください。

3.4.3　入出力フィールド

入出力フィールドは，キーボードなどからデータを入力するとき，およびAPから渡されるデータを表示するときに使用します。初期表示値（出力データ）を表示し，書き換えが必要な場合だけ入力するような使い方ができます。

フィールドの表示属性の標準値は文字色が「緑」です。指定できる表示属性の詳細については，「付録A　属性情報一覧」を参照してください。

＜この項の構成＞

(1)　表示形式

(2)　入力データのチェック

(3)　カーソルの遷移

(4)　入力時のAPインタフェース

(5)　入出力フィールドでの定義とAPの実行結果

(6)　出力時のAPインタフェース

(7)　表示属性の動的変更

(1)　表示形式

入出力テキストボックスと同じです。ただし，入出力フィールドの場合，アンダードットが付きます。枠は付きません。また，入力データの長さが，入力開始位置から行の最後までの長さを超える場合，入力しきれないデータを継続行として次行に入力できます。このとき，データの入力開始位置はフィールドのどこであってもかまいません。

（例）

反復表示

フレームを利用して反復表示ができます。フレームの詳細は「3.4.6　フレーム（横／縦繰り返し）」を参照してください。

(2)　入力データのチェック

扱うデータの種類を決めたり，空白の使い方を指定して，入力データをチェックします。

(a)　使用目的による入力データのチェック

使用目的によって，入力データをチェックできます。使用目的と入力データの関係については，「付録A.9　表示属性の解説」の表A-8を参照してください。

(3)　カーソルの遷移

遷移条件が指定できます。

手動スキップ・右寄せ
入力データが桁数に満たない場合，タブキーで次の入力できる領域にカーソルを移動すると，入力データが右寄せされます。

手動スキップ・全桁必須
1文字でも入力した場合，桁数いっぱいに入力しないと入力エラーになり，タブキーでのフォーカス・カーソル移動ができなくなります。

手動スキップ
桁数を超えるデータを入力しようとするとエラーになります。

自動スキップ
桁数いっぱいまで文字を入力すると，カーソルが次の入力できる領域に自動的に移動します。これに対して，手動スキップの場合はタブキーを押すことでカーソルが次の入力できる領域に移動します。

(4)　入力時のAPインタフェース

APの入力論理マップには次の内容を格納します。

(a)　入力データ項目

下位項目を利用したチェック
必要に応じて下位項目を設定できます。下位項目を設定すると，データをコードデータのように区切ってチェックしたり，1文字の繰り返しデータのようにして，1文字ずつチェックしたりできます。下位項目の詳細については，「6.2.10　下位項目を利用した入出力テキスト」を参照してください。

入力データのチェック
どのような操作が起こったかをチェックするためのコードを通知します。

コードエラーの通知
オブジェクトで受け付けるデータやチェック内容を指定し，不正な文字を入力した場合にエラー通知文字（標準はHIGH（X'FF'））をAPへ返します。

データ消去の通知
フィールドキーでデータを消去した場合などに，データ消去通知文字（標準はLOW（X'00'））をAPへ返します。

データ未入力の通知
・初期値を返す場合
（例）
テキスト・フィールドで初期値に「ABC」の文字を設定し，データを入力しない場合に初期値の「ABC」をAPへ返します。
・初期クリア文字を返す場合
初期値の文字を設定しないで，データを入力しない場合に初期クリア文字（標準は埋字と同じ文字）を返します。
（例）
使用目的が「英数」の場合は埋字（スペース）を，「数字」の場合は埋字（ゼロ）をAPへ返します。
エラー通知文字，データ消去通知文字および初期クリア文字は，ドローセットアップで変更することもできます。

(b)　入力バイト数格納項目（オプション）

実際にキー入力した文字のバイト数（半角の桁数）が入ります。入力バイト数格納項目については「5.3.8　入力バイト数格納項目の論理マップ生成規則とマッピング規則」を参照してください。

(5)　入出力フィールドでの定義とAPの実行結果

XMAP3での入出力フィールドの定義と，APでの実行結果の関係は「付録A.9　表示属性の解説」の表A-8を参照してください。なお，CUI画面の入出力フィールドでは「詳細目的」は指定できません。

(6)　出力時のAPインタフェース

出力時のAPインタフェースについては，「3.4.5　出力フィールド」を参照してください。

(7)　表示属性の動的変更

入出力フィールドでは，表示属性をAP実行時に変更できます。表示属性の動的変更については「1.5.6　表示属性の動的変更」を参照してください。

3.4.4　固定フィールド

固定フィールドは，ドローで定義した固定の文字列を表示するときに使用します。全角文字を使用する「日本語」と半角文字だけを使用する「英数」があります。

固定フィールドの表示属性の標準値は，文字色が「黄色」，文字の拡大が「標準」，テキスト揃えが「左」です。指定できる表示属性の詳細については，「付録A　属性情報一覧」を参照してください。

＜この項の構成＞

(1)　表示形式

(2)　主な機能

(1)　表示形式

表示されている文字に対し，文字サイズを指定できます。

(2)　主な機能

反復表示
フレームを使用して，繰り返し表示ができます。フレームの詳細は「3.4.6　フレーム（横／縦繰り返し）」を参照してください。

使用目的の指定
表示する文字に応じて，ドロー上で使用目的（日本語，英数）を選べます。

複数行にわたるサイズの配置
行を折り返して複数行にわたるサイズで配置できます。ただし，文字の拡大や反復定義との併用はできません。

3.4.5　出力フィールド

出力フィールドは，APから渡される可変データを表示するときに使用します。表示するデータに応じて，データの種別（使用目的）を選べます。出力フィールドの表示属性の標準値は文字色が「緑」，文字の拡大が「標準」です。出力フィールドの表示属性の詳細については，「付録A　属性情報一覧」を参照してください。

＜この項の構成＞

(1)　表示形式

(2)　主な機能

(3)　出力時のAPインタフェース

(4)　表示属性の動的変更

(1)　表示形式

表示されている文字に対し，文字サイズを指定できます。

(2)　主な機能

反復表示
フレームを使用して，繰り返し表示ができます。フレームの詳細は「3.4.6　フレーム（横／縦繰り返し）」を参照してください。

使用目的の指定
表示する文字に応じて，使用目的（数字，英数，日本語）を選べます。

複数行にわたるサイズの配置
行を折り返して複数行にわたるサイズで配置できます。ただし，文字の拡大や反復定義との併用はできません。

出力データの編集
出力フィールドでは，埋字や桁寄せなどのデータの編集もできます。APがデータ有無コードを格納し，出力論理マップにセットした有効データの長さが出力フィールドデータ名の領域の長さより短い場合，出力フィールドデータ名の領域の余った部分を埋字に置き換えます。また，出力データを出力フィールドデータ名の領域の右側に格納するか，左側に格納するかは，桁寄せ向きに従います。

下位項目の設定
データ型が「文字（XX）」の場合は，下位項目を指定してデータを細分化できます。

(3)　出力時のAPインタフェース

COBOLの場合，ピクチャ文字による編集ができます。なお，C言語の場合，すべて「char」として扱われます。

(a)　出力データ

数字
数字データ，数字編集データを表示できます。数字編集データは，指定したPICTURE句に従って表示されます（COBOLだけ有効）。
使用できるピクチャ文字：「＊」「＋」「－」「¥」「9」「，」「．」「Z」「／」の組み合わせで指定します。

日本語
全角または全角と半角の混在文字データを表示できます。全角と半角の混在文字データを表示する場合は，下位項目を指定してデータを細分化できます。

英数
半角の文字データを表示できます。また，下位項目を指定してデータを細分化できます。

(b)　出力データの編集

出力フィールドでは，埋字や桁寄せなどのデータの編集もできます。APがデータ有無コードを格納し，出力論理マップに代入した有効データの長さが出力フィールドデータ名の領域の長さより短い場合，出力フィールドデータ名の領域の余った部分を埋め字に置き換えます。また，出力データを出力フィールドデータ名の領域の右側に格納するか，左側に格納するかは，桁寄せ向きに従います。

(4)　表示属性の動的変更

出力フィールドの表示属性は実行時に変更できます。表示属性の動的変更については「1.5.6　表示属性の動的変更」を参照してください。

3.4.6　フレーム（横／縦繰り返し）

フレームで指定した領域内の先頭行または先頭列にオブジェクトを配置すると，配置したオブジェクトがフレームで指定した行数分または列数分，反復表示されます。入出力フィールドと出力フィールドを1行として反復表示することもできます。APでは，この1列および1行を集団項目として扱います。また，論理マップでは反復表示されたオブジェクトを配列として展開します。

＜この項の構成＞

(1)　表示形式

(2)　フレームに配置できるオブジェクト

(3)　フレームの操作

(4)　APインタフェース

(1)　表示形式

フレーム自体は表示されません。ドロー上では，オブジェクトをまとめる点線の枠で表示されます。

(2)　フレームに配置できるオブジェクト

CUI画面で設定するフレームに配置できるオブジェクトは次のとおりです。

入出力フィールド

固定フィールド

出力フィールド

縦／横けい線

(3)　フレームの操作

フレームのハンドル（■）をドラッグしたり，行または列を選択して行の高さや幅を変更できます。

フレームの反復回数とサイズの変更
フレーム全体を選択し，表示されるハンドル（■）をドラッグします。

行の高さまたは列の幅の変更
フレームの先頭または最終以外の行（または列）をクリックし，行（または列）に表示されるハンドル（■）をドラッグします。フレーム内のすべての行の高さ（または列の幅）が変更されます。なお，拡大する場合は，あらかじめフレームの変更する方向の領域を空けておく必要があります。

フレームの繰り返し間隔の変更
フレームの先頭または最終以外の行（または列）をクリックし，選択した行（または列）をドラッグします。フレームの行（または列）が1行（または1列）おきに繰り返されます。

フレームへのオブジェクトの追加
1行目（または1列目）にオブジェクトを配置します。配置すると行（または列）方向にオブジェクトが繰り返されます。

フレーム内のオブジェクトの削除
1行目（または1列目）のオブジェクトを選択します。行（または列）のオブジェクトが選択状態になったら［削除］を選択します。

(4)　APインタフェース

フレームはAPインタフェースを持ちません。フレーム内に配置されたオブジェクトごとのAPインタフェースは有効です。

3.4.7　けい線

けい線は縦方向，または横方向に1本の線を引きます。配置した複数のオブジェクトの間を区切るときに使用します。

なお，けい線は，APとのインタフェースを持ちません。そのため，けい線を追加，修正，または削除してもAPに影響はありません。また，けい線はボックスを通過して引いたりすることはできません。なお，CUI画面で使用できるけい線は，実線だけです。

＜この項の構成＞

(1)　線の位置

(2)　矩形および表けい線

(1)　線の位置

CUI画面の横けい線の位置は，行の「上／下」から選べます。縦けい線には位置の種類はありません。

図3-2　けい線の位置

(2)　矩形および表けい線

けい線はオブジェクトを区切る以外にも次のように使用できます。

(a)　矩形

指定した範囲をけい線で囲むときに使用します。

(b)　表けい線の枠

表を作成するときに使用します。表に見出しを付けるか付けないかも指定できます。

(c)　表けい線の繰り返し

縦方向，または横方向に等間隔のけい線を引くときに使用します。横方向の繰り返しの間隔は「2行／1行／自動」から選べます。

また，けい線は，横けい線の始点，交点，および各行の縦けい線に半角文字で1文字分のけい線情報用の領域を占有します。このため，けい線を画面上に配置する場合には，ほかの項目と重ならないようにします。

なお，けい線は複数行にわたるフィールドの途中の行には引けません。また，フィールドを通過して引くこともできません。

3.4.8　カーソル

カーソルが位置づいているオブジェクトは，ユーザが操作できる状態になっています。オブジェクトに対する操作は，必ずマウス，またはキーボードでカーソルを位置づけたあとで行います。

＜この項の構成＞

(1)　表示形式

(2)　初期カーソル

(3)　初期カーソルのAPからの設定

(4)　オブジェクトの遷移条件

(1)　表示形式

(2)　初期カーソル

各ダイアログのカーソル設定によって，画面を表示したとき，最初にカーソルを位置づけるオブジェクトを設定できます。

(3)　初期カーソルのAPからの設定

カーソル定数という値を論理マップに代入すると，初期カーソルを位置づけるオブジェクトをAPから設定できます。これらの値が設定されていないと，ドローで定義した初期カーソルの指定が採用されます。カーソル定数については「5.5　定数部の論理マップ生成規則とマッピング規則」を参照してください。

(4)　オブジェクトの遷移条件

手動スキップ・右寄せ
入力データが桁数に満たない場合，［Tab］キーで次の入力できる領域にカーソルを移動すると，入力データが右寄せで表示されます。

手動スキップ・全桁必須
一文字でも入力した場合，桁数いっぱいに入力しなければ入力エラーになり，［Tab］キーでのカーソル移動ができなくなります。

手動スキップ
桁数いっぱいまで入力し，［Tab］キーを押すとカーソルが次の入力できる領域に移動します。桁数を超えるデータを入力するとエラーになります。

自動スキップ
桁数いっぱいまで入力すると，カーソルが次の入力できる領域に自動的に移動します。

3.4.9　予約フィールド

OpenTP1がサポートする予約項目名称を定義するオブジェクトです。論理マップ上にデータを設定していなくても，実行時に予約項目名に応じた内容で画面に出力されます。予約フィールドはOLTPサーバ構成の環境で利用できます。

なお，予約フィールドの表示属性の詳細については「付録A　属性情報一覧」を参照してください。

＜この項の構成＞

(1)　表示処理

(2)　予約項目名

(1)　表示処理

予約フィールドの出力の仕組みを次に示します。

ドロー定義画面で予約テキスト（または予約フィールド）「TIME」を定義します。

物理マップ中に，予約項目情報「TIME」が設定されます。

APからのSEND文によって論理データが指定されます。

OpenTP1に物理マップが読み込みます。

OpenTP1によって予約テーブルが生成され，論理データ，物理マップ，および予約テーブルなどがXMAP3に渡されます。

XMAP3によって画面にデータが表示されます。

(2)　予約項目名

予約フィールドに定義する項目名称はOpenTP1で提供されている予約項目名を指定します。OpenTP1が提供する予約項目名はドローで定義しておきます。論理マップにデータを設定しなくても，OpenTP1から生成された日付，時刻などのデータを，項目名に対応したフォーマットで画面上に表示できます。

予約項目名については，マニュアル「OpenTP1プロトコル TP1/NET/XMAP3編」を参照してください。

3.4.10　次画面

OLTPサーバ構成の環境で，次に表示したい画面を定義するオブジェクトです。通常，ある画面から次に表示したい画面は，AP上で画面名称を定義しておく必要があります。このようなとき次に表示したい画面をドロー上で定義しておくと，APで画面名称を定義していなくても実行時に，画面名称を取得して表示できます。

＜この項の構成＞

(1)　表示処理

(1)　表示処理

次画面の表示の仕組みを次に示します。

ドロー定義画面で次画面名称「MAP002」を定義します。

物理マップ中に次画面名称「MAP002」が設定されます。

OpenTP1によってAPが起動され，APからRECEIVE要求が発行されます。

APからSEND要求が発行され画面が表示されます。

表示された画面上で入力操作を実行するとイベントが発生します。

発生したイベントに対する物理マップでXMAP3にRECEIVE要求され，OpenTP1に論理データと物理マップ中の次画面名称「MAP002」を返します。

OpenTP1によって，次のトランザクションに対応するAPが起動されます。このとき，マッピングによって生成された論理データと次画面名称「MAP002」は，RECEIVE要求でAPに渡されます。

3.5　部品の利用

あらかじめ登録しておいた部品をレイアウト画面上に配置するときの手順を次に示します。

ドローのメニューバーの［編集］から［部品貼り付け］を選ぶ。
部品貼り付けダイアログが表示されます。

使用する部品名称を選ぶ。
部品がレイアウト画面の左上に貼り付けられますので，配置したい位置に移動してください。

なお，ユーザが貼り付けた部品と，すでに定義されているオブジェクトとの関係は次のようになります。

データ名
貼り付けた部品と既存のオブジェクトとでデータ名が重複している場合，部品で使われているデータ名がXMAP3の命名規則に従って変更されます。データ名が重複していない場合は，部品のデータ名がそのまま使われます。

言語種別が異なる場合
部品の中に，既存のオブジェクトの言語種別では使用できない文字（ハイフンとアンダーラインは除く）が指定されている場合，XMAP3の命名規則に従って変更されます。

マップ名の長さが異なる場合
マップ名の長さが6文字で設定されている場合，データ名として指定できる文字数は22文字までですが，マップ名の長さが7文字で設定されている場合は，21文字までです。このため，22文字のデータ名を，マップ名の長さが7桁で設定されているレイアウトに貼り付けると，XMAP3の命名規則に従って変更されます。

通知コード
通知コードの重複はチェックされません。そのため，部品を貼り付けたあと，必要に応じてダイアログを開き，変更する必要があります。

3.6　データ名に関するコメントの編集

ドローでレイアウトされたオブジェクトには，各オブジェクトの定義ダイアログでオブジェクトに関するコメントを書けます。また，ドローのデータ名編集機能を使用して，レイアウト画面上に定義しているすべてのオブジェクトのコメントを表示し，必要に応じて編集できます。データ名編集機能の詳細は「2.6　データ名の編集」を参照してください。

3.7　テスト表示

CUI画面の設計が終了したら，実行時の表示状態を確認するためにテスト表示をします。テスト表示をするときは，［ツール］メニューの［テスト表示］を選ぶか，ツールバーから［テスト表示］ボタンを選びます。また，Webブラウザテスト表示を選択すると，ブラウザを使ったテスト表示ができます。

テスト表示では，データの入力やカーソルの移動などが確認できます。

テスト表示では，画面確定を容易にするために，正しい入力や操作をしないと画面が確定できないような属性を無効にしています。このため，テスト表示では，実際のAPでの実行結果と動作が異なることがあります。無効となる属性については，「付録A　属性情報一覧」を参照してください。

なお，予約フィールドは「X」（項目長分だけXで埋められた形式）で表示されます。また，次画面の機能をテスト表示することはできません。

4.　マウスとキー操作

この章では，XMAP3で作成した画面でのキーの機能およびマウスの操作について説明します。

＜この章の構成＞

4.1　有効となるキー

4.2　各制御キーの機能

4.3　マウス操作

4.4　コピー＆ペースト操作

4.1　有効となるキー

＜この節の構成＞

4.1.1　データ入力キー

4.1.2　制御キー

4.1.3　キーボードのカスタマイズ

4.1.1　データ入力キー

＜この項の構成＞

(1)　入力できる半角文字

(2)　入力できる全角文字

(3)　全角文字とスペースコード

(4)　注意が必要なキー操作

(1)　入力できる半角文字

ANKコード（英字・数字・カナ文字）を図4-1に，このマニュアルで使用している用語がANKコードの何に該当するかを表4-1に示します。なお，（00）～（1F）および（7F）は，制御コードであるため，文字コードとして使用できません。

図4-1　ANKコード

表4-1　 用語とANKコードの関係

用語
該当するANKコードの範囲

カナ
(A6)₁₆～(DF)₁₆
ただし，(B0)₁₆（－）を除く。

半角
(21)₁₆～(FE)₁₆
ただし，(7F)₁₆を除く。

英大文字
(41)₁₆～(5A)₁₆

英小文字
(61)₁₆～(7A)₁₆

マイナス
(2D)₁₆

長音
(B0)₁₆

コンマ
(2C)₁₆

数字
(30)₁₆～(39)₁₆

記号
(21)₁₆～(2F)₁₆，(3A)₁₆～(3F)₁₆，
(5B)₁₆～(60)₁₆，(7B)₁₆～(7E)₁₆

アスタリスク
(2A)₁₆

漢字※
(8140)₁₆～(F9FC)₁₆

空白（半角）
(20)₁₆

空白（全角，半角）
(8140)₁₆
(2020)₁₆
(20)₁₆

空白（全角だけ）
(8140)₁₆

注※

詳細は表4-2を参照してください。

(2)　入力できる全角文字

漢字コードを次の表に示します。

表4-2　漢字コード

コードの範囲※1 | 使用できる文字
標準漢字領域 | (8140)₁₆－(EEFC)₁₆ | JIS X0208にベンダ固有文字※2を含む文字
外字領域 | (F040)₁₆－(F9FC)₁₆ | 外字　1880字
ベンダ領域 | (FA40)₁₆－(FCFC)₁₆ | 標準漢字領域以外のJIS X0208にベンダ固有文字※3を含む文字

注※1

コードの第1バイトは(81xx)₁₆～(9Fxx)₁₆，(E0xx)₁₆～(FCxx)₁₆の範囲です。

コードの第2バイトは(xx40)₁₆～(xx7E)₁₆，(xx80)₁₆～(xxFC)₁₆の範囲です。

注※2

標準漢字領域のベンダ固有文字とは，Windows特殊文字（(8740)₁₆～(879C)₁₆ 83字），NEC選定IBM拡張文字（(ED40)₁₆～(EEFC)₁₆ 374字）のことです。

注※3

ベンダ領域のベンダ固有文字とは，IBM選択文字（(FA40)₁₆～(FC4B)₁₆ 388字）のことです。

ベンダ固有文字について

ベンダ固有文字はPC環境に依存します。WSを含めたC/Sシステム構成で運用する場合，文字コードの一部がWSとPCで異なるため，PCクライアント上で不正な文字が表示される場合があります。このため，WSを含めたC/Sシステム構成では，ベンダ固有文字を極力使用しないことをお勧めします。WSを含めたC/Sシステム構成でベンダ固有文字を使用したい場合は，Windowsで定義できる外字領域に外字として作成，登録してご使用ください。

(3)　全角文字とスペースコード

全角スペースを入力した場合，特に設定しないと半角スペース2文字に変換されて，画面上に表示し，APに返されます。全角スペースをそのまま全角文字として画面上に表示し，APに返したいときは，表示・印刷セットアップの「全角スペースコードの扱い」で，「全角スペースをそのまま返す」を設定してください。

(4)　注意が必要なキー操作

Windows 95，Windows 98，Windows Meの場合に，注意が必要なキー操作を次に示します。

［Alt］＋［F6］キーまたは［Alt］＋［Shift］＋［F6］キーはWindowsの画面重なり制御に割り当てられているため，使用できません。

［Shift］キーを押しながら，テンキーの「＋」または「－」を押した場合，OSのキーメッセージ処理の仕様によって，［Shift］キーは無視されます。そのため，この場合には，［Shift］キーを押さずにテンキーの「＋」または「－」を押した場合と同じ動作となります。

4.1.2　制御キー

XMAP3で標準に使用できる，画面を制御するキーについて説明します。XMAP3では，標準仕様のキーボードから入力されるキーを制御します。キーには，XMAP3が処理するものと，APにキーが押されたことを通知するものがあります。

ノート型PCなど，テンキーを持たないキーボードを使用する機種では，表示・印刷セットアップで文字キー部のEnter（リターン）キーを復改キーとして使用するか，送信（実行）キーとして使用するかを指定できます。運用方法に従って設定してください。

XMAP3で使用できるキーの種類と機能の一覧を表4-3～表4-7に示します。なお，表中のフィールドボックスはGUI画面のフィールドボックスおよびCUI画面を示します。「入出力フィールド」はGUI画面のフィールドボックス内の入出力フィールド，およびCUI画面の入出力フィールドを示します。また，「ボックス」はGUI画面のボックス系オブジェクトを表します。

表4-3　キーの種類と機能 （画面確定キー）

機能名称
キーボード上の
標準割り当て
機能
ほかのキーへの
割り当て

送信（実行）キー
Enter（テンキー部） （106／109）（AX）
－ （PC-9801）
APに画面の確定を通知する。
○

PF1～PF12キー
F1～F12 （106／109）（AX）
PF1～PF10はf・1～f10
PF11，PF12はvf・1，vf・2 （PC-9801）
△

PF13～PF24キー
Shift＋F1～F12 （106／109）（AX）
SHIFT＋ f・1～f10，vf・1，vf・2 （PC-9801）
△

PF25～PF36キー※1
Ctrl+F1～F12 （106／109）（AX）
CTRL+f・1～f・10，vf・1，vf・2 （PC-9801）
△

PF37～PF48キー※1
Ctrl+ Shift +F1～F12 （106／109）（AX）
CTRL+SHIFT+f・1～f・10，vf・1，vf・2 （PC-9801）
△

PF49～PF60キー※1
Alt+F1～F12 （106／109）（AX）※2
GRPH+f・1～f・10，vf・1，vf・2 （PC-9801）
△

PF61～PF72キー※1
Shift+Alt+F1～F12 （106／109）（AX）
SHIFT+GRPH+f・1～f・10，vf・1，vf・2 （PC-9801）
△

PF73～PF84キー※1
Ctrl+Alt+F1～F12 （106／109）（AX）
CTRL+GRPH+f・1～f・10，vf・1，vf・2 （PC-9801）
△

割込キー
Break，Ctrl+Pause，Ctrl+Scroll Lock
（106／109）（AX）
STOP （PC-9801）
×

スクリーン消去キー
Ctrl+Delete （106／109）（AX）
CTRL+DEL （PC-9801）
×

PA1キー
Page Up （106／109）（AX）
ROLL DOWN （PC-9801）
○

PA2キー
Page Down （106／109）（AX）
ROLL UP （PC-9801）
○

PA3キー
Ctrl＋Page Up （106／109）（AX）
CTRL＋ROLL DOWN （PC-9801）
×

無通知コード割り当てキー※3
Ctrl＋I
Ctrl＋S
Ctrl＋U
×

（凡例）

○：ほかのキーへの割り当てができる。表示・印刷セットアップの「キー割当」で設定する。

×：カスタマイズできない。

△：ほかのファンクションキー（PF1～PF84）への割り当てができる。表示・印刷セットアップの「ファンクションキー」で設定する。

（106／109）：106／109日本語，101／104英語。

（PC-9801）：PC-9801キーボード。

（AX）：AX仕様キーボード。

注

・PF25～PF84キーを押した場合は，日本語入力システム（IME）での処理が優先されるので，XMAP3の画面に対する操作ができなくなることがあります。

・複数のIMEがインストールされている場合，［Alt］+［Shift］または［Ctrl］+［Shift］はIMEの切り替えキーとして割り当てられます。このとき，［Alt］+［Shift］+ファンクションキーまたは［Ctrl］+［Shift］+ファンクションキーを押そうとすると，IMEが切り替わってしまうことがあります。使用するファンクションキーとIMEの切り替えキーの設定が重複しないようにしてください。

注※1

GUI固有のファンクションキーです。CUIでは使用できません。 なお，既存の画面に対して確定キーとして使用する場合は，ユティリティで「セットアップ情報反映」を実行してください。

注※2

・［Alt］+［F4］にファンクションキーが割り当てられていない場合で，表示・印刷セットアップでタイトルバーの［閉じる］ボタンが「表示する」に設定されているときに，［Alt］+［F4］押下，タイトルバーの［×］ボタンのマウス選択，およびコントロールメニューの「閉じる」メニュー選択をすると，［ Break ］キーと同じ通知コードがAPに返されます。

・［Alt］+［F4］にファンクションキーが割り当てられている場合で，表示・印刷セットアップでタイトルバーの［閉じる］ボタンが「表示する」に設定されているときに，［Alt］+［F4］押下すると，割り当てられたファンクションキーに対応する通知コードがAPに返されます。［×］ボタンや「閉じる」メニュー選択すると，［ Break ］キーと同じ通知コードがAPに返されます。

・［Alt］+［F4］にファンクションキーが割り当てられている場合で，表示・印刷セットアップでタイトルバーの「閉じる」メニューが「表示しない」に設定されているときに，［Alt］+［F4］押下すると，対応する通知コードがAPに返されます。

注※3

XMAP3では，該当するイベント通知コードなし（空白）でAPに制御が戻ります。

表4-4　キーの種類と機能 （文字入力キー）

機能名称
キーボード上の
標準割り当て
機能
ほかのキーへの
割り当て

スペースキー
スペースバー
（106／109）（PC-9801）
（AX）
ボタン，リストボックスなどのオブジェクトでは，選択動作をする。
文字入力時は空白を入力する。
×

（凡例）

×：カスタマイズできない。

（106／109）：106／109日本語，101／104英語。

（PC-9801）：PC-9801キーボード。

（AX）：AX仕様キーボード。

表4-5　キーの種類と機能 （フォーカス・カーソル移動キー）

機能名称
キーボード上の
標準割り当て
機能
ほかのキーへの
割り当て

カーソル移動キー
↑↓→←
（106／109）（PC-9801）
（AX）
カーソルを1カラム移動する。
×

後退キー（バックスペースキー）
BackSpace
（106／109）（AX）
BS （PC-9801）
GUI 画面では，前の入力または入出力フィールドにカーソルを移動する。または前のボックスにフォーカスを移動する。
○

始点キー
Home
（106／109）（AX）
HOME CLR
（PC-9801）
GUI画面では，フィールド始点にカーソルを移動する。フィールドボックス内では，画面始点にカーソルを移動する。
×

復改キー
Enter_復改マーク※
（106／109）
復改マーク※
（PC-9801）
Enter（AX）
（文字キー部）
GUI画面では，フィールド始点にカーソルを移動する。フィールドボックス内では，次行以降の最初の入力または入出力フィールドにカーソルを移動する。改行入力属性を指定したフィールドの場合，改行コードを挿入する。
○

タブキー
Tab（106／109）（AX）
TAB（PC-9801）
次の入力テキストまたは入出力フィールドにカーソルを移動する。または次のボックスにフォーカスを移動する。
○

バックタブキー
Shift＋Tab
（106／109）（AX）
SHIFT＋TAB
（PC-9801）
前の入力テキストまたは入出力フィールドにカーソルを移動する。または前のボックスにフォーカスを移動する。
×

マイナスタブキー
Ctrl＋Tab
（106／109）（AX）
CTRL＋TAB
（PC-9801）
遷移条件で「手動スキップ・右寄せ」を指定しているフィールドでだけ，右寄せして負（－）記号を付ける。
○

スクロールキー
Ctrl ＋↑↓→←
（106／109）（AX）
CTRL ＋↑↓→←
（PC-9801）
行，列単位に，画面のスクロールをする。
×

（凡例）

○：ほかのキーへの割り当てができる。表示・印刷セットアップで設定する。

×：カスタマイズできない。

（106／109）：106／109日本語，101／104英語。

（PC-9801）：PC-9801キーボード。

（AX）：AX仕様キーボード。

表4-6　キーの種類と機能 （文字編集キー）

機能名称
キーボード上の
標準割り当て
機能
ほかのキーへの
割り当て

挿入キー
Insert（106／109）（AX）
INS（PC-9801）
文字を挿入できるように半角1文字分を空ける。
○

削除キー
Delete（106／109）（AX）
DEL（PC-9801）
入力フィールドまたは入力テキストボックスの1文字を消去する。
×

フィールドキー
End（106／109）（AX）
HELP（PC-9801）
カーソルがある入力フィールドまたは入力テキストボックス内の文字を消去する。
○

データキー
Ctrl＋End
（106／109）（AX）
CTRL+HELP
（PC-9801）
カーソルの位置に関係なく，画面上のすべての入力または入出力フィールドの文字を消去する。
○

コピー操作キー
Ctrl+Insert Ctrl+C
（106／109）（AX）
CTRL+INSERT
CTRL+C
（PC-9801）
マウスで選択した文字列をクリップボードにコピーする。
○

ペースト操作キー
Shift+Insert Ctrl+V
（106／109）（AX）
SHIFT+INSERT
CTRL+V
（PC-9801）
クリップボードからフィールドまたはテキストに文字列を貼り付ける。
○

（凡例）

○：ほかのキーへの割り当てができる。表示・印刷セットアップで設定する。

×：カスタマイズできない。

（106／109）：106／109日本語，101／104英語。

（PC-9801）：PC-9801キーボード。

（AX）：AX仕様キーボード。

表4-7　キーの種類と機能 （選択キー）

機能名称
キーボード上の
標準割り当て
機能
ほかのキーへの
割り当て

エスケープキー
Esc（106／109）（AX）
ESC（PC-9801）
プルダウンメニュー，ポップアップリストが表示されているとき，その表示を閉じる。
×

取消キー
Ctrl+R（106／109）（AX）
CTRL+R（PC-9801）
入力エラーの表示を「キーOK」表示する。
キーボードのロック状態や入力エラー表示の状態を取り消して，キー操作をできる状態にする。
×

スペースキー
スペースバー
（106／109）
（PC-9801）
（AX）
ボタン，リストボックスなどのオブジェクトでは，選択動作をする。
文字入力時は空白を入力する。
×

（凡例）

×：カスタマイズできない。

（106／109）：106／109日本語，101／104英語。

（PC-9801）：PC-9801キーボード。

（AX）：AX仕様キーボード。

4.1.3　キーボードのカスタマイズ

標準で機能を割り当てられているキー以外のキーにも，機能を割り当てられます。使用するキーと機能の関係を次の表に示します。機能の割り当ては表示・印刷セットアップで行います。詳細についてはマニュアル「XMAP3 開発・実行ガイド」を参照してください。

表4-8　 機能と割り当てることができるキー

割り当てる機能
割り当てることができるキー
標準割り当てキー

送信（実行）キー
文字側のEnterキー
右Ctrlキー※
テンキー側のEnterキー
テンキー側のEnterキー

タブキー
文字側のEnterキー
テンキー側のEnterキー
＋，－，＊，／
Tabキー
Tabキー

バックタブキー
＋，－，＊，／
Shift＋Tabキー
Shift＋Tabキー

PF13キー
PageDown
PageUp
Shift＋F1キー
Shift＋F1キー

PF14キー
PageDown
PageUp
Shift＋F2キー
Shift＋F2キー

フィールドキー
＋，－，＊，／
Endキー
Endキー

注※

右Ctrlキーを送信（実行）キーとして割り当てた場合でも，右Ctrlキーとほかのキーを組み合わせて使用したときは，右Ctrlキーは通常のCtrlキーとして動作します。

4.2　各制御キーの機能

＜この節の構成＞

4.2.1　キーの機能

4.2.2　キーでのデータ入力と編集

4.2.1　キーの機能

画面を制御するキーの，標準で使用できる機能について説明します。説明中の[図データ]および[図データ]は，カーソルを示します。また，各オブジェクトでキーを押したときのスクロール量は次のようになります。

オブジェクト
キー

［→］［←］
［↑］［↓］
［Ctrl］＋［↑↓→←］

フィールド
ボックス
1列
1行
1行／1列

リストボックス
スクロールしない
1行
1行／1列

コンボボックス
スクロールしない
1行
スクロールしない

ポップアップ
ウィンドウ
スクロールしない
スクロールしない
スクロールしない

＜この項の構成＞

(1)　フォーカス・カーソル移動キー

(2)　画面の移動に使用するキー

(3)　文字編集キー

(4)　エスケープキー（［Esc］）

(5)　スペースキー（スペースバー）

(6)　画面確定キー

(7)　取消キー（［Ctrl］＋［R］）

(1)　フォーカス・カーソル移動キー

(a)　カーソル移動キー（［↑］［↓］［→］［←］）

キーを1回押すと，カーソルが1文字分移動します。

CUI画面およびフィールドボックス内でのフィールドでのカーソルの移動には次に示す三つの動作があります。動作は，表示・印刷セットアップで選択します。

表示・印刷セットアップで設定できる動作の項目を次に示します。なお，表示・印刷セットアップの詳細については，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

注

フィールドボックス内で上下方向にカーソルを移動する場合，ワンタッチクリアが設定されているフィールドの先頭以外の位置を通過すると，カーソルの列位置が先頭に移動します。

《全ての位置》

フィールドの内外に関係なく，押したキーの向きにカーソルが移動します。

カーソルが画面終点にあるとき［→］を押すと，カーソルは画面始点に移動します。

カーソルが画面始点にあるとき［←］を押すと，カーソルは画面終点に移動します。

《全てのフィールド》

押したキーの向きにある，不活性または入力できる状態の入出力フィールドの先頭にカーソルを移動します。

［↑］は1文字分上の行から始点に向けて，フィールドをサーチします。

［↓］は1文字分下の行から終点に向けて，フィールドをサーチします。

［←］は1文字分左の位置から始点に向けて，フィールドをサーチします。

［→］は1文字分右の位置から終点に向けて，フィールドをサーチします。

入出力フィールドがないときは，カーソルは移動しません。

《活性フィールド》

押したキーの向きにある，入力できる状態の入出力フィールドの先頭にカーソルを移動します。

押したキーの向きについては，《全てのフィールド》の場合と同じです。

入力できる状態の入出力フィールドがないときは，カーソルは移動しません。

表4-9　GUIオブジェクトのボックス内のフィールド間のフォーカス・カーソル移動

移動キー
オブジェクト
［→］
［↓］
［←］
［↑］

ラジオボタン
前進
前進
後退
後退

チェックボタン
前
前
後
後

プッシュボタン
前
前
後
後

ポップアップ
該当しない※¹
下
該当しない※¹
上

コンボボックス
※2
該当しない
下
該当しない
上

リストボックス
該当しない
下
該当しない
上

スピンボックス
該当しない
ダウンボタンと同じ（値の減少）
該当しない
アップボタンと同じ（値の増加）

注※1

カスケードメニューおよびリストを表示している場合は，下位のメニューおよびリストの表示（前進）／非表示（後退）になります。

注※2

キー入力コンボボックスおよび表示・印刷セットアップでカーソルキーでのメニュー表示が設定されているメニュー選択コンボボックスでは，［↑］［↓］でメニューを表示します。

次，または下のボタンにフォーカス（入力権）を移動させる移動キー。
［→］［↓］

一つ前，または上のボタンにフォーカス（入力権）を移動させる移動キー。
［←］［↑］

次，または下のボタンにフォーカス（入力権）を移動させる移動キー。
［→］［↓］

次の項目（リスト）にフォーカス（入力権）を移動させる移動キー。
［↓］

スピンボックスの値をアップダウンさせるキー。
［↑］［↓］

(b)　後退キー（［Back Space］）

カーソルが前方に移動します。

表示・印刷セットアップでの［Back Space］キーの指定に対応して動作が次のように異なります。

直前の項目：フィールドの先頭にカーソルを位置づける。
フィールドの先頭では，前の位置にあるフィールドにフォーカスは移動します。

右詰めで表示されている「金額」または「数値」のテキストボックス（またはフィールド）では，右端が先頭位置になります。
一つ前の入力できる状態の入出力テキストボックス（または入出力フィールド）の先頭にカーソルは移動します。

1文字削除：直前の文字を削除する。

ヌル置換：直前の文字を削除して，ヌル(00)₁₆に置き換える。
直前の文字が全角文字の場合，2個のヌル(00)₁₆に置き換えます。

フィールドボックスの改行入力属性を指定したフィールドでは，直前の文字が半角文字の場合に1個の半角スペースに置き換え，直前の文字が全角文字の場合に2個の半角スペースに置き換えます。

(c)　始点キー（［Home］）

カーソルのある入力できる状態の入出力テキストボックスの先頭に，カーソルは移動します。

CUI画面およびフィールドボックスでは，画面またはボックス内の先頭のフィールドに移動します。

リスト形式で表示しているポップアップメニューでは，第1レベルのメニュー項目にフォーカスが移動します。

入力できる状態の入出力フィールドがないときは，カーソルは画面始点に移動します。

(d)　復改キー（［Enter］）

次行の，最初の入力できる状態の入出力フィールドの先頭に，カーソルは移動します。

入力できる状態の入出力フィールドがないときは，カーソルは移動しません。

入力できる状態の入出力フィールドが複数行にわたっているときは，次の行の先頭に移動します。改行入力属性を指定した場合は，カーソルの左側に改行コードを挿入します。

入力できる状態の入出力テキストボックスでは，カーソルはそのテキストの先頭に移動します。

(e)　タブキー（［Tab］）

ボックス中のカーソル移動

次の入力できる状態の入出力テキストボックス（または入出力フィールド）の先頭に，カーソルが移動します。

入力できる状態の入出力テキストボックス（または入出力フィールド）がないときは，カーソルは移動しません。

画面終点までに，ほかに入力できる状態の入出力テキストボックス（または入出力フィールド）がないときは，カーソルは画面始点に最も近い入力できる状態の入出力テキストボックス（または入出力フィールド）に移動します。

ボックス間のフォーカス（入力権）移動

次のボックスにフォーカスを移動します。

フォーカスが移動するボックスは，次のとおりです。

フィールドボックス

入出力テキストボックス

ポップアップテキスト

コンボボックス

スピンボックス

リストボックス

ボタンボックス（ラジオボタン，チェックボタン，プッシュボタン）です。

(f)　シフト＋復改（［Shift］＋［Enter］）

次のボックスにフォーカスを移動します。

送信動作は行いません。

この動作は，XMAP3の表示・印刷サーバ環境定義ファイルでの動作を「復改」から「送信」に変更した場合でも有効です。

(g)　バックタブキー（［Shift］＋［Tab］）

一つ前の入力できる状態の入出力テキストボックス（または入出力フィールド）の先頭への移動

入力できる状態の入出力テキストボックス（または入出力フィールド）がないときは，カーソルは移動しません。

カーソルが入力できる状態の入出力テキストボックス（または入出力フィールド）の途中にある場合は，カーソルのある入力できる状態の入出力テキストボックス（または入出力フィールド）の先頭に戻ります。

画面始点までにほかに入力できる状態の入出力テキストボックス（または入出力フィールド）がないときは，カーソルは画面終点に最も近い，入力できる状態の入出力テキストボックス（または入出力フィールド）の先頭に移動します。

一つ前のボックスへのフォーカス移動

(h)　コントロール＋復改（［Ctrl］＋［Enter］）

一つ前のボックスにフォーカスを移動します。送信動作は行いません。この動作は，XMAP3の表示・印刷サーバ環境定義ファイルでの動作を「復改」から「送信」に変更した場合でも有効です。

マイナスタブキー（［Ctrl］＋［Tab］）

属性が「右寄せ」に設定されている入出力テキストボックス（または入出力フィールド）の数字を右寄せして，負（－）記号を付けます。カーソルは次の入力できる状態の入出力テキストボックス（または入出力フィールド）の先頭に移動します。

フィールドに負（－）記号を付ける空きがないときは，入力エラーとなります。

入力できないテキストボックス（またはフィールド）にカーソルがあるときは，次の入力できる状態の入出力テキストボックス（または入出力フィールド）の先頭にカーソルを移動します。

右寄せの属性以外では，右寄せしたり負記号を付けたりしないで，次の入力できる状態の入出力テキストボックス（または入出力フィールド）の先頭にカーソルを移動します。

フィールドにデータがない場合，負（－）記号を付け，カーソルは次の入力できる状態の入出力テキストボックス（または入出力フィールド）の先頭にカーソルを移動します。

(2)　画面の移動に使用するキー

(a)　スクロールキー（［Ctrl］＋［↑］［↓］［→］［←］）

画面上に表示されていないプレーン領域をスクロールし，見えるようにできます。

対象となるオブジェクトを次の表に示します。

表4-10　画面の移動に使用するキー

オブジェクト
［Ctrl］
＋［↓］
［Ctrl］
＋［↑］
［Ctrl］
＋［→］
［Ctrl］
＋［←］

マウス選択
オブジェクト
フィールド
ボックス
下方向にスクロール
上方向にスクロール
右方向にスクロール
左方向にスクロール

リスト
ボックス※
最下行にスクロール
最上行にスクロール
最右行にスクロール
最左行にスクロール

文字入力オブジェクト
無効

注※

ポップアップで表示されるリストでは，［Ctrl］＋［→］または［Ctrl］＋［←］のときは，水平方向に半角1文字分スクロールします。

フィールドボックス

押したキーの向きに，指定した行，列分画面の表示が移動します。

リストボックス

押したキーの向きに，プレーンの端までリストボックスが移動します。

(3)　文字編集キー

文字入力できるオブジェクトにだけ使用できます。

(a)　挿入キー（［Insert］）

文字入力できるオブジェクトにだけ使用できます。

カーソル以降の文字が右にずれ，カーソル位置から押した数だけ「空き」ができます。

空きに文字を入力してください。

なお，表示・印刷セットアップの「挿入／上書きモードのデフォルト設定」で「挿入モード」を指定している場合，挿入キーを使用しなくても，入力した文字が自動的に挿入されます。

入力できない状態のテキストボックス（またはフィールド）には，文字の挿入はできません。

入力・表示したデータをAPへ返す状態になります。

日本語（漢字）フィールドは［Insert］を1回押すと2カラムの「空き」ができます。

入出力テキスト・フィールドで，使用目的が「数値」のとき（ただし，詳細目的が「数字・数字記号」の場合は除く），［Insert］を押すとカーソル位置に0（ゼロ）が入力されます。

入出力テキスト・フィールドで，使用目的が「数値」，詳細目的が「数字・数字記号」のとき，［Insert］を押すとカーソル位置にヌル（(00)₁₆）が入力されます。

フィールドボックスの改行入力属性を指定したフィールドでは，半角スペースに置き換えます。

《挿入キー仕様を「NULLまで」とした場合》表示・印刷セットアップで変更した場合

［Insert］で空きを作るとフィールドから文字があふれてしまう場合は，挿入できません。

《挿入キー仕様を「フィールドの終わりまで」とした場合》標準仕様の場合

［Insert］で空きを作るとフィールドから文字があふれてしまう場合は，あふれた文字は消去されます。

(b)　削除キー（［Delete］）

カーソル位置の1文字が消え，カーソル以降の文字列が1文字分左に詰まります。全角文字のときは，2カラム分左に詰まります。

［Delete］を押してもカーソルは移動しません。

文字を消去してできた領域には，ヌル（(00)₁₆）が入ります。

入力できない状態の入出力テキストボックス（または入出力フィールド）の文字は，削除キーで消去できません。

入力・表示したデータをAPへ返す状態（転送状態）になります。

ヌル（(00)₁₆）はAPへは返されません。詰めた型となります。

埋字指定があれば桁寄せ向きに従って桁寄せされ，埋字が入れられます。

注

カーソル以降の文字を削除する場合は，フィールドキーを使用します。オプションでカーソルのあるフィールド全体を消去することもできます。

(c)　フィールドキー（［End］）

文字が入力できるオブジェクト

カーソル以降の消去（標準仕様）
入力できる状態の入出力テキストボックス（または入出力フィールド）内で，カーソル位置からフィールドの終わりまでの文字を消去します。

入力できない状態のテキストボックス（またはフィールド）の文字は，［End］で消去できません。

入力・表示したデータをAPへ返す状態（転送状態）になります。

カーソルのあるフィールド全体の消去《表示・印刷セットアップのオプション》

マウス選択できるオブジェクト

オブジェクト
選択済
未選択
動作

ラジオボタン
オフ
オフ
選択状態を解除

チェックボタン

プッシュボタン
－
－
－

単一リストボックス
オフ
オフ
選択状態を解除

複数リストボックス

スピンボックス
最小値に戻す
最小値に戻す
選択済み状態（APに値を返す）

ポップアップメニュー
※1
クリア
－
選択状態を解除

コンボボックス※2
メニュー先頭の値
メニュー先頭の値
選択状態を解除

トグルフィールド
オフ
オフ
選択状態を解除

メニューバー
（プルダウン，カスケード）
－
－
－

（凡例）

－：該当しない。

注※1

ポップアップメニューが表示されているときは，入出力テキストボックスが全桁クリアされます。このとき，表示・印刷セットアップで「カーソル以降をクリア」を設定していても無視されます。

注※2

キー入力コンボボックスは，入出力テキストボックスと同じ動作になります。

(d)　データキー（［Ctrl］＋［End］）

文字入力できるオブジェクト
画面上の入力できる状態の入出力テキストボックス（または入出力フィールド）の文字を，カーソルの位置にかかわらずすべて消去し，始点に最も近い入出力テキストボックス（または入出力フィールド）の先頭に，カーソルを移動します。

入力できるフィールド（フィールドボックス内のフィールド，または入出力テキストボックス）内の文字を消去します（すべての入力できるフィールドを，再入力したデータだけAPに返す状態にします）。

ボタンボックスのすべての有効ボタンをオフ状態にします。

マウス選択できるオブジェクト

オブジェクト
選択済
未選択
動作

ラジオボタン
オフ
オフ
すべての選択状態を解除

チェックボタン

プッシュボタン
－
－
－

単一リストボックス
オフ
オフ
すべての選択状態を解除

複数リストボックス

スピンボックス
最小値に戻す
最小値に戻す
すべての選択状態を解除※1

ポップアップメニュー
※2
クリア
－
すべての選択状態を解除

コンボボックス※3
メニュー先頭の値
メニュー先頭の値
すべての選択状態を解除

トグルフィールド
オフ
オフ
すべての選択状態を解除

メニューバー
（プルダウン，カスケード）
－
－
－

（凡例）

－：該当しない。

注※1

表示・印刷セットアップでのデータキーの動作設定に従います。

未入力状態：APに値を返さない。

ヌル(00)₁₆クリア状態：APに値を返す。

注※2

ポップアップメニューが表示されているときは，入出力テキストボックスが全桁クリアされます。

注※3

キー入力コンボボックスは，入出力テキストボックスと同じ動作になります。

(e)　コピー・ペースト操作キー（［Ctrl］+［Insert］／［Shift］+［Insert］または［Ctrl］＋［C］／［Ctrl］＋［V］）

選択されたテキストをクリップボードにコピーします。

クリップボードのテキストをフォーカスのあるテキストボックスにペーストします。

(4)　エスケープキー（［Esc］）

(a)　文字入力できるオブジェクト

文字入力できるオブジェクトに対しては，無効です。

(b)　マウス選択対象となるオブジェクト

オブジェクト
選択済
未選択
動作

ラジオボタン
－
－
－

チェックボタン

プッシュボタン

単一リストボックス

複数リストボックス

スピンボックス

ポップアップメニュー
メニュークローズ
－
メニューのクローズ

コンボボックス
－
－
メニューのクローズ

トグルフィールド
－
－
－

メニューバー
（プルダウン，カスケード）
－
－
－

（凡例）

－：該当しない。

コンボボックスまたはポップアップテキスト・フィールドでのエスケープキー
コンボボックスまたはポップアップテキスト・フィールドのメニュー表示を消去します。メニュー消去後の動作は，「カーソルが次のフィールドへ移動する」または「フォーカスが次のボックスに移動する」のどちらかになります。

(5)　スペースキー（スペースバー）

(a)　文字入力テキスト・フィールドの場合

文字入力テキストおよびフィールドでは，スペース文字として扱われます。

(b)　マウス選択オブジェクト

オブジェクト
選択済
未選択
動作

ラジオボタン
オンのまま
オン
項目選択

チェックボタン
オフ
オン
オン／オフの切り替え

プッシュボタン
－
オン
画面選択

単一リストボックス
オフ
オン
項目選択

複数リストボックス

スピンボックス
－
－
－

ポップアップメニュー
オフ※1
オン
項目選択

コンボボックス※2
オフ
オン
項目選択

トグルフィールド
オフ
オン
オン／オフの切り替え

メニューバー
（プルダウン，カスケード）
－
オン
画面確定

（凡例）

－：該当しない。

注※1

ポップアップで，階層構造のメニュー項目を表示している場合は，下位レベルのメニュー項目（カスケードメニューや第2～第8レベルのリスト）の表示になります。

注※2

キー入力コンボボックスは，入出力テキストボックスと同じ動作になります。

スペースまたは復改キー（［スペース］，［Enter］ ）※
フォーカス（入力権）のある項目（リスト）に対応した値が選択，または非選択となります。

注※

属性の指定によって，リストを選択したあとに，次に示すどちらかの動作を指定できます。

1.　フォーカスが次の項目（リスト）へ移動する

複数選択で，「選択後次の項目にフォーカスを移す」指定をした場合。

2.　フォーカスが次のボックスに移動する

単一選択で，「選択後次のボックスにフォーカスを移す」指定をした場合。

スペース，または復改キー（［スペース］，［Enter］）
フォーカス（入力権）のあるボタンの状態が，交互（オン／オフ）に変わります。

(6)　画面確定キー

画面が送信できる状態で，キーが押されると送信要求の発生をAPに通知します。

なお，OLTPサーバ構成の環境で，OpenTP1上で「次メッセージ要求キー」として割り当てられているキーのイベントはAPに渡りません。

(a)　送信（実行）キー（テンキー側の［Enter］）

送信できる状態であるかどうかのチェック（ウィンドウ内のフィールドボックス，入出力テキストボックス，リストボックス，ラジオボタンボックスについて）をして，送信のイベント通知コードをAPに返します。

(b)　PF1～PF12キー

（［F1］～［F12］）

(c)　PF13～PF24キー

（［Shift］＋［F1］～［F12］）

(d)　PF25～PF36キー

（［Ctrl］+［F1］～［F12］）

(e)　PF37～PF48キー

（［Ctrl］+［Shift］+［F1］～［F12］）

(f)　PF49～PF60キー

（［Alt］+［F1］～［F12］）

(g)　PF61～PF72キー

（［Alt］+［Shift］+［F1］～［F12］）

(h)　PF73～PF84キー

（［Ctrl］+［Alt］+［F1］～［F12］）

(i)　PA1～PA3キー

（［PageUp］，［PageDown］，［Ctrl＋PageUp］）

(j)　割込キー

（［Break］，［Ctrl］＋［Pause］）

(k)　スクリーン消去キー

（［Ctrl］＋［Delete］）

XMAP3で入力エラーとなるキー
オンライン端末で使用するキーです。XMAP3では押しても無効です。

SRQキー（［Ctrl＋Q］）

テストキー（［Ctrl＋T］）

使用できないキー
Windows 95，Windows 98，Windows Meでは，［Alt］＋［F6］キーまたは［Alt］＋［Shift］＋［F6］キーはWindowsの画面重なり制御に割り当てられているため，使用できません。

(7)　取消キー（［Ctrl］＋［R］）

オペレータインジケータの入力エラー表示を解除します。オペレータインジケータが表示するメッセージについてはマニュアル「XMAP3 開発・実行ガイド」を参照してください。

キーボードのロック状態を解除します。

4.2.2　キーでのデータ入力と編集

＜この項の構成＞

(1)　一般規則

(2)　数値入力

(3)　金額入力

(4)　日付入力

(5)　ワンタッチクリア

(6)　トグルフィールド

(7)　キー入力コンボボックス

(1)　一般規則

キーでデータを入力したり，入力したデータを編集する場合の，一般的な動きを次に示します。

(a)　文字を入力する場合

キーでの文字入力は左詰めです。

(b)　カーソルを移動する場合

カーソルはカーソル移動キーを押すと，カーソル移動キーの方向に一文字ずつ移動します。フィールドの最後までカーソルが移動したあとで，さらにカーソル移動キーを押すと，フィールドの先頭にカーソルが戻ります。

(c)　オブジェクトの属性によってフォーカス・カーソル移動が変わる場合

ポップアップメニューは，使用目的が自動スキップか手動スキップかでフォーカス・カーソルの移動が変わります。

使用目的が「自動スキップ」になっている場合は，フォーカスが位置づくと自動的にポップアップメニューが表示されます。ポップアップのメニュー項目をマウスまたはキーで選択すると，次の項目にフォーカスが移ります。

使用目的が「手動スキップ」になっている場合は，ポップアップのメニュー項目を選択しても，フォーカスは次の項目へ移りません。「手動スキップ」のときは，［Tab］キーで次の項目へ移動させます。

(2)　数値入力

(a)　データ入力

数値データは右詰めで入力されます。

(b)　データ編集

データを削除する場合は，削除したい数字にカーソルを位置づけ，［スペース］を押します。

使用目的が「数値」，詳細目的が「数字・数字記号」の入出力テキスト・フィールドでは，ヌル（0x00）が入力されます。

(3)　金額入力

(a)　データ入力

金額データは右詰めで入力され，3桁目ごとに「，」が打たれます。

(b)　データ編集

データを削除する場合は，削除したい数字にカーソルを位置づけ，［スペース］を押します。編集前に打たれた「，」の位置は自動的に変更されます。

(4)　日付入力

ここでは西暦の日付を入力する例を示します。和暦の日付の入力，および時刻の入力も同様です。

(a)　データ入力

表示したい年月日を入力します。［Tab］などでフィールドからフォーカスが離脱し画面が確定すると，ドロー時に設定した形式で表示されます。

(b)　データ編集

一度確定した日付のフィールドにフォーカス・カーソルを位置づけると，データを編集できる状態になります。

(5)　ワンタッチクリア

全体を選択状態にしておくことで，データの一括書き換えができます。

(a)　ワンタッチクリア

(b)　ワンタッチクリアを解除して，一部をクリア

(6)　トグルフィールド

トグルフィールドの「オン／オフ」の切り替えをマウスでします。

(7)　キー入力コンボボックス

メニューが開いている状態で入出力ボックスに文字列を入力すると，入力した文字列と同じ通知コードを持つメニュー項目がある場合は，そのメニュー項目が見えるようにスクロールし，そのメニュー項目を選択状態にします。

同じ通知コードを持つメニュー項目がない場合は，どのメニュー項目も選択されていない状態にします。

4.3　マウス操作

＜この節の構成＞

4.3.1　有効となるボタン

4.3.2　シングルクリックとダブルクリック

4.3.3　マウスでのクリック

4.3.4　ホイールマウスでの操作

4.3.1　有効となるボタン

マウスのボタンは，左側だけを使用します。なお，このマニュアルでマウスを指すときは，右手用のマウスを想定しています。また，ホイールマウスのホイールボタンを利用できます。

4.3.2　シングルクリックとダブルクリック

画面上のオブジェクトとマウスでのクリックによる動作

4.3.3　マウスでのクリック

＜この項の構成＞

(1)　ボックス間のフォーカス移動

(2)　リストボックス内のフォーカス移動

(3)　コンボボックスのフォーカス移動

(4)　各オブジェクトでのスクロール量

(1)　ボックス間のフォーカス移動

フォーカス（入力権）のあるボタンをクリックすると，ボタンの状態が交互（オン／オフ）に変わります。

フォーカス（入力権）のないボタンをクリックすると，クリックしたボタンにフォーカスが移動し，ボタンの状態がオンまたはオフに変わります。

マウスでボックスの上をクリックすると，クリックしたボックスにフォーカスが移動します。

(2)　リストボックス内のフォーカス移動

マウスの左ボタンをクリックすると，フォーカス（入力権）の有無に関係なくクリックされた項目（リスト）に割り当てられた値をフィールドに展開します。

フィールドにデータを展開すると，タブキーを押したときと同じ動作をします。なお，このとき属性で指定した「選択必須（選択しないときはエラーにする）」，および「自動送信（選択直後APへ制御を渡す）」が有効になります。

リストを選択したあとの動作を，属性の設定によって指定できます。指定できる動作は次の二つです。

フォーカスが次の項目（リスト）へ移動する
複数選択で，「自動スキップ（選択したら次のフィールドにフォーカスを移す）」指定をした場合。

フォーカスが次のボックスに移動する
単一選択で，「自動スキップ（選択したら次のボックスにフォーカスを移す）」指定をした場合。

(3)　コンボボックスのフォーカス移動

マウスの左ボタンをクリックすると，フォーカスの有無に関係なくクリックされたメニューに対応する値をコンボボックスに展開します。

注

コンボボックスに値を展開すると，タブキーを押したときと同じ動作をします。なお，このとき属性で指定した「選択済み（選択しなくても通知コードをAPに返す）」，および「自動送信（選択直後にAPへ制御を渡す）」が有効になります。

(4)　各オブジェクトでのスクロール量

各オブジェクトでマウスをクリックしたりドラッグしたときのスクロール量を次に示します。

オブジェクト
マウス

スクロールバーのバー
スクロールバーのバー以外の
部分
スクロールバーのボタン部分

縦または横
縦
横
縦
横

フィールド
ボックス
ドラッグ分
1ページ
1ページ
1行
1列

リスト
ドラッグ分
1ページ
1ページ
1行
1列

コンボ
ドラッグ分
1ページ
スクロールしない
1行
スクロールしない

ポップアップ
ドラッグ分
1ページ
スクロールしない※
1行
スクロールしない※

ウィンドウ
ドラッグ分
1ページ
1ページ
1行
1列

注※

メニューをリスト表示しているポップアップでは，次のようになります。

スクロールバーのバー以外の部分：1ページ

スクロールバーのボタン部分：半角1文字分

4.3.4　ホイールマウスでの操作

ホイールマウスでは，スクロール，コンボボックスメニュー選択，およびスピンボックス値を設定できます。動作および対象オブジェクトについて説明します。

＜この項の構成＞

(1)　スクロール

(2)　コンボボックスメニュー選択

(3)　スピンボックス値設定

(4)　注意事項

(1)　スクロール

(a)　動作

垂直スクロールバーがあるオブジェクトに対してホイールマウスを奥に回転させると上に，手前に回転させると下にスクロールします。

ホイールマウスの1メモリ回転分が，スクロールバーの「▲」，「▼」ボタンの1回の押下に対応します。なお，フィールドボックスでは，このときのスクロール量は，表示・印刷セットアップで設定できます。

垂直スクロールバーが表示されない状態では，ホイールマウスによるスクロールはできません。

水平スクロールには対応しません。

(b)　対象オブジェクト

ホイールマウスのスクロールの対象オブジェクトは，次のとおりです。

フィールドボックス

リストボックス

コンボボックスのメニュー部分

キー入力コンボボックスのメニュー部分

ポップアップテキストのメニュー部分（標準，リスト－ポップアップ型，リスト－ダイアログ型）

ポップアップフィールドのメニュー部分

出力グラフィック※

GUI画面※

CUI画面

注※

スクロールさせる場合は，フォーカスを持つオブジェクトがない画面で操作するか，ボタン系オブジェクトにフォーカスを置いて操作する必要があります。

その際，出力グラフィックをスクロールさせる場合は出力グラフィックを，GUI画面をスクロールさせる場合はGUI画面のオブジェクトがない部分をクリックすると，それぞれをスクロール対象に変更できます。

(2)　コンボボックスメニュー選択

(a)　動作

メニューの閉じた状態のコンボボックスに対して，ホイールマウスを奥に回転させると上の，手前に回転させると下のメニューを選択します。

ホイールマウスの1メモリ回転分が，メニュー一つの移動に相当します。

ホイールマウスの回転操作では，自動送信属性の有無にかかわらず，自動送信されません。フォーカス遷移時は，自動送信属性が有効になります。

ホイールマウスの回転操作では，自動スキップ属性の有無にかかわらず，自動スキップしません。

(b)　対象オブジェクト

コンボボックスメニュー選択の対象オブジェクトは，次のとおりです。

固定コンボボックス

可変コンボボックス

キー入力固定コンボボックス

キー入力可変コンボボックス

(3)　スピンボックス値設定

(a)　動作

スピンボックスに対して，ホイールマウスを奥に回転させると増分値加算，手前に回転させると増分値減算をします。

ホイールマウスの1メモリ回転分が，増分値で設定した値分の変更に相当します。

マウスホイールの回転操作では，自動送信属性の有無にかかわらず，自動送信されません。フォーカス遷移時は自動送信属性が有効になります。

マウスホイールの回転操作では，自動スキップ属性の有無にかかわらず，自動スキップされません。

(b)　対象オブジェクト

スピンボックス

(4)　注意事項

マウスによってはコントロールパネルなどで，ホイールマウス操作時の動作をカスタマイズできるものがあります。ホイールマウス操作時の動作をカスタマイズした場合は，カスタマイズした内容に依存した動作となり，通常の動作をするとは限りません。

4.4　コピー＆ペースト操作

XMAP3では，コピー（複写）＆ペースト（貼り付け）ができます。

コピー＆ペーストには，XMAP3の表示サービスが同じである画面間でできる場合と，表示サービスが異なっている画面間（XMAP3以外の画面との間も含む）でもできる場合とがあります。GUI機能の画面のコピー＆ペースト機能の範囲を次の表に示します。

表4-11　コピー＆ペースト機能範囲

画面
コピー＆ペースト範囲

表示サービスが同じ画面間
表示サービスが異なる画面間

GUI機能
C/Sシステム構成でのコピー&ペーストには，XMAP3が持っているクリップボードを使用する方法と，OSが持っているクリップボードを使用する方法がある。
ただし，スタンドアロン構成でのコピー&ペーストは，OSが持つクリップボードを使用する方法だけとなる。
OSが持っているクリップボードを使用するコピー&ペースト。

以降の項で，XMAP3でのコピーの対象，ペーストの対象，およびクリップボードを使用したコピー＆ペースト操作について説明します。

＜この節の構成＞

4.4.1　コピーの対象

4.4.2　ペーストの対象

4.4.3　クリップボードを使用したコピー＆ペースト操作

4.4.1　コピーの対象

XMAP3では次に示すデータをコピーします。

フィールドボックスの1フィールド

フィールドボックスの複数フィールド

入出力テキスト

リストボックスの1リスト（項目）

コピーするデータは必ず表示されていなければなりません。CUI画面で，データがない部分に対してコピーの操作をした場合は，オペレータインジケータに「Xコピー」が表示されます。

コピーの対象となるデータについて(1)～(5)で説明します。

＜この項の構成＞

(1)　フィールドボックスの1フィールド

(2)　フィールドボックスの複数フィールド

(3)　入出力テキスト

(4)　リストボックスの1リスト（項目）

(1)　フィールドボックスの1フィールド

文字データだけがコピーの対象となります。属性（拡大，色など）はコピーの対象にはなりません。なお，表示・印刷セットアップの「キー操作2」タブの「コピー&ペーストモード」で「単一フィールド」が選択されている場合，複数のフィールドに対しマウスでドラッグ操作をした場合には，一つのフィールドだけが反転表示されます。

(2)　フィールドボックスの複数フィールド

表示・印刷セットアップの「キー操作2」タブの「コピー&ペーストモード」で「複数フィールド」が選択されている場合，文字だけがコピーの対象となり，属性（拡大，色など）はコピーの対象となりません。表形式で表示されている複数のフィールドに対してマウスをドラッグさせると，ドラッグした矩形の領域内にあるフィールドがコピーの対象となるため，反転表示されます。

これらのフィールドをコピーすると，フィールド間に区切り文字が付けられた形式で，クリップボードに複写されます。単一行内のフィールド間の区切り文字は，タブ(09)₁₆になります。また，コピー範囲が複数行にわたる場合は，行間の区切り文字は改行コードCRLF(0D0A)₁₆になります。この形式は，表計算ソフトなどで矩形領域を選択してコピーをするときの，一般的な形式と同じです。

なお，この機能を利用できるのは，OSのクリップボードを使用してコピーをするときだけです。

また，プレーン領域がフィールドボックスよりも大きい場合，ボックスの枠内に表示されている文字列だけがコピーできます。隠れたプレーン領域にある文字列をコピーすることはできません。

「複数フィールド」を選択している場合，複数行にわたるフィールドはコピー&ペーストの対象にできません。複数行にわたるフィールドを対象とするときは，表示・印刷セットアップの「キー操作2」タブの「コピー&ペーストモード」で「単一フィールド」を選択してください。

(3)　入出力テキスト

表示・印刷セットアップの指定にかかわらず，単一フィールドだけがコピーの対象となります。

また，文字データだけがコピーの対象となり，属性（拡大，色など）はコピーの対象となりません。表形式で表示されている複数のフィールドに対してマウスをドラッグさせると，一つのフィールドだけがコピーの対象となり，反転表示されます。

(4)　リストボックスの1リスト（項目）

リストボックスでは，マウスで選択操作をしたリスト（項目）がコピーの対象となります。なお，マウスでのドラッグ操作はできません。

4.4.2　ペーストの対象

XMAP3でのペーストの対象について説明します。また，ペーストの動作についてもあわせて説明します。

XMAP3でのペーストの対象と動作は，表示・印刷セットアップの「キー操作2」タブの「コピー&ペーストモード」で「単一フィールド」を選択している場合と，「複数フィールド」を選択している場合で異なります。それぞれの場合のペーストの対象と動作について説明します。

＜この項の構成＞

(1)　「単一フィールド」を選択している場合

(2)　「複数フィールド」を選択している場合

(1)　「単一フィールド」を選択している場合

「単一フィールド」を選択している場合，コピーしたデータを入出力テキストボックスおよびフィールドボックスの入力できる状態のフィールドにペーストします。ペーストはカレントカーソル位置を基準に実行されます。

なお，ペーストの動作は，ペーストするフィールドの属性と，表示・印刷セットアップの「キー操作2」タブの「コピー&ペーストモード」での設定によって異なります。

ペーストするフィールドの属性とペーストの動作
ペーストするフィールドの属性が自動スキップモードの場合，ペーストデータがペースト先のフィールドより長いとき，次にフォーカス遷移するフィールドに順次残りのデータがペーストされます。次にフォーカス遷移するフィールドの属性が文字入力不可の場合，残りのデータは切り捨てられます。
自動スキップモードのフィールドへのペーストの例を次の図に示します。

図4-2　自動スキップモードのフィールドへのペーストの例

表示・印刷セットアップの設定とペーストの動作
表示・印刷セットアップの「キー操作2」タブの「コピー&ペーストモード」で「単一フィールド」を選択して，「タブ／改行コードをペーストする」を選択していない場合，コピーしたデータに含まれるタブ(09)₁₆および改行コード（(0D0A)₁₆または(0A)₁₆）が削除されて，前後の文字と連結した状態でペーストされます。

参考

表示・印刷セットアップの「キー操作2」タブの「コピー&ペーストモード」で「複数フィールド」を選択している場合，タブ(09)₁₆および改行コード（(0D0A)₁₆または(0A)₁₆）はペーストされません。

「タブ／改行コードをペーストする」を選択していない場合のペーストの例を次の図に示します。

図4-3　「タブ／改行コードをペーストする」を選択していない場合のペーストの例

なお，「タブ／改行コードをペーストする」を選択していない場合，日付や時刻を表すデータを表示するフィールドに，タブ(09)₁₆または改行コード（(0D0A)₁₆または(0A)₁₆）で区切られたデータをペーストすることもできます。時刻フィールドへのペーストの例を次の図に示します。

図4-4　時刻フィールドへのペーストの例

(2)　「複数フィールド」を選択している場合

「複数フィールド」を選択している場合，コピーしたデータをフィールドボックスの入力できる状態のフィールドにペーストします。コピーした領域の行列数またはフィールドの長さよりも大き目の領域をペーストの対象領域にすると，コピーした内容を確実にペーストできます。

「複数フィールド」を選択している場合，複数行にわたるフィールドはコピー&ペーストの対象にできません。複数行にわたるフィールドを対象とするときは，表示・印刷セットアップの「キー操作2」タブの「コピー&ペーストモード」で「単一フィールド」を選択してください。

次に，特殊なペーストについて説明します。

保護されているフィールドの場合
保護されている可変フィールドや，固定フィールドがある場合，そのフィールドをスキップして次のフィールドにデータをペーストします。

コピーデータに区切りコードがある場合
コピーデータ中にフィールド区切りコードがある場合，区切りコード以降のデータは次のフィールドにペーストされます。

コピーデータに改行コードがある場合
コピーデータ中に改行コードがある場合，改行コード以降のデータは改行され，次の行のフィールドにペーストされます。ペーストと同時にカーソル位置も移動されます。なお，改行コードとしてCRLF(0D0A)₁₆を使用した場合と，LF(0A)₁₆を使用した場合のどちらでも同様に動作します。

自動送信動作によって中断される場合
ペースト中に自動送信動作が実行された場合は，ペーストは中断され，残りのデータは破棄されます。自動送信動作は，フィールドが自動入力フィールドである場合，コピーデータをペーストする前に，次のフィールドに移るとき実行されます。

入力論理チェックによって中断される場合
ペースト中に入力論理チェックが実行された場合は，ペーストは中断され，残りのデータは破棄されます。入力論理チェックには，「桁あふれチェック」「全桁チェック」「モジュラスチェック」「右寄せチェック」「フィールドの有効文字指定と入力データとの整合性チェック」などがあります。

フィールドにデータが収まらない場合
データがフィールドに収まらない場合は，収まらない分を次のフィールドにペーストします。

データ長がフィールド長より短い場合
データ長がフィールド長より短い場合は，ペーストは中断されます。この場合，ヌル(00)₁₆を埋めてもエラーになります。

ペースト中に後続のフィールドがなくなった場合
画面の最後の対象フィールドにペースト中，フィールドが終了した場合，残りのデータは画面の最初の対象フィールドにペーストされます。ただし，そのフィールドにすでにデータがペーストされている場合は，ペーストが中断されます。

注

矩形領域をペーストする場合，ペースト前のXMAP3画面のカーソルがフィールドの途中に位置づいていても，フィールドの先頭からペーストされます。

4.4.3　クリップボードを使用したコピー＆ペースト操作

コピー＆ペーストは，フォーカスのあるビューポートで操作できます。

XMAP3表示サービスが同じ画面間かどうかにかかわらず，キーによるコピー＆ペースト操作（OSのクリップボードを使用したコピー＆ペースト）ができます。Windows上で動作する一般的なAPと操作を同じにするには，キーによるコピー＆ペーストを使用することをお勧めします。

次に説明している，マウスによるコピー＆ペースト操作（XMAP3が持つクリップボードを使用した操作）は，表示・印刷セットアップの設定で「マウスによるコピー＆ペーストを使用する」をチェックすると，使用できます。

XMAP3画面でのコピー

コピーしたい文字データの先頭にカーソルを位置づけ，ダブルクリックするか，またはマウスの左ボタンを押したまま文字データの末尾までカーソルを移動させます。

コピー対象の文字列が反転している状態で，コピー機能を割り当てているキーを押すか，メニューバーの［コピー］を選びます。
クリップボードにデータが複写されます。
なお，コピー機能に使用するキーは，（［Ctrl］＋［Insert］）または（［Ctrl］＋［C］）です。表示・印刷セットアップで，どちらにコピー機能を割り当てるかを指定します。

GUI画面では，メニューバーにコピー機能を指定できるので，そのメニューを選択しても同じ動作になります。

XMAP3画面でのペースト

文字列をペーストしたい位置に，マウスの左ボタンでカーソルを位置づけます。

その状態でペースト機能を割り当てているキーを押すか，メニューバーから［貼り付け］を選ぶと，クリップボードのデータがテキストまたはフィールドに貼り付けられます。なお，ペースト機能に使用するキーは（［Shift］＋［Insert］）または（［Ctrl］＋［V］）です。表示・印刷セットアップで，どちらにペースト機能を割り当てるかを指定します。GUI画面では，メニューバーにペースト機能を指定できるので，そのメニューを選択しても同じ動作になります。

注

表示・印刷セットアップで「単一フィールド」および「タブ／改行コードをペーストする」が指定されている場合，使用目的が「日本語」，「カナ」または「英数」の入出力テキスト・フィールドに，XMAP3画面以外からデータをペーストすると，「タブ文字」および「改行文字」もペーストされます。ただし，改行文字としてCRLF(0D0A)₁₆をペーストした場合はLF(0A)₁₆としてペーストされます。このとき，これらの文字は空白表示されます。

なお，次に示す場合は，「タブ文字」および「改行文字」はペーストされません。

入出力テキスト・フィールドの使用目的が「日本語」，「カナ」または「英数」以外の場合

表示・印刷セットアップで「単一フィールド」が指定されていて，「タブ／改行コードをペーストする」が指定されていない場合

表示・印刷セットアップで「複数フィールド」が指定されている場合

5.　論理マップ生成規則とマッピング規則

GUI画面，またはCUI画面をレイアウトして保存すると，論理マップが生成されます。この章では，生成された論理マップとマッピング規則の関係について説明します。

＜この章の構成＞

5.1　論理マップとは

5.2　固定部の論理マップ生成規則とマッピング規則

5.3　可変部の論理マップ生成規則とマッピング規則

5.4　可変部の論理マップ生成規則とマッピング規則（GUI画面固有）

5.5　定数部の論理マップ生成規則とマッピング規則

5.6　予約テキスト・フィールドのマッピング規則

5.1　論理マップとは

＜この節の構成＞

5.1.1　論理マップの構成

5.1.2　論理マップ生成規則で使用する用語

5.1.3　生成される標準のデータ名

5.1.4　ターゲットでの論理マップの違い

5.1.5　マッピングオプション

5.1.6　使用目的／詳細目的とデータ型

5.1.7　ドローセットアップとの関係

5.1.8　下位項目を指定したときの扱い

5.1.9　フレームを使用したときの扱い

5.1.1　論理マップの構成

論理マップとは，APとディスプレイ，またはプリンタとの間で受け渡されるデータを格納する領域のことで，COBOLの登録集原文またはC言語のヘッダファイルとして記述されています。

論理マップには，出力論理マップと入力論理マップがあります。

出力論理マップ
APからディスプレイ，またはプリンタに出力するデータを格納する。

入力論理マップ
ディスプレイから表示画面に入力されたデータを格納する。

この出力論理マップと入力論理マップは，それぞれ固定部，可変部で構成されます。

また，ドローセットアップの論理マップ属性ダイアログで「定数部への論理マップ長出力」か「定数部の別ファイル出力」を指定したときだけ，定数部が生成されます。「定数部の別ファイル出力」を選んだときは，定数部だけが別ファイルに出力されます。

論理マップの構成を次の図に示します。

図5-1　論理マップの構成

論理マップ固定部
論理マップ固定部は，論理マップの先頭に必ず生成される領域です。この領域には，論理マップ全体の長さである論理マップ長を格納します。

論理マップ可変部
論理マップ可変部は，実際にAPとディスプレイ，またはプリンタとの間で受け渡されるデータを格納する領域です。この領域に格納されるデータには，次に示す論理データと制御データがあります。

論理データ
APとディスプレイ，またはプリンタ上の可変項目やメニューなどの各項目（オブジェクト）との間で実際に受け渡されるデータです。

制御データ
ディスプレイでカーソルの位置づけや項目の表示属性を動的変更するときなどのように，表示制御を目的としたデータです。

定数部
定数部は，APを作成するときに制御項目に代入，または参照するカーソル定数やフォーカス定数など定数をテーブル化したものです。
なお，表示属性を変更する標準の修飾名はあらかじめ登録集原文として，X3MODTBLが用意されていますので，このテーブルを使って制御項目に代入します。変更した場合，この定数テーブルを基にユーザ責任で追加，変更が必要になります。

5.1.2　論理マップ生成規則で使用する用語

ここでは，論理マップ生成規則で使っている用語と定義方法について説明します。用語と定義方法の対応を次の表に示します。

表5-1　論理マップ生成規則で使う用語と定義方法の対応

用語
説明
定義方法

再定義名
定義済みのマップを別定義として使用するときの名称。
画面属性ダイアログの［再定義名...］ボタンで表示される論理マップの再定義名ダイアログで指定する。

埋字

入出力テキスト（フィールド）の場合

画面入力またはAPから出力要求されたデータが，ドローで定義した項目の長さより短いときに埋められるデータ。

出力テキスト（フィールド）の場合

APから出力要求されたデータが，ドローで定義した項目の長さより短いときに埋められるデータ。

初期値は，ドローセットアップの使用目的および詳細目的別データ型（入出力テキスト・フィールド）／（出力テキスト・フィールド）ダイアログで指定する。また，各項目のダイアログでも指定できる。

桁寄せ
テキストやフィールドに表示されるデータを右または左のどちらかに寄せるための項目。

出力カーソル項目
（2進），
論理カーソル項目，
入力カーソル項目
（2進），
出力フォーカス項目，
入力フォーカス項目
画面の入力などを促すための位置を示す項目。GUI画面のテキストボックスではフォーカスおよびカーソルで指定し，それ以外のオブジェクトはフォーカスで指定する。CUI画面ではカーソルで指定する。
ドローセットアップのカーソルとフォーカスダイアログで指定する。

イベント通知コード
APに画面からのオペレーション（画面が確定したこと）を通知するためのコード。APとXMAP3システム間のインタフェース情報となる。
ドローセットアップのイベント通知コードダイアログで「データ名」，「通知コードの長さ」，および「通知コード」を指定する。

初期クリア文字
入力テキスト（フィールド）に対して何も入力しなかったとき，論理項目を何でクリアするかの文字。標準では，埋字と同じ文字が仮定される。
ドローセットアップの論理マップ属性ダイアログで指定する。

データ消去通知文字
表示データを［End］キー，または［HELP］キーで消去したり，(00)₁₆のデータを受信したりしたときに，XMAP3がAPに通知する値。

コードエラー通知文字
ディスプレイからの入力コードエラーを検出したことを XMAP3がAPに通知する値。

下位項目
一つのオブジェクトの入力または出力領域を，複数の領域に分割するための機能。
各オブジェクトの定義ダイアログで指定する。下位項目はデータ型が「文字（XX）」のときだけ指定できる。

5.1.3　生成される標準のデータ名

XMAP3が生成する論理マップは大きく次のようになります。

マップ名＋G　：　出力論理マップ全体をクリアするときに使用

マップ名＋K　：　入力論理マップ全体をクリアするときに使用

マップ名＋I　：　入力データ参照用

マップ名＋O　：　出力データ代入用

マップ名＋H　：　入力データチェック用（スペース，HIGH-VALUE，LOW-VALUE，ほか）

マップ名＋A　：　表示属性の動的変更制御項目代入用

次に，XMAP3が標準に生成するデータ名の一覧を次の表に示します。

表5-2　生成される標準のデータ名一覧

対象
画面
対象
オブジェクト
適用物
データ名

入力系データ名
出力系データ名

GUI
画面
－
マップクリア項目
マップ名K
マップ名G

ウィンドウ制御
－
マップ名-CNTRLO

ウィンドウ位置制御
－
マップ名-WINDOWW

イベント通知コード
マップ名-INCI
－

行列（2進）カーソル
行
1個目
マップ名-
INCURSN
マップ名-OUTCURSL

2個目
以降
マップ名-
INCURSｎN
マップ名-OUTCURSnL

列
1個目
マップ名-
INCURSM
マップ名-OUTCURSC

2個目
以降
マップ名-
INCURSnM
マップ名-
OUTCURSnC

論理カーソル
1個目
マップ名-
INCURS-LOCI
マップ名-
OUTCURS-LOCO

2個目
以降
マップ名-
INCURSnI
マップ名-
OUTCURSnO

フォーカス制御
マップ名-
INFOCUS-I
マップ名-
OUTFOCUS-O

隠しフィールド
マップ名-TRAN-I
－

確定キーの制御
－
マップ名-INCO

下位項目※1
マップ名-
FIELDnnnn-nnn-I
マップ名-
FIELDnnnn-nnn-O

メニューバー
メニューバー
イベント通知コードに対応
－

プルダウン

カスケード

メニュー制御項目
－
マップ名-
MENUnnnn-A

ポップアップメニュー
メニューリスト
－
－

可変用論理テーブル
マップ名-
POPUPnnnn-O

可変メニューラベル
マップ名-
POPUP-LABELnnnn-O

可変メニューコード
マップ名-
POPUP-CODEnnnn-O

可変メニュー選択ラベル
マップ名-
POPUP-TEXTnnnn-O

可変メニューアクセスキー
マップ名-
POPUP-KEYnnnn-O

ボックス
マップ名-
FIELDnnnn-I
マップ名-
FIELDnnnn-O

制御項目
－
マップ名-
FIELDnnnn-A

入力チェック項目
マップ名-
FIELDnnnn-H
－

ポップアップメニューファイル
－
マップ名-
POPFILEnnnn-O

固定テキスト
ボックス
－
－

制御項目
－
マップ名-
FIELDnnnn-A

出力テキスト
ボックス
－
マップ名-
FIELDnnnn-O

制御項目
－
マップ名-
FIELDnnnn-A

入出力テキスト
ボックス
マップ名-
FIELDnnnn-I
マップ名-
FIELDnnnn-O

制御項目
－
マップ名-
FIELDnnnn-A

入力チェック項目
マップ名-
FIELDnnnn-H
－

プッシュボタン
ボックス
イベント通知コードに対応
－

ラベルテキスト項目
－
マップ名-
BUTTONnnnn-O

ボタン制御項目
マップ名-
BUTTONnnnn-A

ラジオボタン
ボックス単位通知項目
マップ名-
FIELDnnnn-I
－

可変用論理テーブル
－
マップ名-
RADIOnnnn-O

可変ボタンラベル
マップ名-
RADIO-LABELnnnn-O

可変ボタンコード
マップ名-
RADIO-CODEnnnn-O

固定ボタン制御項目
マップ名-
RADIOnnnn-A

可変ボタン制御項目
マップ名-
FIELDnnnn-A

入力チェック項目
マップ名-
FIELDnnnn-H
－

チェックボタン
ボタン単位通知項目
マップ名-
FIELDnnnn-I
－

可変用論理テーブル
－
マップ名-
CHECKnnnn-O

可変ボタンラベル
マップ名-
CHECK-LABELnnnn-O

可変ボタンコード
マップ名-
CHECK-CODEnnnn-O

ボタン制御項目
マップ名-
FIELDnnnn-A

入力チェック項目
マップ名-
FIELDnnnn-H
－

リストボックス
ボックス単位通知項目※2
マップ名-
FIELDnnnn-I
－

可変用論理テーブル
－
マップ名-
LISTnnnn-O

可変リストラベル
マップ名-
LIST-LABELnnnn-O

可変リストコード
マップ名-
LIST-CODEnnnn-O

リスト制御項目
マップ名-
FIELDnnnn-A

入力チェック項目
マップ名-
FIELDnnnn-H
－

コンボボックス
ボックス
マップ名-
FIELDnnnn-I
マップ名-
FIELDnnnn-O

可変用論理テーブル
－
マップ名-
POPUPnnnn-O

可変メニューラベル
マップ名-
POPUP-LABELnnnn-O

可変メニューコード
マップ名-
POPUP-CODEnnnn-O

制御項目
マップ名-
FIELDnnnn-A

入力チェック項目
マップ名-
FIELDnnnn-H
－

グラフィック
出力グラフィック
－
マップ名-
FIELDnnnn-O

スピンボックス
ボックス
マップ名-
FIELDnnnn-I
マップ名-
FIELDnnnn-O

制御項目
－
マップ名-
FIELDnnnn-A

出力時刻
ボックス
－
マップ名-
FIELDnnnn-O

制御項目
－
マップ名-
FIELDnnnn-A

出力日付
ボックス
－
マップ名-
FIELDnnnn-O

制御項目
－
マップ名-
FIELDnnnn-A

入出力時刻
ボックス
マップ名-
FIELDnnnn-I
マップ名-
FIELDnnnn-O

制御項目
－
マップ名-
FIELDnnnn-A

入出力日付
ボックス
マップ名-
FIELDnnnn-I
マップ名-
FIELDnnnn-O

制御項目
－
マップ名-
FIELDnnnn-A

FB
※3
固定フィールド
固定項目
－
－

出力フィールド
出力項目
マップ名-
FIELDnnnn-O

出力項目制御
マップ名-
FIELDnnnn-A

入出力フィールド
入出力項目
マップ名-
FIELDnnnn-I
マップ名-
FIELDnnnn-O

入出力項目制御
－
マップ名-
FIELDnnnn-A

入力チェック項目
マップ名-
FIELDnnnn-H
－

トグルフィールド
ボックス
マップ名-
FIELDnnnn-I
－

制御項目
－
マップ名-
FIELDnnnn-A

入力チェック項目
マップ名-
FIELDnnnn-H
－

（凡例）

－：該当しない。

注

この表のデータ名は，COBOLの場合です。C言語の場合は，－（ハイフン）が＿（アンダーバー）になります。

注※1

下位項目は，テキストおよびフィールドで，各オブジェクトの定義ダイアログから設定した場合に生成されます。

注※2

単一選択リストボックスは，ボックス単位の通知項目で，複数選択リストボックスではリスト単位の通知項目となります。この表では，単一選択リストボックスで記述しています。

注※3

FB：フィールドボックス

5.1.4　ターゲットでの論理マップの違い

XMAP3では，ドローセットアップのターゲットの指定によって，生成する論理マップが異なります。

ドローセットアップの「運用管理者用の設定」で，ターゲットに「Windows用の画面・帳票開発」を指定した場合には，生成する論理マップの展開形式として，リトルエンディアン用，またはビッグエンディアン用のどちらかを設定できます。

ターゲットに「Windows用の画面・帳票開発」以外を指定した場合には，それぞれのターゲットに応じたエンディアンで論理マップを生成します。

5.1.5　マッピングオプション

マッピングオプションは，AP作成時に次に示す個所に指定します。

COBOLのSEND／RECEIVE／TRANSCEIVE文を用いる場合：通信記述項のMAPPING MODE句

COBOLのCALLインタフェースを用いる場合：マッピングインタフェース領域（XMAP-MDO）

C言語：マッピングインタフェース領域（XMAP_MDO）

マッピングオプションは次の項目で有効になります。

可変項目（入出力テキスト（フィールド））

項目属性

ポップアップ，テキストボックス，コンボボックス，スピンボックス

プッシュボタン

ラジオボタン，チェックボタン，リストボックス，トグルフィールド

出力グラフィック

入出力日付テキスト（フィールド），入出力時刻テキスト（フィールド）

マッピングオプションの説明を次の表に示します。

表5-3　マッピングオプション

目的
マッピングオプション
MAPPING MODE句の指定値
（COBOL）
マッピングインタフェース領域
（COBOL）
マッピングインタフェース領域
（C言語）

説明

同じ画面に対して2回目以降の表示方法
1回目または2回目でユーザデータを表示したいとき
マージ
（論理マップと物理マップをマージ）
空白，または0
XMAP-MDO-
MAPFLD
XMAP_MDO_
MAPFLD
論理項目，または制御項目に指定したデータを使って画面を表示する。ただし，表示属性の変更指定をしない項目属性については，画面定義時に指定した表示属性となる。同一画面をすべて書き換える（初期化）ときに使用する。

APからのデータだけで部分書き換えをしたいとき
論理マップだけ
2
XMAP-MDO-
LOGFLD
XMAP_MDO_
LOGFLD
論理項目，または制御項目に指定したデータを使って画面を表示する。ただし，表示属性の変更指定をしない項目属性については，直前の画面の表示属性になる。一般的には，3回目以降の表示で，入力した状態をそのままにして部分書き換えをしたいときに使用する。

1回目（初期）表示用
出力するユーザデータなし
物理マップだけ
3
XMAP-MDO-
PHFLD
XMAP_MDO_
PHFLD
論理項目，または制御項目に指定したデータを無視して，画面定義時の情報だけで画面を表示する。初期表示したいときに使用する（メニュー表示などに使用する）。

5.1.6　使用目的／詳細目的とデータ型

入出力テキスト（フィールド），出力テキスト（フィールド）およびキー入力コンボボックスの使用・詳細目的とデータ型の関係を表5-4および表5-5に示します。データ型は，COBOLのピクチャ句で指定するデータの型です。なお，CUI画面では詳細目的は指定しません。CUI画面の場合は，「詳細目的」の列を無視してください。

表5-4　使用目的および詳細目的とデータ型の関係（入出力テキスト・フィールド，キー入力コンボボックス）

使用目的

詳細目的
（GUIだけ）
データ型※1

COBOL

入力データ型
出力データ型

数字※2
数字・
数字記号※2
文字（XX）※2
文字（XX）

99999※2
99999

99999
ZZZZ9

その他のピクチャ
その他のピクチャ

モジュラス
文字（XX）
文字（XX）

99999
99999

99999
ZZZZ9

その他のピクチャ
その他のピクチャ

数字
文字（XX）
文字（XX）

99999
99999

金額
数字
文字（XX）
文字（XX）

99999
99999

小数点付き
999V9
999.9

99V99
99.99

9V999
9.999

V9999
.9999

符号付き
S99999
-99999

符号・小数点付き
S999V9
-999.9

S99V99
-99.99

S9V999
-9.999

SV9999
-.9999

数値
数字
文字（XX）
文字（XX）

99999
99999

小数点付き
999V9
999.9

99V99
99.99

9V999
9.999

V9999
.9999

符号付き
S99999
-99999

符号・小数点付き
S999V9
-999.9

S99V99
-99.99

S9V999
-9.999

SV9999
-.9999

数字・数字記号
文字（XX）
文字（XX）

カナ※2
カナ・半角※2
文字（XX）
文字（XX）

カナ

カナ・英大・数

カナ・英大・数・マイナス

カナ・英大・数・長音

カナ・英大・数・マイナス・長音

カナ・数

カナ・数・マイナス

カナ・数・長音

カナ・数・マイナス・長音

英数※2
半角※2
文字（XX）
文字（XX）

英大・カナ・数・記号

英大

アスタリスク・英大

英大・英小

英大・数・マイナス

英大・数

英大・英小・コンマ

数・マイナス

日本語※2
混在（全角・半角）※2
文字（XX）
文字（XX）

漢字※2
文字（XX）
文字（XX）

漢字（NN）
漢字（NN）

漢字（XX）※3
漢字（XX）※3

パスワード
半角
文字（XX）
文字（XX）

英大

英大・英小

英大・数

MCR
半角
文字（XX）
出力なし

英大

英大・英小

英大・数

注※1

C言語の場合は，データ型「char」だけ指定できます。

注※2

キー入力コンボボックスで指定できる使用目的，詳細目的およびデータ型です。

注※3

CUI画面の入出力フィールドの場合にだけ指定できます。

表5-5　使用目的および詳細目的とデータ型の関係（出力テキスト・フィールド）

使用目的

詳細目的
（GUIだけ）
データ型※

COBOL

入力データ型
出力データ型

数字
数字・
数字記号
文字（XX）
文字（XX）

99999
99999

99999
ZZZZ9

その他のピクチャ
その他のピクチャ

モジュラス
文字（XX）
文字（XX）

99999
99999

99999
ZZZZ9

その他のピクチャ
その他のピクチャ

数字
文字（XX）
文字（XX）

99999
99999

英数
半角
文字（XX）
文字（XX）

英大・カナ・数・記号

英大

アスタリスク・英大

英大・英小

英大・数・マイナス

英大・数

英大・英小・コンマ

数・マイナス

日本語
混在
（全角・半角）
文字（XX）
文字（XX）

漢字
文字（XX）
文字（XX）

漢字（NN）
漢字（NN）

漢字（XX）
漢字（XX）

注※

C言語の場合は，データ型「char」だけ指定できます。

入出力テキスト・フィールドの使用目的および詳細目的とデータ型の標準値は，ドローセットアップの使用目的別データ型（入出力テキスト・フィールド），使用目的別データ型（出力テキスト・フィールド）で変更することもできます。ただし，表5-4，表5-5以外の組み合わせは指定できません。なお，キー入力コンボボックスのデータ型は変更できません。

5.1.7　ドローセットアップとの関係

ドローセットアップは，画面・帳票定義に関する標準設定値の変更のためのものです。ここで設定した内容が生成されるマップの形式に反映されるため，必ず画面・帳票定義を始める前に済ませておく必要があります。

定義した後に変更する場合は，必ず「セットアップ情報反映」を使用してください。

なお，ドローセットアップの詳細については，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

5.1.8　下位項目を指定したときの扱い

下位項目は上位項目のデータ型が「文字（XX）」のときだけ指定できます。下位項目の指定では，下位項目のデータ長とデータ型を指定できます。

《COBOL》

《C言語》

5.1.9　フレームを使用したときの扱い

オブジェクトに対応するデータ項目をまとめて集団項目にします。

《COBOL》

《C言語》

5.2　固定部の論理マップ生成規則とマッピング規則

ここでは，固定部の入出力に関する論理マップ生成規則とマッピング規則について説明します。固定部の論理マップ生成規則とマッピング規則は，再定義名の有無によって内容が変わります。

固定部のマップに関する定義
固定部のマップに関係する定義は，再定義名の指定によって変わってきます。
再定義名は，画面属性ダイアログ（GUI画面の場合）の［再定義名...］ボタンで表示される論理マップの再定義名ダイアログで指定します。

＜この節の構成＞

5.2.1　固定部の出力論理マップ生成規則とマッピング規則

5.2.2　固定部の入力論理マップ生成規則とマッピング規則

5.2.1　固定部の出力論理マップ生成規則とマッピング規則

固定部の出力論理マップ生成規則とマッピング規則を次に示します。

＜この項の構成＞

(1)　出力論理マップ生成規則

(2)　マッピング規則

(1)　出力論理マップ生成規則

(a)　再定義名を指定した場合

《COBOL》

●論理マップ可変部の集団項目化を指定した場合

Windowsリトルエンディアン用，Linux用

Windowsビッグエンディアン用，AIX／HP-UX／Solaris用

●論理マップ可変部の集団項目化を指定していない場合

Windowsリトルエンディアン用，Linux用

Windowsビッグエンディアン用，AIX／HP-UX／Solaris用

《C言語》

C言語の場合，集団項目化の指定は無視されます。

Windowsリトルエンディアン用，AIX／HP-UX／Solaris／Linux用

注
　　shortの大きさは，2バイトとして展開されます。

Windowsビッグエンディアン用

(b)　再定義名を指定しない場合

《COBOL》

●論理マップ可変部の集団項目化を指定した場合

Windowsリトルエンディアン用，Linux用

Windowsビッグエンディアン用，AIX／HP-UX／Solaris用
＜論理マップ長が10,000バイト未満の場合＞

＜論理マップ長が10,000バイト以上の場合＞

●論理マップ可変部の集団項目化を指定していない場合

Windowsリトルエンディアン用，Linux用

Windowsビッグエンディアン用，AIX／HP-UX／Solaris用
＜論理マップ長が10,000バイト未満の場合＞

＜論理マップ長が10,000バイト以上の場合＞

《C言語》

C言語の場合，集団項目化の指定は無視されます。

Windowsリトルエンディアン用，AIX／HP-UX／Solaris／Linux用

注
　　shortの大きさは，2バイトとして展開されます。

Windowsビッグエンディアン用

(2)　マッピング規則

(a)　再定義名を指定した場合

論理マップ長部（マップ名Lで生成される項目）に代入した内容とその結果

論理マップ長部に代入した内容 | 結果
展開した論理マップより小さい値 | 代入された論理マップ長が示す範囲のデータを使って画面・帳票出力のデータとして使用される。範囲外の部分にはデータ有無コードが代入されているものとして扱う。
展開した論理マップ長と等しい値 | 論理マップ内のデータを，画面・帳票出力のデータとして使用する。
展開した論理マップより大きい値 | マップ生成機能が展開した論理マップの範囲までのデータを，画面・帳票出力のデータとして使用する。それ以外の部分は無視される。

(b)　再定義名を指定しない場合

論理マップ長部（マップ名Lで生成される項目）に代入した内容とその結果は，再定義名を指定した場合と同様になります。

5.2.2　固定部の入力論理マップ生成規則とマッピング規則

固定部の入力論理マップ生成規則とマッピング規則を次に示します。

＜この項の構成＞

(1)　入力論理マップ生成規則

(2)　マッピング規則

(1)　入力論理マップ生成規則

(a)　再定義名を指定した場合

《COBOL》

●論理マップ可変部の集団項目化を指定した場合

Windowsリトルエンディアン用，Linux用

Windowsビッグエンディアン用，AIX／HP-UX／Solaris用

●論理マップ可変部の集団項目化を指定していない場合

Windowsリトルエンディアン用，Linux用

Windowsビッグエンディアン用，AIX／HP-UX／Solaris用

《C言語》

C言語の場合，集団項目化の指定は無視されます。

Windowsリトルエンディアン用，AIX／HP-UX／Solaris／Linux用

注
　　shortの大きさは，2バイトとして展開されます。

Windowsビッグエンディアン用

(b)　再定義名を指定しない場合

《COBOL》

●論理マップ可変部の集団項目化を指定した場合

Windowsリトルエンディアン用，Linux用

Windowsビッグエンディアン用，AIX／HP-UX／Solaris用
＜論理マップ長が10,000バイト未満の場合＞

＜論理マップ長が10,000バイト以上の場合＞

●論理マップ可変部の集団項目化を指定していない場合

Windowsリトルエンディアン用，Linux用

Windowsビッグエンディアン用，AIX／HP-UX／Solaris用
＜論理マップ長が10,000バイト未満の場合＞

＜論理マップ長が10,000バイト以上の場合＞

《C言語》

C言語の場合，集団項目化の指定は無視されます。

Windowsリトルエンディアン用，AIX／HP-UX／Solaris／Linux用

注
　　shortの大きさは，2バイトとして展開されます。

Windowsビッグエンディアン用

(2)　マッピング規則

(a)　再定義名を指定した場合

論理マップ長部（マップ名Sで生成される項目）に代入した内容とその結果

論理マップ長部に代入した内容 | 結果
展開した論理マップより小さい値 | 入力マッピング時，論理マップ長部はチェックされない（マッピング制御機能が入力論理マップ長の値を代入する）ため，ほかの領域を壊すことがある。必ずマップ長分の領域を用意する必要がある。
展開した論理マップ長と等しい値 | 指定された論理マップの範囲に入力データが代入される。
展開した論理マップより大きい値 | マップ生成機能が展開した入力論理マップの範囲に入力データを代入し，それ以外の部分は無視する（データは代入されない）。論理マップ長部には，マッピング制御機能が入力論理マップ長の値を代入する。

(b)　再定義名を指定しない場合

論理マップ長部（マップ名Sで生成される項目）に代入した内容とその結果は，再定義名を指定した場合と同様になります。

5.3　可変部の論理マップ生成規則とマッピング規則

ここでは，可変部の入出力に関する論理マップ生成規則とマッピング規則について説明します。この節では，COBOLの数字項目の記述を次のようにしています。

PIC 9（長さ）と表記している項目
実際に生成される論理マップは，PIC 99999のように9が長さ分生成されます。

なお，論理項目に指定する文字データとして，ヌル(00)₁₆およびデータ有無コード(1F)₁₆を除く制御コード（JIS：(00)₁₆～(1F)₁₆，(7F)₁₆）は指定できません。

＜この節の構成＞

5.3.1　ウィンドウ表示

5.3.2　出力カーソル制御

5.3.3　入力カーソル制御

5.3.4　イベント通知コード

5.3.5　可変項目の論理マップ生成規則とマッピング規則

5.3.6　入力数字編集項目の論理マップ生成規則とマッピング規則

5.3.7　制御項目の論理マップ生成規則とマッピング規則

5.3.8　入力バイト数格納項目の論理マップ生成規則とマッピング規則

5.3.9　埋字と桁寄せに関するマッピング規則（出力フィールド）

5.3.10　フィールドキーを押したときのマッピング規則

5.3.11　データキーを押したときのマッピング規則

5.3.12　入力操作がなかったときのマッピング規則

5.3.13　コードエラーを検出したときのマッピング規則

5.3.14　埋字と桁寄せに関するマッピング規則（入力フィールド）

5.3.15　MCR入力のマッピング規則

5.3.16　隠しフィールドの論理マップ生成規則とマッピング規則

5.3.17　確定キーの制御情報

5.3.18　下位項目の論理マップ生成規則とマッピング規則

5.3.1　ウィンドウ表示

＜この項の構成＞

(1)　ウィンドウ表示の制御情報

(2)　論理マップ生成規則

(3)　マッピング規則

(1)　ウィンドウ表示の制御情報

制御情報の標準値

ウィンドウ制御項目データ名：マップ名-CNTRLO
データ名は，ドローセットアップの「ドローの設定」から表示する，表示属性の動的変更ダイアログの「データ名」タブで変更できます。

長さ：2
長さは，ドローセットアップの「運用管理者用の設定」の［修飾名の設定...］ボタンをクリックして表示される，修飾名の設定ダイアログで変更できます。変更するときには，「動的変更の種別」から「ウィンドウ属性」を選択し，「修飾名長」で長さを設定します。

(2)　論理マップ生成規則

ウィンドウ表示制御情報の論理マップ生成例を次に示します。

《COBOL》

《C言語》

(3)　マッピング規則

ウィンドウ表示制御情報のマッピング規則について説明します。

APがウィンドウ表示制御情報のデータ名の領域に代入した内容とその結果

APがウィンドウ表示制御情報のデータ名の領域に代入した内容 | 結果
修飾名と同じ | ウィンドウ表示制御情報の修飾名に対応するウィンドウ制御情報を使って画面が表示される。
データの先頭またはすべてがデータ有無コード，または修飾名以外（上記以外）。 | 標準のウィンドウ表示制御情報を使って画面が表示される。画面属性ダイアログの表示形態が「一部上書」，または「自動」の場合は，直前の表示画面と同じ画面のとき「一部上書」で，異なる画面のとき「全面書換」で表示する。

注

修飾名と修飾名に対応したウィンドウ表示制御情報は，ドローセットアップの「表示属性の動的変更」の「ウィンドウ属性」タブで変更できます。

5.3.2　出力カーソル制御

＜この項の構成＞

(1)　出力カーソル項目の定義

(2)　論理マップ生成規則

(3)　マッピング規則

(1)　出力カーソル項目の定義

行列（2進）カーソルの標準値

出力カーソル項目データ名：（行）マップ名-OUTCURSL，（列）マップ名-OUTCURSC

長さ：4

論理カーソルの標準値

論理カーソル項目データ名：　マップ名-OUTCURS-LOCO

長さ：2

データ名は，ドローセットアップの「カーソルとフォーカス」で変更できます。

(2)　論理マップ生成規則

出力カーソル制御の論理マップ生成例を次に示します。GUI画面のフォーカス・カーソル制御については，「5.4.8　フォーカス・カーソル位置の論理マップ生成規則とマッピング規則」を参照してください。

(a)　行列（2進）カーソルを指定した場合

《COBOL》

Windowsリトルエンディアン用，Linux用

Windowsビッグエンディアン用，AIX／HP-UX／Solaris用

《C言語》

(b)　論理カーソルを指定した場合

論理カーソル定数については「5.5.1(2)(b)　カーソル定数の出力の指定」を参照してください。

《COBOL》

《C言語》

(3)　マッピング規則

出力カーソル制御のマッピング規則について説明します。GUI画面のフォーカス・カーソル制御については，「5.4.8　フォーカス・カーソル位置の論理マップ生成規則とマッピング規則」を参照してください。

(a)　行列（2進）カーソルを指定した場合

APがカーソル項目データ名の領域に代入した内容とその結果

APがカーソル項目データ名の領域に代入した内容
結果

不正なカーソル位置※，
(00)₁₆クリア，またはデータ有無コードクリア

《ドローの定義画面で初期カーソル位置の指定がある》

初期カーソルを指定したフィールドの先頭にカーソルが位置づく。

《初期カーソル位置の指定がない》

先頭の行列位置にある入力できるフィールドにカーソルが位置づく。カーソルはフィールドの先頭に位置づく。

正しいカーソル位置
（1行／1列～画面サイズ）
出力カーソル項目データ名の領域に代入された値（行／列位置）にカーソルが位置づく。

注※

例えば，行／列が画面の大きさを超えている場合が該当します。

(b)　論理カーソルを指定した場合

APがカーソル項目データ名の領域に代入した内容とその結果

APがカーソル項目データ名の領域に代入した内容
結果

(00)₁₆クリア，または
マップ生成機能が生成するカーソル定数以外の値

《ドローの定義画面で初期カーソル位置の指定がある》

初期カーソルを指定したフィールドの先頭にカーソルが位置づく。

《初期カーソル位置の指定がない》

先頭の行列位置にある入力できるフィールドにカーソルが位置づく。カーソルはフィールドの先頭に位置づく。

マップ生成機能が生成するカーソル定数
カーソル定数に対応したフィールドの先頭にカーソルが位置づく。

5.3.3　入力カーソル制御

＜この項の構成＞

(1)　入力カーソル項目の定義

(2)　論理マップ生成規則とマッピング規則

(3)　マッピング規則

(1)　入力カーソル項目の定義

行列（2進）カーソルの標準値

入力カーソル項目データ名：（行）マップ名-INCURSN，（列）マップ名-INCURSM

長さ：4
データ名は，ドローセットアップの「カーソルとフォーカス」で変更できます。

論理カーソルの標準値

論理カーソル項目データ名　：　マップ名-INCURS-LOCI

長さ：2
データ名は，ドローセットアップの「カーソルとフォーカス」で変更できます。

(2)　論理マップ生成規則とマッピング規則

入力カーソル制御の論理マップ生成例とマッピング規則について説明します。GUI画面のフォーカス・カーソル制御については，「5.4.8　フォーカス・カーソル位置の論理マップ生成規則とマッピング規則」を参照してください。

(a)　行列（2進）カーソルを指定した場合

《COBOL》

Windowsリトルエンディアン用，Linux用

Windowsビッグエンディアン用，AIX／HP-UX／Solaris用

《C言語》

(b)　論理カーソルを指定した場合

論理カーソル定数については，「5.5.1(2)(b)　カーソル定数の出力の指定」を参照してください。

《COBOL》

《C言語》

(3)　マッピング規則

入力カーソル制御のマッピング規則について説明します。

(a)　行列（2進）カーソルを指定した場合

APのカーソル項目データ名の領域に代入される内容
画面送信時の入力カーソル位置（行／列位置）が行，列それぞれのデータ名に代入されます。

(b)　論理カーソルを指定した場合

APのカーソル項目データ名の領域に代入される内容

入力操作 | 結果
画面送信時のカーソル位置が入力・入出力フィールド内に収まっていない。 | (00)₁₆を代入する。
画面送信時のカーソル位置が入力・入出力フィールド内に収まっている。 | 該当するフィールドに対応する論理カーソル定数を代入する。

注

入力単位が「フィールド単位」または「イベント単位」の場合，キー操作をしたオブジェクトのカーソル定数を代入します。

5.3.4　イベント通知コード

＜この項の構成＞

(1)　イベント通知コードの定義

(2)　論理マップ生成規則

(3)　マッピング規則

(1)　イベント通知コードの定義

イベント通知項目は，通常マップ生成を実行すると自動的に生成されます。

イベント通知項目の標準値

イベント通知項目：マップ名-INCI

長さ（標準値）：4
標準値は，ドローセットアップのイベント通知コードの「通知コードのデータ名」および「通知コードの長さ」で変更できます。

(2)　論理マップ生成規則

イベント通知項目の論理マップ生成規則について説明します。

《COBOL》

《C言語》

(3)　マッピング規則

イベント通知項目のマッピング規則について説明します。

入力操作と結果（画面単位／フィールド単位の場合）

入力操作 | 結果
指定されたイベント通知コードと対応するキーが入力された。 | イベント通知項目の領域にイベント通知コードを代入する。余白がある場合，余白は空白（(20)₁₆）で埋める。
指定されたイベント通知コードと対応しないキーが入力された。またはMCR入力によって自動送信された。 | 初期クリア文字に従う。初期クリア文字が埋字の場合，イベント通知項目は空白（(20)₁₆）で埋める。

注

イベント通知コードは，ドローセットアップのイベント通知コードダイアログで変更できます。フィールドの全桁入力による自動送信の場合，送信キーが入力されたものとして動作します。フィールド単位，または自動送信属性が定義された項目に対してMCR入力するとき，項目長よりも長いデータを入力した場合は，MCR入力による自動送信ではなくフィールド離脱による自動送信の扱いとなります。

ターゲットの文字コードがEUCの場合，半角カナは2バイトの領域を必要とします。そのため，イベント通知コードの長さが半角カナの上位バイト（1バイト目）までしか設定できない場合には，イベント通知コードの末尾に不当な文字コードが設定されます。

入力操作と結果（イベント単位の場合）

入力操作 | 結果
マウスまたはキー操作でのフィールド離脱で，イベントが発生した。 | イベント通知項目に，イベント定数を代入する。繰り返しを指定している項目の場合，繰り返しの先頭項目と同じイベント定数を代入する。イベント定数については「5.5.2　イベント定数の論理マップ生成規則」を参照のこと。
指定されたイベント通知コードと対応するキーが入力された。 | イベント通知項目の領域にイベント通知コードを代入する。余白がある場合，余白は空白（(20)₁₆）で埋める。
指定されたイベント通知コードと対応しないキーが入力された。またはMCR入力によって自動送信された。 | 初期クリア文字に従う。初期クリア文字が埋字の場合，イベント通知項目は空白（(20)₁₆）で埋める。

注

MCR入力するとき，項目長よりも長いデータを入力した場合は，MCR入力による自動送信ではなくフィールド離脱による自動送信の扱いとなります。

5.3.5　可変項目の論理マップ生成規則とマッピング規則

＜この項の構成＞

(1)　可変項目の定義

(2)　可変項目の出力論理マップ生成規則とマッピング規則

(3)　可変項目の入力論理マップ生成規則とマッピング規則

(1)　可変項目の定義

GUI画面とGUI画面内のフィールドボックスでは，各項目の名称が次の表のように異なります。

表5-6　可変項目の名称の違い

可変項目 | GUI画面 | フィールドボックス
出力項目 | 出力テキストボックス | 出力フィールド
入出力項目 | 入出力テキストボックス | 入出力フィールド

各項目の名称は，それぞれの画面での名称に置き換えてください。

出力項目
出力テキストボックス，または出力フィールドに対して生成されます。

出力項目　　　：マップ名-FIELDnnnn-O

繰り返し回数　：縦，または横の反復回数（出力フィールドだけ）

長さ　　　　　：論理項目の長さ。指定がないときはフィールドのデータ長

データ型　　　：テキストボックス，フィールドのデータ型で設定

使用目的　　　：テキストボックス，フィールドの使用目的で設定
出力項目の使用目的を次の表に示します。

表5-7　出力項目の使用目的と使用できる項目

使用目的 | 使用できる項目
数字 | 文字，数字編集項目
英数 | 文字
日本語 | 文字，漢字

入力項目
入出力テキストボックス，または入出力フィールドに対して生成されます。次に示す入力項目以外の定義内容は「出力項目」と同じになります。

入力項目　：　マップ名-FIELDnnnn-I
入力項目の使用目的を次の表に示します。

表5-8　入力項目の使用目的と使用できる項目

使用目的 | 使用できる項目 | 使用目的 | 使用できる項目
数字 | 文字，数字編集項目 | 英数 | 文字
金額 | 文字編集項目 | 日本語 | 文字，漢字
数値 | 文字編集項目 | MCR | 文字
カナ | 文字 | パスワード | 文字

入出力項目
入出力テキストボックス，または入出力フィールドに対して生成されます。論理マップは，入力論理マップと出力論理マップに分けて出力されます。定義内容は出力項目と同じになります。

(2)　可変項目の出力論理マップ生成規則とマッピング規則

可変項目の出力論理マップ生成規則と論理マップ生成規則について説明します。

(a)　出力論理マップ生成規則

●初期値を設定しない場合

《COBOL》

COBOLの可変項目の生成規則は，使用目的によってデータ型が変わります。

数字項目の場合

文字項目の場合

漢字項目の場合

数字編集項目の場合

《C言語》

C言語使用時は，数字編集項目は指定できません。

日本語では，「桁寄せ」は左寄せになります。

●初期値を指定した場合

初期値を指定した場合の論理マップ生成例は初期値を指定しないときと同じです。

(b)　マッピング規則

●初期値を設定しない場合

APが出力項目データ名の領域に代入した内容と結果

APが出力項目データ名
の領域に代入した内容
マッピング
オプション
結果

すべてデータの場合
マージ，
論理マップ
代入されたデータを表示する。

先頭1文字がデータ有無コード
データ有無コード(1F)₁₆を設定した場合，例として
X'1F414234'またはX'1F1F1F'のようなデータが該当する。このとき，表示形態が「全面書換」か「一部上書」によって次のように異なる。
　全面書換の場合：何も表示しない。
　一部上書の場合：直前に表示したデータのまま表示する。

データの後半にデータ有無コード
データ有無コード(1F)₁₆を仮定した場合，例として
X'4142431F1F'のようなデータが該当する。この場合，「桁寄せ」の指定に従って桁寄せをし，指定した埋字を埋めて表示する。埋字と桁寄せのマッピング規則については，「5.3.9　埋字と桁寄せに関するマッピング規則（出力フィールド）」を参照のこと。

－
物理マップ
データを表示しない。

（凡例）

－：該当しない。

●初期値を指定した場合

APが出力項目データ名の領域に代入した内容と結果

APが出力項目データ名
の領域に代入した内容
マッピング
オプション
結果

先頭1文字がデータ有無コード
マージ，
論理マップ
《先頭1文字がデータ有無コードのときの結果》を参照。

すべてデータ
代入されたデータを表示する。

データの後半にデータ有無コード
この場合，「桁寄せ」の指定に従って桁寄せをし，指定した埋字を埋めて表示する（数字編集項目の場合は，編集文字に従って編集してから表示）。埋字と桁寄せのマッピング規則については，「5.3.9　埋字と桁寄せに関するマッピング規則（出力フィールド）」を参照のこと。

－
物理マップ
《先頭1文字がデータ有無コードのときの結果》を参照。

（凡例）

－：該当しない。

《先頭1文字がデータ有無コードのときの結果》

初期値の内容 | 結果
すべて空白（(20)₁₆） | 項目全体を空白で表示する。
すべて0（(30)₁₆） | 項目全体を0で表示する。
すべてヌル（(00)₁₆） | 項目をヌルクリアして表示する。
繰り返し文字指定 | 項目全体を繰り返し文字で表示する。
初期値の長さと画面の表示長とが等しい | 初期値を項目に表示する。
初期値の長さが画面の表示長より短い | 定義で指定した「桁寄せ」，および埋字に従って表示する。埋字抑止を指定した場合は，左寄せで初期値を項目に表示する。
初期値の長さが画面の表示長より長い | 「桁寄せ」に従って桁寄せし，余りを切り捨てて項目を表示する。

(3)　可変項目の入力論理マップ生成規則とマッピング規則

入出力フィールド・テキストを指定した場合の可変項目の入力論理マップ生成規則と論理マップ生成規則について説明します。

(a)　入力論理マップ生成規則

《COBOL》

COBOLの可変項目の生成規則は，使用目的によってデータ型が変わります。

●論理マップ可変部の集団項目化を指定した場合

数字項目の場合

文字項目の場合

漢字項目の場合

●論理マップ可変部の集団項目化を指定していない場合

数字項目の場合

文字項目の場合

漢字項目の場合

《C言語》

(b)　マッピング規則

入力操作と入力項目データ名の領域の内容

《使用目的が日本語以外の場合》

入力操作
結果（入力項目データ名の領域の内容）

半角のデータを入力
データを入力項目データ名の領域に代入する。

全角，または半角／全角のデータを入力※
コードエラー通知文字に従ってコードエラー通知文字で入力項目データ名の領域をクリアする。コードエラーを検出したときのマッピング規則の詳細については，「5.3.13　コードエラーを検出したときのマッピング規則」を参照のこと。

フィールドキーを押す（すべて(00)₁₆のデータ入力）
データ消去通知文字に従って入力項目データ名の領域をクリアする。フィールドキーを押したときのマッピング規則については，「5.3.10　フィールドキーを押したときのマッピング規則」を参照のこと。

入力操作なし

（初期値を指定している）

初期値で指定した定数を入力項目データ名の領域に代入する。

（初期値を指定していない）

初期値クリア文字に従って入力データ名の領域をクリアする。入力操作がなかったときのマッピング規則の詳細については，「5.3.12　入力操作がなかったときのマッピング規則」を参照のこと。

注※

カナのときだけ該当します。数字または英数字のときは，キー入力時点で入力できません。

《使用目的が日本語かつデータ型が漢字の場合》

入力操作
結果（入力項目データ名の領域の内容）

全角のデータを入力または半角スペースを入力
データを入力項目データ名の領域に代入する。

フィールドキーを押す（すべて(00)₁₆のデータ入力）
データ消去通知文字に従って入力項目データ名の領域をクリアする。フィールドキーを押したときのマッピング規則については，「5.3.10　フィールドキーを押したときのマッピング規則」を参照のこと。

入力操作なし

（初期値を指定している）

初期値で指定した定数を入力項目データ名の領域に代入する。

（初期値を指定していない）

初期値クリア文字に従って入力データ名の領域をクリアする。入力操作がなかったときのマッピング規則の詳細については，「5.3.12　入力操作がなかったときのマッピング規則」を参照のこと。

《使用目的が日本語かつデータ型が文字の場合》

入力操作
結果（入力項目データ名の領域の内容）

(00)₁₆以外のデータを入力
データを入力項目データ名の領域に代入する。

フィールドキーを押す（すべて(00)₁₆のデータ入力）
データ消去通知文字に従って入力項目データ名の領域をクリアする。フィールドキーを押したときのマッピング規則については，「5.3.10　フィールドキーを押したときのマッピング規則」を参照のこと。

入力操作なし

（初期値を指定している）

初期値で指定した定数を入力項目データ名の領域に代入する。

（初期値を指定していない）

初期値クリア文字に従って入力データ名の領域をクリアする。入力操作がなかったときのマッピング規則の詳細については，「5.3.12　入力操作がなかったときのマッピング規則」を参照のこと。

5.3.6　入力数字編集項目の論理マップ生成規則とマッピング規則

入力数字編集項目の論理マップ生成規則とマッピング規則について説明します。

＜この項の構成＞

(1)　入力数字編集項目の定義

(2)　論理マップ生成規則

(3)　マッピング規則

(1)　入力数字編集項目の定義

入出力テキストボックス，または入出力フィールドで，データ型が数値，金額のフィールドに対して生成されます。

入力項目　　　：マップ名-FIELDnnnn-I
数字編集文字列：データ型で指定できる数字編集文字列は次のとおり。「9」，「V」，「S」

繰り返し回数　：縦，または横の反復回数（入出力フィールドだけ）

(2)　論理マップ生成規則

《COBOL》

(3)　マッピング規則

入力操作と結果

入力操作
結果

フィールドキーを押した場合
データ消去通知文字に従って入力項目データ名の領域をクリアする。データ消去通知文字が埋字として指定してあるときは，0（(30)₁₆）でクリアする。

入力操作がない，またはENDキーを押した場合

（初期値が指定してある場合）

初期値で指定した定数を入力項目データ名の領域に代入する。

（初期値が指定していない場合）

初期クリア文字が埋字として指定してあるときは，0（(30)₁₆）でクリアする。

全桁に空白を入力した場合
空白（(20)₁₆）で入力項目データ名の領域をクリアする。また，NULLと空白を混在している場合も，すべて空白となる。

数字項目として正しいデータを入力した場合
数字編集項目の指定に従って入力項目データ名の領域に値を代入する。

数字項目として不正なデータを入力した場合※
入力チェックを指定した場合，入力時にエラーとなる。入力チェックを指定していない場合，コードエラー通知文字に従って入力項目データ名の領域をクリアする。コードエラー通知文字の標準はHIGH（X'FF'）である。

注※

不正なデータとは次のとおりです。

数字入力として不正な場合
・コンマ，ピリオド，符号，¥が連続している。
・数字の間に空白がある。
・数字（0～9）が一つもない。
・＊の直後が数字（0～9）でない。

ピクチャと一致しない場合
・オーバフロー，アンダフロー。
・Vなしのピクチャに対し，小数点がある。
・Sなしのピクチャに対し，マイナス符号がある。

「入力済み」属性を指定して，数字編集文字以外や桁数が合わないデータを表示して画面確定している場合

5.3.7　制御項目の論理マップ生成規則とマッピング規則

制御項目の論理マップ生成規則とマッピング規則について説明します。制御項目は，入出力テキストボックスダイアログ，または入出力フィールドダイアログで，出力だけに関する制御項目は出力テキストボックスダイアログ，または出力フィールドダイアログで「動的変更（APから表示属性を変更する）」を選んだときに生成されます。

＜この項の構成＞

(1)　制御項目の定義

(2)　論理マップ生成規則

(3)　マッピング規則

(1)　制御項目の定義

制御項目のデータ名：マップ名-FIELDnnnn-A
データ名は，各オブジェクトのダイアログの「データ名」で変更できます。

長さ：2
長さは，ドローセットアップの「運用管理者用の設定」の［修飾名の設定］ボタンをクリックして表示される，修飾名の設定ダイアログで変更できます。変更するときには，「動的変更の種別」から「キャラクタコントロール（キーエントリ／選択エントリ）」を選択し，「修飾名長」で長さを設定します。

繰り返し：フィールドの繰り返しと同じ

(2)　論理マップ生成規則

《COBOL》

《C言語》

(3)　マッピング規則

APが制御項目データ名の領域に代入した内容と結果

《上記ダイアログで「動的変更（APから表示属性を変更する）」を選んだ場合》

APが制御項目データ名
の領域に代入した内容
マッピング
オプション
結果

修飾名と同じ
マージ
修飾名に対応する表示属性を使って項目を表示する。

先頭にデータ有無コード，または修飾名以外（上記以外）
標準の属性を使って項目を表示する。

修飾名と同じ
論理マップ
修飾名に対応する属性を使って項目を表示する。

先頭にデータ有無コード，または修飾名以外（上記以外）

（表示形態が「全面書換」の場合）

標準の属性を使って表示する。

（表示形態が「一部上書」で直前に表示したマップ名と同じ場合）

直前の画面の表示属性を変更しないでデータだけを書き換える。

（表示形態が「一部上書」で直前に表示したマップ名と異なる場合）

標準の属性を使って表示する。

－
物理マップ
標準の属性を使って項目を表示する。

（凡例）

－：該当しない。

注

修飾名と修飾名に対応したテキスト・フィールド変更属性情報は，ドローセットアップの「表示属性の動的変更」の「キャラクタコントロール」タブで変更できます。

《上記ダイアログで「動的変更（APから表示属性を変更する）」を選ばない場合》

標準の属性を使って項目を表示します。

5.3.8　入力バイト数格納項目の論理マップ生成規則とマッピング規則

入力バイト数格納項目の論理マップ生成規則とマッピング規則について説明します。ドローセットアップの論理マップ属性で「入力データ長格納領域の生成」を選んだ場合対象になります。対象となるオブジェクトは，入出力テキスト（フィールド）になります。

＜この項の構成＞

(1)　入力バイト数格納項目の定義

(2)　論理マップ生成規則

(3)　マッピング規則

(1)　入力バイト数格納項目の定義

ドローセットアップの論理マップ属性で展開方式の「入力データ長格納領域の生成」を選んだときに生成されます。

(2)　論理マップ生成規則

《COBOL》

Windowsリトルエンディアン用，Linux用

Windowsビッグエンディアン用，AIX／HP-UX／Solaris用

《C言語》

(3)　マッピング規則

入力操作と結果（制御項目の内容）

《使用目的がカナ，英数の場合》

入力操作 | 結果（制御項目の内容）
半角のデータを入力 | 入力データ長を制御項目に代入する（埋字を含まない）。
全角または半角／全角混在のデータを入力，またはフィールドキーを押す。 | (00)₁₆を制御項目に代入する。
入力操作なし | 入出力テキストボックス・フィールドダイアログで「入力済み（入力しなくても表示データをAPに返す）」を選び，画面出力データが半角のときは画面上のデータ長を制御項目に代入する。それ以外は(00)₁₆を代入する。

《使用目的が日本語でデータ型が漢字の場合》

入力操作 | 結果（制御項目の内容）
フィールドキーを押す | (00)₁₆を制御項目に代入する。
全角のデータを入力 | 入力データ長（バイト数）を制御項目に代入する（埋字を含まない）。
入力操作なし | 入出力テキストボックス・フィールドダイアログで「入力済み（入力しなくても表示データをAPに返す）」を選び，画面出力データが全角のときは画面上のデータ長を制御項目に代入する。それ以外は(00)₁₆を代入する。

《使用目的が日本語でデータ型が文字の場合》

入力操作 | 結果（制御項目の内容）
(00)₁₆以外のデータを入力 | 入力データ長を制御項目に代入する（埋字を含まない）。
フィールドキーを押す | (00)₁₆を制御項目に代入する。
入力操作なし | 入出力テキストボックス・フィールドダイアログで「入力済み（入力しなくても表示データをAPに返す）」を選んだ場合，画面上のデータ長を制御項目に代入する。それ以外は(00)₁₆を代入する。

《使用目的が数字，数値，金額の場合》

入力操作
結果（制御項目の内容）

数字項目として正しいデータを入力
論理項目長を制御項目に代入する。

数字項目として不正なデータを入力，
フィールドキーを押す，
入力操作なし，または空白を入力。
(00)₁₆を制御項目に代入する。

5.3.9　埋字と桁寄せに関するマッピング規則（出力フィールド）

出力テキストボックス，または出力フィールドの埋字と桁寄せに関するマッピング規則について説明します。

定義 | 結果（画面表示結果）
埋字に「埋めない」以外を指定 | 桁寄せ向きに従って桁寄せし※，埋字に指定した文字で埋める。
埋字に「埋めない」を指定 | 初期値，および出力論理データは，桁寄せ向きに関係なく左寄せし，埋字を代入しない。ただし，埋字を代入しないことで画面上の次の項目位置はドロー画面で指定した位置に表示され，詰まることはない。表示形態が「全面書換」の場合，ヌルが入り，「一部上書」の場合，前画面の属性をそのまま引き継ぎデータだけを書き換える。

注※

使用目的が日本語の場合，左寄せ固定になります。

5.3.10　フィールドキーを押したときのマッピング規則

入出力テキストボックス・フィールドに対して，フィールドキーを押したときのマッピング規則について説明します。フィールドキーに関するマッピング規則は，ドローセットアップの論理マップ属性にある「データ消去通知文字」と「初期クリア文字」の指定で結果が異なります。

また，次の操作をした場合，フィールドキーを押したときと同じ扱いになります。

(00)₁₆でクリアされていて，入出力テキストボックス・フィールドダイアログで「入力済み（入力しなくても表示データをAPに返す）」を指定しているフィールド

ウィンドウ表示制御の表示形態が「全面書換」でデータを何も表示しないフィールド

《「データ消去通知文字」が「なし」の場合》

初期クリア文字
各フィールドの初期値
結果（入出力項目データ名の領域の内容）

なし
あり
初期値を設定する。

なし
マッピング制御機能は論理マップに何もセットしないため，マッピング制御機能に渡された時点の論理マップの内容のままになる。

埋字
あり
初期値を設定する。

なし
各項目の埋字を設定する。

その他
（文字指定）
あり
初期値を設定する。

なし
初期クリア文字を設定する。

《「データ消去通知文字」が「埋字」の場合》

各項目の埋字を設定します。

《「データ消去通知文字」がその他の場合》

データ消去通知文字を設定します。

5.3.11　データキーを押したときのマッピング規則

入出力テキストボックス・フィールドに対して，データキーを押したときのマッピング規則について説明します。データキーに関するマッピング規則は，ドローセットアップの論理マップ属性にある「データ消去通知文字」と「初期クリア文字」の指定および表示・印刷セットアップの「キー操作」タブの「データキーの動作」の指定で結果が異なります。

《「データキーの動作」が「未入力状態」の場合》

初期クリア文字
各フィールドの初期値
結果（入出力項目データ名の領域の内容）

なし
あり
初期値を設定する。

なし
マッピング制御機能は論理マップに何もセットしないため，マッピング制御機能に渡された時点の論理マップの内容のままになる。

埋字
あり
初期値を設定する。

なし
各項目の埋字を設定する。

その他
（文字指定）
あり
初期値を設定する。

なし
初期クリア文字を設定する。

《「データキーの動作」が「ヌルクリア状態」の場合》

各項目に対してフィールドキーを押したときと同じ扱いになります。フィールドキーを押したときのマッピング規則については，「5.3.10　フィールドキーを押したときのマッピング規則」を参照してください。

5.3.12　入力操作がなかったときのマッピング規則

入力操作がなかったときのマッピング規則について説明します。なお，入力操作をしていない場合でも，入力済み属性が有効となる画面を表示すると，表示データを入力した場合と同じ動作となります。

《「初期クリア文字」が「なし」の場合》

各フィールドの初期値 | 結果（入出力項目データ名の領域の内容）
あり | 初期値を設定する。
なし | マッピング制御機能は論理マップに何もセットしないため，マッピング制御機能に渡された時点の論理マップの内容のままになる。

《「初期クリア文字」が「埋字」の場合》

各フィールドの初期値 | 結果（入出力項目データ名の領域の内容）
あり | 初期値を設定する。
なし | 各項目の埋字を設定する。

《「初期クリア文字」がその他（文字指定）の場合》

各フィールドの初期値 | 結果（入出力項目データ名の領域の内容）
あり | 初期値を設定する。
なし | 初期クリア文字を設定する。

5.3.13　コードエラーを検出したときのマッピング規則

コードエラーを検出したときのマッピング規則について説明します。コードエラーを検出したときのマッピング規則は，ドローセットアップの論理マップ属性にある「初期クリア文字」と「エラー通知文字」の指定で結果が異なります。

《「初期クリア文字」が「なし」の場合》

エラー
通知文字
結果（入出力項目データ名の領域の内容）

なし
マッピング制御機能は論理マップ中に何もセットしないため，マッピング制御機能に渡された時点の論理マップの内容のままになる。

埋字
各項目の埋字を設定する。

その他（文字指定）
エラー通知文字を設定する。

《「初期クリア文字」が「埋字」の場合》

エラー
通知文字
結果（入出力項目データ名の領域の内容）

なし
各項目の埋字を設定する。

埋字
各項目の埋字を設定する。

その他（文字指定）
コードエラー通知文字を設定する。

《「初期クリア文字」がその他（文字指定）の場合》

コードエラー
通知文字
結果（入出力項目データ名の領域の内容）

なし
初期クリア文字を設定する。

埋字
各項目の埋字を設定する。

その他（文字指定）
コードエラー通知文字を設定する。

5.3.14　埋字と桁寄せに関するマッピング規則（入力フィールド）

入出力テキストボックス・フィールドの埋字と桁寄せに関するマッピング規則について説明します。

定義 | 結果（入出力項目データ名の領域）
埋字に「埋めない」以外を指定 | 桁寄せ向きに従って桁寄せし※，埋字に指定した文字で埋める。
埋字に「埋めない」を指定 | 初期値，および入力論理データは，桁寄せ向きに従って桁寄せし，埋字を代入しないで初期クリア文字が入る。

注※

使用目的が日本語の場合，左寄せ固定になります。

5.3.15　MCR入力のマッピング規則

MCR入力のマッピング規則について説明します。論理マップ生成規則については，「5.3.5(3)　可変項目の入力論理マップ生成規則とマッピング規則」を参照してください。MCRは入出力テキストボックス・フィールドの使用目的をMCRにしておく必要があります。

《使用目的がMCRの場合》

入力操作 | 結果（入力項目データ名領域）
半角のカードデータを入力※ | データを論理項目に代入する。カードデータ長が論理項目長より短いときは桁寄せ向きに従って桁寄せし，埋字指定の内容で埋字を代入する。
入力操作なし，またはキー入力でデータを入力 | 初期値で指定した定数を論理項目に代入する。初期値が指定されていない場合，初期クリア文字に従って論理項目をクリアする。

注※

IDコードが「＞」のカードデータの場合になります。「＞」以外のIDコードを使った場合は，入力操作なしと同じ動作となります。また，「＞」だけを入力した場合は，データ消去通知文字に従って論理項目をクリアします。

《使用目的がMCR以外の場合》

可変項目の場合と同じです。「5.3.5(3)　可変項目の入力論理マップ生成規則とマッピング規則」を参照してください。

5.3.16　隠しフィールドの論理マップ生成規則とマッピング規則

＜この項の構成＞

(1)　隠しフィールドの定義

(2)　論理マップ生成規則

(3)　マッピング規則

(1)　隠しフィールドの定義

隠しフィールドは，画面属性ダイアログで隠しフィールドを設定すると生成されます。

(2)　論理マップ生成規則

隠しフィールドの論理マップ生成規則について説明します。

《COBOL》

《C言語》

(3)　マッピング規則

入力操作と結果

入力操作 | 結果
画面からの入力 | 隠しフィールドデータ名の領域に，画面定義時に設定した値が左寄せで入り，残りをスペースで埋字する。

5.3.17　確定キーの制御情報

＜この項の構成＞

(1)　制御情報の標準値

(2)　論理マップ生成規則

(3)　マッピング規則

(1)　制御情報の標準値

確定キーの制御データ名：マップ名-INCO
データ名は，ドローセットアップの「ドローの設定」から表示する，表示属性の動的変更ダイアログの「データ名」タブで変更できます。

長さ：2
長さは，ドローセットアップの「運用管理者用の設定」の［修飾名の設定...］ボタンをクリックして表示される，修飾名の設定ダイアログで変更できます。変更するときには，「動的変更の種別」から「確定キー属性」を選択し，「修飾名長」で長さを設定します。

(2)　論理マップ生成規則

確定キーの制御情報の論理マップ生成例について説明します。

《COBOL》

《C言語》

(3)　マッピング規則

確定キーの制御情報のマッピング規則について説明します。

APが確定キーの制御情報のデータ名の領域に代入した内容とその結果

APが確定キーの制御情報のデータ名の領域に代入した内容
結果

修飾名と同じ
確定キーの制御情報の修飾名に対応するウィンドウ制御情報を使って画面が表示される。ただし，標準属性が「キー押下無効」に設定されているキーは常にキー操作が無効となる。

データの先頭またはすべてがデータ有無コード，または修飾名以外（上記以外）
標準の確定キーの制御情報を使って画面が表示される。次に示す条件の場合，直前の表示画面と同じ画面のときは同じキー制御情報を使って表示し，直前の表示画面と異なるときは，標準のキー制御情報を使って表示する。

画面属性ダイアログの表示形態が「一部上書」で，かつマッピングオプションで論理マップを指定した場合。

画面属性ダイアログの表示形態が「自動」で，かつマッピングオプションで論理マップを指定した場合。

注

修飾名と修飾名に対応した確定キー制御情報は，ドローセットアップの「表示属性の動的変更」の「確定キー属性」タブで変更できます。

5.3.18　下位項目の論理マップ生成規則とマッピング規則

＜この項の構成＞

(1)　下位項目の定義

(2)　下位項目の出力論理マップ生成規則とマッピング規則

(3)　下位項目の入力論理マップ生成規則とマッピング規則

(1)　下位項目の定義

下位項目は主にテキスト，フィールドおよびラベルに対して，データ型が「文字（XX）」のときに指定します。各オブジェクトの定義ダイアログで設定すると，生成されます。

(2)　下位項目の出力論理マップ生成規則とマッピング規則

下位項目の出力論理マップ生成規則について説明します。

(a)　出力論理マップ生成規則

《COBOL》

数字項目の場合

文字項目の場合

1文字の反復の場合

《C言語》

(b)　マッピング規則

出力結果
上位項目単位にマッピングします。下位項目を二つ定義し，二つ目の下位項目にデータ有無コード以外のデータを設定し，一つ目の下位項目にデータ有無コードを設定しても，埋字の対象にはなりません。

(3)　下位項目の入力論理マップ生成規則とマッピング規則

下位項目の入力論理マップ生成規則について説明します。

(a)　入力論理マップ生成規則

《COBOL》

数字項目の場合

文字項目の場合

1文字の反復の場合

《C言語》

(b)　マッピング規則

入力結果
上位項目単位にマッピングします。

5.4　可変部の論理マップ生成規則とマッピング規則（GUI画面固有）

ここでは，GUI画面固有の論理マップ生成規則について説明します。なお，フィールドボックス内の可変項目の論理マップ生成規則については，「5.3　可変部の論理マップ生成規則とマッピング規則」を参照してください。なお，この節では，COBOLの数字項目の記述を次のようにしています。

PIC 9（長さ）と表記している項目
実際に生成される論理マップは，PIC 99999のように9が長さ分生成されます。

＜この節の構成＞

5.4.1　ポップアップメニューの論理マップ生成規則とマッピング規則

5.4.2　メニューバーの論理マップ生成規則

5.4.3　プッシュボタンボックスの論理マップ生成規則とマッピング規則

5.4.4　ラジオボタンボックスの論理マップ生成規則とマッピング規則

5.4.5　チェックボタンボックスの論理マップ生成規則とマッピング規則

5.4.6　リストボックスの論理マップ生成規則とマッピング規則

5.4.7　コンボボックスの論理マップ生成規則とマッピング規則

5.4.8　フォーカス・カーソル位置の論理マップ生成規則とマッピング規則

5.4.9　二次ウィンドウの表示に関するマッピング規則

5.4.10　出力グラフィックの論理マップ生成規則とマッピング規則

5.4.11　日付・時刻項目の論理マップ生成規則とマッピング規則

5.4.12　トグルフィールドの論理マップ生成規則とマッピング規則

5.4.13　スピンボックスの論理マップ生成規則とマッピング規則

5.4.14　数値・金額項目の論理マップ生成規則とマッピング規則

5.4.15　ウィンドウ表示位置の論理マップ生成規則とマッピング規則

5.4.1　ポップアップメニューの論理マップ生成規則とマッピング規則

＜この項の構成＞

(1)　ポップアップメニューの定義

(2)　ポップアップフィールドの論理マップ生成規則とマッピング規則

(3)　ポップアップメニューの論理マップ生成規則とマッピング規則

(1)　ポップアップメニューの定義

ポップアップメニューには，データを入力するテキストボックスと入力するデータを表示するメニューがあります。テキストボックスをポップアップフィールドといい，表示するメニューをポップアップメニューといいます。

ポップアップフィールドの定義
可変ポップアップに対して生成されます。定義については，「5.3.5　可変項目の論理マップ生成規則とマッピング規則」，および「5.3.7　制御項目の論理マップ生成規則とマッピング規則」と同じです。

ポップアップメニューの定義
可変ポップアップの「メニュー」で指定した内容で生成されます。

可変用論理テーブル：マップ名-可変用論理テーブル名の指定値（標準のデータ名：マップ名-POPUPnnnn-O）

回数：繰り返し回数の指定値

可変メニューラベル：マップ名-可変メニューラベル名の指定値（標準のデータ名：マップ名-POPUP-LABELnnnn-O）

データ型：データ型の指定値

長さ：ラベルのデータ長の指定値

可変メニューコード：マップ名-可変メニューコード名の指定値（標準のデータ名：マップ名-POPUP-CODEnnnn-O）

コードの長さ：コード項目のデータ長の指定値

可変メニュー選択ラベル：マップ名-可変メニュー選択ラベル名の指定値（標準のデータ名：マップ名-POPUP-TEXTnnnn-O）

選択ラベルのデータ型：選択ラベルのデータ型の指定値

選択ラベルの長さ：選択ラベルのデータ長の指定値

可変メニューアクセスキー：マップ-可変メニューアクセスキー名の指定値（標準のデータ名：マップ名-POPUP-KEYnnnn-O）

メニューデータファイル：マップ名-メニューデータファイル項目名の指定値（標準のデータ名：マップ名-POPUP-FILEnnnn-O）

データ型：文字（XX）

長さ：ファイル名指定：12
フルパス64：64
フルパス128：128
フルパス259：259

また，使用目的は次のとおりです。なお，可変メニューラベル，可変メニュー選択ラベルには，使用目的に関係なく，文字，漢字，数字から選択できます。

使用目的 | 使用できる項目
POP（手動-数字） | 文字
POP（手動-カナ） | 文字
POP（手動-英数） | 文字
POP（手動-日本語） | 文字，漢字
POP（自動-英数） | 文字
POP（自動-日本語） | 文字，漢字

(2)　ポップアップフィールドの論理マップ生成規則とマッピング規則

ポップアップフィールドで生成される論理マップには，項目属性，出力，入力の三つの論理マップがあります。

(a)　ポップアップ項目属性の論理マップ生成規則とマッピング規則

ポップアップ項目属性の論理マップ生成規則とマッピング規則について説明します。

●論理マップ生成規則

「動的変更（APから表示属性を変更する）」を指定した場合
《COBOL》

《C言語》

「動的変更（APから表示属性を変更する）」を指定しない場合
定義に関係なく標準の属性を使って表示します。

●マッピング規則

APが制御項目に代入した内容と表示結果

APが制御項目に代入した内容
マッピングオプション
表示結果

ドローセットアップで指定した修飾名と同じ修飾名を指定
マージ
ポップアップ項目の修飾名に対応する属性を使って表示する。

先頭またはすべてにデータ有無コード，または定義で指定していない修飾名を指定
標準の属性を使って表示する。

ドローセットアップで指定した修飾名と同じ修飾名を指定
論理マップ
ポップアップ項目の修飾名に対応する属性を使って表示する。

先頭またはすべてにデータ有無コード，または定義で指定していない修飾名を指定
画面属性の表示形態によって次のように変わる。

「全面書換」の場合
標準の属性を使って表示する。

「一部上書」で直前に表示したマップと同じ場合
前回の属性のまま表示する。

「一部上書」で直前に表示したマップと異なる場合
標準の属性を使って表示する。

－
物理マップ
標準の属性を使って表示する。

（凡例）

－：該当しない。

(b)　ポップアップ項目の出力論理マップ生成規則とマッピング規則

ポップアップ項目の出力論理マップ生成規則とマッピング規則について説明します。

●出力論理マップ生成規則

《COBOL》

《C言語》

●マッピング規則

APが論理項目に代入した内容と表示結果
《初期値を指定しない場合》

APが論理項目に代入した内容
マッピングオプション
表示結果

すべてデータ
マージ，
論理マップ
代入されたデータを表示する。

すべて(00)₁₆のデータ
ヌルクリアして表示する。

すべて(20)₁₆のデータ
空白で表示する。

先頭1文字がデータ有無コード
データ有無コード(1F)₁₆を設定した場合，例としてX'1F414234'またはX'1F1F1F'のようなデータが該当する。このとき，画面属性の表示形態によって次のように変わる。

「全面書換」の場合
ヌルクリアして表示する。

「一部上書」で直前に表示したマップと同じ場合
前回のデータのまま表示する。

「一部上書」で直前に表示したマップと異なる場合
ヌルクリアして表示する。

データの後半にデータ有無コード
データ有無コード(1F)₁₆を仮定した場合，例としてX'4142431F1F'のようなデータが該当する。
論理項目の桁寄せ向きと，指定した埋字の内容に従って表示する。

画面の表示長より長いデータ
論理項目の桁寄せ向きに従って桁寄せし，余りを切り捨てて表示する。

－
物理マップ
何も表示しない。

（凡例）

－：該当しない。

《初期値を指定した場合》

APが論理項目に代入した内容
マッピングオプション
表示結果

先頭1文字がデータ有無コード
マージ，
論理マップ
《先頭1文字がデータ有無コードのときの結果》を参照のこと。

すべてのデータ
代入されたデータを表示する。

データの後半にデータ有無コード
データ有無コード(1F)₁₆を仮定した場合，例としてX'4142431F1F'のようなデータが該当する。論理項目の向きと，指定した埋字の内容に従って表示する。

－
物理マップ
《先頭1文字がデータ有無コードのときの結果》を参照のこと。

（凡例）

－：該当しない。

《先頭1文字がデータ有無コードのときの結果》

初期値の内容 | 結果
すべて空白（(20)₁₆） | 項目全体を空白で表示する。
すべて0（(30)₁₆） | 項目全体を0で表示する。
すべてヌル（(00)₁₆） | 項目全体をヌルクリアして表示する。
繰り返し文字指定 | 項目全体を繰り返し文字で表示する。
初期値の長さと画面の表示長が等しい | 初期値を項目に表示する。
初期値の長さが画面の表示長より短い | 定義で指定した「桁寄せ」，および埋字に従って表示する。埋字なしを指定した場合は，左寄せで初期値を項目に表示する。
初期値の長さが画面の表示長より長い | 「桁寄せ」に従って桁寄せし，余りを切り捨てて項目を表示する。

(c)　ポップアップ項目の入力論理マップ生成規則とマッピング規則

ポップアップ項目の入力論理マップ生成規則とマッピング規則について説明します。

●入力論理マップ生成規則

《COBOL》

論理マップ可変部の集団項目化を指定した場合

論理マップ可変部の集団項目化を指定しない場合

《C言語》

●マッピング規則

入力操作と結果（論理項目の内容）
《自動ポップアップの場合》

入力操作
結果（論理項目の内容）

ポップアップ項目にカーソルを位置づけ表示されたポップアップメニューの中からメニューを選ぶ
選んだメニュー（フォーカスを位置づけたラベル）に対応した定数を論理項目に代入する※。

ポップアップ項目にカーソルを位置づけ表示されたポップアップメニューの中からメニューを選ばない，またはポップアップ項目にカーソルを位置づけない

論理項目の初期値を指定している場合，指定した定数を論理項目に代入する。

論理項目の初期値を指定していない場合，初期クリア文字の指定に従って論理項目をクリアする。

メニューのアクセスキー項目に指定されているキーを入力

アクセスキーに対応した通知コードを，論理項目に代入する※。

メニューのアクセスキー項目に指定されていないキーを入力

論理項目の初期値を指定している場合，初期値を論理項目に代入する。

論理項目の初期値を指定していない場合，初期クリア文字の指定に従って論理項目をクリアする。

注※

「メニューデータをファイルで指定する」を指定している場合，使用目的が日本語以外で，かつ通知コードが全角を含む場合には，エラー通知文字が返ります。

《手動ポップアップの場合》

入力操作
結果（論理項目の内容）

ポップアップ項目にカーソルを位置づけ表示されたポップアップメニューの中からメニューを選ぶ
選んだメニュー（フォーカスを位置づけたラベル）に対応した定数を論理項目に代入する※¹。

ポップアップ項目にカーソルを位置づけ表示されたポップアップメニューの中からメニューを選ばない

論理項目の初期値を指定している場合，指定した定数を論理項目に代入する。

論理項目の初期値を指定していない場合，初期クリア文字の指定に従って論理項目をクリアする。

半角のデータを入力※2
データを論理項目に代入する。

全角，または半角／全角混在のデータを入力※2

フィールドキーを押す（すべて(00)₁₆）データ入力 ※2
データ消去通知文字に従って論理項目をクリアする。

ポップアップ項目にカーソルを位置づけない

論理項目の初期値を指定している場合，指定した定数を論理項目に代入する。

論理項目の初期値を指定していない場合，初期クリア文字の指定に従って論理項目をクリアする。

メニューのアクセスキー項目に指定されているキーを入力

アクセスキーに対応した通知コードを，論理項目に代入する※¹。

メニューのアクセスキー項目に指定されていないキーを入力

論理項目の初期値を指定している場合，初期値を論理項目に代入する。

論理項目の初期値を指定していない場合，初期クリア文字の指定に従って論理項目をクリアする。

注※1

「メニューデータをファイルで指定する」を指定している場合，使用目的が日本語以外で，かつ通知コードが全角を含む場合には，エラー通知文字が返ります。

注※2

ポップアップ項目にカーソルを位置づけてデータを入力する場合が該当します。

(3)　ポップアップメニューの論理マップ生成規則とマッピング規則

(a)　メニュー属性のマッピング規則

標準の属性を使ってメニューを表示します。

(b)　ポップアップメニューラベルの論理マップ生成規則とマッピング規則

ポップアップメニューラベルの論理マップ生成規則とマッピング規則について説明します。

●ラベルの論理マップ生成規則

可変用論理テーブル名を指定した場合
《COBOL》

《C言語》

注※1
　　アクセスキーを指定すると展開されます。
注※2
　　選択ラベルと通知コードを同じ値にしない場合に展開されます。

●マッピング規則

APが論理項目に代入した内容と表示結果
《ラベル項目を指定した場合》

APが論理項目に代入した内容
マッピングオプション
表示結果

すべてデータ
マージ，
論理マップ
代入されたデータを表示する。

すべて(00)₁₆※1
ヌルクリアして表示する。

すべて(20)₁₆※1
空白で表示する。

先頭1文字がデータ有無コード
※2
データ有無コード(1F)₁₆を設定した場合，例としてX'1F414234'またはX'1F1F1F'のようなデータが該当する。このとき，画面属性の表示形態によって次のように変わる。

「全面書換」の場合
コード項目のデータがあるときは，コード項目のデータを表示する。コード項目のデータがないときは，何も表示しない。

「一部上書」の場合
前回のデータのまま表示する。

データの後半にデータ有無コード
データ有無コード(1F)₁₆を仮定した場合，例としてX'4142431F1F'のようなデータが該当する。指定したラベル項目の桁寄せ向き，および埋字の内容に従って表示する。

画面の表示長より長いデータ
ラベル項目の桁寄せ向きに従って桁寄せし，余りを切り捨てて表示する。

－
物理マップ
画面属性の表示形態によって次のように変わる。

「全面書換」の場合
何も表示しない。

「一部上書」の場合
前回のデータのまま表示する。

（凡例）

－：該当しない。

注※1

メニューの後半に該当する項目がある場合は，項目は圧縮されます。

注※2

ラベル項目のデータ型とコード項目のデータ型が同じ場合だけ，ラベル項目にデータ有無コードを設定できます。

《コード項目を指定した場合》

APが論理項目に代入した内容
マッピングオプション
表示結果

すべてデータ※
マージ，
論理マップ
代入されたデータをコードとして扱う。

すべて(00)₁₆※
ヌルクリアをコードとして扱う。

すべて(20)₁₆※
空白をコードとして扱う。

先頭1文字がデータ有無コード
データ有無コード(1F)₁₆を設定した場合，例としてX'1F414234'またはX'1F1F1F'のようなデータが該当する。このとき，画面属性の表示形態によって次のように変わる。

「全面書換」の場合
コードなし，とする。

「一部上書」の場合
前回のコードをそのまま扱う。

データの後半にデータ有無コード※
データ有無コード(1F)₁₆を仮定した場合，例としてX'4142431F1F'のようなデータが該当する。指定されたデータをコードとして扱う。

－
物理マップ
画面属性の表示形態によって次のように変わる。

「全面書換」の場合
何も表示しない。

「一部上書」の場合
前回のコードをそのまま扱う。

（凡例）

－：該当しない。

注※

選択されたメニュー項目に選択ラベルの指定がない場合，対応するテキストまたはフィールドの桁寄せ，および埋字されたデータが入力時に論理項目に代入されます。選択ラベルの指定がある場合は，コードの桁寄せ，および埋字されたデータが入力時に論理項目に代入されます。ドローで定義した場合，対応するテキストまたはフィールドとコードの桁寄せ，および埋字は同じになります。

《選択ラベル項目を指定した場合》

APが論理項目に代入した内容
マッピングオプション
表示結果

すべてデータ
マージ，
論理マップ
代入されたデータを表示する。

すべて(00)₁₆
ヌルクリアして表示する。

すべて(20)₁₆
空白で表示する。

先頭1文字がデータ有無コード※
データ有無コード(1F)₁₆を設定した場合，例としてX'1F414234'またはX'1F1F1F'のようなデータが該当する。このとき，画面属性の表示形態によって次のように変わる。

「全面書換」の場合
コード項目のデータがあるときは，コード項目のデータを表示する。コード項目のデータがないときは，何も表示しない。

「一部上書」の場合
前回のデータのまま表示する。

データの後半にデータ有無コード
データ有無コード(1F)₁₆を仮定した場合，例としてX'4142431F1F'のようなデータが該当する。指定された選択ラベル項目の桁寄せ向き，および埋字の内容に従って表示する。

画面の表示長より長いデータ
選択ラベル項目の桁寄せ向きに従って桁寄せし，余りを切り捨てて表示する。

－
物理マップ
画面属性の表示形態によって次のように変わる。

「全面書換」の場合
何も表示しない。

「一部上書」の場合
前回のデータのまま表示する。

（凡例）

－：該当しない。

注※

選択ラベル項目のデータ型と，コード項目のデータ型が同じ場合だけ，選択ラベル項目にデータ有無コードを設定できます。

《アクセスキーを指定した場合》

APが論理項目に代入した内容
マッピングオプション
表示結果

すべてデータ
マージ，
論理マップ

指定されたデータがすべて半角英数の場合，指定されたデータがアクセスキーとして有効となる。

指定されたデータに半角英数以外の文字が含まれる場合，指定された項目のアクセスキーは無効となる。

先頭1文字がデータ有無コード
データ有無コード(1F)₁₆を設定した場合，例としてX'1F414234'またはX'1F1F1F'のようなデータが該当する。このとき，画面属性の表示形態によって次のように変わる。

「全面書換」の場合
対応するアクセスキーなし，となる。

「一部上書」の場合
前回のアクセスキーがそのまま有効となる。

データの後半にデータ有無コード
データ有無コード(1F)₁₆を仮定した場合，例としてX'4142431F1F'のようなデータが該当する。指定された項目のアクセスキーは無効となる。

－
物理マップ
画面属性の表示形態によって次のように変わる。

「全面書換」の場合
対応するアクセスキーなし，となる。

「一部上書」の場合
前回のアクセスキーがそのまま有効となる。

（凡例）

－：該当しない。

(c)　ポップアップメニューファイル使用時の論理マップ生成規則とマッピング規則

ポップアップメニューファイルを使用したときの，論理マップ生成規則とマッピング規則について説明します。

●出力論理マップ生成規則

《COBOL》

《C言語》

●マッピング規則

APが論理項目に代入した内容と表示結果

APが論理項目に代入した内容
マッピングオプション
表示結果

すべてデータ
マージ，
論理マップ

（指定されたファイルが存在した場合）

指定されたファイルを読み込み，メニューを表示する。

（指定されたファイルが存在しない場合）

メニューを表示しない※。

先頭1文字がデータ有無コード
データ有無コード(1F)₁₆を設定した場合，例としてX'1F414234'またはX'1F1F1F'のようなデータが該当する。このとき，画面属性の表示形態によって次のように変わる。

「全面書換」の場合
メニューを表示しない※。

「一部上書」の場合
前回のメニューデータをそのまま表示する。

データの後半にデータ有無コード
データ有無コード(1F)₁₆を仮定した場合，例としてX'4142431F1F'のようなデータが該当する。

（指定されたファイルが存在した場合）

指定されたファイルを読み込み，メニューを表示する。

（指定されたファイルが存在しない場合）

メニューを表示しない※。

注※

1階層の空のメニューを表示します。

●入力論理マップ生成規則

《COBOL》

論理マップ可変部の集団項目化を指定した場合

論理マップ可変部の集団項目化を指定しない場合

《C言語》

●入力論理マップのマッピング規則

入力操作と結果（論理項目の内容）
ポップアップメニューと同様です。詳細については，「5.4.1(2)(c)　ポップアップ項目の入力論理マップ生成規則とマッピング規則」を参照してください。

(d)　ポップアップメニューの表示

ポップアップメニューの表示に関するマッピング規則について説明します。項目の表示データは対応するポップアップメニューコードの値によって表示結果が異なります。

メニューコード内に項目表示データの値があり，項目長とメニューコード長が等しい
先頭のメニューから表示し，項目表示データと同じメニューコードに対応するメニューに，カーソルを位置づけます。

メニューコード内に項目表示データの値がないか，項目長とメニューコード長が等しくない
先頭メニューを表示し，カーソルを位置づけます。

5.4.2　メニューバーの論理マップ生成規則

＜この項の構成＞

(1)　メニュー制御項目の定義

(2)　論理マップ生成規則

(1)　メニュー制御項目の定義

メニュー定義ダイアログで「動的変更（APから表示属性を変更する）」を選び，制御項目名を指定することで生成されます。

メニュー制御項目のデータ名：マップ名-MENUnnnn-A（標準値）
データ名は，画面属性ダイアログの「メニューバー定義」から表示する，メニューバー定義ダイアログの「制御項目データ名」で変更できます。

長さ：2
長さは，ドローセットアップの「運用管理者用の設定」の［修飾名の設定］ボタンをクリックして表示される，修飾名の設定ダイアログで変更できます。変更するときには，「動的変更の種別」から「候補選択コントロール／コマンドコントロール」を選択し，「修飾名長」で長さを設定します。

(2)　論理マップ生成規則

《COBOL》

《C言語》

5.4.3　プッシュボタンボックスの論理マップ生成規則とマッピング規則

プッシュボタンボックスの論理マップ生成規則とマッピング規則について説明します。

＜この項の構成＞

(1)　 プッシュボタンの定義

(2)　プッシュボタン属性の論理マップ生成規則とマッピング規則

(3)　プッシュボタンのラベルテキストの論理マップ生成規則とマッピング規則

(4)　プッシュボタンの入力論理マップ生成規則とマッピング規則

(1)　 プッシュボタンの定義

プッシュボタンの属性
プッシュボタンダイアログの「動的変更（APから表示属性を変更する）」を選ぶと生成されます。

ボタン制御項目のデータ名：マップ名-BUTTONnnnn-A
データ名は，プッシュボタンダイアログのAPが渡す項目の「データ名」に従います。

長さ：2
長さは，ドローセットアップの「運用管理者用の設定」の［修飾名の設定］ボタンをクリックして表示される，修飾名の設定ダイアログで変更できます。変更するときには，「動的変更の種別」から「候補選択コントロール／コマンドコントロール」を選択し，「修飾名長」で長さを設定します。

プッシュボタンのラベルテキスト
プッシュボタンダイアログの「APからテキストを変更する」を選ぶと生成されます。

ラベルテキスト項目のデータ名：マップ名-BUTTONnnnn-O
データ名は，プッシュボタンダイアログのAPが渡す項目の「データ名」で変更できます。

長さ：ラベルテキストのデータ長

(2)　プッシュボタン属性の論理マップ生成規則とマッピング規則

プッシュボタン属性の論理マップ生成例とマッピング規則について説明します。

(a)　論理マップ生成規則

《COBOL》

《C言語》

(b)　マッピング規則

APが制御項目に代入した内容と表示結果
「動的変更（APから表示属性を変更する）」を指定していない場合は，標準の属性を使って表示します。

APが制御項目に代入した内容
マッピング
オプション
表示結果

セットアップで指定してある修飾名と同じ
マージ
プッシュボタンのボタン属性の修飾名に対応する属性を使って表示する。

先頭にデータ有無コード，または設定していない修飾名
標準の属性を使って表示する。

セットアップで指定してある修飾名と同じ
論理マップ
プッシュボタンのボタン属性の修飾名に対応する属性を使って表示する。

先頭にデータ有無コード，または設定していない修飾名

（表示形態が「全面書換」のとき）

標準の属性を使って表示する。

（表示形態が「一部上書」で直前に表示したマップと同じ場合）

前回の属性のまま表示する。

（表示形態が「一部上書」で直前に表示したマップと異なる場合）

標準の属性を使って表示する。

－
物理マップ
標準の属性を使って表示する。

（凡例）

－：該当しない。

注

修飾名と修飾名に対応したボタン属性情報は，ドローセットアップの「表示属性の動的変更」の「コマンドコントロール」タブで変更できます。

(3)　プッシュボタンのラベルテキストの論理マップ生成規則とマッピング規則

プッシュボタンのラベルテキストの論理マップ生成規則とマッピング規則について説明します。

(a)　論理マップ生成規則

《COBOL》

《C言語》

(b)　マッピング規則

APが論理項目に代入した内容と表示結果
「APからテキストを変更する」を指定していない場合は，テキストに指定したデータを表示します。テキストに文字列を指定していない場合は，空白を表示します。

APが論理項目に代入した内容
マッピングオプション
表示結果

すべてデータ
マージ，
論理マップ
代入されたデータを表示する。

先頭1文字がデータ有無コード
データ有無コード(1F)₁₆を設定した場合，例としてX'1F414234'またはX'1F1F1F'のようなデータが該当する。この場合，テキストに指定したデータを表示する。テキストに文字列を指定していない場合，空白を表示する。

データの後半にデータ有無コード
データ有無コード(1F)₁₆を仮定した場合，例としてX'4142431F1F'のようなデータが該当する。この場合，データ有無コード以前のデータを表示する。

画面の表示長より長いデータ※
代入されたデータを左寄せで桁寄せし，余りを切り捨てて表示する。

－
物理マップ
テキストに指定したデータを表示する。テキストに文字列を指定していない場合，空白を表示する。

（凡例）

－：該当しない。

注※

ターゲットが文字コードEUC（AIX，Solaris，Linux）用，メインフレーム－PC分散用の場合が該当します。

(4)　プッシュボタンの入力論理マップ生成規則とマッピング規則

プッシュボタンの入力論理マップ生成規則とマッピング規則について説明します。

(a)　入力論理マップ生成規則

《COBOL》

《C言語》

(b)　マッピング規則

入力操作と結果（制御項目の内容）

入力操作 | 結果（制御項目の内容）
ボタンボックスの中からボタンを選ぶ | 選んだボタンに対応するイベント通知コードを制御項目に代入する。
ボタンボックスの中からボタンを選ばない（イベント通知用のキーを押した場合） | イベント通知コードを指定したキーによって画面送信をしたときに，対応するイベント通知コードを制御項目に代入する。

5.4.4　ラジオボタンボックスの論理マップ生成規則とマッピング規則

ラジオボタンボックスの論理マップ生成規則とマッピング規則について説明します。

＜この項の構成＞

(1)　ラジオボタンボックスの定義

(2)　ラジオボタンボックス属性の論理マップ生成規則とマッピング規則

(3)　ラジオボタンボックス可変用論理テーブルの論理マップ生成規則とマッピング規則

(4)　ラジオボタンの入力論理マップ生成規則とマッピング規則

(1)　ラジオボタンボックスの定義

ラジオボタンの属性
固定／可変ラジオボタンダイアログで「動的変更（APから表示属性を変更する）」を選ぶことで生成されます。

固定ラジオボタンの属性

固定ボタン制御項目のデータ名：マップ名-RADIOnnnn-A
データ名は，固定ラジオボタンダイアログの「制御項目データ名」で変更できます。

長さ：2
長さは，ドローセットアップの「運用管理者用の設定」の［修飾名の設定］ボタンをクリックして表示される，修飾名の設定ダイアログで変更できます。変更するときには，「動的変更の種別」から「候補選択コントロール／コマンドコントロール」を選択し，「修飾名長」で長さを設定します。

可変ラジオボタンの属性

可変ボタン制御項目のデータ名：マップ名-FIELDnnnn-A
データ名は，可変ラジオボタンボックスダイアログのAPが受け取る項目の「データ名」に従います。

長さ：2
長さは，ドローセットアップの「運用管理者用の設定」の［修飾名の設定］ボタンをクリックして表示される，修飾名の設定ダイアログで変更できます。変更するときには，「動的変更の種別」から「候補選択コントロール／コマンドコントロール」を選択し，「修飾名長」で長さを設定します。

可変ラジオボタン用論理テーブル

可変用論理テーブルのデータ名：マップ名-RADIOnnnn-O

回数：ボタンの数の指定値

可変ボタンラベル項目のデータ名：マップ名-RADIO-LABELnnnn-O
データ名は，可変ラジオボタンボックスダイアログのラベルの「データ名」で変更できます。

データ型：ラベルのデータ型で指定

長さ：ラベルのデータ長で指定

可変ボタンコード項目のデータ名：マップ名-RADIO-CODEnnnn-O
データ名は，可変ラジオボタンボックスダイアログの通知コードの「データ名」で変更できます。

長さ：2
長さは，可変ラジオボタンボックスダイアログのAPが受け取る項目の「データ長」に従います。

ラジオボタンボックス
この項目は可変／固定ラジオボタンボックス共通です。

ボックス単位通知項目のデータ名：マップ名-FIELDnnnn-I
データ名は，ラジオボタンボックスダイアログのAPが受け取る項目の「データ名」で変更できます。

長さ：APが受け取る項目のデータ長で指定

(2)　ラジオボタンボックス属性の論理マップ生成規則とマッピング規則

ラジオボタンボックス属性の論理マップ生成規則とマッピング規則について説明します。この項目は，ダイアログで「動的変更（APから表示属性を変更する）」を指定したときだけ論理マップが生成されます。

(a)　論理マップ生成規則

《COBOL》

《C言語》

(b)　マッピング規則

APが制御項目に代入した内容と表示結果

《「動的変更（APから表示属性を変更する）」を指定した場合》

APが制御項目に代入した内容
マッピングオプション
表示結果

セットアップで指定してある修飾名と同じ
マージ
ラジオボタンの修飾名に対応する属性を使って表示する。

先頭にデータ有無コード，または設定していない修飾名
標準の属性を使って表示する。

セットアップで指定してある修飾名と同じ
論理マップ
ラジオボタンの修飾名に対応する属性を使って表示する。

先頭にデータ有無コード，または設定していない修飾名

（表示形態が「全面書換」のとき）

標準の属性を使って表示する。

（表示形態が「一部上書」で直前に表示したマップと同じ場合）

前回の属性のまま表示する。

（表示形態が「一部上書」で直前に表示したマップと異なる場合）

標準の属性を使って表示する。

－
物理マップ
標準の属性を使って表示する。

（凡例）

－：該当しない。

注

修飾名と修飾名に対応したボタン属性情報は，ドローセットアップの「表示属性の動的変更」の「候補選択コントロール」タブで変更できます。

《「動的変更（APから表示属性を変更する）」を指定しない場合》

標準の属性を使って表示します。

(3)　ラジオボタンボックス可変用論理テーブルの論理マップ生成規則とマッピング規則

ラジオボタンボックス可変用論理テーブルの論理マップ生成規則とマッピング規則について説明します。

(a)　論理マップ生成規則

《COBOL》

《C言語》

(b)　マッピング規則

APが論理項目に代入した内容と表示結果

《ラベル項目を指定した場合》

APが論理項目に代入した内容
マッピングオプション
表示結果

すべてデータ
マージ，
論理マップ
代入されたデータを表示する。

すべて(00)₁₆
ヌルクリアして表示する。

すべて(20)₁₆
空白で表示する。

先頭1文字がデータ有無コード
※
データ有無コード(1F)₁₆を設定した場合，例としてX'1F414234'またはX'1F1F1F'のようなデータが該当する。

（コード項目のデータがある）

コード項目のデータを表示する。

（コード項目のデータがない）

ボタン図形だけでラベルは表示しない。

データの後半にデータ有無コード
データ有無コード(1F)₁₆を仮定した場合，例としてX'4142431F1F'のようなデータが該当する。
ラベル項目の桁寄せ向きに従って桁寄せし，埋字指定の内容で埋字をして表示する。

画面の表示長より長いデータ
ラベル項目の桁寄せ向きに従って桁寄せし，余りを切り捨てて表示する。

－
物理マップ
何も表示しない。

（凡例）

－：該当しない。

注※

ラベル項目のデータ型とコード項目のデータ型が同じ場合だけ，ラベル項目にデータ有無コードを設定できます。

(4)　ラジオボタンの入力論理マップ生成規則とマッピング規則

ラジオボタンの入力論理マップ生成例とマッピング規則について説明します。

(a)　入力論理マップ生成規則

《COBOL》

論理マップ可変部の集団項目化を指定した場合

論理マップ可変部の集団項目化を指定しない場合

《C言語》

(b)　マッピング規則

入力操作と結果（論理項目の内容）

入力操作
結果（論理項目の内容）

ボタンボックス中からボタンを選ぶ
選んだボタンに対応する定数を論理項目に設定する。

ボタンボックス中からボタンを選ばない

（固定ラジオボタンの場合）

ボタン属性情報で「選択済みにする」を指定したボタンに対応する定数を論理項目に設定する。複数のボタン属性情報に「選択済みにする」を指定した場合，最初に指定したラジオボタンに対応する定数を論理項目に設定する。

「選択済みにする」を指定しなかった場合，初期クリア文字に従って論理項目をクリアする。

（可変ラジオボタンの場合）

初期クリア文字に従って論理項目をクリアする。

5.4.5　チェックボタンボックスの論理マップ生成規則とマッピング規則

チェックボタンボックスのマッピング規則は，基本的にラジオボタンボックスと同じです。マッピング規則の詳細については，「5.4.4　ラジオボタンボックスの論理マップ生成規則とマッピング規則」を参照してください。

ここでは，チェックボタンの定義，論理マップ生成規則，およびラジオボタンと異なるマッピング規則について説明します。

＜この項の構成＞

(1)　チェックボタンボックスの定義

(2)　チェックボタンボックス属性の論理マップ生成規則とマッピング規則

(3)　チェックボタンボックス可変用論理テーブルの論理マップ生成規則とマッピング規則

(4)　チェックボタンの入力論理マップ生成規則とマッピング規則

(1)　チェックボタンボックスの定義

チェックボタンの属性
固定／可変チェックボタンダイアログで「動的変更（APから表示属性を変更する）」を選ぶことで生成されます。

ボタン制御項目のデータ名：マップ名-FIELDnnnn-A
データ名は，チェックボタンダイアログのAPが受け取る項目の「データ名」に従います。

長さ：2
長さは，ドローセットアップの「運用管理者用の設定」の［修飾名の設定］ボタンをクリックして表示される，修飾名の設定ダイアログで変更できます。変更するときには，「動的変更の種別」から「候補選択コントロール／コマンドコントロール」を選択し，「修飾名長」で長さを設定します。

可変チェックボタン用論理テーブル

可変用論理テーブルのデータ名：マップ名-CHECKnnnn-O

回数：ボタンの数の指定値

可変ボタンラベル項目のデータ名：マップ名-CHECK-LABELnnnn-O
データ名は，可変チェックボタンボックスダイアログのラベルの「データ名」で変更できます。

データ型：ラベルのデータ型で指定

長さ：ラベルのデータ長で指定

可変ボタンコード項目のデータ名：マップ名-CHECK-CODEnnnn-O
データ名は，可変チェックボタンボックスダイアログの通知コードの「データ名」で変更できます。

長さ：2
長さは，可変チェックボタンボックスダイアログのAPが受け取る項目の「データ長」に従います。

チェックボタンボックス
この項目は可変／固定チェックボタンボックス共通です。

ボックス単位通知項目のデータ名：マップ名-FIELDnnnn-I
データ名は，チェックボタンダイアログのAPが受け取る項目の「データ名」で変更できます。

長さ：APが受け取る項目のデータ長で指定

(2)　チェックボタンボックス属性の論理マップ生成規則とマッピング規則

チェックボタンボックス属性の論理マップ生成規則とマッピング規則について説明します。この項目は，ダイアログで「動的変更（APから表示属性を変更する）」を指定したときだけ論理マップが生成されます。

(a)　論理マップ生成規則

《COBOL》

《C言語》

(b)　マッピング規則

APが制御項目に代入した内容と表示結果
ラジオボタンボックスと同様です。詳細については，「5.4.4(2)(b)　マッピング規則」を参照してください。

(3)　チェックボタンボックス可変用論理テーブルの論理マップ生成規則とマッピング規則

チェックボタンボックス可変用論理テーブルの論理マップ生成規則とマッピング規則について説明します。

(a)　論理マップ生成規則

《COBOL》

《C言語》

(b)　マッピング規則

APが論理項目に代入した内容と表示結果
ラジオボタンボックスと同様です。詳細については，「5.4.4(3)(b)　マッピング規則」を参照してください。

(4)　チェックボタンの入力論理マップ生成規則とマッピング規則

チェックボタンの入力論理マップ生成例とマッピング規則について説明します。

(a)　入力論理マップ生成規則

《COBOL》

論理マップ可変部の集団項目化を指定した場合

論理マップ可変部の集団項目化を指定しない場合

《C言語》

(b)　マッピング規則

入力操作と結果（論理項目の内容）

入力操作
結果（論理項目の内容）

ボタンボックス中からボタンを選ぶ
選んだボタンに対応する定数を論理項目に代入する。複数のボタンを選んだ場合，選んだすべてのボタンに対応する定数を論理項目に代入する。

ボタンボックス中からボタンを選ばない，またはボタンボックスにフォーカスを位置づけない

（固定チェックボタンの場合）

ボタン属性情報で「フォーカス設定（フォーカスを本ボタンに位置づける）」を指定したボタンに対応する定数を論理項目に代入する。複数のボタン属性情報に初期選択を指定した場合，選んだすべてのボタンに対応する定数を論理項目に代入する。

ボタン属性情報を指定しなかった場合，初期値で指定した定数を論理項目に代入する。

初期値を指定しなかった場合，初期クリア文字に従って論理項目をクリアする。

（可変ラジオボタンの場合）

初期クリア文字に従って論理項目をクリアする。

5.4.6　リストボックスの論理マップ生成規則とマッピング規則

リストボックスの論理マップ生成規則とマッピング規則について説明します。

＜この項の構成＞

(1)　リストボックスの定義

(2)　リストボックスのボックス属性の論理マップ生成規則とマッピング規則

(3)　リストボックスの論理テーブルの論理マップ生成規則とマッピング規則

(4)　リストボックスの入力論理マップ生成規則とマッピング規則

(1)　リストボックスの定義

リストボックスの属性
リストボックスダイアログで「動的変更（APから表示属性を変更する）」を選ぶことで生成されます。

リスト制御項目のデータ名：マップ名-FIELDnnnn-A
データ名は，リストボックスダイアログのAPが受け取る項目の「データ名」に従います。

長さ：2
長さは，ドローセットアップの「運用管理者用の設定」の［修飾名の設定］ボタンをクリックして表示される，修飾名の設定ダイアログで変更できます。変更するときには，「動的変更の種別」から「候補選択コントロール／コマンドコントロール」を選択し，「修飾名長」で長さを設定します。

論理テーブル

可変用論理テーブルのデータ名：マップ名-LISTnnnn-O

回数：指定したリスト項目数

可変リストラベル項目のデータ名：マップ名-LIST-LABELnnnn-O
データ名は，リストボックスダイアログのラベルの「データ名」で変更できます。

データ型：ラベルのデータ型で指定

長さ：ラベルのデータ長で指定

可変リストコード項目のデータ名：マップ名-LIST-CODEnnnn-O
データ名は，リストボックスダイアログの通知コードの「データ名」で変更できます。

長さ：2
長さは，リストボックスダイアログのAPが受け取る項目の「データ長」に従います。

リストボックス

ボックス単位通知項目のデータ名：マップ名-FIELDnnnn-I
データ名は，リストボックスダイアログのAPが受け取る項目の「データ名」で変更できます。

長さ：APが受け取る項目のデータ長で指定

(2)　リストボックスのボックス属性の論理マップ生成規則とマッピング規則

リストボックスのボックス属性の論理マップ生成規則とマッピング規則について説明します。この項目は，ダイアログで「動的変更（APから表示属性を変更する）」を指定したときだけ論理マップが生成されます。

(a)　論理マップ生成規則

《COBOL》

《C言語》

(b)　マッピング規則

APが制御項目に代入した内容と表示結果

《「動的変更（APから表示属性を変更する）」を指定した場合》

APが制御項目に代入した内容
マッピングオプション
表示結果

セットアップで指定してある修飾名と同じ
マージ
リストボックスの修飾名に対応する属性を使って表示する。

先頭にデータ有無コード，または設定していない修飾名
標準の属性を使って表示する。

セットアップで指定してある修飾名と同じ
論理マップ
リストボックスの修飾名に対応する属性を使って表示する。

先頭にデータ有無コード，または設定していない修飾名

（表示形態が「全面書換」のとき）

標準の属性を使って表示する。

（表示形態が「一部上書」で直前に表示したマップと同じ場合）

前回の属性のまま表示する。

（表示形態が「一部上書」で直前に表示したマップと異なる場合）

標準の属性を使って表示する。

－
物理マップ
標準の属性を使って表示する。

（凡例）

－：該当しない。

注

修飾名と修飾名に対応したリスト属性情報は，ドローセットアップの「表示属性の動的変更」の「候補選択コントロール」タブで変更できます。

《「動的変更（APから表示属性を変更する）」を指定しない場合》

標準の属性を使って表示します。

(3)　リストボックスの論理テーブルの論理マップ生成規則とマッピング規則

リストボックスの論理テーブルの論理マップ生成規則とマッピング規則について説明します。

(a)　論理マップ生成規則

《COBOL》

《C言語》

(b)　マッピング規則

APが論理項目に代入した内容と表示結果

《ラベル項目を指定した場合》

APが論理項目に代入した内容
マッピングオプション
表示結果

すべてデータ
マージ，
論理マップ
代入されたデータを表示する。

すべて(00)₁₆※1
ヌルクリアして表示する。

すべて(20)₁₆※1
空白で表示する。

先頭1文字がデータ有無コード
※2
データ有無コード(1F)₁₆を設定した場合，例としてX'1F414234'またはX'1F1F1F'のようなデータが該当する。

（コード項目の指定がある）

コード項目のデータを表示する。

（コード項目の指定がない）

何も表示しない。

データの後半にデータ有無コード
データ有無コード(1F)₁₆を仮定した場合，例としてX'4142431F1F'のようなデータが該当する。テキスト項目の桁寄せ向きに従って桁寄せし，埋字指定の内容で埋字をして表示する。

画面の表示長より長いデータ
テキスト項目の桁寄せ向きに従って桁寄せし，余りを切り捨てて表示する。

－
物理マップ
何も表示しない。

（凡例）

－：該当しない。

注※1

リストの後半に該当する項目がある場合，項目は圧縮されます。

注※2

ラベル項目のデータ型とコード項目のデータ型が同じ場合だけ，ラベル項目にデータ有無コードを設定できます。

(4)　リストボックスの入力論理マップ生成規則とマッピング規則

リストボックスの入力論理マップ生成例とマッピング規則について説明します。

(a)　入力論理マップ生成規則

《COBOL》

論理マップ可変部の集団項目化を指定した場合

論理マップ可変部の集団項目化を指定しない場合

《C言語》

(b)　マッピング規則

入力操作と結果（論理項目の内容）

入力操作
結果（論理項目の内容）

リストボックス中からリストを選ぶ
選んだリストに対応する定数を論理項目に代入する。単一選択リストボックスは最後に選択したリストを，複数選択リストボックスで複数のリストを選んだ場合，選択したすべてのリストに対応する定数を論理項目に代入する。

リストボックスの中からリストを選ばない，またはリストボックスにフォーカスを位置づけない
リスト属性情報で初期選択を指定したリストに対応する定数を論理項目に代入する。ただし，単一選択リストボックスは最初に選択したリストを，複数選択リストボックスで複数のリスト属性情報に初期選択を指定した場合は指定したすべてのリストに対応する定数を論理項目に代入する。
リスト属性を指定しなかった場合，論理項目の初期値で指定した定数を論理項目に代入する。
論理項目の初期値を指定しなかった場合，ドローセットアップの論理マップ属性で指定した初期クリア文字に従って論理項目を初期化する。

5.4.7　コンボボックスの論理マップ生成規則とマッピング規則

コンボボックスの論理マップ生成規則とマッピング規則について説明します。

＜この項の構成＞

(1)　コンボボックスの定義

(2)　コンボボックスの論理マップ生成規則とマッピング規則

(3)　コンボボックスのメニューの論理マップ生成規則とマッピング規則

(1)　コンボボックスの定義

コンボボックスは，選択されたデータや入力されたデータを表示するボックスと，入力するデータの候補を表示するメニューから成ります。

コンボボックスの属性
コンボボックスダイアログで「動的変更（APから表示属性を変更する）」を選び，属性項目データ名を指定することで生成されます。

制御項目のデータ名：マップ名-FIELDnnnn-A
データ名は，コンボボックスダイアログのAPが受け取る通知コードの項目の「データ名」に従います。

長さ：2
長さは，ドローセットアップの「運用管理者用の設定」の［修飾名の設定］ボタンをクリックして表示される，修飾名の設定ダイアログで変更できます。変更するときには，「動的変更の種別」から「キャラクタコントロール（キーエントリ／選択エントリ）」を選択し，「修飾名長」で長さを設定します。

ボックスの定義
固定コンボボックス，および可変コンボボックスに対して生成されます。

ボックス項目のデータ名：マップ名-FIELDnnnn-I/O
データ名は，コンボボックスダイアログのAPが受け取る通知コードの項目の「データ名」で変更できます。

長さ：APが受け取る項目のデータ長で指定

可変コンボボックス用論理テーブルの定義
可変メニューダイアログで指定した内容で生成されます。

可変用論理テーブルのデータ名：マップ名-POPUPnnnn-O

回数：メニューの項目数の指定値

可変メニューラベル項目のデータ名：マップ名-POPUP-LABELnnnn-O
データ名は，可変コンボメニューダイアログのラベルの「データ名」で変更できます。

データ型：ラベルのデータ型で指定

長さ：コンボボックスの長さの指定値-2

可変メニューコード項目のデータ名：マップ名-POPUP-CODEnnnn-O
データ名は，可変コンボメニューダイアログのAPに返す通知コードの「データ名」で変更できます。

長さ：2
長さは，コンボボックスダイアログのAPが受け取る通知コードの項目の「データ長」に従います。

(2)　コンボボックスの論理マップ生成規則とマッピング規則

(a)　項目属性の論理マップ生成規則とマッピング規則

コンボボックスの項目属性に関する論理マップ生成規則とマッピング規則について説明します。この論理マップは，コンボボックスダイアログで「動的変更（APから表示属性を変更する）」を選び，属性項目データ名を指定することで生成されます。

論理マップ生成規則

《COBOL》

《C言語》

マッピング規則

APが制御項目に代入した内容と表示結果

《「動的変更（APから表示属性を変更する）」を指定した場合》

APが制御項目に代入した内容
マッピングオプション
表示結果

修飾名と同じ
マージ
コンボボックスの修飾名に対応する属性を使って表示する。

先頭にデータ有無コード，または
修飾名以外（上記以外）
標準の属性を使って表示する。

修飾名と同じ
論理マップ
コンボボックスの修飾名に対応する属性を使って表示する。

先頭にデータ有無コード，または
修飾名以外（上記以外）

（表示形態が「全面書換」の場合）

標準の属性を使って表示する。

（表示形態が「一部上書」で直前に表示したマップと同じ場合）

前回の属性をそのまま表示する。

（表示形態が「一部上書」で直前に表示したマップと異なる場合）

標準の属性を使って表示する。

－
物理マップ
標準の属性を使って表示する。

（凡例）

－：該当しない。

注

修飾名と修飾名に対応したテキスト・フィールド変更属性情報は，ドローセットアップの「表示属性の動的変更」の「キャラクタコントロール」タブで変更できます。

《「動的変更（APから表示属性を変更する）」を指定しない場合》

標準の属性を使って表示します。

(b)　出力論理マップ生成規則とマッピング規則

コンボボックスの出力論理マップ生成規則とマッピング規則について説明します。

出力論理マップ生成規則

《COBOL》

《C言語》

マッピング規則

APが論理項目に代入した内容と表示結果

《入力形式がキー入力可能で，初期値を指定しない場合》

APが論理項目に
代入した内容
マッピングオプション
表示結果

すべてデータ
マージ，
論理マップ

（コード項目に同一のデータが指定されている場合）

対応するラベル項目のデータを表示する。

（コード項目に同一のデータが指定されていない場合）

代入されたデータを表示する。

すべて(00)₁₆のデータ
ヌルクリアして表示する。

すべて(20)₁₆のデータ
空白で表示する。

先頭1文字がデータ有無コード
データ有無コード(1F)₁₆を設定した場合，例として'1F414234'またはX'1F1F1F'のようなデータが該当する。

（表示形態が「全面書換」の場合）

何も表示しない。

（表示形態が「一部上書」で前回と同じマップの場合）

直前のデータのまま表示する。

（表示形態が「一部上書」で前回と異なるマップの場合）

何も表示しない。

データの後半にデータ有無コード
データ有無コード(1F)₁₆を仮定した場合，例としてX'4142431F1F'のようなデータが該当する。

（データ有無コードを切り捨てたデータとメニューのコード項目に同一のデータが指定されている場合）

対応するラベル項目のデータを表示する。

（データ有無コードを切り捨てたデータとメニューのコード項目に同一のデータが指定されていない場合）

論理項目の桁寄せ向きに従って桁寄せする。また，埋字指定の内容に従って埋字をする。

画面の表示長より長いデータ

（コード項目に同一のデータが指定されている場合）

対応するラベル項目のデータを表示する。

（コード項目に同一のデータが指定されていない場合）

論理項目の桁寄せ向きに従って桁寄せし，余りを切り捨てて表示する。

－
物理マップ
何も表示しない。

（凡例）

－：該当しない。

《入力形式がキー入力可能で，初期値を指定する場合》

APが論理項目に
代入した内容
マッピングオプション
表示結果

先頭1文字がデータ有無コード
マージ，
論理マップ
《先頭1文字がデータ有無コードのときの結果》を参照のこと。

すべてデータ
代入されたデータを表示する。

データの後半にデータ有無コード
データ有無コード(1F)₁₆を仮定した場合，例としてX'4142431F1F'のようなデータが該当する。論理項目の向きと，指定した埋字の内容に従って表示する。

－
物理マップ
初期値を指定しない場合と同じになる。

（凡例）

－：該当しない。

《先頭1文字がデータ有無コードのときの結果》

初期値の内容 | 結果
すべて空白（(20)₁₆） | 項目全体を空白で表示する。
すべて0（(30)₁₆） | 項目全体を0で表示する。
すべてヌル（(00)₁₆） | 項目全体をヌルクリアして表示する。
繰り返し文字指定 | 項目全体を繰り返し文字で表示する。
初期値の長さと画面の表示長が等しい | 初期値を項目に表示する。
初期値の長さが画面の表示長より短い | 定義で指定した「桁寄せ」，および埋字に従って表示する。埋字なしを指定した場合は，左寄せで初期値を項目に表示する。
初期値の長さが画面の表示長より長い | 「桁寄せ」に従って桁寄せし，余りを切り捨てて項目を表示する。

《入力形式がメニュー選択だけで，初期値を指定しない場合》

APが論理項目に
代入した内容
マッピングオプション
表示結果

すべてデータ
マージ，
論理マップ

（コード項目に同一のデータが指定されている場合）

対応するラベル項目のデータを表示する。

（コード項目に同一のデータが指定されていない場合）

先頭のラベル項目のデータを表示する。

先頭1文字がデータ有無コード
データ有無コード(1F)₁₆を設定した場合，例としてX'1F414234'またはX'1F1F1F'のようなデータが該当する。

（表示形態が「全面書換」の場合）

先頭のラベル項目のデータを表示する。

（表示形態が「一部上書」で前回と同じマップの場合）

直前のデータのまま表示する。

（表示形態が「一部上書」で前回と異なるマップの場合）

先頭のラベル項目のデータを表示する。

データの後半にデータ有無コード
データ有無コード(1F)₁₆を仮定した場合，例としてX'4142431F1F'のようなデータが該当する。

（データ有無コードを切り捨てたデータとメニューのコード項目に同一のデータが指定されている場合）

対応するラベル項目のデータを表示する。

（データ有無コードを切り捨てたデータとメニューのコード項目に同一のデータが指定されていない場合）

先頭のラベル項目のデータを表示する。

画面の表示長より長いデータ

（コード項目に同一のデータが指定されている場合）

対応するラベル項目のデータを表示する。

（コード項目に同一のデータが指定されていない場合）

先頭のラベル項目のデータを表示する。

－
物理マップ
先頭のラベル項目のデータを表示する。

（凡例）

－：該当しない。

《入力形式がメニュー選択だけで，初期値を指定する場合》

APが論理項目に
代入した内容
マッピングオプション
表示結果

先頭1文字がデータ有無コード
マージ，
論理マップ
《先頭1文字がデータ有無コードのときの結果》を参照のこと。

すべてデータ

（コード項目に同一のデータが指定されている場合）

対応するラベル項目のデータを表示する。

（コード項目に同一のデータが指定されていない場合）

先頭のラベル項目のデータを表示する。

データの後半にデータ有無コード
データ有無コード(1F)₁₆を仮定した場合，例としてX'4142431F1F'のようなデータが該当する。

（データ有無コードを切り捨てたデータとメニューのコード項目に同一のデータが指定されている場合）

対応するラベル項目のデータを表示する。

（データ有無コードを切り捨てたデータとメニューのコード項目に同一のデータが指定されていない場合）

先頭のラベル項目のデータを表示する。

－
物理マップ
《先頭1文字がデータ有無コードのときの結果》を参照のこと。

（凡例）

－：該当しない。

《先頭1文字がデータ有無コードのときの結果》

初期値の内容 | 結果
メニューのコード項目に指定されているデータと同じ | 対応するラベル項目のデータを表示する。
メニューのコード項目に指定されているデータと異なる | 先頭のラベル項目のデータを表示する。

(c)　入力論理マップ生成規則とマッピング規則

コンボボックスの入力論理マップ生成規則とマッピング規則について説明します。

論理マップ生成規則

《COBOL》

論理マップ可変部の集団項目化を指定した場合

論理マップ可変部の集団項目化を指定しない場合

《C言語》

マッピング規則

入力操作と結果（論理項目の内容）

《入力形式がキー入力可能の場合》

入力操作 | 結果（論理項目の内容）
コンボボックスにカーソルを位置づけ，表示された候補の中からメニューを選択※1する | 選んだメニュー（フォーカスを位置づけたラベル）に対応したコードを論理項目に代入する。
コンボボックスにカーソルを位置づけ表示された候補からメニューを選択※しない，またはコンボボックスにカーソルを位置づけない | 論理項目の初期値で指定したコードを論理項目に代入する。論理項目の初期値が指定されていない場合，初期クリア文字の指定に従って論理項目をクリアする。
半角のデータを入力※2 | データを論理項目に代入する。
全角，または半角／全角混在のデータを入力※2
フィールドキーを押す（すべて(00)₁₆）データ入力※2 | データ消去通知文字に従って論理項目をクリアする。

注※1

選択とは，カーソルでメニューを選んで，復改キーを押す操作です。この操作で，コードが論理項目に代入されます。

注※2

コンボボックスにカーソルを位置づけてデータを入力する場合が該当します。

《入力形式がメニュー選択だけの場合》

入力操作 | 結果（論理項目の内容）
コンボボックスにカーソルを位置づけ，表示された候補の中からメニューを選択※する | 選んだメニュー（フォーカスを位置づけたラベル）に対応したコードを論理項目に代入する。
コンボボックスにカーソルを位置づけ表示された候補からメニューを選択※しない，またはコンボボックスにカーソルを位置づけない | 論理項目の初期値で指定したコードを論理項目に代入する。論理項目の初期値が指定されていない場合，初期クリア文字の指定に従って論理項目をクリアする。

注※

選択とは，カーソルでメニューを選んで，スペースキーまたは復改キーを押す操作です。この操作で，コードが論理項目に代入されます。

(3)　コンボボックスのメニューの論理マップ生成規則とマッピング規則

(a)　メニュー属性のマッピング規則

メニュー属性のマッピング規則は，標準の属性を使ってメニューを表示します。

(b)　ラベルの論理マップ生成規則とマッピング規則

可変用論理テーブル名を指定した場合のコンボボックスの論理マップ生成規則とマッピング規則について説明します。

論理マップ生成例（入力形式がメニュー選択だけの場合）

《COBOL》

《C言語》

論理マップ生成例（入力形式がキー入力可能の場合）

《COBOL》

《C言語》

マッピング規則

APが論理項目に代入した内容と表示結果

《入力形式がメニュー選択だけの場合》

APが論理項目に代入した内容
マッピングオプション
表示結果

すべてデータ
マージ，
論理マップ
代入されたデータを表示する。

すべて(00)₁₆※1
ヌルクリアして表示する。

すべて(20)₁₆※1
空白で表示する。

先頭1文字がデータ有無コード
※2
データ有無コード(1F)₁₆を設定した場合，例としてX'1F414234'またはX'1F1F1F'のようなデータが該当する。

（コード項目の指定がある場合）

コード項目のデータを表示する。

（コード項目の指定がない場合）

何も表示しない。

データの後半にデータ有無コード
データ有無コード(1F)₁₆を仮定した場合，例としてX'4142431F1F'のようなデータが該当する。
指定したラベル項目の向き，および埋字の内容に従って表示する。

画面の表示長より長いデータ
ラベル項目の桁寄せ向きに従って桁寄せし，余りを切り捨てて表示する。

－
物理マップ
何も表示しない。

（凡例）

－：該当しない。

注※1

リストの後半に該当する項目がある場合，項目は圧縮されます。

注※2

ラベル項目のデータ型とコード項目のデータ型が同じ場合だけ，ラベル項目にデータ有無コードを設定できます。

《入力形式がキー入力可能の場合》

マッピングオプション | 表示結果
マージ，論理マップ | コード項目のデータを表示する。
物理マップ | 何も表示しない。

(c)　コンボボックスのメニューの表示

コンボボックスのメニューの表示に関するマッピング規則について説明します。項目の表示データに対応するコンボボックスのメニューコードの値によって表示結果が異なります。

入力形式がメニュー選択だけの場合

《メニューコード内に項目表示データの値があり，項目長とメニューコード長が等しい》

先頭のメニューから表示し，項目表示データと同じメニューコードに対応するメニューに，カーソルを位置づけます。

《メニューコード内に項目表示データの値がないか，項目長とメニューコード長が等しくない》

先頭メニューを表示し，カーソルを位置づけます。

入力形式がキー入力可能の場合

《メニューコード内にキー入力したデータの値があり，項目長とメニューコード長が等しい》

入力形式がメニュー選択だけの場合と同じです。キー入力の場合，「APの項目表示データ」は「キー入力したデータ」となります。

《メニューコード内にキー入力したデータの値がないか，項目長とメニューコード長が等しくない》

キー入力したデータを表示します。

5.4.8　フォーカス・カーソル位置の論理マップ生成規則とマッピング規則

フォーカス・カーソル位置の論理マップ生成規則について説明します。

＜この項の構成＞

(1)　フォーカス・カーソル項目の定義

(2)　出力フォーカス・カーソル位置の論理マップ生成規則とマッピング規則

(3)　入力フォーカス・カーソル位置の論理マップ生成規則とマッピング規則

(1)　フォーカス・カーソル項目の定義

(a)　フォーカス項目の定義

出力フォーカス項目の定義

出力フォーカス項目：マップ名-OUTFOCUS-O

長さ：2

データ名は，ドローセットアップの「カーソルとフォーカス」ダイアログで変更できます。

入力フォーカス項目の定義

入力フォーカス項目：マップ名-INFOCUS-I

長さ：2

データ名は，ドローセットアップの「カーソルとフォーカス」ダイアログで変更できます。

(b)　カーソル項目の定義

フィードボックスを複数定義した場合，それぞれに割り当てるために，カーソル項目を複数定義できます。ここでは，2個目以降の定義について示します。

1個目の定義については，「5.3.2(1)　出力カーソル項目の定義」，「5.3.3(1)　入力カーソル項目の定義」を参照してください。

行列（2進）カーソルの標準値

出力カーソル項目データ名：（行）マップ名-OUTCURSnL，（列）マップ名-OUTCURSnC

入力カーソル項目データ名：（行）マップ名-INCURSnN，（列）マップ名-INCURSnM

長さ：4

データ名は，ドローセットアップの「カーソルとフォーカス」ダイアログで変更できます。

論理カーソルの標準値

出力カーソル項目データ名：マップ名-OUTCURSnO

入力カーソル項目データ名：マップ名-INCURSnI

長さ：2

データ名は，ドローセットアップの「カーソルとフォーカス」ダイアログで変更できます。

(2)　出力フォーカス・カーソル位置の論理マップ生成規則とマッピング規則

(a)　フォーカスとカーソルを同時に制御する場合

論理マップにはカーソル制御項目だけが生成されます。フォーカス制御項目は生成されません。

論理マップ生成例
「5.3.2(2)　論理マップ生成規則」を参照してください。

マッピング規則

APがカーソル項目データ名の領域に代入した内容と結果

《フィールドボックスの定義がある場合》

APがカーソル項目データ名の領域に代入した内容
結果

(00)₁₆クリア，またはマップ生成機能が生成するフォーカス・カーソル定数以外の値
《初期フォーカス，初期カーソルの指定がある》

フォーカスは，初期フォーカスを指定したオブジェクトに位置づく。

カーソルは，初期カーソルを指定したフィールドの先頭に位置づく。

《初期フォーカスの指定があり，初期カーソルの指定がない》

フォーカスは，初期フォーカスを指定したオブジェクトに位置づく。

カーソルは，フィールドボックス内の先頭の行列位置にある入力できるフィールドに位置づく。カーソルはフィールドの先頭に位置づく。

《初期フォーカスの指定がなく，初期カーソルの指定がある》

フォーカスは，ウィンドウ上の先頭の行列位置にあるオブジェクトに位置づく。

カーソルは，初期カーソルを指定したフィールドの先頭に位置づく。

《初期フォーカス，初期カーソルの指定がない》

フォーカスは，ウィンドウ上の先頭の行列位置にあるオブジェクトに位置づく。

カーソルは，フィールドボックス内の先頭の行列位置にある入力できるフィールドの先頭に位置づく。

マップ生成機能が生成するフィールドボックス内のフィールドのフォーカス・カーソル定数
フォーカスはフィールドボックスに位置づく。カーソルはフォーカス・カーソル定数に対応したフィールドの先頭に位置づく。
フィールドボックスを複数定義している場合，フォーカスの位置づかないフィールドボックスのカーソルは，初期カーソルを指定したフィールドの先頭に位置づく。初期カーソルの指定がない場合，フィールドボックス内の先頭の行列位置にある入力できるフィールドの先頭に位置づく。

マップ生成機能が生成するフィールドボックス外のオブジェクトのフォーカス・カーソル定数
フォーカスはフォーカス・カーソル定数に対応したオブジェクトに位置づく。カーソルは初期カーソルの指定に従う。
フィールドボックスを複数定義している場合，フォーカスの位置づかないフィールドボックスのカーソルは，初期カーソルの指定に従う。
《初期カーソルの指定がある》
初期カーソルを指定したフィールドの先頭にカーソルが位置づく。
《初期カーソルの指定がない》
フィールドボックス内の先頭の行列位置にある入力できるフィールドの先頭にカーソルが位置づく。

《フィールドボックスの定義がない場合》

APがカーソル項目データ名の領域に代入した内容
結果

(00)₁₆クリア，または
マップ生成機能が生成するフォーカス・カーソル定数以外の値
《初期フォーカスの指定がある》
初期フォーカスを指定したオブジェクトにフォーカスが位置づく。
《初期フォーカスの指定がない》
ウィンドウ上の先頭の行列位置にあるオブジェクトにフォーカスが位置づく。

マップ生成機能が生成するフォーカス・カーソル定数
フォーカス・カーソル定数に対応したオブジェクトにフォーカスが位置づく。

(b)　フォーカスとカーソルを別々に制御する場合

論理マップには，フォーカス制御項目とカーソル制御項目が生成されます。フォーカス制御の論理マップ生成例とマッピング規則について説明します。カーソル制御のマッピング規則については「5.3.2(3)　マッピング規則」を参照してください。フォーカス定数については「5.5.3　フォーカス定数の論理マップ生成規則」を参照してください。

論理マップ生成規則

《COBOL》

行列（2進）カーソルを指定した場合
Windowsリトルエンディアン用，Linux用

Windowsビッグエンディアン用，AIX／HP-UX／Solaris用

注※
　　フィールドボックスを複数定義している場合に展開されます。

論理カーソルを指定した場合

注※
　　フィールドボックスを複数定義している場合に展開されます。

《C言語》

行列（2進）カーソルを指定した場合

注※
　　フィールドボックスを複数定義している場合に展開されます。

論理カーソルを指定した場合

注※
　　フィールドボックスを複数定義している場合に展開されます。

マッピング規則

APがフォーカス項目データ名の領域に代入した内容と結果

APがフォーカス項目データ名の領域に代入した内容
結果

(00)₁₆クリア，またはマップ生成機能が生成するフォーカス定数以外の値
《初期フォーカスの指定がある》
初期フォーカスを指定したオブジェクトにフォーカスが位置づく。
《初期フォーカスの指定がない》
ウィンドウ上の先頭の行列位置にあるオブジェクトにフォーカスが位置づく。

マップ生成機能が生成するフォーカス定数
フォーカス定数に対応したオブジェクトにフォーカスが位置づく。

(3)　入力フォーカス・カーソル位置の論理マップ生成規則とマッピング規則

(a)　フォーカスとカーソルを同時に制御する場合

論理マップにはカーソル制御項目だけが生成されます。フォーカス制御項目は生成されません。フィールドボックスを定義した画面で，複数のプッシュボタンボックスのフォーカス位置を識別して制御したい場合には，フォーカスとカーソルを別々に制御してください。

論理マップ生成規則
「5.3.3(2)(b)　論理カーソルを指定した場合」を参照してください。

マッピング規則

APがカーソル項目データ名の領域に代入される内容

《フィールドボックスの定義がある場合》

入力操作
結果

画面送信時のフォーカス位置がプッシュボタンに位置づいている
（ほかのオブジェクトにフォーカスが位置づいている場合で，マウスによるプッシュボタン選択は該当しない）
通知コードデータ名Tに対応するフォーカス・カーソル定数を代入する。

画面送信時のフォーカス位置がフィールドボックスに位置づいていて，カーソル位置が入力・入出力フィールド内に収まっていない
(00)₁₆を代入する。

画面送信時のフォーカス位置がフィールドボックスに位置づいていて，カーソル位置が入力・入出力フィールド内に収まっている
該当するフィールドに対応するカーソル定数を代入する。

画面送信時のフォーカス位置がプッシュボタン，フィールドボックス以外のオブジェクトに位置づいている
該当するオブジェクトに対応するフォーカス・カーソル定数を代入する。

注

GUI画面で入力単位が「フィールド単位」または「イベント単位」の場合，キー操作をしたオブジェクトのフォーカス定数，またはカーソル定数を代入します。

《フィールドボックスの定義がない場合》

入力操作
結果

画面送信時のフォーカス位置がプッシュボタンに位置づいている
（ほかのオブジェクトにフォーカスが位置づいている場合で，マウスによるプッシュボタン選択は該当しない）

《プッシュボタンにボックス名称の指定がある》

ボックス名-Tに対応するフォーカス・カーソル定数を代入する。

《プッシュボタンにボックス名称の指定がない》

通知コードデータ名Tに対応するフォーカス・カーソル定数を代入する。

画面送信時のフォーカス位置がプッシュボタン以外のオブジェクトに位置づいている
該当するオブジェクトに対応するフォーカス・カーソル定数を代入する。

注

入力単位が「フィールド単位」または「イベント単位」の場合，キー操作をしたオブジェクトの定数を代入します。

(b)　フォーカスとカーソルを別々に制御する場合

論理マップにはフォーカス制御項目とカーソル制御項目が生成されます。フォーカス制御の論理マップ生成例とマッピング規則について説明します。カーソル制御のマッピング規則については「5.3.3(3)　マッピング規則」を参照してください。フォーカス定数については「5.5.3　フォーカス定数の論理マップ生成規則」を参照してください。

論理マップ生成規則

《COBOL》

行列（2進）カーソルを指定した場合
Windowsリトルエンディアン用，Linux用

Windowsビッグエンディアン用，AIX／HP-UX／Solaris用

注※

フィールドボックスを複数定義している場合に展開されます。

論理カーソルを指定した場合

注※

フィールドボックスを複数定義している場合に展開されます。

《C言語》

行列（2進）カーソルを指定した場合

注※

フィールドボックスを複数定義している場合に展開されます。

論理カーソルを指定した場合

注※

フィールドボックスを複数定義している場合に展開されます。

マッピング規則

APがフォーカス項目データ名の領域に代入した内容と結果

入力操作
結果

画面送信時のフォーカス位置がプッシュボタンに位置づいている
（ほかのオブジェクトにフォーカスが位置づいている場合で，マウスによるプッシュボタン選択は該当しない）

《プッシュボタンにボックス名称の指定がある》

ボックス名-Tに対応するフォーカス定数を代入する。

《プッシュボタンにボックス名称の指定がない》

通知コードデータ名Tに対応するフォーカス定数を代入する。

画面送信時のフォーカス位置がプッシュボタン以外のオブジェクトに位置づいている
該当するオブジェクトに対応するフォーカス定数を代入する。

画面送信時のフォーカス位置がフィールドボックスに位置づいている
フィールドボックス内の先頭の行列位置にあるフィールドに対応するフォーカス定数を代入する。

注

入力単位が「フィールド単位」または「イベント単位」の場合，キー操作をしたオブジェクトの定数を代入します。

5.4.9　二次ウィンドウの表示に関するマッピング規則

二次ウィンドウのマッピング規則について説明します。

＜この項の構成＞

(1)　初期表示（ウィンドウが何も表示されていない）の場合

(2)　一次ウィンドウだけが表示されている場合

(3)　一次ウィンドウと二次ウィンドウが表示されている場合

(1)　初期表示（ウィンドウが何も表示されていない）の場合

出力するマップ
表示形態
画面表示結果※
フォーカス位置

一次ウィンドウ定義のマップ
一部上書，
全面書換，
自動
一次ウィンドウ定義時のウィンドウの表示位置と大きさで一次ウィンドウを表示する
出力した一次ウィンドウ

二次ウィンドウ定義のマップ
－
表示されない（XMAP3でエラー）
－

（凡例）

－：該当しない。

注※

ウィンドウが表示できない（実画面からウィンドウがはみ出る）場合は，ウィンドウが表示できるようにXMAP3が位置を補正します。

(2)　一次ウィンドウだけが表示されている場合

出力するマップ
表示形態
画面表示結果※1
フォーカス位置

一次ウィンドウ定義のマップ
表示されているものと同じマップ名
一部上書
直前の一次ウィンドウを表示していた位置にそのときと同じ大きさで一次ウィンドウを表示する。
出力した一次ウィンドウ

全面書換
表示・印刷セットアップの一次
ウィンドウの位置を「ウィンドウ操作を優先する」にした場合，直前に一次ウィンドウを表示していた位置に今回表示する大きさで表示する。「画面定義を優先する」を指定した場合，定義した位置に表示する。

表示されているものと異なるマップ名
一部上書，
全面書換，
自動

二次ウィンドウ定義のマップ
一次ウィンドウ定義中に，同じID（ウィンドウ種別番号）の定義がある。
一部上書，
全面書換，
自動

（一次ウィンドウ定義で二次ウィンドウ位置を指定した場合）

一次ウィンドウ定義中の対応するID（二次ウィンドウ用ID）の表示位置※2に表示する。

（二次ウィンドウ定義でウィンドウ位置を指定した場合）

二次ウィンドウ定義時の表示位置に二次ウィンドウを表示する。

出力した二次ウィンドウ

一次ウィンドウ定義中に，二次ウィンドウの定義なし，または同じID（ウィンドウ識別番号）の二次ウィンドウの定義なし。

（一次ウィンドウ定義で二次ウィンドウ位置を指定した場合）

一次ウィンドウの位置に二次ウィンドウを表示する。

（二次ウィンドウ定義でウィンドウ位置を指定した場合）

二次ウィンドウ定義時の表示位置に二次ウィンドウを表示する。

注※1

ウィンドウが表示できない（実画面からウィンドウがはみ出る）場合は，ウィンドウが表示できるようにXMAP3が位置を補正します。

注※2

端末オペレータによって，一次ウィンドウが移動されている場合，二次ウィンドウも同様に移動された位置に出力されます。

(3)　一次ウィンドウと二次ウィンドウが表示されている場合

出力するマップ
表示形態
画面表示結果※1
フォーカス位置

一次ウィンドウ定義のマップ
表示されているものと同じマップ名
全面書換
二次ウィンドウは消去される。
出力した一次ウィンドウ

一部上書，
自動
二次ウィンドウはそのまま表示される。
画面を表示した時点で対話権があった二次ウィンドウ

表示されているものと異なるマップ名
一部上書，
全面書換，
自動
一次ウィンドウを表示する。二次ウィンドウは消去される。
出力した一次ウィンドウ

二次ウィンドウ定義のマップ
表示されているものと同じマップ
全面書換

（一次ウィンドウ定義で二次ウィンドウ位置を指定した場合）

一次ウィンドウ定義中の対応するID（二次ウィンドウ用ID）の表示位置※2に，直前の二次ウィンドウの大きさで表示する。

（一次ウィンドウ定義で二次ウィンドウ位置を指定しない場合）

一次ウィンドウの位置に直前の二次ウィンドウの大きさで表示する。

（二次ウィンドウ定義でウィンドウ位置を指定した場合）

二次ウィンドウ定義時の表示位置に直前の二次ウィンドウの大きさで表示する。

出力した二次ウィンドウ

一部上書
直前の二次ウィンドウを表示していた位置※3にそのときと同じ大きさで二次ウィンドウを表示する。

表示されているものと異なるマップで，二次ウィンドウのID（ウィンドウ種別番号）は現在表示されているものと同じ
一部上書，全面書換，
自動

（一次ウィンドウ定義で二次ウィンドウ位置を指定した場合）

一次ウィンドウ定義中の対応するID（二次ウィンドウ用ID）の表示位置※2に表示する。このとき，直前の一次ウィンドウはそのまま表示され，二次ウィンドウは出力したウィンドウの内容と置き換えられる。

（一次ウィンドウ定義で二次ウィンドウ位置を指定しない場合）

一次ウィンドウの表示位置に二次ウィンドウを表示する。このとき，直前の一次ウィンドウはそのまま表示され，二次ウィンドウは出力したウィンドウの内容と置き換えられる。

（二次ウィンドウ定義でウィンドウ位置を指定した場合）

二次ウィンドウ定義時の表示位置に二次ウィンドウを表示する。このとき，直前の一次ウィンドウはそのまま表示され，二次ウィンドウは出力したウィンドウの内容と置き換えられる。

出力した二次ウィンドウ

表示されているものと異なるマップで，二次ウィンドウのID（ウィンドウ種別番号）も異なる
一部上書，
全面書換，
自動

（一次ウィンドウ定義で二次ウィンドウ位置を指定した場合）

一次ウィンドウ定義中の対応するID（二次ウィンドウ用ID）の表示位置※2に表示する。このとき，直前の二次ウィンドウと一次ウィンドウは表示したままになる。

（一次ウィンドウ定義で二次ウィンドウ位置を指定しない場合）

一次ウィンドウの表示位置に二次ウィンドウを表示する。このとき，直前の二次ウィンドウと一次ウィンドウは表示したままになる。

（二次ウィンドウ定義でウィンドウ位置を指定した場合）

二次ウィンドウ定義時の表示位置に二次ウィンドウを表示する。このとき，直前の二次ウィンドウと一次ウィンドウは，表示したままになる。

注※1

ウィンドウが表示できない（実画面からウィンドウがはみ出る）場合は，ウィンドウが表示できるようにXMAP3が位置を補正します。

注※2

端末オペレータによって，一次ウィンドウが移動されている場合，二次ウィンドウも同様に移動された位置に出力されます。

注※3

端末オペレータによってウィンドウが移動されている場合は，その位置に表示されます。

5.4.10　出力グラフィックの論理マップ生成規則とマッピング規則

＜この項の構成＞

(1)　出力グラフィックの定義

(2)　出力グラフィックの論理マップ生成規則とマッピング規則

(1)　出力グラフィックの定義

出力グラフィックをドローで定義することで生成されます。

出力グラフィック項目のデータ名：マップ名-GRAPHnnnn-O
データ名は，出力グラフィックダイアログの「データ名」で変更できます。

長さ
ファイル名指定：12
フルパス64：64
フルパス128：128
フルパス259：259

(2)　出力グラフィックの論理マップ生成規則とマッピング規則

出力グラフィックの論理マップ生成規則とマッピング規則について説明します。

(a)　可変項目の出力論理マップの生成規則

《COBOL》

《C言語》

(b)　可変項目のマッピング規則

APが出力項目データ名の領域に代入した内容と結果

APが出力項目データ名
の領域に代入した内容
結果

すべてデータの場合
（指定されたファイルが存在した場合）
指定されたファイルを読み込み，グラフィックを表示する※。
（指定されたファイルが存在しない場合）
表示されない。

先頭1文字がデータ有無コード
データ有無コード(1F)₁₆を設定した場合，例としてX'1F414234'またはX'1F1F1F'のようなデータが該当する。このとき，表示形態が「全面書換」か「一部上書」によって次のように異なる。
全面書換の場合：何も表示しない。
一部上書の場合：直前に表示したデータのまま表示する。

データの後半にデータ有無コード，ヌルまたは空白
データ有無コード，ヌル（(00)₁₆），または空白（(20)₁₆）を(xx)₁₆と仮定した場合，例としてX'414243xxxx'のようなデータが該当する。
この場合，後半のX'xxxx'を切り捨てたデータのX'414243'が指定されたファイル名となる。

（指定されたファイルが存在した場合）

指定されたファイルを読み込み，グラフィックを表示する※。

（指定されたファイルが存在しない場合）

表示されない。

注※

データが「*CLIP」の場合，クリップボード中のグラフィックを表示します。

5.4.11　日付・時刻項目の論理マップ生成規則とマッピング規則

＜この項の構成＞

(1)　日付・時刻項目の定義

(2)　日付・時刻項目の出力論理マップ生成規則とマッピング規則

(3)　日付・時刻項目の入力論理マップ生成規則とマッピング規則

(1)　日付・時刻項目の定義

GUI画面とGUI画面内のフィールドボックスおよびCUI画面では，各項目の名称が次の表のように異なります。

表5-9　可変項目の名称の違い

日付・時刻項目 | GUI画面 | フィールドボックスおよびCUI画面
出力項目 | 出力日付・時刻テキストボックス | 出力日付・時刻フィールド
入出力項目 | 入出力日付・時刻テキストボックス | 入出力日付・時刻フィールド

各項目の名称は，それぞれの画面での名称に置き換えてください。

出力項目
出力日付・時刻テキストボックス，または出力日付・時刻フィールドに対して生成されます。

出力項目：マップ名-FIELDnnnn-O

繰り返し回数：縦，または横の反復回数

長さ：論理項目の長さ。指定がないときはフィールドのデータ長

データ型：テキストボックス，フィールドのデータ型で設定

表5-10　日付・時刻の出力項目のデータ型と使用できる項目

データ型
使用できる項目

99999
数字編集項目
（COBOLで桁数に満たない値を代入すると，COBOLの仕様によって「0」が設定されます）

文字（XX）
文字

注

桁数に満たない値を代入し，その残りにデータ有無コードを指定している場合，「桁寄せ：左」，「埋字：スペース」で埋字されます。その他のマッピング規則については，「5.4.11(2)　日付・時刻項目の出力論理マップ生成規則とマッピング規則」を参照してください。

入力項目
入出力日付・時刻テキストボックス，または入出力日付・時刻フィールドに対して生成されます。次に示す入力項目以外の定義内容は出力項目と同じになります。

入力項目：マップ名-FIELDnnnn-I
日付，時刻入力項目では，入力する桁数をキー入力時にチェックするため，桁数に満たないデータの入力ができません。しかし，「入力済み」属性が設定されている場合，画面表示上のデータがそのまま入力データとなり，日付・時刻の出力項目のデータ型と同じデータ型指定に合ったデータで処理されます。日付・時刻の出力項目のデータ型については，「表5-10　日付・時刻の出力項目のデータ型と使用できる項目」を参照してください。

入出力項目
入出力日付・時刻テキストボックス，または入出力日付・時刻フィールドに対して生成されます。論理マップは，入力論理マップと出力論理マップに分けて出力されます。定義内容は出力項目と同じになります。

(2)　日付・時刻項目の出力論理マップ生成規則とマッピング規則

日付・時刻項目の出力論理マップ生成規則と論理マップ生成規則について説明します。

(a)　可変項目の出力論理マップの生成規則

《COBOL》

文字項目の場合

数字編集項目の場合

《C言語》

C言語使用時は，数字編集項目は指定できません。

(b)　可変項目のマッピング規則

APが出力項目データ名の領域に代入した内容と結果

APが出力項目データ名
の領域に代入した内容
マッピング
オプション
結果

すべてデータの場合
マージ，
論理マップ
代入されたデータを表示する。

先頭1文字がデータ有無コード
データ有無コード(1F)₁₆を設定した場合，例としてX'1F414234'またはX'1F1F1F'のようなデータが該当する。このとき，表示形態が「全面書換」か「一部上書」によって次のように異なる。
全面書換の場合：何も表示しない。
一部上書の場合：直前に表示したデータのまま表示する。

データの後半にデータ有無コード
データ有無コード(1F)₁₆を仮定した場合，例として
X'4142431F1F'のようなデータが該当する。この場合，代入されたデータを表示する（不足分は表示されない）。

－
物理マップ
データを表示しない。

（凡例）

－：該当しない。

(3)　日付・時刻項目の入力論理マップ生成規則とマッピング規則

日付・時刻項目の入力論理マップ生成規則と論理マップ生成規則について説明します。

(a)　入出力日付・時刻フィールドおよび入出力日付・時刻テキストを指定した場合

入力論理マップの生成規則

《COBOL》

●論理マップ可変部の集団項目化を指定した場合

数字項目の場合

文字項目の場合

●論理マップ可変部の集団項目化を指定していない場合

文字項目の場合

《C言語》

マッピング規則

入力操作と入力項目データ名の領域の内容

《使用目的が日本語以外の場合》

入力操作 | 結果（入力項目データ名の領域の内容）
データを入力 | データを入力項目データ名の領域に代入する。
フィールドキーを押す（すべて(00)₁₆のデータ入力） | データ消去通知文字に従って入力項目データ名の領域をクリアする。フィールドキーを押したときのマッピング規則については，「5.3.10　フィールドキーを押したときのマッピング規則」を参照のこと。
入力操作なし | 初期値クリア文字に従って入力データ名の領域をクリアする。入力操作がなかったときのマッピング規則の詳細については，「5.3.12　入力操作がなかったときのマッピング規則」を参照のこと。

5.4.12　トグルフィールドの論理マップ生成規則とマッピング規則

トグルフィールドの論理マップ生成規則とマッピング規則について説明します。

＜この項の構成＞

(1)　トグルフィールドの定義

(2)　トグルフィールド属性の論理マップ生成規則とマッピング規則

(3)　トグルフィールドの入力論理マップ生成規則とマッピング規則

(1)　トグルフィールドの定義

トグルフィールドの属性
トグルフィールドダイアログで「動的変更（APから表示属性を変更する）」を選ぶことで生成されます。

制御項目のデータ名：マップ名-FIELDnnnn-A
データ名は，トグルフィールドダイアログの「データ名」に従います。

長さ：2
長さは，ドローセットアップの「運用管理者用の設定」の［修飾名の設定］ボタンをクリックして表示される，修飾名の設定ダイアログで変更できます。変更するときには，「動的変更の種別」から「候補選択コントロール／コマンドコントロール」を選択し，「修飾名長」で長さを設定します。

トグルフィールドの定義

ボックス項目のデータ名：マップ名-FIELDnnnn-I
データ名は，トグルフィールドダイアログの「データ名」で変更できます。

長さ：APが受け取る項目のデータ長で指定

(2)　トグルフィールド属性の論理マップ生成規則とマッピング規則

トグルフィールド属性の論理マップ生成規則とマッピング規則について説明します。この項目は，ダイアログで「動的変更（APから表示属性を変更する）」を指定したときだけ論理マップが生成されます。

(a)　論理マップ生成規則

《COBOL》

《C言語》

(b)　マッピング規則

APが制御項目に代入した内容と表示結果

《「動的変更（APから表示属性を変更する）」を指定した場合》

APが制御項目に代入した内容
マッピングオプション
表示結果

セットアップで指定してある修飾名と同じ
マージ
トグルフィールドの修飾名に対応する属性を使って表示する。

先頭にデータ有無コード，または設定していない修飾名
標準の属性を使って表示する。

セットアップで指定してある修飾名と同じ
論理マップ
トグルフィールドの修飾名に対応する属性を使って表示する。

先頭にデータ有無コード，または設定していない修飾名

（表示形態が「全面書換」のとき）

標準の属性を使って表示する。

（表示形態が「一部上書」で直前に表示したマップと同じ場合）

前回の属性のまま表示する。

（表示形態が「一部上書」で直前に表示したマップと異なる場合）

標準の属性を使って表示する。

－
物理マップ
標準の属性を使って表示する。

（凡例）

－：該当しない。

注

修飾名と修飾名に対応したフィールド属性情報は，ドローセットアップの「表示属性の動的変更」の「候補選択コントロール」タブで変更できます。

《「動的変更（APから表示属性を変更する）」を指定しない場合》

標準の属性を使って表示します。

(3)　トグルフィールドの入力論理マップ生成規則とマッピング規則

トグルフィールドの入力論理マップ生成例とマッピング規則について説明します。

(a)　論理マップ生成規則

《COBOL》

論理マップ可変部の集団項目化を指定した場合

論理マップ可変部の集団項目化を指定しない場合

《C言語》

(b)　マッピング規則

入力操作と結果（論理項目の内容）

入力操作 | 結果（論理項目の内容）
フィールド中の文字を変更する | 選んだ文字に対応する定数を論理項目に設定する。
フィールド中の文字を変更しない，またはフィールドにカーソルを位置づけない | 初期クリア文字に従って論理項目をクリアする。

5.4.13　スピンボックスの論理マップ生成規則とマッピング規則

スピンボックスの論理マップ生成規則とマッピング規則について説明します。

＜この項の構成＞

(1)　スピンボックスの定義

(2)　スピンボックスの論理マップ生成規則とマッピング規則

(1)　スピンボックスの定義

スピンボックスの属性
スピンボックスダイアログで「動的変更（APから表示属性を変更する）」を選ぶと生成されます。

制御項目のデータ名：マップ名-FIELDnnnn-A
データ名は，スピンボックスダイアログのAPが渡す項目の「データ名」に従います。

長さ：2
長さは，ドローセットアップの「運用管理者用の設定」の［修飾名の設定］ボタンをクリックして表示される，修飾名の設定ダイアログで変更できます。変更するときには，「動的変更の種別」から「キャラクタコントロール（キーエントリ／選択エントリ）」を選択し，「修飾名長」で長さを設定します。

スピンボックスの定義

ボックス項目のデータ名：マップ名-FIELDnnnn-I/O
データ名は，スピンボックスダイアログのAPが受け取る項目の「データ名」で変更できます。

長さ：APが受け取る項目のデータ長で指定

(2)　スピンボックスの論理マップ生成規則とマッピング規則

(a)　項目属性の論理マップ生成規則とマッピング規則

スピンボックスの項目属性に関する論理マップ生成規則とマッピング規則について説明します。この論理マップは，スピンボックスダイアログで「動的変更（APから表示属性を変更する）」を選び，属性項目データ名を指定することで生成されます。

論理マップ生成規則

《COBOL》

《C言語》

マッピング規則

APが制御項目に代入した内容と表示結果

《「動的変更（APから表示属性を変更する）」を指定した場合》

APが制御項目に代入した内容
マッピング
オプション
表示結果

修飾名と同じ
マージ
スピンボックスの修飾名に対応する属性を使って表示する。

先頭にデータ有無コード，または
修飾名以外（上記以外）
標準の属性を使って表示する。

修飾名と同じ
論理マップ
スピンボックスの修飾名に対応する属性を使って表示する。

先頭にデータ有無コード，または
修飾名以外（上記以外）

（表示形態が「全面書換」の場合）

標準の属性を使って表示する。

（表示形態が「一部上書」で直前に表示したマップと同じ場合）

前回の属性をそのまま表示する。

（表示形態が「一部上書」で直前に表示したマップと異なる場合）

標準の属性を使って表示する。

－
物理マップ
標準の属性を使って表示する。

（凡例）

－：該当しない。

注

修飾名と修飾名に対応したテキスト・フィールド変更属性情報は，ドローセットアップの「表示属性の動的変更」の「キャラクタコントロール」タブで変更できます。

《「動的変更（APから表示属性を変更する）」を指定しない場合》

標準の属性を使って表示します。

(b)　可変項目の出力論理マップ生成規則とマッピング規則

可変項目の出力論理マップ生成規則と論理マップ生成規則について説明します。

出力論理マップの生成規則

《COBOL》

COBOLの可変項目の生成規則は，使用目的によってデータ型が変わります。

数字項目の場合

文字項目の場合

数字編集項目の場合

《C言語》

C言語使用時は，数字編集項目は指定できません。

マッピング規則

APが出力項目データ名の領域に代入した内容と結果

APが出力項目データ名
の領域に代入した内容
マッピング
オプション
結果

すべてデータの場合
マージ，
論理マップ
代入されたデータを表示する※。

先頭1文字がデータ有無コード
データ有無コード(1F)₁₆を設定した場合，例としてX'1F414234'またはX'1F1F1F'のようなデータが該当する。このとき，表示形態が「全面書換」か「一部上書」によって次のように異なる。
全面書換の場合：最小値を表示する。
一部上書の場合：直前に表示したデータのまま表示
する。

データの後半にデータ有無コード
データ有無コード(1F)₁₆を仮定した場合，例として
X'4142431F1F'のようなデータが該当する※。

－
物理マップ
最小値を表示する。

（凡例）

－：該当しない。

注※

代入されたデータを表示します。ただし，値が範囲外の場合には，最初の操作によって最大値，最小値のどちらか近い値を表示します。

(c)　スピンボックスの入力論理マップ生成規則とマッピング規則

スピンボックスの入力論理マップ生成規則と論理マップ生成規則について説明します。

入力論理マップの生成規則

《COBOL》

COBOLの可変項目の生成規則は，使用目的によってデータ型が変わります。

論理マップ可変部の集団項目化を指定した場合
・数字項目の場合

・文字項目の場合

論理マップ可変部の集団項目化を指定していない場合
・数字項目の場合

・文字項目の場合

《C言語》

マッピング規則

入力操作と入力項目データ名の領域の内容

《使用目的が日本語以外の場合》

入力操作 | 結果（入力項目データ名の領域の内容）
スピンボックスにフォーカスを位置づけ，ボタン操作で表示データを変更する。 | 選択したデータを入力項目データ名の領域に代入する。
入力操作なし | 初期値クリア文字に従って入力データ名の領域をクリアする。入力操作がなかったときのマッピング規則の詳細については，「5.3.12　入力操作がなかったときのマッピング規則」を参照のこと。

5.4.14　数値・金額項目の論理マップ生成規則とマッピング規則

数値・金額項目の論理マップ生成規則とマッピング規則について説明します。

＜この項の構成＞

(1)　数値・金額項目の定義

(2)　論理マップ生成規則

(3)　マッピング規則

(1)　数値・金額項目の定義

入力項目　　　：マップ名-FIELDnnnn-I
数字編集文字列：データ型で指定できる数字編集文字列は次のとおり。「9」，「V」，「S」

繰り返し回数　：縦，または横の反復回数（入出力フィールドだけ）

(2)　論理マップ生成規則

《COBOL》

注

使用目的が金額の場合，編集文字に小数点を示す「V」を使用できます。

(3)　マッピング規則

入力操作と結果

入力操作
結果

フィールドキーを押した場合
データ消去通知文字に従って入力項目データ名の領域をクリアする。データ消去通知文字が埋字として指定してあるときは，0（(30)₁₆）でクリアする。

入力操作がない，またはENDキーを押した場合。

（初期値が指定してある場合）

初期値で指定した定数を入力項目データ名の領域に代入する。

（初期値が指定していない場合）

初期クリア文字が埋字として指定してあるときは，0（(30)₁₆）でクリアする。

全桁に空白を入力した場合
空白（(20)₁₆）で入力項目データ名の領域をクリアする。また，NULLと空白を混在している場合も，すべて空白となる。

数字項目として正しいデータを入力した場合
数字編集項目の指定に従って入力項目データ名の領域に値を代入する。

数字項目として不正なデータを入力した場合※
入力チェックを指定した場合，入力時にエラーとなる。入力チェックを指定していない場合，コードエラー通知文字に従って入力項目データ名の領域をクリアする。コードエラー通知文字の標準はHIGH（X'FF'）である。

注※

「入力済み」属性を指定して，整数桁や小数桁が合わないデータを表示して画面確定している場合，不正なデータとなります。

5.4.15　ウィンドウ表示位置の論理マップ生成規則とマッピング規則

＜この項の構成＞

(1)　ウィンドウ表示位置の制御情報

(2)　論理マップ生成規則

(3)　マッピング規則

(1)　ウィンドウ表示位置の制御情報

制御情報の標準値

ウィンドウ位置制御データ名：マップ名-WINDOWW
データ名は，ドローセットアップの「ドローの設定」から表示する，表示属性の動的変更ダイアログの「データ名」タブで変更できます。

長さ：2
長さは，ドローセットアップの「運用管理者用の設定」の［修飾名の設定...］ボタンをクリックして表示される，修飾名の設定ダイアログで変更できます。変更するときには，「動的変更の種別」から「位置属性」を選択し，「修飾名長」で長さを設定します。

(2)　論理マップ生成規則

ウィンドウ表示位置の制御情報の論理マップ生成例について説明します。

《COBOL》

《C言語》

(3)　マッピング規則

ウィンドウ表示位置の制御情報のマッピング規則について説明します。

APがウィンドウ表示位置の制御情報のデータ名の領域に代入した内容とその結果

APがウィンドウ表示位置の制御情報のデータ名の領域に代入した内容 | 結果
修飾名と同じ | ウィンドウ表示位置の制御情報の修飾名に対応するウィンドウ制御情報を使って画面が表示される※。
データの先頭またはすべてがデータ有無コード，または修飾名以外（上記以外）。 | 標準のウィンドウ表示制御情報を使って画面が表示される。画面属性ダイアログのXYZ位置に従う。

注

修飾名と修飾名に対応したウィンドウ表示位置の制御情報は，ドローセットアップの「表示属性の動的変更」の「ウィンドウ属性」タブで変更できます。

注※

1回目の画面表示，または「全面書換」で画面が表示される場合にだけ，指定が有効になります。

5.5　定数部の論理マップ生成規則とマッピング規則

定数部の論理マップ生成規則について説明します。

＜この節の構成＞

5.5.1　定数部の論理マップ生成規則

5.5.2　イベント定数の論理マップ生成規則

5.5.3　フォーカス定数の論理マップ生成規則

5.5.4　動的変更テーブル

5.5.1　定数部の論理マップ生成規則

＜この項の構成＞

(1)　定義部の定義

(2)　論理マップ生成規則

(1)　定義部の定義

出力論理マップ長の出力
ドローセットアップの論理マップ属性ダイアログ中の展開方式の「定数部への論理マップ長出力」を指定したときに生成されます。

カーソル定数の出力
カーソル定数は無条件に生成されます。

(2)　論理マップ生成規則

(a)　出力論理マップ長の出力の指定

出力論理マップの論理マップ生成例を示します。また，ここで説明する出力論理マップ長とは，定数部だけの論理マップ長です。

《COBOL》

Windowsリトルエンディアン用，Linux用

Windowsビッグエンディアン用，AIX／HP-UX／Solaris用
＜論理マップ長が10,000バイト未満の場合＞

＜論理マップ長が10,000バイト以上の場合＞

《C言語》

Windowsリトルエンディアン用，AIX／HP-UX／Solaris／Linux用

Windowsビッグエンディアン用

(b)　カーソル定数の出力の指定

カーソル定数を指定したときの論理マップ生成例を示します。

繰り返し項目がある場合

《COBOL》

Windows用，Linux用

AIX／HP-UX／Solaris用
＜カーソル定数の値が10,000未満の場合＞

＜カーソル定数の値が10,000以上の場合＞

《C言語》

繰り返し項目がない場合

《COBOL》

Windows用，Linux用

AIX／HP-UX／Solaris用
＜カーソル定数の値が10,000未満の場合＞

＜カーソル定数の値が10,000以上の場合＞

《C言語》

5.5.2　イベント定数の論理マップ生成規則

イベント定数の論理マップ生成規則について説明します。

＜この項の構成＞

(1)　イベント定数の定義

(2)　論理マップ生成規則

(1)　イベント定数の定義

イベント定数は，画面属性ダイアログの「入力単位」で「イベント」を指定すると生成されます。ドローセットアップの「イベント通知コード」ダイアログの，「通知コードの長さ」が「4」のときだけ指定できます。

(2)　論理マップ生成規則

《COBOL》

《C言語》

5.5.3　フォーカス定数の論理マップ生成規則

フォーカス定数の論理マップ生成規則について説明します。

＜この項の構成＞

(1)　フォーカス定数の定義

(2)　フォーカス定数の論理マップ生成例

(1)　フォーカス定数の定義

フォーカス定数は，無条件に生成されます。

(2)　フォーカス定数の論理マップ生成例

《COBOL》

●繰り返し項目がある場合

Windows用，Linux用

AIX／HP-UX／Solaris用
＜フォーカス定数の値が10,000未満の場合＞

＜フォーカス定数の値が10,000以上の場合＞

●繰り返し項目がない場合

Windows用，Linux用

AIX／HP-UX／Solaris用
＜フォーカス定数の値が10,000未満の場合＞

＜フォーカス定数の値が10,000以上の場合＞

●プッシュボタンボックスの場合

注※

　　プッシュボタンボックスダイアログで定義したボックス名称が展開さ

　　れます。

《C言語》

●繰り返し項目がある場合

●繰り返し項目がない場合

●プッシュボタンボックスの場合

注※

　　プッシュボタンボックスダイアログで定義したボックス名称が展開さ

　　れます。

5.5.4　動的変更テーブル

実行時に色などの属性をAPから変更するときには，XMAP3が用意する属性変更用の定数テーブルの修飾名を表示属性の動的変更制御項目に代入します。この属性変更用の定数テーブルを動的変更テーブルといいます。動的変更テーブルは，COBOL用，C用の二つを用意しています

5.6　予約テキスト・フィールドのマッピング規則

予約テキスト・フィールドのマッピング規則を次に示します。なお，論理マップに予約テキスト・フィールドの情報は生成されません。

＜この節の構成＞

(1)　ドローで定義した予約項目名と結果

(1)　ドローで定義した予約項目名と結果

ドローで定義した項目名
データの表示結果

OpenTP1がサポートしている予約項目名を指定

「指定した項目長」＝「OpenTP1で決められた項目長」
OpenTP1が設定するデータが表示される。

「指定した項目長」＞「OpenTP1で決められた項目長」
データが左寄せで表示される。また，残りは空白が表示される。

「指定した項目長」＜「OpenTP1で決められた項目長」
データが左寄せで表示される。また，表示しきれないデータは切り捨てられる。

OpenTP1がサポートしていない予約項目名を指定
項目には何も表示されない。

OpenTP1がサポートしていない予約項目を指定した場合はエラーとなります。このとき詳細コードには1036(040C)₁₆が返されます。詳しくは「付録E　XMAP3のリターンコード・詳細コード」を参照してください。

6.　画面定義とコーディングの関連

この章では，画面定義とAPのコーディング，および画面の各オブジェクトとAPの関連について説明します。

＜この章の構成＞

6.1　画面属性とAP

6.2　GUI画面の各オブジェクトとAP

6.1　画面属性とAP

画面属性は画面属性ダイアログで設定します。APインタフェースの各項目を指定すると，APから動的に画面属性を変更できます。画面属性ダイアログを次に示します。

＜この節の構成＞

6.1.1　ウィンドウの表示形態を変更する

6.1.2　ウィンドウ位置を変更する

6.1.3　PFキーなど確定キーの扱いを変更する

6.1.4　次画面を設定する

6.1.1　ウィンドウの表示形態を変更する

画面属性ダイアログで「動的変更（APからウィンドウ属性を変更する）」を選びます。

一時的にウィンドウを非表示にし，そのあと，無条件に手前に再表示したりする設定ができます。XMAP3に対して，画面のオープン／クローズをしないで表示するウィンドウを切り替えられるので，処理の高速化が図れます。

＜この項の構成＞

(1)　定義画面

(2)　APとの関係

(1)　定義画面

「6.1　画面属性とAP」の画面属性ダイアログで「動的変更（APからウィンドウ属性を変更する）」を選びます。

なお，ウィンドウの表示形態は「表示形態」でも指定できます。どちらとも指定されている場合は，APからの指定が優先されます。「動的変更（APからウィンドウ属性を変更する）」が選ばれていない場合は，「表示形態」の標準値が適用されます。

(2)　APとの関係

6.1.2　ウィンドウ位置を変更する

画面属性ダイアログで「動的変更（APからウィンドウ位置属性を変更する）」を選びます。APからウィンドウを画面に表示する位置を変更できます。

＜この項の構成＞

(1)　定義画面

(2)　APとの関係

(1)　定義画面

「6.1　画面属性とAP」の画面属性ダイアログで「動的変更（APからウィンドウ位置属性を変更する）」を選びます。

なお，ウィンドウ位置は，「XY位置」でも指定できます。どちらとも指定されている場合は，APからの指定が優先されます。「動的変更（APからウィンドウ位置属性を変更する）」が選ばれていない場合は，「XY位置」の標準値が適用されます。

(2)　APとの関係

6.1.3　PFキーなど確定キーの扱いを変更する

画面属性ダイアログで「動的変更（APから確定キー属性を変更する）」を選びます。APから，ウィンドウ中で使用している確定キーの有効範囲などを変更できます。確定キーの有効範囲は，画面属性ダイアログの「イベント通知コード」で設定できます。画面定義時の仮定値は，標準ではすべてのPFキー，PAキー，送信キー，割込キー，スクリーン消去キー，およびボタン／メニューが有効です。

「イベント通知コード」で確定キーを無効としている場合，動的変更で確定キーを有効にすることはできません。そのため，「イベント通知コード」で確定キーを有効に設定し，動的変更で無効とするようにAPを作成します。

＜この項の構成＞

(1)　定義画面

(2)　APとの関係

(1)　定義画面

通常，確定キーの設定は，「6.1　画面属性とAP」の画面属性ダイアログで「イベント通知コード」を選択して表示されるイベント通知コードダイアログで設定します。イベント通知コードダイアログを次に示します。

動的変更で確定キー属性を設定する場合，「6.1　画面属性とAP」の画面属性ダイアログで「動的変更（APから確定キー属性を変更する）」をチェックします。「動的変更」をチェックすると，マップ生成後に属性変更の情報を受け取る領域（制御項目）が自動的に生成されます。APでは，制御項目に修飾名をセットすると，確定キー属性を変更できます。

修飾名は，ドローセットアップの「修飾名の設定」ダイアログで「確定キー属性」を選択して設定します。動的変更の属性は，ドローセットアップの表示属性の動的変更ダイアログの「確定キー属性」タブで設定します。ドローセットアップでの設定については，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

「イベント通知コード」での設定，および「動的変更（APから確定キー属性を変更する）」のチェックがされている場合は，動的変更の指定が優先されます。「動的変更（APから確定キー属性を変更する）」が選ばれていない場合は，「イベント通知コード」の標準値が適用されます。

(2)　APとの関係

6.1.4　次画面を設定する

画面属性ダイアログで「次画面」を選びます。次画面を設定しておくとAPで画面名称を定義していなくても実行時に画面名称を取得して表示できます。なお，次画面はOLTPサーバ構成の環境で設定できます。

＜この項の構成＞

(1)　定義画面

(2)　APとの関係

(1)　定義画面

「6.1　画面属性とAP」の画面属性ダイアログで「次画面」を選び，次画面ダイアログを表示します。次画面ダイアログを次に示します。

(2)　APとの関係

6.2　GUI画面の各オブジェクトとAP

GUI画面の各オブジェクトとAPの関連について説明します。なお，ここで示す例は，ドローセットアップが標準値で設定されていることを前提とし，AP開発言語をCOBOL，マップ名を6文字，実行環境は対話型を想定しています。ドローセットアップについては，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

＜この節の構成＞

6.2.1　出力テキストの表示

6.2.2　出力数字編集項目の利用（COBOLだけ有効）

6.2.3　出力テキストでの埋字と桁寄せ向きの利用

6.2.4　下位項目を利用した日付テキスト・フィールドと時刻テキスト・フィールド（出力）

6.2.5　入出力テキストを使用したデータの送受信

6.2.6　入出力テキストでの埋字と桁寄せ向きの利用

6.2.7　特定の入出力テキストだけを書き換える（データ有無コードの利用）

6.2.8　初期値の利用

6.2.9　入力できるデータ型の設定（詳細目的の利用）

6.2.10　下位項目を利用した入出力テキスト

6.2.11　下位項目を利用した日付テキスト・フィールドと時刻テキスト・フィールド（入出力）

6.2.12　テキストの文字色の動的変更

6.2.13　パスワードの利用

6.2.14　MCR入力専用のテキストの利用

6.2.15　フィールドボックスの入出力

6.2.16　複数行フィールドからのデータの抽出

6.2.17　可変ポップアップテキストを使用したデータの入力

6.2.18　ポップアップメニューファイルを使用したデータの入力

6.2.19　固定ポップアップテキストを使用したデータの入力

6.2.20　トグルフィールド

6.2.21　入出力・出力フィールドの一括反復（フレームの使用）

6.2.22　メニュー選択コンボボックス（可変）を使用した候補の選択

6.2.23　メニュー選択コンボボックス（固定）を使用した候補の選択

6.2.24　キー入力コンボボックス（可変）を使用したデータの入力

6.2.25　キー入力コンボボックス（固定）を使用したデータの入力

6.2.26　可変ラジオボタンを使用した候補の選択

6.2.27　固定ラジオボタンを使用した候補の選択

6.2.28　可変チェックボタンを使用した候補の選択

6.2.29　固定チェックボタンを使用した候補の選択

6.2.30　チェックボタンの選択状態の動的変更

6.2.31　リストボックスを使用した項目の選択

6.2.32　コンボボックスの項目数の動的変更

6.2.33　プッシュボタンを使用した処理の選択

6.2.34　プッシュボタンの表示の動的変更

6.2.35　メニューバーを使用した処理の選択

6.2.36　出力グラフィックの利用

6.2.37　GUI画面でのファンクションキーの利用

6.2.38　二次ウィンドウの表示

6.2.39　初期フォーカスの動的変更

6.2.40　隠しフィールドの設定

6.2.1　出力テキストの表示

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

ドローで定義した出力テキストボックスの論理マップに，APからテキスト「日立　太郎」を代入し，送信要求をするとXMAP3が「日立　太郎」を出力テキストボックスに表示します。

AP実行時の出力テキストの表示を次の図に示します。

図6-1　出力テキストの表示

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウで，ツールボックスの［出力テキスト（日本語）］を使用して出力テキストボックスを配置する。

出力テキストボックスダイアログで次の表の項目を定義する。

注

「動的変更（APから表示属性を変更する）」をチェックすると，APから表示属性を変更できます。詳細は「付録A　属性情報一覧」を参照してください。

定義項目 | 定義内容
データ名 | 担当者名－
データ型 | 文字（XX）
桁 | 20
データ長 | 20（この定義内容は固定）

(3)　生成される論理マップ

マップ名がMAP115の場合の例

注

出力テキストボックスのデータ名を省略した場合，FIELDnnnn-（nnnn：0001～9999）が仮定されます。

(4)　COBOLでのAP

マップ名称がMAP115の場合の例

6.2.2　出力数字編集項目の利用（COBOLだけ有効）

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

単価の出力テキストボックスに「340000」を代入して送信要求すると，「¥340，000」と編集されて画面に表示されます。

AP実行時の表示，および論理マップに格納される値を次の図に示します。

図6-2　数字編集項目の利用

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウで，ツールボックスの［出力テキストボックス（数字）］を使用して出力テキストボックスを配置する。

出力テキストボックスの属性を出力テキストボックスダイアログで次の表の項目を定義する。

定義項目 | 定義内容
データ名 | 単価1－
データ型 | ¥，¥¥9
桁 | 10
データ長 | 10（この定義内容は固定）

(3)　生成される論理マップ

マップ名がMAP024の場合の例

(4)　COBOLでのAP

マップ名がMAP024の場合の例

6.2.3　出力テキストでの埋字と桁寄せ向きの利用

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

出力テキストボックスの「商品名」に「AVコンポ '1F1F1F1F'」を代入すると右に桁寄せし，余った部分は「＊」で置き換えます。

AP実行時の表示，および論理マップに格納される値を次の図に示します。

図6-3　埋字と桁寄せ向きの利用

注

この図の「1F」はデータ有無コードを表します。データ有無コードを利用したAP作成については「6.2.7　特定の入出力テキストだけを書き換える（データ有無コードの利用）」を参照してください。

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウで，ツールボックスの［出力テキストボックス（英数）］を使用して「商品名」の出力テキストボックスを配置する。

出力テキストボックスダイアログで次の表の項目を定義する。

定義項目 | 定義内容
データ名 | 商品名1－
データ型 | 文字（XX）（この定義内容は固定）
桁 | 10
データ長 | 10（この定義内容は固定）
桁寄せ | 右
埋字 | 自由な埋字（＊）

(3)　生成される論理マップ

マップ名がMAP025の場合の例

(4)　COBOLでのAP

マップ名がMAP025の場合の例

6.2.4　下位項目を利用した日付テキスト・フィールドと時刻テキスト・フィールド（出力）

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

APに「20020331」および「1005」を代入すると，それぞれ出力日付テキストダイアログまたは出力時刻テキストダイアログで指定した表示書式に合わせて「2002/ 3/31」および「10:05」と表示されます。

図6-4　日付・時刻の出力

(2)　画面定義の概要

画面定義の概要を次に示します。

(a)　出力日付の場合

GUI画面定義ウィンドウで，ツールボックスの［出力日付テキスト］を使用して，出力用の日付テキスト・フィールドを配置する。

出力日付テキストダイアログで次の表の項目を定義する。

(b)　出力時刻の場合

GUI画面定義ウィンドウで，ツールボックスの［出力時刻テキスト］を使用して，出力用の時刻テキスト・フィールドを配置する。

出力時刻テキストダイアログで次の表の項目を定義する。

ここでは出力日付のダイアログを例にします。

定義項目 | 定義内容
日付 | 表示書式 | 1997/ 8/ 7
データ名 | 日付-
データ型 | 文字（XX）
下位項目 | 指定する
時刻 | 表示書式 | 08:07
データ名 | 時刻-
データ型 | 文字（XX）
下位項目 | 指定する

下位項目の設定

出力日付（または時刻）テキストダイアログの下位項目の［設定］ボタンをクリックする。

年月日を「年」「月」「日」，または時分を「時」「分」という下位項目として設定するために，次の表の項目を定義する。

定義項目 | 定義内容
年 | 月 | 日
日付 | データ名 | 日付-年- | 日付-月- | 日付-日-
桁 | 4 | 2 | 2
データ長（この定義内容は固定） | 4 | 2 | 2
データ型 | 99999 | 99999 | 99999

定義項目 | 定義内容
時 | 分
時刻 | データ名 | 時刻-時- | 時刻-分-
桁 | 2 | 2
データ長（この定義内容は固定） | 2 | 2
データ型 | 99999 | 99999

(3)　生成される論理マップ

マップ名がMAP001の場合の例

(4)　COBOLでのAP

マップ名がMAP001の場合の例

6.2.5　入出力テキストを使用したデータの送受信

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

ドローで定義した入出力テキストボックスの出力論理マップに，APからテキスト「T005」を代入して，送信要求をするとXMAP3が画面上に「T005」を表示します。画面上で「T005」を「T001」に修正すると，XMAP3が入力論理マップに「T001」を格納します。

AP実行時での入出力テキストの表示例を次の図に示します。

図6-5　入出力テキストの表示

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウで，ツールボックスの［入出力テキスト（英数）］を使用して入出力テキストボックスを配置する。

入出力テキストボックスダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的 | 英数
データ名 | 担当者コード－
データ型 | 文字（XX）（この定義内容は固定）
桁 | 4
データ長 | 4（この定義内容は固定）

注1

入力専用時は，「動的変更（APからデータを表示する）」はチェックしません。

注2

「初期値」は指定しません。

(3)　生成される論理マップ

マップ名がMAP114の場合の例

注

入出力テキストボックスのデータ名を省略した場合，FIELDnnnn-（nnnn：0001～9999）が仮定されます。

(4)　COBOLでのAP

マップ名がMAP114の場合の例

6.2.6　入出力テキストでの埋字と桁寄せ向きの利用

入出力テキストにデータを入力するときの仕様について説明します。

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

入出力論理マップのデータ項目の長さに満たない長さのデータをキーボードなどから入力したとき，桁寄せ向きに従ってデータを寄せて，余った分は埋字に置き換えます。

名前に「日立花子」，「年令」に「18」と入力したとき，入力論理マップには「日立花子△△△△」，「0018」と代入されます。

図6-6　入出力テキストにデータ入力するときの仕様

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウで，ツールボックスの［入出力テキスト（日本語）］および［入出力テキスト（数字）］を使用して入出力テキストボックスを配置する。

入出力テキストボックスで次の表の項目を定義する。

定義項目 | 定義内容
使用目的 | 日本語 | 数字
データ名 | 名前－ | 年令－
データ型 | 漢字（NN） | 99999
桁寄せ（この定義内容は固定） | 左 | 右
埋字（この定義内容は固定） | △（スペース） | 0（ゼロ）
桁 | 12 | 4
データ長（この定義内容は固定） | 12 | 4

使用目的が日本語の場合の定義例

使用目的が数字の場合の定義例

(3)　生成される論理マップ

マップ名がMAP001の場合の例

(4)　COBOLでのAP

6.2.7　特定の入出力テキストだけを書き換える（データ有無コードの利用）

特定のデータだけを書き換える場合について説明します。

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

品名コード，数量および値引を入力し，APでチェックします。APでチェックして，値引だけを書き直します。

図6-7　データ有無コードの利用

(2)　画面定義の概要

入出力テキストを定義します。初期値は指定しなくてもかまいません。

(3)　生成される論理マップ

マップ名がMAP001の場合の例

(4)　COBOLでのAP

6.2.8　初期値の利用

初期値の利用について説明します。

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　論理マップ

(4)　COBOLでのAP

(1)　仕様

初期値は，入出力テキストボックスで設定しておきます。設定する初期値は「ゼロクリア」です。設定した初期値が反映される場合と，反映されない場合を次の図に示します。

図6-8　初期値の利用

(2)　画面定義の概要

データ名，長さおよび初期値（入力）「ゼロクリア」※を指定します。ヌルクリア時のデータ消去通知文字は，(00)₁₆です。

注※

ゼロクリアを指定できるのは，使用目的が「英数」「パスワード」および「MCR」のときだけです。

(3)　論理マップ

マップ名がMAP001の場合の例

(4)　COBOLでのAP

6.2.9　入力できるデータ型の設定（詳細目的の利用）

入出力テキストの「詳細目的」を設定し，入出力テキストに入力できるデータ型を設定します。

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　詳細目的とデータ型

(1)　仕様

「品名」「コード」「カナ品名」「単価」「最小単位」データを持つ商品マスタの登録をします。それぞれのデータの詳細目的を次の図に示します。

図6-9　入出力テキストでの使用目的，詳細目的

(2)　画面定義の概要

画面定義の概要を示します。なお，ここでは各データ項目の使用目的，および詳細目的の定義で必要な部分だけを載せています。入出力テキストの全体の画面定義は，「6.2.5　入出力テキストを使用したデータの送受信」を参照してください。

目的 | 定義名
[図データ]　 | 「品名」の定義
[図データ]　 | 「コード」の定義
[図データ]　 | 「カナ品名」の定義
[図データ]　 | 「単価」の定義
[図データ]　 | 「最小単位」の定義

(3)　詳細目的とデータ型

設定した詳細目的とデータ型については「付録A.9　表示属性の解説」の表A-9を参照してください。

6.2.10　下位項目を利用した入出力テキスト

入力したデータはAPで一文字ずつチェックされます。入出力テキストボックスダイアログで「下位項目」の［設定］ボタンを選ぶと，論理マップ中に，データを一文字の繰り返しとするチェック用の下位項目が生成されます。APでのチェックに利用できます。

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

入出力テキストに「△△ヒタチ△△ハナコ」と入力すると，APにはそのままデータが渡るので，AP側でデータ先頭の空白をすべて削除し，データ中央の空白を一つにし，残りのデータ長に空白を埋める処理を行います。

図6-10　下位項目を利用したときの入力データの扱い

(2)　画面定義の概要

入出力テキストボックスダイアログで「下位項目」の［設定］ボタンを選ぶ。

下位項目ダイアログが表示されます。

下位項目ダイアログで「一文字の反復」を指定する。

(3)　生成される論理マップ

マップ名がMAP001の場合の例

(4)　COBOLでのAP

6.2.11　下位項目を利用した日付テキスト・フィールドと時刻テキスト・フィールド（入出力）

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

入出力日付テキストダイアログまたは入出力時刻テキストダイアログで表示書式を指定すると，入出力画面に表示されます。ここで入力したデータがAPに渡されるときは，デリミタは削除されます。APから画面にデータが渡されるときは，指定した表示書式に合わせて表示されます。

図6-11　日付・時刻の入出力

(2)　画面定義の概要

画面定義の概要を次に示します。

(a)　入出力日付

GUI画面定義ウィンドウで，ツールボックスの［入出力日付テキスト］を使用して，入出力用の日付テキスト・フィールドを配置する。

入出力日付テキストダイアログで次の表の項目を定義する。

(b)　入出力時刻

GUI画面定義ウィンドウで，ツールボックスの［入出力時刻テキスト］を使用して，入出力用の時刻テキスト・フィールドを配置する。

入出力時刻テキストダイアログで次の表の項目を定義する。

定義項目 | 定義内容
日付 | 表示書式 | 1997/08/07
データ名 | 日付-
データ型 | 文字（XX）
下位項目 | 指定する
時刻 | 表示書式 | 21:08:07
データ名 | 時刻-
データ型 | 文字（XX）
下位項目 | 指定する

下位項目の設定

入出力日付（時刻）テキストダイアログの「APが受け取る項目」および「APが渡す項目」それぞれのデータ名に対して下位項目を設定する。

年月日を「年」「月」「日」，または時分秒を「時」「分」「秒」という下位項目として設定するために，次の表の項目を定義する。

定義項目 | 定義内容
年 | 月 | 日
日付 | データ名 | 日付-年- | 日付-月- | 日付-日-
桁 | 4 | 2 | 2
データ長（この定義内容は固定） | 4 | 2 | 2
データ型 | 99999 | 99999 | 99999

定義項目 | 定義内容
時 | 分 | 秒
時刻 | データ名 | 時刻-時- | 時刻-分- | 時刻-秒-
桁 | 2 | 2 | 2
データ長（この定義内容は固定） | 2 | 2 | 2
データ型 | 99999 | 99999 | 99999

(3)　生成される論理マップ

(4)　COBOLでのAP

マップ名がMAP001の場合の例

6.2.12　テキストの文字色の動的変更

入出力テキストおよび出力テキストの文字色をAPで変更する仕組みを説明します。

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

「伝票番号」の入出力テキストボックスに入力されたデータが誤りの場合，注目してもらうために，文字を赤色で表示します。APでテキスト色を変更する仕組みを次の図に示します。

図6-12　入出力テキストの文字色をAPで変更する

注

出力テキストでも同じように，APから表示属性を変更できます。表示属性の動的変更は文字色だけでなく，オブジェクトの表示／非表示の切り替えもできます。これらの動的変更はドローセットアップで設定します。

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウでツールボックスの［入出力テキスト（英数）］を使用して入出力テキストボックスを配置する。

入出力テキストボックスダイアログで次の表の項目を定義する。

定義項目 | 定義内容
データ名 | 伝票番号－
桁 | 8
データ長 | 8（この定義内容は固定）
動的変更（APから表示属性を変更する） | 指定する

(3)　生成される論理マップ

マップ名がMAP439の場合の例

注

AP実行時に入出力テキストボックスの表示属性を変更する場合，マップ生成後に生成される動的変更情報格納エリア（制御項目）に修飾名を代入します。修飾名は，XMAP3が動的変更テーブルとして用意しています。APでは，この定数テーブルの修飾名を制御項目に代入してください。

(4)　COBOLでのAP

マップ名がMAP539の場合の例

通常の表示をする
表示属性は画面定義の標準属性を適用する。

文字色を赤に変更して表示する
修飾名「ER」は標準の変更属性を使用します。この赤色をほかの色にするためには，あらかじめドローセットアップで設定が必要です。
あらかじめ設定されている修飾名と表示属性については，「付録A　属性情報一覧」を参照してください。

注

マッピングモードが「論理マップだけ」，表示形態が「一部上書」の条件で画面表示する場合，修飾名としてデータ有無コードや定義されていない修飾名を代入しても，ドロー定義時の属性には戻りません。ドロー定義時の属性に戻したい場合は，ドローセットアップですべての属性を「変更なし」に設定した修飾名を代入してください。

6.2.13　パスワードの利用

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

パスワードの入出力テキストボックスにデータを入力します。表示属性の指定で，表示方法を「入力可能－パスワード表示」にすると，入力したパスワードを「＊」に置き換えて表示できます。

AP実行時での表示を次の図に示します。

図6-13　パスワードの利用

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウで，ツールボックスの［入出力テキスト（英数）］を使用して入出力テキストボックスを配置する。

入出力テキストボックスダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的 | パスワード
データ名 | パスワード－
桁 | 4
データ長 | 4（この定義内容は固定）
データ型 | 文字（XX）（この定義内容は固定）

注

「初期値」は指定しません。

(3)　生成される論理マップ

マップ名がMAP436の場合の例

(4)　COBOLでのAP

マップ名がMAP436の場合の例

6.2.14　MCR入力専用のテキストの利用

＜この項の構成＞

(1)　 仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　 仕様

入出力テキストボックスにMCRからデータを入力します。ここでは正しいIDコードが「＞」であることが仮定されています。

入力されるデータとAP実行時の表示を次の図に示します。

図6-14　MCR入力専用のテキストの利用

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウで，ツールボックスの［入出力テキスト（英数）］を使用して入力テキストボックスを配置する。

入出力テキストの属性を入出力テキストボックスダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的 | MCR
データ名 | MCR－
桁 | 10
データ長 | 10（この定義内容は固定）

(3)　生成される論理マップ

(4)　COBOLでのAP

マップ名がMAP437の場合の例

6.2.15　フィールドボックスの入出力

フィールドボックスの入出力は，フィールドの集まりとして定義されます。

APとのインタフェース上は，各フィールドの入出力となります。各機能の使用方法については，次に示す参照先をご覧ください。

フィールドボックスの入出力
参照先

出力フィールド
文字系
数字系
出力テキストボックス
6.2.1～3

日付・時刻
6.2.4

入出力フィールド
文字系
数字系
パスワード
MCR
入出力テキストボックス
6.2.5～14

日付・時刻
6.2.11

ポップアップ
フィールド
自動・固定
自動・可変
手動・固定
手動・可変
ポップアップテキスト
6.2.17
6.2.19

トグルフィールド
－
6.2.20

（凡例）

－：該当しない。

6.2.16　複数行フィールドからのデータの抽出

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　帳票定義の概要

(4)　生成される論理マップ

(5)　COBOLでのAP

(1)　仕様

画面から入力した改行コードを含んだ文字列からデータを抽出して帳票に印刷します。

画面のフィールドボックスの入出力フィールドに改行を含んだ文字列を入力すると，入力論理マップには，改行コードを含んだ文字列「議事録↓第3回工程会議報告↓懸案事項と対策」（↓は改行コードを示します）が格納されます。改行コードは，LF(0A)₁₆固定です。

APは入力論理マップの入出力フィールドから，改行コードで区切ったデータを抽出し，帳票の出力論理マップに転記します。

GUI上の操作では，クリップボードを経由して改行を含むデータをやり取りできます。論理マップに格納される値とAPの処理を次の図に示します。

図6-15　複数行フィールドからのデータの抽出

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウで，ツールボックスの［フィールドボックス］を使用してフィールドボックスを縦サイズ22，横サイズ42で配置する。

GUI画面定義ウィンドウで，ツールボックスの［入出力フィールド（日本語）］を使用して入出力フィールドを1行1列目から10行40列目まで配置する。

入出力フィールドダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的 | 日本語
詳細目的 | 混在（全角・半角）
空白入力 | 一部＆全桁（全・半角）
表示方法 | 入力可能－標準表示
遷移条件 | 自動スキップ
改行入力（改行コードを認識する） | 指定する
データ名 | FIELD0001-
桁 | 400
埋字 | LOW（X'00'）
初期値（入力） | 指定しない

(3)　帳票定義の概要

帳票定義については，マニュアル「XMAP3 プログラミングガイド 帳票編」を参照してください。

帳票定義ウィンドウで，ツールボックスの［出力フィールド（日本語）］を使用して出力フィールドを配置する。

出力フィールドダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的 | 日本語
データ名 | FIELD0001-
桁 | 40
フィールド反復 | 方向 縦，回数 10
埋字 | スペース
初期値 | 指定しない

(4)　生成される論理マップ

画面定義のマップ名がMAP001の場合の例

帳票定義のマップ名がMAP002の場合の例

(5)　COBOLでのAP

行データを取り出すAPの例を次に示します。

画面のマップ名がMAP001，帳票のマップ名がMAP002の場合の例

6.2.17　可変ポップアップテキストを使用したデータの入力

＜この項の構成＞

(1)　自動的にポップアップメニューを表示する

(2)　手動でポップアップメニューを表示する

(3)　アクセスキーを使用したポップアップのメニュー選択

(4)　ポップアップが選択されたときの選択ラベルと通知コードを別々にする

(1)　自動的にポップアップメニューを表示する

(a)　仕様

「支店コード」の入出力テキストにフォーカスが位置づけられると，ポップアップメニューが自動的に表示されます。「支店」のポップアップメニューからデータを選択すると，対応する通知コードが入力論理マップに代入されます。「支店コード」の入出力テキストには，選択されたメニューに対応する通知コード「S2」が表示されます。

可変ポップアップメニューを使用した，AP実行時のポップアップメニューの自動表示を次の図に示します。

図6-16　ポップアップメニューを表示する（自動）

(b)　画面定義の概要

画面定義の概要を次に示します。

ポップアップに表示するメニューをAPから動的に変更できるようにするには，GUI画面定義ウィンドウで，ツールボックスの［可変ポップアップ］を使用して配置する。

可変ポップアップメニューダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的※ | POP（自動－日本語）
詳細目的 | 混在（全角・半角）
データ名 | 支店コード－
データ型 | 文字（XX）（この定義内容は固定）
桁（APが受け取る項目） | 2
データ長 | 2（この定義内容は固定）
ラベル | データ名 | ポップラベル－
データ型 | 文字（XX）
桁 | 10
データ長 | 10（この定義内容は固定）
通知コード | データ名 | ポップコード－
データ型 | 文字（XX）（この定義内容は固定）
桁 | 2（この定義内容は固定）
データ長 | 2（この定義内容は固定）
メニューの項目数 | 6
タイトルを付ける | 指定する（支店）

注※

通知コードとして半角文字専用にする場合は，「POP（自動－英数）」を選んでください。

(c)　生成される論理マップ

マップ名がMAP123の場合の例

注

入出力テキストボックスのデータ名を省略した場合，FIELDnnnn-が仮定されます。ポップアップメニューのデータ名を省略した場合，メニューラベル名POPUP-LABELnnnn-，メニューコード名POPUP-CODEnnnn-が仮定されます（nnnn：0001～9999）。

また，可変ポップアップメニューに対して一つの論理テーブル名が付けられます。

(d)　COBOLでのAP

マップ名がMAP123の場合の例

(2)　手動でポップアップメニューを表示する

(a)　仕様

［支店］のプッシュボタンかPFキーを押すと，「支店」のポップアップメニューが表示されます。ポップアップメニューからデータを選択すると，対応する通知コードが入力論理マップに格納されます。「支店コード」の入出力テキストには，選択したデータに対応する通知コード「S2」が表示されます。

可変ポップアップメニューを使用した，AP実行時でのポップアップメニューの手動表示を次の図に示します。

図6-17　ポップアップメニューの表示

注

なお，手動でポップアップメニューを表示する場合，ボタン以外にPFキーも使用できます。

(b)　画面定義の概要

画面定義の概要を次に示します。

ポップアップメニュー，またはキーボードで検索結果を入力する入出力テキストを定義します。

ポップアップに表示するメニューをAPから動的に変更できるようにするには，GUI画面定義ウィンドウで，ツールボックスの［可変ポップアップ］を使用して配置する。

可変ポップアップメニューダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的※ | POP（手動－日本語）
詳細目的 | 混在（全角・半角）
最初にメニューを開く | 指定しない
データ名　 | 支店コード－
データ型 | 文字（XX）（この定義内容は固定）
桁（APが受け取る項目） | 2
データ長 | 2（この定義内容は固定）
ラベル | データ名 | ポップラベル－
データ型 | 文字（XX）
桁 | 10
データ長 | 10（この定義内容は固定）
通知コード | データ名 | ポップコード－
データ型 | 文字（XX）（この定義内容は固定）
桁 | 2（この定義内容は固定）
データ長 | 2（この定義内容は固定）
APから初期値を変更する | 指定する

注※

通知コードとして半角文字専用にする場合は，「POP（手動－英数）」を選んでください。

《ポップアップメニューの定義》

ポップアップメニューの定義は，自動的にポップアップメニューを表示するときと同じです。「6.2.17(1)(b)　画面定義の概要」を参照してください。

《手動ポップアップの設定》

ポップアップメニューをPF1キーで表示させるための定義をします。

GUI画面定義ウィンドウの，画面属性ダイアログで，「イベント通知コード」の［設定］ボタンを選択する。

イベント通知コードのダイアログで次の項目を定義する。

定義項目
定義内容

ポップアップの表示タイミング
「確定キーを使用する」を選択します。

動作
ポップアップ表示
（「確定キーを使用する」を選んだ場合だけ指定できます。PFキーにポップアップ表示の動作を割り当てます）。

注

プッシュボタンやメニューバーで手動ポップアップを表示する場合は，手動ポップアップの定義をしたあとに，プッシュボタン定義やメニューバー定義のダイアログを開き，「選択時の動作」で「ポップアップ表示」の定義をしてください。

《プッシュボタンの定義》

ポップアップメニューを表示させるためのプッシュボタンを定義します。

ポップアップ表示のプッシュボタンはGUI画面定義ウィンドウで，［プッシュボタン（単独／追加）］を使用して配置する。

プッシュボタンダイアログで次の項目を定義する。

定義項目 | 定義内容
ラベル　 | 支店
選択時の動作 | ポップアップ表示

(c)　生成される論理マップ

生成される論理マップは，自動的にポップアップメニューを表示するときと同じです。「6.2.17(1)(c)　生成される論理マップ」を参照してください。

(d)　COBOLでのAP

COBOLでのAPは，自動的にポップアップメニューを表示するときと同じです。「6.2.17(1)(d)　COBOLでのAP」を参照してください。

(3)　アクセスキーを使用したポップアップのメニュー選択

アクセスキーは自動ポップアップでも手動ポップアップでも利用できます。ここでは，自動ポップアップを仮定します。

(a)　仕様

「支店コード」の入出力テキストにフォーカスが位置づけられると，ポップアップメニューが自動的に表示されます。「支店」のポップアップメニューからアクセスキーを使用してデータを選択すると，対応する通知コードが入力論理マップに代入されます。「支店コード」の入出力テキストには，選択されたメニューに対応する通知コード「S2」が表示されます。

可変ポップアップメニューを使用した，AP実行時のポップアップメニューの自動表示を次の図に示します。

図6-18　アクセスキーでポップアップメニューを選択する（自動）

(b)　画面定義の概要

画面定義の概要を次に示します。

ポップアップに表示するメニューをAPから動的に変更できるようにするには，GUI画面定義ウィンドウで，ツールボックスの［可変ポップアップ］を使用して配置する。

可変ポップアップメニューダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的※ | POP（自動－日本語）
詳細目的 | 混在（全角・半角）
アクセスキーを使用する | 指定する
長さ（アクセスキー） | 4
選択ラベルと通知コードを同じ値にする | 指定する
タイトルを付ける | 指定する（支店）
データ名 | 支店コード－
データ型 | 文字（XX）（この定義内容は固定）
桁（APが受け取る項目） | 2
データ長 | 2（この定義内容は固定）
メニューデータをファイルで指定する | 指定しない
ラベル | データ名 | ポップラベル－
データ型 | 文字（XX）
桁 | 10
データ長 | 10（この定義内容は固定）
通知コード | データ名 | ポップコード－
データ型 | 文字（XX）（この定義内容は固定）
桁 | 2（この定義内容は固定）
データ長 | 2（この定義内容は固定）
アクセスキー | データ名 | ポップキー－
データ型 | 文字（XX）（この定義内容は固定）
桁 | 4（この定義内容は固定）
メニューの項目数 | 6

注※

通知コードとして半角文字専用にする場合は，「POP（自動－英数）」または「POP（手動－英数）」を選んでください。

(c)　生成される論理マップ

マップ名がMAP123の場合の例

注

入出力テキストボックスのデータ名を省略した場合，FIELDnnnn-が仮定されます。ポップアップメニューのデータ名を省略した場合，メニューラベル名POPUP-LABELnnnn-，メニューコード名POPUP-CODEnnnn-が仮定されます（nnnn：0001～9999）。

また，可変ポップアップメニューに対して一つの論理テーブル名が付けられます。

(d)　COBOLでのAP

マップ名がMAP123の場合の例

(4)　ポップアップが選択されたときの選択ラベルと通知コードを別々にする

ポップアップの選択ラベルと通知コードを同じ値にするかどうかは，自動ポップアップでも手動ポップアップでも指定できます。ここでは，自動ポップアップを仮定します。

(a)　仕様

「支店コード」の入出力テキストにフォーカスが位置づけられると，ポップアップメニューが自動的に表示されます。「支店」のポップアップメニューからデータを選択すると，対応する通知コードが入力論理マップに代入されます。「支店コード」の入出力テキストには，選択されたメニューに対応する選択ラベル「品川支店」が表示されます。APには，選択ラベルに対応した通知コード「S2」が返されます。

可変ポップアップメニューを使用した，AP実行時のポップアップメニューの自動表示を次の図に示します。

図6-19　ポップアップが選択されたときの選択ラベルと通知コードを別々にする（自動）

(b)　画面定義の概要

画面定義の概要を次に示します。

ポップアップに表示するメニューをAPから動的に変更できるようにするには，GUI画面定義ウィンドウで，ツールボックスの［可変ポップアップ］を使用して配置する。

可変ポップアップメニューダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的※ | POP（自動－日本語）
詳細目的 | 混在（全角・半角）
アクセスキーを使用する | 指定しない
選択ラベルと通知コードを同じ値にする | 指定しない
タイトルを付ける | 指定する（支店）
データ名 | 支店コード－
データ型 | 文字（XX）（この定義内容は固定）
桁（APが受け取る項目） | 2
データ長 | 2（この定義内容は固定）
メニューデータをファイルで指定する | 指定しない
ラベル | データ名 | ポップラベル－
データ型 | 文字（XX）
桁 | 10
データ長 | 10（この定義内容は固定）
通知コード | データ名 | ポップコード－
データ型 | 文字（XX）（この定義内容は固定）
桁 | 2（この定義内容は固定）
データ長 | 2（この定義内容は固定）
選択ラベル | データ名 | ポップ表示－
データ型 | 文字（XX）
桁 | 10
データ長 | 10（この定義内容は固定）
メニューの項目数 | 6

注※

通知コードとして半角文字専用にする場合は，「POP（自動－英数）」または「POP（手動－英数）」を選んでください。

(c)　生成される論理マップ

マップ名がMAP123の場合の例

注

入出力テキストボックスのデータ名を省略した場合，FIELDnnnn-が仮定されます。ポップアップメニューのデータ名を省略した場合，メニューラベル名POPUP-LABELnnnn-，メニューコード名POPUP-CODEnnnn-が仮定されます（nnnn：0001～9999）。

また，可変ポップアップメニューに対して一つの論理テーブル名が付けられます。

(d)　COBOLでのAP

マップ名がMAP123の場合の例

6.2.18　ポップアップメニューファイルを使用したデータの入力

＜この項の構成＞

(1)　ポップアップメニューの表示（メニュー形式 標準の場合）

(2)　ポップアップメニューの表示（メニュー形式 リストの場合）

(1)　ポップアップメニューの表示（メニュー形式 標準の場合）

メニュー形式で「標準（メニュー）」を指定すると，ポップアップメニューファイルに格納されているメニュー項目が階層構造の場合は，下位のメニュー項目がカスケードメニューで表示されます。メニュー形式の指定は，自動ポップアップでも手動ポップアップでも利用できます。ここでは，手動ポップアップを仮定します。

(a)　仕様

「支店コード」の入出力テキストにフォーカスが位置づけられると，ポップアップメニューがポップアップメニューファイル（SHITEN.csv）から読み込まれ，下位のメニュー項目はカスケード表示されます。「支店」のポップアップメニューからデータを選択すると，対応する通知コードが入力論理マップに代入されます。「支店コード」の入出力テキストには，選択されたメニューに対応する選択ラベルが表示されます。

ポップアップメニューファイルを使用した，AP実行時のポップアップメニューのカスケード表示を次の図に示します。

図6-20　ポップアップメニューを表示する（メニュー形式 標準（メニュー））

ポップアップメニューファイル作成時の注意事項

ポップアップメニューファイルは，ユティリティのポップアップメニューエディタで作成してください。ポップアップメニューエディタの詳細はマニュアル「XMAP3 開発・実行ガイド」を参照してください。ポップアップメニューエディタ以外のエディタで作成する場合は次に示す規則に従ってください。

保守情報の記述
ファイルの先頭には保守情報を記述できます。ポップアップメニューエディタでファイルを作成すると，この情報は必ず付加されます。それ以外のエディタで作成する場合，この情報は省略できます。ただし，作成日時などは記述することをお勧めします。
格納するデータはシフトJIS固定です。
保守情報を次に示します。

メニュー情報の記述
保守情報に続く行はメニュー情報です。次にメニュー情報を示します。

ラベル，通知コードおよび選択ラベルは，それぞれ64桁以内で指定します（全角1文字は，2桁となります）。アクセスキーは4桁以内で指定します。

階層レベルとラベルは省略できません。

項目は「，」で区切ります。通知コード以降の項目を省略する場合も「，」は必要です。
（例）
選択ラベルを省略する場合
02，"A1.港支店"，"1010"，，"A1"

階層レベル以外の各項目は引用符「"」で囲みます。項目中に「"」がある場合は「"」を2回連続で指定します。

選択ラベルは省略できます。なお，選択ラベルを指定する場合は，最下位の階層のメニュー項目にだけ指定してください。

アクセスキーは省略できます。

アクセスキーには，英大文字と数字だけ指定します。

アクセスキーのあとには，空白を含むデータは指定できません。

アクセスキーは，各階層で必ず桁数をそろえて指定します。また，各階層内でユニークになるように指定します。

階層レベルは8階層（01～08）まで指定できます。同階層のメニュー項目は256項目以下，全階層のメニュー項目の和は32,000項目以下になるようにしてください。

階層レベルは01から昇順に指定します。階層レベルを飛ばさないように（01レベルの次に03レベルを指定したりしないように）注意してください。

ポップアップメニューファイルでは，空白の行または改行だけの行は指定できません。

あるレベルのメニュー項目に対し下位レベルのメニュー項目がある場合は，該当するメニュー項目の行の次に，下位レベルの行を指定してください。

通知コードは，最下位の階層のメニュー項目にだけ指定してください。

1行には，一つのメニュー情報だけ指定します。また，1行の終わりには，必ず改行を指定してください。

ポップアップメニューファイルの最終行にも，改行を指定してください。

(b)　画面定義の概要

画面定義の概要を次に示します。

ポップアップに表示するメニューをAPから動的に変更できるようにするには，GUI画面定義ウィンドウで，ツールボックスの［可変ポップアップ］を使用して配置する。

可変ポップアップメニューダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的※ | POP（手動－カナ）
データ名 | 支店コード－
データ型 | 文字（XX）（この定義内容は固定）
桁（APが受け取る項目） | 4
データ長 | 4（この定義内容は固定）
メニューデータをファイルで指定する | 指定する
メニュー形式 | 標準（メニュー）
最初にメニューを開く | 指定する
タイトルを付ける | 指定する（支店）
データ名（ファイル） | POPFILE0001-
データの渡し方 | ファイル名指定
初期値（ファイル） | SHITEN.csv

注※

通知コードとして半角文字専用にする場合は，「POP（自動－英数）」または「POP（手動－英数）」を選んでください。

(c)　生成される論理マップ

マップ名がMAP123の場合の例

注

入出力テキストボックスのデータ名を省略した場合，FIELDnnnn-が仮定されます。

(d)　COBOLでのAP

マップ名がMAP123の場合の例

(2)　ポップアップメニューの表示（メニュー形式 リストの場合）

メニュー形式で「リスト－ポップアップ型」または「リスト－ダイアログ型」を指定すると，メニューデータファイルに格納されているメニュー項目が階層構造の場合，下位のメニュー項目は下位レベルのリストとして表示されます。メニュー形式の指定は，自動ポップアップでも手動ポップアップでも利用できます。ここでは，手動ポップアップを仮定します。また，メニュー形式は「リスト－ポップアップ型」を仮定します。

(a)　仕様

「支店コード」の入出力テキストにフォーカスが位置づけられると，ポップアップメニューがポップアップメニューファイル（SHITEN.csv）から読み込まれ，下位のメニュー項目がリスト表示されます。ポップアップメニューからデータを選択すると，対応する通知コードが入力論理マップに代入されます。「支店コード」の入出力テキストには，選択されたメニューに対応する選択ラベルが表示されます。

ポップアップメニューファイルを使用した，AP実行時のポップアップメニューのリスト表示を次の図に示します。

図6-21　ポップアップメニューを表示する（メニュー形式 リスト-ポップアップ型）

(b)　画面定義の概要

画面定義の概要を次に示します。

ポップアップに表示するメニューをAPから動的に変更できるようにするには，GUI画面定義ウィンドウで，ツールボックスの［可変ポップアップ］を使用して配置する。

可変ポップアップメニューダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的※1 | POP（手動－カナ）
データ名 | 支店コード－
データ型 | 文字（XX）（この定義内容は固定）
桁（APが受け取る項目） | 4
データ長 | 4（この定義内容は固定）
メニューデータをファイルで指定する | 指定する
メニュー形式 | リスト－ポップアップ型※²
最初にメニューを開く | 指定する
データ名（ファイル） | POPFILE0001-
データの渡し方 | ファイル名指定
初期値（ファイル） | SHITEN.csv

注※1

通知コードとして半角文字専用にする場合は，「POP（自動－英数）」または「POP（手動－英数）」を選んでください。

注※2

リスト表示をする場合は，「リスト－ダイアログ型」も選べます。

(c)　生成される論理マップ

マップ名がMAP123の場合の例

注

入出力テキストボックスのデータ名を省略した場合，FIELDnnnn-が仮定されます。

(d)　COBOLでのAP

マップ名がMAP123の場合の例

6.2.19　固定ポップアップテキストを使用したデータの入力

＜この項の構成＞

(1)　自動的にポップアップメニューを表示する

(2)　手動でポップアップメニューを表示する

(3)　アクセスキーを使用した固定ポップアップのメニュー選択

(4)　ポップアップが選択されたときの選択ラベルと通知コードを別々にする

(1)　自動的にポップアップメニューを表示する

(a)　仕様

「支店コード」の入出力テキストにフォーカスが位置づけられると，ポップアップメニューが自動的に表示されます。「支店」のポップアップメニューからデータを選択すると，対応する通知コードが入力論理マップに格納されます。「支店コード」の入出力テキストには，選択されたメニューに対応する通知コード「S2」が表示されます。

固定ポップアップメニューを使用した，AP実行時のポップアップメニューの自動表示を次の図に示します。

図6-22　ポップアップメニューを表示する（自動）

(b)　画面定義の概要

画面定義の概要を次に示します。

ポップアップに表示するメニューを，画面定義以降に変更する必要がない場合には，GUI画面定義ウィンドウで，ツールボックスの［固定ポップアップ］を使用して配置する。

固定ポップアップメニューダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的※ | POP（自動－日本語）
詳細目的 | 混在（全角・半角）
選択ラベルと通知コードを同じ値にする | 指定する
タイトルを付ける | 指定する（支店）
データ名 | 支店コード－
データ型 | 文字（XX）（この定義内容は固定）
桁 | 2
データ長 | 2（この定義内容は固定）
動的変更（APから表示属性を変更する） | 指定しない
APから初期値を変更する | 指定する

注※

通知コードとして半角文字専用にする場合は，「POP（自動－英数）」を選んでください。

また，次に示す定義内容を「メニューの値」のラベルと通知コードに追加していきます。

ラベル | 通知コード
港支店 | S1
品川支店 | S2
練馬支店 | S3
足立支店 | S4
豊島支店 | S5

(c)　生成される論理マップ

マップ名がMAP124の場合の例

注

入出力テキストボックスのデータ名を省略した場合，FIELDnnnn-（nnnn：0001～9999）が仮定されます。

(d)　 COBOLでのAP

マップ名がMAP124の場合の例

(2)　手動でポップアップメニューを表示する

(a)　仕様

［支店］のプッシュボタンかPF1キーを押すと，「支店」のポップアップメニューが表示されます。ポップアップメニューからデータを選択すると，対応する通知コードが入力論理マップに格納されます。「支店コード」の入出力テキストには，選択したデータに対応する通知コード「S2」が表示されます。

固定ポップアップメニューを使用した，AP実行時でのポップアップメニューの手動表示を次の図に示します。

図6-23　ポップアップメニューの表示

注

なお，手動でポップアップメニューを表示する場合，ボタン以外にPFキーも使用できます。

(b)　画面定義の概要

画面定義の概要を次に示します。

ポップアップメニュー，またはキーボードで検索結果を入力する入出力テキストを定義します。

ポップアップに表示するメニューを，画面定義以降に変更する必要がない場合には，GUI画面定義ウィンドウで，ツールボックスの［固定ポップアップ］を使用して配置する。

固定ポップアップダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的※ | POP（手動－日本語）
詳細目的 | 混在（全角・半角）
最初にメニューを開く | 指定しない
選択ラベルと通知コードを同じ値にする | 指定する （この定義内容は固定）
タイトルを付ける | 指定する（支店）
データ名 | 支店コード－
データ型 | 文字（XX）（この定義内容は固定）
桁 | 2
データ長 | 2（この定義内容は固定）
動的変更（APから表示属性を変更する） | 指定しない
APから初期値を変更する | 指定する

注※

通知コードとして半角文字専用にする場合は，「POP（手動－英数）」を選んでください。

また，次に示す定義内容をラベルと通知コードのリストボックスに追加していきます。

ラベル | 通知コード
港支店 | S1
品川支店 | S2
練馬支店 | S3
足立支店 | S4
豊島支店 | S5

《手動ポップアップの設定》

ポップアップメニューをPF1キーで表示させるための定義をします。

GUI画面定義ウィンドウの，画面属性ダイアログで，「イベント通知コード」の［設定］ボタンを選択する。

イベント通知コードのダイアログで次の項目を定義する。

定義項目
定義内容

ポップアップの表示タイミング
「確定キーを使用する」を選択します。

アクション
ポップアップ表示
（「確定キーを使用する」を選んだ場合だけ指定できます。PFキーにポップアップ表示の動作を割り当てます）。

注

プッシュボタンやメニューバーで手動ポップアップを表示する場合は，手動ポップアップの定義をしたあとに，プッシュボタンやメニューバーでのポップアップ表示の定義をしてください。

《プッシュボタンの定義》

ポップアップメニューを表示させるためのプッシュボタンを定義します。

ポップアップ付きのプッシュボタンはGUI画面定義ウィンドウで，［プッシュボタン（単独／追加）］を使用して配置する。

プッシュボタンダイアログで次の項目を定義する。

定義項目 | 定義内容
ラベル | 支店
選択時の動作 | ポップアップ表示

(c)　生成される論理マップ

生成される論理マップは，自動的にポップアップメニューを表示するときと同じです。「6.2.19(1)(c)　生成される論理マップ」を参照してください。

(d)　COBOLでのAP

COBOLでのAPは自動的にポップアップメニューを表示するときと同じです。「6.2.19(1)(d)　COBOLでのAP」を参照してください。

(3)　アクセスキーを使用した固定ポップアップのメニュー選択

アクセスキーは自動ポップアップでも手動ポップアップでも利用できます。ここでは，自動ポップアップを仮定します。

(a)　仕様

「支店コード」の入出力テキストにフォーカスが位置づけられると，ポップアップメニューが自動的に表示されます。「支店」のポップアップメニューからアクセスキーを使用してデータを選択すると，対応する通知コードが入力論理マップに代入されます。「支店コード」の入出力テキストには，選択されたメニューに対応する通知コード「S2」が表示されます。

固定ポップアップメニューを使用した，AP実行時のポップアップメニューの自動表示を次の図に示します。

図6-24　アクセスキーでポップアップメニューを選択する（自動）

(b)　画面定義の概要

画面定義の概要を次に示します。

ポップアップに表示するメニューをAPから動的に変更できるようにするには，GUI画面定義ウィンドウで，ツールボックスの［固定ポップアップ］を使用して配置する。

固定ポップアップメニューダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的※ | POP（自動－日本語）
詳細目的 | 混在（全角・半角）
長さ（アクセスキー） | 4
アクセスキーを使用する | 指定する
選択ラベルと通知コードを同じ値にする | 指定する
タイトルを付ける | 指定する（支店）
データ名 | 支店コード－
データ型 | 文字（XX）（この定義内容は固定）
桁 | 2
データ長 | 2（この定義内容は固定）
メニューの項目数 | 6

注※

通知コードとして半角文字専用にする場合は，「POP（自動－英数）」または「POP（手動－英数）」を選んでください。

また，次に示す定義内容を「メニューの値」のラベルと通知コードに追加していきます。

キー | ラベル | 通知コード
0001 | 0001.港支店 | S1
0002 | 0002.品川支店 | S2
0003 | 0003.練馬支店 | S3
0004 | 0004.足立支店 | S4
0005 | 0005.豊島支店 | S5

(c)　生成される論理マップ

生成される論理マップは，自動的にポップアップメニューを表示するときと同じです。「6.2.19(1)(c)　生成される論理マップ」を参照してください。

(d)　COBOLでのAP

COBOLでのAPは自動的にポップアップメニューを表示するときと同じです。「6.2.19(1)(d)　COBOLでのAP」を参照してください。

(4)　ポップアップが選択されたときの選択ラベルと通知コードを別々にする

ポップアップの選択ラベルと通知コードを同じ値にするかどうかは，自動ポップアップでも手動ポップアップでも指定できます。ここでは，自動ポップアップを仮定します。

(a)　仕様

「支店コード」の入出力テキストにフォーカスが位置づけられると，ポップアップメニューが自動的に表示されます。「支店」のポップアップメニューからデータを選択すると，対応する通知コードが入力論理マップに代入されます。「支店コード」の入出力テキストには，選択されたメニューに対応する選択ラベル「品川支店」が表示されます。APには，選択ラベルに対応した通知コード「S2」が返されます。

固定ポップアップメニューを使用した，AP実行時のポップアップメニューの自動表示を次の図に示します。

図6-25　ポップアップが選択されたときの選択ラベルと通知コードを別々にする（自動）

(b)　画面定義の概要

画面定義の概要を次に示します。

ポップアップに表示するメニューをAPから動的に変更できるようにするには，GUI画面定義ウィンドウで，ツールボックスの［固定ポップアップ］を使用して配置する。

固定ポップアップメニューダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的※ | POP（自動－日本語）
詳細目的 | 混在（全角・半角）
アクセスキーを使用する | 指定する
選択ラベルと通知コードを同じ値にする | 指定しない
タイトルを付ける | 指定する（支店）
データ名 | 支店コード－
データ型 | 文字（XX）（この定義内容は固定）
桁 | 2
データ長 | 2（この定義内容は固定）
メニューの項目数 | 6

注※

通知コードとして半角文字専用にする場合は，「POP（自動－英数）」または「POP（手動－英数）」を選んでください。

また，次に示す定義内容を「メニューの値」のラベルと通知コードに追加していきます。

キー | ラベル | 選択ラベル | 通知コード
1 | 1.港支店 | 港支店 | S1
2 | 2.品川支店 | 品川支店 | S2
3 | 3.練馬支店 | 練馬支店 | S3
4 | 4.足立支店 | 足立支店 | S4
5 | 5.豊島支店 | 豊島支店 | S5

(c)　生成される論理マップ

生成される論理マップは，自動的にポップアップメニューを表示するときと同じです。「6.2.19(1)(c)　生成される論理マップ」を参照してください。

(d)　COBOLでのAP

COBOLでのAPは自動的にポップアップメニューを表示するときと同じです。「6.2.19(1)(d)　COBOLでのAP」を参照してください。

6.2.20　トグルフィールド

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

「発注一覧」の表の各行をチェックし，内容を確認後，発注処理を許可するものに「[図データ]」印を付けます。画面入力後，APでは「[図データ]」が付いているかどうかを判定し，付いているフィールドに対する処理を行います。

トグルフィールドでの選択を次の図に示します。

図6-26　トグルフィールド

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面のフィールドボックス中にフレームを定義し，その中へツールボックスの［トグルフィールド］を使用してトグルフィールドを配置する。

トグルフィールドダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的 | 数字
トグル種別 | チェック（[図データ]）
通知コード | 1
データ名 | FIELD0006-（任意）
桁 | 1
データ長 | 1（この定義内容は固定）

(3)　生成される論理マップ

マップ名がMAP001の場合の例

(4)　COBOLでのAP

6.2.21　入出力・出力フィールドの一括反復（フレームの使用）

入出力フィールドと出力フィールドを1行とみなして，縦方向または横方向に反復表示します。APでは，この1列および1行を集団項目として扱います。なお，GUI画面ではフィールドボックス内でだけ指定できます。

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

1行の中に入出力フィールドとして「品名」「数量」，出力フィールドとして「単価」「小計」がある明細があります。これらのフィールドを，ツールボックスの［フレーム（縦繰り返し）］でまとめると，異なるフィールドから成る1行とみなされ，行単位での縦反復ができます。フレームを使用してフィールドを反復させる場合は，まず，フレームで反復する領域を指定します。そして，指定した領域の先頭行に反復させたいフィールドを設定します。反復させたいフィールドが複数ある場合は，一つずつ設定します。

フレームでの反復を次の図に示します。

図6-27　フレームでの縦反復

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面のフィールドボックス中にフレームを配置する。

フレームダイアログで次の表の項目を定義する。

定義項目 | 定義内容
データ名 | 売上明細-

(3)　生成される論理マップ

マップ名がMAP002の場合の例

(4)　COBOLでのAP

6.2.22　メニュー選択コンボボックス（可変）を使用した候補の選択

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

「地区名」のメニュー選択コンボボックスに「札幌」を初期表示しています。矢印ボタンを押すと，メニュー項目（ラベル）の一覧が表示されます。メニュー項目（ラベル）を選択すると，選択したラベルがボックス内に表示されます。画面の確定後には，選択したラベルに対応する通知コードが入力論理マップに代入されます。

なお，画面表示時に2番目以降のメニューラベルを表示させたい場合は，メニューラベルと通知コードを必ず設定してください。メニューラベルおよび通知コードにデータ有無コードを設定して，前回表示時のメニューを継続した場合は，先頭のメニューラベルが表示されます。

メニュー選択コンボボックス（可変）を使用したAP実行時のコンボボックスの表示を次の図に示します。

図6-28　メニュー選択コンボボックス（可変）を使用したデータの入力

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウで，ツールボックスの［可変コンボボックス］を使用してコンボボックスを配置する。

コンボボックスダイアログで次の表の項目を定義する。

定義項目
定義内容

使用目的※
日本語

桁
10

APが受け取る通知コード
の項目
データ名
地区名－

桁
2

データ長
2（この定義内容は固定）

注※

通知コードとして半角文字専用にする場合は，「英数」を選んでください。

可変コンボメニューダイアログで，次の表の項目を定義する。

定義項目 | 定義内容
メニューの項目数 | 4
ラベル | データ名 | 地区名－LABEL－
データ型 | 文字（XX）
APに返す通知コード | データ名 | 地区名－CODE－

(3)　生成される論理マップ

マップ名がMAP413の場合の例

注

「APが受け取る通知コードの項目」のデータ名を省略した場合，FIELDnnnn-が仮定されます。「メニュー」のデータ名を省略した場合，ラベル名POPUP-LABELnnnn-，APに返すメニューコード名POPUP-CODEnnnn-が仮定されます（nnnn：0001～9999）。

また，可変コンボボックスに対して一つの論理テーブル名が付けられます。

(4)　COBOLでのAP

マップ名がMAP413の場合の例

6.2.23　メニュー選択コンボボックス（固定）を使用した候補の選択

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

「6.2.22　メニュー選択コンボボックス（可変）を使用した候補の選択」と同じ仕様で，メニュー選択コンボボックス（固定）を利用する場合の説明をします。

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウで，ツールボックスの［固定コンボボックス］を使用してコンボボックスを配置する。

コンボボックスダイアログで次の表の項目を定義する。

定義項目
定義内容

使用目的※
日本語

桁
10

APが受け取る
通知コードの項目
データ名
地区名－

桁
2

データ長
2（この定義内容は固定）

注※

通知コードとして半角文字専用にする場合は，「英数」を選んでください。

メニューの定義

固定コンボメニューダイアログで，次に示す内容をラベルと通知コードのリストに追加する。

「ラベル」は，メニュー項目として表示されます。「通知コード」は，APに返すコードデータの値です。

ラベル | 通知コード
札幌 | 01
東京 | 02
大阪 | 03
福岡 | 04

(3)　生成される論理マップ

マップ名がMAP413の場合の例

注

「APが受け取る通知コードの項目」のデータ名を省略した場合，FIELDnnnn-（nnnn：0001～9999）が仮定されます。

(4)　COBOLでのAP

マップ名がMAP413の場合の例

6.2.24　キー入力コンボボックス（可変）を使用したデータの入力

＜この項の構成＞

(1)　仕様

(2)　画面の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

「地区名」のキー入力コンボボックスに「川崎」を初期表示しています。コンボボックスにフォーカスを位置づけ，ラベルの内容をキー入力で書き換えます。画面の確定後には，ラベルに入力したデータに対応するコードが入力論理マップに代入されます。キー入力コンボボックス（可変）を使用したAP実行時のコンボボックスの表示を次の図に示します。

図6-29　キー入力コンボボックス（可変）を使用したデータの入力

(2)　画面の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウで，ツールボックスの［キー入力可変コンボボックス］を使用してコンボボックスを配置する。

キー入力コンボボックスダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的※ | 日本語
桁 | 4
APが受け取る通知コードの項目 | データ名 | 地区名―
桁 | 4
データ長 | 4（この定義内容は固定）
データ型 | 文字（XX）（この定義内容は固定）

注※

通知コードとして半角文字専用にする場合は，「英数」を選んでください。

キー入力可変コンボメニューダイアログで，次の表の項目を定義する。

定義項目 | 定義内容
メニューの項目数 | 4
ラベル＆通知コード | データ名 | 地区名－CODE－
データ型 | キー入力コンボボックスダイアログの「APが受け取る通知コードの項目」の値と同じ

(3)　生成される論理マップ

マップ名がMAP001の場合の例

(4)　COBOLでのAP

6.2.25　キー入力コンボボックス（固定）を使用したデータの入力

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

「6.2.24　キー入力コンボボックス（可変）を使用したデータの入力」と同じ仕様で，キー入力コンボボックス（固定）を利用する場合を説明します。

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウで，ツールボックスの［キー入力固定コンボボックス］を使用してコンボボックスを配置する。

キー入力コンボボックスダイアログで次の表の項目を定義する。

定義項目
定義内容

使用目的※
日本語

桁
4

APが受け取る
通知コードの項目
データ名
地区名－

桁
4

データ長
4（この定義内容は固定）

注※

通知コードとして半角文字専用にする場合は，「英数」を選んでください。

メニューの定義

キー入力固定コンボメニューダイアログで，次に示す内容をラベルのリストに追加する。

「ラベル」はメニュー項目として表示されます。「通知コード」はAPに返すコードデータの値です。

ラベル | 通知コード
横浜 | ラベルの指定が反映される
川崎
鎌倉
藤沢

(3)　生成される論理マップ

マップ名がMAP001の場合の例

(4)　COBOLでのAP

マップ名がMAP001の場合の例

6.2.26　可変ラジオボタンを使用した候補の選択

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

入金区分のラジオボタンボックスで［現金］，［手形］，または［銀行振込］のラジオボタンから一つだけボタンを選択するとオン状態で表示し，それぞれのボタンに対応した通知コードを入力論理マップに代入します。

可変ラジオボタンを使用する場合，表示するボタンのラベル，およびボタンに対応する通知コードをAPで出力論理マップに代入します。

AP実行時でのラジオボタンの表示を次の図に示します。

図6-30　可変ラジオボタンを使用したデータの選択

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウで，ツールボックスの［可変ラジオボタン］を使用してラジオボタンを3個配置する。

可変ラジオボタンボックスダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的※ | 日本語
桁 | 8
APが受け取る項目 | データ名 | 入金区分－
データ型 | 文字（XX）
桁 | 2
データ長 | 2（この定義内容は固定）
APが渡す項目 | ラベル | データ名 | 入金ラベル－
データ型 | 文字（XX）
桁 | 8
データ長 | 8（この定義内容は固定）
通知コード | データ名 | 入金コード－
データ型 | 文字（XX）（この定義内容は固定）
桁 | 2（この定義内容は固定）
データ長 | 2（この定義内容は固定）

注※

通知コードとして半角文字専用にする場合は，「英数」を選んでください。

(3)　生成される論理マップ

マップ名がMAP116の場合の例

注

APが受け取る項目のデータ名を省略した場合はFIELDnnnn-が仮定されます。

ラジオボタンの通知コードのデータ名を省略した場合は，RADIO-CODEnnnn-が仮定されます。

ラベルのデータ名を省略した場合，RADIO-LABELnnnn-が仮定されます。

それぞれの場合，nnnnは「0001～9999」を示します。また，同一の属性を定義したボタンには，一つの論理テーブル名称が付けられます。

(4)　COBOLでのAP

マップ名がMAP116の場合の例

6.2.27　固定ラジオボタンを使用した候補の選択

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

「6.2.26　可変ラジオボタンを使用した候補の選択」と同じ仕様で，固定ラジオボタンを利用する場合の説明をします。

固定ラジオボタンを使用する場合，ラジオボタンダイアログで指定したボタンのラベルを画面に表示し，選択されたラベルに対応する通知コードを入力論理マップに代入します。

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウで，ツールボックスの［固定ラジオボタン］を使用して，ラジオボタンを3個配置する。

固定ラジオボタンダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的※ | 日本語
枠付き（ボックスに枠を付ける） | 指定する
APが受け取る項目 | データ名 | 入金区分―
データ型 | 文字（XX）
桁 | 2
データ長 | 2（この定義内容は固定）

注※

通知コードとして半角文字専用にする場合は，「英数」を選んでください。

固定ラジオボタンダイアログで，次の表の項目を定義する。

定義項目 | 定義内容
［現金］ボタン | ［手形］ボタン | ［銀行振込］ボタン
ラベル | 現金 | 手形 | 銀行振込
通知コード | R1 | R2 | R3

(3)　生成される論理マップ

マップ名がMAP117の場合の例

注

APが受け取る項目のデータ名を省略した場合，FIELDnnnn-（nnnn：0001～9999）が仮定されます。

(4)　COBOLでのAP

マップ名がMAP117の場合の例

6.2.28　可変チェックボタンを使用した候補の選択

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

「割引区分」のチェックボタンボックスで［特待］，［カード］，または［セール］のチェックボタンを選択するとオン状態で表示します。選択されたボタンに対応した通知コードは，入力論理マップに代入されます。

可変チェックボタンは，APでチェックボタンのラベル，およびボタンに対応する通知コードを出力論理マップに格納します。

AP実行時での可変チェックボタンの表示を次の図に示します。

図6-31　可変チェックボタンを使用したデータの選択

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウで，ツールボックスの［可変チェックボタン（複数）］を使用して，チェックボタンを3個配置する。

可変チェックボタンボックスダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的※ | 日本語
桁 | 8
APが受け取る項目 | データ名 | 割引区分－
データ型 | 文字（XX）
桁 | 2
データ長 | 2（この定義内容は固定）
APが渡す項目 | ラベル | データ名 | 割引ラベル－
データ型 | 漢字（NN）
桁 | 8
データ長 | 8（この定義内容は固定）
通知コード | データ名 | 割引コード－
データ型 | 文字（XX）（この定義内容は固定）
桁 | 2（この定義内容は固定）
データ長 | 2（この定義内容は固定）

注※

通知コードとして半角文字専用にする場合は，「英数」を選んでください。

(3)　生成される論理マップ

マップ名がMAP118の場合の例

注

「APが受け取る項目」のデータ名を省略した場合，FIELDnnnn-が仮定されます。「APが渡す項目」のラベルのデータ名を省略した場合，CHECK-LABELnnnn-，通知コードのデータ名を省略した場合，CHECK-CODEnnnn-が仮定されます（nnnn：0001～9999）。

また，同一の属性を定義したボタンには，一つの論理テーブル名が付けられます。

(4)　COBOLでのAP

マップ名がMAP118の場合の例

6.2.29　固定チェックボタンを使用した候補の選択

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

「6.2.28　可変チェックボタンを使用した候補の選択」と同様の仕様で，固定チェックボタンを使用した場合の例を説明します。

固定チェックボタンは，あらかじめチェックボタンダイアログで選択したボタンのラベルを画面に表示し，選択されたラベルに対応する通知コードを入力論理マップに代入します。

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウで，ツールボックスの［固定チェックボタン（複数）］を使用して，チェックボタンを3個配置する。

固定チェックボタンの属性を固定チェックボタンダイアログで定義する。次の表の項目を定義する。

定義項目
定義内容

［特待］ボタン
［カード］ボタン
［セール］ボタン

使用目的※
日本語
日本語
日本語

ラベル
特待
カード
セール

通知コード
ON
ON
ON

APが受け
取る項目
データ名
特待－
カード－
セール－

データ型
文字（XX）
文字（XX）
文字（XX）

桁
2
2
2

データ長
（この定義内容は固定）
2
2
2

注※

通知コードとして半角文字専用にする場合は，「英数」を選んでください。

(3)　生成される論理マップ

マップ名がMAP119の場合の例

注

APが受け取る項目のデータ名を省略した場合，FIELDnnnn-（nnnn：0001～9999）が仮定されます。

(4)　COBOLでのAP

マップ名称がMAP119の場合

6.2.30　チェックボタンの選択状態の動的変更

ここでは固定チェックボタンを使用して説明しますが，可変チェックボタンでも同じように変更できます。

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

ファイルから読み込んだ「会員番号」を判断し，優待会員であれば「割引区分」のチェックボタンボックスの［優待］が選択された状態で画面を表示します。AP実行時に論理マップに代入される値を次の図に示します。

図6-32　チェックボタンの選択状態の動的変更

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウでツールボックスの［固定チェックボタン（複数）］を使用して固定チェックボタンを3個配置する。

固定チェックボタンダイアログで次の表の項目を定義する。

定義項目
定義内容

［優待］ボタン
［カード］ボタン
［セール］ボタン

使用目的※
日本語
日本語
日本語

ラベル
優待
カード
セール

通知コード
ON
ON
ON

データ名
優待－
カード－
セール－

桁
2
2
2

データ長
（この定義内容は固定）
2
2
2

注

このほか，「動的変更（APから属性を変更する）」のチェックボタンをオン状態にして指定します。

注※

通知コードとして半角文字専用にする場合は，「英数」を選んでください。会員番号データを読み込み，優待会員かどうかをチェックするための領域を定義します。

GUI画面定義ウィンドウでツールボックスの［入出力テキスト（英数）］を使用して英数の入出力テキストボックスを配置する。

入出力テキストボックスダイアログで次の表の項目を定義する。

定義項目 | 定義内容
APが受け取る項目 | データ名 | 会員番号－
データ型 | 文字（XX）（この定義内容は固定）
桁 | 8
データ長 | 8（この定義内容は固定）
APが渡す項目 | データ名 | 会員番号－ （この定義内容は固定）
データ型 | 文字（XX） （この定義内容は固定）
桁 | 8（この定義内容は固定）
データ長 | 8（この定義内容は固定）

(3)　生成される論理マップ

マップ名がMAP412の場合の例

注1

入出力テキストボックスのデータ名を省略した場合，FIELDnnnn-（nnnn：0001～9999）が仮定されます。

注2

AP実行時にボタンの属性を変更する場合，マップ生成後に生成される動的変更情報格納エリア（制御項目）に属性情報を代入します。属性情報は，XMAP3が動的変更テーブルとして用意しています。AP実行時は，このテーブルの修飾名を動的変更情報格納エリアに代入します。

(4)　COBOLでのAP

マップ名がMAP412の場合の例

6.2.31　リストボックスを使用した項目の選択

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

店名のリスト項目を画面に表示します。リスト中からデータを一つだけ選択すると反転表示し，データに対応するコード定数が入力論理マップに代入されます。APで出力論理マップにリスト項目と，それに対応する通知コードを代入します。送信要求をすると，リスト項目がリストボックス上に表示されます。リスト項目を選択したあとで送信（実行）キーを押すと，XMAP3が入力論理マップにリスト項目に対応した通知コードを格納します。

単一選択リストボックスを使用した，AP実行時でのリストボックスの表示を次の図に示します。

図6-33　単一選択リストボックスの表示

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウで，ツールボックスの［リストボックス（単一選択）］を使用してリストボックスを配置する。

単一選択リストボックスダイアログで次の表の項目を定義する。

定義項目 | 定義内容
使用目的※ | 日本語
APが受け取る項目 | データ名 | 選択リスト－
データ型 | 文字（XX）
桁 | 2
データ長 | 2（この定義内容は固定）
ラベル | データ名 | リストラベル－
データ型 | 漢字（NN）
桁 | 12
データ長 | 12（この定義内容は固定）
通知コード | データ名 | リストコード－
データ型 | 文字（XX）（この定義内容は固定）
桁 | 2（この定義内容は固定）
データ長 | 2（この定義内容は固定）
リストの項目数（プレーンの行） | 7

注※

通知コードとして半角文字専用にする場合は，「英数」を選んでください。

(3)　生成される論理マップ

マップ名がMAP121の場合の例

注

「APが受け取る項目」のデータ名を省略した場合，FIELDnnnn-が仮定されます。「ラベル」のデータ名を省略した場合，LIST-LABELnnnn-，通知コードのデータ名を省略した場合，LIST-CODEnnnn-が仮定されます（nnnn：0001～9999）。また，単一選択リストボックスダイアログで「LISTnnnn-」の論理項目が付けられます。

(4)　COBOLでのAP

マップ名称がMAP121の場合

6.2.32　コンボボックスの項目数の動的変更

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

可変コンボボックスで表示するメニュー項目数を，APから変更します。メニュー項目を上から順に表示し，後半のデータのないメニュー項目には空白（スペースデータ）を代入しておきます。空白を代入している後半のメニュー項目は表示されません。なお，途中のメニュー項目に代入された空白はデータとみなされるので，これらのメニュー項目はデータが何も入っていない状態で表示されます。コンボボックスのメニュー項目数の動的変更を次の図に示します。

図6-34　コンボボックスの項目数の動的変更

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウでツールボックスの［可変コンボボックス］を使用して，コンボボックスを配置する。

可変コンボボックスのコンボボックスダイアログで，次の表の項目を定義する。

定義項目 | 定義内容
使用目的※ | 日本語
桁 | 22
APが受け取る通知コードの項目 | データ名 | 地区―
桁 | 4
データ長 | 4（この定義内容は固定）

注※

通知コードとして半角文字専用にする場合は，「英数」を選んでください。

可変コンボボックスの可変コンボメニューダイアログで，次の表の項目を定義する。

定義項目 | 定義内容
ボックスサイズ（ラベルの行数） | 10行
APが渡す項目 | メニューの項目数 | 20
ラベル | データ名 | 地区ラベル－
データ型 | 文字（XX）
APに返す通知コード | データ名 | 地区コード－
桁 | 4（この定義内容は固定）
データ長 | 4（この定義内容は固定）

(3)　生成される論理マップ

マップ名がMAP001の場合の例

注

「APが受け取る通知コードの項目」のデータ名を省略した場合，FIELDnnnn-が仮定されます。「APが渡す項目」のデータ名を省略した場合，ラベルではPOPUP-LABELnnnn-が，通知コードではPOPUP-CODEnnnn-がそれぞれ仮定されます（nnnn：0001～9999）。

また，可変コンボボックスに対して一つの論理テーブル名が付けられます。

(4)　COBOLでのAP

6.2.33　プッシュボタンを使用した処理の選択

＜この項の構成＞

(1)　仕様1

(2)　仕様2（ボタンにフォーカスが遷移しないようにする）

(3)　仕様3（キーでプッシュボタンを選択できるようにする）

(1)　仕様1

［確認］，［登録］，または［終了］のプッシュボタンを選択すると，それぞれのプッシュボタンに対応するイベント通知コードを入力論理マップに代入します。APでは選択されたボタンに対応するイベント通知コードを判定して，各処理へ分岐します。

AP実行時でのプッシュボタンの表示，および入力論理マップに代入される値を次の図に示します。

図6-35　プッシュボタンを使用した処理の選択

(a)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウで，ツールボックスの［プッシュボタン（複数）］を使用してボタンを3個配置する。

各プッシュボタンの属性をプッシュボタンダイアログで定義する。次の表の項目を定義する。

定義項目 | 定義内容
［確認］ボタン | ［登録］ボタン | ［終了］ボタン
ラベル | テキスト | 確認 | 登録 | 終了
APへ通知するコード※ | PF01 | PF02 | PF12

注※

これらは標準の仕様です。APへ通知するコードを変更する場合は，ドローセットアップで変更してください。

(b)　生成される論理マップ

マップ名がMAP125の場合の例

(c)　COBOLでのAP

マップ名がMAP125の場合の例

(2)　仕様2（ボタンにフォーカスが遷移しないようにする）

誤入力などを防ぐために，ボタンにフォーカスが遷移しないように設定できます。プッシュボタンボックスダイアログの「フォーカス対象外（フォーカス遷移の対象としない）」を指定すると，そのボックスへはフォーカスが遷移しなくなります。

(a)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウに配置されているボタンボックスのうち，フォーカスを遷移させないボタンボックスを選択する。

プッシュボタンボックスダイアログで，「フォーカス対象外（フォーカス遷移の対象としない）」を指定する。

(b)　生成される論理マップ

マップ名がMAP001の場合の例

(c)　COBOLでのAP

(3)　仕様3（キーでプッシュボタンを選択できるようにする）

プッシュボタンダイアログの「アクセスキーを使用する」を指定し，アクセスキーでプッシュボタンを選択できるようにします。アクセスキーに数字（0～9）を指定すると，テンキー上の数字（0～9）でプッシュボタンを操作できるようになります。

［確認］ボタン，［登録］ボタンおよび［終了］ボタンを選んで，それぞれのプッシュボタンに対応するイベント通知コードを入力論理マップに格納します。APでは，選択されたボタンに対応するイベント通知コードを判定して，各処理に分岐させます。

AP実行時でのプッシュボタンの表示，および入力論理マップに代入される値を次の図に示します。

図6-36　テンキー選択のプッシュボタンを使用した処理の選択

(a)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウに配置されているボタンボックスのうち，テンキーで選択するボタンボックスを選択する。

プッシュボタンダイアログで，「アクセスキーを使用する」および「アクセスキー」を指定する。次の表の項目を指定する。

定義項目 | 定義内容
［確認］ボタン | ［登録］ボタン | ［終了］ボタン
ラベル | テキスト | 確認 | 登録 | 終了
アクセスキーを使用する | 指定する | 指定する | 指定する
アクセスキー | 1 | 2 | 3
通知コード※ | PF01 | PF02 | PF12

注※

これらは標準の仕様です。通知コード（イベント通知コード）を変更する場合は，ドローセットアップで変更してください。

(b)　生成される論理マップ

マップ名がMAP001の場合の例

(c)　COBOLでのAP

6.2.34　プッシュボタンの表示の動的変更

＜この項の構成＞

(1)　仕様1

(2)　仕様2

(1)　仕様1

「顧客コード」の入出力テキストボックスにデータが入力された場合，プッシュボタンボックスにフォーカスが位置づけられると，［OK］のプッシュボタンを活性の状態で表示します。

データの入力がない場合，プッシュボタンボックスにフォーカスが位置づくと，［OK］のプッシュボタンを不活性の状態で表示します。

プッシュボタンの表示の動的変更を次の図に示します。

図6-37　プッシュボタンを不活性状態で表示する

(a)　画面定義の概要

画面定義の概要を次に示します。

●入出力テキストの定義

GUI画面定義ウィンドウで，ツールボックスの［入出力テキスト（英数）］を使用して顧客コードの入出力テキストボックスを配置する。

入出力テキストボックスの属性を入出力テキストダイアログで定義する。次の表の項目を定義する。

定義項目 | 定義内容
使用目的 | 英数
自動送信（入力直後にAPへ制御を渡す） | 指定する
APが受け取る項目 | データ名 | 顧客コード－
データ型 | 文字（XX）（この定義内容は固定）
桁 | 8
データ長 | 8（この定義内容は固定）
APが渡す項目 | データ名 | 顧客コード－
データ型 | 文字（XX）（この定義内容は固定）
桁 | 8（この定義内容は固定）
データ長 | 8（この定義内容は固定）

●プッシュボタンの定義

GUI画面定義ウィンドウで，ツールボックスの［プッシュボタン（複数）］を使用してボタン2個を配置する。

プッシュボタンの属性をプッシュボタンダイアログで定義する。次の表の項目を定義する。

定義項目 | 定義内容
［OK］ボタン | ［キャンセル］ボタン
ラベル | テキスト | OK | キャンセル
APへ通知するコード | A001※ | A002※
動的変更（APから表示属性を変更する） | 指定する | 指定しない
データ名 | BUTTON0001- | 指定しない

注※

APへ通知するコードとしてA001やA002を定義した場合，［Ctrl］+［F1］，［Ctrl］+［F2］などを押しても同じ通知コードがAPに返ります。

プッシュボタン専用の通知コードをAPに返したい場合は，A061～A071を定義してください。

(b)　生成される論理マップ

マップ名がMAP127の場合の例

(c)　COBOLでのAP

マップ名称がMAP127の場合

(2)　仕様2

プッシュボタンのテキストラベルを変更します。

「ID」の入出力テキストボックスにデータを入力し，［登録］ボタン選ぶ。

APで内容をチェックし，出力テキストに「登録名」と「メッセージ」を設定する。

プッシュボタンのラベルテキストを［登録］から［確認］に変更する。

プッシュボタンの表示の動的変更を次の図に示します。

図6-38　プッシュボタンのラベルテキストを変更する

(a)　画面定義の概要

画面定義の概要を次に示します。ここでは，プッシュボタンの定義についてだけ説明します。

GUI画面定義ウィンドウで，ツールボックスの［プッシュボタン（複数）］を使用してボタン2個を配置する。

プッシュボタンの属性をプッシュボタンダイアログで定義する。次の表の項目を定義する。

定義項目 | 定義内容
［登録］ボタン | ［キャンセル］ボタン
APへ通知するコード | A061※ | A062※
テキスト | テキスト | 登録 | キャンセル
APからテキストを変更する | 指定する | 指定しない
データ名 | BUTTON0002- | －
桁 | 9 | －

（凡例）

－：該当しない。

注※

APへ通知するコードとしてA061やA062を定義した場合，プッシュボタン専用となります。

［Ctrl］+［F1］，［Ctrl］+［F2］などを押した場合と同じ通知コードをAPに返したい場合は，A001～A060を定義してください。

(b)　生成される論理マップ

マップ名がMAP001の場合の例

(c)　COBOLでのAP

マップ名称がMAP001の場合

6.2.35　メニューバーを使用した処理の選択

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

メニューバーの［ファイル］を選択すると，プルダウンメニューが表示されます。プルダウンメニューの［印刷］を選択すると，カスケードメニューが表示されます。カスケードメニューの［印刷開始］を選択すると，入力論理マップにはイベント通知コード「PF05」が代入されます。

メニューバーを使用した処理の選択を次の図に示します。

図6-39　メニューバーを使用した処理の選択

(2)　画面定義の概要

画面定義の概要を次に示します。

(a)　メニューバーの定義

GUI画面定義ウィンドウの画面属性定義ダイアログで，［メニューバーを付ける］のチェックボタンを指定したあと，［メニューバー定義］を選択する。

メニュー定義ダイアログでメニューバーを定義する。次の表の項目を定義する。

定義項目 | 定義内容
ラベル | ファイル
プルダウン・カスケードメニューを設定する | 指定する
アクセスキー | F

(b)　プルダウンメニューの定義

メニューバーを定義したあとで，プルダウンメニューを表示したいメニューバーを選択する。

プルダウンメニューのリストボックスをクリックしたあとで，プルダウンメニューの次の表の項目を定義する。

定義項目 | 定義内容
ラベル | 印刷
プルダウン・カスケードメニューを設定する | 指定する
アクセスキー | P

(c)　カスケードメニューの定義

プルダウンメニューを定義したあと，カスケードメニューを表示したいメニューバーを選択する。

カスケードメニューのリストボックスをクリックしたあとで，カスケードメニューの次の表の項目を定義する。

定義項目 | 定義内容
ラベル | 印刷開始
アクセスキー | S
APへ通知するコード | PF05
選択時の動作 | APに通知する

(3)　生成される論理マップ

マップ名がMAP126の場合の例

(4)　COBOLでのAP

マップ名がMAP126の場合の例

6.2.36　出力グラフィックの利用

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

Excelを使用して，グラフをビットマップ形式でクリップボード上に作成します。

作成したビットマップ形式の入力元を出力論理マップに代入します。このとき，入力元はクリップボードなので，「＊CLIP」を指定します。

出力グラフィックを利用したグラフの表示を次の図に示します。

図6-40　出力グラフィックを利用したグラフの表示

注※

この例ではExcelのセルに，APから直接，値を設定しています。そのほかにも，設定する値をCSV形式（Comma Separated Values形式）で別ファイルに出力しておき，それをExcelのシートに読み込むように指示する方法もあります。

《Excelでの準備》

「仕様」の図で示すように，OLE2（Object Linking and Embedding 2）オートメーション機能を使用するとExcelでは何も用意しておく必要はありません。しかし，使用するグラフや処理のパターンが一定であれば，それらを処理するExcelのブック・シートを前もって作成しておき，直接使用すると，APでのOLE2の操作を軽減できます。

また，図6-40の例では，セル間の値の処理方式，および表示するグラフ形式の指定を前もってシートに設定しておくと，APからの指定は不要になります。

OLE2オートメーションのサービス機能
OLE2オートメーション機能については，マニュアル「COBOL2002 ユーザーズガイド」またはマニュアル「COBOL85 ユーザーズガイド」を参照してください。

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウでツールボックスの［出力グラフィック］を使用して，領域を配置する。必要な桁数分，ドラッグして大きさを調整する。このとき，スクロールバーを付けることもできる。

出力グラフィックダイアログで次の表の項目を指定する。

定義項目 | 定義内容
グラフィックデータの渡し方 | ファイル名指定
データ名 | GRAPH0001-
桁 | 12（この定義内容は固定）
データ長 | 12（この定義内容は固定）
スクロールバーを付ける | 指定する
枠付き（ボックスに枠を付ける） | 指定しない

(3)　生成される論理マップ

マップ名がGRAPH1の場合の例

(4)　COBOLでのAP

6.2.37　GUI画面でのファンクションキーの利用

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

ファンクションキーを押して機能を選択します。

メニュー画面を表示し，APはどのプッシュボタン，またはファンクションキーが押されたかをチェックし，それぞれの処理部へ分岐します。

F1キーを押すとXMAP3が入力論理マップのイベント通知コードデータ名の領域に「PF01」を代入する例を次の図に示します。

なお，この例では，PFキーとプッシュボタンは同じイベント通知をします。

図6-41　ファンクションキーを使用した処理の選択

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウで，ツールボックスの［プッシュボタン］を使用してボタンを配置してメニュー画面をレイアウトします。

各ボタンの通知コードは，PFキーの通知コードと同じイベント通知コードにします。

ラベル | APへ通知するコード
F1～F12 | PF01～PF12

ボタンとPFキーについて
この例では，ボタンとPFキーのイベント通知を同じにしていますが，ボタンがない場合も，PFキーは有効になります。また，PFキーのイベント通知コードと，ボタンのイベント通知コードを別々にして，区別して使用することもできます。

(3)　生成される論理マップ

マップ名がMAP107の場合の例

(4)　COBOLでのAP

マップ名称がMAP107の場合

6.2.38　二次ウィンドウの表示

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

一次ウィンドウの入出力テキスト「伝票番号」欄に間違った伝票番号が入力されると，二次ウィンドウでエラーメッセージを表示します。

プッシュボタンの［OK］をクリックすると二次ウィンドウは閉じられます。

AP実行時のエラーメッセージの表示を次の図に示します。

図6-42　二次ウィンドウの表示

二次ウィンドウについて

二次ウィンドウのプッシュボタンをクリックしても，二次ウィンドウが閉じないようにできます。

二次ウィンドウを開いたまま，もう一つの二次ウィンドウを表示できます。

表示されている二次ウィンドウの一部を書き換えられます。

(2)　画面定義の概要

画面定義の概要を次に示します。

(a)　一次ウィンドウの定義

新規作成ダイアログで，マップ名（MAP102）を指定する。

新規作成ダイアログで，一次ウィンドウのレイアウトパターンを指定する。

二次ウィンドウを表示する位置を指定する。

(b)　二次ウィンドウの定義

新規作成ダイアログで，マップ名（MAP103）を指定する。

GUI画面定義ウィンドウで，ツールボックスの［メッセージアイコン］，［固定テキスト］，［プッシュボタン（単独）］を使用して各オブジェクトを配置する。各オブジェクトの属性定義ダイアログで次の項目を定義する。

固定テキスト

定義項目 | 定義内容
テキスト | 正しいデータを入力してください

プッシュボタン

定義項目 | 定義内容
二次ウィンドウを閉じる | 指定する

(3)　生成される論理マップ

《二次ウィンドウ》

マップ名がMAP103の場合の例

(4)　COBOLでのAP

一次ウィンドウのマップ名がMAP102，二次ウィンドウのマップ名がMAP103の場合の例

6.2.39　初期フォーカスの動的変更

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　COBOLでのAP

(1)　仕様

画面を表示させたときに，APからの指示によって「顧客コード」の入出力テキストボックスにフォーカスを位置づけます。APからフォーカスを位置づける指定をしていないと，フォーカス位置は，初期フォーカス位置に指定されます。

AP実行時のフォーカスの位置づけを次の図に示します。

図6-43　フォーカスの位置づけ

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウで，ツールボックスの［入出力テキスト（英数）］を使用して入出力テキストボックスを配置する。

入出力テキストボックスダイアログで次の項目を定義する。

定義項目 | 定義内容
データ名 | 顧客コード－
桁 | 8
データ長 | 8（この定義内容は固定）

(3)　生成される論理マップ

マップ名がMAP411の場合の例

(4)　COBOLでのAP

マップ名がMAP411の場合の例

6.2.40　隠しフィールドの設定

＜この項の構成＞

(1)　仕様

(2)　画面定義の概要

(3)　生成される論理マップ

(4)　使用時の注意事項

(1)　仕様

画面から入力したとき，必ず論理マップの先頭に定数「TRC001」を指定するようにします。出力用APと入力用APが別プログラムになっているとき，APはこの定数を参照して，どこからの入力か判断します。

隠しフィールドの設定を次の図に示します。

図6-44　隠しフィールドの設定

(2)　画面定義の概要

画面定義の概要を次に示します。

GUI画面定義ウィンドウの画面属性ダイアログで，［隠しフィールド］を選択する。

隠しフィールドダイアログで次の項目を定義します。

定義項目 | 定義内容
本フィールドを設定 | する
データ名 | TRAN001
設定する値 | TRC001
データ長 | 9文字固定

設定する値

最大8文字の半角文字列を指定します。最後の9バイト目はスペースが設定されるので，入力できません。

(3)　生成される論理マップ

(a)　入力論理マップ

マップ名がMAP001の場合の例

注※

TRANSCEIVE文などで画面に出力したあと，隠しフィールドの定義項目で，定義時に「設定する値」として指定した9バイトの文字列が入ります。

(b)　出力論理マップ

隠しフィールドに対応する項目はありません。

注※

隠しフィールドは画面上に表示されないフィールドであるため，フォーカス定数は使用しません。

(4)　使用時の注意事項

隠しフィールドは入力専用なので，必ず「設定する値」を指定してください。「設定する値」を指定しないと半角スペース9文字が仮定されます。

隠しフィールドに設定する値を画面に出力したり，画面から入力することはできません。

隠しフィールドは1画面に一つだけ設定できます。

トランザクションコードは隠しフィールドで定義してください。

7.　APのコーディング方法

この章では，XMAP3実行支援のAPインタフェースについて説明します。

＜この章の構成＞

7.1　XMAP3実行支援のAPインタフェースについて

7.2　COBOLの画面入出力命令

7.3　C言語の画面入出力命令

7.4　汎用APインタフェース

7.5　OLTPサーバ構成での画面表示

7.1　XMAP3実行支援のAPインタフェースについて

XMAP3実行支援のAPインタフェースについて説明します。なお，XMAP3のAPインタフェース（ライブラリ）はマルチスレッドで動作するAPからの実行に対応していません。

＜この節の構成＞

7.1.1　XMAP3での画面の入出力の基本

7.1.2　AP間でオープンを引き継ぐ場合

7.1.3　AP分割時の注意

7.1.4　APでの入力論理マップ上のデータチェック

7.1.5　AP作成時の注意事項

7.1.1　XMAP3での画面の入出力の基本

＜この項の構成＞

(1)　APインタフェースの種類

(2)　APインタフェースの概要

(1)　APインタフェースの種類

XMAP3実行支援には，四つのAPインタフェースがあります。XMAP3実行支援の詳細についてはマニュアル「XMAP3 開発・実行ガイド」を参照してください。

図7-1　APインタフェースの種類

解説

COBOL言語仕様に取り込まれた言語インタフェースです。日立COBOLで使用できます。すべてのOSで共通の文法です。

COBOLのCALLインタフェースで呼び出す方法です。日立COBOLなど，標準CALLインタフェースを持つCOBOL言語から使用できます。

C言語インタフェースです。XMAP3共通のC言語用APインタフェースです。また，PC／WSで共通の文法です。

PC専用の汎用APインタフェースです。COBOL，C言語以外の言語用のAPインタフェースです。

(2)　APインタフェースの概要

画面用APでのXMAP3を使用するときの命令を表7-1に示します。また，画面用APとXMAP3の間で渡される情報を図7-2に示します。

表7-1　XMAP3での画面の入出力の基本

要求
日立COBOLの命令
COBOLのCALL文
C言語
汎用関数

オープン※
最初のSENDまたはTRANSCEIVE文発行時
'OPEN'
'MDO△'
要求
'OPEN'
'MDO△'
要求
XmapDrvCreateOpen

表示
SEND文またはTRANSCEIVE文
'SEND'
要求
'SEND'
要求
XmapDrvSend

入力
RECEIVE文またはTRANSCEIVE文
'RECV'
要求
'RECV'
要求
XmapDrvReceive

クローズ
DISABLE文，
GOBACK文，
EXIT
PROGRAM文，
CANCEL文
（APの）STOP RUN
'CLOS'
要求
'CLOS'
要求
XmapDrvClose

注※

一つのAP（プロセス）内で同時にオープンできる端末数の上限は15個です。

図7-2　XMAP3とAP間のデータのやり取り

7.1.2　AP間でオープンを引き継ぐ場合

メッセージを出す共通部分を別DLL化したり，プログラムが大きいので分割したりする場合などは，オープンをプログラム間で引き継がせることをお勧めします。オープンを引き継ぐためには，日立COBOLの場合，プログラムを実行させるAP（ここではAP1） で環境変数「CBLTERMSHAR=YES」を指定しておきます。なお，「CBLTERMSHAR=YES」は，SEND／RECEIVE／TRANSCEIVEインタフェースのときだけ有効です。CALLインタフェースでは無効になります。

オープンを引き継ぐことによって，AP1からAP2を呼び出すとき，AP1でのクローズ（日立COBOLのときDISABLE文の発行）およびAP2でのオープンは発生しません。そのため画面遷移の時間が短くなります。

使用できる日立COBOLをOSごとに次の表に示します。

表7-2　使用できる日立COBOL

OS名 | COBOL2002 | COBOL85
Version 5.0 | Version 6 | Version 7
Windows 95 | × | ○ | ○ | ×
Windows 98 | ○ | ○※1 | ○ | ○
Windows Me | ○ | × | ○※2 | ○
Windows NT 4.0 | ○ | ○ | ○ | ○
Windows 2000 | ○ | × | ○※3 | ○
Windows XP | ○ | × | × | ○
Windows Server 2003 | ○※4 | × | × | ×
Windows Server 2003 x64 | ○※5 | × | × | ×

（凡例）

○：使用できる。

×：使用できない。

注※1

使用できるバージョンは05-01以降となります。

注※2

使用できるバージョンは06-03以降となります。

注※3

使用できるバージョンはOSによって異なります。

・Windows 2000 Server，およびWindows 2000 Professional：06-01以降

・Windows 2000 Advanced Server：06-03以降

・Windows 2000 Datacenter Server：06-04以降

注※4

使用できるバージョンは01-01以降となります。

注※5

使用できるバージョンの詳細については，「Readmeファイル」でご確認ください。

図7-3　AP間でオープンを引き継ぐ場合

7.1.3　AP分割時の注意

日立COBOLでは，明示的にCALL文でオープンを要求する場合を除き，一つのコンパイル単位で最初のSEND文またはTRANSCEIVE文が発行されると画面がオープンされます。そのため，1画面が1実行ファイル（.EXE）のような構成にすると，画面ごとにオープンをすることになります。この場合，オープン・クローズ，SEND文またはTRANSCEIVE文を発行する実行ファイル，ビジネス処理をする実行ファイルをそれぞれ分けた方が実行性能が高くなります。ビジネス処理をする実行ファイルは，DLLファイルでも代用できます。.EXEファイルにするか.DLLファイルにするかは，処理の形態によって次のように使い分けてください。

.EXE：メニュー画面など処理が続く場合（.EXEファイル間でのデータ受け渡しはない）

.DLL：処理が単独で閉じる場合（1ウィンドウで閉じる）

また，複数のコンパイル単位のものを合わせて一つの実行ファイルにするときは，各コンパイル単位でオープンを発行しないようにするため，日立COBOLの実行支援の環境変数で，「CBLTERMSHAR=YES」を指定します。「CBLTERMSHAR=YES」は，SEND／RECEIVE／TRANSCEIVEインタフェースのときだけ有効です。CALLインタフェースでは無効になります。

CALLインタフェースの場合，または「CBLTERMSHAR」をサポートしていないバージョンの日立COBOLを使用している場合で，AP間のオープン引き継ぎをするときは，ユーザが，XMAP3インタフェースエリアの情報を引き継ぐようなコーディングをする必要があります。サンプルコーディングとして，APパターンのGENDSP02およびGENDSP03が利用できます。

＜この項の構成＞

(1)　メインの実行ファイルから別の実行ファイルを呼び出す場合

(2)　新しい画面を表示するとき前の画面を消さないで表示しておくケース

(3)　新しい画面を表示するとき前の画面を消す場合

(4)　画面をクローズしないで一時的に表示中の画面を消す場合

(1)　メインの実行ファイルから別の実行ファイルを呼び出す場合

メインメニュー（AP1）から各サブプログラム（AP2～n）を呼び出すケースを次の図に示します。

AP1，AP2～nの各APで，オープン～クローズを行う。

AP1からAP2～nを呼び出すときは，表示している画面を一度消してから，新しい画面を表示し直す。

図7-4　メインメニュー（AP1）から各サブプログラム（AP2～n）を呼び出すケース

(2)　新しい画面を表示するとき前の画面を消さないで表示しておくケース

AP1からAP2～nを呼び出すとき，AP1の画面を消さないで表示しておくケースを次の図に示します。ただし，この方法では動きが遅くなります。

AP1で画面をオープン→AP2～nを呼び出す

AP2～nではオープン～クローズを行う

図7-5　AP1からAP2～nを呼び出すとき，AP1の画面を消さないで表示しておくケース

(3)　新しい画面を表示するとき前の画面を消す場合

AP1からAP2～nを呼び出すとき，AP1の画面を消してAP2を表示するケースを次の図に示します。ただし，この方法では動きが遅くなります。

図7-6　AP1からAP2～nを呼び出すとき，AP1の画面を消してAP2を表示するケース

(4)　画面をクローズしないで一時的に表示中の画面を消す場合

画面をクローズすると，次表示時には必ずオープンしなければならないので，この間のオープン／クローズの時間が掛かります。このような時間を節約したいときには，GUI画面の画面属性ダイアログの「Z位置」で「後ろに表示」か「一時非表示」を指定します。これらの指定をすると，一時的に表示中の画面を見えないようにできます。いちばん後ろに表示された画面を前に表示させたり，一時的に非表示になった画面を元に戻す場合は，ドローセットアップの「表示属性の動的変更」の「位置属性」タブで「XY位置」を「手前に表示」と指定します。

図7-7　画面をクローズしないで一時的に表示中の画面を消す場合

7.1.4　APでの入力論理マップ上のデータチェック

＜この項の構成＞

(1)　イベント通知コードのチェック

(2)　入力データのチェック

(3)　データ未入力の通知（初期クリア文字を返す場合）

(4)　フォーカス・カーソル位置のチェック

(1)　イベント通知コードのチェック

画面確定時のイベント通知コード（例えば，ファンクションキー1ではPF01，ボタンではA001）を返します。イベント通知コードの値は，ドローセットアップで変更できます。なお，イベント通知コードがAPに渡るタイミングは入力単位の指定（画面確定のタイミング）によって異なります。それぞれの詳細については，「1.5.8　入力単位」を参照してください。

画面属性ダイアログの入力単位で「画面」を指定している場合
画面上で，一つだけ活性になっているオブジェクトを選択したり，データを入力したりしたあと，画面確定を設定しているメニューバー，プッシュボタンまたは画面確定キーを押すと，APに制御が渡ります。また，「自動送信」を指定しているオブジェクトからフォーカス・カーソルが離脱したタイミングでもAPに制御が渡ります。

画面属性ダイアログの入力単位で「フィールド」を指定している場合
画面上で活性になっている，フォーカス・カーソルのあるオブジェクトを選択したり，データを入力したりしたあと，フォーカス・カーソルが次のオブジェクトに移動するタイミングでAPに制御が渡ります。

画面属性ダイアログの入力単位で「イベント」を指定している場合
画面上で活性になっているすべてのオブジェクトから一つを選択したり，データを入力したりしたあと，フォーカス・カーソルがほかのフィールドに移動するタイミングでAPに制御が渡ります。

(2)　入力データのチェック

XMAP3では，画面から入力されたデータを使用目的に従ってチェックします。エラーがあれば，入力時にエラーがあると即座に画面に返す場合と，設定に従ったエラー通知文字やデータ有無コードをAPに返し，処理を続行する場合があります。

画面から入力したデータ以外で，APに返すデータは次のとおりです。なお，データが返されているかどうかは「データ項目名＋H」のデータ名で参照します。

(a)　エラー通知

例えば，カナ文字を扱うテキスト・フィールドに対して全角文字（漢字）を入力した場合に，エラー通知文字（HIGH（X'FF'））をAPに返します。

エラー通知文字は，ドローセットアップの「論理マップ属性」で変更できます。

(b)　データ消去の通知

例えば，フィールドキー（［End］キー）でデータ消去した場合に，データ消去通知文字（LOW（X'00'））をAPに返します。

データ消去通知文字は，ドローセットアップの「論理マップ属性」で変更できます。

(c)　データ未入力の通知（初期値を返す場合）

例えば，テキスト・フィールドで初期値にABCの文字を設定し，データの入力をしない場合に初期値のABCをAPに返します。

(3)　データ未入力の通知（初期クリア文字を返す場合）

初期値の文字を設定せず，データの入力をしない場合に初期クリア文字（埋字）を返します。

例えば，使用目的が「英数」の場合は埋字（スペース）を，「数字」の場合は埋字（ゼロ）をAPに返します。

初期クリア文字は，ドローセットアップの「論理マップ属性」で変更できます。

(4)　フォーカス・カーソル位置のチェック

画面確定時に，どのオブジェクトにフォーカス・カーソルが位置づいているかをチェックできます。なお，フォーカス・カーソルについては「2.4.26　フォーカスとカーソル」を参照してください。

(a)　フォーカス位置の通知（GUI画面の場合）

画面確定時のフォーカス位置を，フォーカス定数で返します。

フォーカス定数は，例えばドローでAPが受け取る項目のデータ名をMAP001-FIELD0001-に設定した場合は，MAP001-FIELD0001-Tの名称で論理マップ中に生成されます。フォーカス定数と入力フォーカス項目の値が一致するオブジェクトの位置が，画面上に位置づいたフォーカスの位置としてAPで認識されます。

(b)　カーソル位置の通知

画面確定時のカーソル位置を，カーソル定数で返します。

カーソル定数は，例えばドローでAPが受け取る項目のデータ名をMAP001-FIELD0001-に設定した場合は，MAP001-FIELD0001-Tの名称で論理マップ中に生成されます。カーソル定数と入力カーソル項目の値が一致するオブジェクトの位置が，画面上に位置づいたカーソルの位置としてAPで認識されます。

ドローセットアップの「カーソルとフォーカス」で行列（2進）カーソルに変更できます。ドローセットアップでの設定についてはマニュアル「XMAP3 開発・実行ガイド」を参照してください。

7.1.5　AP作成時の注意事項

＜この項の構成＞

(1)　［閉じる］ボタンを使用する場合

(2)　［PF］キーなどに「中断」を割り当てた場合

(3)　APに制御が渡る前の画面を表示する場合

(4)　ポップアップメニューの動的変更をする場合

(1)　［閉じる］ボタンを使用する場合

XMAP3の画面で［閉じる］ボタンまたは［閉じる］メニューが操作された場合，XMAP3では，直接ウィンドウを閉じずにAPに対して［閉じる］ボタンまたは［閉じる］メニューが操作されたことを通知します。このため，APでは，このイベントに対して，次のような処理をしてください。

なお，通知するイベント種別は，［Break］キーに対応するイベント通知コードです。

（処理の例）

通知コードが返ってきたとき，APで必要な終了処理をする。

直ちに終了すると不都合が発生する場合は，サブウィンドウで確認をして，その応答内容によって，終了するかどうかを決定する。

イベントに対応する処理がない場合は，［閉じる］ボタンを使用しても，APを終了できません。また，「閉じる」処理に対応していないAPを使用する場合は，［閉じる］ボタンおよび［閉じる］メニューを表示しないで運用してください。

なお，ウィンドウ上の［閉じる］ボタンやコントロールメニューの［閉じる］を使用する場合は，表示・印刷セットアップの「デザイン1」タブで指定します。

(2)　［PF］キーなどに「中断」を割り当てた場合

表示・印刷セットアップの「キー操作1」タブの「強制確定キーの動作」で，「入力済みデータを送らない」を指定した場合，その設定は［PA1］～［PA3］キー，［BREAK］キー，［SCREEN］キーだけが対象となります。

ドローで［PF］キーなどに「中断」を割り当てた場合は，そのキーを押すと画面上のデータも送られます。入力必須項目や，日付・時刻・金額項目など，通常はデータの妥当性がチェックされる項目についても，チェックがされていない状態のデータが返るので，「中断」を使用する場合には，必ずAPで「中断」イベントが起こっていないことを確認してからデータを処理してください。

(3)　APに制御が渡る前の画面を表示する場合

表示画面から強制確定キーによってAPに制御が渡るとき，金額，数値，日付，時刻の入出力テキストおよびフィールドについては，表示されていた画面上のデータは保証されません。再び同じ画面を表示する場合は，明示的にそれぞれのオブジェクトのデータを設定するか，画面属性ダイアログの「入力・選択状態の扱い」を「初期状態」にして表示してください。

(4)　ポップアップメニューの動的変更をする場合

ポップアップメニューの通知コードを変更する場合やメニューの数を少なくする場合で，動的変更を実施する前に選択されていたメニューに対する通知コードが動的変更後になくなるようなときは，APから設定する通知コードをクリアするか，存在するメニューの通知コードを設定して動的変更を実施してください。

7.2　COBOLの画面入出力命令

ここでは，XMAP3を使用した，スタンドアロンまたはC/SシステムでのCOBOLのAPのコーディング方法について説明します。コーディングをする前に，次の準備をしてください。

APを格納するためのフォルダを用意する
ソースプログラムやコンパイル後に生成される作業ファイルを格納するフォルダを用意します。開発環境に合わせてフォルダを分類し，作成位置や名称を決めます。

XMAP3の標準提供ファイルから，必要なファイルをコピーする
XMAP3では，APの作成に必要な登録集原文※を標準提供しています。1.で作成したフォルダにコピーして使用することをお勧めします。このとき，コーディングのひな型であるAPパターンもコピーしておきます。

注※

標準提供の登録集原文を次に示します。

動的変更テーブル（X3MODTBL.CBL）
動的変更用の修飾名と出力論理マップの初期化に使用する定数が指定されています。

インタフェース領域（JSVWATBL.CBL）
CALL文で画面を送受信するときにパラメタとして使用するインタフェース領域が指定されています。

＜この節の構成＞

7.2.1　仮想端末の自動割当て

7.2.2　論理マップの取り込み方法（COBOL）

7.2.3　画面表示命令（COBOL）

7.2.4　CALL文による方法

7.2.5　COBOL開発マネージャを使用したコンパイルと実行のポイント

7.2.6　COBOL開発マネージャでのXMAP3の利用方法

7.2.1　仮想端末の自動割当て

C/Sシステム構成の環境で，サーバ上のAPから複数のクライアントPCへ画面表示をする場合，仮想端末の自動割当て機能を利用できます。この機能は，C/Sシステム構成の場合だけ利用できます。

仮想端末の自動割当て機能は，サーバAPが各クライアントPCに対応した仮想端末名を意識することなく一つの仮想端末名だけを意識していれば，各クライアントPCにあるXMAP3の表示サービスが起動されたタイミングで，APから送信された情報を画面表示するようにできます。仮想端末の自動割当て機能を利用するときは，サーバ側のC/Sセットアップで，APで指定した自動割当て用の仮想端末名を設定します。

仮想端末の自動割当ての詳細については，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

7.2.2　論理マップの取り込み方法（COBOL）

AP中に論理マップを取り込む場合，COBOLのWORKING-STORAGE SECTION，またはLINKAGE SECTIONにCOPY文を指定します。ただし，論理マップ中に定数を展開している場合，LINKAGE SECTIONには取り込めません。

APに論理マップを取り込む例を次に示します。

（取り込みの例）

注※1

新規作成ダイアログのマップ名に，出力用は「O」を入力用は「I」を付けたものです。ここではマップ名にMAP003を指定した場合の例になります。

注※2

APから文字色などの表示属性を変更するときに使用するデータが格納されたテーブルです。

7.2.3　画面表示命令（COBOL）

スタンドアロン環境，およびC/Sシステム環境下では，次に示す方法でAPからPCに対して，画面の入出力ができます。

日立COBOLのSEND文，RECEIVE文，およびTRANSCEIVE文による方法

COBOLのCALL文による方法

＜この項の構成＞

(1)　SEND文，RECEIVE文，およびTRANSCEIVE文による方法

(1)　SEND文，RECEIVE文，およびTRANSCEIVE文による方法

日立COBOLのSEND文，RECEIVE文，およびTRANSCEIVE文によって画面の入出力をする方法について指定例を使用して説明します。

詳細については，マニュアル「COBOL2002 言語 拡張仕様編」またはマニュアル「COBOL85 言語」を参照してください。

(a)　通信記述項

画面の入出力に必要な情報をCOMMUNICATION SECTION中に指定します。

（例）

注　

1，2，3および5は必ず指定してください。ほかの項目は，必要に応じて指定してください。

（例の説明）

通信記述名（DSP）（必須）
SEND文，RECEIVE文，およびTRANSCEIVE文で使用する名称です。

通信種別（I－O WS）（必須）
ディスプレイ用であることを示します。

物理マップ名称格納エリア（必須）
SEND文，RECEIVE文，およびTRANSCEIVE文で出力，または入力したい場合に物理マップ名称を格納するエリアです。格納するマップ名には，次に示すデバイスIDを付ける必要があります。
●GUI画面の場合
マップ名6文字：ND
マップ名7文字：O
●CUI画面の場合
マップ名6文字：NC
マップ名7文字：S

仮想端末名格納エリア
最初のSEND文を実行する前に，仮想端末名を格納しておくエリアです。正しい名称を指定しないと，実行時に表示先が決定できなくなりエラーになります。スタンドアロンの場合は，標準の「DSP001」を指定します。C/Sシステムの場合は，C/Sセットアップで指定した仮想端末名を指定してください。
AP中で仮想端末名を指定していない場合，仮想端末名の先頭1バイト目にスペースを指定している場合，または「SYMBOLIC TERMINAL IS」を省略している場合，環境変数「CBLTERMID」で指定された仮想端末名が仮定されます。環境変数「CBLTERMID」も指定されていない場合は，サーバPC上に画面を表示します。
また，環境変数「CBLTERM_xxx」を指定することで，出力先の仮想端末名を変更することもできます。
CBLTERMID，CBLTERM_xxx の詳細については，マニュアル「COBOL2002 ユーザーズガイド」またはマニュアル「COBOL85 ユーザーズガイド」を参照してください。

マッピングオプション（必須）
論理マップ，または物理マップのマッピング方式を指定します。詳細については，「7.2.3(1)(f)　MAPPING MODE句の扱い（マッピングオプション）」および「1.5.3(1)　マッピングオプション」を参照してください。

リターンコード格納エリア
SEND文，RECEIVE文，およびTRANSCEIVE文のリターンコードを格納するエリアです。SEND文，RECEIVE文，およびTRANSCEIVE文が正常に処理されたかを判定する場合，このエリアを参照します。詳細については，「7.2.3(1)(g)　STATUS KEY句のリターンコード」を参照してください。

データ有無コード格納エリア
データ有無コードを変更したい場合には，最初のSEND文を実行する前にデータ有無コードを格納しておく必要があります。「DATA ABSENCE CODE IS」を省略すると，データ有無コードとして標準の(1F)₁₆が仮定されます。なお，データ有無コードはすべてのAPにかかわるコードのため，できるだけ標準値を利用することをお勧めします。

(b)　SEND文

ディスプレイに画面を表示します。画面表示時に変更したいデータは，出力論理マップへ格納したあとに実行します。

画面の送信から受信までの間にAPでほかの処理をする場合などに使用します。この場合，表示画面への入力操作を抑止するために，ドローの定義で，画面属性の「キーボードのロック状態を解除する」のチェックを外した画面を作成してください。

この画面を最初にSEND文で表示し，AP側の処理が終了して表示画面への入力操作ができるようになったとき，APからウィンドウ属性の「キーボードのロック状態を解除する」の修飾名を指定して，SEND／RECEIVE文（またはTRANSCEIVE文）を発行してください。

なお，二次ウィンドウ，または二次ウィンドウがある一次ウィンドウの場合の送受信には，SEND文を使用せずにTRANSCEIVE文を使用してください。

（例）

(c)　RECEIVE文

ディスプレイ端末からの画面入力を行います。画面入力の結果は，入力論理マップに格納されます。SEND文と対で指定してください。

（例）

(d)　TRANSCEIVE文

ディスプレイ端末での画面の入出力をまとめて行います。SEND文とRECEIVE文の機能を持ちます。通常の画面の送受信には，TRANSCEIVE文を使用するようにしてください。

（例）

(e)　DISABLE文

AP中の最初のSEND文または，TRANSCEIVE文が発行されたとき，ディスプレイをオープンし，プログラム終了までディスプレイを解放（クローズ）しません。

画面表示をしていないときは，ディスプレイ端末を解放し，ほかのプログラムを表示できるようにしたい場合はDISABLE文を使用します。

「例」のようにコーディングすると，次のオープン命令が発行された場合，ディスプレイ上に表示されているウィンドウは消え，新たにウィンドウが表示されます。

（例）

(f)　MAPPING MODE句の扱い（マッピングオプション）

通信記述項のMAPPING MODE句には，画面を表示するときのオプションとしてディスプレイ用に次に示すものが指定できます。なお，指定値（「マージ」「論理マップだけ」「物理マップだけ」）の詳細については「1.5.3(1)　マッピングオプション」を参照してください。

目的 | MAPPING MODE句の指定値
2回目または1回目でユーザデータを表示したいとき | △，または0〈マージ〉
同じ画面に対して一部上書をしたいとき | 2〈論理マップだけ〉
ユーザデータなしで1回目（初期）表示用 | 3〈物理マップだけ〉

(g)　STATUS KEY句のリターンコード

STATUS KEY句のリターンコードの意味を次に示します。

コード
意味
状態／要因／対処方法

'00000'
正常終了
データの入出力が正常に終了した。

'00008'
論理エラー
COBOLのAPに誤りがある。 APに誤りがないかを調べて修正する。

'10004'
'10008'
マッピングエラー
画面データのマッピング中にエラーが発生した。STATUS KEY句の指定がない場合，実行を中止する。 STATUS KEY句の指定がある場合，処理を続行する。画面入出力時のリターンコードの内容を調査して対処する必要がある※。

'20008'
入出力エラー
画面データの入出力中にエラーが発生した。STATUS KEY句の指定がない場合，実行を中止する。 STATUS KEY句の指定がある場合，処理を続行する。画面入出力時のリターンコードの内容を調査して対処する必要がある※。

注※

画面入力時のリターンコードの内容については，実行時のトラブル対処方法のヘルプを参照してください。

なお，これらのリターンコードは日立COBOLのコンソール画面に表示されます。

7.2.4　CALL文による方法

ここでは，COBOLのCALLインタフェースによってマッピングライブラリを使用する方法を説明します。

＜この項の構成＞

(1)　環境部

(2)　CALL文の発行順序

(3)　CALL命令

(1)　環境部

CALLインタフェースを使用する場合の環境部（ENVIRONMENT DIVISION）の定義を次に示します。

注

一意名1は，任意に設定してください。

環境部に上記の指定をした場合には，コンパイル時に次の指定をする必要があります。

コンパイラオプションに次の指定をする。
COBOL2002の場合
　　'-Comp5'
　　'-JPN,Alnum'
COBOL85の場合
　　'-X5'
　　'-Na'

リンカオプションに次の指定をする。
リンカオプション：指定しない
インポートライブラリ／ユーザ指定ライブラリ：
　　XMAP3インストール先¥LIB¥X3MWDR32.LIB
　　　（COBOL2002，COBOL85 Version 7およびVersion 6の場合）
　　XMAP3インストール先¥LIB¥V3Compatible¥X3MWDR32.LIB
　　　（COBOL85 Version 5.0の場合）

APに上記のコーディングを追加しない場合は，コンパイル時に次の指定をする必要があります。

エディタを使用してファイルを作成する。
ファイル内容　　　：jsvwadrv
ファイル名　　　　：XXXX.cbw（XXXXは任意）
ファイルの格納場所：APと同じフォルダ

コンパイラオプションに次の指定をする。
COBOL2002の場合
　　'-Comp5'
　　'-StdCall'
　　'-JPN,Alnum'
COBOL85の場合
　　'-X5'
　　'-Cp'
　　'-Na'，

リンカオプションに次の内容を指定する。
リンカオプション：指定しない
インポートライブラリ／ユーザ指定ライブラリ：
　　XMAP3インストール先¥LIB¥X3MWDR32.LIB
　　　（COBOL2002，COBOL85 Version 7およびVersion 6の場合）
　　XMAP3インストール先¥LIB¥V3Compatible¥X3MWDR32.LIB
　　　（COBOL85 Version 5.0の場合）

(2)　CALL文の発行順序

マッピングライブラリの機能と発行順序を次の図に示します。

図7-8　マッピングライブラリの機能と発行順序

(3)　CALL命令

CALL命令の形式と発行順序を次に示します。

XMAP-COM
共通インタフェース領域を指定します。形式の詳細を次の表に示します。この領域は，画面を出力したい端末単位に作成し，オープンしたときの領域をクローズ要求まで引き継いで使用します。また，次に示す各要求時にマッピング，および入出力に必要な情報を代入します。

オープン要求時　：仮想端末名，通信種別を指定する。

出力要求時　　　：物理マップ名を指定する。

入力要求時　　　：入力論理マップ長を指定する。

表7-3　共通インタフェース領域の形式（XMAP-COM，COBOL）

データ項目名
長さ（位置）
データ形式
指定内容（データ名）

アイキャッチャ
4
X(4)
'＊XP△'とする（XMAP-COM-ID）。

リターンコード
2(4)
9(4)COMP-5
2進形式で格納（XMAP-COM-RTN）。

リターンコード詳細
（画面入出力時のリターンコード）
2(6)
9(4)COMP-5
2進形式で格納（XMAP-COM-RSN）。

未使用
3(8)
X(3)
(00)₁₆とする（XMAP-COM-RSV1）。

id区分
1(11)
X
必ず'I'とする（XMAP-COM-ITYPE）。

仮想端末名称
8(12)
X(8)
スタンドアロンの場合，標準の「DSP001」を指定する。C/Sシステムの場合，出力先の仮想端末名を指定する（XMAP-COM-TNAME）。

未使用
4(20)
X(4)
(00)₁₆とする（XMAP-COM-RSV2）

通信種別
4(24)
X(4)
ディスプレイ要求時は'BWS△'とする（XMAP-COM-MSG）。

未使用
44(28)
X(44)
(00)₁₆とする（XMAP-COM-RSV3）。

マップ名称
8(72)
X(8)
物理マップ名を左詰めでデバイスID付きで指定する。残りは空白（XMAP-COM-MAPNAME）。

未使用
8(80)
X(8)
(00)₁₆とする（XMAP-COM-RSV4）。

入力論理マップ長
4(88)
S9(8)
COMP-5
入力論理マップ長を指定する（XMAP-COM-INLNG）。

未使用
68(92)
X(68)
(00)₁₆とする（XMAP-COM-RSV5）。

XMAP-REQ
要求インタフェース領域を指定します。形式を次の表に示します。この領域は，必ず指定してください。この領域を指定した内容によって，要求種別が決まります。

表7-4　要求インタフェース領域の形式（XMAP-REQ，COBOL）

データ項目名
長さ
（位置）
データ形式
指定内容（データ名）

要求種別
4
X(4)
'OPEN'：オープン要求
'CLOS'：クローズ要求
'SEND'：出力要求
'RECV'：入力要求
'MDO△'：オプション設定要求
（XMAP-REQ-TYPE）

RECEIVE
オプション
1(4)
X
'F'：入力要求時
'△'：上記以外（XMAP-REQ-OPT1）

SEND
オプション
1(5)
X
'1'：出力要求時
'△'：上記以外（XMAP-REQ-OPT2）

未使用
2(6)
X(2)
'△△'とする（XMAP-REQ-RSV）

データ名3

出力要求時　　　：出力論理マップを指定する。

入力要求時　　　：入力論理マップを指定する。

オープン要求時　：オープンインタフェース領域を指定する。

形式の詳細を次の表に示します。この領域は必ず指定してください。

表7-5　オープンインタフェース領域の形式（XMAP-OPN，COBOL）

データ項目名
長さ
（位置）
データ形式
指定内容（データ名）

データ有無
コード
使用選択
1
X
'1'　：データ有無コードを指定する
その他 ：データ有無コードを指定しない（標準値「1F」を仮定）
（XMAP-OPN-DCODE-SET）

データ有無
コード
1(1)
X
データ有無コードを指定する場合，2桁の16進数（00～FF）で指定する
（XMAP-OPN-DCODE）

未使用
2(2)
X(2)
'△△'とする（XMAP-OPN-RSV）

なお，データ有無コード使用選択項目でデータ有無コードを無効にする指定をした場合は，標準値「1F」が仮定されます。

データ名4
オプション設定要求時は，マッピングインタフェース領域を指定します。形式の詳細を次の表に示します。なお，マッピングオプションを指定しない場合は，「0」を仮定します。

表7-6　マッピングインタフェース領域の形式（XMAP-MDO，COBOL）

データ項目名
長さ
（位置）
データ形式
指定内容（データ名）

マッピング
オプション
大分類
4
9(8)COMP-5
XMAP-MDO-SFLDの内容を代入する
（XMAP-MDO-OPT1）

マッピング
オプション
小分類
（MAPPING MODE句相当）
4(4)
9(8)COMP-5
XMAP-MDO-MAPFLD※
XMAP-MDO-PHFLD※
XMAP-MDO-LOGFLD※
（XMAP-MDO-OPT2）

注※

データ名とマッピングオプションは次のように対応しています。なお，マッピングオプションの詳細については「1.5.3(1)　マッピングオプション」を参照してください。

・MAPFLD：マージ

・PHFLD：物理マップだけ

・LOGFLD：論理マップだけ

インタフェース領域の取り込み方法

XMAP3が提供しているインタフェース領域（JSVWATBL.cbl）をAPに取り込む場合，COBOLのWORKING-STORAGE SECTION，またはLINKAGE SECTIONにCOPY文を指定します。また，コンパイルする前にJSVWATBL.cblのフォルダ名をCBLLIBに設定しておく必要があります。

インタフェース領域を次の図に示します。

図7-9　インタフェース領域

オープン要求

CALL命令を使用する場合，画面を表示したい端末に付けた仮想端末名単位にオープン要求をします。複数の仮想端末（ディスプレイ）をオープン要求する場合，インタフェース領域は，仮想端末ごとに準備してください。一つのAP（プロセス）内で同時にオープンできる端末数の上限は15個です。

（例）

オプション設定要求

仮想端末へ画面表示をする場合，マッピングオプションを指定できます。オープン要求で使用した共通インタフェースを引き継いで使用します。

（例）

出力要求

オープン要求した仮想端末へ画面を表示します。オープン要求で使用した共通インタフェース領域を引き継いで使用します。

（例）

入力要求

入力要求によって，画面から入力した情報をAPへ代入します。画面表示要求で使用したインタフェース領域を引き継いで使用します。

（例）

クローズ要求

仮想端末をクローズします。オープン要求，出力要求，および入力要求で使用したインタフェースを引き継いで使用します。

（例）

7.2.5　COBOL開発マネージャを使用したコンパイルと実行のポイント

COBOL開発マネージャを使用したコンパイルと実行のポイントについて説明します。

＜この項の構成＞

(1)　COBOL開発マネージャの概要

(2)　コンパイル時のポイント

(3)　リンケージ時のポイント

(4)　実行時のポイント

(1)　COBOL開発マネージャの概要

COBOL開発マネージャは，日立COBOLから提供されているCOBOLプログラムの統合的な開発環境です。COBOLでAPを開発するときに必要なCOBOLソースや登録集原文などの資産をその依存関係に従って管理し，コンパイルなどの作業を自動化します。

COBOL開発マネージャを使用する場合，次の手順でAPを作成します。

プロジェクトの作成

資産の登録，定義

ビルド，リビルド

次に，それぞれの手順について説明します。

(a)　プロジェクトの作成

COBOL開発マネージャでは，一つの.EXEまたは.DLLファイルの開発単位を「プロジェクト」と呼んでいます。COBOL開発マネージャを使用してAPを作成する場合，このプロジェクトを定義する必要があります。

(b)　資産の登録，定義

COBOL開発マネージャでは，プロジェクトで作成される実行のファイル（.EXE，または.DLL）やそれを構成する要素を「資産」と呼んでいます。また，COBOL開発マネージャでは，その依存関係を定義する必要があります。

資産の依存関係を定義すると，COBOL開発マネージャではどのように表されるかを次の図に示します。

図7-10　COBOL2002，COBOL85 Version 7およびVersion 6の場合

図7-11　COBOL85 Version 5.0の場合

(c)　ビルド，リビルド

COBOL開発マネージャでは，(b)で定義した資産の依存関係に基づいてコンパイルとリンケージをします。

その方法として，各資産の依存関係とタイムスタンプ（ファイル作成／修正日時）の前後関係に基づいてコンパイルとリンケージをする「ビルド」があります。例えば，「実行ファイルの作成／修正日時」より実行ファイルが取り込んでいる「COBOLソースの作成／修正日時」の方が新しい場合にコンパイルとリンケージが実行されます。

また，タイムスタンプには関係なくコンパイルとリンケージをする「リビルド」もあります。

(2)　コンパイル時のポイント

(a)　XMAP3と連携するためのコンパイラオプションを指定する

日立COBOLを使用したとき，指定が必要なコンパイルオプションを次に示します。

COBOL2002の場合
-Comp5：COBOLプログラム中のCOMP-5を利用できるようにするオプション。
-JPN,Alnum：論理マップ内で日本語項目を扱えるようにするオプション。
-StdCall：CALLインタフェースを使用し，環境部に'jsvwadrv'の指定をしない場合に必要なオプション。

COBOL85の場合
-X5：COBOLプログラム中のCOMP-5を利用できるようにするオプション。
-Na：論理マップ内で日本語項目を扱えるようにするオプション。
-Cp：CALLインタフェースを使用し，環境部に'jsvwadrv'の指定をしない場合に必要なオプション。

(b)　AP間でオープンを引き継ぐ

SEND／RECEIVE／TRANSCEIVEを使用してAPを分割してコンパイルする場合，共通画面を表示する個所を別DLLにします。APを分割してコンパイルするときは，コンパイル単位でXMAP3の画面オープン・クローズ要求が毎回発行されないようにします。日立COBOLの実行支援の環境変数で，「CBLTERMSHAR=YES」を指定します。「CBLTERMSHAR=YES」は，SEND／RECEIVE／TRANSCEIVEインタフェースのときだけ有効です。CALLインタフェースでは無効になります。

CALLインタフェースの場合，または「CBLTERMSHAR」をサポートしていないバージョンの日立COBOLを使用している場合で，AP間のオープン引き継ぎをするときは，ユーザが，XMAP3インタフェースエリアの情報を引き継ぐようなコーディングをする必要があります。サンプルコーディングとして，APパターンのGENDSP02およびGENDSP03が利用できます。

(c)　登録集原文，動的変更テーブル（X3MODTBL）を確認する

APのCOPY文に，論理マップ（マップ生成時に付けられた名称）や動的変更テーブル（X3MODTBL）が間違って指定されていないか確認してください。

論理マップや動的変更テーブルがフォルダ中に用意されているか確認してください。ソースプログラムと登録集原文が同じフォルダで管理されている場合は，論理マップや動的変更テーブルが同一フォルダに格納されていないことが考えられます。また，ソースプログラムと登録集原文が別のフォルダで管理されている場合は，環境変数に指定した登録集原文のフォルダに誤りがあったり，指定したフォルダに論理マップや動的変更テーブルが格納されていなかったりすることが考えられます。動的変更テーブルおよびXMAP3インタフェース領域テーブルは，「XMAP3インストール先¥INCLUDE」の下に格納されていますので，必要なフォルダにコピーするか，または登録集原文が格納されているフォルダを環境変数CBLLIBに指定して使用してください。

データ名または変数名に対し，不当な文字をAPで指定していないか確認してください。

CALLインタフェースでXMAP3を利用する場合には，XMAP3インタフェース領域テーブル（JSVWATBL）がAPのCOPY文に指定されているか確認してください。

(3)　リンケージ時のポイント

(a)　XMAP3使用時のリンケージオプションを指定する

CALLインタフェースでXMAP3を利用する場合，インポートライブラリ／ユーザ作成ライブラリに，次のように指定します。

COBOL2002，COBOL85 Version 7およびVersion 6の場合
XMAP3インストール先¥LIB¥X3MWDR32.LIB

COBOL85 Version 5.0の場合
XMAP3インストール先¥LIB¥V3Compatible¥X3MWDR32.LIB

(b)　XMAP3のライブラリを設定する

コンパイル環境（CALL文のインタフェースを使用するAPの場合は，リンケージ環境）のPCには，XMAP3の開発環境をインストールしておく必要があります。

(4)　実行時のポイント

APを実行する前に，物理マップやグラフィックデータ（グラフィックを使用する場合）を実行可能ファイルと同じフォルダに格納してください。

また，マップパスやグラフィックパスを指定する方法もあります。マップパスおよびグラフィックパスは，表示・印刷セットアップで指定します。表示・印刷セットアップについては，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

APを分割してコンパイルした場合は，実行支援の環境変数が必要になります。「7.1.2　AP間でオープンを引き継ぐ場合」を参照してください。

7.2.6　COBOL開発マネージャでのXMAP3の利用方法

COBOL開発マネージャとXMAP3との両方をインストールしている場合，COBOL開発マネージャからXMAP3の機能を呼び出せます。XMAP3の資産を登録，定義すれば，ビルド，またはリビルドによってコンパイルとリンケージをしてAPを作成できます。

また，AP作成時にソースプログラムや登録集原文を格納したりするフォルダを作成しておいてください。

次に，COBOL開発マネージャからXMAP3を利用する方法について説明します。

＜この項の構成＞

(1)　COBOL開発マネージャ上での資産の登録，定義

(2)　マップ定義ファイルの作成と修正

(3)　マップ生成

(1)　COBOL開発マネージャ上での資産の登録，定義

COBOL開発マネージャ上では，XMAP3の資産を扱う場合，XMAP3でのファイル名の規則に従います。また，XMAP3の「マップ名」を基に作成します。

XMAP3の資産をCOBOL開発マネージャで利用するときのファイル名称の規則を，次の表に示します。

表7-7　XMAP3の資産をCOBOL開発マネージャで利用するときのファイル名称の規則

XMAP3の
資産
COBOL開発マネージャでの名称
COBOL開発マネージャで付けるファイル名称
内容

マップ定義
マップ定義
マップ名.imp
ユーザが定義した画面の情報を格納している。定義を修正するときにはこのファイル名を指定。

論理マップ
登録集原文
マップ名＋O.cbl
APで取り込む出力情報の登録原文集。

マップ名＋I.cbl
APで取り込む入力情報の登録原文集。

物理マップ
－
マップ名＋XX※.pmp
ユーザが定義した画面のうち，APではアクセスしない，固定部分の情報。
COBOL開発マネージャの管理対象外。

（凡例）

－：該当しない。

注※

XXは，デバイスIDを示します。

また，COBOL開発マネージャからXMAP3の資産を登録，定義した場合，どのように表されるかを次の図に示します。

図7-12　COBOL2002，COBOL85 Version 7およびVersion 6の場合

図7-13　COBOL85 Version 5.0の場合

これを基にして，XMAP3で作成した2種類の画面をCOBOL開発マネージャで利用してAPを作成する場合の例を次の図に示します。

図7-14　COBOL2002，COBOL85 Version 7およびVersion 6の場合

図7-15　COBOL85 Version 5.0の場合

《注意》

ファイル名は，表7-7の規則に従って定義する必要があります。

ファイル名は，XMAP3のマップ名を使用して作成してください。XMAP3のファイル名を使用しないと，上記に示す資産定義と一致しなくなります。

XMAP3で入出力画面の定義をする場合，3.，5.または7.，9.は同じファイル名で定義してください。

このように資産を登録，定義しておけば，定義ファイルに変更があった場合，ビルドによってコンパイル，リンケージされ，自動的に登録集原文（論理マップ）が生成し直されます。

(2)　マップ定義ファイルの作成と修正

マップ定義ファイルを作成，または修正したい場合，次に示すどちらかの操作をすることでXMAP3の画面定義ができます。

COBOL開発マネージャ上で，マップ定義ファイル（xxx.imp）をダブルクリックします。

COBOL開発マネージャ上で，マップ定義ファイル（xxx.imp）をクリックして，［ツール］メニューから［マップ定義］を選びます（COBOL85 Version 5.0の場合だけ）。

(3)　マップ生成

COBOL開発マネージャのビルド，またはリビルドを使用しないで単独にマップ生成をする場合，次の操作をすることでマップ生成ができます。生成される論理マップや物理マップのファイル名については，表7-7を参照してください。

マップ生成時に使用するリトルエンディアン，およびビッグエンディアンは，オプションで指定してください。

《操作方法》

COBOL2002，COBOL85 Version 7およびVersion 6の場合

特定のマップ定義ファイルからマップ生成をするときにだけ有効とする場合
COBOL開発マネージャ上で，マップ定義ファイル（xxx.imp）をクリックして，［ファイル］－［ファイルの設定］を選択し，必要なコンパイルオプションを指定します。

すべてのマップ定義ファイルからマップ生成をするときに有効とする場合
COBOL開発マネージャ上で，［プロジェクト］－［プロジェクトの設定］を選択し，「製品連携」タブ※で必要なコンパイルオプションを指定します。

注※

COBOL2002の場合，「最適化」タブとなります。

COBOL85 Version 5.0の場合

特定のマップ定義ファイルからマップ生成をするときにだけ有効とする場合
COBOL開発マネージャ上で，マップ定義ファイル（xxx.imp）をクリックして，［プロジェクト］－［単一生成オプション］を選択し，必要なコンパイルオプションを指定します。

すべてのマップ定義ファイルからマップ生成をするときに有効とする場合
COBOL開発マネージャ上で，［オプション］－［マップ生成］を選択します。

《設定形式》

［-BigEndian,Bin］（COBOL2002の場合）

［-Bb］（COBOL85の場合）

《説明》

-BigEndian,Binまたは-Bbは，ビッグエンディアンを指定することを示します。指定がない場合，リトルエンディアンが仮定されます。

7.3　C言語の画面入出力命令

ここでは，XMAP3を使用したシステムでのC言語のAPのコーディング方法について説明します。コーディングをする前に，次の準備をしてください。従来のC言語にないクラスなどの概念を持ったC++言語でAPを作成する場合には，「7.4　汎用APインタフェース」を参照してください。

APを格納するためのディレクトリを用意する
ソースプログラムやコンパイル後に生成される作業ファイルを格納するディレクトリを用意します。開発環境に合わせてディレクトリを分類し，作成位置や名称を決めます。

XMAP3の標準提供ファイルから，必要なファイルをコピーする
XMAP3では，APの作成に必要なヘッダファイル※を標準提供しています。1.で作成したディレクトリにコピーして使用することをお勧めします。このとき，コーディングのひな型であるAPパターンもコピーしておきます。

注※

標準提供のヘッダファイルを次に示します。

動的変更テーブル（X3MODTBL.H）
動的変更用の修飾名と，出力論理マップの初期化に使用する定数が指定されています。

インタフェース領域（JSVWATBL.H）
jsvwadrv関数で帳票を送信するときにパラメタとして使用するインタフェース領域が指定されています。

＜この節の構成＞

7.3.1　仮想端末の自動割当て

7.3.2　論理マップの取り込み方法（C言語）

7.3.3　画面表示命令（C言語）

7.3.4　C言語固有のコーディング例

7.3.1　仮想端末の自動割当て

C/Sシステム構成の環境で，サーバ上のAPから複数のクライアントPCへ画面表示をする場合，仮想端末の自動割当て機能を利用できます。この機能は，C/Sシステム構成の場合だけ利用できます。

仮想端末の自動割当て機能は，サーバAPが各クライアントPCに対応した仮想端末名を意識することなく一つの仮想端末名だけを意識していれば，各クライアントPCにあるXMAP3の表示サービスが起動されたタイミングで，APから送信された情報を画面表示するようにできます。仮想端末の自動割当て機能を利用するときは，サーバ側のC/Sセットアップで，APで指定した自動割当て用の仮想端末名を設定します。

仮想端末の自動割当ての詳細については，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

7.3.2　論理マップの取り込み方法（C言語）

AP中に論理マップを取り込むには，#include指示語を使用します。

APに論理マップMAP003O.h，およびMAP003I.hを取り込む例を次に示します。

#include指示語によってAPに実領域が取られます。

7.3.3　画面表示命令（C言語）

XMAP3を呼び出すためのC言語インタフェースは，次に示すjsvwadrv関数を提供します。

＜この項の構成＞

(1)　jsvwadrv関数の発行順序

(2)　jsvwadrv関数

(3)　リンケージ時の注意事項

(1)　jsvwadrv関数の発行順序

jsvwadrv関数の機能と発行順序を次に示します。

(2)　jsvwadrv関数

jsvwadrv関数の形式を次に示します。

　　　long APIENTRY jsvwadrv（XMAP_COMアドレス，XMAP_REQアドレス，
　　　　　　　　　　　　　　　パラメタ3，パラメタ4）

XMAP_COMアドレス
共通インタフェース領域のアドレスを指定します。形式の詳細を次の表に示します。この領域は，画面を出力したい端末単位に作成し，オープンしたときの領域をクローズ要求まで引き継いで使用します。また，次に示す各要求時にマッピング，および入出力に必要な情報を代入します。

オープン時　：　仮想端末名，通信種別を指定する。

出力要求時　：　物理マップ名称を指定する。

入力要求時　：　入力論理マップ長を指定する

表7-8　共通インタフェース領域の形式（XMAP_COM，C言語）

項目
長さ
（位置）
データ形式
格納内容
データ名

アイキャッチャ
4
char[4]
'＊XP△'とする
xmap_com_id

リターンコード※1
2(4)
unsigned short
2進形式でXMAP3が格納
xmap_com_rtn

画面入出力時のリターンコード※1
2(6)
unsigned short
2進形式でXMAP3が格納
xmap_com_rsn

未使用
3(8)
char[3]
(00)₁₆とする
xmap_com_rsv1

id区分
1(11)
char
必ず'I'とする
xmap_com_itype

仮想端末名
8(12)
char[8]
出力先の仮想端末名を指定する（標準は'DSP001△△'を指定する）
xmap_com
_tname

未使用
4(20)
char[4]
(00)₁₆とする
xmap_com_rsv2

通信種別
4(24)
char[4]
'BWS△'とする
xmap_com_msg

未使用
44(28)
char[44]
(00)₁₆とする
xmap_com_rsv3

マップ名称
8(72)
char[8]
物理マップ名を左詰めでデバイスID付きで指定する。残りは空白※2。
xmap_com
_mapname

未使用
8(80)
char[8]
(00)₁₆とする
xmap_com_rsv4

入力論理
マップ長
4(88)
long
入力論理マップ長を指定する
xmap_com_inlng

未使用
68(92)
char[68]
(00)₁₆とする
xmap_com_rsv5

注※1

論理マップ名については，「7.2.3(1)(a)　通信記述項」を参照してください。

注※2

リターンコードについては「7.2.3(1)(g)　STATUS KEY句のリターンコード」を参照してください。

XMAP_REQアドレス
要求インタフェース領域のアドレスを指定します。形式の詳細を次の表に示します。この領域は，必ず指定してください。この領域で指定した内容によって要求種別が決まります。

表7-9　要求インタフェース領域の形式（XMAP_REQ，C言語）

項目
長さ
（位置）
データ形式
指定内容
データ名

要求種別
4
char[4]
'OPEN'：オープン要求
'CLOS'：クローズ要求
'RECV'：入力要求
'SEND'：出力要求
'MDO△'：オプション設定要求
xmap_req_type

RECEIVE
オプション
1(4)
char
'F'：入力要求時
'△'：上記以外
xmap_req_opt1

SEND
オプション
1(5)
char
'1'：出力要求時
'△'：上記以外
xmap_req_opt2

未使用
2(6)
char[2]
'△△'とする
xmap_req_rsv

パラメタ3

出力要求時：出力論理マップのアドレスを指定する。

入力要求時：入力論理マップのアドレスを指定する。

クローズ要求時：0Lを指定する。

オプション設定要求時：1Lを指定する。

オープン要求時：オープンインタフェース領域のアドレスを必ず指定する。

オープンインタフェース領域の詳細を次の表に示します。

表7-10　オープンインタフェース領域の形式（XMAP_OPN，C言語）

項目
長さ
（位置）
データ形式
指定内容（データ名）
データ名

データ有無コード使用選択
1
char
'1'：データ有無コードを指定する
その他：データ有無コードを指定しない（標準値「1F」を仮定）
xmap_opn_dcode_set

データ有無コード
1(1)
unsigned char
データ有無コードを指定する場合，2桁の16進数（00～FF）で指定する
xmap_opn_dcode

未使用
2(2)
char[2]
'△△'とする
xmap_opn_rsv

なお，データ有無コード使用選択項目でデータ有無コードを無効にする指定をした場合は，標準値「1F」が仮定されます。

パラメタ4
オプション設定要求時は，マッピングインタフェース領域を指定します。形式の詳細を次の表に示します。なお，マッピングオプションを指定しない場合には，0を指定します。

表7-11　マッピングインタフェース領域の形式（XMAP_MDO，C言語）

項目
長さ
（位置）
データ形式
指定内容（データ名）
データ名

マッピングオプション大分類
4
unsigned long
XMAP_MDO_SFLDの内容をセットする
xmap_mdo_opt1

マッピングオプション小分類
4(4)
unsigned long
XMAP_MDO_MAPFLD※
XMAP_MDO_PHFLD※
XMAP_MDO_LOGFLD※
xmap_mdo_opt2

注※

データ名とマッピングオプションは次のように対応しています。

XMAP_MDO_MAPFLD：マージ

XMAP_MDO_PHFLD：物理マップだけ

XMAP_MDO_LOGFLD：論理マップだけ

なお，マッピングオプションの指定値の詳細については「1.5.3(1)　マッピングオプション」を参照してください。

(a)　リターン情報

共通インタフェース領域のxmap_com_rtnにリターン値が設定されます。リターン値を次に示します。

0：正常終了

4，8：異常終了（詳細については，共通インタフェース領域のxmap_com_rsnに設定される）

12：パラメタ不正

(b)　インタフェーステーブルの取り込み方法

XMAP3が提供しているインタフェーステーブル（jsvwatbl.h）をAPに取り込む場合，#include指示語を使用します。

ただし，jsvwatbl.h中のインタフェーステーブルは，構造体の形式などを定義しており，#include指示語によってAPに実領域は確保されません。このため，AP中でインタフェース領域を用意する必要があります。例を次に示します。

（例）

インタフェーステーブルを次の図に示します。

図7-16　インタフェーステーブル

(c)　オープン要求

jsvwadrv関数を使用する場合，画面を表示したい端末に付けた仮想端末名単位にオープン要求をします。複数の仮想端末をオープン要求する場合，インタフェース領域は仮想端末ごとに用意する必要があります。一つのAP（プロセス）内で同時にオープンできる端末数の上限は15個です。

（例）

(d)　クローズ要求

仮想端末をクローズします。オープン要求，出力要求，および入力要求で使用したインタフェースを引き継いで使用します。

（例）

(e)　出力要求

オープン要求した仮想端末へ画面を表示します。オープン要求で使用した共通インタフェース領域を引き継いで使用します。

（例）

注　

jsvwadrv関数を呼ぶ前に，表示したいデータを出力論理マップにセットしてください。

(f)　入力要求

入力要求によって，画面から入力した情報をAPへ入力します。画面表示要求で使用したインタフェース領域を引き継いで使用します。

（例）

(g)　オプション設定要求

仮想端末へ画面を表示する場合，マッピングオプションを指定できます。オープン要求で使用した共通インタフェース領域を引き継いで使用します。

（例）

(3)　リンケージ時の注意事項

ライブラリには，次に示すファイルを指定する必要があります。

Visual C++ .NET，Visual C++ 6.0の場合

XMAP3インストール先¥LIB¥X3MWDR32.LIB

Visual C++ 5.0の場合

XMAP3インストール先¥LIB¥V3Compatible¥X3MWDR32.LIB

7.3.4　C言語固有のコーディング例

C言語にはCOBOLのような編集項目（PIC Z，9），文字項目（PIC X）という概念がないため，数を扱う場合，そのデータが文字（数字）か，または数値かをユーザが意識してAPを作成する必要があります。また，コンマを付けたりする出力数字編集もAPでする必要があります。

ここでは，C言語でAPを作成する場合に注意が必要な固有のコーディングについて説明します。

＜この項の構成＞

(1)　エリアの一括クリアには，memsetを使用します。

(2)　データの一括コピーには，memcpyを使用します。

(3)　配列データ，またはメモリ領域の比較には，memcmpを使用します。

(4)　出力論理マップ中のカーソル位置（行，列）のクリアには(00)₁₆を使用します。

(5)　数字から数値への変換には，文字列変換関数atol，またはatofを使用します。

(6)　数値から数字への変換には書式付き出力関数sprintfを使用します。

(1)　エリアの一括クリアには，memsetを使用します。

（例）

出力項目を空白でクリアする。なお，エリアサイズを求めるには，sizeof演算子を使用する。

(2)　データの一括コピーには，memcpyを使用します。

（例）

項目属性に'PROT'を設定する。

(3)　配列データ，またはメモリ領域の比較には，memcmpを使用します。

（例）

INCコードが'PF01'であるかどうを判定する。

(4)　出力論理マップ中のカーソル位置（行，列）のクリアには(00)₁₆を使用します。

（例）

出力カーソルの行列位置エリアをクリアする。

(5)　数字から数値への変換には，文字列変換関数atol，またはatofを使用します。

（例）

入力論理マップmapli中の項目（char MAP003_SU1_I[5];）に設定されている数字データを数値データに変換する。

(6)　数値から数字への変換には書式付き出力関数sprintfを使用します。

（例）

数値を文字に変換して出力論理マップの項目（char MAP003_GOUKEI_O[15];）に格納して計算結果などを画面に表示する。

7.4　汎用APインタフェース

Windows専用の汎用入力関数について説明します。また，汎用関数を使用してAP（Visual BasicおよびDelphi）で表示する方法について説明します。汎用関数は，C言語からも使用できます。

なお，OLTPサーバ構成の環境では，汎用APインタフェースは使用できません。

＜この節の構成＞

7.4.1　関数の機能概要

7.4.2　C言語での表示方法

7.4.3　Visual BasicおよびAccessでの表示方法

7.4.4　Delphiでの表示方法

7.4.5　文字編集DLL

7.4.1　関数の機能概要

Windows専用の汎用入出力関数とそれぞれの機能概要を表7-12に，Windows専用の汎用入出力関数の発行順序を図7-17に示します。

表7-12　Windows専用の汎用入出力関数

関数 | 機能概要 | 備考
XmapDrvCreateOpen | メモリ確保，仮想端末オープン（ディスプレイ） | OPEN要求関数
XmapDrvClose | メモリ解放，仮想端末クローズ | CLOSE要求関数
XmapDrvSend | 画面の出力 | －
XmapDrvReceive | 画面の入力 | －
XmapDrvTransceive | 画面の入出力 | －
XmapDrvGetError | エラーコードの詳細を取得 | －
XmapDrvCreate | メモリ確保 | －
XmapDrvOpen | 仮想端末オープン | OPEN要求関数
XmapDrvSetMapOption | マッピングオプションを設定 | 出力制御パラメタ関数
XmapDrvSetDataCode | データ有無コードを設定 | オープン制御パラメタ関数

（凡例）

－：該当しない。

図7-17　Windows専用の汎用入出力関数の発行順序

＜この項の構成＞

(1)　XmapDrvCreateOpen関数

(2)　XmapDrvClose関数

(3)　XmapDrvSend関数

(4)　XmapDrvReceive関数

(5)　XmapDrvTransceive関数

(6)　XmapDrvGetError関数

(7)　XmapDrvCreate関数

(8)　XmapDrvOpen関数

(9)　XmapDrvSetMapOption関数

(10)　XmapDrvSetDataCode関数

(1)　XmapDrvCreateOpen関数

インタフェース用メモリを確保したり，仮想端末をオープンしたりします。

形式

仮想端末名称（tname）：仮想端末定義ファイルで指定した名称を指定します。

処理内容

XMAP_COM，XMAP_REQ，XMAP_OPNおよびXMAP_MDOテーブルを確保し，仮想端末をオープンする。

リターンコード

0：異常終了

1以上：正常終了（仮想端末識別子：確保した領域の先頭アドレス）

注意事項

仮想端末名称は8バイト以内で指定し，最後にNULLで終わる文字列を指定してください。

一つのAP（プロセス）内で同時にオープンできる端末数の上限は15個です。

データ有無コードには標準値「1F」が仮定されます。

(2)　XmapDrvClose関数

仮想端末をクローズします。

形式

仮想端末識別子（termid）：オープン要求関数の戻り値を指定します。

処理内容

仮想端末をクローズする。

XMAP_COM，XMAP_REQ，XMAP_OPN，XMAP_MDOテーブル領域を解放する。

リターンコード

0：正常終了

－1：異常終了

注意事項

クローズ済みの仮想端末識別子を指定した場合，アクセス違反を起こす場合があります。

(3)　XmapDrvSend関数

画面を表示します。

形式

仮想端末識別子（termid） ：オープン要求関数の戻り値を指定する。

物理マップ名称（pmpname） ：出力する物理マップ名称を指定する。

出力論理マップ（olog） ：出力論理セグメントを指定する。

処理内容

画面を表示します。

リターンコード

0：正常終了

－1：異常終了

注意事項

クローズ済みの仮想端末識別子を指定した場合，アクセス違反を起こす場合があります。

エラーが発生した場合，自動的にクローズ処理が実行されます。

(4)　XmapDrvReceive関数

画面に入力されたデータを取得します。

形式

仮想端末識別子（termid）：オープン要求関数の戻り値を指定する。

入力論理マップ（ilog）：入力論理マップを指定する。

入力論理マップの全体長を入力論理マップの先頭（2バイト）に指定する。

処理内容

画面に入力されたデータを取得します。

リターンコード

0：正常終了

－1：異常終了

注意事項

クローズ済みの仮想端末識別子を指定した場合，アクセス違反を起こす場合があります。

エラーが発生した場合，自動的にクローズ処理が実行されます。

入力論理マップ長として実際より短い値を指定した場合，エラーを返します。

(5)　XmapDrvTransceive関数

画面を表示したり，画面に入力されたデータを取得したりします。

形式

仮想端末識別子（termid）：オープン要求関数の戻り値を指定する。

物理マップ名称（pmpname）：出力する物理マップ名称を指定する。

出力論理マップ（olog）：出力論理マップを指定する。

入力論理マップ（ilog）：入力論理マップを指定する。

入力論理マップの全体長を入力論理マップの先頭（2バイト）に指定する。

処理内容

画面を表示したり，画面に入力されたデータを取得したりします。

リターンコード

0：正常終了

－1：異常終了

注意事項

クローズ済みの仮想端末識別子を指定した場合，アクセス違反を起こす場合があります。

エラーが発生した場合，自動的にクローズ処理が実行されます。

入力論理マップ長として実際より短い値を指定した場合，エラーを返します。

(6)　XmapDrvGetError関数

エラーの詳細を取得します。

形式

処理内容

直前に発行された関数のエラー詳細を取得します。

リターンコード

0以上：正常終了（詳細エラーコード）

(7)　XmapDrvCreate関数

メモリを確保します。

形式

処理内容

XMAP_COM， XMAP_REQ， XMAP_OPN， XMAP_MDOテーブル領域を確保します。

リターンコード

0：異常終了

1以上：正常終了（仮想端末識別子：確保した領域の先頭アドレス）

(8)　XmapDrvOpen関数

仮想端末をオープンします。

形式

仮想端末識別子（termid）：XmapDrvCreateの戻り値を指定する。

仮想端末名称（tname）：仮想端末定義ファイルで指定した名称を指定する。

処理内容

仮想端末をオープンします。

リターンコード

0：正常終了

－1：異常終了

注意事項

クローズ済みの仮想端末識別子を指定した場合，アクセス違反を起こす場合があります。

仮想端末名称には，最後にヌルで終わる文字列を指定してください。9バイト以上の場合，9バイト以降は切り捨てられます。

一つのAP（プロセス）内で同時にオープンできる端末数の上限は15個です。

(9)　XmapDrvSetMapOption関数

マッピングオプションを指定する。

形式

仮想端末識別子（termid）
オープン要求関数の戻り値を指定する。

マッピングオプション（mode）
マッピングオプションを指定する。

指定できるマッピングオプションは，次のとおりです。

内容 | 指定値
マージ | 0
論理マップだけ | 2
物理マップだけ | 3

注

modeの内容の詳細については，「1.5.3(1)　マッピングオプション」を参照してください。

処理内容

マッピングオプションを設定します。

リターンコード

0：正常終了

注意事項

クローズ済みの仮想端末識別子を指定した場合，アクセス違反を起こす場合があります。

modeに不当な値を指定した場合，「マージ」を仮定します。

(10)　XmapDrvSetDataCode関数

データ有無コードを設定する。

仮想端末識別子（termid）
オープン要求関数の戻り値を指定する。

データ有無コード（code）
データ有無コードを指定する。

処理内容

データ有無コード（(00)₁₆～(1F)₁₆または(FF)₁₆）を設定します。データ有無コードはすべてのAPにかかわるコードのため，できるだけ標準値（(1F)₁₆）を利用することをお勧めします。

リターンコード

0：正常終了

注意事項

クローズ済みの仮想端末識別子を指定した場合，アクセス違反を起こす場合があります。

この関数を発行しない場合，データ有無コードには標準値「1F」が仮定されます。

7.4.2　C言語での表示方法

C言語での表示方法について説明します。

＜この項の構成＞

(1)　DLLの呼び出し

(1)　DLLの呼び出し

汎用APインタフェースでは，XMAP3が提供するDLLを使用するため，インタフェース宣言ファイルおよびリンケージライブラリを取り込む必要があります。

インタフェース宣言ファイルを取り込みます

インタフェース宣言ファイルの格納先

XMAP3インストール先¥INCLUDE¥x3mwgd32.h

リンケージライブラリを取り込みます。リンケージライブラリの格納先を次に示します。

Visual C++ .NET，Visual C++ 6.0の場合

XMAP3インストール先¥LIB¥x3mwgd32.lib

Visual C++ 5.0の場合

XMAP3インストール先¥LIB¥V3Compatible¥x3mwgd32.lib

7.4.3　Visual BasicおよびAccessでの表示方法

Visual BasicおよびAccessでの表示方法について説明します。

＜この項の構成＞

(1)　論理マップの再定義

(2)　DLLの呼び出し

(1)　論理マップの再定義

XMAP3では，Visual BasicおよびAccess用の論理マップは生成できません。このため，C言語の論理マップを生成し，これを参照してVisual BasicまたはAccess用に論理マップを再定義する必要があります。ただし，Visual BasicとAccessの論理マップの再定義内容は同じです。

XmapdrvSend，XmapDrvTransceive関数を使用する場合，再定義した論理マップの先頭2バイトには，正しい論理マップの長さが指定されている必要があります。論理マップの長さについては，再定義元の論理マップを参考にしてください。

C言語とVisual BasicおよびAccessの変数型の互換表を次の表に示します。

表7-13　C言語とVisual BasicおよびAccessの対応

C言語
Visual Basic，Access

unsigned char 項目名;
項目名 As Byte

short 項目名;
項目名 As Integer

long項目名;
項目名 As Long

struct {
　　　　項目定義
　　　　　　：
} 実体名;
Type 構造体名
　　　　項目定義
　　　　　　：
End Type
実体名 As 構造体名

unsigned char 項目名[10];
項目名(9) As Byte

(2)　DLLの呼び出し

汎用APインタフェースでは，XMAP3が提供するDLLを使用するため，インタフェース宣言ファイルを取り込む必要があります。Visual Basicでの，インタフェース宣言ファイルの取り込む例を次に示します。

［プロジェクト］メニューから［ファイルの追加］を選択し，インタフェーステーブルを指定します。
x3mwgd32.bas･･･インタフェース宣言ファイル

7.4.4　Delphiでの表示方法

Delphiでの表示方法について説明します。

＜この項の構成＞

(1)　論理マップの再定義

(2)　DLLの呼び出し

(1)　論理マップの再定義

XMAP3では，Delphi用の論理マップは生成できません。このため，C言語の論理マップを生成し，これを参照してDelphi用の論理マップを再定義する必要があります。

C言語とDelphiの変数型の互換表を次の表に示します。

表7-14　C言語とDelphiの対応

C言語
Delphi

unsigned char 項目名;
項目名：Char;

short 項目名;
項目名：Short;

long項目名;
項目名：Integer;

struct {
　　　　項目定義
　　　　　　：
} 実体名;
構造体 = packed record
　　　　項目定義
　　　　　　：
End;
実体名：構造体名;

unsigned char 項目名[10];
実体名：array[0..9] of Char;

注

構造体名は，Typeセクションに定義する必要があります。

(2)　DLLの呼び出し

汎用APインタフェースでは，XMAP3が提供するDLLを使用するため，インタフェース宣言ファイルを取り込む必要があります。インタフェース宣言ファイルの取り込む例を次に示します。

インタフェース宣言ファイル「x3mwgd32.pas」をカレントフォルダにコピーします。

［プロジェクト］メニューから［オプション］を選択し，「ディレクトリ／条件」の検索パスを指定します。

7.4.5　文字編集DLL

＜この項の構成＞

(1)　ファイルの取り込み

(2)　数字から数値に変換

(3)　数値から数字に変換

(4)　右寄せ配置の指定

(5)　左寄せ配置の指定

(1)　ファイルの取り込み

(a)　汎用関数を使用した場合のC言語でのファイルの取り込み

汎用APインタフェースでは，XMAP3が提供するDLLを使用するため，インタフェース宣言ファイルおよびリンケージライブラリを取り込む必要があります。

インタフェース宣言ファイルを取り込みます。

インタフェース宣言ファイルの格納先

XMAP3インストール先¥INCLUDE¥x3mwst32.h

リンケージライブラリを取り込みます。リンケージライブラリの格納先は次のとおりです。

Visual C++ .NET，Visual C++ 6.0の場合

XMAP3インストール先¥LIB¥x3mwst32.lib

Visual C++ 5.0の場合

XMAP3インストール先¥LIB¥V3Compatible¥x3mwst32.lib

(b)　Visual BasicおよびAccessでのファイルの取り込み

文字編集DLLでは，XMAP3が提供するDLLを使用するため，インタフェース宣言ファイルを取り込む必要があります。Visual BasicおよびAccessでの，インタフェース宣言ファイルを取り込む例を次に示します。

［プロジェクト］メニューから［ファイルの追加］を選択し，インタフェーステーブルを指定します。
x3mwst32.bas･･･インタフェース宣言ファイル

(c)　Delphiでのファイルの取り込み

文字編集DLLでは，XMAP3が提供するDLLを使用するため，インタフェース宣言ファイルを取り込む必要があります。インタフェース宣言ファイルを取り込む例を次に示します。

インタフェース宣言ファイル「x3mwst32.pas」をカレントフォルダにコピーします。

［プロジェクト］メニューから［オプション］を選択し，「ディレクトリ／条件」の検索パスを指定します。

(2)　数字から数値に変換

数字データを数値データに変換します。変換には，文字列変換関数「XmapStrAtoI」を使用します。

(a)　引数

unsigned char　　　*lpszIn：入力領域の先頭アドレス

long　　　　　 nInLng：入力文字の有効桁数

(b)　戻り値（4バイト）

long：数字から数値に変換した結果

(c)　補足説明

*lpszInが示すアドレスからnInLngバイト分で，「0～9」「＋」「－」「¥」「，」の文字だけを抜き出し，数字から数値変換します。不当な文字が検出された時点で，処理を中断し値を返します。変換結果が，long型で表現できない数値の場合，0を返します。

次に，変換例を示します。

入力数字 | 出力数値
"¥123,456" | 123456
"-¥123,456" | -123456
"123456" | 123456

(3)　数値から数字に変換

数値データを数字データに変換します。または，数値データを数字データに変換し，変換と同時に文字編集を設定します。変換には，文字列変換関数「XmapStrItoA」を使用します。

(a)　引数

unsigned char    *lpszOut　　出力領域の先頭アドレス
long             nOutLng　　出力領域の長さ
long             nIn　　　　入力数値
long             nFormat　　編集形式
     XMAPSTR_SUM　　　　　　　=0x00800000：コンマ編集
     XMAPSTR_SYMBOL　　　　　 =0x00400000：先頭に「¥」付加
     XMAPSTR_FRONT　　　　　　=0x00080000：先頭に符号付加
     XMAPSTR_BACK　　　　　　 =0x00040000：最後に符号付加
     XMAPSTR_PLUS　　　　　　 =0x00020000：プラス値も付加
     XMAPSTR_LEFT　　　　　　 =0x00008000：左寄せ
     XMAPSTR_RIGHT　　　　　　=0x00004000：右寄せ
unsigned char      cData　　埋字

(b)　戻り値

0：正常

1以上：異常（必要な出力領域の桁数）

(c)　補足説明

nInの数値を数字に変換し，nFormatが示す編集を行います。*lpszOutからnOutLngの領域へ結果を格納します。余った領域をcDataで埋めます。変換結果よりも出力領域の桁数が短い場合，必要な桁数を返します。

次に，変換例を示します。

入力数値 | nFormat | 出力数字
123456 | XMAPSTR_SUM | "123,456"
123456 | XMAPSTR_SYMBOL | "¥123456"
123456 | XMAPSTR_SUM|XMAPSTR_SYMBOL | "¥123,456"
123456 | XMAPSTR_FRONT|XMAPSTR_PLUS | "+123456"
-123456 | XMAPSTR_FRONT|XMAPSTR_PLUS | "-123456"
123456 | XMAPSTR_FRONT | "123456"
-123456 | XMAPSTR_FRONT | "-123456"
-123456 | XMAPSTR_BACK | "123456-"

nOutLng = 10でcData = " "の場合

入力数値 | nFormat | 出力数字
123456 | XMAPSTR_LEFT | "123456 "
123456 | XMAPSTR_RIGHT | " 123456"

(4)　右寄せ配置の指定

指定文字を指定領域へ，右寄せ配置します。右寄せ配置は，「XmapStrMoveRight」関数を使用します。

(a)　引数

unsigned char    *lpszOut　　出力領域の先頭アドレス
long              nOutLng　　出力領域の長さ
unsigned char    *lpszIn 　　入力領域の先頭アドレス
long              nInLng 　　入力文字列の有効桁数
unsigned char     cData　　　埋字

(b)　戻り値

0：正常

(c)　補足説明

*lpszInが示す領域の文字を，*lpszOutからnOutLngバイト分の領域へ右寄せ配置します。左側へは，cData埋められます。nInLng＞nOutLngの場合，桁寄せはしません。

次に，右寄せの配置例を示します。

入力文字 | 出力文字（nOutLng=10,cData = " "）
"123456" | " 123456"

(5)　左寄せ配置の指定

指定文字を指定領域へ，左寄せ配置します。左寄せ配置は，「XmapStrMoveLeft」関数を使用します。

(a)　引数

unsigned char    *lpszOut　　出力領域の先頭アドレス
long              nOutLng　　出力領域の長さ
unsigned char    *lpszIn 　　入力領域の先頭アドレス
long              nInLng 　　入力文字列の有効桁数
unsigned char     cData　　　埋字

(b)　戻り値

0：正常

(c)　補足説明

*lpszInが示す領域の文字を，*lpszOutからnOutLngバイト分の領域へ左寄せ配置します。右側へは，cData埋められます。nInLng＞nOutLngの場合，桁寄せはしません。

次に，左寄せの配置例を示します。

入力文字 | 出力文字（nOutLng=10,cData = " "）
"123456" | "123456 "

7.5　OLTPサーバ構成での画面表示

ここでは，OLTPサーバ構成用のプログラムの作成について説明します。TP1/NET/XMAP3を使用するAPは問い合わせ応答型，または継続問い合わせ応答型で作成してください。

OpenTP1と連携する基本的なAPの構造は次のような処理形態になります。

TP1/NET/XMAP3によってAPが起動されます。

受信命令によって，画面の入力論理マップが取得されます。

APからの送信命令によって，画面が表示されます。

APの処理が終了します。

＜この節の構成＞

7.5.1　COBOLでの画面表示命令

7.5.2　C言語での画面表示命令

7.5.3　APの実行

7.5.1　COBOLでの画面表示命令

＜この項の構成＞

(1)　SEND文，およびRECEIVE文による画面表示

(2)　CALL文による画面表示

(3)　コンパイル時のポイント

(1)　SEND文，およびRECEIVE文による画面表示

日立COBOLのSEND文，およびRECEIVE文によって画面を入出力する方法を説明します。

(a)　論理マップの取り込み

(b)　通信記述項

注

1および2は必ず指定してください。ほかの項目は，必要に応じて指定してください。

通信記述名，および通信種別（I-O）（必須）
通信記述名にはSEND文，およびRECEIVE文で使用する名称を指定します。通信種別には「I-O」を指定します。

物理マップ名称格納エリア（必須）
SEND文およびRECEIVE文で表示したい物理マップ名称を格納するエリアです。

リターンコード格納エリア
SEND文，RECEIVE文，およびTRANSCEIVE文のリターンコードを格納するエリアです。SEND文，RECEIVE文，およびTRANSCEIVE文が正常に処理されたかを判定する場合，このエリアを参照します。詳細については，「7.2.3(1)(g)　STATUS KEY句のリターンコード」を参照してください。

仮想端末名格納エリア
最初のSEND文を実行する前に，仮想端末名を格納しておくエリアです。正しい名称を指定しないと，実行時に表示先が決定できなくなりエラーになります。TP1/NET/XMAP3で指定した仮想端末名を指定してください。

受信日付格納エリア
受信日付を格納しておくエリアです。受信日付の形式はYYMMDD（YY：西暦下2桁，MM：月，DD：日）の形式となります。

受信時間格納エリア
受信時間を格納しておくエリアです。受信時間の形式はHHMMSS（HH：時，MM：分，SS：秒）の形式となります。

(c)　RECEIVE文

通信記述名，および入力論理マップ名
通信記述名には通信記述項の通信記述名に定義した名称を指定します。
入力論理マップ名には，WORKING-STORAGE SECTIONのCOPY文で取り込んだ，入力論理マップを指定します。

(d)　SEND文

物理マップ名，およびデータ名1
物理マップ名には，表示させたい物理マップの名称を指定します。このときデバイスIDを含めない名称を指定してください。RECEIVE文で受信した画面が次画面の場合，物理マップ名の指定は不要です。
データ名1には，通信記述項の物理マップ格納エリアに定義した名称を指定します。

通信記述名，および出力論理マップ名
通信記述名には，通信記述項の通信記述名に定義した名称を指定します。
出力論理マップ名には，WORKING-STORAGE SECTIONのCOPY文で取り込んだ，表示したい画面の出力論理マップを指定します。

(2)　CALL文による画面表示

ここでは，COBOLのCALLインタフェースによってマッピングライブラリを使用する方法を説明します。あらかじめ，WORKING-STORAGE SECTIONのCOPY文を指定し，使用したい論理マップ名（入力論理マップ，および出力論理マップ）を取り込んでおきます。論理マップの取り込みについては「7.2.2　論理マップの取り込み方法（COBOL）」を参照してください。

(a)　インタフェース領域の作成

TP1/NET/XMAP3とのインタフェース用領域を作成します。インタフェース領域については，マニュアル「OpenTP1プロトコル TP1/NET/XMAP3編」を参照してください。

また，上記で注釈のついているデータ項目は，以降に説明する命令文で使用するデータ項目です。それ以外のデータ項目については，マニュアル「OpenTP1プロトコル TP1/NET/XMAP3編」を参照してください。

(b)　受信命令（CALL　'CBLDCMCF'）

'RECEIVE'（必須），およびデータ名1
受信を命令するため，'RECEIVE'を指定します。また，データ名1には，インタフェース領域の一意名1に定義した先頭のデータ項目名を指定します。

一意名1，一意名2，および入力論理マップ名
一意名1，および一意名2にはインタフェース領域に定義した一意名1および一意名2を指定します。
入力論理マップ名にはWORKING-STORAGE SECTIONのCOPY文で取り込んだ入力論理マップ名を指定します。

(c)　送信命令（CALL　'CBLDCMCF'）

'REPLY'（必須），およびデータ名1
送信を命令するため，'REPLY'を指定します。また，データ名1には，インタフェース領域の一意名1に定義した先頭のデータ項目名を指定します。

'EMI'（必須），およびデータ名2
データ名2には，インタフェース領域の一意名1に定義した9個目のデータ項目名を指定します。

物理マップ名，およびデータ名3
物理マップ名には，表示させたい物理マップの名称を指定します。このときデバイスIDを含めない名称を指定してください。RECEIVE文で受信した画面が次画面の場合，物理マップ名の指定は不要です。
データ名3には，インタフェース領域の一意名2に定義した3個目のデータ項目名を指定します。

一意名1，一意名2，および出力論理マップ名
一意名1および一意名2には，インタフェース領域に定義した一意名1および一意名2を指定します。
出力論理マップ名には，WORKING-STORAGE SECTIONのCOPY文で取り込んだ出力論理マップ名を指定します。

(3)　コンパイル時のポイント

日立COBOLを使用してOLTPサーバ構成用のプログラムをコンパイルするとき，コンパイラオプション「-OpenTP1」（COBOL2002の場合）または「-Ot」（COBOL85の場合）を指定する必要があります。

7.5.2　C言語での画面表示命令

＜この項の構成＞

(1)　C言語による画面の入出力

(1)　C言語による画面の入出力

(a)　論理マップの取り込み

(b)　OpenTP1のインタフェーステーブルの取り込み

OpenTP1と連携するためのインタフェーステーブル（dcmcf.h）は#include指示語を使用します。

(c)　受信命令（dc_mcf_receive）

(d)　送信命令（dc_mcf_reply）

7.5.3　APの実行

OLTPサーバ構成用のプログラムを実行するには，次に示す環境を設定しておく必要があります。

＜この項の構成＞

(1)　TP1/NET/XMAP3での環境設定

(2)　XMAP3での環境設定

(1)　TP1/NET/XMAP3での環境設定

TP1/NET/XMAP3側で設定しておく内容を次に示します。マニュアル「OpenTP1プロトコル TP1/NET/XMAP3編」もあわせて参照してください。

TP1/NET/XMAP3上でのTP1コネクション名や論理端末名と，XMAP3上の表示サービス名が対応するよう，あらかじめ設定しておきます。

データ有無コードを使用している場合，XMAP3での設定内容を基に，TP1/NET/XMAP3にも同じ内容を設定しておきます。

APで表示させたい画面について，トランザクションコードとAPの関連を定義しておきます。

(2)　XMAP3での環境設定

C/Sセットアップで，XMAP3の表示サービス名に対し，サーバ側の実行ファイルを起動できるよう設定しておきます。なお，サーバ側の実行ファイルとは，OpenTP1との接続を確立するために，その命令処理を発行する実行ファイルを指します。

表示・印刷セットアップで，オペレータインジケータの表示形式を確認します。設定値が「表示しない」，または「拡張形式」となっている場合は「上に表示」，または「下に表示」を設定してください。

表示・印刷セットアップで，バージョン間の互換オプションを確認します。「C/Sの場合，アプリケーションサーバのセットアップだけが有効」の設定が有効になっている場合，チェックボックスをオフにして設定を無効にしてください。

8.　標準パターンを使用したAPの作成

標準パターンとは，XMAP3が用意している「定義サンプル」「レイアウトパターン」および「APパターン」の三つを指します。これらのパターンを組み合わせることで，画面の入出力を含めたAPを作成できます。

この章では，画面の定義サンプルやAPパターンにユーザ独自の処理を加える際のポイントを，目的別の例題に沿って説明します。

＜この章の構成＞

8.1　標準パターン

8.2　標準パターンを使用した機能別の作成例（COBOL）

8.3　各種例題プログラム

8.1　標準パターン

XMAP3では，APを効率良く開発する目的で標準パターンを用意しています。標準パターンには，画面の定義時に利用できる「定義サンプル」，「レイアウトパターン」と，AP作成時に利用できる「APパターン」とがあります。

ここでは，使用目的別にXMAP3が標準提供している画面の定義サンプルとAPパターンの使用目的別の組み合わせを紹介します。8.2以降では，標準パターンを利用した例題を通じて，AP作成時に留意する点を説明しています。

＜この節の構成＞

8.1.1　レイアウトパターンとアプリケーションのパターン

8.1.2　COBOLエディタからのAPパターンの利用

8.1.3　C言語用のサンプルとAPパターン

8.1.1　レイアウトパターンとアプリケーションのパターン

＜この項の構成＞

(1)　定義サンプル

(2)　レイアウトパターン

(3)　APパターン

(4)　画面サンプルとAPパターンの組み合わせ

(1)　定義サンプル

XMAP3では，画面レイアウトのサンプルを「定義サンプル」として標準提供していますので，画面レイアウトの参考にしてください。定義サンプルは，マップ定義ファイルとして提供されているため，ユーザ独自の変更を加えることで流用して利用することもできます。

定義サンプルを利用するには，新規／更新ダイアログで「画面・帳票を更新する」を選び，COBOLの場合は「XMAP3インストール先¥SAMPLES¥DSPMAP」の下にある定義サンプルのファイル名を指定してください。C言語で利用する場合は，COBOL用の定義サンプルのマップ定義ファイルをユティリティのコンバート機能でC言語用に変換してから，利用してください。ユティリティの詳細についてはマニュアル「XMAP3 開発・実行ガイド」を参照してください。

(2)　レイアウトパターン

XMAP3では，ドローのレイアウト領域の標準的なサイズやメッセージ，メニューなど，用途に合わせたパターンを「レイアウトパターン」として用意しています。画面レイアウトが決まったら，このレイアウトパターンを基にして画面を定義します。作成する画面サイズを統一するために使用することをお勧めします。

レイアウトパターンを利用するには，新規／更新ダイアログで「画面・帳票を新規作成する」を選び，新規作成ダイアログの「レイアウトパターンの選択」でパターン名を指定してください。パターンの種類については，「付録B　XMAP3で提供している定義パターン」を参照してください。

(3)　APパターン

XMAP3では，APの定型的な型として，COBOL用およびC言語用のAPパターンを用意しています。APパターンには，APパターンとAP部品とがあります。

APパターン

COBOLの場合

COBOLソースプログラムの見出し部，データ部，手続き部など，プログラム全体の標準的な骨組みが記述されていますので，メインプログラムとして利用できます。

C言語の場合

C言語ソースプログラムの標準的な骨組みが記述されていますので，メインプログラムとして利用できます。

AP部品
APパターン共通に，頻繁に使用すると考えられる処理の手続きが記述されていますので，サブルーチンとして利用できます。

XMAP3で作成した画面を取り込むソースプログラム作成時には，これらのパターンを組み合わせて使用することで，APを効率良く作成できるほか，定型的なコーディングの統一を図れます。

コーディング時には，@@@XXX（XXXは数字）で示されているマップ名を6文字以内の半角英数字に変更するほか，ユーザ独自の処理を加えてください。

AP部品をAPパターンへ組み込む方法については，「8.1.2　COBOLエディタからのAPパターンの利用」または「8.1.3(2)　C言語用パターンの利用方法」を参照してください。

(4)　画面サンプルとAPパターンの組み合わせ

目的に合った画面の定義サンプルとAPパターンの組み合わせを次の表に示します。定義サンプルは「¥SAMPLES¥DSPMAPまたは¥PRTMAP」に，APパターンは「¥Patterns」にそれぞれ格納されています。

なお，OLTPサーバ構成用のAPに，その他のAPパターンを流用することはできません。OLTPサーバ構成の環境で使用するAPには，専用のAPパターンを利用してください。

表8-1　画面の定義サンプルとAPパターンの組み合わせ（COBOL）

使用目的
定義サンプルの
マップ名
APパターン
ファイル名
例題の説明個所

メニュー画面表示
ユーザ登録確認
GPASW1.imp
BTMENU01.cbl
8.2.1

初期メニュー表示
BMENU1.imp SMENU1.imp

スプラッシュ画面の表示
SPLASH.imp
8.2.2

メニュー画面からの次画面表示
SMENU1.imp GOPTN1.imp
GENDSP01.cbl
NXTDSP01.cbl
8.2.3

データの入出力
フィールド単位
（CUI）
FIE1CC.imp
GENDSP01.cbl
8.2.4

フィールド単位
（GUI）
FIE1GC.imp
GENFLD01.cbl
8.2.5

イベント単位
EVE1GC.imp
GENEVN01.cbl
8.2.6

行単位
LIN1GC.imp
GENDSP01.cbl
PATWRT01.cbl
8.2.7

入力フィールドクリア
GFILD3.imp
GENDSP01.cbl
CLRINP01.cbl
8.2.8

フィールド属性変更
GPASW1.imp
GENDSP01.cbl
MODATR01.cbl
8.2.9

一覧リストの表示
表形式の一覧表示
GCTBL1.imp
GENDSP01.cbl
8.2.10

可変項目の再表示
8.2.11

オプション画面の表示
ヘルプ画面の表示
GFILD3.imp
HELP01.imp
GENDSP01.cbl
FLDHLP01.cbl
8.2.12

ダイアログの表示
GFILD3.imp
GLBOX3.imp
GENDSP01.cbl
8.2.13

掲示板の表示
BOARD.imp
8.2.14

帳票印刷機能との連携
画面表示と帳票印刷
LTABL1.imp
BMENU1.imp
DSPPRT01.cbl
8.2.15

OLTPサーバ構成での画面表示と帳票印刷
画面表示と帳票印刷
MCF1G.imp
MCF1P.imp
MCF2G.imp
MCF3G.imp
MCF4G.imp
MCF5G.imp
MCFDP01.cbl
8.2.16

8.1.2　COBOLエディタからのAPパターンの利用

日立COBOLを利用する場合，COBOLエディタを使用してXMAP3のAPパターンおよびAP部品を編集できます。エディタウィンドウでメニューバーの［ファイル］から［開く］を選び，XMAP3インストール先¥PATTERNS¥COBOLの下にあるファイル名（拡張子が.cbl）を指定するとソースプログラムを編集できる状態になります。なお，エディタウィンドウでの操作方法については，マニュアル「COBOL2002 操作ガイド」またはマニュアル「COBOL85 操作ガイド」を参照してください。

また，COBOLエディタでXMAP3が標準提供しているプログラムテンプレート（拡張子が.cetのファイル）を利用できます。プログラムテンプレートの内容は，XMAP3標準提供のAPパターン（拡張子が.cblのファイル）と同じです。

＜この項の構成＞

(1)　プログラムテンプレートを使ったファイルの編集方法

(2)　COBOLエディタでのAP部品の利用方法

(1)　プログラムテンプレートを使ったファイルの編集方法

COBOLエディタでXMAP3のプログラムテンプレートを使用してファイルを編集する方法を説明します。

なお，この方法でプログラムテンプレートを使用すると，そのつどファイル名を指定して参照する必要があります。COBOLエディタが提供しているテンプレート以外のファイルを，常にテンプレートファイルのリストに表示したい場合の設定方法については，マニュアル「COBOL2002 操作ガイド」またはマニュアル「COBOL85 操作ガイド」を参照してください。

(a)　COBOL2002，COBOL85 Version 7およびVersion 6の場合

COBOLエディタのエディタウィンドウで，［ファイル］メニューから［新規作成］を選ぶ。
新規作成ダイアログが表示されます。

作成したいファイルの種類を選ぶ。
必要に応じてファイルの拡張子も選びます。

ファイルの種類に対応するプログラムテンプレートの［...］ボタンをクリックする。

ファイルを開くダイアログで，「ファイルの場所」に「XMAP3インストール先￥PATTERNS￥COBOL」を指定する。
XMAP3のプログラムテンプレートが表示されます。

使用したいプログラムテンプレートのファイルを選ぶ。
テンプレートファイルのリストに選択したファイル名が追加されます。

［OK］ボタンをクリックする。
新規にファイルが作成され，プログラムテンプレートの内容がソースウィンドウに表示されます。

(b)　COBOL85 Version 5.0の場合

COBOLエディタのエディタウィンドウで，［ファイル］メニューから［新規作成］を選ぶ。
新規作成ダイアログが表示されます。

エディタウィンドウのテンプレートで，［参照...］ボタンを選ぶ。

フォルダの参照ダイアログで，フォルダに「XMAP3インストール先¥PATTERNS¥COBOL」を指定する。
XMAP3のプログラムテンプレートが表示されます。

使用したいプログラムテンプレートのファイルを選ぶ。
テンプレートファイルのリストに選んだファイル名が追加されます。

［OK］ボタンを選ぶ。
新規にファイルが作成され，プログラムテンプレートの内容がソースウィンドウに表示されます。

(2)　COBOLエディタでのAP部品の利用方法

XMAP3のAP部品をCOBOLエディタで利用する方法を説明します。

AP部品は，拡張子が.cblのファイルとして提供されています。このため，COBOLエディタでは，AP部品を一つのソースファイルとして扱います。

ソースウィンドウで，AP部品を挿入したい位置にカーソルを移動する。

［挿入］メニューから［ファイル］を選ぶ。
挿入するソースファイルを指定するダイアログが表示されます。

「XMAP3インストール先¥PATTERNS¥COBOL」を指定し，使用したいAP部品のファイルを選ぶ。

［OK］ボタンをクリックする。
指定したソースファイルのすべての内容が，カーソル位置に挿入されます。

8.1.3　C言語用のサンプルとAPパターン

＜この項の構成＞

(1)　画面サンプルとAPパターンの組み合わせ

(2)　C言語用パターンの利用方法

(1)　画面サンプルとAPパターンの組み合わせ

目的別の定義サンプルとAPパターンの組み合わせを次の表に示します。なお，定義サンプルについてはC言語用としては提供していません。そのため，COBOL用として提供しているものを，ユティリティ機能の「コンバート機能」を使用して，C言語用定義サンプルに変換してお使いください。

APパターンは，「XMAP3インストール先¥PATTERNS¥C」に格納されています。

なお，OLTPサーバ構成用のAPに，その他のAPパターンを流用することはできません。OLTPサーバ構成の環境で使用するAPには，専用のAPパターンを利用してください。

表8-2　画面の定義サンプルとAPパターンの組み合わせ（C言語）

使用目的
定義サンプルの
マップ名
APパターン
ファイル名

メニュー画面表示
ユーザ登録画面
GPASW1.imp
BTMENU01.c

初期メニュー表示
BMENU1.imp

SMENU1.imp

スプラッシュ画面の表示
SPLASH.imp
BTMENU01.c

BMENU1.imp

SMENU1.imp

メニュー画面からの次画面表示
SMENU1.imp
GENDSP01.c

GOPTN1.imp
NXTDSP01.c

データの入力
フィールド単位（CUI）
FIE1CH.imp
GENDSP01.c

フィールド単位（GUI）
FIE1GH.imp
GENFLD01.c

行単位（GUI）
LIN1GH.imp
GENDSP01.c

画面単位（GUI）
GAM1GH.imp
GENDSP01.c

イベント単位
EVE1GH.imp
GENEVN01.c

一覧リストの表示
表形式の一覧表示
GCTBL1.imp
GENDSP01.c

可変項目の再表示

オプション画面の表示
ヘルプ画面の表示
HELP01.imp

ダイアログの表示
GFILD3.imp

GLBOX3.imp

帳票印刷機能との連携
画面表示と帳票印刷
BMENU1.imp
DSPPRT01.c

LTABL1.imp

OLTPサーバ構成での画面表示と帳票印刷
画面表示と帳票印刷
MCF1G.imp
MCF1P.imp
MCF2G.imp
MCF3G.imp
MCF4G.imp
MCF5G.imp
MCFDP01.c

(2)　C言語用パターンの利用方法

XMAP3のAP部品をVisual C++.NET，Visual C++で利用する方法を説明します。

AP部品は，拡張子が.cのファイルとして提供されています。AP部品は一つのソースファイルとして扱われます。

ソースウィンドウで，AP部品を挿入したい位置にカーソルを移動する。

［挿入］メニューから［ファイル］を選ぶ。
挿入するソースファイルを指定するダイアログが表示されます。

「XMAP3インストール先¥PATTERNS¥C」を指定し，使用したいAP部品のファイルを選ぶ。

［OK］ボタンをクリックする。
指定したソースファイルのすべての内容が，カーソル位置に挿入されます。

8.2　標準パターンを使用した機能別の作成例（COBOL）

＜この節の構成＞

8.2.1　BTMENU01パターンを使用したメニュー画面の表示

8.2.2　BTMENU01のAP実行前に表示するスプラッシュ画面の追加

8.2.3　GENDSP01パターンを使用したメニュー画面からの次画面表示

8.2.4　GENDSP01パターンを使用したCUI画面でのフィールド単位のデータ入力

8.2.5　GENFLD01パターンを使用したGUI画面でのフィールド単位のデータ入力

8.2.6　GENEVN01パターンを使用したGUI画面でのイベント単位のデータ入力

8.2.7　GENDSP01パターンを使用した行単位のデータ入力

8.2.8　GENDSP01パターンを使用した入力フィールドのクリア

8.2.9　GENDSP01パターンを使用したAPからのフィールド属性の変更

8.2.10　GENDSP01パターンを使用した表形式の一覧表示

8.2.11　GENDSP01パターンを使用した出力フィールドの再表示

8.2.12　GENDSP01パターンを使用したヘルプ画面の表示

8.2.13　GENDSP01パターンを使用したダイアログの表示

8.2.14　GENDSP01パターンを使用した掲示板の表示

8.2.15　DSPPRT01パターンを使用した画面表示と帳票印刷

8.2.16　MCFDP01パターンを使用した画面表示と帳票印刷

8.2.1　BTMENU01パターンを使用したメニュー画面の表示

＜この項の構成＞

(1)　処理の概要

(2)　画面定義上のポイント

(3)　AP作成上のポイント

(4)　コーディング例

(1)　処理の概要

ユーザIDとパスワードを入力するためのユーザ登録確認画面を表示します。ユーザIDとパスワードを照合して登録があれば，次にメニュー画面を表示します。このメニュー画面で，プッシュボタンまたはファンクションキーを使用して次の処理を選ぶと，選ばれたメニューに対応した使用ごとのAPを起動します。

メニュー画面の表示処理の概要を次の図に示します。

図8-1　メニュー画面の表示処理

(2)　画面定義上のポイント

作成する画面の基になる定義サンプル，または画面のレイアウトパターンを次に示します。

作成する画面 | 適用できるパターン
画面の定義サンプル名 | 画面のレイアウトパターン名
ユーザ登録確認画面 | GPASW1 | ログインウィンドウ
メニュー画面 | BMENU1 | 一段ボタンメニュー

ユーザ登録確認画面には次の特長があります。

パスワードを入力する項目の使用目的を「パスワード」と指定すると，パスワード入力時は入力データを「＊」や「空白」で隠せる。

ユーザIDまたはパスワードに誤りがあった場合に利用できるエラーメッセージ用の項目を用意している。

(3)　AP作成上のポイント

作成するAPの基になるAPパターンを次に示します。

メインプログラムで使用するAPパターン名：BTMENU01

メインプログラムには，次の特長があります。

対応しないファンクションキーや［Enter］が押されたときの処理が用意されている。

メニュー画面からは，［F1...見積書］ボタンまたは［F1］を選んだときの業務のAPをCALL文で呼び出す仕様となっている。

メニュー画面から業務ごとのAPを呼び出すとき，メニュー画面をDISABLE文でクローズしている。

なお，このAPパターンを使用してのメインプログラム作成時には次の注意が必要です。

ユーザIDおよびパスワードの照合処理は含まれていないため，ユーザ独自のコーディングが必要となる。

(4)　コーディング例

この例題のソースプログラムを'MENUOUT.cbl'として標準提供しています。ソースプログラムからコーディング上のポイントを抜粋して次に示します。

マップ名を変更する。
プログラム中の'@@@111'を'GPASW1'に，'@@@444'を'BMENU1'に変更します。

実行ファイル名を変更する。
プログラム中の'###EXE01.exe'を'DSPCLEAR.exe'に変更します。

CALL文を使用してAPを呼び出す。
CALL 'DSPCLEAR.exe'

8.2.2　BTMENU01のAP実行前に表示するスプラッシュ画面の追加

＜この項の構成＞

(1)　処理の概要

(2)　画面定義上のポイント

(3)　AP作成上のポイント

(4)　コーディング例

(1)　処理の概要

APの前処理をしている間に，これから実行するAPの内容を示すようなスプラッシュ画面を表示します。ここでは，スプラッシュ画面が10秒間表示されたあと，BTMENU01パターンによる「ユーザ登録確認画面」に画面が切り替わります。なお，このコーディング例では，BTMENU01でのAP前処理はされません。APからスプラッシュ画面を表示させ，「ユーザ登録確認画面」に切り替える処理の概要を次の図に示します。

図8-2　スプラッシュ画面の表示と画面切り替え

(2)　画面定義上のポイント

スプラッシュ画面には次のような内容を定義します。

タイトルバー，メニューバーおよびオペレータインジケータは表示できない。

全面に壁紙を使用できる。

画面属性ダイアログの「入力単位」を「表示直後」に設定し，表示後すぐにAPに制御が渡るようにする。

(3)　AP作成上のポイント

スプラッシュ画面を表示すると，表示直後にAPに制御が戻るので，APの前処理をします。前処理が終了したら，同じ仮想画面に「ユーザ登録確認画面」を表示します。このとき，表示形態は「全面書換」または「自動」です。

(4)　コーディング例

画面の表示先を，仮想端末名'DSP001'にする。

スプラッシュ画面を表示する。

スプラッシュ画面が表示されている間に，ログイン画面を表示するための前処理をする。
この例題では，前処理は省略しています。その代わり，数10秒間実行待ち状態にする処理を入れてあります。

ログイン画面を表示する。

8.2.3　GENDSP01パターンを使用したメニュー画面からの次画面表示

＜この項の構成＞

(1)　処理の概要

(2)　画面定義上のポイント

(3)　AP作成上のポイント

(4)　コーディング例

(1)　処理の概要

処理を選ぶためのメニュー画面を表示します。この画面でメニューを選び，［OK］ボタンを選ぶと，選ばれたメニューに対応する業務ごとの画面を表示します。

メニュー画面から次画面（この例題では「支払い状況一覧画面」）を表示する処理の概要を次の図に示します。

図8-3　メニュー画面からの次画面表示処理

(2)　画面定義上のポイント

作成するGUI画面の基になる定義サンプルを次に示します。

メニュー画面の定義サンプル：SMENU1

支払い状況一覧画面の定義サンプル（次画面）：GOPTN1

(3)　AP作成上のポイント

作成するAPの基になるAPパターンとAP部品を次に示します。

メインプログラムで使用するAPパターン名：GENDSP01

サブルーチンで使用するAP部品名：NXTDSP01

このパターンを使用してのAP作成時には，次の注意が必要です。

メニュー画面でエラーチェックをするためには，コーディングを追加する必要がある。

メニューに対応して表示される画面の数に合わせて，AP部品'NXTDSP01'を使用して画面表示処理を追加する。

メニュー画面でエラーが発生した場合の，後続画面の表示スキップ処理を必要に応じて追加する。

一次ウィンドウから一次ウィンドウへ遷移するため，サブルーチンでの画面表示時のマッピングオプションは，最初は常に初期表示の指定をする。

(4)　コーディング例

この例題のソースプログラムを'OUTDSP01.cbl'として標準提供しています。ソースプログラムからコーディング上のポイントを抜粋して次に示します。

マップ名を変更する。
プログラム中の'@@@555'を'SMENU1'に，変更します。

'GENDSP01'に'NXTDSP01'を取り込み，'@@@666'を'GOPTN1'に変更する。

選択されたメニューの判定と，該当画面を表示する処理を追加する。

8.2.4　GENDSP01パターンを使用したCUI画面でのフィールド単位のデータ入力

＜この項の構成＞

(1)　処理の概要

(2)　画面定義上のポイント

(3)　AP作成上のポイント

(4)　コーディング例

(1)　処理の概要

受注データ入力画面を表示します。ファンクションキーなどを使用しないで，テンキーだけを操作してデータ入力をし，フィールド単位でデータの処理をします。

受注データ入力画面でのデータ入力処理の概要を次の図に示します。

図8-4　受注データ入力画面でのデータ入力処理

(2)　画面定義上のポイント

作成するCUI画面の基になる定義サンプルを次に示します。

受注データ入力画面の定義サンプル：FIE1CC

定義サンプルを使用しない場合は，レイアウトパターンの「フリー」を選んで定義してください。

受注データ入力画面の作成時には，次の注意が必要です。

すべての入出力フィールドに「自動スキップ（選択したら次のフィールドにフォーカスを移す）」の属性を指定する。これによって，フィールドの領域いっぱいまで文字を入力すると，自動的に次の入出力フィールドにカーソルが移動される。

すべての入出力フィールドに「自動送信（入力直後にAPへ制御を渡す）」の属性を指定する。これによって，データ入力後にほかのフィールドにカーソルが移動したときに，このフィールドは送信（実行）キーが押された状態になり，APへ自動的に通知される。

処理済みのフィールドを書き込み禁止状態にするために，すべての入出力フィールドに「動的変更（APから表示属性を変更する）」の属性を指定する。

(3)　AP作成上のポイント

作成するAPの基になるAPパターンを次に示します。

メインプログラムで使用するAPパターン名：GENDSP01

このAPパターンを使用してのAP作成時には次の注意が必要です。

フィールド単位で，順にデータ入力，表示処理をする。このとき処理済みのフィールドに，APから「入力不可」属性を指定することで，フィールドが書き込み禁止の状態になる。

ファイルの入出力処理は，必要に応じて追加する。

(4)　コーディング例

この例題のソースプログラムを'FIELDCC.cbl'として標準提供しています。ソースプログラムからコーディング上のポイントを抜粋して次に示します。

マップ名を変更する。
プログラム中の'@@@555'を'FIE1CC'に変更します。

APから表示属性を変更するための修飾名を設定する。

画面の表示とデータの入力。

8.2.5　GENFLD01パターンを使用したGUI画面でのフィールド単位のデータ入力

＜この項の構成＞

(1)　処理の概要

(2)　画面定義上のポイント

(3)　AP作成上のポイント

(4)　コーディング例

(1)　処理の概要

フィールド単位入力画面を表示します。ファンクションキーなどを使用しないで，データ入力をし，フィールド単位でデータの処理をします。入力画面上では，フォーカス・カーソルが位置づいているオブジェクトだけが入力できる状態になります。どのオブジェクトを入力対象とするかは，APから指定します。

フィールド単位入力画面でのデータ入力処理の概要を次の図に示します。

図8-5　フィールド単位入力画面でのデータ入力処理

(2)　画面定義上のポイント

作成するGUI画面の基になる定義サンプルを次に示します。

フィールド単位入力画面の定義サンプル：FIE1GC

定義サンプルを使用しない場合は，レイアウトパターンの「フリー」を選んで定義してください。

受注データ入力画面の作成時には，次の注意が必要です。

画面属性ダイアログの「入力単位」で「フィールド」を指定する。

(3)　AP作成上のポイント

作成するAPの基になるAPパターンを次に示します。

メインプログラムで使用するAPパターン名：GENFLD01

このAPパターンを使用してのAP作成時には次の注意が必要です。

フィールド単位で順に，データ表示と入力，および入力チェック処理をする。

このとき，次に入力するフィールドにAPからフォーカス・カーソルを設定することで，そのフィールドだけが入力できる状態になります。

ファイルの入出力処理は，必要に応じて追加する。

(4)　コーディング例

この例題のソースプログラムを'FIELDGC.cbl'として標準提供しています。ソースプログラムからコーディング上のポイントを抜粋して次に示します。

マップ名を変更する。
プログラム中の'@@@FFF'を'FIE1GC'に変更します。

入力するフィールドに，フォーカス・カーソルを位置づける。

入力したフィールドに対応する処理をする。

次に入力するフィールドに，フォーカス・カーソルを移動させる。

画面の入出力処理をする。

8.2.6　GENEVN01パターンを使用したGUI画面でのイベント単位のデータ入力

＜この項の構成＞

(1)　処理の概要

(2)　画面定義上のポイント

(3)　AP作成上のポイント

(4)　コーディング例

(1)　処理の概要

GUI画面を表示します。ファンクションキーなどで画面を確定したタイミングでAPに制御を返すのではなく，オブジェクト単位でAPに制御を返しデータの処理をします。入力画面上では，入力または選択の制限を指定しているオブジェクト以外は，すべて入力・選択できる状態になります。

イベント単位入力画面でのデータ入力処理の概要を次の図に示します。

図8-6　イベント単位入力画面でのデータ入力処理

(2)　画面定義上のポイント

作成するGUI画面の基になる定義サンプルを次に示します。

イベント単位入力画面の定義サンプル：EVE1GC

定義サンプルを使用しない場合は，レイアウトパターンの「フリー」を選んで定義してください。

イベント単位入力画面の作成時には，次の注意が必要です。

画面属性ダイアログの「入力単位」で「イベント」を指定する。

(3)　AP作成上のポイント

作成するAPの基になるAPパターンを次に示します。

メインプログラムで使用するAPパターン名：GENEVN01

このAPパターンを使用してのAP作成時には次の注意が必要です。

イベントごとの処理のセクションを作成する。

画面表示および入力のあと，画面からAPに返されたイベント通知コードを判定する処理を作成する。入力または選択可能なオブジェクトから返されるイベント通知コードには，イベント定数が格納される。

(4)　コーディング例

この例題のソースプログラムを'EVENTGC.cbl'として標準提供しています。ソースプログラムからコーディング上のポイントを抜粋して次に示します。

マップ名を変更する。
プログラム中の'@@@EEE'を'EVE1GC'に変更します。

画面の表示，およびデータ入力。

入力または選択可能なオブジェクトからイベントが返ると，通知コードとして，そのオブジェクトのイベント定数が格納される。

ボタンやファンクションキーからイベントが返ると，通知コードとして，そのボタンやファンクションキーに対応するINC定数が格納される。

イベントを返したオブジェクトに対する処理をする。

8.2.7　GENDSP01パターンを使用した行単位のデータ入力

＜この項の構成＞

(1)　処理の概要

(2)　画面定義上のポイント

(3)　AP作成上のポイント

(4)　コーディング例

(1)　処理の概要

受注データ入力画面を表示します。1行ずつデータが入力できる状態になり，行単位で入力を確認して，入力データを処理します。

受注データ入力画面での，データ入力処理の概要を次の図に示します。

図8-7　受注データ入力画面でのデータ入力処理

(2)　画面定義上のポイント

作成するGUI画面の基になる定義サンプルを次に示します。

受注データ入力画面の定義サンプル：LIN1GC

定義サンプルを使用しない場合は，レイアウトパターンの「フリー」を選んで定義してください。

受注データ入力画面の作成時には，次の注意が必要です。

すべての入出力フィールドに「入力不可―標準表示」の表示属性を指定する。

すべての入出力フィールドに「動的変更（APから表示属性を変更する）」の属性を指定する。

行の最後の入出力フィールド（数量）には「自動送信（入力直後にAPへ制御を渡す）」の属性を指定する。

(3)　AP作成上のポイント

作成するAPの基になるAPパターンとAP部品を次に示します。

メインプログラムで使用するAPパターン名：GENDSP01

サブルーチンで使用するAP部品名：PATWRT01

このAPパターンを使用してのAP作成時には，次の注意が必要です。

行単位で，順にデータ入力，表示処理をする。このとき，1行ずつ入力できるように行単位で「入力可能―標準表示」の表示属性を動的変更する。

データ処理後の表示済みのフィールドは2回目の画面表示以降ではデータを送らないようにして，必要以上に画面がちらつかないようにする。

ファイルの入出力処理は，必要に応じて追加する。

(4)　コーディング例

この例題のソースプログラムを'LINEGC.cbl'として標準提供しています。ソースプログラムからコーディング上のポイントを抜粋して次に示します。

マップ名を変更する。
プログラム中の'@@@555'を'LIN1GC'に変更してください。

入力する行の入力フィールドを活性に変更する。

フォーカスの位置づけ。

画面の表示とデータの入力。

入力した行の入力フィールドを不活性に戻す。

表示済みのフィールドに対するデータを転送しないようにする。

8.2.8　GENDSP01パターンを使用した入力フィールドのクリア

＜この項の構成＞

(1)　処理の概要

(2)　画面定義上のポイント

(3)　AP作成上のポイント

(4)　コーディング例

(1)　処理の概要

受注データ登録画面を表示します。受注伝票の内容を入力後に［確認］ボタンまたは［登録］ボタンを選ぶと，表示画面はそのままにして入力したデータをすべてクリアし，次の伝票を入力できる状態にします。

受注データ登録画面での，データ入力処理の概要を次の図に示します。

図8-8　受注データ登録画面でのデータ入力処理

(2)　画面定義上のポイント

作成するGUI画面の基になる定義サンプルを次に示します。

受注データ登録画面の定義サンプル：GFILD3

受注データ登録画面の作成時には，次の注意が必要です。

各入出力フィールドに初期値は指定しない。

(3)　AP作成上のポイント

作成するAPの基になるAPパターンとAP部品を次に示します。

メインプログラムで使用するAPパターン名：GENDSP01

サブルーチンで使用するAP部品名：CLRINP01L

このAPパターンを使用してのAP作成時には，次の注意が必要です。

2回目以降の画面表示ではマッピングオプションを「マージ」に，画面属性ダイアログのウィンドウ属性の「入力・選択状態の扱い」を「初期状態」に変更して送信する。

入力データのエラーチェックは必要に応じて追加する。

入力データをデータベースなどに書き込む処理を追加する。

(4)　コーディング例

この例題のソースプログラムを'DSPCLEAR.cbl'として標準提供しています。ソースプログラムからコーディング上のポイントを抜粋して次に示します。

マップ名を変更する。
プログラム中の'@@@555'を'GFILD3'に変更します。

APパターン'GENDSP01'にAP部品'CRLINP01'を取り込む。

2回目の表示でマッピングオプションおよびウィンドウ属性を変更する処理を追加する。

8.2.9　GENDSP01パターンを使用したAPからのフィールド属性の変更

＜この項の構成＞

(1)　処理の概要

(2)　画面定義上のポイント

(3)　AP作成上のポイント

(4)　コーディング例

(1)　処理の概要

入力したデータに誤りがあった場合，エラーメッセージを表示します。このときエラーとなったフィールドを赤色にしてカーソルを設定し，データの再入力を促します。

エラー発生時のフィールド表示の変更処理の概要を次の図に示します。

図8-9　エラー発生時のフィールド表示の変更処理

(2)　画面定義上のポイント

作成するGUI画面の基になる定義サンプルを次に示します。

ユーザ登録画面の定義サンプル：GPASW1

画面作成時には次の注意が必要です。

エラーメッセージ表示用の出力フィールドの使用目的を「日本語」に変更する。

(3)　AP作成上のポイント

作成するAPの基になるAPパターンとAP部品を次に示します。

メインプログラムで使用するAPパターン名：GENDSP01

サブルーチンで使用するAP部品名：MODATR01

このAPパターンを使用してのAP作成時には，次の注意が必要です。

画面の初期表示のときと，エラー表示のときにはマッピングオプションを変更している。

入力したユーザIDが'AAAAAAAA'のときエラーにするという仕様は，ユーザ独自の仕様に変更する。

エラーメッセージは1種類だけ用意している。

(4)　コーディング例

この例題のソースプログラムを'FILDCHG1.cbl'として標準提供しています。ソースプログラムからコーディング上のポイントを抜粋して次に示します。

マップ名を変更する。
プログラム中の'@@@555'を'GPASW1'に変更します。

APパターン'GENDSP01'にAP部品'MODATR01'を取り込む。

エラーチェック処理を追加する。

エラー表示，フィールド表示属性を変更するコーディングを追加する。

8.2.10　GENDSP01パターンを使用した表形式の一覧表示

＜この項の構成＞

(1)　処理の概要

(2)　画面定義上のポイント

(3)　AP作成上のポイント

(4)　コーディング例

(1)　処理の概要

店舗別の在庫管理表を一覧で表示します。メニューバーの［ファイル］－［終了］，または［キャンセル］ボタンを選ぶことで画面表示を終了します。

表形式の一覧の表示の処理概要を次の図に示します。

図8-10　表形式の一覧の表示処理

(2)　画面定義上のポイント

作成するGUI画面の基になる定義サンプルを次に示します。

店舗別管理表の定義サンプル：GCTBL1

定義サンプルを使用しない場合は，レイアウトパターンの「表」を選んで定義してください。

店舗別管理表の定義サンプルには，次の特長があります。

各項目はすべて出力フィールドで定義しているため，画面からの入力はない。

出力フィールドには「動的変更（APから表示属性を変更する）」の属性を指定していない。

(3)　AP作成上のポイント

作成するAPの基になるAPパターンを次に示します。

メインプログラムで使用するAPパターン名：GENDSP01

このAPパターンを使用してのAP作成時には次の注意が必要です。

該当しないファンクションキーが押された場合は，画面を再表示するだけの仕様のため，エラー処理は必要に応じて追加する。

ファイルの入出力処理は，必要に応じて追加する。

(4)　コーディング例

この例題のソースプログラムを'TABLEOUT.cbl'として標準提供しています。ソースプログラムからコーディング上のポイントを抜粋して次に示します。

マップ名を変更する。
プログラム中の'@@@555'を'GCTBL1'に変更します。

出力データの代入処理をする。

終了の判定を変更する。

8.2.11　GENDSP01パターンを使用した出力フィールドの再表示

＜この項の構成＞

(1)　処理の概要

(2)　画面定義上のポイント

(3)　AP作成上のポイント

(4)　コーディング例

(1)　処理の概要

店舗別の在庫管理表を一覧で表示します。［後頁］のプッシュボタンをクリックすると，表中に次のデータを表示します。

表中の可変データだけを入れ換えて表示する処理の概要を次の図に示します。

図8-11　表中の可変データだけを再表示する処理

(2)　画面定義上のポイント

作成するGUI画面の基になる定義サンプルを次に示します。

店舗別管理表の定義サンプル：GCTBL1

定義サンプルを使用しない場合は，レイアウトパターンの「表」を選んで定義してください。

店舗別管理表の画面サンプルには，次の特長があります。

各項目はすべて出力フィールドで定義しているため，画面からの入力はない。

出力フィールドには「動的変更（APから表示属性を変更する）」の属性は指定していない。

［キャンセル］，［後頁］，［前頁］ボタンがクリックされたときだけの処理をサポートしている。ほかのボタンがクリックされた場合は画面を再表示する。

(3)　AP作成上のポイント

作成するAPの基になるAPパターンを次に示します。

メインプログラムで使用するAPパターン名：GENDSP01

このAPパターンを使用してのAP作成時には，次の注意が必要です。

2度目の画面表示では，マッピングオプションを「論理マップだけ」に指定する。

サポートしていないプッシュボタンをクリックされた場合は，画面の再表示だけをする。エラー処理は，必要に応じて追加する。

ファイル入出力処理は行っていないため，必要に応じて追加する。表示データは固定となっている。

(4)　コーディング例

この例題のソースプログラムを'DSPWRITE.cbl'として提供しています。ソースプログラムからコーディング上のポイントを抜粋して次に示します。

マップ名を変更する。
プログラム中の'@@@555'を'GCTBL1'に変更します。

出力データの代入処理。

ボタンの判定処理。

マッピングオプションを設定する。

8.2.12　GENDSP01パターンを使用したヘルプ画面の表示

＜この項の構成＞

(1)　処理の概要

(2)　画面定義上のポイント

(3)　AP作成上のポイント

(4)　コーディング例

(1)　処理の概要

受注データ登録画面を一次ウィンドウとして表示します。「顧客コード」または「商品コード」にカーソルがあるときに［F10］を押すと，それぞれの項目の入力を補助するためのヘルプ画面を二次ウィンドウとして表示します。

ヘルプ画面から一次ウィンドウに戻ると，ヘルプ画面は消えて，一次ウィンドウが活性状態になります。入力途中でヘルプ画面を表示した場合でも，そのデータは保証されます。

顧客コードの項目に対するヘルプ画面を表示する場合の処理の概要を次の図に示します。

図8-12　ヘルプ画面の表示処理

(2)　画面定義上のポイント

作成するGUI画面の基になる定義サンプルを次に示します。

受注データ登録画面の定義サンプル：GFILD3

ヘルプ画面の定義サンプル：HELP01

ヘルプ画面のレイアウトは，任意に定義してください。

一次ウィンドウ作成時には，次の注意が必要です。

一次ウィンドウに対する二次ウィンドウの表示位置をあらかじめ指定しておく。

一次ウィンドウには，ヘルプ画面を表示するためのファンクションキー，またはプッシュボタンを割り当てておく。

二次ウィンドウであるヘルプ画面を作成するときには，次の注意をする必要があります。

サンプルは一次ウィンドウのため，二次ウィンドウとして指定し直す必要がある。

またヘルプ画面には，次の特長があります。

［OK］ボタンのプッシュボタンダイアログで「二次ウィンドウを閉じる」の属性が指定してある。

画面に入出力フィールドは配置していない。

(3)　AP作成上のポイント

作成するAPの基になるAPパターンとAP部品を次に示します。

メインプログラムで使用するAPパターン：GENDSP01

サブルーチンで使用するAP部品：FLDHLP01

このAP部品を使用してのAP作成時には，次の注意が必要です。

一次ウィンドウの再表示ではマッピングオプションを変更する。

ヘルプ画面消去後も一次ウィンドウでの入力データを保持するために，入力フォーカス項目とフォーカス定数を比較して，フォーカスのあるフィールドを特定する。

(4)　コーディング例

この例題のソースプログラムを'HELPOUT.cbl'として標準提供しています。ソースプログラムからコーディング上のポイントを抜粋して次に示します。

マップ名を変更する。
プログラム中の'@@@555'を'GFILD3'に変更し，'HELP01O'と'HELP01I'の取り込み処理を追加します。

［F10］を押したかどうかのチェック処理を追加する。

APパターン'GENDSP01'にAP部品'FLDHLP01'を取り込み，@@@333を'HELP01'に変更する。

カーソルのあるフィールドを特定する処理を追加する。

ヘルプ画面を表示する処理を追加する。

8.2.13　GENDSP01パターンを使用したダイアログの表示

＜この項の構成＞

(1)　処理の概要

(2)　画面定義上のポイント

(3)　AP作成上のポイント

(4)　コーディング例

(1)　処理の概要

受注データ登録画面を一次ウィンドウとして表示します。［F10］を押すと，商品を検索できるダイアログを二次ウィンドウとして表示します。

ダイアログは，受注データ登録画面に重ねて表示されます。ダイアログでは，はじめに「商品分類」のリストで商品の候補を絞り込みます。次に「商品一覧」のリストから商品名を選んで［OK］ボタンをクリックすると，ダイアログが消えて，受注データ入力画面の「商品名」の欄に選んだ商品名が反映されます。

ダイアログを使用した入力補助の概要を次の図に示します。

図8-13　ダイアログを使用した入力補助

(2)　画面定義上のポイント

作成するGUI画面の基になる定義サンプルを次に示します。

受注データ登録画面の定義サンプル：GFILD3

定義サンプルを使用しない場合は，レイアウトパターンの「中汎用ウィンドウ」を使用して定義してください。

ダイアログのサンプル：GLBOX3

複数選択リストボックスを使用した「商品一覧」のダイアログです。画面のサンプルを使用しない場合は，レイアウトパターンの「二次ウィンドウ／二段リストボックス（複数選択）」を使用して定義してください。

一次ウィンドウの作成時には，次の注意が必要です。

一次ウィンドウに対する二次ウィンドウの表示位置をあらかじめ指定しておく。

一次ウィンドウにダイアログを表示するためのファンクションキー，またはプッシュボタンを割り当てておく。

二次ウィンドウの作成時には，次の注意が必要です。

サンプルは一次ウィンドウのため，二次ウィンドウとして指定し直す必要がある。

また，二次ウィンドウには次の特長があります。

［OK］ボタンのプッシュボタンダイアログで「二次ウィンドウを閉じる」の属性が指定してある。

二次ウィンドウの結果は固定的に一次ウィンドウに反映される。

(3)　AP作成上のポイント

作成するAPの基になるAPパターンを次に示します。

メインプログラムで使用するAPパターン：GENDSP01

このAPパターンを使用してのAP作成には，次の注意が必要です。

一次ウィンドウの再表示ではマッピングオプションを設定する。

ダイアログを表示する場合と，一次ウィンドウを表示する場合との区別をする。

ダイアログの再表示ではマッピングオプションを設定する。

一次ウィンドウや二次ウィンドウでのデータ入力のチェック処理は含まれていないため，必要があれば追加する。

ダイアログに表示するデータは，固定となっている。必要があれば，マスタファイルから入力して代入する処理などに変更する。

(4)　コーディング例

この例題のソースプログラムを'DAILOG.CBL'として標準提供しています。ソースプログラムからコーディング上のポイントを抜粋して次に示します。

マップ名を変更する。
プログラム中の'@@@555'を'GFILD3'に変更します。

ファンクションキーの判定処理。

APパターン'GENDSP01'にAP部品'NXTDSP01'を取り込み，'@@@666'を'GLBOX3'に変更する。

二次ウィンドウの再表示処理（絞り込み後の選択）。

二次ウィンドウの選択結果の一次ウィンドウへの反映。

8.2.14　GENDSP01パターンを使用した掲示板の表示

＜この項の構成＞

(1)　処理の概要

(2)　画面定義上のポイント

(3)　AP作成上のポイント

(4)　コーディング例

(1)　処理の概要

画面の右上に，常に手前に表示されるウィンドウ（掲示板）を設定します。

表示内容は，定期的にAPから書き換えます。また，ユーザが強制的に終了させることもできます。掲示板の処理概要を次の図に示します。

図8-14　掲示板の表示と書き換え，強制終了

(2)　画面定義上のポイント

作成するGUI画面の基になる定義サンプルを次に示します。

掲示板画面の定義サンプル：BOARD

定義サンプルを使用しないで掲示板画面を作成するときには，次の注意が必要です。

［終了ボタン］を定義する。

画面属性ダイアログで「入力単位」の「表示直後」を指定する。「表示直後」指定時は制御がAPに渡るまでの待機時間を設定することもできる。待機時間はユーザ任意。

画面属性ダイアログで「XY位置」の「右上」と，「Z位置」の「手前に表示」をそれぞれ指定する。

(3)　AP作成上のポイント

作成するAPの基になるプログラムパターンを次に示します。

メインプログラムで使用するAPパターン：GENDSP01

このAPパターンを使用してのAP作成時には，次の注意が必要です。

APに制御が渡ったとき，まず［終了］ボタンがクリックされたかどうかを判定する。

［終了］ボタンがクリックされていなければ，掲示板上に表示する最新のデータを入力し，画面を再表示する。このとき，表示形態では「一部上書」を指定する。表示処理を［終了］ボタンがクリックされるまで繰り返すようにする。

(4)　コーディング例

マップ名を変更する。
プログラム中の'@@@555'を'BOARD'に変更します。

画面の表示と入力処理。

［終了］ボタンがクリックされたら，終了する。

［終了］ボタンがクリックされていなければ，掲示板の更新処理をする。

表示形態を「一部上書」にして再表示する。

8.2.15　DSPPRT01パターンを使用した画面表示と帳票印刷

XMAP3/NETを使用すると，画面と帳票を定義できます。一つのAPで画面の表示と帳票の印刷をする業務を想定した例題を説明します。

＜この項の構成＞

(1)　処理の概要

(2)　画面定義上のポイント

(3)　AP作成上のポイント

(4)　コーディング例

(1)　処理の概要

各帳票を印刷するためのメニュー画面を表示します。メニューから［F2...納品書］のプッシュボタンを選ぶと，納品書の帳票を印刷します。このとき，帳票はシリアルインパクトプリンタへ印刷されます。

メニュー画面の表示と帳票印刷の処理の概要を次の図に示します。

図8-15　メニュー画面の表示と帳票印刷

(2)　画面定義上のポイント

作成する画面・帳票の基になる定義サンプルを次に示します。

メニュー画面の定義サンプル：BMENU1

画面のサンプルは，プッシュボタンのメニューだけから成るGUI画面です。

納品書の帳票の定義サンプル：LTABL1

帳票のサンプルは，XMAP3インストール先¥SAMPLES¥PRTMAPの下に格納されています。納品書の帳票はシリアルインパクトプリンタ用のものです。

(3)　AP作成上のポイント

作成するAPの基になるAPパターンを次に示します。

メインプログラムで使用するAPパターン：DSPPRT01

このAPでは，［F2...納品書］ボタンが押されたときの処理だけを記述しています。「納品書」を1ページ印刷すると，プログラムが終了します。

このAP作成時には，次の点に注意してください。

［F2...納品書］以外のボタンが押されたときの処理を追加する。

印刷データの代入処理を追加する。

メニュー画面でのエラーチェックを必要に応じて追加する。

(4)　コーディング例

この例題のソースプログラムを'NOHIN.cbl'として標準提供しています。ソースプログラムからコーディング上のポイントを抜粋して次に示します。

マップ名を変更する。
プログラム中の'@@@888'をBMENU1に変更し，'¥¥¥222'を'LTABL1'に変更します。

ファンクションキーの判定処理。

印刷データの代入処理。

8.2.16　MCFDP01パターンを使用した画面表示と帳票印刷

＜この項の構成＞

(1)　処理の概要

(2)　画面定義上のポイント

(3)　AP作成上のポイント

(4)　コーディング例

(1)　処理の概要

利用者名入力画面にてログインしたあと，業務を選択するためのメニュー画面を表示します。この画面で各メニューのプッシュボタンを選ぶと，選ばれたメニューに対応する業務の画面を表示します。

なお，［注文書印刷］プッシュボタンを選ぶと納品書が印刷されます。

メニュー画面から次画面（この例題では「受注データ修正画面」）を表示する処理の概要を次の図に示します。

図8-16　メニュー画面からの次画面表示処理

(2)　画面定義上のポイント

作成するGUI画面や帳票の基になる定義サンプルを次に示します。

メニュー画面の定義サンプル：MCF2G

次に表示する画面の定義サンプル：MCF4G

注文書の帳票の定義サンプル：MCF1P

(3)　AP作成上のポイント

作成するAPの基になるAPパターンを次に示します。

メインプログラムで使用するAPパターン名：MCFDP01

このAPパターンを使用したAP作成時には次の注意が必要です。

［F1：受注データ修正］ボタン，［F4：注文書印刷］ボタンが押されたときの処理（［F1：受注データ修正］ボタンを押したときは次の画面表示し，［F4：注文書印刷］ボタンを押したときは注文書を印刷したあと，メニュー画面を再表示する）を追加する。

次の画面，帳票に出力するデータの代入処理を追加する。

エラー処理を必要に応じて追加する。

(4)　コーディング例

この例題のソースプログラムを'MCF2G.cbl'として標準提供しています。ソースプログラムからコーディング上のポイントを抜粋して次に示します。

入り口名を変更する。
プログラム中の'@@@111'を'MCF2G'に変更します。

マップ名を変更する。
プログラム中の以下の項目をそれぞれ変更します。
'@@@222'を'MCF2G'に変更
'@@@333'を'MCF3G'に変更
'@@@444'を'MCF1P'に変更

ボタンの判定処理。

論理端末名を変更する。
プログラム中の'@@@@555'を'XPNLE201'（プリンタに割り当てた論理端末名）に変更します。

8.3　各種例題プログラム

＜この節の構成＞

8.3.1　APサンプルのコンパイルと実行手順

8.3.2　COBOLによるGUI画面を使用した画面単位入力例題

8.3.3　COBOLによるGUI画面を使用したフィールド単位入力例題

8.3.4　COBOLによるGUI画面を使用したイベント単位入力例題

8.3.5　COBOLによるGUI画面を使用した行単位入力例題

8.3.6　COBOLによるCUI画面を使用したフィールド単位入力例題

8.3.7　C言語によるGUI画面を使用したGUI入門例題

8.3.8　COBOLによるOLTPクライアントAP例（OpenTP1を使用した受注業務）

8.3.9　COBOLによるトランザクション型AP例（OpenTP1を使用した受発注業務）

8.3.1　APサンプルのコンパイルと実行手順

APサンプルについて説明します。

＜この項の構成＞

(1)　COBOLを使用したCOBOL開発マネージャでのサンプルプログラムの実行

(2)　C言語を使用したプログラムサンプルの実行

(3)　プログラムサンプルを実行するための設定

(1)　COBOLを使用したCOBOL開発マネージャでのサンプルプログラムの実行

業務サンプルを作成，実行するためのサンプルファイルの準備をします。

(a)　COBOL用サンプルの準備

サンプルプログラムファイルおよび動的変更テーブルは次のフォルダに格納されています。使用するときは，別の任意のフォルダにコピーしてください。なお，サンプルプログラムファイルと動的変更テーブルは同じフォルダにコピーしてください。

サンプルプログラムファイルの格納先
XMAP3インストール先¥SAMPLES¥COBOL

動的変更テーブルの格納先
XMAP3インストール先¥INCLUDE¥x3modtbl.cbl

(b)　プログラムサンプルのファイル名一覧（COBOL）

提供しているプログラムサンプルのソースファイル名と関連するマップ定義ファイル名を示します。

種別
プログラム
サンプル名称
プロジェクトファイル名
ソースファイル名
定義ファイル名

GUI
GUI入門例題
JYUTUGC.PMI
JYUTUGC.CBL
JYU1GC.IMP

画面単位入力例題
GAMENGC.PMI
GAMENGC.CBL
GAM1GC.IMP

行単位入力例題
LINEGC.PMI
LINEGC.CBL
LIN1GC.IMP

イベント単位入力例題
EVENTGC.PMI
EVENTGC.CBL
EVE1GC.IMP
EVE2GC.IMP

フィールド単位入力例題
FIELDGC.PMI
FIELDGC.CBL
FIE1GC.IMP
FIE2GC.IMP

受発注業務例題
KADN1GC.PMI
KADN1GC.CBL
KADxGC.IMP
（x：1～9，A～G）

KADN1PC.CBL
KAD1PC.IMP
KAD1SC.IMP

一連の受発注業務をサーバ側のOpenTP1に処理要求する例題
－
OLTP1GC.CBL
－

OLTPサーバ構成での受発注業務の例題
－
MCFxG.CBL
（x：1～5）
MCFxG.IMP
（x：1～5）

CUI
CUI入門例題
JYUTUCC.PMI
JYUTUCC.CBL
JYU1CC.IMP

画面単位入力例題
GAMENCC.PMI
GAMENCC.CBL
GAM1CC.IMP

行単位入力例題
LINECC.PMI
LINECC.CBL
LIN1CC.IMP

フィールド単位入力例題
FIELDCC.PMI
FIELDCC.CBL
FIE1CC.IMP

受発注業務例題
KADN1CC.PMI
KADN1CC.CBL
KADxCC.IMP
（x：1～4）

KADN1PC.CBL
KAD1PC.IMP
KAD1SC.IMP

（凡例）

－：該当しない。

(c)　プログラムサンプルのコンパイルと実行手順（COBOL）

コンパイル
日立COBOLのCOBOL開発マネージャを使用して，プログラムサンプルをコンパイルします。

COBOL2002，COBOL85 Version 7およびVersion 6の場合
COBOL開発マネージャのツリービューウィンドウで，各プログラムサンプルに応じたプロジェクト名を選び，右クリックで表示されるメニューから［選択中のプロジェクトのビルド］を選ぶと，自動的にコンパイルが実行され，実行ファイルが生成されます。

COBOL85 Version 5.0の場合
各プログラムサンプルに応じたプロジェクトファイル名を選び，COBOL開発マネージャの［プロジェクト］メニューの［ビルド］を選ぶと，自動的にコンパイルが実行され，実行ファイルが生成されます。
コンパイル時には，次のフォルダにあるインポートライブラリを使用してください。
　　　　XMAP3インストール先¥LIB¥V3Compatible

実行
日立COBOLのCOBOL開発マネージャを使用して，プログラムサンプルを実行します。実行手順を次に示します。

COBOL2002，COBOL85 Version 7およびVersion 6の場合
COBOL2002，COBOL85 Version 7およびVersion 6でプログラムを実行するには，実行支援を使用して実行環境を設定して実行する方法と，実行環境を使用しないでそのまま実行する方法があります。
＜実行環境を設定して実行する＞
COBOL開発マネージャのウィンドウの［ビルド］－［実行支援］を選び，表示されるダイアログで実行環境を設定して実行します。
＜実行環境を設定しないで実行する＞
COBOL開発マネージャのウィンドウの［ビルド］－［実行］を選び，表示されるダイアログで実行プログラム名を指定して実行します。

COBOL85 Version 5.0の場合
各プログラムサンプルに応じたプロジェクトファイル名を選び，COBOL開発マネージャの［実行］メニューの［実行］を選ぶと，実行ダイアログ上のコマンドライン上に実行ファイル名が表示されるので，［OK］を選んで，プログラムサンプルを実行します。

なお，各プログラムサンプルの実行ファイル名は，プロジェクトファイル名と同じです。
すでに実行ファイルを作成しているのであれば，エクスプローラまたはファイルマネージャから，実行ファイルを起動することで，プログラムサンプルを実行できます。

(2)　C言語を使用したプログラムサンプルの実行

業務サンプルを作成，実行するためのサンプルファイルを準備します。

(a)　C言語用サンプルの準備

サンプルプログラムファイル，動的変更テーブルおよびインタフェーステーブルは次のフォルダに格納されています。使用するときは，別の任意のフォルダにコピーしてください。なお，サンプルプログラムファイルと動的変更テーブル，インタフェーステーブルは同じフォルダにコピーしてください。

サンプルプログラムファイルの格納先（MAKEファイル，ソースファイル，定義ファイル）
XMAP3インストール先¥SAMPLES¥C

動的変更テーブル，インタフェーステーブルの格納先
XMAP3インストール先¥INCLUDE¥x3modtbl.h
XMAP3インストール先¥INCLUDE¥jsvwatbl.h

(b)　プログラムサンプルのファイル名一覧（C言語）

提供しているプログラムサンプルのソースファイル名と関連するマップ定義ファイル名を示します。

種別
プログラムサンプル名称
実行ファイル名
ソース
ファイル名
定義ファイル名

GUI
GUI入門例題
JYUTUGH.EXE
JYUTUGH.C
JYU1GH.IMP

画面単位入力例題
GAMENGH.EXE
GAMENGH.C
GAM1GH.IMP

行単位入力例題
LINEGH.EXE
LINEGH.C
LIN1GH.IMP

イベント単位入力例題
EVENTGH.EXE
EVENTGH.C
EVE1GH.IMP
EVE2GH.IMP

フィールド単位入力例題
FIELDGH.EXE
FIELDGH.C
FIE1GH.IMP
FIE2GH.IMP

受発注業務例題
KADN1GH.EXE
KADN1GH.C
KADxGH.IMP
（x：1～，A～G）

KADN1PH.C
KAD1PH.IMP
KAD1SH.IMP

OLTPサーバ構成での受発注業務の例題
－
MCFxG.C
（x：1～5）
MCFxG.IMP
（x：1～5）

CUI
CUI入門例題
JYUTUCH.EXE
JYUTUCH.C
JYU1CH.IMP

画面単位入力例題
GAMENCH.EXE
GAMENCH.C
GAM1CH.IMP

行単位入力例題
LINECH.EXE
LINECH.C
LIN1CH.IMP

フィールド単位入力例題
FIELDCH.EXE
FIELDCH.C
FIE1CH.IMP

受発注業務例題
KADN1CH.EXE
KADN1CH.C
KADxCH.IMP
（x：1～4）

KADN1PH.C
KAD1PH.IMP
KAD1SH.IMP

（凡例）

－：該当しない。

(c)　プログラムサンプルで使用するマップの生成

プログラムサンプルを実行する場合，プログラムサンプルに対応したマップを作成する必要があります。実行プログラムサンプルとマップ定義ファイルとの対応は，「8.3.1(2)(b)　プログラムサンプルのファイル名一覧（C言語）」を参照してください。

(d)　プログラムサンプルのコンパイルと実行手順（C言語）

コンパイル
コンパイルには，MAKEファイル「MAKENET」を使用します。
コンパイル手順を次に示します。

各製品に応じたMAKEファイル中の，「XMAP3INSTALL=..¥」を，XMAP3インストール先に変更します※。

MS-DOSプロンプトを開いて，プログラムサンプルのファイルをコピー
（例）
cd c:¥temp¥sample

実行したいプログラムサンプルに応じて，次のコマンドを実行します。
NMAKE／F MAKENET xxxxxxx.EXE
「xxxxxxx.EXE」には，実行したいプログラムサンプルの実行ファイル名を入れてください。

注※

Visual C++ 5.0でコンパイルする場合は，次のフォルダに提供されているインポートライブラリを使用するように，MAKEファイルの「XMAPLIBDIR」を変更してください。

　　XMAP3インストール先¥LIB¥V3Compatible

実行
プログラムサンプルを実行します。実行手順は次のうちどれかです。なお，実行ファイル名については，「8.3.1(2)(b)　プログラムサンプルのファイル名一覧（C言語）」を参照してください。

タスクバーの「ファイルを指定して実行」で，各プログラムサンプルに応じた実行ファイル名を指定して，実行します。

エクスプローラまたはファイルマネージャから，プログラムサンプルをコピーしたフォルダに移動し，実行ファイルを起動すると，プログラムサンプルを実行します。

(3)　プログラムサンプルを実行するための設定

プログラムサンプルを実行するための設定について，以下に示します。

ディスプレイのカラーパレットの設定
「コントロールパネル」の「画面」を起動し，表示されるダイアログの「カラーパレット」（Windows 98の場合は「色」，Windows 2000，Windows XP，Windows Server 2003，およびWindows Server 2003 x64の場合は「画面の色」）で，「256色」以上（Windows XP，Windows Server 2003，およびWindows Server 2003 x64の場合は「中（16ビット）」以上）を設定してください。

8.3.2　COBOLによるGUI画面を使用した画面単位入力例題

画面単位にAPに制御を戻し，入力したデータを一回の画面入力で一括して処理する方法です。標準的な画面入出力の業務に適しています。なお，この例ではGUI画面を想定していますが，CUI画面でも同じような処理が実現できます。CUI画面を使用する場合は，プッシュボタンの代わりに，ファンクションキーを使用します。

＜この項の構成＞

(1)　想定するエントリ画面

(2)　処理の流れ

(3)　コーディング

(1)　想定するエントリ画面

図8-17　エントリ画面（GUI：画面単位のデータ入力）

注

物理マップサイズの目安は，約4KBです。

(2)　処理の流れ

(3)　コーディング

画面からのデータが入力されたあと，AP中ではどのプッシュボタン（CUI画面の場合，ファンクションキー）が押されたかを判定します。

「終了」の場合はAPを終了します。「確認」の場合は，入力したデータ（「品番」「数量」）に対応した出力データを設定し，「表示形態＝一部上書」で画面を再表示します。「登録」の場合は，出力論理マップをクリアしたあと「入力・選択状態の扱い＝初期状態」および「表示形態＝一部上書」で画面を再表示します。

コーディングパターンの例を次の図に示します。マップ名は「GAM1GC」です。プログラムサイズは約12KBです。

図8-18　画面単位にデータを入力するコーディング（1／3）

図8-19　画面単位にデータを入力するコーディング（2／3）

図8-20　画面単位にデータを入力するコーディング（3／3）

8.3.3　COBOLによるGUI画面を使用したフィールド単位入力例題

フィールド単位にAPに制御を戻して，入力や確認に必要な情報を画面に少しずつ表示していく方法です。フィールド単位に処理するので，少量のデータを頻繁に入出力するようなデータエントリ業務に適しています。なお，フィールド単位に処理をするため，C/Sシステムのように逐一，サーバとの送受信が発生するようなシステムでは，処理動作が遅くなりますので，ご注意ください。

APから，ある入力フィールドに対してフォーカス・カーソルを位置づけると入力可能となります。その他の入力フィールドには入力できません。

＜この項の構成＞

(1)　想定するエントリ画面

(2)　処理の流れ

(3)　コーディング

(1)　想定するエントリ画面

図8-21　エントリ画面（フィールド単位にデータを入力する）

(2)　処理の流れ

(3)　コーディング

画面表示の際に，入力したいフィールドに対してフォーカス・カーソルを位置づけることでフィールド単位入力を実現します。APには，フォーカス・カーソルを位置づけたフィールドからの入力データだけが返り，そのデータに対応する処理が呼び出されます。処理が終わったら，次に入力するフィールドにフォーカス・カーソルを位置づけて画面を再表示します。以降，入力フィールドの個数分，これらの処理を繰り返します。

コーディングパターン例を次の図に示します。マップ名は「FIE1GC」です。プログラムサイズは約10KBです。

図8-22　フィールド単位にデータを入力するコーディング例（1／4）

図8-23　フィールド単位にデータを入力するコーディング例（2／4）

図8-24　フィールド単位にデータを入力するコーディング例（3／4）

図8-25　フィールド単位にデータを入力するコーディング例（4／4）

8.3.4　COBOLによるGUI画面を使用したイベント単位入力例題

画面でイベントが発生するたびにAPに制御を返して，入力データの処理や確認に必要な情報を画面に少しずつ表示していく方法です。イベントが発生したときは，イベント通知コードとして，プッシュボタンやファンクションキーに対応したINC定数か，各オブジェクトに対応したイベント定数がAPに返されます。このイベント定数をAPで判定して，各オブジェクトの処理を行います。

イベント単位入力では，フィールド単位入力と異なり，画面上のどの活性オブジェクトも使用できる状態になっています。

なお，イベント単位入力は，GUI画面でだけ使用できます。また，イベント単位に処理をするため，C/Sシステムのように逐一，サーバとの送受信が発生するようなシステムでは，処理動作が遅くなりますのでご注意ください。

＜この項の構成＞

(1)　想定するエントリ画面

(2)　処理の流れ

(3)　コーディング

(1)　想定するエントリ画面

図8-26　エントリ画面（GUI：イベント単位のデータ入力）

(2)　処理の流れ

(3)　コーディング

画面を表示してデータを入力したあと，APでイベント通知コードを判定し，処理を振り分けます。イベント定数が返された場合には，オブジェクトからイベントが返されたと判断し，オブジェクトごとの処理を行います。また，プッシュボタンやファンクションキーに対応するINC定数が返された場合には，ボタンやキーからイベントが返されたと判断し，該当する処理を行います。コーディングパターンの例を次の図に示します。マップ名は「EVE1GC」です。プログラムサイズは約14KBです。

図8-27　イベント単位にデータを入力するコーディング例（1／5）

図8-28　イベント単位にデータを入力するコーディング例（2／5）

図8-29　イベント単位にデータを入力するコーディング例（3／5）

図8-30　イベント単位にデータを入力するコーディング例（4／5）

図8-31　イベント単位にデータを入力するコーディング例（5／5）

8.3.5　COBOLによるGUI画面を使用した行単位入力例題

行単位にAPに制御を戻して，入力や確認に必要な情報を画面に少しずつ表示していく方法です。行単位のデータを転送しながら画面レベルで確認ができるので，まとまったデータをグループ処理したい場合に適しています。データを入力する領域としてGUI画面中のフィールドボックスを使用することをお勧めします。なお，この例ではGUI画面を想定していますが，CUI画面でも同じような処理を実現できます。CUI画面の場合は，プッシュボタンの代わりにファンクションキーが使用できます。

＜この項の構成＞

(1)　想定するエントリ画面

(2)　処理の流れ

(3)　コーディング

(1)　想定するエントリ画面

図8-32　エントリ画面（GUI：行単位のデータ入力）

行末のフィールドを「自動送信（入力直後にAPへ制御を渡す）」属性に定義しておきます。

また，各入力フィールドは入力可否の動的変更ができるように「動的変更（APから表示属性を変更する）」を指定しておきます。

注　

物理マップサイズの目安は，約5.5KBです。

(2)　処理の流れ

(3)　コーディング

行単位でフィールドの「入力可否」の切り替えをします。行末のフィールドにデータが入力されたら，自動的に送信を発生させ，次の行へ続行させます。処理済みの行については，余分なデータが送信されないようにデータ有無コードを設定しておきます。

コーディングパターンの例を次の図に示します。マップ名は「LIN1GC」です。プログラムサイズは約20KBです。

図8-33　行単位にデータを入力するコーディング（1／5）

図8-34　行単位にデータを入力するコーディング（2／5）

図8-35　行単位にデータを入力するコーディング（3／5）

図8-36　行単位にデータを入力するコーディング（4／5）

図8-37　 行単位にデータを入力するコーディング（5／5）

8.3.6　COBOLによるCUI画面を使用したフィールド単位入力例題

フィールド単位にAPに制御を戻して，入力や確認に必要な情報を画面に少しずつ表示していく方法です。フィールド単位に処理するので，少量のデータを頻繁に入出力するようなデータエントリ業務に適しています。なお，フィールド単位に処理をするため，C/Sシステムのように逐一，サーバとの送受信が発生するようなシステムでは，処理動作が遅くなりますのでご注意ください。

＜この項の構成＞

(1)　想定するエントリ画面

(2)　処理の流れ

(3)　コーディング

(1)　想定するエントリ画面

図8-38　エントリ画面

品番と数量の合計フィールドを「自動送信（入力直後にAPへ制御を渡す）」属性に定義しておき，単価と合計金額は出力フィールドとして定義しておきます。

注　

物理マップサイズの目安は，約1.5KBです。

(2)　処理の流れ

(3)　コーディング

最初に画面を表示するときは，「品番」だけ入力できるようにしておきます。

「品番」を入力するとAPに制御が移り，「単価」が表示されます。次に「数量」を入力できるようにします。「数量」が入力されたら，「金額」を計算して「終了判定」にカーソルを移動させ，終了するか，次のデータ入力を始めるかを番号で指定させます。この処理を，「終了判定」に終了の合図が入力されるまで繰り返します。

コーディングパターンの例を次の図に示します。マップ名は「FIE1CC」です。プログラムサイズは約10KBです。

図8-39　フィールド単位にデータを入力するコーディング（1／3）

図8-40　フィールド単位にデータを入力するコーディング（2／3）

図8-41　フィールド単位にデータを入力するコーディング（3／3）

8.3.7　C言語によるGUI画面を使用したGUI入門例題

マニュアル「XMAP3 入門」で紹介している「受注データ入力業務」を，C言語で作成した例題です。

一つの商品を受注するごとにAPに制御を戻し，登録していく方法です。得意先コードおよび数量以外は，マウスでの操作ができます。そのため，キーボード入力が少なくてすみ，キーボードが不慣れな方でも簡単に受注データ入力が行えます。

＜この項の構成＞

(1)　想定する受注データ入力画面

(2)　 処理の流れ

(3)　コーディング

(1)　想定する受注データ入力画面

図8-42　受注データ入力画面

入力区分，商品名を「選択後次のボックスにフォーカスを移す」属性に定義しておきます。数量は数字として定義します。

注　

物理マップサイズの目安は，約2.5KBです。

(2)　 処理の流れ

(3)　コーディング

最初に「得意先コード」にフォーカスを位置づけ，上から順番に「入金区分」，「商品名」，「数量」，「割引特典」を入力し，すべての入力が終わると，［次入力］ボタンをクリックしてAPに制御を移します。次に，入力されたデータを代入して，次の入力を行います。

この処理を，［終了］ボタンをクリックするか，メニューから「終了」が選択されるまで繰り返します。

コーディングパターン例を次の図に示します。マップ名は「JYU1GH」です。プログラムサイズは約9.5KBです。

図8-43　C言語でのGUI画面設計のコーディング（1／8）

図8-44　C言語でのGUI画面設計のコーディング（2／8）

図8-45　C言語でのGUI画面設計のコーディング（3／8）

図8-46　C言語でのGUI画面設計のコーディング（4／8）

図8-47　C言語でのGUI画面設計のコーディング（5／8）

図8-48　C言語でのGUI画面設計のコーディング（6／8）

図8-49　C言語でのGUI画面設計のコーディング（7／8）

図8-50　C言語でのGUI画面設計のコーディング（8／8）

8.3.8　COBOLによるOLTPクライアントAP例（OpenTP1を使用した受注業務）

OpenTP1を使用したC/Sシステム業務では，クライアントアプリケーション型のC/Sシステム業務となります。このとき，クライアントからサーバへの通信はRPC（Remote Procedure Call）コーディングを使用します。

＜この項の構成＞

(1)　処理の概要

(2)　処理の流れ

(3)　コーディング

(1)　処理の概要

クライアントにあるAPが，RPCでサーバのOpenTP1に対して処理を要求し，受注データ処理を行います。クライアントのAPは，TRANSCEIVE文で画面の入出力を要求し，RPCでサーバに対してファイルの参照・更新を要求します。

図8-51　OLTPクライアントAPの処理の概要

注　

物理マップサイズの目安は，約5.5KBです。

(2)　処理の流れ

(3)　コーディング

サーバ側のコーディング例およびクライアント側のコーディング例を次の図に示します。

なお，このプログラムソースは，XMAP3で提供されています。

図8-52　サービスプログラム（1／4）

図8-53　サービスプログラム（2／4）

図8-54　サービスプログラム（3／4）

図8-55　サービスプログラム（4／4）

図8-56　OpenTP1を使用した受注業務（1／10）

図8-57　OpenTP1を使用した受注業務（2／10）

図8-58　 OpenTP1を使用した受注業務（3／10）

図8-59　 OpenTP1を使用した受注業務（4／10）

図8-60　OpenTP1を使用した受注業務（5／10）

図8-61　 OpenTP1を使用した受注業務（6／10）

図8-62　OpenTP1を使用した受注業務（7／10）

図8-63　OpenTP1を使用した受注業務（8／10）

図8-64　 OpenTP1を使用した受注業務（9／10）

図8-65　OpenTP1を使用した受注業務（10／10）

8.3.9　COBOLによるトランザクション型AP例（OpenTP1を使用した受発注業務）

OLTPサーバ構成での受発注業務の例題です。

例題ではXMAP3クライアントを停止することで業務を終了（初期画面を閉じる）しますが，APからコネクションを解放するコマンド（mcftdctcn）を発行することで業務を終了することもできます。この場合，初期画面に［終了］ボタンを追加し，そのイベント処理でコマンドを発行します。業務を再開するときは，XMAP3クライアントを終了させ，再起動してください。

コネクションを解放するコマンドについては，マニュアル「OpenTP1プロトコル TP1/NET/XMAP3編」を参照してください。

＜この項の構成＞

(1)　想定する受発注業務の概要

(2)　受発注業務の流れとサーバAPの関連

(3)　受発注業務の動作環境

(1)　想定する受発注業務の概要

この例題で想定する受発注業務の概要を次の図に示します。

図8-66　受発注業務の概要

「XMAP3クライアント」を起動すると，初期画面（「利用者名入力画面」）が表示される。

初期画面で［OK］ボタンを選ぶと，メニュー画面（「受注伝票発行業務」画面）が表示される。

メニュー画面で［受注データ修正］ボタンを選ぶと，修正ヘッダ画面（「受注データ修正：ヘッダ」画面）が表示される。

修正ヘッダ画面の［ファイル］-［明細］コマンドを選ぶと，修正明細画面（「受注データ：明細」画面）が表示される。

修正明細画面で［ファイル］-［終了］コマンド，または［ファイル］-［取消］コマンドを選ぶと，修正ヘッダ画面に戻る。

修正ヘッダ画面で［ファイル］-［終了］コマンドを選ぶと，メニュー画面に戻る。

メニュー画面で［今月の販促ツール］ボタンを選ぶと，販促画面（「受発注業務：販促ツール」画面）が表示される。

販促画面で［EXIT］ボタンを選ぶと，メニュー画面に戻る。

メニュー画面で［注文書印刷］ボタンを選ぶと，帳票が印刷される。

メニュー画面で［業務終了］ボタンを選ぶと，初期画面に戻る。

「XMAP3クライアント」を停止すると，初期画面が閉じられる。

(2)　受発注業務の流れとサーバAPの関連

受発注業務で使用する画面と，サーバ側PCで実行するAPとの関連を，業務の流れに基づいて説明します。

(a)　XMAP3クライアントの起動からメニュー画面の表示まで

XMAP3クライアントを起動してからメニュー画面の表示処理，およびメニュー画面から初期画面への遷移処理について，トランザクションの流れを次の図に示します。

図8-67　XMAP3クライアントの起動～メニュー画面

クライアント側で「XMAP3クライアント」を起動すると，連携するサーバ側のAP（またはコマンド）によって，OpenTP1のコネクション要求が発行される。コネクションが確立されたあと，初期画面が表示される。

初期画面でイベントを発生させると，初期画面のトランザクションコード（MCF1G）に対応したAP「MCF1G.exe」が起動され，RECEIVE命令が実行される。

2で発生したイベントが「［OK］ボタンの選択」の場合，「MCF1G.exe」からメニュー画面に対するSEND要求が発行され，「MCF1G.exe」が終了する。

メニュー画面でイベントを発生させると，メニュー画面のトランザクションコード（MCF2G）に対応したAP「MCF2G.exe」が起動され，RECEIVE命令が実行される。

4で発生したイベントが「［業務終了］ボタンの選択」の場合，「MCF2G.exe」から初期画面に対するSEND要求が発行される。その後，「MCF2G.exe」が終了する。

注

4で発生したイベントが「未サポート業務（［受注データ修正］ボタン，および［売上状況表示］ボタン）の選択」の場合，「MCF2G.exe」からメニュー画面の表示に対するSEND要求が発行されます。その後，「MCF2G.exe」が終了します。

(b)　メニュー画面から修正ヘッダ画面，修正明細画面の表示まで

メニュー画面から修正ヘッダ画面，および修正明細画面との遷移について，トランザクションの流れを次の図に示します。

図8-68　メニュー画面～修正ヘッダ画面～修正明細画面

メニュー画面でイベントを発生させると，メニュー画面のトランザクションコード（MCF2G）に対応したAP「MCF2G.exe」が起動され，RECEIVE命令が実行される。

1で発生したイベントが「［受注データ修正］ボタンの選択」の場合，「MCF2G.exe」から修正ヘッダ画面の表示に対するSEND要求が発行される。その後，「MCF2G.exe」が終了する。

修正ヘッダ画面でイベントを発生させると，修正ヘッダ画面のトランザクションコード（MCF3G）に対応したAP「MCF3G.exe」が起動され，RECEIVE命令が実行される。

3で発生したイベントが「［ファイル］-［明細］コマンドの選択」の場合，「MCF3G.exe」から修正明細画面（二次ウィンドウ）の表示に対するSEND要求が発行される。その後，「MCF3G.exe」が終了する。

3で発生したイベントが「［ファイル］-［終了］コマンドの選択」の場合，「MCF3G.exe」からメニュー画面の表示に対するSEND要求が発行される。その後，「MCF3G.exe」が終了する。

修正明細画面でイベントを発生させると，修正明細画面のトランザクションコード（MCF4G）に対応したAP「MCF4G.exe」が起動され，RECEIVE命令が実行される。

6で発生したイベントが「［ファイル］-［終了］コマンドの選択」，または「［ファイル］-［取消］の選択」の場合，「MCF4G.exe」から修正ヘッダ画面の表示に対するSEND要求が発行される。その後，「MCF4G.exe」が終了する。

注

1で発生したイベントが「未サポート業務（［受注データ修正］ボタン，および［売上状況表示］ボタン）の選択」の場合，「MCF2G.exe」からメニュー画面の表示に対するSEND要求が発行されます。その後，「MCF2G.exe」が終了します。

(c)　メニュー画面から販促画面の表示まで

メニュー画面から販促画面との遷移までについて，トランザクションの流れを次の図に示します。

図8-69　メニュー画面～販促画面

メニュー画面でイベントを発生させると，メニュー画面のトランザクションコード（MCF2G）に対応したAP「MCF2G.exe」が起動され，RECEIVE命令が実行される。

1で発生したイベントが「［今月の販促ツール］ボタンの選択」の場合，「MCF2G.exe」から販促画面の表示に対するSEND要求が発行される。その後，「MCF2G.exe」が終了する。

販促画面でイベントを発生させると，販促画面のトランザクションコード（MCF5G）に対応したAP「MCF5G.exe」が起動され，RECEIVE命令が実行される。

3で発生したイベントが「［EXIT］ボタンの選択」の場合，「MCF5G.exe」からメニュー画面の表示に対するSEND要求が発行される。その後，「MCF5G.exe」が終了する。

注

1で発生したイベントが「未サポート業務（［受注データ修正］ボタン，および［売上状況表示］ボタン）の選択」の場合，「MCF2G.exe」からメニュー画面の表示に対するSEND要求が発行されます。その後，「MCF2G.exe」が終了します。

(d)　メニュー画面から帳票の出力まで

メニュー画面から帳票の出力までについて，トランザクションの流れを次の図に示します。

図8-70　メニュー画面～帳票出力

メニュー画面でイベントを発生させると，メニュー画面のトランザクションコード（MCF2G）に対応したAP「MCF2G.exe」が起動され，RECEIVE命令が実行される。

1で発生したイベントが「［注文書印刷］ボタンの選択」の場合，「MCF2G.exe」から帳票の出力命令が発行される。

帳票の印刷終了後，「MCF2G.exe」からメニュー画面の表示に対するSEND要求が発行され，「MCF2G.exe」が終了する。

注

1で発生したイベントが「未サポート業務（［受注データ修正］ボタン，および［売上状況表示］ボタン）の選択」の場合，「MCF2G.exe」からメニュー画面の表示に対するSEND要求が発行されます。その後，「MCF2G.exe」が終了します。

(3)　受発注業務の動作環境

OLTPサーバ構成用のAPを実行する場合，あらかじめTP1/NET/XMAP3側やXMAP3側での動作環境を設定しておく必要があります。ここでは，本例題を実行するために必要な，動作環境の設定例を説明します。

(a)　TP1/NET/XMAP3での環境設定

論理端末名，およびTP1コネクション名とXMAP3の表示・印刷サービス名との対応
XMAP3側の表示・印刷サービス名と対応するよう，TP1/NET/XMAP3側で論理端末名やTP1コネクション名を設定してください。
本例題ではそれぞれ次のように対応させます。

種別 | TP1/NET/XMAP3 | XMAP3
TP1コネクション名 | 論理端末名 | 表示・印刷サービス名
画面 | XPNCN1 | XPNLE101 | xppDSP01
帳票 | XPNCN2 | XPNLE201 | xppPRT01

データ有無コードの設定
本例題のように，データ有無コードを使用している場合はTP1/NET/XMAP3側のデータ有無コードも同じ値を設定する必要があります。
本例題ではTP1/NET/XMAP3側のデータ有無コードの設定で，(1F)₁₆を指定してください。

初期画面の指定
論理端末名（XPNLE101）の初期画面として（MCF1G）を指定します。

APとトランザクションコードの関連の定義
APとそれに対応するトランザクションコードを次に示します。

AP名 | トランザクションコード
MCF1G.exe | MCF1G
MCF2G.exe | MCF2G
MCF3G.exe | MCF3G
MCF4G.exe | MCF4G
MCF5G.exe | MCF5G

(b)　XMAP3側での環境設定

C/Sセットアップ
C/Sセットアップでは，xppDSP01に呼応して起動するサーバ側の実行ファイルを指定します。
このサーバ側の実行ファイルとは，TP1のコネクションを確立するための命令を発行するプログラムのことです。

表示・印刷セットアップ

オペレータインジケータの設定値の確認
表示・印刷セットアップの「デザイン1」タブで，「オペレータインジケータ」の設定値を確認します。
設定できる値は「上に表示」，または「下に表示」になります。「表示しない」，および「拡張形式」は指定できません。

「バージョン間の互換オプション」の設定の確認
表示・印刷セットアップの「アプリケーション1」タブで，「バージョン間の互換オプション」の設定を確認します。
「C/Sの場合，アプリケーションサーバのセットアップだけが有効」チェックボックスがオンになっていた場合，オフにしてください。

(c)　実行環境の設定

物理マップの作成と格納
本例題の実行前に，物理マップを作成しておきます。作成した物理マップはOpenTP1のマップディレクトリへ格納してください。

グラフィックファイルの複写
本例題の実行前に，プログラムで使用するグラフィックファイルを次に示すフォルダへコピーしておきます。

コピー元フォルダとコピーするグラフィックファイル
「XMAP3インストール先¥SAMPLES¥GRAPHICS」下の「1等.bmp」，「2等.bmp」，「3等.bmp」，「4等.bmp」

コピー先フォルダ
「XMAP3インストール先¥USER¥GRAPHICS」

9.　チューニングとトラブルの対処方法

この章では，XMAP3実行時の性能を向上させるためのポイント，およびトラブル発生時の対処方法について説明します。

＜この章の構成＞

9.1　性能向上のポイント

9.2　トラブルの対処方法

9.1　性能向上のポイント

ここでは，AP実行の性能向上のためのテクニックについて説明します。

＜この節の構成＞

(1)　定義時の性能を向上させるためのポイント

(2)　AP作成時のポイント

(3)　実行時のポイント

(1)　定義時の性能を向上させるためのポイント

作成する画面は，必要最小限のオブジェクトにし，マップを小さくすることで実行性能が向上します。マップを小さくするには，次のことに注意してください。

(a)　けい線の見直し

むだなけい線は削除する。

矩形で囲んだフィールドは反転表示にして枠を取る。

(b)　テキストボックスやフィールドの見直し

テキストなどの集約
テキストボックスやフィールドは，まとめて定義してください。例えば，「年」「月」「日」は三つに分けるのではなく，一つにまとめることでマップが小さくなります。

フィールドボックスの利用（1）
テキストボックスで作成されている表は，フィールドボックスのフィールドとして定義してください。表示性能が向上します。

フィールドボックスの利用（2）
GUI画面でテキストボックスが多く繰り返されている場合には，フィールドボックス中にフレームを配置して，その中のフィールドとして定義してください。フィールドボックスのフレーム機能を使用すると，1フィールドの定義で複数フィールドに相当する定義ができます。また，論理マップ上ではOCCURS展開されるため，APのロジックも繰り返し指定で実現でき，効率が良くなります。

(c)　グラフィックデータの見直し

不要なグラフィックデータの削除
グラフィックデータは，データ量が多くマップが大きくなってしまいます。グラフィックデータは，必要な個所にだけ使用するようにしてください。

グラフィックデータの縮小化
固定グラフィックの場合はファイルサイズの総和が31,000バイト以内に収まるように作成してください。出力グラフィックの場合は100KB以内を目安にして作成することをお勧めします。容量の大きいグラフィックデータを小さくするには，次の方法で対処できます。

ビットマップの縦横ドット数を小さくする
ビットマップは，中身の図柄がどのようなものであっても，同じ縦横サイズならばファイルサイズとして，常に同じバイト数を必要とします。したがって，縦横ドット数を小さくすることで，ファイルサイズが小さくなります。実際に絵を描いていない部分もビットマップの情報として格納されますので，必要最小限の領域を取るようお勧めします。
次に既存のビットマップの必要な部分だけをペイント（またはペイントブラシ）を用いて切り出す方法を説明します。
1. ペイント（またはペイントブラシ）で基になるビットマップを表示する。
2. 四角形選択ツールで（または自動選択ツール）で必要な部分を選択する。
3. メニューバーから［編集］の［ファイルへコピー］を選択する。
4. ファイル名を指定して保存する。

使用する色を減らす
ビットマップの形式として，2色，16色，256色，1,600万色（フルカラー）の色数のものがあります。色数が増えると情報量が増えるので，それだけビットマップサイズが大きくなります。また，その表示色数をサポートしていないディスプレイに表示した場合，色化けが起きたり，表示が遅くなるなどの問題が起こります。
既存のビットマップの色数を変更するには，画像フォーマットを変換する機能を持った市販のグラフィックソフトを使用する方法があります。しかし，色数を減らすことでビットマップが見にくくなることがあります。
したがって，初めから16色でビットマップを作成することをお勧めします。

(d)　プレーンサイズの見直し

ボックスに隠れているプレーンは，データがなくても表示しています。不要なサイズになっていないか見直してください。

(e)　画面サイズの見直し

画面サイズが小さい方が表示性能は高くなります。画面サイズを見直してください。

(2)　AP作成時のポイント

(a)　同一マップを再表示するときの方法

同一マップの画面を再表示する場合は，一部上書を指定しないと，画面中の一つ（または一部）のオブジェクトだけを書き換えるときでも全画面の再表示となり，表示性能が低下します。

一部上書と全面書換とを使い分けることをお勧めします。特に一部上書は，フィールド単位にデータを入力し，APでチェックおよび表示していくような場合に効果的です。指定方法については「7.2.3(1)(f)　MAPPING MODE句の扱い（マッピングオプション）」を参照してください。

前提となる定義

ドローで，画面属性の「入力・選択状態の扱い」に「未入力・未選択」または「状態を維持」を指定します。また，該当するテキスト・フィールドの属性の「初期値」に「なし」を指定します。

1.の指定によって，データ未入力を埋字以外で判定する必要が生じた場合には，ドローセットアップの論理マップ属性ダイアログで，「初期クリア文字」に「埋字」以外を指定します。さらに，ユティリティの「セットアップ情報の反映」で，マップを再生成します。

<1回目の表示時>

プログラム中のマッピングオプションに，「マージ」を指定します。

TRANSCEIVE文，SEND文などで画面を表示します。

<同じ画面の再表示時>

プログラム中のマッピングオプションに，「論理マップだけ」を指定します。

画面表示時に変更しない項目にデータ有無コードを格納します。

動的変更属性の指定があれば，プログラム中の制御項目（修飾名を格納する論理マップのエリア）に格納します。

項目データは，先頭1バイト目，またはすべての項目データに対して格納します。

出力論理マップがデータ有無コードでクリアされるため，表示中のデータを記憶しておく場合には別のエリアに画面情報をバックアップしておくような対処が必要です。

画面表示時に変更する項目だけにデータを格納します。

画面の表示形態を指定する制御項目（マップ名-CNTRLO）に，動的変更用の定数テーブル中の「XMAP-CNTRL1（標準の場合）」を格納します。

TRANSCEIVE文，SEND文などで1回目と同じマップ名を再表示します。

このコーディングのサンプルとして，APパターンCRLINP01.CBLを利用できます。

(b)　データ量の見直し

APでむだなデータを送っていませんか。例えば，常にスペースやゼロを送ってしまうと実行性能が劣ってしまいます。したがって，出力時の性能を上げるにはデータの量を減らすことが重要です。

データ有無コードで論理マップをクリアします。データ有無コードについては「6.2.7　特定の入出力テキストだけを書き換える（データ有無コードの利用）」を参照してください。

むだな初期値は指定しないようにしてください。

(c)　AP分割の見直し

XMAP3のオープン要求がどのタイミングで出されているかを見直してください。コンパイル単位で，TRANSCEIVE文または，SEND文が発行されると，画面ごとにオープンが実行されるため，処理が遅くなります。不要に画面をオープンしないためには次の点に注意してください。

一つのコンパイル単位にTRANSCEIVE文，SEND文をまとめ，オープンの実行は必要最低限にします。

共通のルーチンにまとめてTRANSCEIVE文，SEND文を発行するようにAPの構造を見直します。

日立COBOLの場合，AP間でオープンを引き継ぐ「CBLTERMSHAR=YES」を指定すると，AP間でオープンの引き継ぎが行われます。

詳細については「7.1.2　AP間でオープンを引き継ぐ場合」を参照してください。

日立COBOLでは，明示的にCALL文でオープンを要求する場合を除き，一つのコンパイル単位で最初のSEND文またはTRANSCEIVE文が発行されると画面がオープンされます。そのため，1画面が1実行ファイル（.EXE）のような構成にすると，実行ファイルごとに画面をオープンすることになります。この場合，オープン・クローズ，SEND文，TRANSCEIVE文を発行する実行ファイル，ビジネス処理をする実行ファイルをそれぞれ分けた方が実行性能が高くなります。

また，複数のコンパイル単位のものを合わせて一つの実行ファイルにするときは，各コンパイル単位でオープンを発行しないようにするため，日立COBOLの実行支援の環境変数で，「CBLTERMSHAR=YES」を指定します。「CBLTERMSHAR=YES」は，SEND／RECEIVE／TRANSCEIVEインタフェースのときだけ有効です。CALLインタフェースでは無効になります。

CALLインタフェースの場合，または「CBLTERMSHAR」をサポートしていないバージョンの日立COBOLを使用している場合で，AP間のオープン引き継ぎをするときは，ユーザが，XMAP3インタフェースエリアの情報を引き継ぐようなコーディングをする必要があります。サンプルコーディングとして，APパターンのGENDSP02およびGENDSP03が利用できます。

(d)　画面クローズのタイミングの見直し

画面のクローズは，明示的にCALL文でクローズするか，DISABLE文を発行したタイミングです。ただし，クローズすると次に画面を表示するときには必ずオープンしなければなりません。画面を素早く消したり，再表示したりする場合は，画面属性ダイアログの「Z位置」で「一時非表示」を指定して，見た目上は表示されていないようにしておき，次に画面を表示するときに動的変更で「Z位置」の指定を「標準表示」または「手前に表示」に変更します。このようにすると，画面をクローズ，オープンするよりも早く画面を切り替えられます。

(e)　APとの制御のやり取りの見直し

画面属性の定義で入力単位を「画面」にしているにもかかわらず，オブジェクトの属性で「自動送信」を指定して，オブジェクト単位でAPに制御を返すようなAP構造は，画面単位にAPに制御を返すAP構造と比べ オーバーヘッドが大きくなり，オブジェクト遷移（フォーカス移動）が遅くなる場合があります。このため，APとの制御のやり取りは画面単位で行うことをお勧めします。オブジェクト単位でAPと制御のやり取りをする場合は，入力単位を「フィールド」や「イベント」に設定し，できるだけ画面中のオブジェクトの数を少なくすることがポイントです。

(3)　実行時のポイント

(a)　マップの常駐化サイズの見直し

使用する物理マップを常駐するバッファサイズは変更できます。詳細については，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

(b)　C/Sシステム構成時の通信データ削減

C/Sシステム構成の場合，XMAP3の通信データを圧縮する機能が利用できます。通信データの圧縮機能を利用すると，C/S間の通信量が削減できるため，画面応答のレスポンス向上が期待できます。詳細については，マニュアル「XMAP3 開発・実行ガイド」を参照してください。

9.2　トラブルの対処方法

＜この節の構成＞

9.2.1　日立COBOL使用時のトラブル

9.2.2　旧バージョン提供ファイルのコンパイル時のトラブル

9.2.3　表示に関する対処方法

9.2.4　応答性能の対処方法

9.2.1　日立COBOL使用時のトラブル

注意

エラーコードの「KCCC」は，COBOL85では「KCCB」となります。

＜この項の構成＞

(1)　コンパイル時の主なエラー

(2)　リンク（MAKE）時の主なエラー

(3)　実行時の主なエラー

(1)　コンパイル時の主なエラー

表9-1　コンパイル時の主なエラー

エラー
意味
対処方法

KCCC1076C-S
COPY文を取り込もうとしているファイルが，APのソースが格納されているフォルダ中にないことが考えられる。
ファイルが，APのソースが格納されているフォルダ中にあるか見直し，ない場合はファイルをコピーしてコンパイルし直す。

COPY文を取り込もうとしているファイルの名称が誤っていることが考えられる。
XMAP3で作成した論理マップファイルの名称であるか見直し，ファイルの名称が誤っているときは正しい名称に修正してコンパイルし直す。

KCCC3015C-S
データ名，または変数名に不当な文字を指定していることが考えられる。
データ名，および変数名を見直す。

必要なテーブル「X3MODTBL」がAPを格納しているフォルダにないことが考えられる。
APを格納しているフォルダに次のファイルをコピーして，コンパイルし直す。
　XMAP3インストール先
　¥INCLUDE¥X3MODTBL

(2)　リンク（MAKE）時の主なエラー

表9-2　リンク（MAKE）時の主なエラー

エラー
意味
対処方法

LNK1181
LNK1104
TRANSCEIVE文，
SEND文，および
RECEIVE文でXMAP3を使用する場合に，必要なXMAP3のライブラリを参照できない。
コンパイル環境のPCにXMAP3の開発モデルがインストールされているか確認する（CALL文のインタフェースで作成したAPの場合はリンケージ環境）。

LNK2001
LNK1120
CALL文でXMAP3を使用する場合に，リンケージ時に必要なXMAP3のライブラリを参照できない。
日立COBOLのリンケージオプションとして，次の手順で設定する。
《COBOL2002，COBOL85 Version 7およびVersion 6の場合》

COBOL開発マネージャの［プロジェクト］－［プロジェクトの設定］コマンドを選ぶ。

「リンク」タブの「ライブラリの指定」にチェックを入れる。
表示されるダイアログの設定内容に，次の内容を追加する。
XMAP3インストール先¥LIB¥X3MWDR32.LIB

《COBOL85 Version 5.0の場合》

COBOL開発マネージャの［オプション］－［リンカ］コマンドを選ぶ。

リンカオプション設定ダイアログで，次のように設定する。

リンカオプション：何も指定しない

インポートライブラリ／ユーザ作成ライブラリ
XMAP3インストール先
¥LIB¥V3Compatible¥X3MWDR32.LIB

(3)　実行時の主なエラー

(a)　日立COBOL CD項のSTATUS KEY句の実行状態コード

STATUS KEY句の実行状態コードと意味，および対処方法を次の表に示します。

なお，日立COBOLのテストデバッガでコードのエリアを参照すると，16進データはバイトが反転して表示されます。

表9-3　STATUS KEY句の実行状態コード

実行状態のコード
意味
対処方法

'00000'
正常終了
該当しない。

'00008'
論理エラー
対処：APを見直す。

'10008'
マッピングエラー
日立COBOLが出力するメッセージ
KCCC5007R-S，またはKCCC5008R-Sの内容を調査する。
APが設定したデータに誤りがあることが考えられる。詳細は，KCCC5008R-Sの詳細コードを調べ，ほかのリターンコードとともに確認すること。

'20008'
入出力エラー
日立COBOLが出力するメッセージ
KCCC5007R-S，またはKCCC5008R-Sの内容を調査する。
入出力時の障害の詳細は，KCCC5008R-Sの詳細コードを調べて，ほかのリターンコードとともに確認すること。リターンコード，詳細コードについては関連項目を参照すること。

(b)　実行エラー時の主なXMAP3のリターンコード・詳細コード

表9-4　実行時の主なエラー（日立COBOLのコンソール画面表示）

エラー | 意味 | 対処方法
KCCC5008R-S | エラーコードで示すエラーが XMAP3で発生した | 画面入出力時のエラーコードを見て対処する。エラーコードの詳細は，「付録E　XMAP3のリターンコード・詳細コード」を参照のこと。
KCCC3417R-S | サービス名称不足

9.2.2　旧バージョン提供ファイルのコンパイル時のトラブル

XMAP3（02-04）での提供ヘッダファイル（jsvwatbl.h）をそのまま使用して，クラスなどの概念を持ったC++言語で作成したAPに取り込むと，コンパイル時にエラーになります。この場合，ヘッダファイルをエディタで開き，関数の記述を次のように書き換える必要があります。

変更前

変更後

ただし，ヘッダファイルを修正すると，型不一致エラーになる場合があります。このような場合に対処するための型変換を次に示します。

XMAP_COM……com;

XMAP_REQ……req;

XMAP_OPN……opn;

オープン時，出力時，クローズ時はそれぞれ次のようになります。

<オープン時>

<出力時>

<クローズ時>

＜この項の構成＞

(1)　その他

(1)　その他

その他のエラーについては，ヘルプのトラブルの対処方法を参照してください。

9.2.3　表示に関する対処方法

画面が表示されない，または表示状態が悪い場合の代表的な現象と，その対処方法を次の表に示します。なお，表中以外の現象については，ヘルプのトラブルの対処方法を参照してください。

表9-5　表示に関する対処方法

現象
対処方法

画面がまったく表示されない。
ほかのウィンドウの後ろに隠れていないか確認し，その場合は，ウィンドウを前面に移動する。

ほかのAPですでに画面を表示していないか確認し，その場合は，ほかのAPを終了して，再実行する。

SEND文，またはTRANSCEIVE文の実行後のリターンコードを見て，APでエラーが起きていないか確認する。その場合は，エラーを修正する。

実際に表示できるサイズよりも大きなウィンドウを指定していないか定義内容を見直し，その場合はサイズを修正する。

表示サーバで指定できる最大オブジェクト数を超えていないか確認し，その場合は，オブジェクトの数を減らす。

画面がまったく表示されない。
（マッピングライブラリのリターンコードが「5120(1400)₁₆」の場合）

物理マップ名称を正しく指定する。物理マップの名称は，「マップ名＋デバイスID 」。
（例：GUI画面の場合はマップ名＋NDまたはマップ名＋O）

ドローセットアップで設定したマップ名の長さを確認する。

物理マップをAPと同じフォルダまたは物理マップロードパスに指定したフォルダの下に配置する。
なお，別フォルダから物理マップを参照するようにXMAP3の実行環境をカスタマイズしている場合（物理マップロードパスを指定している場合）には，そのフォルダに物理マップがあるかを確認する。

仮想端末名称を正しく指定する。

ホスト名称が合っているか，また余分なドメイン名を指定してないか（C/Sシステム型の場合）サービス名ファイル，DNS設定，HOSTSファイルで指定しているホスト名称を合わせる。DNS設定は，コントロールパネルのネットワークアイコンから「TCP/IP」を選んで設定する。
また，余分なドメイン名は削除する。

画面が途中までしか表示されない。
画面が壊れる。
ドローで，オブジェクトの属性設定用ダイアログの「表示方法」の指定を確認し，オブジェクトに「非表示」の属性を設定している場合は，解除する。また，属性の動的変更をしている場合は，修飾名の設定を確認する。

データ有無コードに(1F)₁₆以下のコードを指定する。

マップ生成起動時のリターンコードとエラーメッセージを基に定義内容を見直し，マップ生成時のエラーによる，マップの誤りがあった場合は修正する。

外字フォントを正しく作成しているか確認する。

論理マップ長エリアに論理マップの長さを正しく格納しているか，論理マップと物理マップが対応しているか確認し，正しい論理マップの長さを格納する。

出力論理マップ中に前の論理データが残っていないかAPを見直し，出力論理マップをクリアする。

論理マップに格納したデータの文字コードが誤っていないかAPを見直す。

物理マップと論理マップを作成した日付が一致しているか確認し，不一致の場合はマップ生成，およびAPのコンパイルをし直す。物理マップと論理マップの不一致が起きないように，物理マップを一括生成したり，環境間で移動させた場合などには，ユティリティのマップコンペア機能を利用して，漏れがないかチェックしておく。マップコンペア機能の詳細についてはマニュアル「XMAP3 開発・実行ガイド」を参照のこと。

XMAP3に正しい論理マップデータを渡しているかAPを見直し，物理マップと論理マップの対応を確認する。

先頭1文字，または文字列の途中がデータ有無コードになっていないか確認し，その場合は，出力したいデータの前のデータ有無コードを削除する。

マップ展開方式と，日立COBOLのコンパイラオプションの指定が一致しているか確認し，不一致の場合は，指定を合わせてマップを生成し，APのコンパイルをし直す。
マップ展開方式は，ドローセットアップやユティリティのマップ生成で指定する。

表示はされるがすぐに消える。
物理マップに対応した入力論理マップの長さを正しく設定する。

画面のサイズが小さくなる。
表示・印刷セットアップでフォントサイズを設定する。
フォント構成ファイルで，3D表示に使うフォントサイズを大きく設定し直す。
表示・印刷セットアップで，「2D表示」に設定し直す。

9.2.4　応答性能の対処方法

応答性能での問題が発生した場合の対処方法を，現象別に次の表で説明します。該当する現象と推定原因から，対処方法に従って対応してください。

なお，次の表に示す対処方法は，ユーザの責任で行ってください。

表9-6　応答性能での問題と対処方法

現象
推定原因
対処方法

同等レベルのCPUで動作が遅いものがある。
実メモリが少ない。
メモリを増設する。

スワップファイルがあるドライブとXMAPなどのあるドライブが同一ドライブになっている。
物理的に別なドライブがある場合（1台のハードディスクを二つのドライブに分けたものではなく，ハードディスク自体が複数台ある場合），実行ファイルのあるドライブではないドライブにスワップファイルを設定すると，動作が速くなることがある。

ディスクアクセスが16ビットになっている（Windows 95，Windows 98またはWindows Meの場合）。
何らかの理由でディスクアクセスが32ビットアクセスではなく，16ビットアクセスになっている。「コントロールパネル」の「システム」を参照して原因を取り除く。
通常はWindows 95，Windows 98またはWindows Meに対応していない古いドライバを使用していることや，ハードウェアに適さないドライバを使用していることが原因となっている。

ディスク圧縮ソフトを使用している。
XMAP3のファイルやマップなどを圧縮されていないドライブに置く。

ほかのAPが同時に動作している。
不要なAPは起動しないようにする。

1個のオブジェクトの表示形態だけを「全面書換」にしたり，マッピングオプションに「マージ」を指定したりしている。
マッピングオプション，データ有無コードの設定を見直す。

毎回画面をオープン／クローズしている。
オープンに関してはAPを複数の実行ファイル（.DLLまたは.EXE）に分割しているとき，AP間でオープンを引き継ぐ指定をしているかを見直す。
日立COBOLの場合，環境変数「CBLTERMSHAR=YES」を指定する。
クローズに関してはDISABLE文の発行を見直す。

ディスプレイドライバの設定による。
ディスプレイドライバの種別によって，表示色数，解像度の設定で表示速度が遅くなる場合がある。それぞれの値を変更して表示してみる。

画面表示性能が通常の場合と比べて遅くなる。
バックグラウンドで，ほかのAPが起動されている。

LAN構成で使用していた端末をスタンドアロン構成として使用している。

システムエージェントなど，一定の間隔でデフラグやスキャンディスクを自動実行するプログラムが動作している。

業務に影響しないAPはできるだけ起動しないようにする。

サーバ側でスクリーンセーバが起動している。
C/Sシステム構成の場合，サーバOS上でスクリーンセーバが起動していると処理速度が遅くなるため，コントロールパネルでスクリーンセーバを「なし」にする。

付録

＜この付録の構成＞

付録A　属性情報一覧

付録B　XMAP3で提供している定義パターン

付録C　日立以外のコンパイラを使用するときの注意

付録D　画面定義の制限値

付録E　XMAP3のリターンコード・詳細コード

付録F　用語解説

付録A　属性情報一覧

＜この節の構成＞

付録A.1　ウィンドウ制御情報一覧

付録A.2　キーエントリ・ラベル系オブジェクトの表示属性一覧（テキストとフィールド）

付録A.3　キーエントリ・ラベル系オブジェクトの表示属性一覧（日付テキスト・フィールドと時刻テキスト・フィールド）

付録A.4　選択エントリ系オブジェクトの表示属性一覧

付録A.5　候補選択コントロール系オブジェクトの表示属性一覧

付録A.6　グループコントロール系オブジェクトの表示属性一覧

付録A.7　グラフィックコントロール系オブジェクトの表示属性一覧

付録A.8　コマンドコントロール系オブジェクトの表示属性一覧

付録A.9　表示属性の解説

付録A.10　修飾名と変更属性の標準値

付録A.1　ウィンドウ制御情報一覧

定義画面ごとに設定する属性について説明します。この属性の設定は，画面属性ダイアログで設定します。

＜この項の構成＞

(1)　基準文字サイズ

(2)　表示形態

(3)　Z位置

(4)　ウィンドウを表示した時にアラームを鳴らす

(5)　キーボードのロック状態を解除する

(6)　入力・選択状態の扱い

(7)　モジュラスアルゴリズム

(8)　入力単位

(1)　基準文字サイズ

レイアウト領域に適用する基準となる文字サイズです。文字サイズには，「大／中／小」があります。

(2)　表示形態

画面を表示するとき，直前に表示した画面に対して一部だけを書き換える（一部上書）か，全部を書き換える（全面書換）かを指定する属性です。この値は，ドローの画面属性ダイアログで値を設定します。また，ドローセットアップの「画面属性の動的変更」で変更したい「表示形態」の属性を指定した修飾名を用意しておくことで， APから動的に表示形態を変更できます。なお，XMAP3があらかじめ用意している修飾名も利用できます。表示形態には，次の3種類があります。表示形態の詳細については「1.5.3(2)　表示形態」を参照してください。

一部上書
直前に表示した画面の，一部のオブジェクトだけを変更して表示します。全面書換に比べて表示時間を短縮できます。この場合，マッピングオプションの「マージ」か「論理マップだけ」とあわせて使用する必要があります。

全面書換
表示中の画面を消去し，次の画面を全画面描画します。

自動
一部上書と全面書換をXMAP3に任せて，特にAPでは意識しません。直前の画面と同じマップ名のときは「一部上書」を仮定します。
標準は「自動」です。

(3)　Z位置

Z位置は「手前に表示」「標準表示」「後ろに表示」「一時非表示」から選べます。「一時非表示」は奥行きの指定に関係なく，一時的にウィンドウを隠します。なお，二次ウィンドウの場合は，標準表示だけとなります。

標準表示
表示するといちばん手前に表示されます。ほかのAPのウィンドウが表示されると，後ろへ移動されます。

手前に表示
活性／不活性に関係なく，常に手前に表示されます。

後ろに表示
表示直後は活性状態で後ろに表示されます。一度不活性にしたあとで，ユーザが操作して活性にしたときは手前に表示されます。

一時非表示
ウィンドウを見えない状態にします。通常の表示にするには，APから動的変更をして「標準表示」などに切り替えます。一時非表示を利用すると，一時的にウィンドウをクローズしたような状態を作れます。

(4)　ウィンドウを表示した時にアラームを鳴らす

ウィンドウを表示したとき，ディスプレイ端末のアラームを鳴らす場合に指定します。一般的にはエラー画面を表示するときに使用します。この属性は，ドローセットアップの「画面属性の動的変更」で表示形態の属性を設定した修飾名を利用することで，APから動的に変更することもできます。

(5)　キーボードのロック状態を解除する

画面を表示したら，キーボードから入力できる状態にするときに指定します。指定しないときは，キーボードのロック状態を直前の画面の属性を継続します。この属性は，ドローセットアップの「表示属性の動的変更」で表示形態の属性を設定した修飾名を利用することで，APから動的に変更することもできます。

(6)　入力・選択状態の扱い

入力フィールド（入出力テキスト・フィールド）中に表示されているテキストデータの扱いに関する属性です。「表示形態」が「一部上書」のときの入力項目をどのような状態にするかを指定します。画面属性ダイアログで値を指定します。入力項目の扱いをAP実行時に変更したい場合は，ドローセットアップの「表示属性の動的変更」の「キャラクタコントロール」タブで修飾名を指定しておきます。入力・選択状態の扱いについては，「2.3.1(1)(d)　入力・選択状態の扱い」または「3.3.1(1)(b)　入力フィールドの扱い」を参照してください。

(7)　モジュラスアルゴリズム

入出力テキスト（または入出力フィールド）で指定するモジュラスチェックのアルゴリズム（チェック10またはチェック11）を指定できます。モジュラスチェックを指定したフィールドからほかのフィールドへフォーカス（またはカーソル）が移動した時点でチェックされます。

モジュラスチェックのアルゴリズムは，図A-1，図A-2に示すとおり，フィールド最右端の数字がチェックデジットになります。フィールド内に数字以外の文字があると，チェックされますが結果は予測できません。したがって，この属性は，入力文字列が数字（データ型が数字）に指定しておく必要があります。また，項目長は2～16桁となります。これ以外の項目長の場合は，エラーとなります。

図A-1　モジュラス10のアルゴリズム

図A-2　モジュラス11のアルゴリズム

(8)　入力単位

入出力は基本的に画面単位です。ただしオプションとして，フィールド単位およびイベント単位の入出力が選べます。入力単位には「画面」「フィールド」「イベント」「表示直後」があります。

画面
画面属性ダイアログの入力単位で「画面」を指定すると，APから画面を表示するときに，入出力の制限（不活性）を指定しているオブジェクト以外は入力・選択可能な状態で表示されます。これらのオブジェクトを選択したり，データを入力したりしたあと，画面確定を設定しているメニューバー，プッシュボタンまたは画面確定キーを押すと，APに制御が渡ります。なお，オブジェクトに「自動送信」を設定すると，そのオブジェクトからフォーカス・カーソルが離脱するタイミングで「送信」の画面確定が仮定されます。

フィールド
画面属性ダイアログの入力単位で「フィールド」を指定すると，APから画面を表示するときに，APで設定されているフォーカス（カーソル）があるオブジェクトだけが入力・選択可能になります。ただし，確定キー（送信キーやPFキー），プッシュボタンおよびメニューバーは除かれます。
これらのオブジェクトを選択したり，データを入力したりしたあと，フォーカス（カーソル）が次のオブジェクトに移動するタイミングでAPに制御が渡ります。なお，各オブジェクトでの「自動送信」の指定は無効になります。

イベント
画面属性ダイアログの入力単位で「イベント」を指定すると，APから画面を表示するときに，入出力の制限（不活性）を指定しているオブジェクト以外は入力・選択可能な状態で表示されます。なお，各オブジェクトでの「自動送信」の指定は無効になります。
これらのオブジェクトの一つを選択したり，データを入力したあと，フォーカス・カーソルが次のオブジェクトに移動するタイミングでAPに制御が渡ります。このとき，個々のオブジェクトを識別する通知コードがAPに渡ります。なお，イベントが発生したとき，APに通知するかどうかは画面属性ダイアログで指定できます。イベントの定義に関しては「2.3.1(6)　イベント通知コード」を参照してください。

表示直後
画面属性ダイアログの入力単位で「表示直後」を指定すると，画面に対して何の操作がされなくても，一定の時間が過ぎると自動的にAPに制御を渡します。その場合のイベント通知コードは，送信キーを押したときと同じ値を返します。また，APに制御が渡るまでの時間を設定せず，表示直後にAPに制御を渡すような設定もできます。なお，設定した時間が過ぎる前に，画面を確定する操作をした場合は，操作の方が優先されます。
画面には，入力必須属性を設定したオブジェクトを定義しないでください。入力必須属性を設定したオブジェクトを定義した画面を表示した場合，待機終了時にアプリケーションに対してエラーが通知されます。

スプラッシュ画面や，表示専用の掲示板的な画面を表示するときに利用できます。

スプラッシュ画面や掲示板的な画面については「1.4.1　GUI画面で使用できる機能」を参照してください。

付録A.2　キーエントリ・ラベル系オブジェクトの表示属性一覧（テキストとフィールド）

キーエントリ・ラベル系のオブジェクト（テキストとフィールド）は次のとおりです。

GUI画面
固定テキスト，出力テキスト，入出力テキスト

CUI画面およびフィールドボックス
固定フィールド，出力フィールド，入出力フィールド
この表示属性は，各種属性ダイアログで設定します。また，ここで説明する属性の中には，ドローセットアップの「表示属性の動的変更」の「テキスト・フィールド・ポップアップ・コンボボックス」で設定した修飾名を用意しておくことで，APから動的に変更することもできます。

キーエントリ・ラベル系のオブジェクト（テキストとフィールド）のオブジェクトの表示属性を次の表に示します。

表A-1　キーエントリ・ラベル系のオブジェクト（テキストとフィールド）の表示属性

表示属性
固定
出力
入出力※1

テキスト
フィールド※2
テキスト
フィールド※2
テキスト
フィールド※2

使用目的
×
×
○
○
○
○

詳細目的※3※4
×
×
×
×
◎
◎

空白入力
×
×
×
×
○
○

遷移条件※4
×
×
×
×
◎
◎

表示方法
◎
○
◎
◎
◎
◎

背景色
○
（枠付きだけ）
×
○
（枠付きだけ）
×
◎
×

枠高
○
×
○
×
○
×

文字色
◎
○
◎
◎
◎
◎

文字の拡大
○
○
○
○
×
×

文字サイズ
○
×
○
×
○
×

文字の書体
○
×
○
×
○
×

文字の強調
○
×
○
×
○
×

テキスト・フィールド反復
×
×
○
○
○
○

枠付き
○
×
○
×
×
×

反転表示する
◎
○
◎
◎
◎
◎

フォーカス（カーソル）設定
×
×
×
×
○
○

入力済み
×
×
×
×
◎
◎

自動送信
×
×
×
×
◎
◎

入力必須※4※5
×
×
×
×
◎
◎

ワンタッチクリア
×
×
×
×
◎※5
◎

改行入力※6
×
×
×
×
×
○

テキスト
○
○
×
×
×
×

テキスト揃え
○
○
×
×
×
×

コメントの記述
×
×
○
○
○
○

APからデータを表示する（初期値）
×
×
×
×
○
○

下位項目
×
×
○
○
○
○

（凡例）

◎：属性を動的変更できる。

○：属性をダイアログで指定できる。

×：属性を指定できない。

注※1

入出力テキストには必ず枠が付けられます。

注※2

フィールドの，「文字サイズ」「文字の書体」「文字の強調」は，フィールドボックスダイアログで一括で指定できます。

注※3

CUI画面では使用できません。GUI画面およびGUI画面のフィールドボックス中で使用できます。

注※4

テスト表示時には無効になります。なお，詳細目的と遷移条件は，次の場合だけ無効になります。

詳細目的：使用目的が「数字」のときの「モジュラスチェック」

遷移条件：「手動スキップ・全桁必須」

注※5

「入力済み（入力しなくても表示データをAPに返す）」が指定されている場合は，無効になります。

注※6

フィールドボックス内の入出力フィールドで，使用目的が「カナ」，「英数」および「日本語」の場合に使用できます。

付録A.3　キーエントリ・ラベル系オブジェクトの表示属性一覧（日付テキスト・フィールドと時刻テキスト・フィールド）

キーエントリ・ラベル系オブジェクト（日付および時刻テキスト・フィールド）は次のとおりです。

GUI画面
出力日付テキスト，出力時刻テキスト，入出力日付テキスト，入出力時刻テキスト

CUI画面およびフィールドボックス
出力日付フィールド，出力時刻フィールド，入出力日付フィールド，入出力時刻フィールド

キーエントリ・ラベル系オブジェクト（日付および時刻テキスト・フィールド）の表示属性を次の表に示します。

表A-2　キーエントリ・ラベル系オブジェクト（日付テキスト・フィールドと時刻テキスト・フィールド）の表示属性

表示属性
出力
入出力

時刻
日付
時刻
日付

表示書式
○
○
○
○

入力形式
×
×
○
○

チェック範囲
×
×
○
○

空白入力
×
×
○
○

遷移条件※1
×
×
◎
◎

表示方法
◎
◎
◎
◎

背景色
○
（枠付きだけ）
○
（枠付きだけ）
◎
◎

枠高
○
○
○
○

文字色
◎
◎
◎
◎

文字の拡大
○
○
×
×

文字サイズ
○
○
○
○

文字の書体
○
○
○
○

文字の強調
○
○
○
○

枠付き
○
○
×
×

テキスト・フィールド反復
○
○
○
○

反転表示する
◎
◎
◎
◎

フォーカス設定
×
×
○
○

入力済み
×
×
◎
◎

自動送信
×
×
◎
◎

入力必須※1※2
×
×
◎
◎

ワンタッチクリア
×
×
◎
◎

APからデータを表示する
×
×
○
○

下位項目
○
○
○
○

（凡例）

◎：属性を動的変更できる。

○：属性を指定できる。

×：属性を指定できない。

注※1

テスト表示時には無効になります。なお，遷移条件は，「手動スキップ・全桁必須」が指定されている場合だけ無効になります。

注※2

「入力済み（入力しなくても表示データをAPに返す）」が指定されている場合は，無効になります。

付録A.4　選択エントリ系オブジェクトの表示属性一覧

選択エントリ系のオブジェクトは次のとおりです。

ポップアップ，コンボボックス（メニュー選択コンボボックス／キー入力コンボボックス），スピンボックス

この表示属性は，各種属性ダイアログで設定します。また，ここで説明する属性の中には，ドローセットアップの「表示属性の動的変更」の「テキスト・フィールド・ポップアップ・コンボボックス」で表示属性を設定した修飾名を利用することで，APから動的に表示属性変更できるものもあります。

選択エントリ系のオブジェクトの表示属性を次の表に示します。

表A-3　選択エントリ系のオブジェクトの表示属性

表示属性
ポップ
アップ
コンボ
ボックス
スピン
ボックス

属
性
スピン種別
×
×
○

使用目的
－
○
×

詳細項目
×
○
（キー入力だけ）
×

最大値／最小値
×
×
○

増分値
×
×
○

表示方法
◎
◎
◎

遷移条件※1
◎
○
○

背景色
◎
◎
◎

枠高
○
○
○

文字色
◎
◎
◎

文字サイズ
○
○
○

文字の書体
○
○
○

文字の強調
○
○
○

反転表示する
◎
◎
◎

フォーカス設定
○
○
○

自動送信
◎
◎
◎

コメントの記述
○
○
○

入力／選択済み
◎
◎
◎

入力／選択必須※1※2
◎
×
×

ワンタッチクリア
◎
（手動だけ）
×
×

ボックス反復
○
○
○

APから初期値を変更する
×
○
×

（メニューの表示属性）背景色
○
×
×

（メニューの表示属性）ラベル色
○
×
×

（メニューの表示属性）タイトル色
○
×
×

初期値（通知コード）
×
○
×

APからデータを表示する
×
×
○

下位項目
×
×
○

選択したらメニューを閉じる
○
×
×

メ
ニュ
｜
使用目的
○
－
－

メニュー形式※3
○
（可変だけ）
×
－

文字色
×
○
－

アクセスキーを指定する
○
×
－

選択ラベルと通知コードを同じ値にする
○
×
－

タイトルを付ける
○
×
－

最初にメニューを開く※3
○
×
－

コメントの記述
○
×
－

APから初期値を変更する
○
×
－

メニューデータをファイルで指定する※3
○
（可変だけ）
×
－

メニューの項目数
○
○
（可変だけ）
－

キー
○
×
－

ラベル
○
○
－

選択ラベル
○
×
－

通知コード
○
○
－

初期値※3
○
（可変だけ）
×
－

（凡例）

◎：属性を動的変更できる。

○：属性を指定できる。

×：属性を指定できない。

－：該当しない。

注※1

テスト表示時には無効になります。なお，遷移条件は，「手動スキップ・全桁必須」が指定されている場合だけ無効になります。

注※2

「選択済み（選択しなくても通知コードをAPに返す）」が指定されている場合は，無効になります。

注※3

ポップアップフィールドには指定できません。

付録A.5　候補選択コントロール系オブジェクトの表示属性一覧

候補選択コントロール系のオブジェクトは次のとおりです。

ラジオボタンボックス，チェックボタンボックス，リストボックス，トグルフィールド

この表示属性は，各種属性ダイアログで設定します。また，ここで説明する属性の中には，ドローセットアップの「表示属性の動的変更」の「テキスト・フィールド・ポップアップ・コンボボックス」および「ボタン・リスト・メニュー」で表示属性を設定した修飾名を利用することで，APから動的に表示属性変更できるものもあります。

候補選択コントロール系のオブジェクトの表示属性を次の表に示します。

表A-4　候補選択コントロール系オブジェクトの表示属性

表示属性
ラジオ
ボタン
チェック
ボタン
リスト※1
ボックス
トグル※1
フィールド

ボ
タ
ン
ボ
ッ
ク
ス
トグル種別
×
×
×
○

トグル色
×
×
×
○

使用目的
○
○
（可変）
○
－

背景色（枠付きだけ）
○
○
○
×

枠付き
○
○
○
×

（垂直・水平）スクロールバーを付ける
×
×
○
×

文字色
○
（可変だけ）
○
（可変だけ）
○
×

文字サイズ
○
○
○
×

文字の書体
○
○
○
×

文字の強調
○
○
○
×

ボタンを横に並べる
○
○
×
×

フォーカス（カーソル）設定
○
○
◎
×

自動送信
○
×
○
（単一選択だけ）
○

自動スキップ（次のボックスへ）
○
○※2
○※2
×

選択必須※3※4
○
×
○
（単一選択だけ）
×

フィールド反復
×
×
×
○

ボ
タ
ン
使用目的
－
○
（固定）
－
○

表示方法
◎※5
◎※5
×
◎

フォーカス（カーソル）設定
◎
◎
◎
◎

選択済みにする
◎※5
◎※5
◎
◎

不活性（選択できない状態にする）
◎※5
◎※5
◎
◎

ラベル色
○※5
○※5
×
×

ラベル
○
（固定だけ）
○
（固定だけ）
○
×

通知コード
○
（固定だけ）
○
（固定だけ）
○
○

自動スキップ（次のボタン／リスト項目／フィールドに）
×
○※5
○
（複数選択だけ）
○

（凡例）

◎：属性を動的変更できる。

○：属性を指定できる。

×：属性を指定できない。

－：該当しない。

注※1

リストボックスおよびトグルフィールドの表示属性は，一つのダイアログで指定します。

注※2

ボックス内の最後のチェックボタンやリスト項目を選択すると次のボックスにスキップします。

注※3

「選択済みにする」が指定されている場合は，無効になります。

注※4

テスト表示時には無効になります。

注※5

可変ボタンの場合，ボタン単位での指定はできません。

付録A.6　グループコントロール系オブジェクトの表示属性一覧

グループコントロールオブジェクトは次のとおりです。

グループボックス，フィールドボックス，フレーム

この表示属性は，各種属性ダイアログで設定します。グループコントロールオブジェクトの表示属性を次の表に示します。

表A-5　グループコントロールオブジェクトの表示属性

表示属性 | グループボックス | フィールドボックス | フレーム
タイトルを付ける | ○ | × | ×
枠付き | ○ | ○ | ×
（垂直／水平）スクロールバーを付ける | × | ○ | ×
背景色 | ○ | × | ×
スクロール禁止領域の背景色 | × | ○ | ×
スクロール領域の背景色 | × | ○ | ×
フォーカス設定 | × | ○ | ×
けい線の色 | × | ○ | ×
文字サイズ | × | ○ | ×
文字の書体 | × | ○ | ×
文字の強調 | × | ○ | ×
フレームの反復 | × | × | ○

（凡例）

○：属性を指定できる。

×：属性を指定できない。

付録A.7　グラフィックコントロール系オブジェクトの表示属性一覧

グラフィックコントロール系オブジェクトは次のとおりです。

セパレータ，けい線，塗りつぶしフィールド，メッセージアイコン，グラフィック（固定／出力）

この表示属性は，各種属性ダイアログで設定します。グラフィックコントロール系オブジェクトの表示属性を次の表に示します。

表A-6　グラフィックコントロール系オブジェクトの表示属性

表示属性
セパレータ
フィールド
ボックス内
けい線
塗り
つぶしフィールド
メッセージ
アイコン
固定
グラフィック
出力
グラフィック

線の位置
○
○
×
×
×
×

線の種類
○
○
×
×
×
×

線の太さ
×
○
×
×
×
×

種別
×
×
×
○
×
×

ボックスサイズに合わせて表示する
×
×
×
×
○
○

枠付き
×
×
○
×
○
○

スクロールバーを付ける
×
×
×
×
×
○

グラフィックデータの渡し方
×
×
×
×
×
○

色
×
×
○
×
×
×

（凡例）

○：属性を指定できる。

×：属性を指定できない。

付録A.8　コマンドコントロール系オブジェクトの表示属性一覧

画面を確定するオブジェクトは次のとおりです。

プッシュボタン，メニューバー（プルダウンメニュー，カスケードを含む）

この表示属性は，各種属性ダイアログで設定します。また，ここで説明する属性の中には，ドローセットアップの「表示属性の動的変更」の「ボタン・リスト・メニュー」で表示属性を設定した修飾名を用意しておくことで，APから動的に変更できるものもあります。

画面を確定するオブジェクトの表示属性を次の表に示します。

表A-7　画面を確定するオブジェクトの表示属性

表示属性 | プッシュボタン | プッシュボタンボックス | メニューバー※1
枠付き | × | ○ | ×
ボタンを横に並べる | × | ○ | ×
フォーカス対象外 | × | ○ | ×
背景色 | × | ○ | ×
ボタン高 | × | ○ | ×
文字サイズ | × | ○ | ×
文字の書体 | × | ○ | ×
文字の強調 | × | ○ | ×
ラベルの種類 | ○ | × | ×
テキスト | ◎ | × | ×
文字色 | ○ | × | ×
テキスト揃え | ○ | × | ×
選択時の動作 | ○ | × | ○
表示方法 | ◎ | × | ×
通知コード | ○ | × | ○
フォーカス設定 | ◎ | × | ×
不活性（選択できない状態にする） | ◎ | × | ◎
アクセスキーを使用する | ○ | × | ×
プルダウン／カスケードメニューを設定する | × | × | ○
二次ウィンドウを閉じる | ○※2 | × | ○
メニューの下にセパレータ線を引く | × | × | ○
最後のテキストを右端に表示する | × | × | ○
アクセスキー | ○ | × | ○
制御項目データ名 | × | × | ○
データ名 | ○ | × | ×
ショートカットキー | × | × | ○
ボックス名称 | × | ○ | ×

（凡例）

◎：属性を動的変更できる。

○：属性を指定できる。

×：属性を指定できない。

注※1

プルダウンメニューおよびカスケードメニューも含みます。

注※2

二次ウィンドウの定義時だけ指定できます。

付録A.9　表示属性の解説

画面定義で使用できる表示属性の解説を示します。

＜この項の構成＞

(1)　英字

(2)　ア行

(3)　カ行

(4)　サ行

(5)　タ行

(6)　ナ行

(7)　ハ行

(8)　マ行

(9)　ラ行

(10)　ワ行

(1)　英字

APから初期値を変更する
APから初期値データを変更して表示します。この場合，出力論理マップに初期値出力用の領域が展開されます。

APからデータを表示する
入出力テキスト・フィールドに，あらかじめAPから初期値データを表示します。
次の場合には，この指定を「オフ」にしてください。

キーボードからの入力だけに使う（APからデータを表示しない）場合

「使用目的」が「パスワード」や「MCR」の場合

APからテキストを変更する
APからプッシュボタンのラベルテキストを変更できます。
この場合，ラベルテキスト項目が論理マップに展開されます。このラベルテキスト項目にテキストデータを設定することで，APから動的にラベルテキストを変更できます。

APへ通知するコードの指定
メニュー項目，またはプッシュボタンに設定するイベント通知コードの値を選びます。イベント通知コードは次の2種に分類できます。

ファンクションキー，送信キー，割込キー，スクリーンキーと共用
標準値では順にPF01～PF84，ENTR，BREK，SCRN

メニューバーのメニュー項目とプッシュボタンとで共用
標準値ではA061～A071

なお，イベント通知コードの値や，APが受け取る項目は，ドローセットアップでの設定に従います。

(2)　ア行

アクセスキー
メニューバー，ポップアップメニュー，プッシュボタンボックスで，候補の選択操作をするためのキーです。
これらのオブジェクトにフォーカスが位置づいているとき，アクセスキーを押すことで該当するメニュー項目やボタンを選択できます。また，［Alt］ + アクセスキーを押すことでメニューバーのメニュー項目を選択（プルダウンメニューを表示）できます。

アクセスキーを使用する
選択候補（メニューやボタン）を選ぶ手段として，マウスやカーソルキーのほかにアクセスキーを使えるようにします。
アクセスキーに数字（0～9）を指定しておくと，テンキーで候補選択の操作ができます。

(3)　カ行

カーソル設定（初期カーソルを本フィールドに設定する）
APからカーソル位置を設定しないで画面を表示したとき（例えば，論理マップのカーソル制御項目に値を設定していないなど），このボックスにカーソルを位置づけます。
どのオブジェクトにも初期カーソルを設定していない場合は，縦位置－横位置の順に，位置が最小で選択できるオブジェクトにカーソルを仮定します。

下位項目
オブジェクトの入出力となる一つのデータ項目を階層化して，複数の項目に細分できます。この場合，APは細分化された下位項目を使ってデータを参照・格納できます。
下位項目は，データ型が「文字（XX）」の場合に指定できます。

空白入力
選べる項目は，オブジェクトの種類や「詳細目的」に応じて異なります。なお，入力した全角スペースは，表示・印刷セットアップの「日本語入力」タブの「全角スペースコードの扱い」に応じて処理（全角のままか，半角2個に変換）されます。

禁止は，空白の入力はできません。

全桁（半角）は，半角空白だけ入力できます。未入力ではない「データ無し」を明示的に表す場合に使います。

一部（半角）は，半角空白が混在する文字列を入力できます。半角空白だけの入力はできません。

一部（全角）は，全角空白が混在する文字列を入力できます。全角空白だけの入力はできません。

一部（全・半角）は，全角空白，半角空白が混在する文字列を入力できます。全角・半角空白だけの入力はできません。

一部&全桁（半角）は，半角の空白が混在する文字列を入力できます。半角空白だけの入力もできます。

一部&全桁（全角）は，全角の空白が混在する文字列を入力できます。全角空白だけの入力もできます。

一部&全桁（全・半角）は，全角・半角の空白を自由に入力できます。

グラフィックデータの渡し方

ファイル名指定
ファイル名（拡張子を含む）だけをAPが設定する標準的な方法です。グラフィックデータのファイルのパス名は，表示・印刷セットアップで変更することもできます。また，APからファイル名の代わりに「＊CLIP」と設定すると，クリップボードのデータを出力できます。

フルパス
ファイルをフルパスで設定する方法です。ユーザが指定するパス名の長さに応じて数値を選んでください。

けい線の色
フィールドボックス内に表示するけい線の色をボックス単位で指定できます。

(4)　サ行

最後のテキストを右端に表示する
メニューバーの最後のメニュー項目をメニューバー上の右端に表示します。

最初にメニューを開く
手動ポップアップにフォーカスが位置づいたときに，自動的にポップアップメニューを表示するよう指定します。

最大値／最小値
スピンボックスで表示できる最大値と最小値を指定します。

自動スキップ（選択したら次の項目にフォーカスを移す）
ボックス内でボタンまたはリスト項目を選択すると，ボックス内の次のボタンまたはリスト項目へ自動的にフォーカスが遷移します。

自動スキップ（選択したら次のボタン／ボックス／フィールドにフォーカスを移す）

ボタン
ボックス内でボタンまたはリスト項目を選択すると，ボックス内の次のボタンまたはリスト項目へ自動的にフォーカスが遷移します。

ボックス
ボックス内での選択操作が完了すると，フォーカス対象の次のボックスへ自動的にフォーカスが遷移します。
複数選択できるオブジェクト（複数選択リストボックス，チェックボタンボックス）の場合は，末尾の候補が選択されるとフォーカスが遷移します。

フィールド
オブジェクトでの選択操作が完了すると，カーソル対象の次のフィールドへ自動的にカーソルが遷移します。

自動送信（入力（または選択）直後にAPへ制御を渡す）
テキストの入力や候補（メニュー項目やボタンなど）の選択動作ごとに，APにイベントを通知します。
入力／選択後にほかのオブジェクトへフォーカスを移動すると，自動的にAPに対してイベントが通知されます。このとき返すイベント通知コードは，送信キーのものと同じです。
なお，表示・印刷セットアップのカーソルの設定で，イベント発生時の自動送信を抑止できます。
イベント通知コードの値はドローセットアップで変更できます。動作はドローで変更できます。

種別
メッセージアイコンの種別を指定します。メッセージアイコンの種別には，「クエスチョン」「ワーニング」「インフォメーション」「エラー」があります。

使用目的（ポップアップ）
ポップアップで使用する表示属性で，「手動」にするか「自動」にするかを指定します。

POP-（自動－英数／日本語）
メニュー項目の選択で入力できます。このオブジェクトにフォーカスが位置づくと自動的にメニューが表示されます。

POP-（手動－数字／カナ／英数／日本語）
キーボードからの文字入力と，メニュー項目の選択の2とおりでデータを入力できます。このオブジェクトにフォーカスやカーソルが位置づいたときに，プッシュボタンやメニューバーのメニュー項目（「選択時の動作」に「ポップアップ表示」を指定したもの）を選ぶと，メニュー項目が表示されます。

使用目的と詳細目的（GUI画面の場合）
使用目的および詳細目的はデータの使い道を指定することで，使用できるデータ型を限定し，設定します。使用目的および詳細目的は，「付録A.9　表示属性の解説」の表A-8および表A-9を参照してください。

ショートカットキー
ドローでは，ショートカットキーのID（01～16の数値）を指定します。
実行時には，ドローで指定したIDに対応する1字の半角英字がショートカットキーになります。このときのIDと英字の対応は，表示・印刷セットアップの設定に従います。

初期値（ファイル）
「メニューデータをファイルで指定する」を指定した場合，メニューデータファイル名の初期値を指定します。メニューデータファイルを読み込むポップアップをテスト表示する場合には，メニューデータファイルを用意し，「初期値」を指定しておく必要があります。

垂直／水平スクロールバーを付ける
スクロール領域にスクロールバーを付けます。スクロールバーは，ボックスからはみ出したプレーン領域の部分を表示するために使います。
ボックスの右側（垂直），下側（水平），またはその両方にスクロールバーを付けられます。

スクロールバーを付ける
グラフィックデータがボックスのサイズを超えるとき，超えた部分を表示するためのスクロールバーを付けます。

スクロール領域の色／スクロール禁止領域の色／背景色
オブジェクトや領域の背景の色を指定します。オブジェクトの背景色をウィンドウまたはグループボックスと同じにする場合は，「透明」を選びます。
レイアウト領域上のオブジェクトはXMAP3の標準の色合い（RGB値）で表示されます。実行時の色合いは，表示・印刷セットアップの設定に従います。

スピン種別
スピンボックスで扱うデータ型は「数値」です。

数値
主に数量や件数などを表す-999999999～999999999のデータを扱えます。増分値は整数または小数（小数点以下2桁まで）を指定できます。

制御項目データ名
データ項目名（またはデータ名）は，データの入出力に関する各項目の領域の名称です。
データ名のうち，修飾名〈表示属性の変更をAPから指示するための名前〉を格納する領域の名称を制御項目データ名といいます。

遷移条件
オブジェクトでデータ入力や候補選択をしたあとのフォーカス・カーソルの動きについて指定します。

手動スキップ・右寄せ
入力データが桁数に満たない場合，タブキーやマウスで次の入力／選択できる領域にフォーカス／カーソルを移動すると，入力データが右寄せされます。

手動スキップ・全桁必須
1文字でも入力した場合，桁数いっぱいに入力しないと入力エラーになり，タブキーやマウスでフォーカス／カーソルの移動ができなくなります。

手動スキップ
タブキーやマウスでフォーカス／カーソルを移動します。なお，桁数を超えるデータを入力しようとするとエラーになります。

自動スキップ
桁数いっぱいまで文字を入力すると，フォーカス／カーソルが次の入力／選択できる領域に自動的に移動します。これに対して，手動スキップの場合はタブキーを押すことでフォーカス／カーソルが次の入力／選択できる領域に移動します。

選択時の動作
候補（メニュー項目やボタン）が選択されたときの動作を指定します。

「APへ通知する」は，APへイベントを通知します。このときの動作は，対応させるイベント通知コードの動作（確定・中断など）に従います。

「ポップアップ表示」は，使用目的が「POP・手動」のポップアップのメニュー項目を開きます。なお，メニュー項目が開くのは，あらかじめフォーカス・カーソルが位置づけてあるポップアップです。

「コピーと貼り付け」は，クリップボードを介したデータのコピーや貼り付けをします。メニューバーでだけ指定できます。

選択済み（選択しなくても表示データをAPに返す）
オブジェクトを転送状態にします。この場合，入力論理マップのデータ項目に必ず（操作者が変更するかどうかに関係なく）次のデータ／コードを返します。ただし，選択データがない場合は，データ消去通知文字が入力論理マップのデータ項目に返ります。

「選択済み」では，候補（ボタンなど）に対応する通知コード。

選択済みにする（チェックボタン，ラジオボタンだけ）
画面を表示した時点で，ボタンをすでに選択された状態にします。仮定値を表示する場合などに使います。

選択必須（選択しない時はエラーにする）
このオブジェクトでの候補選択の操作を省略できないようにします。選択していない場合は，画面確定時（APへ制御を返す直前）にエラーとなり，APへイベントは通知されません。
この属性は，不活性（選択できない）状態にしないなど，ほかの表示属性の指定との対応に注意してください。なお，この指定は「選択済み（選択しなくても表示データをAPに返す）」が指定されている場合は無効になります。

選択ラベルと通知コードを同じ値にする
「通知コード」の指定と同じ値を「選択ラベル」にも適用します。これはAPに返す通知コードを確定項目として表示することを示します。この場合，「選択ラベル」の指定は不要です。
この指定をしない場合は，必ず「選択ラベル」を指定します。

線の位置
線の位置を指定します。線の位置には，「上」「中央」「下」があります。

線の種類
線の種類を指定します。線の種類には，「実線」と「破線」があります。

線の太さ
線の太さを指定します。線の太さには，「中」「太」「極太」があります。

増分値
スピンボックスのスタッカを押すたびに，値が幾つずつ増減するかを指定します。

(5)　タ行

タイトルを付ける（グループボックス）
グループボックスにタイトルを付けます。タイトルは，「グループボックスの横サイズ－2ます」以内の長さで指定できます。

タイトルを付ける（ポップアップ）
指定するタイトルをグループボックスに付けます。タイトルとして表示する文字列を「ラベル長」の長さ以内で指定します。「ラベル長」の長さを超えた場合は，タイトル長に合わせて「ラベル長」の長さが変わります。

チェック範囲
チェック範囲を「部分」か「全体」かで指定します。

「部分」
項目ごとのチェックです。チェック内容は次のとおりです。
<日付>
「YYYY」：1～9999
「YY」 ：0～99
「MM」 ：1～12
「DD」 ：1～31
<時刻>
「HH」：0～23
「MM」：0～59
「SS」 ：0～59

「全体」
カレンダーに従ったチェックです。例えば，うるう年の2月の日付や，各月の日付などのチェックをします。

通知コード
候補（ボタンやリスト項目など）の選択によってデータ入力をするオブジェクトで，各候補に割り当てるコードです。
ユーザが選んだ候補に対応する通知コードが，APが受け取る項目に格納されます。

通知コード（トグルフィールド）
トグルフィールドがオン状態のときにAPに返す通知コードを指定します。
この通知コードは，「APが受け取る項目」で定義するデータ項目に格納されます。
ここで定義するデータ値の長さとデータ型は，「APが受け取る項目」の「長さ」と「データ型」に合わせてください。

データ長を変更する
使用目的が日本語の論理項目に関して，データ長を変更するかどうかを指定します。指定しない場合は，標準設定されます（デフォルト状態）。

テキスト（プッシュボタン）
ボタンのラベルに表示する文字列を指定します。

テキスト揃え
テキスト・フィールドやラベル中の文字列のそろえ方を指定します。

「中央」は，文字列を中央に寄せて表示します。

「左」は，文字列を左側に寄せて表示します。

「右」は，文字列を右側に寄せて表示します。

「均等」は，文字列を均等に配置して表示します。ただし，オブジェクトの長さによって均等に配置できない場合は，文字列は中央に寄せて表示されます。

ただし，ユーザAPでラベルテキスト項目名に変更内容を指定した場合は，「テキスト揃え」は「左」になります。

テキスト・フィールド反復
テキスト・フィールドは，反復定義で反復できます。反復定義は，一つのオブジェクトを縦または横方向に繰り返します。表形式で同じ属性のオブジェクトを並べる場合などに使います。
反復定義を使うと，同じ属性のオブジェクトを一つずつ配置するよりも効率良く定義できます。また，論理マップは配列（日立COBOLではOCCURS句）で展開されるので，APのロジックも反復指定で実現できます。

動的変更（APから表示属性を変更する）
APが画面を表示するとき，表示属性を動的に変更できます。表示属性とは，テキスト・フィールドの文字色や，ボタンの活性／不活性などを指定する属性です。
この場合，動的変更情報格納エリア（制御項目）が論理マップに展開されます。この制御項目に修飾名を設定することで，APから動的に属性を変更できます。また，データ有無コードを設定すると，ドローで定義した属性が有効になります。
修飾名と表示属性との対応は，ドローセットアップで設定します。

トグル種別
トグルフィールドをチェックする印を指定します。
トグル種別は次のとおりです。
チェック：「[図データ]か[図データ]」
正誤：「○か×」
はい／いいえ：「YかN」

トグル色
オブジェクトの文字の色を指定します。
レイアウト領域上のオブジェクトはXMAP3の標準の色合い（RGB値）で表示されます。実行時の色合いは，表示・印刷セットアップの設定に従います。

(6)　ナ行

長さ（アクセスキー）
アクセスキーの長さ（桁数）を指定します。アクセスキーの桁数は1～4桁で指定します。指定した長さより短いアクセスキーを入力しようとするとエラーになります。なお，メニュー項目をファイルで指定する場合，ドローでの長さの指定はできません。ポップアップメニューファイルのエディタで作成しておきます。

二次ウィンドウを閉じる
二次ウィンドウ上でAPに制御を返す操作（メニュー項目やボタンの選択）をしたとき，そのウィンドウを閉じます。この場合，別の二次ウィンドウを表示したり，一次ウィンドウへフォーカス（対話権）を戻すことになります。
この項目は，「通知コード」に指定したイベント通知コードの動作が「AP通知（終了）」または「AP通知（取消）」の場合に選択されます。

入力済み（入力しなくても表示データをAPに返す）
オブジェクトを転送状態にします。この場合，入力論理マップのデータ項目に必ず（操作者が変更するかどうかに関係なく）次のデータ／コードを返します。
ただし，表示データがない場合は，データ消去通知文字が入力論理マップのデータ項目に代入されます。

「入力済み」では，オブジェクト内の表示データ（文字列など）。ただし，ポップアップやコンボボックスの場合は表示データに対応する通知コード。

入力必須（入力しない時はエラーにする）
このオブジェクトでのデータ入力の操作を省略できないようにします。入力していない場合は，画面確定時（APへ制御を返す直前）にエラーとなり，APへイベントは通知されません。
この属性は，不活性（入力できない）状態にしないなど，ほかの表示属性の指定との対応に注意してください。なお，この指定は「入力済み（入力しなくても表示データをAPに返す）」が指定されている場合は無効になります。

(7)　ハ行

背景色
オブジェクトや領域の背景の色を指定します。オブジェクトの背景色をウィンドウまたはグループボックスと同じにする場合は，「透明」を選びます。
なお，「枠付き」を指定できるオブジェクトで，枠を付けない場合は「透明」で固定になります。
レイアウト領域上のオブジェクトはXMAP3の標準の色合い（RGB値）で表示されます。実行時の色合いは，表示・印刷セットアップの設定に従います。
次に各オブジェクトと背景色の関係を示します。

オブジェクトの種類
背景色の設定
結果

ボックス系オブジェクト
（枠付きのテキスト・フィールド系オブジェクトも含む）
透明
画面の背景色が反映される

色付き
設定した色が反映される

ボタン系オブジェクトおよび
スクロールバー
－
常にグレー

（凡例）

－：該当しない。

反転表示する
背景色と文字色を反転して表示します。項目を強調して表示する場合などに使用します。

ビットマップ
ボタンに表示するビットマップまたはビットマップとテキストの組み合わせを指定します。活性用と不活性用を指定します。

表示書式（入出力テキスト・フィールド）
テキスト・フィールド上での入力文字の表示のしかたを，次の項目から選びます。「使用目的」が「金額」または「数値」の場合に指定できます。
コンマ付加は，3桁ごとにコンマ（，）を付けて表示します。「¥付加」「＊付加」との組み合わせもあります。
¥付加は，先頭に金額記号（¥）を付けます。
ゼロサプレスは，前方のゼロ（0）を表示しません。
＊付加は，前方のゼロ（0），ヌル，スペースをすべてアスタリスク（＊）に置き換えて表示します。
ゼロ付加は，前方のゼロ（0），ヌル，スペースをすべてゼロに置き換えて表示します。

表示書式（日付・時刻）
日付や時刻を表示・印刷する形式を指定します。「年月日」や「時分秒」を表す単位の表記を選べます。また，一部の単位だけ表示・印刷の対象にする指定もできます。日付・時刻の表示書式の詳細は「付録A.9　表示属性の解説」の表A-10および表A-11を参照してください。

表示方法（キーエントリ系，選択エントリ系）
オブジェクトや文字列の表示のしかたを指定します。指定できる種類は，オブジェクトの種類や使用目的などの指定に応じて異なります。なお，指定はレイアウト上の表示には反映されません。

「入力可能・標準表示」は，オブジェクトや文字を通常の状態で表示します。入力または選択できます。

「入力可能・文字だけ非表示」は，オブジェクトの外観は表示しますが文字は表示しません。入力または選択できます。

「入力不可・標準表示」は，テキストボックスまたはフィールドは表示されますが，入力または選択はできません。

「入力不可・グレーアウト表示」は，オブジェクトや文字を不活性状態のグレーで表示します。入力または選択はできません。

「入力不可・文字だけ非表示」は，オブジェクトの外観は表示しますが文字は表示しません。入力または選択はできません。

「入力不可-全体非表示」は，文字を含む全体を表示しません。入力または選択はできません。

データ入力用のオブジェクトで，入力できる状態にする場合は，「入力可能」と付くものを指定してください。なお，出力テキスト・フィールドでは「入力可能（不可）」は表示されません。また，すべてのフィールドで，「グレーアウト表示」および「全体表示」の指定はできません。

表示方法（候補選択コントロール系）
オブジェクトや文字列の表示のしかたを指定します。指定できる種類は，オブジェクトの種類や使用目的などの指定に応じて異なります。なお，指定はレイアウト上の表示には反映されません。

「選択可能・標準表示」は，オブジェクトや文字を見える状態で表示します。

「選択可能・文字だけ非表示」は，オブジェクトは表示しますが文字は表示しません。

「選択不可・標準表示」は，テキストボックスまたはフィールドは表示されますが選択できません。

「選択不可・グレーアウト表示」は，オブジェクトや文字を不活性状態のグレーで表示します。選択はできません。

「選択不可・文字だけ非表示」は，オブジェクトは表示しますが文字は表示しません。選択はできません。

「入力不可-全体非表示」は，文字を含む全体を表示しません。

選択できる状態にする場合は，「選択可能」と付くものを指定してください。

表示方法（プッシュボタン）
オブジェクトや文字列の表示のしかたを指定します。指定できる種類は，オブジェクトの種類や使用目的などに応じて異なります。なお，指定はレイアウト領域上には反映されません。

「標準表示」は，オブジェクトや文字を見える状態で表示します。

「全体非表示」は，文字を含むオブジェクト全体を表示しません。

フォーカス設定（初期フォーカスを本ボックスに設定する）
APからフォーカス位置を設定しないで画面を表示したとき（例えば，論理マップのフォーカス制御項目に値を設定していないなど），このボックスにフォーカスを位置づけます。
どのオブジェクトにも初期フォーカスを設定していない場合は，縦位置－横位置の順に，位置が最小で選択可能なオブジェクトにフォーカスを仮定します。

フォーカス設定（フォーカスを本ボタン（またはリスト項目）に位置づける）
ボタンボックス，リストボックスにフォーカスが移ったときに，ボックス中で最初にフォーカスを位置づける候補（ボタンまたはリスト項目）にします。
なお，ボックス内のどの候補にも初期フォーカスを設定しない場合は，行数，列数の順に位置が最小で，活性状態の候補にフォーカスが仮定されます。

フォーカス対象外（フォーカス遷移の対象としない）
ボタンボックスを，タブキーによるフォーカス遷移の対象外にします。この場合，マウス操作でだけフォーカスを位置づけられます。

不活性（選択できない）状態にする
候補（ボタン／メニュー項目）を不活性にして，選択できない状態にします。選べる候補を制限したい場合に使います。
活性化する場合は，「動的変更」を指定し，APから制御項目に修飾名を設定します。

プルダウン／カスケードメニューを設定する
メニューバー上のメニュー項目に，下位のメニューを設定します。メニューバー上のメニュー項目の下位項目として，プルダウンメニューを指定できます。プルダウンメニューの下位項目としてカスケードメニューを指定できます。
なお，それぞれのメニューを指定した場合，「選択時の動作」および「APへ通知するコード」は，最下位のメニューにだけ設定できます。

フレームの反復
フレームを反復する回数，および間隔を指定できます。

ボックスサイズに合わせて表示する
ボックスの大きさに合わせてグラフィックデータを拡大・縮小して表示します。
グラフィックデータがビットマップ（.BMP），およびJPEG（.JPGまたは.JPEG）で，この指定が「オフ」の場合は，ボックスの中心に原寸大で配置されます。
メタファイル（.WMFまたは.EMF）の場合は必ず「オン」になります。

ボタン高
プッシュボタンの縦幅を指定します。ボックスのサイズを超えない範囲で変更できます。

「2ます」は約2文字分の高さです。ボタンを文字とほぼ同じ高さに合わせるときに使います。

「2.5ます」は約2.5文字分の高さです。ボタンラベルをほかのボックスの文字と同じ大きさにするときに使います。

「3.5ます」は約3.5文字分の高さです。ボタンを強調したり，アイコンを表示するときに使います。

「4.5ます」は約4.5文字分の高さです。ボタンを強調したり，アイコンを表示するときに使います。

ボタンを横に並べる
ボタンボックス内で，複数のボタンを順に横方向に配置します。この場合，フォーカスも横方向（左から右，上から下の順）に遷移します。

ボックス名称
プッシュボタンボックスの名前を指定します。
この名前は，APから初期フォーカスをこのボックスに設定する場合に，APが指定する名前になります。

(8)　マ行

メニュー形式
ポップアップメニューの表示形式を指定します。メニュー形式は，「メニューデータをファイルで指定する」が指定されているときだけ，指定できます。

標準（メニュー）：メニュー項目を従来のメニュー形式で表示します。階層構造の下位メニュー項目を表示するときはカスケードメニューとして表示します。

リスト－ポップアップ：メニュー項目をリストとしてポップアップ表示します。階層構造の下位メニュー項目を表示するときは，第2～第8レベルのリストとして表示します。

リスト－ダイアログ：メニュー項目を，独立したダイアログのリストとして表示します。階層構造の下位メニュー項目を表示するときは，第2～第8レベルのリストとして表示します。

メニューデータをファイルで指定する
ポップアップメニューを，ポップアップメニューファイルから読み込んで表示する場合，「メニューデータをファイルで指定する」を指定します。ポップアップメニューファイルとは，ポップアップテキストに表示するメニューデータを格納したファイルで，あらかじめ用意しておきます。

メニューの値
ポップアップメニューのラベルの値，および通知コードを指定します。

メニューの下にセパレータ線を引く
プルダウンメニュー，カスケードメニューのメニュー項目の下にセパレータ線を引き，メニュー項目間を区切ります。

文字サイズ
「大」は，基準文字サイズより大きい文字にします。
「標準」は，基準文字サイズと同じサイズにします。
「小」は，基準文字サイズより小さい文字にします。
「基準文字サイズ」は，画面属性ダイアログで指定します。

文字サイズ（フィールドボックス）
プレーンの基準となる文字サイズを指定します。この指定は，プレーンのます目の基準になります。ただし，レイアウトの表示上は，文字の大きさは変わりません。

文字色
オブジェクトの文字の色を指定します。
レイアウト領域上のオブジェクトはXMAP3の標準の色合い（RGB値）で表示されます。実行時の色合いは，表示・印刷セットアップの設定に従います。

文字の拡大
固定または出力テキスト・フィールドの文字の拡大には次の種類があります。
「標準」は，文字を標準のサイズで表示します。
「平体」は，文字の横幅を2倍に拡大して表示します。
「長体」は，文字の縦幅を2倍に拡大して表示します。
「倍角」は，文字を縦横2倍に拡大して表示します。

文字の強調
文字を「斜体」や「太字」にできます。
文字の強調は，各文字サイズや書体に適用できます。
なお，斜体にすると領域のサイズ（長さ）が1字分大きくなります。また，フィールドボックス内で文字を斜体にするとレイアウト上で最後の文字が正しく表示されないことがありますが，実際の表示には影響しません。

文字の書体
「標準」，「明朝」，「ゴシック」の3種類があります。
標準フォントは，表示・印刷セットアップで変更できます。

(9)　ラ行

ラベル色
オブジェクトの文字の色を指定します。
レイアウト領域上のオブジェクトはXMAP3の標準の色合い（RGB値）で表示されます。実行時の色合いは，表示・印刷セットアップの設定に従います。

ラベルの種類
ボタンに付けるラベルの種類を指定します。テキストとビットマップの両方を表示する指定もできます。選択したラベルの種類に応じて「テキスト」や「ビットマップ」を指定してください。

(10)　ワ行

枠高
ボックスの枠のサイズ（縦幅）を変更できます。「2ます」，「2.5ます」および「3ます」があります。
枠高が「2ます」のオブジェクト同士は上下に隣接して配置できます。

枠付き（テキストに枠を付ける）
テキストの周囲の枠線を明示します。
「オフ」から「オン」にする場合，あらかじめオブジェクトの周囲に必要な間隔を空けて配置しておく必要があります。

枠付き（ボックスに枠を付ける）
ボックスの周囲の枠線を明示します。
「オフ」から「オン」にする場合，あらかじめオブジェクトの周囲に必要な間隔を空けて配置しておく必要があります。

ワンタッチクリア（選択状態にする）
画面の表示時に，このオブジェクトに表示される出力データをすべて選択した状態にします。
ワンタッチで表示データを削除できる状態になります。表示データを必ず書き換える場合などに使います。

使用目的と，使用目的を指定できるオブジェクトの一覧を次の表に示します。

表中のオブジェクト名称は，次のとおりです。

出力・入出力テキスト（フィールド）：出力・入出力

メニュー選択コンボボックス：メニュー選択コンボ

キー入力コンボボックス：キー入力コンボ

ラジオボタン：ラジオ

チェックボタン：チェック

リストボックス：リスト

表A-8　使用目的

使用目的
オブジェクト
説明

数字

出力・入出力

キー入力コンボ

リスト※1

ラジオ※1

チェック※1

トグル※1

数字コードデータの入力
必要に応じて「遷移条件」の「全桁必須」属性と組み合わせて使用する。
COBOLのPICTURE句に従った入力チェックをする。
モジュラスチェックをする。

POP（手動―数字）

ポップアップ

金額（GUI画面）

出力・入出力

右寄せで表示する。また，先頭に「¥」を付けたり，3桁ごとに「，」を付けたり，小数点の入力を許したりする。
入力データ：「0～9」「＋」「－」

数値（GUI画面）

出力・入出力

右寄せで表示する。オプションを使用して，負の値や小数点の入力を許したり，チェックしたりできる。
入力データ：「0～9」「＋」「－」

カナ

出力・入出力

キー入力コンボ

カナ文字入力のため，日本語入力システムをオンにする。
カナだけの入力に加え，オプションを使用して数字や英文字を入力できる。

POP（手動―カナ）

ポップアップ

英数

出力・入出力

キー入力コンボ

メニュー選択コンボ

リスト

ラジオ

チェック

トグル

半角文字の入力用。オプションを使用して，英数，数字，カナなどの入力を制限できる。

POP（手動―英数）

ポップアップ

POP（自動―英数）

日本語

出力・入出力

キー入力コンボ

メニュー選択コンボ

リスト※2

ラジオ※2

チェック※2

トグル※2

漢字の入力用。日本語入力システムをオンにする。オプションを使用して，漢字だけの入力か，漢字と英数の混在入力かをチェックできる。

POP（手動―日本語）

ポップアップ

POP（自動―日本語）

パスワード

出力・入出力

半角文字の入力用。入力した文字は表示されない。GUI画面では，オプションを使用して入力文字の代わりに「＊」を表示するか，何も表示しないかを指定できる。

MCR

出力・入出力

キーボードではなくIDカード（MCR）での入力ができる。
オプションを使用して，入力された文字を表示することもできる。

注※1

入力できるデータ型は「99999」「その他のピクチャ」です。

注※2

入力できるデータ型は「文字」「漢字」です。

表A-9　詳細目的とデータ型

使用目的
詳細目的
データ型※1
入力できる文字

COBOL

入力データ型
出力データ型

数字※2
数字・
数字記号※2
文字（XX）※2
文字（XX）
0～9
+ － ＊ ．，¥

99999※2
99999

99999
ZZZZ9

その他のピクチャ
その他のピクチャ

モジュラス
文字（XX）
文字（XX）
0～9
最終桁がモジュラスチェック用数字

99999
99999

99999
ZZZZ9

その他のピクチャ
その他のピクチャ

数字
文字（XX）
文字（XX）
0～9

99999
99999

金額
数字
文字（XX）
文字（XX）
0～9

99999
99999

小数点付き
999V9
999.9
0～9
．（1個だけ）

99V99
99.99

9V999
9.999

V9999
.9999

符号付き
S99999
-99999
0～9 + －

符号・小数点
付き
S999V9
-999.9
0～9 + －
．（1個だけ）

S99V99
-99.99

S9V999
-9.999

SV9999
-.9999

数値
数字
文字（XX）
文字（XX）
0～9

99999
99999

小数点付き
999V9
999.9
0～9
．（1個だけ）

99V99
99.99

9V999
9.999

V9999
.9999

符号付き
S99999
-99999
0～9 + －

符号・小数点
付き
S999V9
-999.9
0～9 + －
．（1個だけ）

S99V99
-99.99

S9V999
-9.999

SV9999
-.9999

数字・数字記号
文字（XX）
文字（XX）
0～9
+ － ＊ ．，¥

カナ※2
カナ・半角
※2
文字（XX）
文字（XX）
半角：すべての半角文字
カナ：ア～ンとカナ小文字
　　　゜ ゛
英大：A～Z
数：0～9
マイナス：－
長音：カナ長音記号

カナ

カナ・英大・数

カナ・英大・数・マイナス

カナ・英大・数・長音

カナ・英大・数・マイナス・長音

カナ・数

カナ・数・マイナス

カナ・数・長音

カナ・数・マイナス・長音

英数※2
半角※2
文字（XX）
文字（XX）
半角：すべての半角文字
英大：A～Z
英小：a～z
カナ：ア～ンとカナ小文字
　　　゜ ゛
数：0～9
マイナス：－
アスタリスク：＊
コンマ：，
記号：＃ ＠ ¥ ／などの英記号

英大・カナ・数・記号

英大

アスタリスク・英大

英大・英小

英大・数・マイナス

英大・数

英大・英小・コンマ

数・マイナス

日本語※2
混在※2
（全角・半角）
文字（XX）
文字（XX）
全角と半角

漢字※2
文字（XX）
文字（XX）
全角だけ

漢字（NN）
漢字（NN）

漢字（XX）※3
漢字（XX）※3

パスワード
半角
文字（XX）
文字（XX）
半角：すべての半角文字
英大：A～Z
英小：a～z
数：0～9

英大

英大・英小

英大・数

MCR
半角
文字（XX）
出力なし
半角：すべての半角文字

POP
（手動－数字）
数字・数字記号
文字（XX）
文字（XX）
0～9
+ － ＊ ．，¥

POP
（手動－カナ）
カナ・半角
文字（XX）
文字（XX）
カナ：ア～ンとカナ小文字
　　　゜ ゛
半角：すべての半角文字

POP
（手動－英数）
（自動－英数）
半角
文字（XX）
文字（XX）
半角：すべての半角文字

POP
（手動－日本語）
（自動－日本語）
混在
（全角・半角）
文字（XX）
文字（XX）
全角と半角

漢字
文字（XX）
文字（XX）
全角だけ

漢字（NN）
漢字（NN）

注※1

C言語の場合は，データ型「char」だけ指定できます。

注※2

キー入力コンボボックスで指定できる使用目的，詳細目的およびデータ型です。

注※3

CUI画面の入出力フィールドの場合にだけ指定できます。

使用目的
使用目的は，出力，入出力フィールドで入出力するデータを何にするのかなどを指定する属性です。使用目的には，次の種類があります。

数字
半角の文字を入出力できます。入力できる文字はデータ型などに応じて異なり，指定した文字以外を入力するとエラーになります。データ型と遷移条件によって，次のようになります。

データ型が文字（XX）以外（数字または数字編集）の場合
「0～9」「．」「，」「＋」「－」「＊」「¥」「スペース」が入力できます。さらに，指定したピクチャパターンとのフォーマットチェックが行われます。

データ型が文字（XX）で，遷移条件が右寄せ表示以外の場合
「0～9」「．」「，」「＋」「－」「＊」「／」「（ 」「 ）」「＜」「＞」「＝」「？」「：」「；」が使用できます。

データ型が文字（XX）で，遷移条件が右寄せ表示の場合
「0～9」「．」「＋」「－」が使用できます。

金額（GUI画面の場合）
半角の文字を入出力できます。入力データの数字部分に，3桁ごとにコンマ（，）が付けられます。

数値（GUI画面の場合）
半角の文字を入出力できます。データは右寄せで表示されます。件数や数量を入出力する場合に使用します。

カナ
カナおよび半角文字を入出力できます。日本語入力システムを使用してカナ入力モードになります。ただし，日本語入力モードを変更すると，カナ以外の半角文字（スペース，英数，記号）も入力できます。全角文字を入力すると，ドローセットアップで設定してあるエラー通知文字をAPに返します。標準値は(FF)₁₆です。

英数
半角文字だけの入出力ができます。半角文字（スペース，英大文字，英小文字，数字，カナ，記号）が使用できます。全角文字を入力すると入力エラーになります。

日本語
全角文字，全角と半角の混在文字の入力ができます。日本語入力システムを使用してカナ入力モードになります。データ型が「漢字（NN）」または「漢字（XX）」の場合，全角文字だけが入力できます。半角文字（半角スペースを除く）を入力すると，入力時にエラーになります。データ型が「文字（XX）」の場合，全角と半角，および全角と半角の混在した文字を入力できます。

パスワード（GUI画面の場合）
入力できる対象をパスワードにします。この場合，入力した文字を「＊」で置き換えて表示させるなど，表示方法を設定できます。

MCR
入力できる対象を，MCR（IDカードリーダ）からのデータにします。

表A-10　表示書式と入力形式・格納形式（日付）

日付ダイアログの表示書式
（表示書式は実際の日付に関係なく固定です）
入力形式／格納形式

1997／ 8／ 7
YYYYMMDD

1997／08／07

1997- 8- 7

1997-08-07

1997. 8. 7

1997.08.07

1997 8 7

19970807

97／ 8／ 7
YYMMDD

97／08／07

97- 8- 7

97-08-07

97. 8. 7

97.08.07

97 8 7

970807

平成 9年 8月 7日
GYYMMDD

平成09年08月07日

平 9年 8月 7日

平09年08月07日

年月 平成 9年 8月
GYYMM

年月 平成09年08月

年月 平 9年 8月

年月 平09年08月

年月 1997／ 8
YYYYMM

年月 1997／08

年月 1997- 8

年月 1997-08

年月 1997. 8

年月 1997.08

年月 1997 8

年月 199708

年月 97／ 8
YYMM

年月 97／08

年月 97- 8

年月 97-08

年月 97. 8

年月 97.08

年月 97 8

年月 9708

月日 8／ 7
MMDD

月日 08／07

月日 8- 7

月日 08-07

月日 8. 7

月日 08.07

月日 8 7

月日 0807

年　 平 9年
GYY

年　 平09年

年　 9
YYYY

年　 0009

年 　 9
YY

年 　09

月 　 8
MM

月 　08

日 　 7
DD

日 　07

表A-11　表示書式と入力形式・格納形式（時刻）

時刻ダイアログの表示書式
（表示書式は実際の時刻に関係なく固定です）
入力形式／格納形式

21:08:07
HHMMSS

21: 8: 7

21.08.07

21. 8. 7

PM09:08:07
HHMMSS（出力時刻だけ）

PM 9: 8: 7

PM09.08.07

PM 9. 8. 7

09:08:07PM

9: 8: 7PM

09.08.07PM

9. 8. 7PM

21時08分07秒
HHMMSS

21時 8分 7秒

210807

21 8 7

時分 21:08
HHMM

時分 21: 8

時分 21.08

時分 21. 8

時分 PM09:08
HHMM（出力時刻だけ）

時分 PM 9: 8

時分 PM09.08

時分 PM 9. 8

時分 09:08PM

時分 9: 8PM

時分 09.08PM

時分 9. 8PM

時分 21時08分
HHMM

時分 21時 8分

時分 2108

時分 21 8

分秒 08:07
MMSS

分秒 8: 7

分秒 08.07

分秒 8. 7

分秒 08分07秒

分秒 8分 7秒

分秒 0807

分秒 8 7

時　 09時
HH

時　 9時

時 　09

時　 9

分　 08分
MM

分　 8分

分　 08

分　 8

秒　 07秒
SS

秒 　 7秒

秒　 07

秒　 7

付録A.10　修飾名と変更属性の標準値

画面の表示属性をAPから動的に変更する場合，ドローセットアップの表示属性の動的変更ダイアログで定義した修飾名を使用します。表示属性の動的変更ダイアログは定義するオブジェクトの系統別に，次のように分けられています。これらの系統と個々のオブジェクトの対応については，「2.4　GUI画面を構成するオブジェクト」を参照してください。

キャラクタコントロール

候補選択コントロール

コマンドコントロール

ウィンドウ属性

位置属性

確定キー属性

データ名

ここでは，XMAP3が標準に提供する修飾名について説明します。

＜この項の構成＞

(1)　キャラクタコントロールの表示属性の標準値（GUI／CUI共通）

(2)　候補選択コントロールの表示属性の標準値（GUI）

(3)　コマンドコントロールの表示属性の標準値（GUI）

(4)　ウィンドウ属性の表示属性の標準値（GUI／CUI共通）

(5)　位置属性の表示属性の標準値（GUI）

(6)　確定キー属性の表示属性の標準値（GUI）

(7)　データ名の表示属性の標準値（GUI／CUI共通）

(1)　キャラクタコントロールの表示属性の標準値（GUI／CUI共通）

キャラクタコントロール（入出力テキスト・フィールド・ポップアップ・コンボボックス，ポップアップテキスト・フィールド）の表示属性の標準値を表A-12，表A-13および表A-14に示します。これらの変更属性は，使用目的別に設定値を変更する必要があります。

また，使用目的が出力専用は，設定値が異なります。出力専用のときの表示属性の標準値について表A-15に示します。

表A-12　キャラクタコントロールの表示属性の標準値（数字系・日本語系・カナ系・英数系キーエントリおよび日本語系選択エントリ）（1／3）

動的変更テーブルのデータ名
修飾名
表示方法・
入力可否属性
表示方法・
非表示属性
遷移条件
詳細目的※2
（モジュラス
チェック）

XMAP-IN-ATTR1
ER
入力可能
標準表示※1
変更なし
変更なし

XMAP-IN-ATTR2
RV
入力可能
標準表示※1
変更なし
変更なし

XMAP-IN-ATTR3
PT
入力不可
標準表示※1
変更なし
指定できない

XMAP-IN-ATTR4
NP
入力可能
標準表示※1
変更なし
変更なし

XMAP-IN-BK
BK※3
変更なし
変更なし
指定できない
指定できない

XMAP-IN-GR
GR※3
変更なし
変更なし
指定できない
指定できない

XMAP-IN-BL
BL※3
変更なし
変更なし
指定できない
指定できない

XMAP-IN-LR
LR※3
変更なし
変更なし
指定できない
指定できない

XMAP-IN-LB
LB※3
変更なし
変更なし
指定できない
指定できない

XMAP-IN-LG
LG※3
変更なし
変更なし
指定できない
指定できない

XMAP-IN-LY
LY※3
変更なし
変更なし
指定できない
指定できない

XMAP-IN-IV
IV※3
入力不可
全体非表示
指定できない
指定できない

XMAP-IN-GO
GO※3
入力不可
グレーアウト
指定できない
指定できない

注※1

非表示にしません。

注※2

「詳細目的」は適用オブジェクトグループが「数字系キーエントリ」の場合だけ有効です。

注※3

定義対象がCUI画面の場合，これらの修飾名は「設定する修飾名」として選択されていません。選択した場合，修飾名の属性はすべて「変更なし」となります。

表A-13　キャラクタコントロールの表示属性の標準値（数字系・日本語系・カナ系・英数系キーエントリおよび日本語系選択エントリ）（2／3）

動的変更テーブルのデータ名 | 修飾名 | 反転表示 | 背景色※1 | 文字色 | 入力済み
XMAP-IN-ATTR1 | ER | 変更なし | 変更なし | 赤 | 変更なし
XMAP-IN-ATTR2 | RV | 反転する | 変更なし | 黒 | 変更なし
XMAP-IN-ATTR3 | PT | 変更なし | 変更なし | 黒 | 指定できない
XMAP-IN-ATTR4 | NP | 変更なし | 変更なし | 黒 | 変更なし
XMAP-IN-BK | BK※2 | 変更なし | 変更なし | 黒 | 指定できない
XMAP-IN-GR | GR※2 | 変更なし | 変更なし | 緑 | 指定できない
XMAP-IN-BL | BL※2 | 変更なし | 変更なし | 青 | 指定できない
XMAP-IN-LR | LR※2 | 変更なし | ライトレッド | 変更なし | 指定できない
XMAP-IN-LB | LB※2 | 変更なし | ライトブルー | 変更なし | 指定できない
XMAP-IN-LG | LG※2 | 変更なし | ライトグリーン | 変更なし | 指定できない
XMAP-IN-LY | LY※2 | 変更なし | ライトイエロー | 変更なし | 指定できない
XMAP-IN-IV | IV※2 | 変更なし | 変更なし | 変更なし | 指定できない
XMAP-IN-GO | GO※2 | 変更なし | 変更なし | 変更なし | 指定できない

注※1

CUI画面では指定できません。

注※2

定義対象がCUI画面の場合，これらの修飾名は「設定する修飾名」として選択されていません。選択した場合，修飾名の属性はすべて「変更なし」となります。

表A-14　キャラクタコントロールの表示属性の標準値（数字系・日本語系・カナ系・英数系キーエントリおよび日本語系選択エントリ）（3／3）

動的変更テーブルのデータ名 | 修飾名 | 自動送信 | 入力必須 | ワンタッチクリア※1
XMAP-IN-ATTR1 | ER | 変更なし | 変更なし | 変更なし
XMAP-IN-ATTR2 | RV | 変更なし | 変更なし | 変更なし
XMAP-IN-ATTR3 | PT | 指定できない | 指定できない | 指定できない
XMAP-IN-ATTR4 | NP | 変更なし | 変更なし | 変更なし
XMAP-IN-BK | BK※2 | 指定できない | 指定できない | 指定できない
XMAP-IN-GR | GR※2
XMAP-IN-BL | BL※2
XMAP-IN-LR | LR※2
XMAP-IN-LB | LB※2
XMAP-IN-LG | LG※2
XMAP-IN-LY | LY※2
XMAP-IN-IV | IV※2
XMAP-IN-GO | GO※2

注※1

CUI画面では指定できません。

注※2

定義対象がCUI画面の場合，これらの修飾名は「設定する修飾名」として選択されていません。選択した場合，修飾名の属性はすべて「変更なし」となります。

表A-15　キャラクタコントロールの表示属性の標準値（ラベル）

動的変更テーブルのデータ名
修飾名
表示方法・
非表示属性
反転表示
文字色

XMAP-OUT-ATTR1
RE
標準表示※1
変更なし
赤

XMAP-OUT-ATTR2
GR
標準表示※1
変更なし
緑

XMAP-OUT-ATTR3
BL
標準表示※1
変更なし
青

XMAP-OUT-ATTR4
YE
標準表示※1
変更なし
黄

XMAP-OUT-ATTR5
CY
標準表示※1
変更なし
空

XMAP-OUT-ATTR6
MA
標準表示※1
変更なし
紫

XMAP-OUT-ATTR7
WH
標準表示※1
変更なし
白

XMAP-OUT-BK
BK※2
変更なし
変更なし
黒

XMAP-OUT-DR
DR※2
変更なし
変更なし
ダークレッド

XMAP-OUT-DB
DB※2
変更なし
変更なし
ダークブルー

XMAP-OUT-DG
DG※2
変更なし
変更なし
ダークグリーン

XMAP-OUT-DY
DY※2
変更なし
変更なし
ダークイエロー

XMAP-OUT-IV
IV※2
全体非表示
変更なし
変更なし

XMAP-OUT-GO
GO※2
グレーアウト表示
変更なし
変更なし

注※1

非表示にしません。

注※2

定義対象がCUI画面の場合，これらの修飾名は「設定する修飾名」として選択されていません。選択した場合，修飾名の属性はすべて「変更なし」となります。

(2)　候補選択コントロールの表示属性の標準値（GUI）

ラジオボタン，チェックボタン，リスト，トグルフィールドの表示属性の標準値を次の表に示します。

表A-16　候補選択コントロールの表示属性の標準値

動的変更テーブル
のデータ名
修飾名
表示方法
（リスト項目以外）
不活性
（選択できない状態にする）
フォーカス設定
（フォーカスをボタン／リストに位置づける）※
選択済み
にする

XMAP-BUTTON-SEL1
PT
標準表示
不活性
設定しない
選択前

XMAP-BUTTON-SEL2
ON
標準表示
活性
設定しない
選択済み

XMAP-BUTTON-SEL3
OF
標準表示
活性
設定しない
選択前

XMAP-BUTTON-SEL4
ST
標準表示
活性
設定する
選択前

XMAP-BUTTON-SEL5
IV
全体非表示
指定できない
設定しない
選択前

注※

トグルフィールド以外です。

(3)　コマンドコントロールの表示属性の標準値（GUI）

プッシュボタン，メニューバーの表示属性の標準値を次の表に示します。

表A-17　コマンドコントロールの表示属性の標準値

動的変更テーブル
のデータ名
修飾名
表示方法
（プッシュボタンだけ）
不活性
（選択できない状態にする）
フォーカス設定
（フォーカスをボタンに位置づける）

XMAP-BUTTON-SEL1
PT
標準表示
不活性
設定しない

XMAP-BUTTON-SEL2
ON
標準表示
活性
設定しない

XMAP-BUTTON-SEL3
OF
標準表示
活性
設定しない

XMAP-BUTTON-SEL4
ST
標準表示
活性
設定する

XMAP-BUTTON-SEL5
IV
全体非表示
指定できない
設定する

(4)　ウィンドウ属性の表示属性の標準値（GUI／CUI共通）

プッシュボタン，メニューバーの表示属性の標準値を次の表に示します。

表A-18　ウィンドウ属性の表示属性の標準値

動的変更テーブル
のデータ名
修飾名
表示形態
入力・選択状態の扱い
キーボードのロック状態を解除する
ウィンドウを表示した時にアラームを鳴らす

XMAP-CNTRL1
WR
一部上書
状態を維持
解除する
鳴らさない

XMAP-CNTRL2
EW
全面書換
初期状態
解除する
鳴らさない

XMAP-CNTRL3
CL
一部上書
初期状態
解除する
鳴らさない

XMAP-CNTRL4
BL
一部上書
状態を維持
解除する
鳴らす

(5)　位置属性の表示属性の標準値（GUI）

表A-19　位置属性の表示属性の標準値

動的変更テーブルのデータ名 | 修飾名 | XY位置 | Z位置
XMAP-WINDOW-RT | RT | 右上 | 標準表示
XMAP-WINDOW-RD | RD | 右下 | 標準表示
XMAP-WINDOW-LT | LT | 左上 | 標準表示
XMAP-WINDOW-LD | LD | 左下 | 標準表示
XMAP-WINDOW-IV | IV | 変更なし | 一時非表示
XMAP-WINDOW-FR | FR | 中央 | 手前に表示
XMAP-WINDOW-VC | VC | 中央 | 標準表示

(6)　確定キー属性の表示属性の標準値（GUI）

表A-20　確定キー属性の表示属性の標準値

動的変更テーブルのデータ名 | 修飾名 | キー押下無効にするキー
XMAP-EVENT-AL | AL | なし
XMAP-EVENT-PC | PC | PF13～PF84，PA1～PA3，スクリーン消去

(7)　データ名の表示属性の標準値（GUI／CUI共通）

表A-21　データ名の表示属性の標準値

属性種別 | データ名 | 論理マップ中でのマップ名
ウィンドウ属性の動的変更 | マップ名－CNTRL | マップ名－CNTRLO
位置属性の動的変更 | マップ名－WINDOW | マップ名－WINDOWW
確定キー属性の動的変更のデータ名 | マップ名－INC | マップ名－INCO

付録B　XMAP3で提供している定義パターン

XMAP3では，用途に応じた画面サイズ，レイアウトのパターンを用意しています。画面のサイズを統一するために使うことをお勧めします。

定義パターンは，新規作成ダイアログの「パターンの選択」で指定できます。

＜この節の構成＞

付録B.1　GUI画面の定義パターン

付録B.2　CUI画面の定義パターン

付録B.3　XMAP3で提供しているプログラムのパターン

付録B.1　GUI画面の定義パターン

GUI画面（一次ウィンドウ）の定義パターンを表B-1に，GUI画面（二次ウィンドウ）の定義パターンを表B-2に示します。

表B-1　GUI画面（一次ウィンドウ）の定義パターン

画面の種類 | 項番 | 定義パターン | サイズ（行×列）
3D | 1 | 中汎用ウィンドウ（640×480用） | 47×91
2 | 大汎用ウィンドウ（1,024×768用） | 79×145
3 | 表（出力） | 48×91
4 | 表（入出力） | 48×91
5 | 一段ボタンメニュー | 48×91
6 | 二段ボタンメニュー | 48×91
7 | 一段ラジオボタンメニュー | 48×91
8 | 二段ラジオボタンメニュー | 48×91
9 | ログインウィンドウ　 | 30×57
2D | 1 | 中汎用ウィンドウ（640×480用）（2D） | 48×80
2 | 大汎用ウィンドウ（1,024×768用）（2D） | 53×85
3 | 表（出力）（2D） | 48×80
4 | 表（入出力）（2D） | 48×80
5 | 一段ボタンメニュー（2D） | 48×80
6 | 二段ボタンメニュー（2D） | 48×80
7 | 一段ラジオボタンメニュー（2D） | 48×80
8 | 二段ラジオボタンメニュー（2D） | 48×80
9 | ログインウィンドウ（2D） | 30×50
フリー | 48×80

注

この表の行数は半行単位です。

表B-2　GUI画面（二次ウィンドウ）の定義パターン

画面の種類 | 項番 | 定義パターン名 | サイズ（行×列）
3D | 1 | 中ダイアログ　ボタン下 | 38×68
2 | 中ダイアログ　ボタン右 | 38×68
3 | 小ダイアログ　ボタン下 | 28×46
4 | 小ダイアログ　ボタン右 | 28×46
5 | 大ダイアログ　ボタン下 | 48×91
6 | 大ダイアログ　ボタン右　 | 48×91
7 | インフォメーションダイアログ | 18×60
8 | クエスチョンダイアログ | 18×60
9 | ワーニングダイアログ | 18×60
10 | エラーダイアログ | 18×60
11 | 一段リストボックス（単一選択） | 30×34
12 | 一段リストボックス（複数選択） | 30×34
13 | 二段リストボックス（単一選択） | 48×34
14 | 二段リストボックス（複数選択） | 48×34
2D | 1 | 中ダイアログ　ボタン下（2D） | 38×60
2 | 中ダイアログ　ボタン右（2D） | 38×60
3 | 小ダイアログ　ボタン下（2D） | 28×40
4 | 小ダイアログ　ボタン右（2D） | 28×40
5 | 大ダイアログ　ボタン下（2D） | 48×80
6 | 大ダイアログ　ボタン右（2D） | 46×80
7 | インフォメーションダイアログ（2D） | 18×53
8 | クエスチョンダイアログ（2D） | 18×53
9 | ワーニングダイアログ（2D） | 18×53
10 | エラーダイアログ（2D） | 18×53
11 | 一段リストボックス（単一選択）（2D） | 30×30
12 | 一段リストボックス（複数選択）（2D） | 30×30
13 | 二段リストボックス（単一選択）（2D） | 48×30
14 | 二段リストボックス（複数選択）（2D） | 48×30
フリー | 48×80

注

この表の行数は半行単位です。

付録B.2　CUI画面の定義パターン

CUI画面の定義パターンを次の表に示します。

表B-3　CUI画面の定義パターン

項番 | 定義パターン | サイズ（行×列）
1 | 汎用ウィンドウ | 24×80
2 | 表 | 24×80
3 | ファンクションメニュー | 24×80
4 | セレクションメニュー | 24×80
5 | ログインウィンドウ | 24×80
6 | フリー | 24×80

注

この表の行数は半行単位です。

付録B.3　XMAP3で提供しているプログラムのパターン

＜この項の構成＞

(1)　画面のAPパターン

(2)　画面のAP部品

(1)　画面のAPパターン

XMAP3が提供しているAPパターンのうち，画面のAPのコーディングに利用するものについて説明します。

(a)　メニュー画面

APパターン名
（適用言語）
内容
使用ケース
対応する定義
サンプル

BTMENU01
（COBOL）
（C言語）
ログイン画面からメニュー画面を起動させます。プッシュボタンで選択する多目的メニューです。ボタン，ファンクションキー，またはテンキー選択に対応してAPを起動します。

ログイン画面は必要に応じて削除してください。

実行ファイル（.EXE）をCALL文で呼び出しています。内部ルーチン用に変更することもできます。

すべての業務をまとめた初期メニューとしての使用を想定しています。

内部ルーチン用に変更して，サブメニューとしても使用できます。

ログインウィンドウ
（GPASW1），
一段ボタンメニュー
（BMENU1）との併用を想定しています。

SLMENU01
（COBOL）
（C言語）
ログイン画面からメニュー画面を起動します。ラジオボタン，またはテンキーで選択する初期メニューです。選択した番号に対応してAPを起動します。

ログイン画面は必要に応じて削除してください。

実行ファイル（.EXE）をCALL文で呼び出しています。内部ルーチン用に変更することもできます。

すべての業務をまとめた初期メニューとしての使用を想定しています。

内部ルーチン用に変更して，サブメニューとしても使用できます。

ログインウィンドウ
（GPASW1），
一段ラジオボタンメニュー
（SMENU1）との併用を想定しています。

(b)　画面入出力

APパターン名
（適用言語）
内容
使用ケース
対応する定義
サンプル

GENDSP01
（COBOL）
（C言語）
汎用画面入出力プログラムです。一つの画面に対応した画面入出力処理をします。

1画面だけの表示を想定しています。追加画面は，AP部品NXTDSP01を追加します。

入力後のチェック結果によって，AP部品を随時挿入します。

COBOL用では，メインプログラムへは戻らないことを想定しています。メインプログラムへ戻す場合には，「STOP RUN」を変更して使用します。

メニュープログラムを使用したメインメニューから呼ばれることを想定しています。

一般の画面に適用できます。

GENDSP02
（COBOL）
汎用画面入出力プログラムです。一つの画面に対応した画面入出力処理を，CALLインタフェースを利用して行います。

1画面だけの表示を想定しています。追加画面は，同じくCALLインタフェースを使用しているGENDSP03を追加します。

入力後のチェック結果によって，AP部品を随時挿入します。

メインプログラムへは戻らないことを想定しています。メインプログラムへ戻す場合には，「STOP RUN」を変更して使用します。

メニュープログラムを使用したメインメニューから呼ばれることを想定しています。

COBOLのCALLインタフェースを使用して画面入出力を行うケースを想定しています。

一般の画面に適用できます。

GENDSP03
（COBOL）
GENDSP02から呼び出されるサブプログラムです。

GENDSP02との組み合わせを想定しています。

一般の画面に適用できます。

GENFLD01
（COBOL）
（C言語）

フィールド単位アクセス用入出力プログラムです。フォーカス・カーソルが位置づいているフィールドだけ入力できます。

APでは，入力データをチェックし，対応する処理を行います。

チェックでOKであれば，次に入力したいフィールドにフォーカス・カーソルを位置づけて画面を再表示します。

フィールド単位にAPに返して，入力データをチェックすることを想定しています。

COBOLの
「WINDOW
SECTION」で実現していた業務をGUIに移行する際のAPを想定しています。

フィールド単位画面（FIE1GCまたはFIE1GH）の使用を想定しています。

GENEVN01
（COBOL）
（C言語）
イベント単位アクセス用入出力プログラムです。画面上のどこからでも入力でき，APにイベントを返します。

APでは，イベント通知コードの領域に，入力したフィールドのフォーカス・カーソル定数が返ってきます。

イベントごとの処理を行うセクションを設けて，各フィールドの処理を行います。

複数のトグルフィールドから一つだけを選択して処理を行うことを想定しています。

イベント単位画面（EVE1GCまたはEVE1GH）の使用を想定しています。

DSPPRT01
（COBOL）
（C言語）
GENDSP01とGENREP01とを合わせた汎用画面入出力・帳票印刷プログラムです。画面入出力を行ったあと，帳票を出力します。

メニュープログラムを使用したメインメニューから呼ばれることを想定しています。

一般の画面・帳票に適用できます。

(2)　画面のAP部品

標準提供APパターンのうち，画面のAPのコーディングに利用するAP部品を示します。

APパターン名
（適用言語）
内容
使用ケース
対応する定義サンプル

NXTDSP01
（COBOL）
（C言語）
画面入出力処理の追加コーディングです。
GENDSP01，
DSPPRT01への挿入を想定しています。
一般の画面に適用できます。

ATRCRS01
（COBOL）
（C言語）
特定の入力／入出力テキストまたはフィールドの文字色を変更して，フォーカスまたはカーソルを該当項目に設定します。該当項目以外は，もとの画面の状態のままとします。
GENDSP01，
DSPPRT01，
BTMENU01，
SLMENU01，
NXTDSP01への挿入を想定しています。
一般の画面に適用できます。

CLRINP01
（COBOL）
（C言語）
表示画面の入力項目だけをヌルクリアして初期状態にします。データエントリ画面での利用を想定しています。
GENDSP01，
DSPPRT01，
NXTDSP01への挿入を想定しています。
一般の画面に適用できます。

FLDHLP01
（COBOL）
（C言語）
ファンクションキーやプッシュボタンが押されたときに，カーソルのある項目に対応するヘルプ画面を表示します。フィールドごとのヘルプ表示を想定しています。
GENDSP01，
DSPPRT01，
BTMENU01，
SLMENU01，
NXTDSP01への挿入を想定しています。
小ダイアログ，中ダイアログ
（HELP01）との併用を想定しています。

MODATR01
（COBOL）
（C言語）
特定の入力／入出力／出力テキストまたはフィールドの文字色を変更します。

入力チェック後のエラー表示用として使用します。

表示データ代入処理とあわせて使用することで，初めから文字色を変更したい場合にも応用できます。

GENDSP01，
DSPPRT01，
BTMENU01，
SLMENU01，
NXTDSP01，
GENFLD01への挿入を想定しています。
一般の画面に適用できます。

PATWRT01
（COBOL）
（C言語）
表示されている画面に対して，ある1項目だけを書き換えます。ほかの項目の状態はそのままとします。

エラーメッセージなどをメッセージフィールドに表示する場合に使用します。

1項目だけでなく，複数項目またはすべての項目を書き換えるように変更することで，固定部分をそのままにして可変部分をすべて書き換えて表示する場合にも応用できます。

GENDSP01，
DSPPRT01，
BTMENU01，
SLMENU01，
NXTDSP01，
GENFLD01，
GENEVN01への挿入を想定しています。
一般の画面に適用できます。

SETCRS01
（COBOL）
（C言語）
表示されている画面に対して，フォーカスやカーソル位置を設定し直します。ほかの項目の値は変更しません。
GENDSP01，
DSPPRT01，
BTMENU01，
SLMENU01，
NXTDSP01への挿入を想定しています。
一般の画面に適用できます。

BTPROT01
（COBOL）
（C言語）
表示されている画面に対して，ボタンを不活性状態に変更します。
BTMENU01，
SLMENU01，
GENDSP01，
NXTDSP01へ の挿入を想定しています。
一般の画面に適用できます。

付録C　日立以外のコンパイラを使用するときの注意

日立COBOL以外の製品を利用して，XMAP3が用意するCALLインタフェースを使う場合の注意事項を説明します。

＜この節の構成＞

付録C.1　他社COBOLとの仕様比較

付録C.2　 C言語を使用するときの注意

付録C.3　 Visual Basic， Delphi， Accessを使用するときの注意

付録C.1　他社COBOLとの仕様比較

日立COBOLと他社COBOLとの仕様比較を次の表に示します。サンプルコーディングなどを変更する際に，参考にしてください。

なお，このマニュアルは日立COBOLを前提に書かれていますので，必要に応じて，置き換えてお読みください。

表C-1　日立COBOLと他社COBOLとの仕様比較

機能
日立COBOL
Merant Micro Focus COBOL
富士通 COBOL85

CALL
インタフェース
CALL 関数名
USING ...
CALL
special_name
関数名　USING ...
CALL 関数名
USING ...

USING

一意名

BY VALUE
実数／一意名

一意名

BY VALUE
実数／一意名

一意名

BY VALUE
一意名

領域定義
日本語定数
N日本語

16進数
X16進定数

数値設定
COMP,COMP-5

数値設定
（C互換）
S9(4)COMP-5(short)S9(8)COMP-5(long)

その他の言語仕様
予約語の位置
8カラム以降
8カラム以降
12カラム以降

PERFORM文
PERFORM 一意名：
一意名 SECTION
（有効範囲はENDまで）
　　：
一意名-END.
PERFORM 一意名：
一意名 SECTION
（有効範囲はENDまで）
　　：
一意名-END.
PERFORM 一意名：
一意名 SECTION
（有効範囲は次のSECTIONまで）

付録C.2　 C言語を使用するときの注意

C言語を使用して，XMAP3で画面入出力のAPを開発および実行する場合のサポート状況について次の表に示します。

表C-2　Windows 95，Windows 98，およびWindows NT 4.0の場合

C言語製品名（会社名） | サポート状況
Visual C++　4.X（マイクロソフト社） | △
Visual C++　5.X（マイクロソフト社） | ○
Visual C++　6.X（マイクロソフト社） | ○
Visual C++ .NET（マイクロソフト社） | ○

（凡例）

○：使用できる。

△：実行だけできる。

表C-3　Windows Me，Windows 2000，Windows XP，Windows Server 2003，およびWindows Server 2003 x64の場合

C言語製品名（会社名） | サポート状況
Visual C++　4.X（マイクロソフト社） | △
Visual C++　5.X（マイクロソフト社） | △
Visual C++　6.X（マイクロソフト社） | ○
Visual C++ .NET（マイクロソフト社） | ○

（凡例）

○：使用できる。

△：実行だけできる。

付録C.3　 Visual Basic， Delphi， Accessを使用するときの注意

Visual Basic，DelphiまたはAccessを使用して，XMAP3で画面入出力のAPを開発および実行する場合に，XMAP3でサポートしているバージョンを次に示します。

Visual Basic
Visual Basic Version 6.0以降

Delphi

Windows 95，およびWindows NT 4.0の場合：Delphi 3.1

Windows 98，Windows Me，およびWindows 2000の場合：Delphi 5

Access

Windows XPの場合：Access 97以降

Windows 95，Windows 98，Windows Me，Windows NT 4.0，およびWindows 2000の場合：Access For Windows 95 Version 7.00以降

付録D　画面定義の制限値

＜この節の構成＞

付録D.1　オブジェクトの個数およびサイズ

付録D.2　使用できるグラフィックデータ

付録D.1　オブジェクトの個数およびサイズ

オブジェクトの個数やサイズの制限値は，論理上の値です。性能上の制約や，マップサイズの範囲をあわせて考慮してください。

GUI画面で定義したオブジェクトの個数は，ドローの［表示］‐［オブジェクト数］を選択して，種別ごとに表示して確認できます。オブジェクト数を表示する操作の詳細については，ヘルプを参照してください。

表D-1　画面定義の制限値

オブジェクト
制限値

マップサイズ
物理マップサイズ
32KB

論理マップサイズ

定義パターンの登録
部品の登録
定義対象の種別ごとに32個。
ただし，レイアウト部品は一次ウィンドウと二次ウィンドウの合計で32個。

ウィンドウ
個数
一次ウィンドウは1個／定義。
二次ウィンドウは3個／一次ウィンドウ。

サイズ
画面の解像度に従う。
GUI画面の最大は，レイアウト領域のサイズで縦96ます×横160ます（48行×160列）。
CUI画面は24行×80列固定。

タイトル
78桁（定義時）。表示上の文字数は画面サイズに従う。

壁紙
ファイル（.bmp）のサイズで31,000バイト。

メニューバーのメニュー項目
個数
24項目／メニューバー。
メニュー項目の合計は96項目／定義。

サイズ
ラベル長64桁。

プルダウンメニューの項目
個数
24項目／メニューバーの項目。
メニュー項目の合計は96項目／定義。

サイズ
ラベル長64桁。

カスケードメニューの項目
個数
24項目／プルダウンメニューの項目。
メニュー項目の合計は96項目／定義。

サイズ
ラベル長64桁。

コメントの記述
画面属性
画面名：40文字（半角）※1。
コメント：56文字（半角）×4行 ※2。

イベント通知コード
文字数：40文字（半角）※2。

オブジェクト
文字数：40文字（半角）。

ボックス系オブジェクト
個数：各種の総和で255項目／定義。

テキスト
テキスト全般
サイズ：レイアウト領域に収まる範囲 ※3。

固定テキスト
レイアウト領域に収まる範囲。
ただし，文字サイズが標準文字サイズより小さい場合，160文字（半角）以内。

使用目的が「MCR」の入出力テキスト・フィールド
個数：1個／定義。
文字数：カードの文字列は64文字（半角）以内。

プッシュボタン
ボタン
ボックス
個数
各種別に64個／定義。

サイズ
ウィンドウサイズに従う。

ボタン
個数
24ボタン／ボタンボックス。

サイズ
ラベル長64桁。

ボタンに貼り付けるグラフィック
サイズ
31,000バイト。

ラジオボタン
チェックボタン
ボックス
サイズ
ウィンドウサイズに従う。

ボタン
サイズ
ラベル長64桁※3。

リストボックス
ボックス
サイズ
プレーンサイズ以下でレイアウト領域に収まる範囲。

プレーン
個数
1プレーン／ボックス。

サイズ
ラベル長255桁／リストボックス。
項目数254個／リストボックス。
ただし，組み合わせの制限はマップサイズの制限に従う。

フィールドボックス
ボックス
個数
4ボックス／定義。

サイズ
プレーンサイズ以下でレイアウト領域に収まる範囲。

プレーン
個数
1プレーン／ボックス。

サイズ
127行×255桁。

グループボックス
サイズ
レイアウト領域に収まる範囲。

タイトル
長さは「グループボックスの横サイズ－2ます」，または62文字（半角）以内。

ポップアップ
ボックス
サイズ：レイアウト領域に収まる範囲。

メニュー項目（ファイルを使用しない場合）
個数：2～128項目／1メニュー（プレーン）。
画面上の表示行数：レイアウト領域に収まる範囲。
サイズ：ラベル長，選択ラベル長，通知コード長とも64桁※3以内。
アクセスキー：は半角1～4文字の英大文字（A～Z）または数字（0～9）。

メニュー項目（ポップアップメニューファイル使用）
32,000項目／ファイル。
256項目／1階層。
サイズ：ラベル長，選択ラベル長，通知コード長とも64桁※3以内。
アクセスキー：は半角1～4文字の英大文字（A～Z）または数字（0～9）。

メニューの階層
8階層。

コンボボックス※4
ボックス
66桁以内。

メニュー項目
個数：2～128項目／1メニュー（プレーン）。
画面上の表示行数：レイアウト領域に収まる範囲。
サイズ：ラベル長，通知コード長とも64桁※3以内。

セパレータ
個数
2,000本（推奨）。

サイズ
レイアウト領域に収まる範囲。

アイコン
個数
1個／定義。

サイズ
変更できない。

固定グラフィック
出力グラフィック
個数
固定／出力それぞれ100個（推奨）。

サイズ
固定グラフィック：31,000バイト／オブジェクト。
出力グラフィック：100KB／オブジェクト（推奨）。

フィールドボックス内
各オブジェクトは，プレーン領域に収まるサイズで配置できる。フレーム，塗りつぶしフィールド，けい線はほかのオブジェクトに重ねて配置できる。
スクロール禁止領域には，入力／選択系のオブジェクトは配置できない。また，スクロール禁止領域とスクロール領域とにわたる配置もできない。

フィールド系オブジェクト
個数：総和で2,000個／フィールドボックス（推奨）。
また，CUI画面では2,048個／定義（推奨）。

固定フィールド
サイズ
GUI画面の最大は，半角で2,048文字以内。
CUI画面の最大は，レイアウト領域に収まる範囲。

出力フィールド
入出力フィールド
サイズ
GUI画面の最大は，半角で13,679桁※⁵以内（ただし，初期値を指定する場合は，2,048桁以内）。
CUI画面の最大は，レイアウト領域に収まる範囲。

予約フィールド
サイズ
255桁以内。

ポップアップフィールド
個数
個数：2～128項目／1メニュー（プレーン）。
画面上の表示行数：レイアウト領域に収まる範囲。

サイズ
ラベル長，通知コード長とも64桁以内※3。

フレーム
個数
制限なし。

けい線，矩形
個数
2,000本（推奨）。

注※1

テスト支援での制限があります。詳細はマニュアル「XMAP3 開発・実行ガイド」を参照してください。

注※2

ドキュメンテーション支援での制限があります。詳細はマニュアル「XMAP3 開発・実行ガイド」を参照してください。

注※3

データ型に数字編集を指定した場合，入力は18桁，出力は30桁以内になります。

注※4

大量の項目を持つコンボボックスおよびキー入力コンボボックスを，画面に大量に定義すると，生成されるウィンドウ数がWindowsの上限値を超えてしまい，画面を表示する際にAPにエラーが通知されることがあります。この場合は，定義するコンボボックスの個数またはメニュー項目数を減らすようにしてください。

注※5

使用目的に「英数」を指定した場合の値です。指定できる値は，定義条件に応じて異なります。

付録D.2　使用できるグラフィックデータ

＜この項の構成＞

(1)　グラフィックオブジェクトとデータ形式の関係

(2)　グラフィックの色

(1)　グラフィックオブジェクトとデータ形式の関係

オブジェクトごとに，使用できるデータ形式を示します。

オブジェクト
ビットマップファイル（.BMP）
メタファイル（.WMF）
拡張メタファイル（.EMF）
JPEGファイル※²（.JPGおよび.JPEG）
備考

壁紙
○
×
×
×
カラー／
モノクロ対応

固定グラフィック
○※1
○
○
○

出力グラフィック
○
○
○
○

ボタン
○
×
×
×

（凡例）

○：使用できる。

×：使用できない。

注※1

固定グラフィックにビットマップファイルを使用する場合，Windows形式だけを使用できます。

注※2

使用できるJPEG画像の形式はJFIF準拠 ベースライン形式（基本DCT方式のJFIF01-01，およびJFIF01-02）だけです。その他の形式（プログレッシブ方式など）は使用できません。

(2)　グラフィックの色

画面で使用するグラフィックデータの色は次のとおりです。ただし，ディスプレイがそれぞれの色数を表現できることが前提となります。

2色（1ビットモノクロ）

16色（4ビット）

256色（8ビット）

約6万色（16ビット HighColor）

約1,600万色（24ビット TrueColor）

使用する色が多くなると，グラフィックデータのサイズも大きくなります。通常は256色で運用することをお勧めします。ただし，JPEG画像については1,600万色のグラフィックデータとして扱われますのでJPEG画像を使用する場合はディスプレイを6万色以上に設定してください。

また，ディスプレイで表示できる色が256色の場合，瞬間的に色化け（ほかのAPの壁紙の色が異なる色に変わる）が発生することがあります。そのため，色はWindowsの基本20色とXMAP3の文字色，背景色に指定した色の範囲で作成することをお勧めします。ただし，表示するディスプレイが6万色以上であれば，色化けは発生しません。

なお，色数が少ないディスプレイに，ディスプレイより多い色数を使用したグラフィックデータを表示しても，エラーにはなりません。ただし，表示できる色数が少ないので，意図した内容が表示できません。

ディスプレイで表示できる色と作成したグラフィックデータの色数の関係を示します。

ディスプレイで表示
できる色数
作成したグラフィックデータの色数

2
16
256
3万／6万
1,600万色

2
○
△※1
×
×
×

16
○
○
×
×
×

256
○
○
○
×
×

3万／6万
○
○
○
○
○※2

1,600万色
○
○
○
○
○

（凡例）

○：表示できる。

△：ある程度表示できる。

×：表示できない。

注※1

一般的にモノクロのディスプレイが階調表示します。

注※2

表示は劣化しますが，見た目上では劣化の判別ができない程度です。

付録E　XMAP3のリターンコード・詳細コード

リターンコード，詳細コードとエラー内容を次の表に示します。16進表示のコードは，日立COBOLのコンソール画面に表示されるエラーコードに対応しています。日立COBOLのテストデバッガなどで，メモリ中のリターンコードを直接参照する場合は，1バイト目と2バイト目が逆になりますので注意してください。表中で使用する記号の意味を次に示します。

（S）システムの処理

（P）プログラマの処理

なお，次の表のリターンコード詳細に示すエラーコードが，20480～20516（16進数では(5000)₁₆～(5024)₁₆）の場合，すでにオープン状態であっても強制的にクローズ要求されたものとして処理します。

クローズ処理によって，表示されている画面が消えたり，その後の要求が24577エラー（16進数では(6001)₁₆エラー）となったりする場合がありますので，エラー原因を解決して再度アプリケーションを起動してください。

リターンコードと詳細コードを次の表に示します。

表E-1　リターンコードと詳細コード

詳細コード
内容
リターン
コード

1036
(040C)₁₆
定義している予約項目名が，OpenTP1で提供している予約項目名と一致しない。
（S）処理を続行する。
（P）予約項目に定義している予約項目名がOpenTP1で提供している予約項目名と一致することを確認して，物理マップを再作成後，アプリケーションを再実行する。
4

1044
(0414)₁₆
定義されたイベント通知コードと対応しない確定キーが入力された。
（S）処理を続行する。
（P）入力された確定キーに対応するイベント通知コードを定義し，物理マップを再作成してAPを再実行する。
4

1060
(0424)₁₆
カーソル位置が不正である。APで設定するカーソル位置の値が画面上に存在しない。
（S）処理を続行する。
（P）画面範囲内のカーソル位置を設定するようにAPを修正し，再コンパイル後，再実行する。位置を設定しないで領域をクリアする場合には(00)₁₆を設定する。
4

3072
(0C00)₁₆
物理マップの内容が破壊されている。
原因として次のことが考えられる。

デバイス種別とマップが一致していない。例えば，ディスプレイを表示するときにAPで指定したマップがプリンタ用である。

マップ情報が破壊されている。

（S）処理を終了する。
（P）物理マップを再作成して，アプリケーションを再実行する。
8

3104
(0C20)₁₆
実行環境のXMAP3より上位のバージョンで作成した物理マップが使用された。
（S）処理を終了する。
（P）実行環境のXMAP3のバージョンを，物理マップを作成したXMAP3と同じバージョンにして，APを再実行する。
8

4100
(1004)₁₆
何らかの原因でデータ化けが発生したことにより，物理マップ中の入力物理マップ名情報が破壊されている。
（S）処理を終了する。
（P）物理マップを再作成して，アプリケーションを再実行する。メッセージとマップ名を正しく対応づける。
8

4104
(1008)₁₆
何らかの原因でデータ化けが発生したことにより，物理マップ中の作成管理情報が破壊されている。
（S）処理を終了する。
（P）物理マップを再作成して，アプリケーションを再実行する。
8

5120
(1400)₁₆
指定した物理マップが見つからない。または，APで指定した仮想端末と指定した物理マップのデバイス種別が一致しない。
（S）処理を終了する。
（P）

表示・印刷セットアップの「アプリケーション1」タブの「マップ」で指定しているフォルダ，またはAPを実行したカレントフォルダに，指定した物理マップ（拡張子はpmp）があることを確認し，APを再実行する。

APで指定した仮想端末名（例えばDSP001）に対して，物理マップのデバイス種別（例えばデバイスIDがND/NC）が合っているか確認し，APを修正後，再実行する。

8

5124
(1404)₁₆
物理マップのロード処理中に入出力エラーが発生した。
（S）処理を終了する。
（P）物理マップを再作成して，アプリケーションを再実行する。
8

16388
(4004)₁₆
マッピング処理プログラムの実行環境が不正なため，エラーが発生した。原因としては，次のことが考えられる。

インストールが正しくされていない。

XMAP3外字機能がインストールされている環境で，コード変換SDK，コード変換ランタイム，日立コード変換 - Server Runtimeまたは日立コード変換 - Client Runtimeがインストールされていない。

（S）処理を終了する。
（P）

再インストールを行う。

実行時に必要なPPのインストールをする。

8

16400
(4010)₁₆
何らかの原因でデータ化けが発生したことにより，物理マップ中のサイズ管理情報が破損している。
（S）処理を終了する。
（P）物理マップを再作成して，APを再実行する。
8

16428
(402C)₁₆
同時に動作しているほかのアプリケーションなどの関係，またはリソースの物理的不足により，マッピング処理の実行時に必要なメモリが不足した。
（S）処理を終了する。
（P）

ほかのアプリケーションを終了するか，PCを再起動する。

PC上のリソースを見直し，メモリの増設などを行う。

8

16436
(4034)₁₆
仮想端末と物理マップのデバイス種別が一致していない。
原因としては，次のことが考えられる。

画面用の仮想端末に帳票用の物理マップを指定した。

物理マップのマップ名称をエクスプローラなどで変更した。

物理マップが壊れている。

XMAP3インストールフォルダ下のETCフォルダのX3MWCONFファイルがない，または空ファイルになっている。

（S）処理を終了する。

（P）

APで指定している仮想端末と物理マップのデバイス種別が一致することを確認し，再コンパイル・再実行する。

物理マップを再作成して，APを再実行する。

X3MWCONFファイルがないまたは空ファイルの場合は，アンインストール後に再インストールする。

8

20480
(5000)₁₆
XMAP3の定義ファイルの内容とC/Sシステム環境での通信関係の設定が不正である。
（P）OSでのネットワーク構成との不整合が生じたことによる障害が考えられる。サーバ，全クライアントおよびOSをすべて終了し再起動する。
8

20482
(5002)₁₆
二次ウィンドウが表示されていない状態で二次ウィンドウに対して入力要求を行ったためにエラーが発生した。AP内での処理シーケンスが不正になっていることが考えられる。
（P）画面の送受信のシーケンスを見直す。
8

20484
(5004)₁₆
同時に動作しているほかのアプリケーションなどの関係，またはリソースの物理的不足により，表示サービスの実行時に必要なメモリが不足した。
（P）

ほかのアプリケーションを終了するか，PCを再起動する。

PC上のリソースを見直し，メモリの増設などを行う。

8

20485
(5005)₁₆
C/Sシステム環境での通信処理で，回復不能エラーが発生した。同時に動作しているほかのアプリケーションなどの関係で，PC上のリソース（主にメモリ）が不足したことが考えられる。また， LANの回線上で障害，データ化けが発生したことが考えられる。
（P）ほかのアプリケーションを終了するか，PCを再起動する。
8

20487
(5007)₁₆
何らかの原因でデータ化けが発生したことにより，物理マップ中のバージョン情報が破壊されている。
（P）物理マップを再作成して，アプリケーションを再実行する。
8

20488
(5008)₁₆
メインウィンドウ（一次ウィンドウ）が表示されていない状態で，サブウィンドウ（二次ウィンドウ）を表示すると発生する。一般的にはAP内での処理が不正になっていることが考えられる。
（P）表示するマップ名および画面の表示処理シーケンスを見直す。
8

20489
(5009)₁₆
XMAP3内部処理で何らかの異常が発生したことにより，表示サービスのプログラムがダウンした。
（P）システム的な要因が原因である（システムリソースの異常・ほかのアプリケーションでの異常）ことが考えられる。 PCを再起動・再実行する。
8

20490
(500A)₁₆
画面属性の入力単位に「表示直後」を定義した画面で，「入力必須」または「選択必須」を定義したオブジェクトが
存在する。
（P）画面属性およびオブジェクトに指定している属性を見直し，物理マップを再作成して，アプリケーションを再実行する。
8

20493
(500D)₁₆
XMAP3内部処理で何らかの異常が発生したため，サーバ内のプログラムに論理矛盾が起きた。
（P）システム的な要因が原因である（システムリソースの異常・ほかのアプリケーションでの異常）ことが考えられる。PCを再起動・再実行する。
8

20508
(501C)₁₆
TCP/IPによる通信処理で何らかの障害が発生した。または，インストールの失敗により，表示に必要なモジュールが格納されていない。
（P）

1回も動作していない場合は，TCP/IP関連の設定環境を見直す。動作中に発生した場合は，相手WS／PCの状態を確認し，APを再実行する。

既存のモジュールをアンインストールし，再度インストールを行う。

8

20514
(5022)₁₆
表示サービスが利用できない。

出力する仮想端末のPCが起動していないため，XMAP3が動作していない。

出力する仮想端末関連の定義が不正なため，XMAP3の表示・印刷サービスが起動されていない。

仮想端末名ファイルと，サービス名ファイルの定義情報が不一致。

サービス名ファイルと，表示・印刷セットアップの定義情報が不一致。

（P）

出力先のPCを起動する。

C/Sセットアップを実行し，表示・印刷セットアップでAPから指定している仮想端末名のサービス名称を一致させてから，APを再実行する。

8

20515
(5023)₁₆
C/Sシステム環境の場合，表示サービスが存在する環境の XMAP3と，APが動作している環境のXMAP3のバージョンが不整合である。
（P）それぞれインストールされているXMAP3のバージョンを確認し，整合性のあるバージョンになるようにインストールし直す。基本的に XMAP3間では同一バージョンを利用する。WSとのC/Sシステム構成の場合，前提となるWS側のバージョンを調査しておく。
8

20516
(5024)₁₆
XMAP3の出力処理中にWindowsまたはXMAP3内部で回復不能なエラーが発生した。
（P）システム的な要因が原因（システムリソース不足，プリントマネージャの異常検知）であることが考えられる。
PCを再起動後，再実行する。
8

24576
(6000)₁₆
jsvwadrv関数を実行時，指定したパラメタが不正である。またはTRANSCEIVE要求，RECEIVE要求，jsvwadrv関数実行時に誤った論理マップ名を指定しているか，リトルエンディアン／ビッグエンディアンが誤っている物理マップを指定している。
（S）処理を終了する。
（P）AP中で指定したパラメタが正しいかを見直し，再コンパイル後，再実行する。
8

24577
(6001)₁₆
jsvwadrv 関数の発行順序が不正である（OPEN要求を行わずにほかの要求を行った，またはSEND要求を行わずにRECEIVE要求を行った）。
（S）処理を終了する。
（P）AP中の jsvwadrv 関数を発行している処理で発行順序が正しいかを見直し，再コンパイル後，再実行する。
8

24578
(6002)₁₆
仮想端末名ファイルの内容に下記の不正がある。

APで設定している仮想端末名称が定義されていない。

1行の終わりに改行が設定されていない。

1行が511バイトを超えている。

ファイルサイズが32,767バイトを超えている。

下記の各パラメタが形式外
仮想端末名：8文字以内，先頭は英字，英数字を使用
デバイス：指定できる文字は固定
サーバホスト名称：32文字以内
サーバサービス番号：5文字以内，数字を使用，
1,024～65,535の範囲
サービス名称：40文字以内，半角文字を使用
環境定義ファイル名称：64文字以内

（S）処理を終了する。
（P）APで設定した仮想端末名を見直す，または仮想端末定義ファイルの設定内容を見直し，再実行する。
8

24579
(6003)₁₆
ファイルシステム容量不足や，何らかの原因により，ログファイルのアクセス中にエラーが発生した。
（S）処理を終了する。
（P）

ほかのアプリケーションを終了するか，PCを再起動する。

ログファイルを出力するために指定したフォルダが書き込み可能であるかを確認する。

8

24580
(6004)₁₆
仮想端末名ファイルのオープン処理，または物理マップロード中に必要なメモリが不足した。
（S）処理を終了する。
（P）ほかのアプリケーションを終了するか，PCを再起動する。
8

24581
(6005)₁₆
仮想端末名ファイルをアクセス中に入出力エラーが発生した。
（S）処理を終了する。
（P）

仮想端末名ファイルが読めるかを確認し，再実行する。

読めない場合は，アンインストール後に再インストールする。

8

24584
(6008)₁₆
COBOLのCALL文を使用してXMAP3の画面をアクセスする場合，またはC言語でアクセスする場合，共通インタフェーステーブル中に指定した入力論理マップの大きさが，実際の論理マップの大きさより小さい。
（S）処理を終了する。
（P）APの処理を見直し，再コンパイル後，再実行する。
8

付録F　用語解説

（英字）

AP（Application Program）

画面・帳票に入出力する業務プログラムです。

API（Application Programming Interface）

画面・帳票にデータを入出力するときのAPとXMAP3のプログラムインタフェースです。

APが受け取る項目

入力論理マップのデータ項目で，APが受け取る次のデータを格納します。

・キーボードから画面上に入力されたデータ

・画面上で選択された候補（メニューやボタン）に対応する通知コード

APが渡す項目

出力論理マップのデータ項目で，APが渡すデータ（AP実行時に毎回変更する内容）を格納します。

AP環境ファイル（X3MWDRV）

マッピングライブラリ実行時の各種情報を取得するための設定ファイルです。このファイルの内容は，表示・印刷セットアップやロギング支援のプロパティで設定します。

ログの取得，物理マップのロードパス，物理マップの常駐サイズを指定します。デバッグやチューニングのときに必要に応じて設定します。

場所と名前 ： XMAP3インストール先¥ETC¥X3MWDRV

APパターン・AP部品

APの定型的な型としてXMAP3が提供しているパターンで，COBOL用とC言語用があります。APパターンは，プログラムの標準的な骨組みです。AP部品は，処理の手続きです。

これらを組み合わせて利用すると，APを効率良く作成でき，定型的なコーディングの統一も図れます。

格納場所 ： XMAP3インストール先¥PATTERNS¥COBOL（またはC）

C/Sシステム（Client / Server System）

サーバとクライアントで処理を分散する業務形態です。また，一つの処理をネットワーク上のサーバとクライアントで分担する機器構成モデル，または処理方式です。

C/Sセットアップ

XMAP3のC/Sシステム環境に関する設定をするための機能です。

C/Sセットアップは，サーバとなるPC（アプリケーションがあるPC）で設定する必要があります。クライアントPCでセットアップを実行しても，設定内容は無効になります。

CD項

XMAP3で画面の入出力をするためにCOBOLプログラム中にコーディングする論理端末定義ブロックです。物理マップ名称や端末名称などを指定します。

COBOL言語での通信記述項といいます。

CSVファイル（Comma Separated Values）

データの区切りをコンマ（，）や改行で表すテキストデータを格納するファイルです。表計算ソフトで入力して，ユーザ独自の形式に編集できます。

XMAP3では，ドキュメンテーション支援で各種情報をCSVファイルに出力できます。

CUI画面

キーボードからの文字入力が中心の画面です。従来のメインフレーム型オンライン業務か，MS-DOSベースの業務で使用していた画面です。

XMAP3では，画面の入出力を物理マップと論理マップを使って実現しています。

EUC（Extended UNIX Code）

ターゲットが「AIX」，「Linux」，「Solaris」の場合に使用する文字コードです。

GUI画面

キーボードからの入力のほかに，マウスによる操作ができる画面です。Windowsの「ボタン」「スクロール」「プルダウン・カスケード」「ポップアップ」などが使用できます。

XMAP3では，画面の入出力を物理マップと論理マップを使って実現しています。

MAPPING MODE句（マッピングオプション（マッピングモード））

COBOLの通信記述項にマッピングオプションを指定する領域です。次に示すマッピングオプションに対応しています。マッピングオプションを参照してください。

マージ　　　　　：空白または0

論理マップだけ　：2

物理マップだけ　：3

OLTP（Online Transaction Processing）

オンライントランザクション処理のことで，OpenTP1で実現します。OpenTP1を使用すると，クライアントアプリケーション型のOLTPシステムを構築できます。

RECEIVE

画面からデータを入力するときに日立COBOL用のプログラムの中にコーディングする命令語です。

SEND

画面を出力するときに日立COBOL用のプログラムの中にコーディングする命令語です。

TRANSCEIVE

画面を出力してデータをAPに入力するときに日立COBOL用のプログラムの中にコーディングする命令語です。

XMAP3インストール先

インストール時にユーザが任意に指定できます。特に指定しない場合は，次のフォルダ（ディレクトリ）にインストールされます。

Windows 95，Windows 98，Windows Me，Windows NT 4.0，Windows 2000，Windows XP，およびWindows Server 2003の場合
Windowsフォルダがあるドライブ¥Program Files¥HITACHI¥XMAP3

Windows Server 2003 x64の場合
Windowsフォルダがあるドライブ¥Program Files(x86)¥HITACHI¥XMAP3

（ア行）

アクセスキー

メニューバー，ポップアップメニュー（ポップアップメニューファイルを使用する場合も含める），およびプッシュボタンボックスで，候補の選択操作をするためのキーです。

これらのオブジェクトにフォーカスが位置づいているとき，アクセスキーを押すことで該当するメニュー項目やボタンを選択できます。また，［Alt］ + アクセスキーを押すことでメニューバーのメニュー項目を選択（プルダウンメニューを表示）できます。

一次ウィンドウ

メインとなる画面で，何も表示されていない状態のときに表示します。業務を選択するメニューや，各業務の主画面として使用します。

一つのAPから同時に複数表示されることはなく，すでに表示している一次ウィンドウの消去後に次の一次ウィンドウが表示されます。

イベント通知コード

コマンドコントロールオブジェクト（プッシュボタン，メニューバー）や確定キー（PFキーなど）に割り当てるコードです。オブジェクトやキーを操作するとイベントが発生し，通知コードに対応づけた動作（AP通知など）が実行されます。これを「INC定数」といいます。また，入力単位がイベントのとき通知される「イベント定数」もあります。

イベント通知コードの値はドローセットアップで変更できます。動作はドローで変更できます。

ウィンドウ

ユーザ作成画面です。タイトルバー，メニューバー，レイアウト領域，オペレータインジケータで構成されます。

ウィンドウ種別

XMAP3で定義する画面には，一次ウィンドウと二次ウィンドウがあります。

一次ウィンドウは，メインとなる画面で，何も表示されていない状態のときに表示します。業務を選択するメニューや，各業務の主画面として使用します。原則として，一つのAPから同時に複数表示されることはなく，すでに表示されている一次ウィンドウを消去してから次の一次ウィンドウが表示されます。

二次ウィンドウは，一次ウィンドウを表示したまま新しく表示する画面です。データ入力の入力補助，メッセージ，ヘルプなどに使用します。一次ウィンドウに重ねて複数（最大3個）の二次ウィンドウを表示できます。このときの操作対象は，最後に表示した二次ウィンドウだけになります。

埋字

入力（または出力）されたデータが，APが受け取る項目（またはAPが渡す項目）の長さより短いとき，残りの領域を埋める文字です。右側と左側のどちらに埋字を格納するかは，桁寄せの指定に従います。ドローで作成したオブジェクトには，ドローセットアップで指定した埋字が仮定されます。必要に応じて，ドローのダイアログで変更できます。なお，埋字に指定できるのは半角文字だけです。埋字を「スペース」で指定した場合，漢字専用で使うオブジェクトでも1文字に付き半角スペース二つが埋字されます。

エラー通知文字

XMAP3が入力データにエラーを検出した場合に，APが受け取るデータです。

使用目的が「カナ」で詳細目的が「カナ・半角」（詳細目的はGUI画面だけ）のエントリ系オブジェクトに対して，全角文字を入力したときに，入力データのエラーとなります。

また，属性の「空白入力」が「一部&全桁（半角）」または「一部（半角）」のエントリ系オブジェクトに対して，全角の空白を入力した場合も入力データのエラーとなります。ただし，表示・印刷セットアップの「日本語入力」タブで，全角スペースを半角スペース2個に変換する指定をしている場合は該当しません。

オペレータインジケータ

XMAP3がキーボード状態や送信状態などのメッセージを画面に表示するための領域です。ユーザプログラムからの操作はできません。

オペレータインジケータの有無はドローで定義します。表示位置などは表示・印刷セットアップで設定できます。

（カ行）

カーソル・フォーカス制御

カーソル・フォーカス制御は，ドローセットアップで設定します。

カーソル・フォーカス制御は，同時に制御するか別々に制御するかを選択できます。

カーソル制御

カーソル制御は，ドローセットアップのカーソル・フォーカス制御で設定します。カーソル制御には，論理カーソルと行列（2進）カーソルの2種類があります。

論理カーソルは，カーソル位置をカーソル定数で制御します。カーソル定数はXMAP3が生成するため，画面のオブジェクト（フィールド）の位置を変更してもAPを変更する必要はありません。

カーソル定数

入力可能なフィールドにカーソルを位置づけるための定数です。

下位項目

オブジェクトの入出力となる一つのデータ項目を階層化して，複数の項目に細分できます。この場合，APは細分化された下位項目を使ってデータを参照・格納できます。

下位項目は，データ型が「文字（XX）」の場合に指定できます。

隠しフィールド

実際の画面には表示されないフィールドで，入力固定項目として使います。

入力固定項目とは，入力論理マップに必ず固定の値を返すデータ項目で，論理マップ可変部の最初のデータ項目として展開されます。

仮想画面

画面ごとのデータをAPとやり取りするために，XMAP3が持っている仮想的な画面です。

APから返されたデータは，仮想画面に展開されてから，実際のウィンドウに表示されます。ユーザの入力データも，仮想画面を介してAPに返されます。

仮想端末名ファイル

APがプログラム中で使用する仮想端末名，デバイス，サービス名などの設定ファイルです。このファイルの内容は，C/Sセットアップの「C/S構成」で設定します。

なお，スタンドアロン環境でプリンタを1台だけ使用している場合は，特に設定する必要はありません。

場所と名前 ： XMAP3インストール先¥ETC¥X3MWHOST

壁紙

指定するグラフィックをレイアウト領域の各オブジェクトの背後に表示します。壁紙のグラフィックには，ビットマップファイル（BMP）が使えます。レイアウト領域より小さい壁紙はタイル状に並べられて表示されます。レイアウト領域より大きい壁紙は，はみ出し部分（下側・右側）は表示されません。なお，壁紙はレイアウト領域には表示されません。確認には，テスト表示を利用してください。

画面属性

入力項目の扱いや表示形態などの画面全体に関する属性です。GUI画面では画面属性ダイアログで属性を指定します。また，画面属性はAP実行時に動的に変更することもできます。APから動的に変更するには，ドローセットアップの「画面属性の動的変更」で変更したい属性を定義します。ここで指定した修飾名を制御項目に代入することで，指定した属性に変更できます。

キーエントリ

キーボードから文字列を入力するための各種オブジェクトの総称です。

入出力テキスト・フィールド，入出力日付／時刻テキスト・フィールドが該当します。

基準文字サイズ

GUI画面の作業領域全体の基準となる文字サイズです。CUI画面では変更できません。この値は，画面属性ダイアログの「基準文字サイズ」で設定します。

画面のレイアウト領域でオブジェクトを配置するときの単位となるグリッド（ます目）は，このサイズが基準になります。文字の縦幅の1/2がます目の縦幅，半角文字の幅がます目の横幅になります。

各オブジェクトでは，この基準文字サイズを基に「標準」「大」「小」の文字サイズ指定ができます。

空白入力

データ項目に半角の空白，全角の空白，またはそれらの混合の挿入を許すかどうかを指定します。

グラフィック

グラフィックデータを出力するオブジェクトです。データには，ビットマップ（.BMP），メタファイル（.WMF），拡張メタファイル（.EMF），JPEGファイル（.JPG，または.JPEG）が使えます。

出力するデータをドローで定義する「固定グラフィック」と，APから指定する「出力グラフィック」があります。

固定グラフィックは配置する前にあらかじめグラフィックファイルを用意しておきます。

出力グラフィックは領域だけを配置します。グラフィックデータは，APからファイル名またはクリップボード経由で渡します。

グラフィックコントロール

画面内のオブジェクトを整理・強調するための各種オブジェクトの総称です。

グラフィック，セパレータ，けい線，矩形，メッセージアイコン，塗りつぶしフィールドが該当します。

グリッド

ドローのレイアウト領域上の座標を示す格子状の線や点で，オブジェクト配置位置となります。格子一つ分の単位を「ます」といいます。

画面定義でのますのサイズは，画面属性で指定する基準文字サイズに従います。行方向は文字サイズの半分，列方向は半角文字の幅がそれぞれますの縦幅／横幅となります。

グループコントロール

中にほかのオブジェクトを配置できる各種オブジェクトの総称です。

グループボックス，フィールドボックス，フレームが該当します。

グループボックス

画面上のオブジェクト（セパレータを除く）を囲んでグループ化するオブジェクトです。

必要に応じて，グループボックス単位にフォーカス遷移の順序を設定できます。

桁

使用する文字数を半角換算で数えた単位です。

桁寄せ

次の場合に，データを右や左に寄せてやり取りすることです。

・入力データが，APが受け取る項目の長さより短い

・出力データが，APが渡す項目の長さより短い

後退キー（Back Space）

表示・印刷セットアップで［BackSpace］キーの指定に対応して動作が次のように異なります。

・直前の項目　：　テキスト・フィールドの先頭にカーソルを位置づける。テキスト・フィールドの先頭では，前の位置にあるテキスト・フィールドにフォーカスが移動する。

・1文字削除　：　直前の文字を削除し，間を詰めます。

・ヌル置換 　：　直前の文字をヌル（(00)₁₆）で置き換えます。

候補選択コントロール

画面に表示された各候補から対象を選ぶための各種オブジェクトの総称です。

リストボックス，ラジオボタン，チェックボタン，トグルフィールドが該当します。

項目

APとXMAP3でやり取りする論理マップ中の各要素を項目といいます。画面や帳票に表示するユーザデータを扱う項目をデータ項目といい，表示属性を変更する目的で使用する項目を制御項目といいます。データ項目は，データ型によって，次のように呼びます（COBOLの場合）。

・文字項目　　　：　データ型が文字（XX）のときのデータ項目

・数字項目　　　：　データ型が数字（99）のときのデータ項目

・数字編集項目　：　データ型が数字編集（Z，9，¥などの組み合わせ）のときのデータ項目

・漢字項目　　　：　データ型が日本語（NN）のときのデータ項目

固定テキスト・フィールド

固定の文字列を出力するオブジェクトです。文字列はドローで定義します。

全角文字を使える「日本語」と，半角文字だけを使える「英数」があります。

コマンドコントロール

選択操作で，イベントを発行して処理を実行するための各種オブジェクトの総称です。

プッシュボタンとメニューバーが該当します。

コントロールメニュー

GUI画面で，タイトルバー左端のアイコン（またはボタン）から表示されるWindowsのシステムメニューです。

XMAP3では，コントロールメニューに［閉じる］メニューを使用するかどうかを表示・印刷セットアップで設定できます。

コンボボックス

候補（メニュー項目）を選択したり，データを直接，キー入力したりして，入力するデータを指定するオブジェクトです。

必要な場合だけ入力するオプションを選択するときなどに使います。

メニューは付属しているボタンを選ぶと表示されます。メニュー項目をドローで定義する「固定コンボボックス」と，APから指定する「可変コンボボックス」があります。

なお，ドローでは［コンボボックス］を使用するとメニュー選択するコンボボックスを定義でき，［キー入力コンボボックス］を使用すると，キー入力するコンボボックスが定義できます。このマニュアルではこれらを区別するため，メニュー選択するコンボボックスを「メニュー選択コンボボックス」，キー入力するコンボボックスを「キー入力コンボボックス」と記述し，総称として「コンボボックス」と記述しています。

（サ行）

サービス名ファイル（ X3PHOST）

サーバに関連するサービス名やサービス種別などの設定ファイルです。このファイルの内容は，C/Sセットアップの「C/S構成」で設定します。C/Sセットアップで設定できない情報は，直接このファイルを設定してください。

この情報はサーバ側だけに設定します。スタンドアロン環境の場合は，このファイルの設定は不要です。

場所と名前 ： XMAP3インストール先¥ETC¥X3PHOST

再定義名

定義済みの論理マップを別定義として使用するときの名称です。半角で30字以内で定義します。

入力論理マップ用と出力論理マップ用とで別の名称にすることもできます。

削除キー（Delete）

入力ができるテキスト・フィールドのデータを1文字ずつ削除するためのキーです。

時刻（入出力，出力）

時分秒を表示できます。時分秒は，時刻ダイアログ（出力／入出力）での指定します。「時」「分」「秒」の区切りには何を使うか，直前のゼロを表示するかしないかなど，どのような形式で表示するかは時刻ダイアログの選択肢で選べます。このような定義をしておくと，入力した数字データは，定義した形式になって表示されます。

修飾名

表示属性の変更をAPから指示するための定数です。次の手順で利用します。

ドローセットアップで，修飾名と表示属性の対応を定義する。

ドローで，オブジェクトや画面の属性に「動的変更」を指定する。
制御項目（修飾名を格納する領域）が論理マップに展開されます。

APで，制御項目に修飾名を格納する。
修飾名に設定された表示属性に従って，画面に表示（または帳票に印刷）されます。

出力テキスト・フィールド

APから指定する可変の文字データを出力するオブジェクトです。

出力する文字に応じて，種類（使用目的）を選べます。

ショートカットキー

メニューバーのメニュー項目の選択操作をするためのキーです。

フォーカス・カーソルの位置に関係なく，［Ctrl］+半角英字1字を押すことで該当するメニュー項目を選択できます。

なお，メニューバーのメニュー項目，またはカスケードメニューを持つプルダウンメニューにはショートカットキーを定義できません。

初期クリア文字

AP実行時に，画面からの入力データをAPが受け取る前に，XMAP3が入力論理マップの各項目をあらかじめクリアしておく文字です。使用目的が「漢字」の場合でも，半角スペースが入ります。

なお，APが受け取るデータの優先順位は次のとおりです。

1．キー入力データ／選択した通知コード（正常操作）

2．入力済み／選択済みのとき，表示されているデータ／通知コード

3．エラー通知文字

4．初期値／初期通知コード

5．初期クリア文字

初期値

初期値には，入力と出力によって初期値の内容が次のように変わります。

《出力》

出力論理マップの各項目にあらかじめ設定しておく値です。AP実行時に，出力データの代わりにデータ有無コードを設定した場合は初期値が有効になります。

《入力》

AP実行時に，画面からの入力データをAPが受け取る前に，入力論理マップの各項目にあらかじめ設定しておく値です。なお，APが受け取るデータの優先順位は次のとおりです。

1．キー入力データ／選択した通知コード

2．入力済み／選択済みのとき，表示されているデータ／通知コード

3．エラー通知文字

4．初期値

5．初期クリア文字

数字編集項目

指定したピクチャ句に従って，数字を編集して入出力します。ピクチャ句は，次の文字で指定します。

入力： S V 9

出力： ＊ ＋ － ¥ 9 ． ， Z ／

スクロール領域

ウィンドウやボックス内で，表示範囲を移動できる領域です。表示範囲の移動はスクロールバーで操作します。

これに対し，表示範囲の移動対象外の領域を「スクロール禁止領域」といい，ウィンドウやボックス内に常に表示されます。

スピンボックス

入出力テキストの右端に，テキストに表示されている数字の増減をコントロールするステッパが付いているボックスです。増分値を指定すると，指定した間隔で表示されている数字が増減します。

スプラッシュ画面

メニューバー，タイトルバーおよびオペレータインジケータを表示しない画面です。壁紙などのグラフィックや表示直後に次の画面と切り替わる定義と併用して，APを実行する前にそのAPや製品を効果的に紹介するのに利用できます。

セットアップ情報の反映

ユティリティの機能の一つです。すでに作成したマップ定義ファイルや書式定義ファイルに対して，ドローセットアップの情報を反映します。ドローで画面を定義したあとに，ドローセットアップで動的変更などの設定を変更した場合に使います。

セパレータ

画面上の各オブジェクトの間を区切るときに使うGUI画面用の線オブジェクトです。縦線と横線が使えます。

選択エントリ

選択操作で文字列を入力するための各種オブジェクトの総称です。

コンボボックス，ポップアップ，スピンボックスが該当します。

挿入キー（Insert）

テキスト・フィールド上の文字列の間に，文字を挿入するための半角1文字分を空けます。挿入した空きに文字を書き込まないときは，APが受け取るデータ上で空きが詰められます。

動作の詳細については，表示・印刷セットアップで設定できます。

（タ行）

チェックボタン

入力するデータを候補（ボタン）の選択によって指定するオブジェクトです。グループ内の複数のボタンから複数の選択ができます。ラベル長や選択肢の数が少ないときに使います。

ボタンラベルをドローで定義する「固定チェックボタン」と，APから指定する「可変チェックボタン」があります。

チェックボタンのグループを表すボックスを「チェックボタンボックス」といいます。

通信記述項（CD項）

XMAP3で画面の入出力をするためにCOBOLプログラム中にコーディングする論理端末定義ブロックです。物理マップ名称や端末名称などを指定します。

（画面の例）

通知コード（データ入力用）

候補（ボタンやリスト項目など）の選択によってデータ入力をするオブジェクトで，各候補に割り当てるコードです。

ユーザが選んだ候補に対応する通知コードが，APが受け取る項目に格納されます。

定義パターン

ドローで画面を新規作成するときに，用途に応じて指定するパターンです。標準的なレイアウト領域のサイズやパターンなどがあらかじめ設定されていて，ドローでのレイアウト定義の基本フォーマットとなります。

XMAP3が標準提供している定義パターンのほかに，ユーザが独自に作成・登録することもできます。

データ有無コード

AP（論理マップのテキスト・フィールドのデータ名の領域）にデータが設定されていないことを示す1バイトの文字コードです。(00)₁₆～(FF)₁₆の間で任意で，通常は(1F)₁₆を仮定します。

コードを変更する場合は，使用する言語に応じて次のとおりになります。

COBOLの場合

1．SEND／RECEIVEのとき，通信記述項のDATA ABSENCE CODE句

2．CALLのとき，オープン要求のインタフェース

C言語の場合

1．jsvwadrv関数のオープン要求インタフェース

データ型

COBOLのピクチャ句で指定するデータの型です。文字型や数字型があります。Cの場合は，charだけです。ドローで作成したオブジェクトには，ドローセットアップで指定したデータ型が仮定されます。必要に応じて，ドローで変更できます。

データ型は，文字用，数字用，数字編集用に分かれます。使用できるデータ型は次のとおりです。

《入力用のデータ型》

文字用　　　：　文字（XX），漢字（NN），漢字（XX）

数字用　　　：　99999

数字編集用　：　S99999，999V9など

《出力用のデータ型》

文字用　　　：　文字（XX），漢字（NN），漢字（XX）

数字用　　　：　99999

数字編集用　：　Z，9，¥などを組み合わせた各種数字編集文字列

また，登録されていないデータ型を指定したい場合，「自由な設定」ボタンで表示されるダイアログで任意に設定できます。

データキー（Ctrl＋End）

画面上のすべての入力テキスト（または入力フィールド）の文字を消去するためのキーです。データクリアキーともいいます。

データ消去通知文字

AP実行時に，画面からフィールドキーで入出力テキスト・フィールドのデータを消去したり，(00)₁₆のデータを受信したときにAPが受け取るデータです。したがって，APが受け取ったデータがデータ消去通知文字であれば，画面操作でデータ消去されたと判断できます。

初期クリア文字や初期値とデータ消去通知とを分けておくことで，入力操作がなかったのか，データ消去されたのかが区別できます。

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

なお，使用目的が「漢字」の場合でも，半角スペースが入ります。

データ長

論理マップの長さ（バイト数）です。通常は，桁を基に各ターゲットに応じた値が自動的に計算されます。ユーザ任意の値を設定できるターゲットもあります。

データ名，制御項目データ名

データ項目名（またはデータ名）は，データの入出力に関する各項目の領域の名称です。データ名のうち，修飾名（表示属性の変更をAPから指示するための定数）を格納する領域の名称を制御項目データ名といいます。

トグルフィールド

「YES／NO」などの印を付けるためのオブジェクトです。表の各行末に配置して，「オン／オフ」や「済／未」を表す場合などに使います。

ドロー

画面を定義する機能（エディタ）です。画面のレイアウトや各オブジェクトの属性を定義します。

また，ドローからテスト表示や論理マップ表示などの機能も利用できます。

ドローセットアップ

画面の定義に関する標準の値を設定するための機能です。

XMAP3では，セットアップする項目の標準値を用意していて，この標準値を変更する場合にだけ設定します。このセットアップの内容はマップの形式に関係していますので，画面を作成する前にセットアップを済ませておく必要があります。

（ナ行）

二次ウィンドウ

データ入力補助，メッセージ，ヘルプなどのために，一次ウィンドウのデータを表示したまま新しく表示する画面です。一次ウィンドウに重ねて表示され，このとき操作できるのは二次ウィンドウだけとなります。

日本語入力に関するセットアップ

日本語入力機能の使用に関する設定です。例えば，使用目的が日本語の場合，日本語入力状態にするかどうかになります。この設定は，表示・印刷セットアップの「日本語入力」の次の項目で設定します。

日本語入力の自動制御／日本語入力方式／自動起動するオブジェクト種別

／日本語入力対象外オブジェクト／日本語入力変換位置

入出力テキスト・フィールド

キーボードなどから文字データを入力するオブジェクトです。また，APから指定する文字データを表示できます。

初期表示値（出力データ）を示し，書き換えが必要な場合だけ入力する使い方ができます。

入出力するデータの意味に応じて，種類（使用目的）を選べます。

入力単位（画面／フィールド／イベント／表示直後）

画面を確定させ，APへ制御を渡すタイミングの種類です。通常は，画面の最後までデータを入力したり選択したあとで，確定の機能を持つキーやボタンを押して，APへ制御を渡します（画面）。「フィールド」では，フォーカスが位置づいているオブジェクトでデータの入力，選択を行い，そのオブジェクトからフォーカスが離脱した時点でAPへ制御が渡ります。「イベント」では，画面上のすべてのオブジェクトを対象にして，何かイベントが起こればAPに制御が渡ります。「表示直後」では，一定の待機時間が過ぎるとAPに制御が渡されます。

塗りつぶしフィールド

フィールドボックス内の領域に色を付けるオブジェクトです。ほかのオブジェクトを重ねて配置できます。1行置きに色のパターンを付けて行を見やすくする場合などに使います。

（ハ行）

反復定義

一つのオブジェクトを縦または横方向に繰り返す定義で，表形式で同じ属性のオブジェクトを並べる場合などに使います。

反復定義を使うと，同じ属性のオブジェクトを一つずつ配置するよりも効率良く定義できます。また，論理マップは配列（日立COBOLではOCCURS句）で展開されるので，APのロジックも反復指定で実現できます。

ビッグエンディアン

バイナリ形式のデータを扱う際，メモリ上に左から右側へ1バイトずつ格納する形式です。

（例）

(000A)₁₆を2バイトのメモリに格納した場合は，(000A)₁₆になります。

日付（入出力，出力）

年月日を表示できます。年月日は，日付ダイアログ（出力／入出力）で指定します。「年」を表すのに西暦にするか和暦にするか，「年」「月」「日」の区切りには何を使うか，直前のゼロを表示するかしないかなど，どのような形式で表示するかは日付ダイアログの選択肢で選べます。このような定義をしておくと，入力した数字データは，定義した形式になって表示されます。

表示・印刷環境ファイル

画面表示の設定ファイルです。このファイルの内容は，表示・印刷セットアップで設定します。

なお，このファイルの設定項目には，直接ファイルをエディタで開いて編集する（セットアップで設定できない）項目もあります。表示・印刷セットアップで設定できる項目については，セットアップ情報が優先されます。

場所と名前 ： XMAP3インストール先¥ETC¥X3PCONF

表示・印刷セットアップ

XMAP3が表示・印刷する画面・帳票の環境を必要に応じて設定するための機能です。

ユーザ画面の外観や操作キーの割り当て，プリンタの印刷モードなどの各種設定があります。

フィールドキー（End）

テキスト・フィールドで，カーソル以降の文字を削除します（標準の場合）。

割り当てるキーや動作は表示・印刷セットアップで変更できます。

フィールドボックス

多量のデータをまとめて入出力するためのボックスオブジェクトです。

次のような場合に適しています。

・けい線を使って，表形式でオブジェクトを並べる

・CUI画面を基本にして一部だけをGUI化（ファンクションキーによる選択部分だけのボタン化など）

・文章データなど，複数行にわたる文字データの表示

フォーカス

GUI画面の中で，あるオブジェクトを操作対象にすることをフォーカスを位置づけるといいます。

フォーカス制御

フォーカス位置の情報を制御するための制御項目です。APでは，フォーカスを設定したいオブジェクトに対応するフォーカス定数を，制御項目に格納して渡します。また，画面上でフォーカスが位置づいているオブジェクトに対応したフォーカス定数を，制御項目で受け取ります。なお，フォーカス定数は，XMAP3が生成します。このため，画面のオブジェクトの位置を変更しても，APを変更する必要はありません。

フォーカス定数

入力や選択が可能なボックスにフォーカスを位置づけるための定数です。

不活性（選択できない状態にする）

候補（ボタンやメニュー）を選択できない状態にします。表示方法と組み合わせて，選べる候補を制限したい場合に使います。AP実行中に選択可能な状態に戻したい場合は，該当するダイアログで「APから表示属性を変更する」を指定し，APから制御項目に活性を指定した修飾名（ドローセットアップで指定）を指定することで実現できます。

プッシュボタン

イベント（実行する処理）を候補（ボタン）の選択によって指定するオブジェクトです。イベントに対応する処理として「AP通知」や「ポップアップ表示」などを指定できます。確定キーの代わりとしても使えます。

ボタンラベルはドローで定義し，AP実行時に変更できます。ボタンラベルには，文字列のほかにグラフィックを表示することもできます。

プッシュボタンのグループを表すボックスを「プッシュボタンボックス」といいます。

物理画面

実際のディスプレイ画面です。各ウィンドウは，最終的にこの物理画面に表示されます。

物理マップ

画面のオブジェクトの位置などを格納した情報ファイルです。ファイル名はマップ名にデバイスIDを付加した名前で，拡張子は.PMPです。画面の定義終了時に，論理マップとともに生成されます。

ディスプレイやプリンタの入出力データを論理マップデータに変換したり，論理マップデータを入出力データに変換したりするときにXMAP3が参照します。

フレーム

複数のオブジェクトの組み合わせを縦方向または横方向に反復して並べるためのオブジェクトです。テキスト・フィールドなどを組み合わせて表形式で並べる場合に使います。論理マップには配列として展開されます。

プレーン

フィールドボックス，リストボックス，ボタンボックスが持つ領域で，ボックス内に表示するフィールドやボタンなどを配置するための平面です。

プレーンの属性の文字サイズは，プレーン内で共通の配置単位や文字サイズとなり，中のすべてのオブジェクトに適用されます。

フィールドボックスとリストボックスでは，ボックスよりも大きいプレーンを指定できます。画面上では，ボックスサイズの範囲だけが表示され，範囲外の部分はスクロールをして表示します。

ポップアップ

入力するデータを候補（メニュー項目）の選択によって指定するオブジェクトです。また，キーボードからの入力を併用する使い方もできます。

メニュー項目をドローで定義する「固定ポップアップ」と，APから指定する「可変ポップアップ」があります。

ポップアップメニューファイル

XMAP3では，ポップアップテキストに表示するメニューデータをAP実行時にファイルとして渡せます。このファイルをポップアップメニューファイルといいます。ポップアップメニューファイルは，あらかじめ作成して用意しておく必要があります。

ポップアップメニューファイルは，メニュー項目が大量にある場合や，メニューを大分類，小分類にして表示したい場合に使用します。また，ホスト連携機能を利用する場合，PC側にポップアップメニューファイルを持つことで，ホストとPC間で転送するデータ量を減らせます。ポップアップメニューファイルは，ユティリティの「ポップアップメニューエディタ」で編集できます。

（マ行）

マッピングオプション（マッピングモード）

「マージ」，「論理マップだけ」，「物理マップだけ」の三つの指定があります。この指定は，COBOLのSEND，RECEIVE，TRANSCEIVE文を使用したときに指定するMAPPING　MODE句と，COBOLのCALL文およびC言語の時に指定するマッピングインタフェース領域があります。

マージは，論理マップと物理マップをマージして，同一画面をすべて書き換えるときに指定します。ただし，同じ画面に対し，2回目以降の表示では固定部分（タイトルやけい線）は再描画しません。

論理マップだけは，一般的に2回目以降の表示で，入力した状態をそのままにして部分書き換えをするときに指定します。

物理マップだけは，メニュー表示など，物理マップだけで初期表示するときに指定します。

マップ生成

ユティリティの機能の一つです。マップ定義ファイルから，論理マップファイルと物理マップファイルを生成します。また，書式定義ファイルから書式イメージファイルと行制御データファイルを生成します。

マップ定義ファイル

ドローで定義した画面や帳票の定義情報であるソースマップを格納したファイルで，拡張子は.IMPです。

画面・帳票の定義終了時に，論理マップとともに生成されます。物理マップと論理マップは，このマップ定義ファイルを基に生成されます。

マップ展開方式

マップ生成時に出力される論理マップの数値領域の展開形を指定します。展開形式には，次に示す2種類があります。

リトルエンディアン用マップを展開
Windows，Linuxの場合で，スタンドアロンまたはC/Sシステム構成のときに使用できる展開方式で論理マップを生成します。

ビッグエンディアン用マップを展開
C/S（Windows，Linux以外のWSで共用）構成の場合に使用できる展開方式で論理マップを生成します。

メッセージアイコン

操作者に対して何らかの注意を促すときに表示します。メッセージアイコンは，基本的にメッセージと一緒に出力することをお勧めします。アイコンには，インフォメーション，ワーニング，クエスチョン，エラーの4種類があります。

メニュー形式

可変ポップアップテキストでポップアップメニューファイルを使用する場合，表示するポップアップメニューの形式を選択できます。メニュー形式には，標準のメニュー形式とリスト形式があり，リスト形式にはさらに「ポップアップ型」と「ダイアログ型」があります。

メニューバー

イベント（実行する処理）を候補（ボタン）の選択によって指定するオブジェクトです。イベントに対応する処理として「AP通知」や「ポップアップ表示」などを指定できます。確定キーの代わりとしても使えます。

メニューの内容はドローで定義し，APからの指定はできません。

プルダウンメニューやカスケードメニューを使って階層化でき，処理内容に応じたグループ分けができます。

モジュラスチェック

「使用目的」が「数字」の場合に，モジュラスチェックをするかどうかを指定できます。指定した場合，画面の属性ダイアログで指定するモジュラスアルゴリズム（チェック10または11）に従って，入力文字列（数字）がチェックされます。チェック条件に合った場合はAPへイベントは返しません。合わない場合はエラーになり，テキスト・フィールドからカーソル・フォーカスが移動できなくなります。

・チェック10

次のチェックをし，一致する（合格）かを判定します。

1．入力したデータの最後の1バイト（チェックデジット）・入力したデータのバイト数（入力したデータの最後の1バイトを除く）を取り出す。

2．入力したデータのバイト数の右側より2，1，2，1，...を乗数とし桁ごとに掛け算をする。

3．掛け算の結果が2桁となったものについては10で割り算し，商とあまりに分解する。

4．「2」「3」での掛け算と商およびあまりの結果をすべて加え合わせる。

5．加算の結果を10で割り算し，あまりを求める。

6．10からあまりを減算し，差を求め，この差を入力したデータの最後の1バイトと比較する。

・チェック11

次のチェックをし，一致する（合格）かを判定します。

1．入力したデータのバイト数（入力したデータの最後の1バイトを除く）を取り出す。

2．入力したデータのバイト数の右側より2，3，4，5，6，7，2，3，4，5，6，7，...の順に乗数を割り当て桁ごとに掛け算をする。

3．結果をすべて加え合わせる。

4．和を11で割り算し，あまりを求める。

5．11からあまりを減算し，差を求める。この差を入力したデータの最後の1バイトと比較する。

（ヤ行）

予約フィールド・テキスト

OLTPサーバ構成の環境で，OpenTP1が提供する予約項目を出力するオブジェクトです。

日付や時刻，論理端末名称などのデータを，あらかじめ論理マップに設定することなくAPの実行時，動的に出力できます。

（ラ行）

ラジオボタン

入力するデータを候補（ボタン）の選択によって指定するオブジェクトです。グループ内の複数のボタンから一つだけ選択できます。ラベル長や選択肢の数が少ないとき，また，「YES／NO」などの単純な選択をするときに使います。

ボタンラベルをドローで定義する「固定ラジオボタン」と，APから指定する「可変ラジオボタン」があります。

ラジオボタンのグループを表すボックスを「ラジオボタンボックス」といいます。

ラベル

画面に文字列を表示するための各種オブジェクトの総称です。

固定テキスト・フィールド，出力テキスト・フィールド，出力日付／時刻テキスト・フィールドが該当します。

リストボックス

入力するデータを候補（リスト項目）の選択によって指定するオブジェクトです。リストの内容はAPから指定します。ラベル長や選択肢が多いときに使います。必要に応じて，スクロールバーを付けられます。

リストから一つだけ項目を選べる「単一選択リストボックス」と，複数の項目を選べる「複数選択リストボックス」があります。

リトルエンディアン

バイナリ形式のデータを扱う際，メモリ上に右から左側へ1バイトずつ格納する形式です。

(000A)₁₆を2バイトのメモリに格納した場合は，(0A00)₁₆になります。

レイアウト領域

画面定義時に，各オブジェクトを配置する領域です。

画面では，タイトルバー，メニューバー，オペレータインジケータを除く領域です。

論理マップ

画面の可変情報を設定する出力論理マップと，画面から入力されたデータなどを設定する入力論理マップがあります。ファイルの拡張子は，COBOLの場合は.CBL，C言語の場合は.Hです。画面・帳票の定義終了時に，登録集原文として物理マップとともに生成されます。

COBOLでAPを作成する場合は，COPY文で論理マップを取り込みます。AP実行時には，APに取り込まれた論理マップのデータ領域を介して，データがやり取りされます。

（ワ行）

割込キー（Break），（Ctrl）+（Pause）

送信要求の発生をAPに通知するキーです。

割込のイベントを通知するキーです。

索引

[Ａ][Ｃ][Ｄ][Ｅ][Ｇ][Ｊ][Ｍ][Ｏ][Ｐ][Ｒ][Ｓ][Ｔ][Ｖ][Ｗ][Ｘ][Ｚ]
[ア行][カ行][サ行][タ行][ナ行][ハ行][マ行][ヤ行][ラ行][ワ行]

(英字)

(Ａ)

Access

ANKコード

AP

API

APインタフェース

APインタフェース

APインタフェースの概要

APが受け取る項目

APからウィンドウ位置属性を変更する

APからウィンドウ属性を変更する

APから確定キー属性を変更する

APからのフィールド属性の変更

APが渡す項目

AP環境ファイル

AP間でオープンを引き継ぐ

AP間でオープンを引き継ぐ場合

AP作成時のポイント

APサンプルのコンパイルと実行手順

APにイベントが渡るタイミング

APのコーディング方法

APパターン

APパターン

APパターン・AP部品

AP部品

AP分割時の注意

APへの通知

atof

atol

(Ｃ)

C/Sシステム

C/Sセットアップ

CALL文による方法

CALL文の発行順序

CALL命令

CBLTERMSHAR=YES

CD項

COBOL開発マネージャ

COBOL開発マネージャ

COBOL開発マネージャでのXMAP3の利用方法

COBOLでの画面表示命令

COBOLの画面入出力命令

CSVファイル

CUI画面

CUI画面

CUI画面属性の設定

CUI画面で使用できる機能

CUI画面でのフィールド単位のデータ入力

CUI画面の機能内容

CUI画面の構成

CUI画面の作成

CUI画面の設計

CUI画面のレイアウト手順

CUI画面を構成するオブジェクト

C言語

C言語固有のコーディング例

C言語での画面表示命令

C言語での表示方法

C言語による画面の入出力

C言語の画面入出力命令

(Ｄ)

Delphi

Delphiでの表示方法

Delphiでのファイルの取り込み

DISABLE文

DLLの呼び出し

DLLの呼び出し

DLLの呼び出し

(Ｅ)

EUC

(Ｇ)

GUI画面

GUI画面

GUI画面

GUI画面設計でこんなこともできます

GUI画面設計のポイント

GUI画面属性の設定

GUI画面でのイベント単位のデータ入力

GUI画面でのフィールド単位のデータ入力

GUI画面の機能内容

GUI画面の構成

GUI画面の作成

GUI画面の設計

GUI画面のレイアウト手順

GUI画面を構成するオブジェクト

GUI画面を設計するときの検討課題

(Ｊ)

jsvwadrv関数

jsvwadrv関数の発行順序

JSVWATBL.CBL

(Ｍ)

MAPPING MODE句

MAPPING MODE句

MAPPING MODE句

mcftalcle

mcftpx

MCR

MCR

MCR

MCR入力のマッピング規則

memcmp

memcpy

memset

(Ｏ)

OLE2オートメーションのサービス機能

OLTP

OLTPサーバ構成での画面表示

(Ｐ)

PA1キー

PA2キー

PA3キー

PF1～PF12キー

PF13～PF24キー

PF25～PF36キー

PF37～PF48キー

PF49～PF60キー

PF61～PF72キー

PF73～PF84キー

(Ｒ)

RECEIVE

RECEIVE文

(Ｓ)

SEND

SEND文

sizeof演算子

sprintf

STATUS KEY句のリターンコード

(Ｔ)

TRANSCEIVE

TRANSCEIVE文

(Ｖ)

Visual Basic

Visual BasicおよびAccessでの表示方法

Visual BasicおよびAccessでのファイルの取り込み

(Ｗ)

Windows専用の汎用入出力関数

(Ｘ)

X3MODTBL.CBL

X3PHOST

XMAP_COMアドレス

XMAP_REQアドレス

XMAP-COM

XMAP-REQ

XMAP3インストール先

XMAP3関連ファイルの関係

XMAP3共通定義

XMAP3実行支援

XMAP3実行支援のAPインタフェース

XMAP3で作成できる画面

XMAP3の画面設計の概要

XmapDrvClose関数

XmapDrvCreateOpen関数

XmapDrvCreate関数

XmapDrvGetError関数

XmapDrvOpen関数

XmapDrvReceive関数

XmapDrvSend関数

XmapDrvSetDataCode関数

XmapDrvSetMapOption関数

XmapDrvTransceive関数

XY位置

XY位置

(Ｚ)

Z位置

Z位置

(ア行)

(あ)

アクセスキー

アクセスキーを使用した固定ポップアップのメニュー選択

アクセスキーを使用する

アスタリスク

(い)

一次ウィンドウ

一次ウィンドウ

一次ウィンドウ

一次ウィンドウから二次ウィンドウの表示

一時非表示

一時非表示

位置属性の表示属性の標準値

一部上書

イベント

イベント単位

イベント単位

イベント通知コード

イベント通知コード

イベント通知コード

イベント通知コード

イベント通知コードダイアログ

イベント通知コードのコメント

イベント通知コードのチェック

イベント定数の論理マップ生成規則

イベントとイベント通知コード

インタフェーステーブルの取り込み方法

インタフェース領域

インタフェース領域（JSVWATBL.H）

インタフェース領域の取り込み方法

インフォメーション

(う)

ウィンドウ

ウィンドウ

ウィンドウ

ウィンドウ

ウィンドウ

ウィンドウ位置

ウィンドウ各部の名称

ウィンドウ種別

ウィンドウ種別のID

ウィンドウ属性の表示属性の標準値

ウィンドウのサイズ変更を抑止する

ウィンドウの表示形態

ウィンドウ表示

ウィンドウ表示位置と重なり

ウィンドウ表示位置の制御情報

ウィンドウ表示の制御情報

ウィンドウを表示したときにアラームを鳴らす

ウィンドウを表示したときにアラームを鳴らす

後ろに表示

後ろに表示

埋字

埋字

埋字

埋字と桁寄せに関するマッピング規則

埋字と桁寄せに関するマッピング規則

(え)

英大文字

英小文字

エスケープキー

エスケープキー

エラー

エラー通知

エラー通知文字

エラー通知文字

エラー通知文字

エラー内容

(お)

凹型

応答性能での問題と対処方法

オープンインタフェース領域の形式（XMAP_OPN，C言語）

オープンインタフェース領域の形式（XMAP-OPN，COBOL）

オープン要求

オープン要求

オブジェクト同士の位置関係

オブジェクトの遷移条件

オブジェクトの遷移条件

オプション設定要求

オプション設定要求

オペレータインジケータ

オペレータインジケータ

オペレータインジケータ

オペレータインジケータを付ける

(カ行)

(か)

カーソル

カーソル

カーソル

カーソル・フォーカス制御

カーソル位置の通知

カーソル移動キー

カーソル移動キー

カーソル制御

カーソル制御項目とフィールドボックスの関連づけ

カーソル定数

カーソルの遷移

下位項目

下位項目

下位項目

下位項目

下位項目の論理マップ生成規則とマッピング規則

下位項目を指定したときの扱い

解像度

隠しフィールド

隠しフィールド

隠しフィールド

隠しフィールド

隠しフィールドの論理マップ生成規則とマッピング規則

各制御キーの機能

確定キー属性の表示属性の標準値

確定キーの制御情報

カスケードメニュー

カスケードメニュー

仮想画面

仮想画面

仮想端末の自動割当て

仮想端末の自動割当て

仮想端末名

仮想端末名格納エリア

仮想端末名ファイル

カナ

壁紙

壁紙

壁紙を設定する

可変項目の論理マップ生成規則とマッピング規則

可変コンボボックス

可変チェックボタン

可変チェックボタン

可変ポップアップ

可変ラジオボタン

可変ラジオボタン

画面

画面確定キー

画面確定キー

画面確定時の動き

画面確定のタイミング

画面確定のタイミング

画面機能の概要

画面サイズ

画面サイズ

画面サイズ

画面設計の流れ

画面操作

画面属性

画面属性の詳細

画面属性の詳細

画面属性の動的変更

画面属性の動的変更

画面単位

画面単位

画面単位

画面定義とコーディングの関連

画面定義の制限値

画面に対するコメントの記述

画面に対するコメントの記述

画面の設計のポイント

画面の定義サンプルとAPパターンの組み合わせ（COBOL）

画面の定義サンプルとAPパターンの組み合わせ（C言語）

画面の表示フォント

画面の表示フォント

画面の表示様式

画面バッファ

画面バッファ

画面表示

画面表示と帳票印刷

画面表示と帳票印刷

画面表示命令（COBOL）

漢字

漢字コード

(き)

キーエントリ

キーで選択するボタン

キーでのデータ入力と編集

キー入力コンボボックス

キー入力コンボボックス

キー入力コンボボックス（可変）

キー入力コンボボックス（固定）

キーの機能

キーボードのカスタマイズ

キーボードのロック状態を解除する

キーボードのロック状態を解除する

記号

基準文字サイズ

基準文字サイズ

基準文字サイズ

機能の割り当て

キャラクタコントロールの表示属性の標準値

旧バージョン提供ファイルのコンパイル時のトラブル

行単位

行単位のデータ入力

共通インタフェース領域の形式（XMAP_COM，C言語）

共通インタフェース領域の形式（XMAP-COM，COBOL）

金額入力

(く)

空白（全角，半角）

空白（全角だけ）

空白（半角）

空白入力

空白入力

クエスチョン

矩形

矩形

グラフィック

グラフィックコントロール

グラフィックファイルのフォーマット

グラフィック利用画面

クリック

グリッド

グリッド

グリッド

グループ間のフォーカス順設定

グループコントロール

グループボックス

グループボックス

グループボックス

クローズ要求

クローズ要求

(け)

掲示板

掲示板の表示

けい線

けい線

けい線の線種

桁

桁寄せ

桁寄せ向き

桁寄せ向き

(こ)

後退キー

後退キー

後退キー（バックスペースキー）

候補選択コントロール

候補選択コントロールの表示属性の標準値

項目

コードエラーの通知

コードエラーの通知

コードエラーを検出したときのマッピング規則

固定グラフィック

固定グラフィック

固定コンボボックス

固定チェックボタン

固定チェックボタン

固定テキスト・フィールド

固定テキストボックス

固定テキストボックス

固定フィールド

固定フィールド

固定ポップアップ

固定ラジオボタン

固定ラジオボタン

コピー・ペースト操作キー

コピー＆ペースト

コピー＆ペースト操作

コピー操作キー

コピーの対象

コマンドコントロール

コマンドコントロールの表示属性の標準値

コントロール＋復改

コントロールメニュー

コントロールメニュー

コントロールメニュー

コンパイラ

コンパイル時の主なエラー

コンパイル時のポイント

コンボボックス

コンボボックス

コンボボックスのフォーカス移動

コンボボックスの論理マップ生成規則とマッピング規則

コンマ

(サ行)

(さ)

サービス名ファイル

再定義名

再定義名

再定義名

削除キー

削除キー

削除キー

(し)

次画面

次画面

次画面

次画面

次画面ダイアログ

時刻

時刻

時刻（入出力，出力）

資産の登録

実行時の主なエラー

実行時のポイント

実行時のポイント

実線

実線

始点キー

始点キー

自動

自動スキップ

自動スキップ

自動スキップ

自動スキップ

自動スキップ（選択したら次のボックス・ボタン・項目にフォーカスを移す）

自動的にポップアップメニューを表示する

自動的にポップアップメニューを表示する

シフト＋復改

修飾名

修飾名

修飾名

自由な位置

出力カーソル制御

出力グラフィック

出力グラフィック

出力グラフィックの論理マップ生成規則とマッピング規則

出力時刻テキスト

出力データ

出力テキスト

出力テキスト・フィールド

出力テキストボックス

出力テキストボックス

出力日付テキスト

出力フィールド

出力フィールド

出力フィールドの再表示

出力要求

出力要求

出力論理マップ

手動スキップ

手動スキップ

手動スキップ

手動スキップ

手動スキップ・全桁必須

手動スキップ・全桁必須

手動スキップ・全桁必須

手動スキップ・全桁必須

手動スキップ・右寄せ

手動スキップ・右寄せ

手動スキップ・右寄せ

手動スキップ・右寄せ

手動でポップアップメニューを表示する

手動でポップアップメニューを表示する

手動表示

手動ポップアップ

手動ポップアップの設定

種別

詳細コード

詳細目的

詳細目的

詳細目的とデータ型

使用目的

使用目的

使用目的／詳細目的とデータ型

ショートカットキー

初期カーソル

初期クリア文字

初期クリア文字

初期クリア文字

初期値

初期値

初期フォーカス・カーソル

初期フォーカスを本ボックスに設定する

(す)

数字

数字から数値に変換

数字編集項目

数字編集項目

数値から数字に変換

数値入力

ズームイン，ズームアウト

スクリーン消去キー

スクロールキー

スクロールキー

スクロール禁止領域

スクロールバーの付加

スクロール量

スクロール領域

スピンボックス

スピンボックス

スピンボックス

スピンボックスの論理マップ生成規則とマッピング規則

スプラッシュ画面

スプラッシュ画面

スプラッシュ画面

スプラッシュ画面

スペースキー

スペースキー

スペースキー

スペースコード

スペースバー

(せ)

制御キー

制御項目データ名

制御項目の論理マップ生成規則とマッピング規則

セットアップ情報の反映

セパレータ

セパレータ

セパレータ

セパレータの位置

全角文字

全画面表示

選択エントリ

選択キー

選択済みの状態

選択ラベルと通知コードを別々にする

選択ラベルと通知コードを別々にする

先頭位置以外からのフォーカス順序の設定

全面書換

(そ)

送信（実行）キー

送信（実行）キー

挿入キー

挿入キー

挿入キー

増分値

属性情報一覧

(タ行)

(た)

ダイアログの表示

待機時間

タイトルバー

タイトルバー

タイトルバー

タイトルバー

タイトルバーを付ける

タブキー

タブキー

単一選択リストボックス

(ち)

チェックボタン

チェックボタンボックス

チェックボタンボックス

チェックボタンボックスの論理マップ生成規則とマッピング規則

中央

チューニングとトラブルの対処方法

長音

(つ)

通信記述項（CD項）

通知コード（データ入力用）

(て)

定義サンプル

定義時の性能を向上させるためのポイント

定義パターン

定義パターン

定義パターン

定義パターン，部品とは

定義パターンの登録

定義パターンの登録

提供している定義パターン

定数部

定数部の論理マップ生成規則

データ有無コード

データ有無コード

データ有無コード

データ有無コード格納エリア

データ型

データキー

データキー

データキー

データキーを押したときのマッピング規則

データ消去通知文字

データ消去通知文字

データ消去通知文字

データ消去の通知

データ消去の通知

データ消去の通知

データ長

データ入力キー

データ未入力の通知

データ未入力の通知

データ未入力の通知

データ未入力の通知

データ名

データ名とコメントの変更

データ名に関するコメントの編集

データ名の検索と置換

データ名の順序をソートする

データ名の表示属性の標準値

データ名の編集

データ名編集

テスト表示

テスト表示

手前に表示

手前に表示

デリミタ

点線

点線

転送状態

転送モード

(と)

動的変更

動的変更テーブル

動的変更テーブル

動的変更テーブル（X3MODTBL.H）

動的変更テーブル（X3MODTBL）

登録集原文

トグル種別

トグルフィールド

トグルフィールド

トグルフィールド

トグルフィールド

トグルフィールドの論理マップ生成規則とマッピング規則

凸型

ドライバ依存

取消キー

取消キー

ドロー

ドローセットアップ

(ナ行)

(に)

二次ウィンドウ

二次ウィンドウ

二次ウィンドウ

二次ウィンドウ

二次ウィンドウ

二次ウィンドウの位置

二次ウィンドウの表示に関するマッピング規則

二重線

日本語入力に関するセットアップ

入出力時刻テキスト

入出力テキスト

入出力テキスト・フィールド

入出力テキストボックス

入出力テキストボックス

入出力日付テキスト

入出力フィールド

入出力フィールド

入力・選択状態の扱い

入力カーソル制御

入力数字編集項目の論理マップ生成規則とマッピング規則

入力済み

入力操作がなかったときのマッピング規則

入力単位

入力単位

入力データチェックの通知

入力データのチェック

入力できる半角文字

入力バイト数格納項目

入力バイト数格納項目

入力バイト数格納項目の論理マップ生成規則とマッピング規則

入力フィールドの扱い

入力フィールドのクリア

入力要求

入力要求

入力論理マップ

(ぬ)

塗りつぶし

塗りつぶしフィールド

(ハ行)

(は)

ハードウェア依存

背景色

背景色

パスワード

破線

破線

パターン

パターン

バックタブキー

バックタブキー

半角

反復定義

汎用APインタフェース

(ひ)

左上／左下

左寄せ配置の指定

ビッグエンディアン

日付

日付

日付・時刻項目の論理マップ生成規則とマッピング規則

日付（入出力，出力）

日付テキスト・フィールドと時刻テキスト・フィールド（出力）

日付テキスト・フィールドと時刻テキスト・フィールド（入出力）

日付入力

非転送状態

描画方式

表形式の一覧表示

表けい線の繰り返し

表けい線の繰り返し

表けい線の枠

表けい線の枠

表示・印刷環境ファイル

表示・印刷セットアップ

表示・印刷セットアップ

表示形態

表示形態

表示形態

表示仕様

表示仕様

表示直後（強制送信）

表示に関する対処方法

標準のフォーカス順序

標準パターン

標準パターンを使用したAPの作成

標準パターンを使用した機能別の作成例（COBOL）

標準表示

標準表示

(ふ)

ファイルの取り込み

ファンクションキー

フィールド

フィールドキー

フィールドキー

フィールドキー

フィールドキーを押したときのマッピング規則

フィールド単位

フィールド単位

フィールド単位

フィールドボックス

フィールドボックス

フィールドボックス

フィールドボックス内のオブジェクト

フィールドボックスの属性

フォーカス

フォーカス

フォーカス・カーソル位置のチェック

フォーカス・カーソル位置の論理マップ生成規則とマッピング規則

フォーカス・カーソル移動キー

フォーカス・カーソル移動キー

フォーカス・カーソルの移動順序

フォーカス位置の設定

フォーカス位置の通知（GUI画面の場合）

フォーカス順序

フォーカス順序設定の解除

フォーカス順序の対象となる条件

フォーカス制御

フォーカス設定の動的変更

フォーカス対象外

フォーカス対象外

フォーカス定数

フォーカス定数の論理マップ生成規則

フォーカスとカーソル

フォーカスの位置づけ

フォーカスの遷移

不活性

複数ウィンドウ表示後に一次ウィンドウ表示

複数ウィンドウ表示後に二次ウィンドウ表示

複数選択リストボックス

復改キー

復改キー

プッシュボタン

プッシュボタン

プッシュボタン

プッシュボタンの表示の動的変更

プッシュボタンの表示の動的変更

プッシュボタンのラベルテキストを変更する

プッシュボタンボックス（コマンドボタン）

プッシュボタンボックスの論理マップ生成規則とマッピング規則

プッシュボタンを不活性状態で表示する

物理画面

物理画面

物理画面，仮想画面，ウィンドウおよびプレーンの関係

物理マップ

物理マップ

物理マップだけ

物理マップだけ

物理マップ名称格納エリア

部品

部品

部品

部品

部品の登録

部品の登録

部品の利用

部品の利用

プルダウンメニュー

プルダウンメニュー

フレーム

フレーム

フレーム（横／縦繰り返し）

フレーム（横／縦繰り返し）

フレームに配置できるオブジェクト

フレームに配置できるオブジェクト

フレームの操作

フレームの操作

フレームを使用したときの扱い

プレーン

プレーン領域

プログラムサンプルのコンパイルと実行手順（COBOL）

プログラムサンプルのコンパイルと実行手順（C言語）

プログラムサンプルのファイル名一覧（COBOL）

プログラムサンプルのファイル名一覧（C言語）

プログラムテンプレート

(へ)

ペースト操作キー

ペーストの対象

ヘルプ画面の表示

ベンダ定義文字

(ほ)

ボックス間のフォーカス移動

ボックス枠の付加

ポップアップ

ポップアップ

ポップアップテキスト

ポップアップフィールド

ポップアップメニューの論理マップ生成規則とマッピング規則

ポップアップメニューファイル

(マ行)

(ま)

マージ

マージ

マイナス

マイナスタブキー

マイナスタブキー

マウス

マウス操作

マウスとキー操作

ますの高さ

ます目とオブジェクト

マッピングインタフェース領域の形式（XMAP_MDO，C言語）

マッピングインタフェース領域の形式（XMAP-MDO，COBOL）

マッピングオプション

マッピングオプション

マッピングオプション

マッピングオプション

マッピングオプション

マッピングオプションと表示形態の組み合わせ

マッピング方式

マップ生成

マップ定義ファイル

マップ展開方式

マップ名の決定

マップ名の決定

(み)

右上／右下

右寄せ配置の指定

未選択

未入力

(む)

無通知コード割り当てキー

(め)

命令

メッセージアイコン

メッセージアイコン

メッセージアイコン

メニュー画面からの次画面表示

メニュー画面の表示

メニュー形式

メニュー選択コンボボックス

メニュー選択コンボボックス

メニュー選択コンボボックス（可変）

メニュー選択コンボボックス（固定）

メニューバー

メニューバー

メニューバー

メニューバー

メニューバー

メニューバーの論理マップ生成規則

メニューバーを使用した処理の選択

メニューバーを付ける

(も)

文字色

文字入力キー

文字編集DLL

文字編集キー

文字編集キー

モジュラスアルゴリズム

モジュラスアルゴリズム

モジュラスチェック

(ヤ行)

(ゆ)

有効となるキー

(よ)

要求インタフェース領域の形式（XMAP_REQ，C言語）

要求インタフェース領域の形式（XMAP-REQ，COBOL）

用語とANKコードの関係

予約項目名

予約項目名

予約テキスト・フィールド

予約テキスト・フィールド

予約フィールド

予約フィールド・テキスト

(ラ行)

(ら)

ラジオボタン

ラジオボタンボックス

ラジオボタンボックス

ラジオボタンボックスの論理マップ生成規則とマッピング規則

ラベル

ラベルテキストを動的変更するときの注意

(り)

リストボックス

リストボックス

リストボックス

リストボックス内のフォーカス移動

リストボックスの論理マップ生成規則とマッピング規則

リターンコード

リターンコード格納エリア

リターン情報

リトルエンディアン

リンク（MAKE）時の主なエラー

リンケージ時のポイント

(れ)

レイアウトパターン

レイアウトパターン

レイアウト領域

レイアウト領域

レイアウト領域

レイアウト領域のグリッド

レイアウト領域の設定に関する用語

レイアウト領域の背景色

例題プログラム

(ろ)

論理端末定義

論理データ

論理マップ

論理マップ

論理マップ

論理マップ可変部

論理マップ固定部

論理マップ生成規則で使う用語

論理マップ生成規則とマッピング規則

論理マップだけ

論理マップだけ

論理マップの構成

論理マップの再定義

論理マップの再定義

論理マップの取り込み方法（COBOL）

論理マップの取り込み方法（C言語）

(ワ行)

(わ)

ワーニング

枠高

割込キー

割込キー

和暦

ワンタッチクリア

■ 商標類

AIXは，米国における米国International Business Machines Corp.の登録商標です。
AXは，AX協議会のシステム名称です。
BackOfficeは，米国Microsoft Corp.の登録商標です。
Delphiは，米国Borland International,Inc.の登録商標です。
HP-UXは，米国Hewlett-Packard Companyのオペレーティングシステムの名称です。
Itaniumは，アメリカ合衆国および他の国におけるインテル コーポレーションまたはその子会社の登録商標です。
Java 及びすべてのJava関連の商標及びロゴは，米国及びその他の国における米国Sun Microsystems,Inc.の商標または登録商標です。
JFIFは，C-Cube Microsystems社が規定したフォーマットの名称です。
Linuxは，Linus Torvaldsの米国およびその他の国における登録商標あるいは商標です。
Micro Focus COBOLは，Micro Focus International Limited の商標です。
Microsoftは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Microsoft Accessは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Microsoft Excelは，米国Microsoft Corp.の商品名称です。
MS-DOSは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
OLEは，米国Microsoft Corp.が開発したソフトウェア名称です。
PA-RISCは，米国Hewlett-Packard Companyの商標です。
PC-9800は，日本電気（株）の商品名称です。
Red Hatは，米国およびその他の国でRed Hat,Inc. の登録商標若しくは商標です。
Solarisは，米国Sun Microsystems,Inc. の米国およびその他の国における商標または登録商標です。
TurboLinuxの名称及びロゴは，TurboLinux,Inc. の商標です。
UNIXは，X/Open Company Limitedが独占的にライセンスしている米国ならびに他の国における登録商標です。
Visual Basicは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Visual C++は，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Windowsは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Windows NTは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Windows Serverは，米国およびその他の国における米国Microsoft Corp. の商標です。