Joined: 15 Jun 2005 Posts: 53 Location: India, Chennai
What is the difference between multiple tasks/tran and 1 task/ tran ?.
Is that anything that the appication program needs to handle apart from Transaction class definition in CICS to run multiple tasks per transaction ?.
I believe that the multiple tasks that run under a transaction share the same program code in memory. if we have 1 task / tran and then all the transaction have separate program code in memory. Correct me If i am wrong.
Your terminology needs clarification. Under CICS, the terms 'task' and 'transaction' may be interchangeable.
The term 'transaction' is often used to refer to a business transaction. This business transaction may comprise one or several CICS tasks.
All instances of a given CICS transid share the same program storage but each task has separate working-storage. Multiple CICS transids may be defined to use the same program, in which case all such definitions share the same program and each task has separate working-storage.
If a business transaction comprises multiple tasks using multiple programs, one copy of each program involved is in use and each task has its own working-storage.
if we have 1 task / tran and then all the transaction have separate program code in memory
Since there is no difference in sharing the program code, then Why do we go for multiple CICS transids while we have the option to have multiple tasks per transid ?.
The answer to this lies in the design. For example, you might want to gather statistics on usage level of a task - in which case different groups of people would execute the same function using different transids. Your reporting on SMF could then differentiate between the groups. There might be many other reasons for having different transids execute the same program.
What is multithreading in CICS ?.
If two or more tasks are sharing the same program, that is multi-threading. In the example of groups above, several users in one group can be simultaneously running TRAN1 which is executing PROGRAMA while several other users can also be running TRAN2 which is also executing PROGRAMA. There is one copy of PROGRAMA loaded,while each user is allocated their own working-storage and CICS cuts SMF records for each individual transaction. SMF reporting can tell how many instances of TRAN1 and TRAN2 were run.