call CBL_SRV_SERVICE_FLAGS_SET using by value service-flags-mask
by value service-flags
returning status-code
ビット 0 とビット 1 はビット ペアとして扱われ、コンテナー管理サービスにのみ関連します。どちらのビットも設定されていない場合は、サービスの終了時に、正常完了であればトランザクション リソースがコミットされ、正常完了以外であればトランザクション リソースがロールバックされます。
ビット 0 とビット 1 の両方を設定しようとすると、エラーになります。また、アプリケーション管理サービスでビット 0 またはビット 1 のいずれかを設定しようとした場合も、エラーになります。
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
...