プログラムがレコードに対する入出力操作を行うとき、入出力はレコード特定変数 recordName.resourceAssociation がある物理ファイル上で行われます (その変数が特定タイプのファイルをサポートしている場合)。この変数は、生成時に使用される resourceAssociation パーツに基づいて初期化されます。 詳しくは、『リソース関連とファイル・タイプ』を参照してください。システム・リソース名は、実行時に、異なる値を resourceAssociation に配置することによって変更できます。
大抵の場合、構文 recordName.resourceAssociation を使用する必要があります。ただし、以下のそれぞれの場合が真であるため、EGL がユーザーが意図したレコードを判別できる場合は、レコード名を指定する必要はありません。
resourceAssociation は、以下のいずれかとして使用できます。
recordName.resourceAssociation に移される値は、プログラムの生成時に指定されたシステムとファイル・タイプに有効なシステム・リソース名でなければなりません。 同じファイル名を指定したレコードが複数存在する場合、 そのファイル名を持ついずれかのレコードで resourceAssociation が変更されると、 同じファイル名を持つプログラム内のすべてのレコードで resourceAssociation の設定が変更されます。
resourceAssociation の設定で識別されたシステム・リソースが レコード特定変数が変更されるときにオープンしていると、その変数内に存在したシステム・リソースは後続の環境ではクローズされます。I/O オプションは、resourceAssociation を修飾するレコードと同じ EGL ファイル名を持つレコードに対して実行されます。
2 つのプログラムで同じ EGL ファイル名が使用されている場合は、レコード固有の resourceAssociation 変数に同じ値が含まれていなければなりません。それ以外の場合は、新しいシステム・リソースがオープンするときに、以前にオープンされていたシステム・リソースがクローズされます。
resourceAssociation の別の値との比較は、 突き合わせが全く一致する場合にのみ真と判別されます。例えば、小文字を使用して resourceAssociation を初期化する場合、 その小文字の値は小文字にのみ突き合わせします。
複数のプログラムでシステム・リソースを共用する場合は、そのシステム・リソースにアクセスする各プログラムで、resourceAssociation が同じリソースを参照するように設定する必要があります。 また、同じ実行単位内の 2 つのプログラムで同じ論理ファイルがアクセスされる場合は、 プログラムの生成時に各プログラムで resourceAssociation を同じシステム・リソース名に設定して、ランタイムに両方のプログラムで同じシステム・リソースがアクセスされるようにする必要があります。
MQ レコードのシステム・リソース名は、キュー・マネージャー名とキュー名を定義します。名前は、以下の形式で指定してください。
queueManagerName:queueName
表示されているように、複数の名前はコロンで区切ります。ただし、queueManagerName とコロンは省略できます。システム・リソース名は、resourceAssociation 項目で初期値として使用され、 レコードに関連付けられているデフォルトのキューを識別します。 詳細については、『MQSeries® のサポート』を参照してください。