Table of Contents Previous Next PDF


Cics Runtime Integration with Non-3270s Terminal

Cics Runtime Integration with Non-3270s Terminal
Interface
Non-3270s terminal should submit request and get response through Tuxedo ATMI tpcall(). The service name of tpcall() should follow the convention described in the following section; in addition, data buffer type exchanged with server ARTWTRN/ARTWTR1 could only be Tuxedo FML32. The detailed FML32 fields and each data structure will be described in the following section.
Service Name Convention
In order to distinguish the service invoked by non-3270s clients from the service invoked by TN3270 terminal, ARTWTRN/ARTWTR1 sever advertises each CICS transaction as a Tuxedo service with the name prefix WEB_. When client submits the request to ARTWTRN/ARTWTR1, the service name of tpcall must follow the convention.
Fml32 Buffer Definition
The interface between non-3270s client and ARTWTRN/ARTWTR1 could only be Tuxedo FML32 buffer. All the application data and some terminal control information will be encapsulated in the FML32 buffer.
Table 5‑2 lists all FML32 FIELDs, which will be published in $KIXDIR/include/msgflds32.
The name of the current MAPSET, which will be displayed in Client’s UI.
The name of the current MAP, which will be displayed in Client’s UI.
The terminal control characters of the command “CICS SEND”, “CICS SEND MAP”, “CICS SEND TEXT”, and “CICS SEND CONTROL”.
At times, CICS APIs above will be invoked with some control options, such as FREEKB, ALARM, ERASE, ERASEUP, CURSOR, etc; therefore, these control options should be inserted to this FML field.
The attention ID and cursor position when doing “CICS RECEIVE” and “CICS RECEIVE MAP”.
CX_WEB_APPDATA
Mainframe CICS provides a utility to generate the Copybook from the Mapset file. The Copybook is used to define the structure of the application data when transaction invokes CICS SEND/RECEIVE MAP.
At ART CICS runtime, we also provide a corresponding utility tcxmapgen, which generates the Copybook from Mapset file; regarding that the structure of Copybook generated by tcxmapgen is almost the same as the one generated in Mainframe CICS, application data exchanged between the Client and ARTWTRN/1 must follow the definition in the Copybook of each Mapset.
For CICS SEND/RECEIVE and CICS SEND TEXT, ARTWTRN/1 and Client just need to insert the plain textual characters into the field CX_WEB_APPDATA.
The head file might not match the copybook generated from BMS file by ART CICS offline utility tcxmapgen at runtime due to data structure alignment on open system. It might need customers to adjust copybook by padding appropriate FILLER.
CX_WEB_CTRL_CHAR
In Mainframe CICS, an outbound data stream is a data stream sent from the application program to the terminal with the following format:
| Command | Write Control Character | Indicate Cursor | Orders | Data | Orders | Data | ...
CMD defines the function to be performed by the terminal. ARTWTRN/1 will support W and EW. It’s a one byte.
WCC instructs how to perform the CMD function. It’s a one byte with the following format:
| 0 | 1 | 2/3 | 4 | 5 | 6 | 7 |
| * | Reset | Printout | Start | Sound | Keyboard | Reset |
| | | Format | Print | Alarm | Restore | MDT |
If SEND MAP/TEXT command sets cursor option, IC should be inserted into the header of 3270 data stream with the following format in the case of SEND command without cursor option. If this command sets option ERASE, the cursor will set to the upper left corner of the screen.
| SBA | ROW | COL | IC |
Besides CMD, WCC, and IC described above, other control characters could be also contained in the header of 3270 data stream, such as EUA.
At ART CICS runtime, we define a FML field CX_WEB_CTRL_CHAR, a CARRAY with 12 bytes, to store these control characters; however, in this release, we plan to support CMD, WCC, and IC, all of which are mostly used. The data sequence of this field is as below:
| CMD | WCC | SBA | ROW | COL | IC | ...
Only the first 6 characters will be used in this field, the rest 6 characters will be reserved with X’00’, and the code of these characters will be set as EBCDIC, not ASCII. SBA, ROW, COL, and IC will be set with X’00’ in the buffer if there is no need to set cursor; If IC is not set via the option cursor of CICS commands, but set in MAPSET/MAP file, no IC will be set in this field and customers need to handle IC themselves.
CX_WEB_AID
In Mainframe CICS, an inbound data stream is sent from the terminal to the application program and contains an attention identifier (AID) followed by cursor or by data directly. The AID describes the action that caused the transmission of the inbound data stream with the following format:
| AID | ROW | COL |
At ART CICS runtime, we defined a FML field CX_WEB_AID to store these three characters and AID will always be function key of the keyboard, such as Enter, Clear, F01~F24, etc. ROW and COL mean the current cursor position when terminal sends the inbound data stream to application program. The code of these characters will be set as EBCDIC, not ASCII.

Copyright © 1994, 2017, Oracle and/or its affiliates. All rights reserved.