リソース関連とファイル・タイプ

外部ファイル、プリンター、またはキューにアクセスする EGL 固定レコードは、論理ファイル名またはキュー名を持っています。 (プリンターの場合、ほとんどのランタイム・システムの論理ファイル名は printer です。) 名前は 8 文字以下で指定でき、そのレコードをシステム名 に関連させる手段としてのみ意味を持ちます。この名前は、ターゲット・システムが物理ファイル、プリンター、またはキューをアクセスするために使用します。

ファイルまたはキューに関するファイル名またはキュー名 (またはその名前から派生したサブストリング) は、システム名のデフォルトです。プリンターに関しては、デフォルトは存在しません。プリンターに関しては、COBOL 出力の場合のみデフォルトがあります。

デフォルトを受け入れずに、以下のいずれかまたは両方のアクションを実行できます。
リソース関連パーツは、以下のレコード・タイプには適用されません。

リソース関連パーツ

リソース関連パーツは一連の関連要素からなり、それぞれの要素には以下のような特性があります。
  • 特定の論理ファイル名またはキュー名に固有である
  • 特定のターゲット・システムに固有な一連のエントリーがある。各エントリーは、ターゲット・プラットフォーム上のファイル・タイプとシステム名 (さらに、場合によっては追加情報) を識別します。
関連要素は、以下の例のように、階層関係にあるプロパティーと値のセットだと考えることができます。
  // 関連要素
  property:  fileName
  value:     myFile01

    // 複数のプロパティーを持つエントリー
    property:  system
    value:     aix
    property:  fileType
    value:     spool
    property:  systemName
    value:     employee

    // 2 番目のエントリー
    property:  system
    value:     win
    property:  fileType
    value:     seqws
    property:  systemName
    value:     c:¥myProduct¥myFile.txt
この例では、ファイル名 myFile01 は以下のファイルに関連しています。
  • AIX®employee
  • Windows® 2000/NT/XP の myFile.txt

ファイル名は、有効な名前、アスタリスク、または有効な名前の後にアス タリスクという形式でなければなりません。アスタリスクは、1 つ以上の文字に相当するワイルドカードであり、一連の名前を指定できます。例えば、関連要素のファイル名に以下の値が含まれる場合、myFile という文字ストリングで始まるすべてのファイルという意味です。

  myFile*

プログラムで使われる 1 つのファイル名に複数の要素が該当する場合、EGL では最初の要素が使用されます。例えば、ファイル名に以下のような値を順番に指定している一連の関連要素を考えます。

   myFile
   myFile*
   *

最後の値に関連付けられた要素について考えてください。この場合、myFile の値は 1 個のアスタリスクのみです。このような要素はすべてのファイルに該当することが考えられます。しかし、特定のファイルについて見ると、最後の要素は、それ以前の要素がすべて該当しなかった場合にのみ該当します。例えばプログラムが myFile01 を参照する場合、参照の処理方法を定義する上で、2 番目の要素の指定するリンケージが 3 番目の要素よりも優先されます。

生成時に EGL は特定の 1 つの関連要素を選ぶとともに、最初の適切なエントリーを選択します。エントリーは、以下のいずれかの場合に適切と見なされます。
  • 生成のターゲット・システムと system プロパティーとが一致する。
  • system プロパティーの値が以下のとおりである
      any

例えば生成のターゲットが AIX であれば、EGL では aix または any を参照している最初のエントリーが使用されます。

ファイル・タイプ

ファイル・タイプは、関連要素の特定のエントリーに関して必要なプロパティーを判別します。EGL ファイル・タイプは以下の表のとおりです。

ファイル・タイプ 説明
ibmcobol EGL で生成された Java™ プログラムがアクセスする VSAM ファイル。この場合のシステム名の指定について詳しくは、『VSAM サポート』を参照してください。
mq MQSeries® メッセージ・キュー。このタイプのキューを扱う詳細な方法は、『MQSeries のサポート』を参照してください。
seq JCL の制御 (CICS® の制御ではなく) で z/OS® 上で実行する COBOL プログラムによってアクセスされるシリアル・ファイル。 この種類のファイルは、COBOL READ/WRITE 文によってアクセスされます。データ・セットのアクセスは、ファイル・タイプに seqrs を指定した場合よりも速くなります。ただし seq が指定されている場合には、以下の制限事項があります。
  • システム名は、JCL の DD 名と一致する DD 名でなければならない
  • ユーザーのコードは、実行時にシステム名を変更しない
seqrs JCL の制御 (CICS の制御ではなく) で z/OS 上で実行する COBOL プログラムによってアクセスされるシリアル・ファイル。 この種類のファイルは、EGL ランタイムによってアクセスされます。ファイル・アクセスは、ファイル・タイプとして seq を指定した場合よりも遅くなります。ただし以下のような柔軟性が増します。
  • システム名を指定している場合には、DD 名またはデータ・セット名のいずれかを指定できます。詳しくは、『関連要素』を参照してください。
  • 実行時に、レコード固有の変数 resourceAssociation (ファイルの場合) の値、またはシステム変数 ConverseVar.printerAssociation (印刷出力の場合) の値を変更することによって、システム名をオーバーライドできます。
seqws EGL 生成の Java プログラムがアクセスするシリアル・ファイル。
spool AIX、CICS、または Linux™ のスプール・ファイル。
tempaux CICS 補助一時記憶域のキュー。
tempmain CICS 主一時記憶域のキュー。
transient CICS 一時データ・キュー。
vsam EGL 生成の COBOL プログラムがアクセスする VSAM データ・セット。 この種類のデータ・セットは、COBOL READ/WRITE 文によってアクセスされます。データ・セットのアクセスは、ファイル・タイプに vsamrs を指定した場合よりも速くなります ただし vsam が指定されている場合には、以下の制限事項があります。
  • システム名は、JCL の DD 名と一致する DD 名でなければならない
  • ユーザーのコードは、実行時にシステム名を変更しない
  • ファイル名に関連付けられている固定レコードは、タイプ get previous の EGL ステートメントで、I/O オブジェクトとして使用できない
vsamrs EGL 生成の COBOL プログラムがアクセスする VSAM データ・セット。 この種類のファイルは、EGL ランタイムによってアクセスされます。ファイル・アクセスは、ファイル・タイプとして vsam を指定した場合よりも遅くなります。ただし以下のような柔軟性が増します。
  • システム名を指定している場合には、DD 名またはデータ・セット名のいずれかを指定できます。詳しくは、『関連要素』を参照してください。
  • 実行時に、レコード固有の変数 resourceAssociation (ファイルの場合) の値、またはシステム変数 ConverseVar.printerAssociation (印刷出力の場合) の値を変更することによって、システム名をオーバーライドできます。
  • 関連するレコードが、indexedRecord タイプの場合には、get previous タイプの EGL ステートメントで、I/O オブジェクトとして使用できます。
ファイル・タイプ 説明
ibmcobol EGL 生成 Java プログラムによってリモートでアクセスされる VSAM ファイル この場合のシステム名の指定について詳しくは、『VSAM サポート』を参照してください。
mq MQSeries メッセージ・キュー。このタイプのキューを扱う詳細な方法は、『MQSeries のサポート』を参照してください。
seqws EGL 生成の Java プログラムがアクセスするシリアル・ファイル。
spool AIX または Linux のスプール・ファイル。
ファイル・タイプ 説明
ibmcobol EGL 生成 Java プログラムによってリモートでアクセスされる VSAM ファイル この場合のシステム名の指定について詳しくは、『VSAM サポート』を参照してください。
mq MQSeries メッセージ・キュー。このタイプのキューを扱う詳細な方法は、『MQSeries のサポート』を参照してください。
seq iSeries™ 上の EGL 生成 COBOL プログラムがアクセスするシリアル・ファイル。 この種類のファイルは、COBOL READ/WRITE 文によってアクセスされます。
seqws EGL 生成の Java プログラムがアクセスするシリアル・ファイル。
spool AIX または Linux 上の、または iSeries COBOL 用のスプール・ファイル。
vsam EGL 生成 COBOL プログラムがアクセスする、エミュレートされた VSAM ファイル。

レコード・タイプと VSAM

3 つの固定レコード・タイプのそれぞれは、VSAM データ・セットにアクセスできます。ただし、アクセスできるのは、以下のように、そのレコードに関連する要素内のファイル・タイプが ibmcobol、vsam、または vsamrs の場合のみです。
  • 固定レコードが indexedRecord タイプの場合、VSAM データ・セットは 1 次索引または代替索引付きのキー順データ・セットです。
  • 固定レコードが relativeRecord タイプの場合、VSAM データ・セットは相対レコード・データ・セットです。
  • 固定レコードが serialRecord タイプの場合、VSAM データ・セットは入力順データ・セットです。

詳細について

リソース関連について詳しくは、以下のトピックを参照してください。
  • レコードとファイル・タイプの相互参照
  • 関連要素
ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
(C) Copyright IBM Japan 2005.