To run transactions using the Link3270 Bridge, a client program does the following:
For example, if the application issues an EXEC CICS RECEIVE MAP, the inbound message will have the following form:
BRIH | BRIV-RM | ADS |
Where ADS is the application data structure expected by the RECEIVE MAP command.
Sample BRIH and BRIV copybooks are supplied, primed with the default values, to simplify programming. You can include these in your program and then change only the specific fields relevant to the request.
For example, if the application issues several non-terminal EXEC CICS commands, an EXEC CICS SEND MAP and then an EXEC CICS RETURN, the outbound message will have the following form:Where ADS is the application data structure expected by the SEND MAP command.
BRIH | BRIV-SM | ADS |
A more complicated example would be one where the application issues several non-terminal EXEC CICS commands, an EXEC CICS SYNCPOINT, an EXEC CICS SEND CONTROL, an EXEC CICS SEND MAP, and then an EXEC CICS RETURN. In this case the outbound message will have the following form:
BRIH | BRIV-SP | BRIV-SC | BRIV-SM | ADS |
One BRIV vector is required containing the data requested by every EXEC CICS command for 3270 terminal input issued by the user transaction. The following commands are supported:
When the user transaction issues the command, the bridge mechanism searches the inbound message for the first BRIV that matches the command type. For RECEIVE MAP commands it attempts to match the MAPSET and MAP if these have been supplied by the client. RECEIVE MAP vectors are processed in order, and those that do not match the current command are discarded until a match is found. Blank names in the vector match any command.
Where there are several input vectors of different types, the order is not important.
For 'conversational' transactions (see Conversational transactions) when the client is asked for further input, the previous inbound message vectors (except RETRIEVE vectors) are discarded when a new inbound message is received. Note that RETRIEVE vectors can only flow in the first message of the first transaction in a session. See Using Link3270 session mode for an explanation of the session programming mode.
One BRIV vector is created containing the data supplied by every EXEC CICS command for 3270 terminal output issued by the user transaction. This passes to the client all the information and data relating to the command. The following commands are supported:
For 'conversational' transactions (see Conversational transactions), the last BRIV vector can represent an EXEC CICS command that requests more data. This vector is only created if the previous input message did not contain a BRIV to satisfy all the CICS® commands. The following commands are supported:
There are two levels of support for the Link3270 bridge in CICS Transaction Server for z/OS, Version 2 Release 3:
To simplify the task of constructing and analyzing Link3270 messages, CICS provides copybooks and header files containing BRIH and BRIV structures. Sample BRIH and input BRIV structures already primed with default values are also supplied, so all you need to do is copy them into your COMMAREA and modify relevant fields. The following default structures are supplied in all supported languages:
structure | COBOL | C | PLI | Assembler |
---|---|---|---|---|
BRIH | DFHBRIHO | DFHBRIHH | DFHBRIHL | DFHBRIHD |
Inbound BRIVs | DFHBRIIO | DFHBRIHH | DFHBRIHL | DFHBRIHD |
Outbound BRIVs | DFHBRIOO | DFHBRIHH | DFHBRIHL | DFHBRIHD |
Defaults and constants | DFHBRICO | DFHBRICH | DFHBRICL | DFHBRICD |
structure | COBOL | C | PLI | Assembler |
---|---|---|---|---|
BRIH | DFHBR2HO | DFHBR2HH | DFHBR2HL | DFHBR2HD |
Inbound BRIVs | DFHBR2IO | DFHBR2HH | DFHBR2HL | DFHBR2HD |
Outbound BRIVs | DFHBR2OO | DFHBR2HH | DFHBR2HL | DFHBR2HD |
Defaults and constants | DFHBR2CO | DFHBR2CH | DFHBR2CL | DFHBR2CD |
Sample client programs are supplied to illustrate the use of the copybooks and defaults. You will find a description of these in Running the sample client programs.