本セクションでは、Enterprise Developer for Eclipse の最新および過去のリリースでの動作または使用法の重要な変更について説明します。これらの変更は、既存のアプリケーションの動作や、ツールの使用方法に影響を与える可能性があります。
SafeNet Sentinel ライセンスはサポートされなくなったため、リリース 10.0 以降では AutoPass ライセンスを使用する必要があります。既存の SafeNet Sentinel ライセンスを AutoPass ライセンスに変更する場合は、アカウント マネージャーにお問い合わせください。
VSAM 外部セキュリティ マネージャー (ESM) モジュールで提供される Enterprise Server セキュリティ機能は、デフォルトで有効になっています。この機能には、ユーザー、ユーザー グループ、およびリソースの認証と承認のサポートが含まれます。製品をインストールすると、SYSAD ユーザーのパスワードがランダムに生成されます。このパスワードは Vault 機能に保存され、次のコマンドを使用して取得できます。
mfsecretsadmin read microfocus/temp/admin
組み込み関数 LENGTH および特殊レジスタ LENGTH OF を使用した場合に、PIC N NATIONAL フィールドに対して正しい結果が返されない場合がありました。これらが正しい動作に更新され、前者の場合は文字数、後者の場合はバイト数を返すようになりました。レガシー コードが以前の誤った動作に依存していた場合、結果が異なる場合があります。
スタンドアロンの Eclipse 用モデリング サポート プラグインは、Enterprise Developer インストール環境で機能を利用できるようになったため、提供もサポートもされなくなりました。C:\Program Files (x86)\Micro Focus\Enterprise Developer\installer\files (Windows) または COBDIR/eclipse (UNIX) にある MFUpdateSiteED.zip アーカイブを使用して、AWM コンポーネントを Eclipse または IDz にインストールできます。
以前の 5 つの主要な製品リリースのいずれかを使用して生成されたシンボル ファイル (.idy ファイル) に対して、下位互換性のサポートが提供されます。
デバッグ時に .idy ファイルのバージョン チェックが実行され、過去 5 つのリリースよりも古い製品バージョンで作成された場合は拒否され、デバッグできなくなります。このような場合は、アプリケーションを再コンパイルして新しい .idy ファイルを生成します。
リリース 9.0 では、特定の Micro Focus 機能のアセンブリを含む複数の .NET NuGet パッケージがインストールされます。新しい .NET プロジェクト、および 9.0 で編集またはビルドした既存のプロジェクトは、プロジェクトの基本機能を含むコア パッケージ MicroFocus.COBOL.Runtime.Core にリンクされます。追加パッケージ (特定のファイル ハンドラー、COBOL Accept/Display など) をプロジェクトに手動で追加する必要があります。
9.0 より前のリリースで作成された既存の .NET COBOL プロジェクトをビルドすると、ビルド エラーが発生する可能性があります。MicroFocus.COBOL.Runtime メタパッケージの使用を有効にすることで、互換性を確保できます。あるいは、必要な NuGet パッケージを古いプロジェクトに手動で追加する必要があります。
リリース 8.0 以降で、SafeNet Sentinel ライセンスを AutoPass ライセンスに置き換えることができます。詳細については、Micro Focus カスタマー ケアまでお問い合わせください。
LOCKDB 機能は、Enterprise Server クラスターのグローバル ロック マネージャー (GLM) の機能を代替します。
新しいコンパイラ指令 DECLARE により、パラメーター化セクション構文の導入がサポートされました。この指令 (DECLARE"2") のデフォルトの動作では、SECTION に入るたびに、ローカルで宣言された指令が新たに割り当てられます。以前のデフォルトの動作では、ローカル宣言変数は局所記憶節に追加されるため、パラメーター化セクションが実行されるたびに新たに割り当てられることはありませんでした。以前の動作を維持するには、DECLARE"1" を設定します。 ただし、JVM COBOL にコンパイルする場合、またはプログラムにパラメーター化セクションが含まれる場合、この設定はサポートされません。
条件名が複数の値に対して true である INITIALIZE <条件名> 文で、すべてのシナリオで構文エラーを正しく受け取るようになりました。以前のリリースでは、一部のシナリオではコンパイルが可能でしたが、機能しませんでした。
デフォルトでは、デバッグ エンジンにより、デバッグ セッションで使用するシンボル ファイル (.idy ファイル) がデバッグ対象の COBOL プログラム (プログラムが最後にコンパイルされた際に生成されたもの) と一致するかどうかがチェックされます。ファイルが一致しない場合の挙動は次のとおりです。
JVM COBOL の場合はデバッグを続行できますが、ネイティブ COBOL で上記のメッセージが表示された場合は、デバッグを続行できません。
ネイティブ COBOL (のみ) のチェックを無効にするには、[Require program symbols (.idy) to match the program] オプションをオフにします。このオプションは、有効なデバッグ構成の [General] タブで利用可能です。
このパッケージは、以前は Java プログラムから JVM COBOL プログラムに項目を渡すなど、JVM COBOL アプリケーションですべての型を BY REFERENCE として渡すために使用されていました (ただし、これは本番環境での使用を目的としたものではありません)。
このリリースでは、このパッケージは、com.microfocus.cobol.references および com.microfocus.cobol.user_referencesという 2 つのパッケージに分割されました。references パッケージは、Java プリミティブ型 (short、int など) にマップされるすべての COBOL 項目を BY REFERENCE で渡すために使用されます。他のすべての型は user_references パッケージを使用します (文字列、プリミティブ型の配列など)。user_references パッケージ内のクラスは、コンパイラの要求に応じて生成され、JVM COBOL アプリケーションの .jar ファイルに追加する必要があります。
次の 2 点に注意してください。
ユーザーのアプリケーションで個別に署名された 2 つの .jar ファイルがあり、それぞれのファイルでコンパイラが生成したcom.microfocus.cobol.user_references クラスを使用する必要がある場合、.jar ファイルが相互にやり取りをする際にセキュリティ例外が発生します。これは、名前空間 com.microfocus.cobol.references が使用された場合にも当てはまります。
これを解決するには、com.microfocus.cobol.user_references に依存する構造体をアプリケーション用に生成されたクラス ファイル ディレクトリ構造から移動し、それらの構造体を別の jar ファイルにパッケージ化します (必要に応じて署名も可能です)。この .jar ファイルは、アプリケーション全体の CLASSPATH にも追加する必要があります。
以前のリリースでは、受け渡しモード (BY VALUE または BY REFERENCE) を明示的に指定せずにポインターがメソッドに渡された場合、BY REFERENCE で渡されたものと見なされます。このリリースからは、そのような項目は BY VALUE で渡されるものと想定され、他のパラメーターのタイプとの一貫性が保たれます。
ポインターを BY REFERENCE で渡すには、メソッド シグネチャで reference を明示的に指定する必要があります。次に例を示します。
method-id M1(reference ptr as pointer) ...
また、reference キーワードとともに引数も渡されていることを確認してください。次に例を示します。
invoke M1(reference myptr) ...
日本語ロケールで作成された新しい COBOL プロジェクトは、デフォルトで UTF-8 のソース エンコーディングに設定されるようになりました。このデフォルト設定は、[[1]
] で別の設定に変更できます。この設定は日本語以外のロケールにも設定できますが、初期設定ではデフォルトは設定されていません。また、各プロジェクト内で、SOURCE-ENCODING 指令を使用して、この設定を通常のプロジェクト レベル (プロジェクト設定、ビルド構成など) でオーバーライドできます。リリース 8.0 のこれらの変更の最新リストについては、Micro Focus サポート&サービス Web サイトのドキュメント セクションで入手できる本製品のリリース ノートを参照してください。
DISCARD 作用対象を使用する際に、出力用に開かれたデータ セットの LRECL が、ICETOOL が想定する LRECL よりも大きくないことを確認するための検証チェックが実装されました。LRECL が想定よりも大きい場合、ジョブは失敗します。
このチェックにより、以前は正常に実行されていたジョブが失敗する可能性がありますが、この動作はメインフレームの動作と一致するようになりました。
AIX プラットフォームでは、cob コマンドを使用して C または C++ プログラム (cob -xc filename.c など) をコンパイルする場合、使用するコンパイラはオペレーティング システムのバージョンに依存します。AIX 7.2 では XL ベースのコンパイラを使用し、AIX 7.3 では Clang ベースのコンパイラを使用します。
リリース 7.0 のこれらの変更の最新リストについては、Micro Focus サポート&サービス Web サイトのドキュメント セクションで入手できる本製品のリリース ノートを参照してください。
Solaris、IBM Z System の RedHat、IBM Z System の SUSE、および Ubuntu の各プラットフォームについて、AutoPass と呼ばれる新しいライセンス モデルを使用してライセンスが提供されるようになりました。これらのプラットフォームとライセンスは、既存の SafeNet ライセンス テクノロジを使用している場合、ソフトウェア ライセンスおよびダウンロード ポータル (sld.microfocus.com) からは入手できません。上記のプラットフォームに対する AutoPass ライセンスを入手するには、アカウント マネージャーに連絡して実際の要件を伝え、サポート インシデントを報告してリクエストを追跡します。
ファイル ハンドラーでサポートされる最大レコード長は 62KB です。この制限を超えるレコードを作成すると、COBCH0649 エラーがコンパイル時に生成されます。これらの大きなレコードを利用するプログラムは引き続き使用できますが、ファイル処理操作で悪影響が生じる可能性があります。
ISO2002 指令で、異なるレベルの ISO2002 機能を提供するオプションがサポートされるようになりました。ISO2002"1" は、Server Express および Net Express でサポートされる機能を提供し、ISO2002"2" は、それらの機能に加えて、Visual COBOL 以降に追加された機能を提供します。Server Express/Net Express で ISO2002 指令を使用していて、Enterprise Developer に移行する場合、ISO2002"2" による動作の変更の影響を受けるアプリケーションがある場合は ISO2002"1" を使用してください。
ODOSLIDE コンパイラ指令が設定されている場合、INITIALIZE 文の対象を可変長グループにすることはできません。以前のリリースでは、この場合も誤ってコンパイルが許可され、実行時に予期しない結果を招いていましたが、重大な構文エラーとして扱われるようになりました。
IDE のサーバー エクスプローラー ペインが Enterprise Server Common Web Administration (ESCWA) サービスと連携し、プロジェクトに関連付けられているエンタープライズ サーバーが管理されるようになりました。ただし、以前に確立されたサーバーとプロジェクトの関連付けについては、サーバー エクスプローラーでエンタープライズ サーバー ノードを右クリックすると表示される [Associate with project] オプションを使用して再確立する必要があります。保存されているサーバーの資格情報も失われるため、最初にサーバーに接続したときに再度保存する必要があります。
stackdump の生成は、Linux プラットフォーム (サポート対象の 32 ビットと 64 ビットの両方) でしか使用できなくなりました。以前は Solaris プラットフォームでも使用できましたが、サポートされなくなりました。
リバース デバッグおよびライブ記録機能は、undo.
io とは別にライセンスされてインストールされます。Micro Focus Marketplace から拡張機能をダウンロードして、リバース デバッグ機能を有効にできます。
JVM COBOL プログラムを REENTRANT"2" でコンパイルした場合に、インスタンス メソッドが生成されるようになりました。以前は、これらのプログラムをコンパイルすると静的メソッドが生成されていました。これらのメソッドが静的であることに依存する COBOL 以外のコードについては、これに対応するようにコードをリファクタリングする必要があります。
AIX プラットフォームでは、cob コマンドを使用して C または C++ プログラム (cob -xc filename.c など) をコンパイルする場合、使用するコンパイラはオペレーティング システムのバージョンに依存します。AIX 7.2 では XL ベースのコンパイラを使用し、AIX 7.3 では Clang ベースのコンパイラを使用します。
リリース 6.0 のこれらの変更の最新リストについては、Micro Focus サポート&サービス Web サイトのドキュメント セクションで入手できる本製品のリリース ノートを参照してください。
最新のオペレーティング システムに対応するために、それらの操作性のガイドラインに合わせて細かな調整を継続的に行っています。OS レベルの機能の操作時に、以前は定義されていなかった動作が検出されるようになっています。
エラー RTS096 は、コード内で直接的または間接的に COBOL 機能を呼び出したプロセスにオペレーティング システムの fork() API の呼び出しが含まれている場合に発生します。
このエラーにより、最新のオペレーティング システムで確認しないままにしておくと実行時にデッドロック、クラッシュ、またはその他の障害が発生する可能性がある状況を早期に診断できます。これらの問題は断続的に発生することが多く、追跡するのが非常に困難です。
詳細については、サポート技術情報の記事 https://community.microfocus.com/t5/Visual-COBOL-Knowledge-Base/fork-rts64-Error-96-encountered-in-child-process/ta-p/1771191 を参照してください。
ライブラリ ルーチンの呼び出しプロトタイプとして本システムで提供されるコピーブック cbltypes.cpy および cblproto.cpy には、最新の構文の機能である CONSTANT キーワードが含まれています。これらのファイルを MF 指令と組み合わせて使用する場合は、現在のレベルである 21 に設定する必要があります。それ以外の場合は、指令を削除するか、これらのコピーブックを使用しないでください。
他の DBMS SQL COBOL プリコンパイラと同様に、OpenESQL が埋め込み SQL 標準に準拠するようになり、WHERE <column> = :hostvar 句でのグループ ホスト変数の使用が許容されなくなりました。これまでは、使用されていてもコンパイル時にフラグが付けられず、実行時に予期しない結果になることがありました。
JSON (RESTful) サービス インターフェイスについて、JSON メッセージ本文の最も外側 (ルート) の構造を常に JSON オブジェクトにするように IMTK で強制されなくなり、JSON 配列またはプリミティブもルートとしてサポートされるようになりました。JSON メッセージのルートは必ず匿名にする必要がありますが、インターフェイス マッパーにおいては、操作のインターフェイス フィールドで本文の最上位のフィールドとして匿名のルートを定義することが必要になりました。その際、本文の最上位のインターフェイス フィールドは入力と出力のいずれについても操作に複数含めることはできないため、メッセージの本文に含まれるインターフェイス フィールドはすべて本文の最上位のフィールドの子にする必要があります。6.0 より前の非準拠の JSON サービス インターフェイスはそのままで引き続きサポートされますが、インターフェイス マッパーで保存する場合は準拠が必要になります。
JVM COBOL コードのうち、NATIONAL または NATIONAL NUMERIC データ項目の IS NUMERIC テストを使用するコードや、CHECKNUM コンパイラ指令でコンパイルされたプログラムで NATIONAL NUMERIC データ項目を使用するコードについては、このリリースで再コンパイルする必要があります。このような構造を使用する以前の製品のコンパイル済みコードをこのリリースで実行すると、MissingMethodException エラーが生成されます。
6.0 より前のバージョンでビルドされた、Windows リソース コンパイラ (RC.exe) に依存するプロジェクトは、Eclipse でリビルドする必要があります。そうしないと、エラーが発生する可能性があります。これは、このバージョンの製品で RC.exe の場所が変更になったためです。影響を受けるプロジェクトは、マニフェスト ファイル (カーソル、フォント、アイコンなどを含めるために使用) を明示的に参照し、コマンド ラインから直接ビルドされるプロジェクトです。
この問題は、Eclipse IDE 内でプロジェクトを開いてビルドすると解決します (.cobolBuild がリビルドされて RC.exe の新しい場所が検出されるようになります)。引き続きコマンド ラインからプロジェクトを実行する場合は、PATH に RC.exe への参照を含めてください。
作業記憶域に OCCURS DEPENDING ON 指定を含むデータ項目が格納されている場合、ODOSLIDE が有効な状態のときは、それと同じかそれよりも上位の後続のデータ項目に VALUE 句を含めることはできません。そのようなデータ項目がある場合、エラー (COBCH1962) が生成されるようになりました。
ソース コードから VALUE 句を削除できない場合や ODOSLIDE を削除できない場合は、Micro Focus のカスタマー ケア窓口にお問い合わせください。
iFileshare は、この製品の戦略的コンポーネントではなくなり、拡張されなくなりました。現在これに依存している場合は、代わりにスタンドアロンの FileShare サーバーに移行することをお勧めします。「Fileshare でのエンタープライズ サーバーの使用」を参照してください。
リリース 5.0 のこれらの変更の最新リストについては、Micro Focus サポート&サービス Web サイトのドキュメント セクションで入手できる本製品のリリース ノートを参照してください。
通信機能 (COMMS SECTION または COMMUNICATION SECTION) は以前から非推奨になっています。関連する特定の構文については、残っていてもコンパイラでは問題にはならず無視されていました。それらの構文が完全に許容されなくなり、含まれているとコンパイラでエラー (COBCH1895 通信機能はサポートされない) が生成されるようになりました。ソースから該当するセクションを削除して再コンパイルする必要があります。
ES_XA_RECONNECT 環境変数に関連付けられた処理が変更されました。
この処理は、新しい CICS トランザクション (CRCN) に置き換えられました。このトランザクションは接続の切断を監視およびテストし、定期的な間隔で再接続を試行します。
本リリースでは、ES_XA_RECONNECT を使用して、トランザクションで実行される接続テスト間のこの間隔 (秒単位) を指定するようになりました。
現在 ES_XA_RECONNECT=TRUE を使用している場合は、使用中のシステムで指定可能な時間に設定します (5 秒、30 秒、60 秒など)。
接続を監視する新しい方法では、ES_XA_???_NB_RETRIES 変数も不要になりました。
環境変数 ES_XA_EXCLUDE_MONITORING を使用して、1 つ以上の RM を CRCN 処理から除外できます。たとえば、ES_XA_EXCLUDE_MONITORING=RM1;RM2;RM3 と指定すると、RM1、RM2、および RM3 という名前の 3 つのリソース マネージャーが除外されます。
詳細については、「リソース マネージャーの監視」を参照してください。
ランタイム エラー メッセージに行番号情報を含めると、プログラムの異常終了時の診断に役立ちます。これはすでに UNIX および Linux プラットフォームでのデフォルトの動作であり、Windows プラットフォームでもコマンド ラインを使用する場合のコンパイラのデフォルトの動作です。
デバッグ ビルドの場合、通常は ANIM コンパイラ指令を指定し、リリース ビルドの場合、通常はビルド スクリプトに ANIM 指令を指定しません。これらの状況では、以前は気付かなかった .idy ファイルの存在に気付くかもしれません。これらの .idy ファイルの生成は、行番号情報の生成以外のアプリケーションの動作やパフォーマンスには影響しません。.idy ファイルはアプリケーションの実行に必要ではないため、アプリケーションをデバッグする特定の要件がない限り、配布しないでください。
Enterprise Developer 5.0 では、TLS 証明書の共通名 (CN) マッチングのデフォルトの動作が変更されました。CN 値またはサブジェクト代替名 (SAN) の完全一致が必要になりました。たとえば、127.0.0.1 と localhost は暗黙的に同等ではなくなり、ホスト名とその IP アドレスまたは完全修飾ドメイン名 (FQDN) のバリアントも同等ではなくなりました。
Enterprise Server Administration Web インターフェイスからリージョンを開始する場合は、解決済みの IP アドレスが casstart -m パラメーター値に使用されます。コマンド ラインの起動時にホスト名を指定する場合でも、解決済みの IP アドレスが使用されます。この動作を変更し、解決済みのホスト名の値 (ホスト ファイル エントリなど。マシンの TCP 構成によって決定されます) を使用するには、環境変数 MFDS_DNS_RESOLVE=Y を設定します。casstart -m コマンド ライン パラメーターを介して明示的に渡される値など、未解決の文字列リテラル ホスト名を使用するには、MFDS_DNS_RESOLVE=N を設定します。
リリース 5.0 の Patch Update 5 において、空のデータ セットに対して REPRO を実行した場合に VSAM データ セットのファイル状態が元の状態から使用済みに誤って変更される問題が修正されました。REPRO によるデータ セットへのレコードのコピーで、ソース データ セットが空の場合はコピー先のデータ セットは開きません。これにより、INPUT の OPEN において、空のデータ セットの REPRO でコピー先に指定された VSAM データ セットのファイル状態が 00 ではなく 35 になります。
MVSSPLHK ハウスキーピング プロセスを使用する場合、スプール ハウスキーピング履歴ファイル (INDEXO) は 7 桁のジョブ番号付けをサポートできるようになりました。
7 桁のジョブ番号付けを有効にすると、既存のデータ セット (INDEXO で指定) を新しい形式に変換する必要があります。サンプルの .jcl ファイル (CONVERT.JCL) および変換ユーティリティ (MFHKHCOV) は両方とも、本バージョンの製品に付属しています。.jcl ファイルを編集してデータ セットの名前を反映し、それを実行してファイルを変換します。変換後、新しくフォーマットされたデータ セットは、5 桁と 7 桁の両方のジョブ番号付けをサポートします。5 桁のジョブ番号だけを使用する場合は、変換を実行する必要はありません。
詳細については、ヘルプの「MVSSPLHK スプール ハウスキーピング プロセス」セクションを参照してください。
JCL セキュリティ チェックが拡張され、ジョブをサブミットするユーザーが、JCL ファイルのカタログ式プロシージャまたは INCLUDE ファイルとして使用されるメンバーを持つ区分データ セットへの読み取りアクセス権を最低限持っていることを確認するようになりました。同様に、ジョブを実行するユーザーには、ジョブで言及されている JOBLIB および STEPLIB 区分データ セットに対する読み取りアクセス権が最低限必要です。
パブリック カタログ API の MVSCATPB を使用している場合、データ セットが開かれた後は、ジョブ ステップに現在割り当てられているデータ セットの変更または削除は実行できません。実行しようとすると、MVSCATPB からretcode (78-RET-VALIDATE-ERROR (20) および理由コード78-dataset-in-use (19) が返されます。
また、REPL 関数を使用してデータ セットの DSORG を更新する際、変更が適切であるかどうかが検証されるようになりました。適切でない場合は、戻りコード78-RET-VALIDATE-ERROR (20) および理由コード78-MISMATCHED-DSORG (50) が生成されます。
FTF (ファイル管理記述項) を渡して EXTFH または EXTSM を直接呼び出すアプリケーションは、FCD を正しく初期化する必要があります。これは、未使用または予約済みの領域をバイナリ ゼロで初期化する必要があることを意味します。そうしないと、たとえば EXTSM を呼び出す際に RTS114 エラーを受け取る場合があります。「ファイル制御記述 (FCD)」を参照してください。
エラー処理、終了処理のプロシージャ、またはシグナル ハンドラーで coblongjmp() を呼び出すと、次の致命的なランタイム システム エラー メッセージが生成されるようになりました:COBRT131 coblongjmp() は現行のコンテキストから戻ることができない (致命的)。
このシナリオは、以前は制約事項として明言されていましたが、今後の問題を防ぐために適用されるようになりました。このようなエラーを解決するには、コードをリファクタリングして、エラー プロシージャ、終了処理のプロシージャ、またはシグナル ハンドラーから coblongjmp() 呼び出しを削除します。
リリース 4.0 のこれらの変更の最新リストについては、Micro Focus サポート&サービス Web サイトのドキュメント セクションで入手できる本製品のリリース ノートを参照してください。
各問題の後に続く番号は、サポート インシデント番号と、その後に続く、報告された問題インシデント (Reported Problem Incident; RPI) 番号 (かっこ内) です。
コンパイラにより、「COBCH1888 Typedef is defined differently in another external program 」という E レベルのメッセージが生成されるようになりました。これは、異なる外部プログラムが同じ typedef 名で競合する定義を持っている場合に生成されます。以前の定義が無視された場合に以前の動作を復元するには、指令 HIDEMESSAGE"1888" を使用します。
エンタープライズ サーバー リージョンが外部セキュリティを使用して保護されている場合に、Enterprise Server コンソール ログおよび Communications Server ログへの Web アクセスが制限されるようになりました。いずれかのログ ファイルを表示するには、有効なユーザー名およびパスワードを入力する必要があります。
ログへの Web アクセスは、Enterprise Server コンソール ログおよび Communications Server ログのリソースとともに、新しい Communications Server リソース クラスの下の標準 ACL 定義を使用して制御できます。これらのリソースが存在する場合、ユーザーはログの表示を許可される「読み取り」アクセス権を必要とします。リソースが存在しない場合、デフォルトの動作では、有効なユーザー名およびパスワードの入力時に「読み取り」アクセスが許可されます。
新しいリソース クラスおよびリソース定義のサンプルは、es_default_ldap_msuser.ldf (Windows) または es_default_ldap_unix.ldf (UNIX) ファイルにあります。このファイルは、製品ディレクトリの bin (Windows) または etc (UNIX) サブディレクトリにあります。
製品のバージョン 4.0 は、以前の Micro Focus 製品よりも新しいバージョンの Microsoft C ランタイム システムに依存しています。つまり、製品の以前のバージョンでビルドされた COBOL 実行可能ファイル (.exe) は、バージョン 4.0 のランタイム製品とは互換性がない可能性があります。バージョン 4.0 でアプリケーションの動作が変わる場合、メインの実行可能ファイルをバージョン 4.0 に再リンクすることを強くお勧めします。これにより、COBOL ランタイム システムが、発生する可能性のあるランタイム エラー条件を完全に処理できるようになります。
元のオブジェクト コードが使用可能で、バージョン 4.0 と再リンクされている限り、バージョン 4.0 と完全に互換性のある新しい実行可能ファイルは、アプリケーションを再コンパイルせずに作成できます。
実行可能ファイルが製品の最新のプログラミングおよびパフォーマンスの強化の恩恵を受けられるように、ソース コードを完全に再コンパイルすることをお勧めします。
DIALECT=MAINFRAME 設定を使用する際に、OpenESQL STRICTPARSE SQL コンパイラ指令オプションは、ODBC (DBMAN=ODBC) でデフォルトで有効になりました。これにより、z/OS DB2 構文への厳密な準拠が保証されます。
アプリケーションで OpenESQL プリプロセッサが以前のリリースのように動作する必要がある場合は、NOSTRICTPARSE を使用してコンパイルします。
このリリースでは [Configure Runtime Environment] ダイアログ ボックスが変更されたため、システムをアップグレードした後、サービスを実行する前にこのダイアログ ボックスで以前に設定した値をすべて再入力する必要があります。
このリリースでは、すべての CICS 関連の Java アーティファクトは、Enterprise Developer インストール ディレクトリの javaee-ccl ディレクトリ下の新しいディレクトリ構造を使用して提供されています。javaee-ccl ディレクトリ構造は、javaee ディレクトリの構造を模倣しています。たとえば、mfccl.jar は bin サブディレクトリではなく javaee-ccl\common ディレクトリにあります。
tcutil ユーティリティから生成されたテスト カバレッジの結果に影響するスキーマの変更により、結果をサードパーティ アプリケーション (XSLT プロセッサなど) に入力して<copyFileCoverage> 要素に依存する場合に、代わりに<sourceFileCoverage> にフォーカスするように変換を変更する必要があります。tcutil がすべてのソース ファイル (コピーブックだけでなく) をグローバルにカバーするようになったため、要素はその内容をより適切に反映するように名前が変更されました。
リリース 3.0 のこれらの変更の最新リストについては、Micro Focus サポート&サービス Web サイトのドキュメント セクションで入手できる本製品のリリース ノートを参照してください。
各問題の後に続く番号は、サポート インシデント番号と、その後に続く、報告された問題インシデント (Reported Problem Incident; RPI) 番号 (かっこ内) です。
JES000058E JES validation - Product requires new spool control files.Run spool conversion utility, splconv, to create them.
このリリースでは、パフォーマンスを改善するために、JES スプール リポジトリのインフラストラクチャがアップグレードされました。JES 対応のリージョンごとに、JES にジョブを送信する前に、スプール変換ユーティリティを実行する必要があります。新規作成されたリージョンは、新しいスプール ファイルを使用するように自動的に構成されます。
変換プロセスにより、既存のスプール ファイルの情報が、新しいシステムで必要な一連の新しいファイルに変換されます。新しいシステムに移行しても、データが失われることはありません。
ハウスキーピング タスクを実行する際の時間が大幅に改善するだけでなく、これらの変更には以下の追加の利点があります。
変数 | 説明 |
---|---|
MFSYSCAT | 現在の JES カタログの場所および名前。これは必須です。 複数のカタログ ファイルを使用している場合 (つまり、1 つ以上のユーザー カタログを定義している場合)、この環境変数は JES スプール データセットがカタログ化されたカタログを指す必要があります。 |
MVSSPOOLDIR | 現在の JES スプール制御ファイルの場所 (casspool.dat など)。これは、場所が JES カタログの場所と異なる場合にのみ必須です。 |
NEWSPOOLDIR | 結果の JES スプール制御ファイル (つまり、変換を実行している場合は SPL* ファイル、回帰を実行している場合は古いスタイルのスプール ファイル) の場所。これは、場所が既存のスプール ファイルの場所と異なる場合にのみ必須です。 |
MFSYSCAT_ERRS | 変換が終了するまでの変換プロセス中に許容されるカタログ エラーの数。この設定は任意で、デフォルト値は 100 です。 プロセスが終了すると、次のエラーが生成されます。 *** Error: Error count exceeded - program terminating |
変換プロセスが実行され、変換されたファイルおよびレコードの詳細が画面に表示されます。
*** Error: Error raised on READ of MVSSPL File status is 23 Processing record: Type=15 J#=,job no.> Seq#=<seq no.>
このようなメッセージが生成されるのは、casspool sysout レコードを検出した際に、一致するレコードが MVSSPL01/02 ファイルに見つからない場合です。レコード タイプ (15) は、これがアクティブなスプール レコードであることを示します。これは、関連付けられた ES リージョンが開始済みの状態である際にファイルのコピーが作成された場合、または関連付けられたジョブがクラッシュした場合にのみ、casspool に存在します。
これらのメッセージは安全であるため無視できますが、100 を超えるメッセージが生成されると、デフォルトのエラー制限を超え、変換が終了します。この場合は、MFSYSCAT_ERRS 環境値を使用してエラー制限をより高い値に設定してから、変換プロセスを再実行してください。
JES000058E JES validation - Product requires new spool control files. Run spool conversion utility, splconv, to create them.
現在の製品の古いバージョンにダウングレードする場合、現在の製品で変換または作成されたエンタープライズ サーバー リージョンは互換性がありません。それらを使用する前に、古い JES スプール リポジトリを使用するように戻す必要があります。
以前のバージョンの製品で JES 対応のリージョンを使用する場合は、このプロセスを使用します。
回帰プロセスが実行され、変換されたファイルおよびレコードの詳細が画面に表示されます。
これで、以前のバージョンの Enterprise Developer の変数で識別されたリージョンを使用できます。リージョンを Enterprise Server for .NET にエクスポートする場合、現在の製品で変換または作成されたエンタープライズ サーバー リージョンは互換性がありません。それらを使用する前に、古い JES スプール リポジトリを使用するように戻す必要があります。
JES 対応のリージョンを Enterprise Server for .NET にエクスポートする場合は、このプロセスを使用します。
回帰プロセスが実行され、変換されたファイルおよびレコードの詳細が画面に表示されます。
これで、Enterprise Server for .NET の変数で識別されたリージョンを使用できます。FASTINIT 指令のデフォルト設定が以下のとおり変更されました。MF 方言を設定する際に、FASTINIT がデフォルトになりました。この指令は、他の方言ではデフォルトで設定されません (つまり、NOFASTINIT)。
PHYSFILE クラスを LDAP リポジトリに作成する場合は、ジョブが正常に送信されるように、ジョブを送信するユーザーがジョブ ログの場所に「書き込み」アクセスできるように適切なルールを追加する必要があります。
mscorlib 以外のアセンブリ内の型への参照は、明示的に参照する必要があります。これを実行するには、ILREF コンパイラ指令を使用できます。
以前は、特定の状況で、ILREF"System" 指令を必要とせずに System.dll アセンブリ内の型にアクセスすることをコンパイラが許可していました。
新しい OpenESQL OPTIMIZECURSORS SQL コンパイラ指令オプションは、ODBC (DBMAN=ODBC) に対してデフォルトで有効になっています。これにより、WITH HOLD 句および FOR UPDATE 句を使用する埋め込み SQL カーソルが、すべてのデータベースで同じデータ整合性を持つことが保証されます。
以前のリリースで提供された動作を使用するためにアプリケーションで OpenESQL プリプロセッサが必要な場合は、OPTIMIZECURSORS=NO を使用してコンパイルします。
詳細については、「予約語一覧表」を参照してください。
本セクションでは、動作または使用法の重要な変更について説明します。これらの変更は、既存のアプリケーションの動作や、ツールの使用方法に影響を与える可能性があります。
各問題の後に続く番号は、サポート インシデント番号と、その後に続く、報告された問題インシデント (Reported Problem Incident; RPI) 番号 (かっこ内) です。
この製品リリースでは、COMMON プログラムを含むネストされたプログラムに対して正しい ANS85 スコープ規則を適用し、ネスト階層の異なるレベルで同じ名前の複数のプログラムを使用できるようにします。このようにして、マネージ COBOL の動作は、ネイティブ COBOL プログラムの動作と互換性が確保されます。
2869185 (1105763)
2869848 (619107)
2852872 (1103699)
2816871 (1099564)
2854207 (1103659)
2852302 (1103304)
2857374 (1104039)
2871278 (1106114)
2859980 (1104399)
2838118 (1101539)
本セクションでは、動作または使用法の重要な変更について説明します。これらの変更は、既存のアプリケーションの動作や、ツールの使用方法に影響を与える可能性があります。
各問題の後に続く番号は、サポート インシデント番号と、その後に続く、報告された問題インシデント (Reported Problem Incident; RPI) 番号 (かっこ内) です。
2835290 (1101493)
2820090 (1099354)
2839272 (1101672)
2835112 (1101201)
2841220 (1101955)
2848855 (1102932)
2699374 (1094326)
2834206 (1101079)
2698700 (1094266)
2831984 (1100883)
監査マネージャーが実行されていない場合、イベントは共有メモリから削除されず、スロットは使用できなくなります。したがって、新しい TIMEOUT オプションを使用して、クライアントが TIMEOUT 期間に達するまで送信を再試行するようにします。その後、監査イベントの送信を停止します。監査マネージャーがリサイクルされると、イベントの送信が再開されます。
mfaudit.timeout = nn は、ミリ秒単位のタイムアウト値です。
個々の監査マネージャー クライアントに対して TIMEOUT を設定するには、「CBL_AUDIT_CONFIG_PROPERTY_SET」API を使用します。これは整数のプロパティ値を取り、この値はミリ秒単位のタイムアウト値とします。
両方の方法を使用して TIMEOUT を設定した場合、このプロパティがゼロに設定されていない限り、クライアント プロパティ TIMEOUT が優先されます。そのような場合、構成ファイルの TIMEOUT が使用されます。「TIMEOUT」プロパティで「CBL_AUDIT_CONFIG_PROPERTY_GET」API を使用すると、クライアント プロパティの TIMEOUT 値のみが返されます。構成ファイルで設定された値は返しません。
2838689 (1101685)
CHARSET"EBCDIC" が有効である場合に、文字列内の各文字が有効な DBCS 文字であると見なされると、IS DBCS 検査は真を返す。有効な文字は、最初のバイトが 0x41 から 0xFE の範囲にあり、かつ 2 番目のバイトが 0x41 から 0xFE の範囲にある文字か、EBCDIC スペース (0x4040) である文字である。CHARSET"ASCII" が有効である場合に、DBCS 検査は OS の呼び出しを使用して、文字列に有効な 2 バイト文字のみが含まれているかどうかを判別し、有効であれば真を返す。
CHARSET"EBCDIC" が有効である場合に、文字列内の各文字が有効な漢字であると見なされると、IS KANJI 検査は真を返す。有効な文字は、最初のバイトが 0x41 から 0x7F の範囲にあり、かつ 2 番目のバイトが 0x41 から 0xFE の範囲にある文字か、EBCDIC スペース (0x4040) である文字である。CHARSET"ASCII" が有効である場合に、IS KANJI 検査は OS の呼び出しを使用して、文字列に有効な漢字のみが含まれているかどうかを判別し、有効であれば真を返す。
CHARSET"EBCDIC" が有効である場合、IS JAPANESE 検査はサポートされず、翻訳時に「COBCH1806 この機能は選択した文字集合ではサポートされない」というメッセージが表示されて翻訳エラーになる。
CHARSET"ASCII" が有効である場合に、IS JAPANESE 検査は、文字列に 2 バイトの日本語文字または半角のカタカナ文字のみが含まれている場合は真を返し、有効であれば真を返す。NSYMBOL"NATIONAL" が有効である場合、これらの字類検査はサポートされず、翻訳時に「COBCH0303 作用対象が誤ったデータ形式である」というメッセージが表示されて翻訳エラーになる。
2812895 (1098401)
これは、データベースに対する 1 回限りの変更です。
2843818 (1102248)
本セクションでは、動作または使用法の重要な変更について説明します。これらの変更は、既存のアプリケーションの動作や、ツールの使用方法に影響を与える可能性があります。
各問題の後に続く番号 (ある場合) は、サポート インシデント番号と、その後に続く、報告された問題インシデント (Reported Problem Incident; RPI) 番号 (かっこ内) です。
2806239 (1097738)
2807531 (1097783)
2682101 (1092325)
2664675 (1091082)
2786397 (1095265)
2796076 (1096384)
COBDATA はコンパイルには影響しません。コンパイラの出力は、COBDATA が設定されているかどうかに関係なく同じ場所です。
以前は、sign-fixup、host-num-move、または host-num-compare では sign(EBCDIC) を指定できませんでした。この組み合わせはネイティブ COBOL でサポートされるようになりましたが、マネージ COBOL コードでは無効のままです。これは、バージョン 2.2 U2 HotFix 10 以降に適用されます。2824577 (1100823)
動作の変更点として考えられる例を、以下に示します。
strict_file_locking=trueが設定されていると、Process-A で読み取りアクセスのみを許可してファイルが正常に開かれているため、Process-B でファイルを開くことはできません。
strict_file_locking=falseが設定されていると、Process-B で正常にファイルが開かれます。
アプリケーションが予期しない OPEN 状態を検出した場合、またはファイルを開けない場合は、この新しいファイル ロック動作が原因である可能性があります。そのような状況の場合は、アプリケーションのファイル ロックおよびファイル共有の要件を見直し、デフォルト設定を使用するようソース コードをリファクタリングすることをお勧めします。元のファイルのロックおよび共有の動作は、strict_file_locking=falseを設定することで復元できます。
(609469)
2792882 (1096196)
2696707 (1095994)
2799213 (1096684)
2816179 (1098882)
2815695 (1098825)
2814249 (1098636)
2812899 (1098412)
2812899 (1099966)
2812878 (1098417)
2794881 (1096221)
2789939 (1095803)
Mainframe Access は、以前使用されていた SAS/C コンパイラではなく、IBM XL/C コンパイラを使用してビルドされるようになりました。この変更では、提供されているサンプル MFA、MFAS、および MFAAS を参照して、実稼働 JCL プロシージャを更新する必要があります。各 JCL プロシージャで、STEPLIB DD 文を変更し、新しい文 CEEOPTS を追加します。
Web Administration 機能は、Enterprise Developer では使用できなくなりました。
Endevor の Mainframe Access サポートを使用するには、Endevor R14 以降を使用する必要があります。CA は R14 で Endevor API を安定化したため、R14 からそれ以降のバージョンにアップグレードする場合、Mainframe Access が使用するサポート モジュールを更新する必要はありません。
2792382 (1096011)
2819663 (1099293)
2789213 (1095636)
2698537 (1094243)
2696129 (1094011)
2804069 (1097253)
以前のバージョンの Enterprise Developer を使用してビルドされた他の COBOL サブプログラムには、リビルドは必要ありません。
本セクションでは、動作または使用法の重要な変更について説明します。これらの変更は、既存のアプリケーションの動作や、ツールの使用方法に影響を与える可能性があります。
各問題の後に続く番号は、サポート インシデント番号と、その後に続く、報告された問題インシデント (Reported Problem Incident; RPI) 番号 (かっこ内) です。
2663890 (1091979)
2697615 (1094527)
2697571 (1094370)
この新しいアルゴリズムは、オプション機能「username substitution」も提供します。これを有効にするには、セキュリティ マネージャーの構成テキスト領域の[Operation] セクションで「rule substitutions」を「yes」に設定しますこれを有効にすると、リソース ルール名の文字列「${user}」が、リクエストを行うユーザーの名前に置き換えられます。たとえば、「USERS.${user}.**」という名前の DATASET ルールは、2 番目の修飾子として要求元ユーザーの名前を持つデータセットに適用されます。まれに、リソースへのアクセスに関する複雑であいまいなセキュリティ ルールを使用している場合は、新しいアルゴリズムの結果として、動作に変化が生じることがあります。古いアルゴリズムは引き続きサポートされており、Security Manager の構成の[Operation] セクションで「version 1 authentication」を「yes」に設定することで有効にできます。
2807531 (1097783)
フィールド | [Environment Variable] |
---|---|
LANG=PL/I PCB アドレス リスト | ES_IMS_PLI_INDIRECT_PCBADDR=D|Y|N 詳細は次のとおりです。
|
IBM プラットフォーム | ES_IMS_IBMPLATFORM=M|D 詳細は次のとおりです。
|
2 次索引スパース出口言語 | ES_IMS_SPARSE_EXIT_LANG=C|A 詳細は次のとおりです。
|
2784949 (1095190)
2784622 (1095971)
メインフレーム方言 DB2 CHAR() 関数は、新しい SQL Server スカラー関数 dbo.MFCHAR() を呼び出すようになりました。アプリケーションの SQL Server データベースに新しい関数を作成するには、次のいずれかを実行できます。
または
さらに、次の規則が適用されます。
2804069 (1097253)
2579600 (1084675)
(606142)
2651654 (1090287)
2660651 (1091290)
-zp1 オプションの動作は、Enterprise Developer の 2.2 Update 1 よりも前のバージョンに戻っており、Char Varying データ項目に関する追加修正も適用されています。–zp1 オプションの詳細については、製品ヘルプの Open PL/I ユーザー ガイドを参照してください。
このフィックスにより、Enterprise Developer の 2.2 よりも前のバージョンに動作が戻り、–zp1 でコンパイルすると、すべてのパラメーターが非整列として扱われます(Enterprise Developer 2.2 Update 1 では、-zp1 でのコンパイルの動作では、パラメーターは非整列であるかのようには扱われませんでした)。
-zp1 コンパイラ オプションを使用する場合、すべての Character Varying データ項目が非整列であるかのように扱われるようになりました。Open PL/I の以前のバージョンでは、Character Varying データ項目には、–zp1 の非整列要件は構造体のメンバーおよびパラメーターにのみ適用されました。
この変更の例を次に示します。
zptest: proc options(main); dcl 1 st1, 2 c char, 2 x(4) char(7) var init ('a', 'xx', 'yyy', 'zzzz'); dcl y(4) char(7) var init ('a', 'xx', 'yyy', 'zzzz'); dcl sub entry ((4) char(7) var); call sub (x); call sub (y); end; sub: proc (z); dcl z(4) char(7) var; dcl i fixed bin(31); do i = 1 to hbound(z); z(i) = 'x'; end; end;
詳細は以下のとおりです。
–zp1 を使用する際、このようにすべての Char Varying データ項目を非整列として扱うような修正を行うため、CHAR VARYING 配列のサイズが Open PL/I の以前のバージョンのものとは異なります。次に例を示します。
dcl X(4) char(7) var; Put skip list (size(X)) /* size is 36 bytes vs. 40 bytes in previous versions of Open-PL1 */
2789213 (1095636)
2783734 (1094988)
本セクションでは、動作または使用法の重要な変更について説明します。これらの変更は、既存のアプリケーションの動作や、ツールの使用方法に影響を与える可能性があります。
各問題の後に続く番号は、サポート インシデント番号と、その後に続く、報告された問題インシデント (Reported Problem Incident; RPI) 番号 (かっこ内) です。
2692826 (1093604)
2671175 (1091627)
2642115 (1089055)
2664639 (1090992)
2659555 (1090759)
(592452)
2686149 (1093587)
2665006 (1091034)
2675860 (1092098)
ただし、UNIX ld コマンドまたは Enterprise Developer cob コマンドを使用して PL/I オブジェクトをリンクする場合、スタンドアロンの Open PL/I オブジェクト (Enterprise Server の外部で実行される) をリンクする際にライブラリ libmfpli.so を含める必要があります。また、Enterprise Server の制御下で実行される PL/I オブジェクトをリンクする際には libmfpliz.so を含める必要があります。
これを行うには、スタンドアロンの Open PL/I オブジェクトに対してはオプション -lmfpli を使用し、Enterprise Server の下で実行される PL/I に対しては -lmfpliz を使用します。これらのオプションは、–lmf オプションに代わるものです。
2674783 (1092319)
2477031 (1076203)
本セクションでは、動作または使用法の重要な変更について説明します。これらの変更は、既存のアプリケーションの動作や、ツールの使用方法に影響を与える可能性があります。
各問題の後に続く番号は、サポート インシデント番号と、その後に続く、報告された問題インシデント (Reported Problem Incident; RPI) 番号 (かっこ内) です。
2195519 (1062800)
2657471 (1090355)
2549904 (1082171)
2559087 (1084226)
2643384 (1088993)
2608496 (1088530)
2488419 (1077143)
2646770 (1089380)
2610362 (1087601)
2619050 (1089095)
2641890 (1088838)
2487164 (1081693)
2562118 (1083203)
2655482 (1090444)
2675860 (1092098)
2655906 (1090193)
2662261 (1090768)
2615412 (1090483)
2612530 (1087809)
BIS_LOG 変数は、BIS アプリケーション プールを開始またはリサイクルする際にのみ検査されます。BIS_LOG を設定または変更した後、変数を有効にするには IIS を再起動する必要があります。
本セクションでは、動作または使用法の重要な変更について説明します。これらの変更は、既存のアプリケーションの動作や、ツールの使用方法に影響を与える可能性があります。
各問題の後に続く番号は、サポート インシデント番号と、その後に続く、報告された問題インシデント (Reported Problem Incident; RPI) 番号 (かっこ内) です。
2552658 (1082755)
2606838 (1087239)
2606835 (1087238)
(594968)
2593798 (1085945)
本セクションでは、動作または使用法の重要な変更について説明します。これらの変更は、既存のアプリケーションの動作や、ツールの使用方法に影響を与える可能性があります。
各問題の後に続く番号は、サポート インシデント番号と、その後に続く、報告された問題インシデント (Reported Problem Incident; RPI) 番号 (かっこ内) です。
2550800 (1082337)
(589096)
2579335 (1084817)
2553438 (1082469)
本セクションでは、動作または使用法の重要な変更について説明します。これらの変更は、既存のアプリケーションの動作や、ツールの使用方法に影響を与える可能性があります。
各問題の後に続く番号は、サポート インシデント番号と、その後に続く、報告された問題インシデント (Reported Problem Incident; RPI) 番号 (かっこ内) です。
2549058 (1082441)
2518330 (1079491)
2525670 (1080092)