You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

9.198 SPACE_OPERATION

注意: 9.1 組み込み関数の規則      &<a href="ladtgub1_0051.htm"&>利用オプション&</a&>
その他のスペース・オブジェクト操作を要求します。
 
引数

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

A

必須 

スペース名

1

256

 

 

2

A

必須 

要求された操作

1

256

 

 

3-20

X

任意 

操作に依存する追加の引数を指定するフィールド

1

無制限

0

無制限

戻り値

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

A

任意 

標準戻りコード
ER = 要求に失敗した。発行されるメッセージに失敗の原因が示される
その他の戻りコードの値は、要求される操作によって異なります。詳細については、各操作の説明を参照してください。

2

2

 

 

2-20

X

任意 

操作に依存する追加の戻り値を指定するフィールド

1

無制限

0

無制限

CheckExistence操作
CheckExistence操作を使用して、現在のオペレーティング・システムのプロセス(またはジョブ)内にスペース・オブジェクトが存在するかどうかをチェックすることができます。 次の例では、TestSpaceという名前のスペースの有無がチェックされます。
Use Builtin(SPACE_OPERATION) With_Args('TestSpace' CHECKEXISTENCE) To_Get(#SPACERC)
 
有効なCheckExistence要求によって戻される戻りコードは、"OK"(スペース・オブジェクトが存在する)または"NR"(スペース・オブジェクトが存在しない)だけです。
SetCursor操作
SetCursor操作を使用して、組み込み関数SELECT_IN_SPACEまたはSELECTNEXT_IN_SPACEの後続呼び出しすべてに対してカーソルを設定することができます。これは、スペース・オブジェクトに固有の操作ではありません。カーソルを2に設定すると、スペース・オブジェクトに対する後続のSELECT... BIFはすべて、設定が変更されるまでカーソル2を使用します。デフォルトのカーソルは、1です。スペース・オブジェクトごとに最大4個のカーソルを指定することができます。カーソルの数値が1から4の間であることについてのみチェックが行われます。
例:
Use Builtin(SPACE_OPERATION) With_Args('TestSpace' SETCURSOR 2) To_Get(#SPACERC)
 
有効なSetCursor要求によって戻される戻りコードは、"OK"(スペース・オブジェクトが存在する)または"NR"(カーソルの数値が無効)だけです。
この操作によって、同じスペース・オブジェクトに対するSELECT_IN_SPACE要求をネストすることができます。効率的に使用するには、組み込み関数SELECT_IN_SPACEまたはSELECTNEXT_IN_SPACEを使用する直前にSetCursor操作を呼び出し、正しいカーソルが確実に使用されるようにします。これは、LEAVEコマンドが内側のループから発行されたなどの理由で不適切なカーソルを使用することによって、好ましくない副次的作用が発生するのを防ぐためのSetCursor操作の一般的な使用法です。
Use Builtin(SPACE_OPERATION) With_Args(#AR_SPACE SetCursor 1) To_Get(#SPACERC) Use Builtin(SELECT_IN_SPACE) With_Args(#AR_SPACE) To_Get(#SPACERC #XG_AR) Dowhile Cond(SPACEOK)      Use Builtin(SPACE_OPERATION) With_Args(#AR_SPACE SetCursor 2) To_Get(#SPACERC)       Note the use of a different set of fields to hold the data - #XG_AR2    Use Builtin(SELECT_IN_SPACE) With_Args(#AR_SPACE) To_Get(#SPACERC #XG_AR2)    Dowhile Cond(SPACEOK)        Do something with the data here       Use Builtin(SPACE_OPERATION) With_Args(#AR_SPACE SetCursor 2) To_Get(#SPACERC)       Use Builtin(SELECTNEXT_IN_SPACE) With_Args(#AR_SPACE) To_Get(#SPACERC #XG_AR2)    Endwhile      Use Builtin(SPACE_OPERATION) With_Args(#AR_SPACE SetCursor 1) To_Get(#SPACERC)    Use Builtin(SELECTNEXT_IN_SPACE) With_Args(#AR_SPACE) To_Get(#SPACERC #XG_AR) Endwhile * Set the cursor back to the default for any further SELECT... BIF calls. Use Builtin(SPACE_OPERATION) With_Args(#AR_SPACE SetCursor 1) To_Get(#SPACERC)  

  • No labels