>What happens when a CICS transaction must do something
>like:
>
>    Invalid PIN number; please re-enter
>
>???  Does that spawn a separate transaction?

The basic design of transaction managers is that there
is a message queue manager which stacks messages until
a transaction becomes idle so it can handle the message.

The transaction would read one message, process it, and
then send a message back to the user (i.e terminal). So
the wait for user action is not tied to any running 
transaction. There is a way to program transactions that
is called Wait-For-Input transactions: Once they are 
finished with one transaction, they don't end but read
the next input message from the message queue (which 
probably comes from another user). 

IMS was designed to run multiple transaction regions
called message processing regions (MPP). Each MPP was 
running only one transaction at a time. The IMS controller
dispatched the correct transaction for the next message
to the next free MPP.

CICS was originally designed to be a single address 
space multi user transaction manager. Therefore CICS
had multiple tasks running in one region: terminal
input / output, queue manager, db access, transaction 
dispatcher, etc, but there was only one transaction 
related "MVS"-task. The CICS transaction dispatcher
schedules the transactions for the messages to be
worked onto that task one after the other. 

If an IMS transaction incurs a WAIT, only that 
MPP was waiting, the other MPPs continued to run.
If a CICS transaction incurs a WAIT the whole
transaction processing is blocked.

CICS has evolved much and is running wiith multiple
address spaces and even multiple transaction tasks
nowadays.

--
Peter Hunkeler
Credit Suisse

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to