HELPLIB.HLB  —  System Services, $ABORT TRANS
    Ends a transaction by aborting it.

    Format

      SYS$ABORT_TRANS  [efn] ,[flags] ,iosb [,[astadr] ,[astprm]

                       ,[tid] ,[reason] ,[bid]]

    C Prototype

      int sys$abort_trans  (unsigned int efn, unsigned int flags,

                           struct _iosb *iosb,...);

1  –  Arguments

 efn

    OpenVMS usage:ef_number
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    Number of the event flag that is set when the service completes.
    If this argument is omitted, event flag 0 is used.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    Flags specifying options for the service. The flags argument is
    a longword bit mask in which each bit corresponds to an option
    flag. The $DDTMDEF macro defines symbolic names for these option
    flags, described in $ABORT_TRANS Option Flags. All undefined bits
    must be 0. If this argument is omitted, no flags are used.

    Table SYS-1 $ABORT_TRANS Option Flags

    Flag           Description

    DDTM$M_        Set this flag to indicate that the service should
    NOWAIT         return to the caller without waiting for final
                   cleanup. Note that $ABORT_TRANSW with the DDTM$M_
                   NOWAIT flag set is not equivalent to $ABORT_TRANS.
                   $ABORT_TRANS returns when the operation has been
                   queued. The former does not return until the
                   operation has been initiated. The latter returns
                   as soon as the operation has been queued. The
                   full range of status values may be returned from a
                   nowait call.
    DDTM$M_SYNC    Set this flag to specify that successful
                   synchronous completion is to be indicated by
                   returning SS$_SYNCH. When SS$_SYNCH is returned,
                   the AST routine is not called, the event flag is
                   not set, and the I/O status block is not filled
                   in.

 iosb

    OpenVMS usage:io_status_block
    type:         quadword (unsigned)
    access:       write only
    mechanism:    by reference
    I/O status block in which the following information is returned:

    o  The completion status of the service, returned as a condition
       value.

    o  An abort reason code that gives one reason why the transaction
       aborted, if the completion status of the service is SS$_
       NORMAL.

       Note that, if there are multiple reasons why the transaction
       aborted, the abort reason code returned in the I/O status
       block might not be the same as the abort reason code passed
       in the reason argument. The DECdtm transaction manager returns
       one of the reasons in the I/O status block. It may return
       different reasons to different branches of the transaction.

       For example, if the call to $ABORT_TRANS gives DDTM$_ABORTED
       as the reason and the transaction timeout expires at about the
       same time as the call to $ABORT_TRANS, then either the DDTM$_
       TIMEOUT or DDTM$_ABORTED reason code can be returned in the
       I/O status block.

    The $DDTMMSGDEF macro defines symbolic names for abort reason
    codes, which are defined in Abort Reason Codes:

    Table SYS-2 Abort Reason Codes

    Symbolic Name       Description

    DDTM$_ABORTED       The application aborted the transaction
                        without giving a reason.
    DDTM$_COMM_FAIL     A communications link failed.
    DDTM$_INTEGRITY     A resource manager integrity constraint check
                        failed.
    DDTM$_LOG_FAIL      A write operation to the transaction log
                        failed.
    DDTM$_ORPHAN_       An unauthorized branch caused failure.
    BRANCH
    DDTM$_PART_SERIAL   A resource manager serialization check
                        failed.
    DDTM$_PART_TIMEOUT  The timeout specified by a resource manager
                        expired.
    DDTM$_SEG_FAIL      A process or image terminated.
    DDTM$_              A DECdtm transaction manager serialization
    SERIALIZATION       check failed.
    DDTM$_SYNC_FAIL     The transaction was not globally
                        synchronized; an authorized branch was not
                        added to the transaction.
    DDTM$_TIMEOUT       The timeout specified on $START_TRANS
                        expired.
    DDTM$_UNKNOWN       The reason is unknown.
    DDTM$_VETOED        A resource manager was unable to commit the
                        transaction.

    To view the I/O status block structure diagram, see the VSI
    OpenVMS System Services Reference Manual.

 astadr

    OpenVMS usage:ast_procedure
    type:         procedure value
    access:       call without stack unwinding
    mechanism:    by reference
    AST routine that is executed when the service completes, if SS$_
    NORMAL is returned in R0. The astadr argument is the address of
    the entry mask of this routine. The routine is executed in the
    access mode of the caller.

 astprm

    OpenVMS usage:user_arg
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    AST parameter that is passed to the AST routine specified by the
    astadr argument.

 tid

    OpenVMS usage:trans_id
    type:         octaword (unsigned)
    access:       read only
    mechanism:    by reference
    Identifier of the transaction to be aborted.

    If this argument is omitted, $ABORT_TRANS aborts the default
    transaction of the calling process.

 reason

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    Code that gives the reason why the application is aborting the
    transaction. The $DDTMMSGDEF macro defines symbolic names for
    abort reason codes. See the iosb item code for a list of abort
    reason codes.

    The default value for this argument is DDTM$_ABORTED.

 bid

    OpenVMS usage:branch_id
    type:         octaword (unsigned)
    access:       read only
    mechanism:    by reference
    The identifier (BID) of the branch that is aborting the
    transaction.

    The default value of this argument is zero, which is the BID of
    the branch that started the transaction.
Close Help