サービスの一部として COBOL コンテナー内で実行されているプログラムでサービスの実行特性を確認できるようにします。
構文:
call CBL_SRV_SERVICE_FLAGS_GET using by reference service-flags
returning status-code
パラメーター
- service-flags
- 呼び出しプロトタイプ (「説明の読み方」を参照):cblt-x4-comp5
- PIC:pic x(4) comp-5
- status-code
- 「説明の読み方」を参照。
出力パラメーター:
- service-flags
- サービス制御フラグ
- ビット 0
-
値 |
意味 |
0 |
なし |
1 |
サービスの正常終了時にトランザクション リソースをコミットする |
- ビット 1
-
値 |
意味 |
0 |
なし |
1 |
サービスの正常終了時にトランザクション リソースをロールバックする |
ビット 0 とビット 1 はビット ペアとして扱われ、コンテナー管理サービスにのみ関連します。どちらのビットも設定されていない場合は、サービスの終了時に、正常完了であればトランザクション リソースがコミットされ、正常完了以外であればトランザクション リソースがロールバックされます。ビット 0 とビット 1 の両方が設定されたフラグが返されることはありません。
- ビット 2 から 30
- 将来使用するために予約されています。
- ビット 31
-
値 |
意味 |
0 |
サービスは、COBOL コンテナーをダーティにしていない |
1 |
サービスは、COBOL コンテナーをダーティにしているため、サービス終了後に SEP が終了される |
- status-code
-
0 |
成功 |
1015 |
COBOL コンテナー内で実行されていない |
例
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.
...
call "CBL_SRV_SERVICE_FLAGS_GET" using
by reference service-flags
if return-code = 0
display "Running as a service" upon console
if service-flags b-and
78-SERVICE-FLAG-COMMIT not = 0
display "Service will commit"
end-if
if service-flags b-and
78-SERVICE-FLAG-ROLLBACK not = 0
display "Service will rollback"
end-if
if service-flags b-and
78-SERVICE-FLAG-DIRTY-CONTAINER not = 0
display "Service will dirty the container"
end-if
else
display "Not running as a service" upon console
end-if
...