Using IMS Transaction Isolation to create a private message-processing region and select transactions to debug
z/OS Debugger's IMS Transaction Isolation facility allows you to debug IMS message processing programs (MPPs) in an environment that is isolated from other users of the same programs. If your IMSplex uses shared queues, you can register for a transaction, start a region, or perform any other operation from a single connection and the IMS Transaction Isolation facility will notify other LPARs of the operations.
- Display a list of transactions available for a given IMS subsystem.
- From that list of transactions, register to debug a specific transaction in a private message region that is created for your use.
- For transactions you are registered to debug, specify other pattern-matching information, such as the content of messages that are sent to the transaction. This allows you to trap the transaction under specific conditions.
- Start a private message-processing region based on the execution environment of a selected transaction. The private message-processing region is configured to use delay debug mode, and is hardcoded to read delay debug preferences from your delay debug profile data set. For more information about delay debug, see Using delay debug mode to delay starting of a debug session.
- Customize your private message region by supplying personal libraries for the STEPLIB concatenation.
- Start IBM z/OS Debugger Utilities. For more information, see Starting IBM z/OS Debugger Utilities.
- In the IBM z/OS Debugger Utilities panel (EQA@PRIM), type 4 in the Option line and press Enter.
- In the Manage IMS Message Processing Programs panel (EQAPRIS), type 5 in the Option line and press Enter.
- The IMS Transaction Isolation Facility panel
(EQAPMPSL) is displayed. The following screen highlights the fields
in the panel.
--------------- IMS Transaction Isolation Facility ---------- Row 1 to 7 of 201 Command ===> Scroll ===> PAGE IMS system . . . . . . IMS1 1 2 _ Manage additional libraries and delay debug options. Your region: @USRT001 Class 021 Stopped Delay debug data set: 'USRT001.DLAYDBG.EQAUOPTS' Filters: 3 / Display full transaction list. _ Display only transactions you are registered to debug. _ Filter by name ==> dtmq __ 4 __50 Maximum number of transactions (0 - no limit) (E) Edit (S) Start Region (P) Stop Region (R) Register (D) De-register Sel Transaction PSB name Reserved user Region name Status _ 5 ADDINV DFSSAM04 _ ADDPART DFSSAM04 _ APOL11 APOL1 _ APOL12 APOL1 _ APOL13 APOL1 _ APOL14 APOL1 F1=Help F3=Exit F4=IMSIDLst F7=Backward F8=Forward F12=Cancel
- 1 IMS System
- Specify the IMS subsystem identifier where you debug.
- 2 Manage additional libraries and delay debug options
- Place a forward slash (/) in the entry field and press Enter to display the Manage Additional Libraries and Delay Debug panel (EQAPMPRG).
- 3 Filters
- You can use these selections to change the transactions that are displayed for the selected IMS subsystem.
- 4 Maximum number of transactions
- This value limits the number of transactions displayed for the given filter. If there are more transactions matching the filter than the transactions that are displayed, a message is displayed.
- 5 Transaction action character
- The following actions can be performed for each transaction listed:
Action Function Description E Edit Displays the Edit pattern-matching parameters panel (EQAPMPED). S Start Region Starts a private message-processing region based on the current execution environment for the selected transaction. If you do not start the region, it will also register to debug the transaction. P Stop Region Stops the private message-processing region that you started. R Register Register to debug the selected transaction. When a message for the transaction is scheduled in the IMS subsystem, the message is routed to your private message-processing region if all pattern-matching parameters are satisfied. D De-register Removes your registration to debug the selected transaction. Messages are no longer routed to your private message-processing region for this transaction.
- In the Manage Additional Libraries
and Delay Debug panel (EQAPMPRG), you can perform the following
tasks:
- Edit the delay debug options data set.
- Specify Language Environment® options for the private message region.
- Add data sets to the message region STEPLIB concatenation.
When z/OS Debugger creates your private message-processing region, if you have a delay debug options data set allocated, the private message-processing region is in delay debug mode. This allows you to use the delay debug options data set to control the TEST option that is used and the programs that are trapped.
If you do not have a delay debug data set allocated, z/OS Debugger creates the private message-processing region with a hardcoded CEEOPTS DD. The hardcoded CEEOPTS DD contains the string TEST (ALL, *,PROMPT,VTAM®%userid:*), where userid is your TSO user ID.
All private message-processing regions started by IMS Isolation contain a CEEOPTS DD card. You can specify additional Language Environment options for this CEEOPTS DD by using the Other run-time options field.
To add a data set to your private message-processing region's STEPLIB, type an I in the Cmd column of the data set table at the bottom of the panel. This adds an empty line to the table that you can complete with a data set name and a disposition.
Each data set in the table is added to the beginning of the STEPLIB concatenation for the private message-processing region, in the order that is specified in the table. You can change the relative position of the data sets in the table by modifying the values in the Seq column.
For more advanced manipulation of the DD card, you can type a forward slash (/) in the Cmd column for a DD card and press Enter. A menu is displayed where you can change the allocation parameters, the DCB parameters, and other characteristics that are specified on the DD card for a data set.
- The following screen highlights the fields on the Edit pattern-matching
parameters panel (EQAPMPED).
---------------------- Edit pattern-matching parameters --------------------- Command ===> __________________________________________ Scroll ===> CSR Message processing program debug settings: Region class . . . 007 Region name . . @USER1 Transaction . . . . IVTCV User ID to match. . USER1 1 Transaction Message rrr 2 Range start . . 12 3 Range length . . 32 4 5 Match case / 6 Data is hex _ F1=Help F3=Exit F4=Run F5=Findnext F7=Backward F8=Forward F10=Submit F12=Cancel
- 1 User ID to match
- This field designates the user ID or pattern that is used to match against the user ID when a given instance of the selected transaction is run. The value may be a full user ID or a pattern that ends with the character '*'.
- 2 Transaction Message
- Data that you enter in this field is used to match against all messages that are scheduled for
the selected transaction. If the string you type is contained within the message, the message is
considered a match, if the other pattern-matching parameters are also satisfied (see
5 and 6 ).
- 3 Range start
- The first position to check. The transaction name usually can be found in position 1, which is the default start of the range.
- 4 Range length
- The maximum number of bytes to scan. If the length is not given, the range ends at the end of the message segment.
- 5 Match case
- Place a forward slash (/) in the entry field to indicate that the string in "Transaction Message" is considered a match if all characters match, including their case.
- 6 Data is hex
- Place a forward slash (/) in the entry field to indicate that the string in "Transaction Message" is a hexadecimal string.