9.221 UNLOCK_OBJECT
注意: 9.1 組み込み関数の規則 利用オプション
指定されたユーザー・オブジェクトのロックを解除します。
引数
番号 | タイプ | 必須/任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | A | 必須 | オブジェクト・タイプ | 1 | 20 | ||
2 | A | 任意 | オブジェクト識別子1 ALL = すべての識別子 | 1 | 10 | ||
3 | A | 任意 | オブジェクト識別子2 ALL = すべての識別子 | 1 | 10 | ||
4 | A | 任意 | オブジェクト識別子3 ALL = すべての識別子 | 1 | 10 | ||
5 | A | 任意 | オブジェクト識別子4 ALL = すべての識別子 | 1 | 10 | ||
6 | A | 任意 | ロック・レベル ANY = すべて(デフォルト) | 3 | 4 |
戻り値
番号 | タイプ | 必須/任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | A | 必須 | 戻りコード OK = オブジェクトのロックは正常に解除された ER = オブジェクトのロックを解除できなかった | 2 | 2 |
ロックされているユーザー・オブジェクトに対する機能とアクセスに関して、いくつかのルールがあります。このルールは、ユーザー・オブジェクトをロックするために使用されたロック・レベルによって決まります。このルールは、次のようになります。
- ユーザー・オブジェクトが'FUNC'ロック・レベルでロックされている場合、ロックが割り当てられた同じファンクションとジョブによってのみロックを解除することができます。オブジェクトの識別子に'ALL'リテラルが使用されていて、複数のユーザー・オブジェクトのロックが見つかった場合、現在のファンクションとジョブで割り当てられたロックだけが解除されます。
- ユーザー・オブジェクトが'JOB'ロック・レベルでロックされている場合、ロックが割り当てられた同じジョブによってのみロックを解除することができます。オブジェクトの識別子に'ALL'リテラルが使用されていて、複数のユーザー・オブジェクトのロックが見つかった場合、現在のジョブで割り当てられたロックだけが解除されます。
- ロック・レベル'PERM'でロックされているユーザー・オブジェクトは、任意のジョブまたはファンクションによってロックを解除することができます。
- また、ユーザー・オブジェクトのロックは、LOCK_OBJECTに指定されたロック・レベルによって決められたとおりに、自動的に解除されます。
- ロック・レベル'FUNC'を指定すると、そのロックを作成したファンクションの終了時にそのロックは自動的に解除されます。
- ロック・レベル'JOB'を指定すると、LANSAの終了時にそのロックは自動的に解除されます。
- ロック・レベル'PERM'を指定すると、UNLOCK_OBJECTによって解除しない限り、ユーザー・オブジェクトはロックされたままです。
注意:一部のユーザー・オブジェクトのロックは自動的に解除されるため、UNLOCK_OBJECT組み込み関数を使用する必要がない場合があります。適切なロック・レベルでユーザー・オブジェクトをロックすることによって、ファンクション/LANSAの終了時にそのロックを自動的に解除することができます。
ユーザー・オブジェクトとそのロックに関する詳細と例については、組み込み関数「9.130 LOCK_OBJECT」を参照してください。