Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

既知の問題

以下の問題を慎重に確認し、使用しているシステムがこれらの影響を受けるかどうかを判断してください。

Important:

このリリースに関する最新の既知の問題については、インターシステムズのサポート窓口Opens in a new tabまでお問い合わせください。

ブラウザのポップアップ・ブロッカによるポータル機能の妨げ

Web ブラウザのポップアップ・ブロッカが、管理ポータルのいくつかのダイアログ・ボックス (ソース・コントロールの構成など) の妨げとなる可能性があります。この問題は、Ensemble ユーザによって、特に Safari で確認されています。Safari では、デフォルトでポップアップがブロックされるためです。この問題は、Ensemble の将来のバージョンで解決される予定です。

EnsLib.HL7.Segment の GetValueAt() における 32KB 制限

EnsLib.HL7.SegmentOpens in a new tab クラスの GetValueAt()Opens in a new tab メソッドでは、32KB を超える値が切り詰められます。この制限は、長い文字列を有効にした場合でも適用されます。

回避策として、以下のメソッドのいずれかを使用します。

詳細は、"クラス・リファレンス" の EnsLib.HL7.SegmentOpens in a new tab のエントリを参照してください。

Internet Explorer 9 の制約

Ensemble を Internet Explorer 9 で実行する場合は、互換表示を使用しないでください。

古いバージョンの Internet Explorer によるエンタープライズ・メッセージ・ビューワの表示の問題

Internet Explorer バージョン 7 または 8 を使用しているときに、ブラウザ・ウィンドウの幅に十分な余裕がないと、エンタープライズ・メッセージ・ビューワは一部の列を表示しなくなります。それらより新しいバージョンのサポート対象ブラウザでは、この問題は発生しません。Caché Server Pages (CSP) テクノロジでサポートされている Web ブラウザのリストは、このリリース用のオンライン・ドキュメント "インターシステムズでサポートされるプラットフォームOpens in a new tab" の “サポート対象 Web ブラウザ” を参照してください。

以前のバージョンからエクスポートされたインポート・ルールのスタジオ・プロジェクトへの追加の失敗

2012.1 より前のバージョンからエクスポートしたビジネス・ルールまたはルーティング・ルールを含む XML エクスポートをインポートしても、そのインポートによってルール定義がスタジオ内のプロジェクトに追加されることはありません。ルールがサーバ上に存在しないことを示すエラー・メッセージが表示されます。このエラーは、プロセスが古い .RUL フォームの名前をプロジェクトに追加しようとしても、ビジネス・ルールはクラスに変換済みであることから発生します。ルールを含むクラスが作成されるので、そのクラスを手動でプロジェクトに追加することができます。

TimeCreated プロパティを使用したメッセージ・ブラウザの検索

アップグレード後にメッセージ・ブラウザを使用して [開始時刻] を指定すると、開始時刻と正確に一致する結果が表示されない場合があります。秒を小数点以下 3 桁で表すようにしている場合に、入力した時刻の最後に 1 つ以上の 0 があると、アップグレード前にその正確な時刻で作成されたメッセージがあった場合、そのメッセージは検索結果には含まれません。

例えば、Ensemble でアップグレード前の 2009-12-02 15:16:44.710 にメッセージを作成したとします。アップグレードした後、検索基準の [開始時刻]2009-12-02 15:16:44.710 または 2009-12-02 15:16:44.71 と入力すると、メッセージは検索されません。この問題を回避するには、検索時刻の範囲を少し広げます (2009-12-02 15:16:44.709 など)。

この問題は、Ens.MessageHeaderOpens in a new tab クラスの TimeCreated インデックスを再構築することで解決することもできますが、この方法はほとんどの場合お勧めできません。この方法では、再構築時にシステムをアイドル状態にする必要があります。これは、1 億のメッセージを持つメッセージ・ウェアハウスでは数時間かかる場合があります。多くの場合、検索されるのは最近のメッセージなので、問題になるのはアップグレード後の短期間にのみ限られると想定されます。Ens.MessageHeaderOpens in a new tab クラスに対して SQL 検索を使用するときも、同様の動作になります。この問題は、Ensemble リリース 2009.1 でも発生します。

ビジネス・ルールのエクスポートとインポート

現在および過去の Ensemble リリースで使用されている Xerces パーサ・バージョンで、問題が発生することが確認されています。Ensemble ビジネス・ルールに関連する現象は、以前に XML ファイルからエクスポートしたプロダクションをインポートする際、Ensemble により誤ってエラーが報告されるというものです。この現象は、単に結果を返すだけでなく、“assign” アクションを定義している汎用ビジネス・ルール定義が XML ファイルに含まれている場合にのみ発生します。

この問題に対処する方法は 2 つあります。1 つは、インポートを簡素化し、その分の作業をプロダクションのエクスポート担当者が行う方法です。もう 1 つは、エクスポートを簡素化し、その分の作業をプロダクションのインポート担当者が行う方法です。同等の効果を持つ以下の方法のいずれかのみを実行すれば十分です。

インポート

以下の方法を使用すると、インポート・タスクを円滑に進めることができます。

  1. 結果を返すだけでなく、“assign” アクションを定義している汎用ビジネス・ルールをすべて検索します。

  2. これらのルールをそれぞれ別のファイルにエクスポートします。必ず、1 ファイルにつき 1 ルールをエクスポートしてください。

  3. その他のルールを含むプロダクションの残りすべてを別のファイルにエクスポートします。

  4. エクスポートしたファイルを個々にインポート (およびコンパイル) します。

エクスポート

以下の方法を使用すると、エクスポート・タスクを円滑に進めることができます。

  1. すべてを 1 つのファイルにエクスポートします。

  2. インポートの際、スタジオは使用しないでください。代わりにターミナルを起動し、インポート対象のネームスペースに変更して、次のいずれかのコマンドを入力します (どちらでも機能します)。

     do $system.OBJ.Load("C:\MyDir\MyFile.xml","-i")
     do $system.OBJ.Load("C:\MyDir\MyFile.xml","/checkschema=0") 

HL7 スキーマ・エラー

Ensemble にロードされる HL7 スキーマ定義は、それぞれの標準 (HL7 2.1、2.2、2.3、2.3.1、2.4、2.5、2.5.1、2.6、2.7、および 2.7.1) から直接生成されています。少数の例外を除き、これらの定義には、HL7 協会により公開された際の標準に存在するエラー、脱落、不一致がそのまま反映されています。

ループ内の BPL スコープの制限

特定の状況下では、ループにスコープが含まれていて、繰り返しの回数が多くなると、エラーが発生することがあります。可能であれば、ループの内側でスコープを定義するのではなく、スコープにループが含まれるように定義してください。

デフォルトでは有効化されない DeepSee ダッシュボード・ページへのアクセス

DeepSee を含む任意の %CSP ページへのアプリケーション・アクセスは、セキュリティ・グローバルで制御されます。デフォルトでは、SAMPLES ネームスペースおよび ENSDEMO ネームスペースのみが DeepSee のページ (ダッシュボードを含む) にアクセスできます。他の Ensemble ネームスペース内で DeepSee アクセスを有効にして、それに関連付けられている Web アプリケーションにアクセスできるようにするには、[システム管理][セキュリティ][アプリケーション][Web アプリケーション] の順に選択し、DeepSee アクセスが必要なネームスペースを選択して、[一般] タブの [DeepSee] チェックボックスにチェックを付けて、[保存] をクリックします。

このチェックボックスは、DeepSee ダッシュボードや、その他の DeepSee のページを使用するあらゆるネームスペースに対して設定する必要があります。HealthShare インストールの場合は、Web アプリケーション名が /csp/healthshare/ で始まる点に注意してください。

また、Ensemble ターミナル・ウィンドウで以下のコマンドを入力すると、すべてのネームスペースおよび Web アプリケーションに対して DeepSee アクセスを有効にできます。

Do EnableDeepSee^%SYS.cspServer(0)

この問題の詳細な説明は、"Caché リリース・ノートおよびアップグレード・チェックリスト・アーカイブ" の "%CSP ページへのアプリケーション・アクセスの制御" を参照してください。

オペレーティング・システムのエフェメラル・ポートと競合する可能性のある受信ポート

Ensemble またはその他のアプリケーションが TCP 接続用の送信ポートを開くときには、対象サーバのリスニング・ポート番号を指定しますが、オペレーティング・システムは、エフェメラル・ポートに使用するポート範囲内に一時的 (エフェメラル) な送信ローカル・ポートを作成します。通常、オペレーティング・システムは、ポート範囲の最後に到達するまでポートを再利用しません。オペレーティング・システムがエフェメラル・ポートに使用する範囲内のポートを、サービスがリスニング・ポートに指定すると、そのポートにはサービスの開始時に使用できなくなる可能性があります。この場合はエラーが発生します。

潜在的なポートの競合を回避するために、“エフェメラル・ポート” について Web 検索を実行して、目的のオペレーティング・システムで使用されているエフェメラル・ポートの範囲を調べてください。その範囲内のポートをリッスンするサービスは、使用を避ける必要があります。多数の TCP 接続を使用するプロダクションを停止して、すぐに再起動すると、一部のユーザにこのエラーが発生することがあります。

コピー元とコピー先のタイプが異なる場合に実行不可になる再帰的なコピー

Ensemble には、仮想ドキュメントの構造化された繰り返し部分を再帰的にコピーするためのデータ変換メカニズムがあります。このメカニズムは、コピー元とコピー先のタイプと構造が同じ場合にのみ機能します。例えば、この機能は、ある EnsLib.HL7.MessageOpens in a new tab から別の EnsLib.HL7.MessageOpens in a new tab へのコピーに使用できます。これらの HL7 のバージョンが異なっていてもかまいません。ただし、EnsLib.HL7.MessageOpens in a new tab から EnsLib.EDI.XML.DocumentOpens in a new tab へのコピーに、この機能を使用することはできません。構造化された繰り返しているタイプの値をすべてコピーする方法の詳細は、"DTL 変換の開発" の “すべてのサブプロパティの値のコピー” を参照してください。

ユーザに報告されないエラー保存の認証情報

エラー保存の認証情報があった場合、このエラーはユーザに報告されません。Ens.Config.CredentialsOpens in a new tab のインスタンスを作成して認証情報の作成と保存を実行するコードでは、以下を実行する必要があります。

  1. Ens.Config.Credentials.PasswordSet() メソッドを呼び出す。

  2. 戻り値のステータスを確認する。

  3. エラーがある場合は、ユーザに通知して、適切なエラー回復処理を行う。

プロダクションとネームスペース

ほとんどの場合、プロダクションは同一のネームスペース内で定義され実行されますが、プロダクション・クラスを定義したネームスペースとは別のネームスペースでプロダクション・クラスを認識できるようにするために、Caché パッケージ・マッピングを使用できます。パッケージ・マッピングを使用して、複数のネームスペースでプロダクションを認識できるようにしている場合は、それらのネームスペースのうちの 1 つのみを指定してプロダクションのコンパイルと実行を行う必要があります。そのプロダクションを別のネームスペースでコンパイル、変更、または実行してはいけません。同一のプロダクションを複数のネームスペースで実行または変更すると、診断困難な障害の原因になることがあります。これを行う必要のある状況はありません。パッケージ・マッピングを使用しないでデータベースをネームスペースにマップする場合は、この問題について配慮する必要はありません。

ルールで使用されるカスタム関数のコンパイル順序

ルールでカスタム関数を使用している場合は、まず、そのカスタム関数をコンパイルしてから、ルールをコンパイルする必要があります。カスタム関数とルールを同時にインポートすると、コンパイルの順序を明示的に制御できなくなります。この状況を回避するために、ルールで使用されるカスタム関数をすべてコンパイルしてから、プロダクションの残りの部分をコンパイルしてください。通常、この状況は、プロダクションを新しいネームスペースまたはシステムに配置するときに発生することがあります。

カスタム関数がネームスペースで既に定義されていて、前もってコンパイルされている場合は、カスタム関数が変更されていたとしても順序やコンパイルは問題になりません。ただし、カスタム関数がネームスペースであらかじめ定義されていない場合は、そのカスタム関数が同じインポートでコンパイルされていたとしても、Ensemble はエラーを検出し、ルールのコンパイルに失敗します。

EnsLib.REST.Service の一部の %CSP.REST 機能が使用不可

EnsLib.REST.ServiceOpens in a new tab クラスは %CSP.RESTOpens in a new tab のサブクラスですが、2015.1 以降の Ensemble で %CSP.RESTOpens in a new tab に追加された機能の一部を使用できません。具体的には、Caché 2015.2 の次の新しい %CSP.RESTOpens in a new tab 機能を使用できません。

これらの新機能を使用する必要がある場合は、%CSP.RESTOpens in a new tab のサブクラスを直接作成し、Ens.Director.CreateBusinessService() メソッドを使用してそのクラスをビジネス・サービスとしてインスタンス化します。

FeedbackOpens in a new tab