2. Listener issues a givesocket() function call
3. Handler issues a takesocket() function call
a. The Handler issues a CICS LINK command to execute the program specified in the TMA TCP protocol header. With the LINK command it also passes along any request data provided by the client application that made the original Oracle Tuxedo service request.
a. The Handler issues an EXEC CICS START TRANS call with the transaction specified in the Inbound Service File for the service specified in the TMA TCP protocol header. The transaction should be the same as the Application Handler program.
Note: If security is enabled, the EXEC CICS START TRANSID call uses the user ID specified in the TMA TCP protocol header.For tpacall/TPNOREPLY requests, the remote program is invoked by a CICS START TRANSID command and no data is returned to the original caller. In this case, a unique transaction must be defined for the service. Use the Inbound Service Information screen to enter this unique transaction name rather than using the transaction name that starts the Application Handler.Use the supplied shutdown transaction BDWN to terminate active TMA TCP for CICS programs. Depending on the options specified, this causes all Handlers to shut down gracefully. The name of the BDWN transaction may have been changed at your site during installation, so verify the name.You can use the BDWN transaction in a CICS region with the following parameters to shut down Handlers in various ways. The command line syntax for BDWN is illustrated in the following listing.Listing 2‑1 BDWN Command Line Syntax for HandlersShuts down all Handlers or all Requesters or both. It also frees shared memory that was allocated by a Handler that has abended without freeing the shared memory that it allocated. You can specify optional parameters with the BDWN transaction to shut down Handlers immediately or after the processing of all requests has completed. The default is ALL.Shuts down all Handlers and Requesters gracefully allowing them to complete all processing of all requests that were received before the execution of the BDWN transaction. Specifying ALL also frees any shared memory.This is the default for BDWN.Frees any shared memory of Handlers that have abended. CLEANUP does not shut down any Handlers or Requesters.Shuts down all Handlers immediately and frees any shared memory of Handlers that have abended. This parameter does not shut down any Requesters.Shuts down all Handlers gracefully allowing them to complete all processing off all requests that were received before the execution of the BDWN transaction. This parameter also frees any shared memory of Handlers that have abended. It does not shut down any Requesters.
1. The CICS client program (your program) issues an EXEC CICS LINK command to the TMA TCP for CICS Pre-requester.
6. The Pre-requester issues an EXEC CICS RETURN command to the client program (your program). The client receives its response in the COMMAREA.
• Use the administrative tool (described in “Configuring and Administering Oracle TMA TCP for CICS”) to disable the Requester. This method causes the selected Requester to clean up its tables and shut down gracefully. It also prohibits any service requests invoking it. When you are ready, use the administrative tool to enable the Requester.
• Use the supplied shutdown transaction BDWN. This method causes ALL Requesters to shut down gracefully. The name of the BDWN transaction may have been changed at your site during installation. Check with the person who installed TMA TCP for CICS at your site.You can use the BDWN transaction in a CICS region with the following parameters to shut down Requesters in various ways. The command line syntax for BDWN is illustrated in the following listing.Listing 2‑2 BDWN Command Line Syntax for RequestersShuts down all Handlers or all Requesters or both. It also frees shared memory used by the Requesters associated with each logical machine ID (LMID). You can specify optional parameters with the BDWN transaction to shut down Handlers or Requesters immediately or after processing of all requests has completed. The default is ALL.Shuts down all Handlers and Requesters gracefully allowing them to complete all processing of all requests that were received before the execution of the BDWN transaction. Specifying ALL also frees any shared memory.This is the default for BDWN.Shuts down all Requesters immediately and frees memory associated with each LMID. This parameter does not shut down any Handlers.Shuts down all Requesters gracefully allowing them to complete all processing off all requests that were received before the execution of the BDWN transaction. It also frees memory associated with each LMID. This parameter does not shut down any Handlers.
Table 2‑1 Oracle Tuxedo Terminology A CARRAY is a buffer of raw data that contains no terminating character and that undergoes no conversion or translation; the data is sent from one system to another without modification. A CARRAY is an exemplary buffer type for a graphics file. A VIEW buffer is a collection of field definitions that can be treated as a single entity. It is comparable to a record layout in COBOL or a structure in C. FML (Fielded Manipulation Language) buffers are variable length, dynamic, self-describing buffers. Each field in the buffer has its own descriptive header. In Oracle Tuxedo, FML buffers can be tied closely to VIEW buffers so that conversion from one to the other is direct.
Table 2‑2 Data Translation Rules STRING and CHAR
Note: Oracle Tuxedo provides a field type named dec_t that supports decimal values within VIEWs. The TMA TCP gateway product translates these fields into machine independent representations of packed decimals. For example, dec_t(m,n) becomes S9(2*m-(n+1))V9(n) COMP-3. Therefore, a decimal field with a size of 8,5 corresponds to S9(10)V9(5) COMP-3.
This subsection provides suggestions that help you develop VIEW definitions for input and output buffers and records. It also explains how string data and numeric data are treated in the TMA TCP gateway environment.When you create VIEW definitions for input and output records that are used by CICS applications, do not specify an extra position for the terminating NULL characters that are used in string fields.For example, when a CICS application program expects 10 characters in an input record, specify 10 for that field, not 10 plus 1.
Note: The character set translations performed by TMA TCP gateway can be fully localized, in accordance with the X/Open XPG Portability Guides. ASCII and EBCDIC translations are loadable from message files. The TMA TCP gateway software contains default behaviors which should meet the requirements of most English-language applications. However, you may find it necessary to customize tables. See the Oracle TMA TCP gateway User Guide for complete instructions.For example, you can convert an FML field of double into a packed decimal field on the remote target system by specifying an appropriate dec_t type VIEW element.In addition, you can convert numeric values into strings (and the reverse). For example, while FML buffers do not directly support the dec_t type, you can place decimal values in string fields and map these to dec_t fields within VIEW definitions.