remoteSystemID

sysVar.remoteSystemID システム変数には、プログラム、データ・ファイル、非同期トランザクション、または一時データ・キューなどのリモート・エンティティーのロケーションを表すシステム名が含まれています。この変数では、ファイルやプログラムの動的な定義はサポートされませんが、事前定義されたロケーション・セットからの動的な選択はサポートされます。この変数は、CHAR(256) で定義されています。COBOL 生成の場合、この長さは CHAR(8) に切り捨てられます。

sysVar.remoteSystemID は、初期設定ではブランクになっているため、この変数を使用する必要のある呼び出し、vgLib.startTransaction() 関数、またはファイル入出力関数を実行する場合は、事前に設定する必要があります。

COBOL では、sysVar.remoteSystemID の値は、使用前に大文字に変換され、8 文字に切り捨てられます。 ターゲット言語にかかわらず、sysVar.remoteSystemID と文字ストリングとの比較では、大/小文字が区別され、変数に割り当てられた値が基となります。例えば、以下のコードにおける比較の結果は false になります。
  sysVar.remoteSystemID = "myWin";

  // 結果は false
  if (sysVar.remoteSystemID == "MYWIN")
    record1.resourceAssociation = "myCorp.txt";
  end
変数が許可されるほとんどすべての場所で、sysVar.remoteSystemID を使用できます。

生成時に使用したリンケージ・オプション・パーツで、callLink 要素のロケーション・プロパティーの値として PROGRAMCONTROLLED が指定されている場合と、asynchLink 要素または fileLink 要素の locationSpec プロパティーの値として PROGRAMCONTROLLED が指定されている場合にのみ、sysVar.remoteSystemID の値によって、リモート・エンティティーへのアクセスが可能になります。 リンケージ・オプション・パーツについて詳しくは、「EGL 生成ガイド」を参照してください。

CICS® 環境内のリモート・ファイル、一時データ・キュー、またはトランザクションへのアクセスに使用できるのは、sysVar.remoteSystemID のみです。 詳しくは、以下の『互換性』を参照してください。

特性

sysVar.remoteSystemID には、以下の特性があります。
プリミティブ型
CHAR
データ長
CHAR(256)。COBOL 生成の場合、この長さは CHAR(8) に切り捨てられる
セグメント化された converse にわたって値が保存されるかどうか
はい

  sysVar.remoteSystemID = "myCICS";
  call myRemoteProgram myRecord;
  end

互換性

表 1. remoteSystemID の互換性に関する考慮事項
プラットフォーム 問題
Java™ 生成およびデバッグ

リンケージ・オプション・パーツの callLink 要素の locationSpec プロパティーが PROGRAMCONTROLLED に設定されている場合にのみ、sysVar.remoteSystemID によって、 CICS プログラムのリモート呼び出しを実行できるようになります。

sysVar.remoteSystemID は、vgLib.startTransaction() 関数またはリモート VSAM ファイルに対しては無効です。

CICS for z/OS®

プログラム、トランザクション、またはファイルは、適切な CICS テーブルに定義する必要があります。

リンケージ・オプション・パーツの callLink 要素の locationSpec プロパティーが PROGRAMCONTROLLED に設定されている場合にのみ、sysVar.remoteSystemID によって、 CICS プログラムのリモート呼び出しを実行できるようになります。

生成時に使用したリンケージ・オプション・パーツで fileLink 要素の locationSpec プロパティーが PROGRAMCONTROLLED に設定されている場合にのみ、sysVar.remoteSystemID によって、 リモート VSAM ファイルまたは一時データ・キューへのアクセスが可能になります。

リモート・ファイルの場合、システム名は CICS システム ID になります。

sysVar.remoteSystemID は、以下の場合にのみ、リモート CICS トランザクションへのアクセスを提供します。
  • vgLib.startTransaction() 関数を使用してトランザクションを開始する
  • 生成時に使用したリンケージ・オプション・パーツで asynchLink 要素の locationSpec プロパティーが PROGRAMCONTROLLED に設定されている
リモート・トランザクションの場合、システム名は CICS システム ID になります。
IMS™ BMP 非サポート。リモート・プログラムとファイルへのアクセスがサポートされていないので、sysVar.remoteSystemID は無効です。
IMS/VS 非サポート。リモート・プログラムとファイルへのアクセスがサポートされていないので、sysVar.remoteSystemID は無効です。
iSeries® COBOL 非サポート
z/OS バッチ 非サポート

フィードバック