OpenUI 文

OpenUI 文は、ユーザー・アクションの結果として発生するすべてのイベントの処理に使用されます。 OpenUI は、文のターゲット (単数または複数) を開き、コンソールに表示します。

OpenUI 文の構文は、以下のとおりです。


OpenUI 文
OpenAttributes
OpenAttributes は、OpenUI 文のプロパティーを定義します。複数のプロパティーを定義できますが、その場合はコンマでプロパティーを区切る必要があります。 プロパティーは、以下の例のように
property = value
と表示されます。
isConstruct = yes

表 1 は、OpenUI の初期プロパティーを示しています。

表 1. OpenUI プロパティー
プロパティー 型 / デフォルト データ型 説明
allowAppend ブール値、yes ArrayDictionary yes の場合、ユーザーは、カーソルを配列後の先頭行に移動することにより、データを配列の末尾に挿入できます。
allowDelete ブール値、yes ArrayDictionary yes の場合、ユーザーは KEY_DELETE キーを使用して、データを arrayDictionary から削除できます。
allowInsert ブール値、yes ArrayDictionary yes の場合、ユーザーは KEY_INSERT キーを使用して、データを arrayDictionary に挿入できます。
bindingByName ブール値、no

Form

Dictionary

ConsoleField

書式フィールドのエレメントをバインド文節内にリストされている項目と一致させる方法を指定します。
  • yes の場合、値は名前順でバインドされます。
  • no の場合、値は配置されている順にバインドされます。
color colorKind; defaultColor   適用する色の値。
currentArrayCount 整数 ArrayDictionary arrayDictionary 内のエントリー数は固定されているので、変更できません。この設定は、画面配列 (arrayDictionary) 内に表示される DATA 配列内の行数を、次の OpenUI 文に対して指定します。
displayOnly ブール値、yes

Form

Dictionary

ArrayDictionary

ConsoleField

yes の場合、すべてのデータは表示専用になり、エンド・ユーザーは情報を変更できません。
helpMsgKey ストリング、NULL   リソース・ファイルからヘルプ・テキストをルックアップするキー。 属性 helphelpMsgKey の両方が存在する場合、help が優先されます。
help ストリング、NULL   KEY_HELP キーが押されるときに、ユーザーに対して表示されるテキスト。 属性 helphelpMsgKey の両方が存在する場合、help が優先されます。
highlight highLightKind[]; defaultHighlight   適用する強調表示の値。
intensity intensityKind; defaultIntensity   適用する輝度の値。
isConstruct ブール値、no

Form

Dictionary

ConsoleField

yes の場合、実行時の検証規則は、ConstructQuery() に必須の構文規則に従います。
maxArrayCount 整数 ArrayDictionary arrayDictionary 内のエントリー数は固定されているので、変更できません。 この設定は、データ配列が次の OpenUI 文用に含むことができるレコード数の限界を、次の OpenUI 文に対して指定します。 最大限度に達すると、ユーザーはそれ以上の行を挿入できません。
setInitial ブール値、no

Form

Dictionary

ArrayDictionary

ConsoleField

yes の場合、エンド・ユーザーがフィールドの値を変更するまで、フィールドの初期定義値が表示されます。
OpenableElements
以下のエレメントを OpenUI で開くことができます。
  • WindowInstance
  • FormElements (ConsoleForm オブジェクト、ConsoleFields)
  • MenuInstance
  • PromptInstance
注: 上記にリストされているエレメント以外に、OpenUI は、コンマで区切られた 1 つ以上のフィールドを受け入れることもできます。

OpenUI は、一度に 1 つの Window、ConsoleForm、Menu、または Prompt のみを受け入れることができます。

BindClause
この文節は、エレメント (FormElements など) にバインドされているデータ (firstName、lastName、および address など) があるかどうかを示します。エレメントにデータがバインドされている場合、activeForm を開くと、そのデータは、データ・プロパティーに応じてアクセスおよびフォーマット設定されます。 データ・バインディングは、consoleFieldbind 属性を使用して事前定義することができます。または、BindClause 文節を使用して、動的に設定することもできます。 BindClause 文節は、すべての定義済みのデータ設定よりも優先します。さらに、bind 文節が必要なのは、書式エレメントまたはプロンプト・オブジェクトを開く場合のみであり、isConstruct=yes の場合は不要であり、使用しません。bind が書式エレメントと共に使用される場合、書式フィールドの数とプログラム変数の数は一致する必要があります。
OnEventBlock
after_insertbefore_delete、または on_key などのエレメント用に 1 つ以上のイベント・ハンドラーを定義することができます。

次の例では、読み取り用に現行のアクティブ書式を開いて、ConsoleField ごとにローカル変数を割り当てます。 「市区町村 (city)」consolefield の after_field イベントが、「州 (state)」および「郵便番号 (zipcode)」値に記入されます。
		openUI {bindingByName=yes}
			activeForm
			bind firstName, lastName, address, city, state, zipCode
			OnEvent(AFTER_FIELD:"city")
				if (city == "Lenexa")
					state = "KS";
					zipCode = 66062;
				end
		end
表 2. OpenUI 文上のデータ型によって発生するイベント
データ型 EventKind
Window を除くすべての OpenUI。

AFTER_OPENUI

BEFORE_OPENUI

ON_KEY

ArrayDictionary

(displayOnly = no の場合)

AFTER_DELETE

AFTER_INSERT

AFTER_ROW

BEFORE_DELETE

BEFORE_INSERT

BEFORE_ROW

ConsoleField

AFTER_FIELD

BEFORE_FIELD

Menu

MENU_ACTION

Window なし

OpenUI 文の終了

OpenUI 文を終了する場合は、以下のことが当てはまります。
さらに、OpenUI 文については、以下の規則に従う必要があります。

関連する概念
コンソール・ユーザー・インターフェース

関連する参照項目
コンソール・ライブラリー
ConsoleUI レコード・タイプ
UNIX 用の ConsoleUI 画面オプション
ConsoleUI の列挙型
Package egl.ui.console
EGL ソース形式のテキスト UI プログラム

関連するタスク
コンソール・ユーザー・インターフェースの作成

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.(C) Copyright IBM Japan 2005.