CBL_SRV_SERVICE_FLAGS_GET

サービスの一部として 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

...