1.5.1.1 Programming Interface for Non-terminal Oracle Tuxedo Clients

Tuxedo ART for IMS provides a server, ARTIGW, working as a bridge between Non-terminal clients and the Tuxedo ART for IMS MPP server. A non-terminal client calls the ARTIGW service following the programming interface list below. ARTIGW forwards the service request to ARTMPP.

The only interface between ARTIGW and Non terminal Oracle Tuxedo clients is an FML table.

To run an IMS transaction (for example, TRANS1) with application buffer, do the following steps:

  1. The client user must prepare the send buffer containing these FML fields:
    • IMS_SVC_NAME

      IMS transaction name (i.e., "TRANS1").

    • IMS_SVC_FLAG

      Reserved for future use.

    • IMS_SEG_DATA Application buffer data. LLZZ is not expected in the buffer. The maximum segment length is 32764 (which is the ARTIMPP limit).
  2. Client issues a tpcall()/tpacall() with the buffer prepared in step 1.
    ret = tpcall(<tuxclt_service_name>, …) 

    Here <tuxclt_service_name> is the ARTIGW advertised service; the service name is configurable. For more information, see ARTIGW CONFIGURATION.

  3. Client gets the reply. In the reply message, the following FML fields are present: IMS_SVC_RESULT

    0: ARTIMPP processes the request successfully with a response message.

    1: ARTIMPP processes the request successfully without a response message.

    -1: ARTIGW error

    -2: ARTIMPP error

    IMS_SEG_DATA
    Buffer contains reply data. LLZZ is not included in the buffer.
    IMS_SVC_SYSMSG
    
    Verbose error message if IMS_SVC_RESULT is a negative integer.

The interface FML Fields table (ARTIGWFML) and header file (ARTIGWFML.h) can be found under $IMSDIR/include. The following listing 4 shows the ARTIGWFMLcontents.

Listing ARTIGWFML Contents

*base 30000700
#name               rel-number       type       flags            comment
#-----             -----------      ------     -------   ------------------------
IMS_SVC_NAME         181            string
IMS_SVC_FLAG         182             long
IMS_SVC_RESULT       183             long
IMS_SEG_DATA         184            carray
IMS_SVC_SYSMSG       185            carray