Conversational transactions

A traditionally conversation transaction, making multiple interactions with a terminal, can be run under the Link3270 bridge as a simple 'non-conversational' transaction by providing all the terminal input in multiple BRIV vectors in the Link3270 request message.

Here, the term 'conversational' refers to transactions where there are multiple flows between the client and the user transaction. To enable this conversational interaction, you must set BRIH-CONVERSATIONALTASK to BRIHCT-YES.

If the user transaction encounters a CONVERSE, RECEIVE or RECEIVE MAP and the Link3270 mechanism has not received a BRIV to satisfy the request, and the BRIH allows conversations (BRIH-CONVERSATIONALTASK is set to BRIHCT-YES), a message is returned to the client requesting further data. The value of BRIH-TASKENDSTATUS is set to the value BRIHTES-CONVERSATION, and a request BRIV is the last vector in the message.

The client then responds by sending a further input message containing the required 3270 input data. The client initializes the message to the default BRIH and sets the value of the BRIH-TRANSACTIONID field to BRIHT-CONTINUE-CONVERSATION and BRIH-FACILITY to the value returned on the allocate request. The following parameters may also be optionally defined:
  • BRIH-DATALENGTH (if BRIV vectors are appended to the message)
  • BRIH-CONVERSATIONALTASK
  • BRIH-GETWAITINTERVAL
  • BRIH-CANCELCODE
Other fields in the BRIH are ignored.

The client program may also need to create BRIV vectors if appropriate, and it must reply within the time specified in BRIH-GETWAITINTERVAL

Note: If BRIH-CONVERSATIONALTASK is set to BRIHCT-NO, the bridge will abend the user transaction if it issues an input command for which no vector has been supplied.