Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス COBOL言語編


TXINTRO

〈このページの構成〉

名称

COBOLデータ構造

機能

概要

COBOLでのTXインタフェースの各呼び出しの統合的な機能を示します。

各呼び出し処理は,次に示すような項目によって記述されています。

  • 各呼び出し処理に必要なWORKING STORAGEに定義されたCOBOLのレコード。これはCOPYステートメントによって記述されています。

  • PROCEDURE DIVISIONで記述された呼び出しの形式

  • 呼び出しの機能説明

  • リターンコードの一覧

COBOLのTXインタフェースで使用されるデータ構造

二つのCOBOLのレコード:TX-RETURN-STATUSとTX-INFO-AREAは,一般的にTXの呼び出し処理で使われます。これらは,COPYステートメントの指定によって,WORKING-STORAGE SECTIONで定義されているものとします。

『以降に示す二つのCOBOLレコードは,$DCDIR/include/COBOL/ディレクトリに格納されています。UAPをコンパイルするときには,COPYファイルの存在場所としてこのディレクトリを指定する必要があります。コンパイル時の指定については,使用するCOBOL言語のマニュアルを参照してください。』

TX-RETURN-STATUS

この章で記述する各機能は,要求によって,パラメタとしてこのレコードを参照します。このレコードは呼び出しに対して値を返すために使われます。このレコードは次の形式で使われるものとします。『TX-RETURN-STATUSの値 TXSTATUS は,データ名を FILLER としてあるので,処理から正しく参照できません。TX-RETURN-STATUSをほかの名称で再定義して,処理からは再定義した名称で参照するようにしてください。詳細は,「6.4 X/Openに準拠したUAPのコーディング例」を参照してください。』

01 TX-RETURN-STATUS.
   COPY TXSTATUS.

TXSTATUSは,符号付き整数で定義されて,COBOLのTEXT LIBRARYとして存在していて,ステータスの値は次に示す値をとります。

 05  FILLER  PIC  S9(9)  COMP-5.
     88  TX-NOT-SUPPORTED       VALUE  1.
*        Normal execution
     88  TX-OK                  VALUE  0.
*        Normal execution
     88  TX-OUTSIDE             VALUE  -1.
*        Application is in an RM local  transaction
     88  TX-ROLLBACK            VALUE  -2.
*        Transaction  was  rolled  back
     88  TX-MIXED               VALUE  -3.
*        Transaction was partially committed and partially rolled back
     88  TX-HAZARD              VALUE  -4.
*        Transaction may have been partially committed and partially
*        rolled back
     88  TX-PROTOCOL-ERROR      VALUE  -5.
*        Routine invoked in an inproper context
     88  TX-ERROR               VALUE  -6.
*        Transient error
     88  TX-FAIL                VALUE  -7.
*        Fatal error
     88  TX-EINVAL              VALUE  -8.
*        Invalid arguments were given
     88  TX-COMMITTED           VALUE  -9.
*        The transaction was heuristically committed
     88  TX-NO-BEGIN            VALUE  -100.
*        Transaction committed plus new transaction could not be
*        started
     88  TX-ROLLBACK-NO-BEGIN   VALUE  -102.
*        Transaction rollback plus new transaction could not be
*        started
     88  TX-MIXED-NO-BEGIN      VALUE  -103.
*        Mixed plus new transaction could not be started
     88  TX-HAZARD-NO-BEGIN     VALUE  -104.
*        Hazard plus new transaction could not be started
     88  TX-COMMITTED-NO-BEGIN  VALUE  -109.
*        Heuristically committed plus new transaction could not be started

TX-INFO-AREA

このレコードは,TXINFORMの呼び出しの結果が格納されるデータ構造を定義します。このレコードは,次の形式で使われるものとします。

01 TX-INFO-AREA.
   COPY TXINFDEF.

TXINFDEFは,次に示すようなCOBOLのTEXT LIBRARYです。

*  XID  record
        05  XID-REC.
            10  FORMAT-ID       PIC  S9(9)  COMP-5.
*  A  value  of  -1  in  FORMAT-ID  means  that  the  XID  is  null
            10  GTRID-LENGTH    PIC  S9(9)  COMP-5.
            10  BRANCH-LENGTH   PIC  S9(9)  COMP-5.
            10  XID-DATA        PIC  X(128).
*  Transaction  mode  settings
        05  TRANSACTION-MODE    PIC  S9(9)  COMP-5.
            88  TX-NOT-IN-TRAN  VALUE  0.
            88  TX-IN-TRAN      VALUE  1.
*  Commit-return settings
        05  COMMIT-RETURN       PIC  S9(9)  COMP-5.
            88  TX-COMMIT-COMPLETED        VALUE  0.
            88  TX-COMMIT-DECISION-LOGGED  VALUE  1.
*  Transaction_control  settings
        05  TRANSACTION-CONTROL PIC  S9(9)  COMP-5.
            88  TX-UNCHAINED  VALUE  0.
            88  TX-CHAINED    VALUE  1.
*  Transaction_timeout  value
        05  TRANSACTION-TIMEOUT PIC  S9(9)  COMP-5.
            88  NO-TIMEOUT  VALUE  0.
*  Transaction_state  information
        05  TRANSACTION-STATE   PIC  S9(9)  COMP-5.
            88  TX-ACTIVE  VALUE  0.
            88  TX-TIMEOUT-ROLLBACK-ONLY VALUE  1.
            88  TX-ROLLBACK-ONLY VALUE  2.