View previous topic :: View next topic
|
Author |
Message |
kalukakkad
New User
Joined: 10 Mar 2005 Posts: 81
|
|
|
|
Current setup is IMSplexed and scenario is to test a transaction which in turn inokes other transaction.
It is required to prove that the first transaction is processed in 1 region and other (invoked) transactions are processed in other regions.
Please can someone help me how to set up the transaction or guide me how to test it?
IMS manual says to set up APPLCTN macro parameter SCHDTYPE = PARALLEL and TRANSACT macro parameter PARLIM = 0 |
|
Back to top |
|
|
Ed Goodman
Active Member
Joined: 08 Jun 2011 Posts: 556 Location: USA
|
|
|
|
Our DBAs can force certain transactions to run n certain message regions. Have yours force the two trans into different regions? |
|
Back to top |
|
|
kalukakkad
New User
Joined: 10 Mar 2005 Posts: 81
|
|
|
|
reading further on it, parameter SYSID can also be used, but how - can someone help?
I need to communicate the setup to a team which will make the changes to IMS transactions. |
|
Back to top |
|
|
charanmsrit
New User
Joined: 25 Oct 2007 Posts: 81 Location: Australia
|
|
|
|
kalukakkad wrote: |
reading further on it, parameter SYSID can also be used, but how - can someone help?
I need to communicate the setup to a team which will make the changes to IMS transactions. |
The transaction can be setup with specific CLASS in MSGTYPE= keyword of TRANSACT macro. Usually Message Processing regions are grouped to run transactions with specific classes only (maximum 4 class per region). when a transaction is invoked, IMS SMB will schedule the transactions to run in the message region according to the transaction class.
Talk to the IMS Systems Programmer in your shop. They would have setup some standards. |
|
Back to top |
|
|
Gary Jacek
New User
Joined: 17 Dec 2007 Posts: 64 Location: Victoria, BC, Canada
|
|
|
|
Hello kalukakkad
Does your environment have multiple IMS Control regions executing in a Shared Queues (message queue in the Coupling Facility) environment?
Or, alternatively, do you have just one IMS Control region, with multiple Message Processing Regions as subordinate address spaces?
As others have said, each transaction code will be defined in the TRANSACT macro. The third subparameter of the MSGTYPE parm within the TRANSACT macro specifies the Transaction Class.
If your original transaction is named A, and A message switches to transaction B, then your first step is to ensure transaction A has a Transaction Class that is different than what is specified for transaction B.
For example, you want to put Tran A in Class 007 and Tran B in Class 008.
Next, a Message Processing Region can specify up to 4 different transaction classes that are eligible for the MPR to execute.
You will find this as the second parameter supplied to PGM=DFSRRC00.
For example, this specification
PARM='MSG,007000000000,W00000000,01,2,Q,256'
will only process Transaction Class = '007'.
As such, it can process your Tran A.
If you have a second Message Processing Region with
PARM='MSG,008009010011,W00000000,01,2,Q,256'
it will only process Transaction Class = '008', '009', '010' and '011'.
As such, it can process your Tran B.
In a non-shared queues environment, you can make these two message regions subordinate address spaces of your single IMS Control Region.
Tran A will run in one MPR, and Tran B will run in the other.
In a shared queues environment where "other regions" in your original question actually means "other control region", you must ensure that the first MPR is a subordinate address space of the first control region, and the second MPR is a subordinate address space of the second control region.
You must also ensure that the transaction class you select for Tran A is not serviced by any MPR under the second control region, and that Tran B is not serviced by any MPR under the first control region.
Long explanation. I hope it helps you.
Gary |
|
Back to top |
|
|
kalukakkad
New User
Joined: 10 Mar 2005 Posts: 81
|
|
|
|
Thanks Gary for the detailed explanation.
Environment is multiple IMS Control regions executing in a Shared Queues.
There is 1 more problem
Tran A processes the message in steps based on values stored in SPA - on processing the first step it initiates another transaction say Tran B.
When Tran B completes it initiates Tran A again which then processes the second step based on values passed in SPA.
Requirement is to have Tran A execute in a different MPP (in second step) than the first (first step).
IMS Manual says if we set TRANSACT macro parameter PARLIM = 0, IMS will create multiple MPPs to serve the same transaction (if there are multiple transactions to process) - does that mean if I have multiple Tran A then different MPPs will process it? and a second MPP can process TRAN A (step 2) without actually processing TRAN A (step1)?
Sorry, I realize my earlier post was not clear. |
|
Back to top |
|
|
Gary Jacek
New User
Joined: 17 Dec 2007 Posts: 64 Location: Victoria, BC, Canada
|
|
|
|
IMS permits you to have more than one TRANSACT macro for each APPLCTN macro. This means that you could define transaction A and an additional transaction A1, both referring back to application A.
You can then put transactions A and A1 in different transaction classes, serviced by different message processing regions, to achieve your goal. |
|
Back to top |
|
|
Gary Jacek
New User
Joined: 17 Dec 2007 Posts: 64 Location: Victoria, BC, Canada
|
|
|
|
Sorry, was not very clear.
Your transaction B would have to specify transaction A1 rather than transaction A, during the CHNG call when it message switches. |
|
Back to top |
|
|
|