サービスの一部として COBOL コンテナー内で実行されているプログラムでサービスの実行特性を設定できるようにします。
構文:
call CBL_SRV_SERVICE_FLAGS_SET using by value service-flags-mask
by value service-flags
returning status-code
パラメーター
- service-flags-mask
- 呼び出しプロトタイプ (「説明の読み方」を参照):cblt-x4-comp5
- PIC:pic x(4) comp-5
- service-flags
- 呼び出しプロトタイプ (「説明の読み方」を参照):cblt-x4-comp5
- PIC:pic x(4) comp-5
- status-code
- 「説明の読み方」を参照。
入力パラメーター:
- service-flags-mask
- 変更するビット フラグを指定するマスク
- ビット 0
-
値 |
意味 |
0 |
なし |
1 |
サービスの正常終了時にトランザクション リソースをコミットする |
- ビット 1
-
値 |
意味 |
0 |
なし |
1 |
サービスの正常終了時にトランザクション リソースをロールバックする |
- service-flags
- サービス制御フラグ
- ビット 0
-
値 |
意味 |
0 |
なし |
1 |
サービスの正常終了時にトランザクション リソースをコミットする |
- ビット 1
-
値 |
意味 |
0 |
なし |
1 |
サービスの正常終了時にトランザクション リソースをロールバックする |
ビット 0 とビット 1 はビット ペアとして扱われ、コンテナー管理サービスにのみ関連します。どちらのビットも設定されていない場合は、サービスの終了時に、正常完了であればトランザクション リソースがコミットされ、正常完了以外であればトランザクション
リソースがロールバックされます。
ビット 0 とビット 1 の両方を設定しようとすると、エラーになります。また、アプリケーション管理サービスでビット 0 またはビット 1 のいずれかを設定しようとした場合も、エラーになります。
- ビット 2 から 30
- 将来使用するために予約されています。
- ビット 31
-
値 |
意味 |
0 |
サービスは、COBOL コンテナーをダーティにしていない |
1 |
サービスは、COBOL コンテナーをダーティにしているため、サービス終了後に SEP が終了される |
出力パラメーター:
- status-code
-
0 |
成功 |
1009 |
無効なパラメーターが API に渡された |
1015 |
COBOL コンテナー内で実行されていない |
1016 |
コンテナーが管理されている場合にのみコミットまたはロールバックのフラグを設定できる |
例
copy "cblproto.cpy".
...
78 78-SERVICE-FLAG-COMMIT value h"00000001".
78 78-SERVICE-FLAG-ROLLBACK value h"00000002".
78 78-SERVICE-FLAG-DIRTY-CONTAINER value h"80000000".
01 service-flags pic x(4) comp-5.
01 service-flags-mask pic x(4) comp-5.
...
*>
*> Clear the "rollback" flag.
*> Set the "commit" and "dirty container" flags
*>
compute service-flags-mask = 78-SERVICE-FLAG-COMMIT b-or
78-SERVICE-FLAG-ROLLBACK b-or
78-SERVICE-FLAG-DIRTY-CONTAINER
compute service-flags = 78-SERVICE-FLAG-COMMIT b-or
78-SERVICE-FLAG-DIRTY-CONTAINER
call "CBL_SRV_SERVICE_FLAGS_SET" using
by value service-flags-mask
by value service-flags
...