CBL_SRV_SERVICE_FLAGS_SET

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

...