openUI 文を使用すると、コンソール UI に基づくインターフェースを備えたプログラムと対話できます。 この文では、ユーザー・イベントおよびプログラム・イベントを定義し、互いに応答する方法を指定します。
exit openUI 文を発行することによって、openUI 文を終了することができます。

バインディングについて詳しくは、トピック『コンソール UI パーツおよび関連する変数』のほか、 『OnEventBlock パラメーター』の説明を参照してください。
onEvent(eventKind: eventQualifiers)
特定のイベントに応答する EGL 文は、後述の例に示すとおり、OnEvent ヘッダーとその次の OnEvent ヘッダーの間にあります (存在する場合)。 ただし、参照変数をプログラムのグローバル変数として宣言しておいた場合以外は、onEvent ブロックにその変数を組み込むことはできません。
ウィンドウに使用可能なイベント・ブロックはありません。
ON_KEY:("a", "ESC")
このイベントは、ArrayDictionary、 ConsoleField、メニュー、またはプロンプトで使用可能です。
BEFORE_FIELD:("field01", "field02")
AFTER_FIELD:("field01", "field02")
ユーザーは、AFTER_INSERT ハンドラーで一般に行われるように、データベースへの変更をコミットする前に行を編集することができます。
MENU_ACTION:("item01", "item02")
SQLColumnName consoleField プロパティーを設定することで、consoleField を SQL テーブル列に関連付けます。また、dataTypeに記されているように dataType consoleField プロパティーを設定する必要があります。
> 25
= 'Sarasota'
AGE > 28 AND CITY = 'Sarasota'
表示されているように、EGL はユーザーが提供する各文節の間に演算子 AND を置きます。
次の表は、有効なユーザーの入力およびそれによる文節を示しています。「単純な SQL 型」という句は、構造化もされず、LOB のような型でもない SQL の型を指しています。
| シンボル | 定義 | サポートされるデータ型 | 例 | 結果としてできた文節 (C という名のストリング用) | 結果としてできた文節 (C という名の数列用) |
|---|---|---|---|---|---|
| = | 等しい | 単純な SQL 型 | =x、==x | C = 'x' | C = x |
| > | より大きい | 単純な SQL 型 | >x | C > 'x' | C > x |
| < | 未満 | 単純な SQL 型 | <x | C < 'x' | C < x |
| >= | 以上 | 単純な SQL 型 | >=x | C >= 'x' | C >= x |
| <= | 以下 | 単純な SQL 型 | <=x | C <= 'x' | C <= x |
| <> または != | 等しくない | 単純な SQL 型 | <>x または !=x | C != 'x' | C != x |
| .. | 範囲 | 単純な SQL 型 | x.y または x..y | C BETWEEN 'x' AND 'y' | C BETWEEN x AND y |
| * | ストリングのワイルドカード (次の表に説明のとおり) | CHAR | *x または x* または *x* | C MATCHES '*x' | 適用不可 |
| ? | 単一文字のワイルドカード (次の表に記載のとおり) | CHAR | ?x、x?、?x?、 x?? | C MATCHES '?x' | 適用不可 |
| | | 論理 OR | 単純な SQL 型 | x|y | C IN ('x', 'y') | C IN (x, y) |
等号 (=) は「null 値を持つ」ことを意味する場合があり、不等号 (!= または <>) は「null 値を持たない」ことを意味する場合があります。
MATCHES 文節は、次の表に記載のワイルドカード文字の 1 つをユーザーが指定することによって作られます。
| シンボル | 結果 |
| * | ゼロ個以上の文字に一致します。 |
| ? | 任意の単一文字に一致します。 |
| [ ] | 囲まれた文字の内、いずれか一字に一致します。 |
| - (ハイフン) | 大括弧内の文字間で使用される場合、ハイフンは、2 つの文字の間の範囲で (2 つの文字を含む) いずれかの文字に一致します。 例えば、[a-z] は、いずれかの小文字または小文字の範囲の特殊文字に一致します。 |
| ^ | 大括弧で使用されると、最初のキャレットは、大括弧内に含まれない、いずれかの文字と一致します。 例えば、[^abc] は a、b、または c を除くいずれかの文字と一致します。 |
| \ | デフォルトのエスケープ文字です。次の文字はリテラルです。 ストリングに含まれるすべてのワイルドカード文字からワイルドカードの効果を除くことができます。 |
| 大括弧の外のその他すべての文字 | 正確に一致する必要があります。 |
openUI {bindingByName=yes}
activeForm
bind firstName, lastName, ID
OnEvent(AFTER_FIELD:"ID")
if (employeeID == 700)
firstName = "Angela";
lastName = "Smith";
end
end