ビルド・オプション・エディターでは、WebSphere Application Server 5.1 がサポートされるサーバー型とされています。ただし、サポートされるのは WebSphere Application Server のバージョン 5.1.1 以上のみです。
説明: コンソール・フォームの openUI 文の実行中は、束縛変数の戻り値に 'null' 値は含まれません。 I4GL では、フォーム・フィールドに何も値が入力されていない場合に null 値が戻されます。
回避策: フォームで openUI 文を実行したとき、または実行した後に、アプリケーションが特に 'null' 値をチェックする場合は、 null ではなく空ストリング値をチェックするようにロジックを変更する必要があります。
説明: I4GL で、'for I = 0 to 1 by -1' 文を実行すると、for ループ・コード・ブロックは 1 回も実行されません。 EGL で、この同じコード・ブロックを実行すると無限ループが発生し、結果的に束縛変数の整数例外またはスタック・オーバーフロー例外が生じます。
回避策: for ループ・コード・ブロックが必要な回数だけ実行されるように EGL の for 文を作成し直します。または、for ループを、コード・ブロックを必要な回数だけ実行する while 文に変更します。
説明: 画面レコードを定義する際に列の一部しか使用していない場合でも、変換ユーティリティーは表内のすべての列の画面レコードを展開することがあります。
回避策: 変換後の EGL 文から関係のない列名を除去します。
説明: "IF ! xxx" または "IF xxx" の IF 条件で検証エラーがスローされます。 EGL ではブール式がサポートされないので検証エラーが生成されます。
回避策:変換ユーティリティーは IF 関数が使用されているコンテキストに応じて自動的にこれらの IF 関数を変換します。この制限は I4GL アプリケーション変換には影響しません。 ここでは、I4GL ユーザーに EGL で新しいアプリケーションを書き込む場合の IF 条件のサポート・レベルを紹介する目的で文書化しました。
ブール式の場合は、 条件のブール結果を数値 0 または 1 に変換します。
プリミティブ型が非数値 (例えば、char や db char) であるフォーム・フィールドを持つプロパティー "validValuesMsgKey" を使用するときに、 EGL フォーム・エディターを使用したり、EGL ソースのフォーム・パーツを手作業で編集したりすると、 次の妥当性検査メッセージが発行されます。
IWN.VAL.5381.e 76/0 Property: validValuesMsgKey. The value for this property for field ... in form ... is invalid. The property is a numeric item property.
プリミティブ型が非数値であるこのプロパティーを使用する場合は、次の回避策が推奨されます。
- EGL エディターでフォームが入っているファイルを開く。ファイルを右クリックし、プロジェクト・エクスプローラー・ビューで「アプリケーションから開く」>「EGL エディター」を選択する。
- validValuesMsgKey が設定されているフィールドの宣言でプリミティブ型を指定せずに、 dataItem パーツを指定します。 dataItem パーツで指定するプリミティブ型はフィールドと同じでなければなりません。
例えば、オリジナルのフィールドが次のように定義されているとします。
ACTION char(1) {inputRequiredMsgKey = "0003", validValues = ["I","S","U","D"], ..., validValuesMsgKey = "0004"}; //This line should have IWN.VAL.5381 error Change the definition of the field to:
ACTION charOneItem {inputRequiredMsgKey = "0003", validValues = ["I","S","U","D"], ..., validValuesMsgKey = "0004"}; //This line should have no error
同じファイルで、 formGroup の外側で、次のように入力します。
DataItem charOneItem char(1) { validValuesMsgKey="1000" } end
Web サービスの WSDL ファイルにある XML スキーマ・データ型ファセットを反映するデータ項目定義、レコード定義、およびレコード項目宣言に適用される XSD 注釈は、 WSDL ファイルから派生されるインターフェース関数パラメーターおよび戻り値で使用される場合のみ意味を持ちます。
例:
DataItem weekend string {@xsd {enumeration=["Saturday", "Sunday"] }} end // this reflects the WSDL restriction on values for weekend
Interface calander
public function weekendPlanner (weekendDay weekend in, . . .); // only argument values Saturday and Sunday can be sent to this Web service function
end
「EGL インターフェースの作成 (Create EGL Interfaces)」ウィザードは、 RPC/エンコード、RPC/リテラル、および文書/リテラル (ラップ済み) の WSDL ファイルのみをサポートします。文書/リテラル (アンラップ) の WSDL ファイルはサポートされていません。
「EGL サービスからのサービス・バインディング・ライブラリーの作成 (Create Service Binding Library from a EGL Service)」ウィザードでは、 WSDL ファイルを別のプロジェクトにコピーしません。 サービス・バインディング・ライブラリーをサービスの生成先以外の別のプロジェクトで作成する場合、ユーザーは、Web バインディングで指定されるロケーションに、サービス・バインディング・ライブラリーが参照する生成された WSDL ファイルのコピーを手動で置く必要があります。
レポートを含むプログラムの EGL デバッガーを使用することはできません。この機能のためのサポートは今後の更新で提供される予定です。
Web サービスとして生成されたサービスまたは Web バインディングを含むサービス・バインディング・ライブラリーで、 Java コードを J2EE 1.3 レベルの Web プロジェクトに生成する際に、多次元配列をサービスまたはインターフェース関数のパラメーターとして使用したり、パラメーターとして使用されているレコード内で定義すると、コンパイル・エラーが発生します。
Service myService
function f1(param string[][][] in) // causes compilation errors when generated as a Web Service to a Web Project with J2EE 1.3
. . .
end
end
Service myService
function f1(param string[] in) // generates OK to a Web Project with J2EE 1.3
. . .
end
end
Web サービスとして生成されたサービスまたは Web バインディングを含むサービス・バインディング・ライブラリーで、 Java コードを J2EE 1.3 レベルの Web プロジェクトに生成する際に、 サブストラクチャー・データ項目または occurs > 1 のデータ項目を含む固定レコードをサービスまたはインターフェース関数のパラメーターとして使用したり、パラメーターとして使用されているレコード内で定義すると、コンパイル・エラーが発生します。
例:
Record mySubstructuredRecord 10 item1 char(10); 20 item 2 char(10); end
Service myService public function f1(param mySubstructuredRecord in) // causes compilation errors when generated as a Web Service to a Web Project with J2EE 1.3 . . . end end
Record myFlatRecord 10 item1 char(10); 10 item2 char(10); end
Service myService public function f1(param myFlatRecord in) // generates OK to a Web Project with J2EE 1.3 . . . end end
Web サービスとして生成されたサービスまたは Web バインディングを含むサービス・バインディング・ライブラリーで、 時間データ型または間隔データ型を J2EE 1.3 レベルの Web プロジェクトに対して生成されているサービスまたはインターフェース関数でパラメーターとして使用したり、パラメーターとして使用されているレコード内で定義すると、ランタイム時に Java 例外がスローされます。
同じ EGL プロジェクトで同じ XML スキーマ定義型を含む 2 つ以上の WSDL ファイルを用いて「EGL インターフェースの作成 (Create EGL Interfaces)」ウィザードを使用すると、 重複する EGL データ定義が作成され、その結果、EGL 検証エラーが発生します。
EGL プログラムで Oracle データベースにアクセスし、OPEN 文を使用して結果セットを開く場合、OPEN 文の SELECT 文節でホスト変数名を使用することはできません。ホスト変数を指定すると、OPEN 文で使用している分節の該当するエレメントで値が設定されません。
EGL は、JasperReport ファイルが保管されるたびにコンパイルを実行するビルダーを備えています。EGL アプリケーションにレポート・ハンドラーが含まれている場合には、Java SDK 1.3.1 (またはそれ以上のレベル) が開発マシン上にあり、SDK bin ディレクトリーが PATH システム環境変数 (C:¥jdk1.3.1_14¥bin) の一部としてリストされることを確認してください。Java SDK をインストールしていない場合、.jrxml ファイルのビルド時に Error compiling report java source file というエラーが表示されます。
この更新パックには、前の EGL 構文に対する変更がいくつか含まれています。この製品のバージョン 5.1.2 またはバージョン 6.0 を使用して EGL パーツを作成している場合、この更新パックのインストール後にそれらのパーツに関する検証エラーが表示されるものと思われます。ソース・ファイルに含まれている構文を更新するための簡単なマイグレーション・ツールが提供されています。EGL V6.0 マイグレーション・ツールについて詳しくは、EGL のヘルプ資料を参照してください。
©Copyright IBM Corporation 2000, 2005. All Rights Reserved.