userID

sysVar.userID システム変数には、ユーザーのログイン ID があれば、それが入ります。 例えば、この変数を使用して、システム上の特定のユーザーのアクティビティーを追跡したり、 (ユーザー ID は入力せず) パスワードを入力するだけでデータベースに接続できるように設定したりできます。 プラットフォーム固有の情報については、このトピックで後述される『互換性』を参照してください。

特性

sysVar.userID には、以下の特性があります。
プリミティブ型
CHAR
データ長
8 (値が 8 文字より少ない場合はブランクが埋め込まれる)
セグメント化された converse にわたって値が保存されるかどうか
はい

  myVar = sysVar.userID;

互換性

表 1. sysVar.userID の互換性に関する考慮事項
プラットフォーム 問題
Java™ 生成 sysVar.userID は、Java 仮想マシンのシステム・プロパティー user.name から初期化されます。このプロパティーを取り出せない場合、sysVar.userID はブランクになります。
CICS® sysVar.userID には、CICS ユーザー ID が含まれます。 ユーザーがシステムにサインオンすると、sysVar.userID には、サインオン時に指定されたユーザー ID が含まれます。 RACF® がインストールされている場合、sysVar.userID は RACF ユーザー ID になります。 ユーザーがサインオンしなかった場合、sysVar.userID はブランクになっています。
IMS™ BMP
  • プログラムが IMS バッチ指向 BMP として実行されている場合、sysVar.userID にはジョブ・カードから得たジョブ名が格納されます。
  • プログラムが IMS トランザクション指向 BMP として実行されている場合、sysVar.userID は JCL のジョブ・カードから得たジョブの名前に初期化されます。 これは、入出力 PCB と関連付けられたシリアル・ファイルを読み取る get next 文が正常に実行されるたびに、入出力 PCB のユーザー ID フィールドを使用して更新されます。 サインオン・セキュリティーがシステム上でアクティブになっていない場合、ユーザー ID フィールドはブランクです。
IMS/VS sysVar.userID には入出力 PCB から得たユーザー ID が含まれています。 sysVar.userID は、入出力 PCB に対して正常な get unique (GU) 呼び出しがあるたびに更新されます。 これは、入出力 PCB に関連付けられたシリアル・ファイルの get next 文、converse 文、またはプログラム開始時の入力フォームの取り出しなどが実行された場合に実行されます。 sysVar.userID は、入出力 PCB に関連付けられたシリアル・ファイルの get next が結果的に endOfFile (GC 状況コード) になった場合に、ブランクに設定されます。 サインオン・セキュリティーがシステム上でアクティブになっていない場合、ユーザー ID フィールドはブランクです。
iSeries® COBOL sysVar.userID には、サインオン時に指定されたユーザー ID が含まれます。
z/OS® バッチ COBOL sysVar.userID には、JOB カードから取得したジョブ名が含まれています。
デバッグ sysVar.userID は、userID デバッグ設定に基づいて初期化されます。 デバッガーの使用について詳しくは、「EGL プログラマー・ガイド」を参照してください。 この設定が設定されていない場合、デバッグでは、Java 生成と同じように、デフォルトの sysVar.userID が選択されます。

フィードバック