close

EGL close 文は、プリンターを切断したり、 ある特定のレコードに関連付けられたファイルやメッセージ・キューを閉じます。また、SQL レコードの場合は、EGL openget 文によってオープンされたカーソルを閉じます。

close 文の構文図
name
閉じられるリソースに関連付けられた入出力オブジェクトの名前。 オブジェクトには、印刷書式や、索引付きレコード、MQ レコード、相対レコード、シリアル・レコード、SQL レコードなどを指定します。
resultSetIdentifier
SQL 処理のみに使用される、同じプログラム内で前に実行された getopen 文に close 文を結合する ID。詳細については、『resultSetID』を参照してください。

例:

	 if (userRequest == "C")
     try
       close fileA;
     onException
        myErrorHandler(12);
     end
	 end

close 文の振る舞いは、クローズされたリソースに関連付けられている入出力オブジェクトの型によって異なります。

索引付きレコード、シリアル・レコード、または相対レコード

close 文で索引付き、シリアル、または相対レコードの名前を使用すると、EGL では、そのレコードに関連付けられたファイルが閉じます。

ファイルが開かれており、そのファイルに関連付けられたリソース名を変更するために fileAssociation 項目を使用する場合、EGL ではそのファイルに影響する次の文を実行する前に、そのファイルが自動的に閉じます。詳細については、『resourceAssociation』を参照してください。

また、EGL では、プログラムの終了時に開いているすべてのファイルも閉じます。

CICS® for z/OS® では、以下の規則が適用されます。
  • スプール・ファイルに関連付けられたシリアル・レコードを閉じる場合、EGL では CICS SPOOL CLOSE コマンドがそのファイルに対して実行される
  • スプール・ファイルに関連付けられていないシリアル・レコードを閉じる場合、あるいは索引付きまたは相対レコードを閉じる場合は、EGL ではそのファイルに対して論理クローズが実行され、他のプログラムがそのファイルにアクセスできるようになる
  • close 文では、一時記憶ファイルが削除されない

MQ レコード

close 文で MQ レコードの名前を使用すると、EGL ではそのレコードに関連付けられたメッセージ・キューに対して MQSeries® コマンド MQCLOSE が実行されます。

印刷書式

入出力オブジェクトが印刷書式の場合、close 文により用紙送りが行われ、 プリンターが切断されるか、(印刷書式がファイルにスプールされている場合は) ファイルが閉じられます。

ConverseVar.printerAssociation を使用して印刷先を変更する前に、ConverseVar.printerAssociation の現行値で指定されたプリンターやファイルを閉じてください。 複数のプリンターや印刷ファイルが同時にオープンしていることがあるので、 それぞれの印刷先ごとに close 文オプションを実行します。

EGL ランタイムでは、プログラムの終了時にすべてのプリンターが閉じられていることが確認されます。

SQL レコード

close 文で SQL レコードの名前を使用すると、EGL ではそのレコードで開かれた SQL カーソルが閉じられます。

EGL では、以下の場合にカーソルが自動的に閉じます。

EGL では、次の場合には開いているすべてのカーソルが閉じます。
  • プログラムが VGWebTransaction 型で Web ページを表示する場合
  • プログラムが textUI 型で、書式を会話する前に自動コミットを行い、さらに会話が発生したときにプログラムが hold オプションにより影響されない場合。textUI プログラムおよび converse 文の詳細については、『セグメンテーション』を参照してください。
フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.