On-line systems cannot function without interacting with the terminal users. The process of sending a message to the terminal user and receiving his response is called Conversation. Under C1CS there are 3 different terminal conversation modes. They are:

  • Conversational Mode
  • Pseudo-Conversational Mode
  • Non-conversational Mode

In conversational mode, the program accomplishes a conversation by sending the message, waiting for the user to respond and then receiving the message. A program or transaction written in this mode is called a conversational program or transaction.

In pseudo-conversational mode, after sending the message to the terminal, CICS frees all the resources until the user presses an attention key and then receives the response. So the waiting for the user response is avoided.

In non-conversational mode, there is no conversation and this mode is usually used for jobs like report printing.

Pseudo-Conversational Techniques

Pseudo-conversational transactions can be developed in different ways. We will discuss some of the most commonly discussed techniques.

You can convert a Conversational transaction into pseudo-conversational mode by dividing it into logically and physically separate programs after sending a message and before receiving a message and having multiple transaction identifiers (PCT entries) and program identifiers (PPT entries), one for each program. Before termination, each program issues a RETURN command with the next Transaction identifier of the next program, unless it is the RETURN to CICS (i.e. the last program). Even though in this approach, the program development is easy, it will increase the number of PCT and PPT entries. So this method is not recommended.

In another approach we can use multiple transaction identifiers (PCT entries) but a single PPT entry. In this method the program is not divided into separate programs but will have several functional routines, each of which will accomplish the tasks that were accomplished by the separate programs in the first case. Each routine will issue a RETURN command with the transaction identifier of the next routine. But in this case also, even though the number of PPT entries is reduced the number of PCT entries will remain the same. So this also is not a very efficient method.

Pseudo-conversational technique 3 uses only one PCT entry and one PPT entry. In this method one physical program consists of multiple logical programs, each of which takes care of one conversation. When a logical program of the physical program terminates, it issues a RETURN command with the TRANSID option for the transaction identifier defined in the PCT, and along with that passes an Internal Transaction Identifier through the COMMAREA indicating which conversation it is expecting the next time when the control is returned to the same physical program for the next logical program path. This technique has all the advantages of the pseudo-conversational technique and need only one PPT and PCT entry. So this method is highly recommended. Let us look at an example of a pseudo-conversational transaction using this approach. The PPT and PCT entries will be as follows:



The Program will look something like:



During the execution of the program, the following activities will occur.

  • After the terminal user types the transaction identifier TSKl and presses the Enter key, the associated program PROG1 will be initiated.
  • At the top of the program PROG1, there is a housekeeping routine (MAIN-PARA) which passes control to the appropriate paragraphs based on the information in EIBTRNID and the data passed through the COMMAREA.
  • If no data is passed through the COMMAREA (i.e., ElBCALEN = 0), then that means it is first initiation of the task and TSK1-PARA is executed.
  • If data has been passed (i.e., ElBCALEN > 0), and the data received is equal to the initial transaction identifier (TSK2), then this is the second iteration, and the transaction TSK2-PARA will be executed.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

IBM Mainframe Topics