Sparta logo

August 2018

SPARTA President’s Corner

contributed by Randy Springs

As we enter the dog days of August, I always envy workers in France who often get the entire month off for vacation. I usually find it hard to take off five consecutive days. However, I am glad to be working in a job that is technically challenging but not too demanding physically.

Our speaker this month will be Dr. William Shelden, Jr. co-founder of PerfTechPro. He will be presenting on their zAnalytics software package which is a capacity planning and performance measurement tool. Bill Hart will be at our meeting to represent the company.

Your SPARTA group still needs a volunteer to replace Pam Tant as treasurer. This position would involve about two hours per month. Please consider serving and talk to me about the position.

Please plan to join your colleagues for barbecue, networking, and education on Tuesday, August 7 at 6:15 p.m. at our usual LabCorp location.

Randy Springs

Future Speakers

(subject to change)

August 7, 2018 - zAnalytics® by William L. Shelden, Jr. of PerfTechPro

Sept. 11, 2018 (Special Date) - SHARE Conference Report by Ed Webb of SAS

We need ideas and volunteers for future speakers. Presentations don’t have to be fancy, just informative and interesting. Even a 5 or 10 minute talk can start an interesting interaction. Contact Ron Pimblett by phone as noted below.

2018-2019 SPARTA

Board of Directors

Randy Springs - President

BB&T                  (919) 745-5241

3200 Beechleaf Court, Suite 300

Raleigh, NC 27604

Ron Pimblett - Vice President

MDI Data Systems

Land line 613 599 6970

Mobile 613 981 6919

190 Guelph Private

Kanata, ON K2T 0J7

Chris Blackshire - Secretary

Retired (Dell, Perot Systems, Nortel)  (919) nnn-nnnn


Durham, NC 27713

Randy Springs - (Acting) Treasurer

BB&T                  (919) 745-5241

see Randy

Springs earlier

Ed Webb -  Communications Director

SAS Institute Inc.  919-531-4162

SAS Campus Drive

Cary, NC 27513

Mike Lockey -  Web Master

Guilford Co. Information Services  336-641-6235

201 N. Eugene St.

Greensboro, NC 27401


Meetings are scheduled for the first Tuesday evening of each month (except no meeting in January), with optional dinner at 6:15 p.m. and the meeting beginning at 7:00 p.m.

These monthly meetings usually are held at LabCorp’s Center for Molecular Biology and Pathology (CMBP) near the Research Triangle Park (see last page). Take I-40 to Miami Boulevard and go north. Turn right onto T.W. Alexander Drive. Go about a mile or so. Then turn right into LabCorp complex and turn Left to the CMBP Building (1912 T.W. Alexander Drive). In the lobby, sign in as a visitor to see Bill Johnson. Bill will escort you to the conference room.

Call for Articles

If you have any ideas for speakers, presentations, newsletter articles, or are interested in taking part in a presentation, PLEASE contact one of the Board of Directors with your suggestions.

Newsletter e-Mailings

The SPARTA policy is to e-mail a monthly notice to our SPARTA-RTP Group. The newsletter is posted to the website about five (5) days before each meeting so you can prepare. The SPARTA-RTP Group is maintained by Chris Blackshire; if you have corrections or problems receiving your meeting notice, contact Chris at

January 2018 “CBT Tape” Shareware Online

The directory and files from the latest CBT tape V495 (dated January 15, 2018) are available from

If you need help obtaining one or more files, contact Ed Webb at SAS (see Board of Director’s list for contact info).

Minutes of the July 10, 2018 Meeting

• The meeting was called to order at 7:00 PM by Chris Blackshire standing in for Randy Springs, the SPARTA President.

• The meeting was held at a LabCorp conference room in RTP, N.C.

• Fourteen (14) people were present of which Thirteen (13) are 2017/2018 paid members.

• Everyone introduced themselves, told where they worked, and briefly described their job functions or their job hunting challenges.

• The presentation was given first to meet the presenter's schedule - see the presentation below (7:10-8:05 PM).


• The minutes of the May 1, 2018 meeting as published in the June 2018 Newsletter were approved.

• The May 31, 2018 Treasurer's report was not given. Randy will give it at the August meeting. Duane Reaugh will check on the DTS corporate sponsorship payment.

• Call For Articles: Articles are needed for this newsletter. If you would like to write an article for this newsletter, please contact Ed Webb. Keep in mind that you don't really need to write the article, it can be an article that you read that you would like to share with the membership.

• The SPARTA Web page is available. To access the SPARTA Web page, point your Web browser to this site: Please send any comments or suggestions about the Web page to Mike Lockey. Be sure to check the Web page every once in a while to see any new or changed information.

• Chris reminded everyone to leave the LabCorp conference room clean.

• Future Speakers and Topics (subject to change based on internal politics, budget, the weather):





August 7, 2018




September 11, 2018


Ed Webb

SHARE St. Louis Conference Report

October 2, 2018

Rocket Software

Mitch Hoffman

z/OS Mainframe

November 6, 2018

Watson Walker

Cheryl or Frank

z/OS Performance/Metrics

December 4, 2018


Shalawn King

IBM Z Cloud Portfolio

If you have suggestions about speakers and topics, contact Ron Pimblett.

• The next SPARTA monthly meeting will be on Tuesday, August 10, 2018 at LabCorp in RTP.

• Food for the August 10 meeting will be BarBQ.

• The 2018 dues are due ($30) starting in February 2018. Please pay Randy Springs.

• Thanks to LabCorp and Bill Johnson for hosting the meeting.

• There are currently 79 people on the SPARTA-RTP e-mail list.

• Send any e-mail address changes to Chris Blackshire so he can update the SPARTA-RTP Listserv. You will be added by the moderator (Chris = sending you an invitation to Join the list.

• No update from Randy Springs on the SPARTA website connection to LinkedIn.

• Chris is in the process of putting a package together for Brad Carson, Tommy Thomas, and John Bryan's SPARTA contributions and death information on the web page under a new Emeritus section.

• Randy Springs is looking for a new Treasurer volunteer. He projects about 3 hours per month is needed.

-The treasurer position duties are:
--Collect dues and pay expenses at each monthly meeting.
--Deposit income at the BB&T bank monthly.
--Make an updated monthly excel income-expense list for the monthly newsletter.
--Give a Treasurer report at each meeting.
--One Time: Be added to the checking account authorization.
-Contact Randy Springs if you are interested.

• No update about whether SPARTA needs to change the website to HTTPS access. A security certificate would be $75 per year from GoDaddy. Randy Springs will work with Mike Lockey to research if we need this option and how to change it.

• No status update from Bill Johnson on whether we can continue to use the LabCorp conference room after the LabCorp data center is moved out of the building that we meet in. The move is scheduled sometime between July and November and Bill Johnson may not have access to this building after the move. That means we may have to find a new meeting place.


• None.

• The Business portion of the meeting ended about 7:40 PM.


Presentation Topic: CICS and IPCS

By Andre Clark of IBM Staff CICS L2 Support

• Dump types
• Some basic IPCS commands
• CICS Verbexit DFHPDxxx
• Common System Area (CSA)
• Storage Manager (SM)
• Transaction Manager (XM)
• Dispatcher (DS)
• Kernel (KE)
• Loader domain (LD)
• Program domain (PG)
• Lock Manager (LM)
• Enqueue domain (NQ)
• Application domain (AP)
• Task Summary (TK)
• Trace (TR)

• IPCS Panels
- CICS Primary Menu - 0 Defaults > Default Menu
- IPCS Primary Menu - 6 Command > Command Menu

• Presentation Access - See SPARTA webpage for the complete presentation. Or check out the outline of the presentation later in this newsletter.

Contact Info:

Andre Clark of IBM
IBM Staff CICS L2 Support

Ed Addison of IBM
Work: (919) 254-6515

• The July 10, 2018 monthly meeting ended about 9:05 PM.

Treasurer’s Report for July 2018

contributed by Randy Springs

The balance in the account is $1004.09 as of July 31, 2018.

SPARTA Financial Report
5/01/2018 through 07/31/2018


Opening Balance 7/1/2018


Total Deposits

Food money donated











Web Site


Petty Cash


Bank Service Charges






PETTY CASH on hand 




Items of Interest

SPARTA Schedule and Menu for 2018

contributed by Chris Blackshire

August 7, 2018 - BarBQ
September 11, 2018 - Pizza (date changed because of the Labor Day holiday)
October 2, 2018 - Fried chicken
November 6, 2018 - Subs
December 4, 2018 - BarBQ

Follow SHARE in St. Louis with the SHARE Mobile App

Contributed By Ed Webb

Follow sessions at SHARE in St. Louis, Missouri August 12-17, 2018 with the SHARE Mobile App>.

Explore the updated, desktop online agenda for access to technical education sessions that span topics such as Pervasive Encryption, Cloud Technology in the Enterprise, Data Privacy, API Economy and IBM Z(r) topics.

Be prepared to participate in 2019 at one of these announced venues:

SHARE Winter 2019:     Phoenix, AZ   March 10-15
SHARE Summer 2019:  Pittsburgh, PA  August 4-9

You can always see the future SHARE schedule here.

Saving with Data Set Encryption

Contributed By Ed Webb

"The z/OS OS is known for its world-class security. It needs to be secure because some of the world’s most valuable data is stored on IBM Z. As we consider the newest z/OS offering from IBM, let’s start with some background about security best practices and the current capabilities behind z/OS.

Good security practices should already be a part of your environment. Clear policies, regularly applied and clearly laid out audit processes, identity management, access controls and key management are necessary components of data security.

All of these are enabled by the powerful capabilities in z/OS, and that won’t change. Encryption is another important element in your data protection strategy—and z/OS has recently been enhanced to strengthen that component. One example is data set encryption, which moves encryption functionality deeper into the fundamental data management components of the OS."

Read the entire explanation of data set encryption here.

12 Qs to Help Measure Mainframe Quality

Contributed By Ed Webb

"Organizations should work to continuously improve quality, velocity and efficiency together, but there's no denying quality is the principal focus of mainframe shops, as a recent Compuware-commissioned Forrester Consulting study found. But even though there is a large focus on quality in mainframe application development, it's under threat today for various reasons.”

Learn about managing the 2 major threats: mainframe skills loss, and the push to do more faster in this Enterprise Executive article.

Don't Panic: It's On the Mainframe - Financial Services and Cloud Computing

Contributed By Ed Webb

"The Bank of England, for example, is reportedly considering a test on the resilience of banks this year, exploring what would happen if cloud access were interrupted. The United States Office of the Comptroller of the Currency is also analyzing the relationships between banks and third-party vendors, including cloud providers.

These concerns are partly caused by the involvement of Microsoft, Amazon, Google and others, who often act as the providers of these cloud systems. The idea of third-party tech titans taking control of such sensitive data could seem a worrying prospect to financial service regulators, as things could feel as though they were slipping out of their control. However, they need not panic. In reality, there are many ways banks can incorporate cloud technology without ripping out their trusted and secure mainframe and midrange systems."

Check out this Enterprise Systems Media report.


Humorous Thoughts

Contributed by Ed Webb

• Happiness is not doing what you like; it's liking what you do.
• Most of the stuff people worry about never happens.
• If you look like your passport photo, you need the trip.

• Accept that some days you're the pigeon, and some days you're the statue.
• A truly happy person is one who can enjoy the scenery on a detour.
• You may be only one person in the world, but you may also be the world to one person.


• Dump types
• Some basic IPCS commands
• CICS Verbexit DFHPDxxx
• Common System Area (CSA)
• Storage Manager (SM)
• Transaction Manager (XM)
• Dispatcher (DS)
• Kernel (KE)
• Loader domain (LD)
• Program domain (PG)
• Lock Manager (LM)
• Enqueue domain (NQ)
• Application domain (AP)
• Task Summary (TK)
• Trace (TR)

• IPCS Panels
- CICS Primary Menu - 0 Defaults > Default Menu
- IPCS Primary Menu - 6 Command > Command Menu

Some Useful IPCS Commands
- CBFORMAT (CBF) - Displays a formatted control block.
- - CBF RTCT - Formats the Recovery Termination Control Table.
- - - Can be used to see what address spaces are included in the dump.
- - CBF address STR(control block name) e.g. ipcbf12345678 str(rtm2wa)
- EQUATE (EQ) - Assigns a name to the current address.
- FIND (F) - Locate data in a dump.
- - F 'charstring' NOB (NOB indicates No Break for uninterrupted searching).
- - F x'datastring' NOB - Locates a hexadecimal string.
- LIST (L) - Display storage at an address.
- - Laddr LEN(x'1000') - List x'1000'bytes starting at the specified address.
- - Laddr+100 - List the specified address +x'100'.
- - LSLIPTRAP - List the slip trap for which a SLIP dump was taken.
- - Laddr INSTR - Displays Assembler instructions at the specified address.
- - - e.g. ipl23d00 l(x'20')i
- LISTTOD (LTOD) - Convert TOD clock to corresponding timestamps.
- - e.g. ip ltod C6BC0E414486E884
- - Top STCK is formatted GMT time without being adjusted for time zone or leap seconds.
- - Middle UTC has been adjusted for leap seconds.
- - Local time has been adjusted for both time zone and leap seconds.
- HELP - Provides a list of IPCS commands and subcommands.
- - HELP subcommand e.g. ip help run chain
- LPAMAP - Display LPA module summary.
- OPCODE - Converts a hex instruction to its corresponding Assembler instruction.
- RUNCHAIN (RUNC) - Format a chain of control blocks.
- - e.g. ip runc addr(12345678) len(x'20') link(x'10') chain(99) display verify
- - - ADDR - Address of first block in chain.
- - - LEN - Length of storage to be displayed
- - - LINK - Offset in each block for the next block on the chain.
- - - CHAIN - Number of control blocks to chain; default is 999.
- SELECT - Displays address space/jobname information.
- - ALL
- - ASID (x'...') or ASID (x'...',x'...') for multiple address spaces.
- STATUS (ST) - Provides system status; includes dump title.
- - STATUS SYSTEM (ST SYS) - Includes time dump was taken.
- - STATUS REGS (ST REGS) - Formats PSW/registers when SLIP trap springs.
- SUMMARY FORMAT (Summ Format) - Formats TCBs and related information.
- - SUMFOSUM ASID(...) TCB(....) - Formats a summary of a TCB's RB structure
- SYSTRACE - Format MVS system trace table.
- - PERFDATA - Help identify specific trace entries that are using CPU time
- - - e.g. systrace time(local) asid(x'101') tcb(x'9F8220')
- VERBEXIT (VERBX) - User-supplied VERB exits - CICS, DB2, LE/370 etc.
- - DFHPDxxx (where 'xxx' is the CICS release e.g. 660,670,680,690,700,710).
- - VERBX MTRACE - Formats the most recent console messages.
- - VERBX LOGDATA - Formats the most recent LOGREC entries.
- WHERE (W) - Identify an area of storage.
- - e.g. Where 0E200200:

Status Commands
- Status (ST)
- - Displays the dump title:
- - - Dump Title: CICS DUMP: SYSTEM=IYNXS CODE=XM0002 ID=64/0064
- - The title tells you who requested the dump:
- - - CICS, SLIP, console dump, or another product.
- - Dump title can give clues about the health of CICS or error information that will be available.
- Status System (ST SYS)
- - Displays the time the dump was requested, and the difference between Local time and GMT

What address spaces are included?
- Cbf rtct
- - Displays the ASIDs that are included in the dump:
- - - SDAS SDF4 SDF5
- - - 001 - 0144 - 80 - 00
- - - 002 - 016C - 80 - 00
- Select all formats all jobs and assigned address spaces.
- Select ASID(x'144',x'16C') displays selected ASIDs and the associated jobnames
- When multiple address spaces are dumped, can limit output to just one job with the job=parm:
- - verbx dfhpd700 'ds=1,job=jobname'

Browsing the dump
- Option 1 on the IPCS Menu Panel.
- Addresses that begin with an alphabetic character must be preceded by a 0 or followed by a period(.)
- Indirect addressing.
- - % - Displays storage at a selected 24 bit address
- - ? - Displays storage at a selected 31 bit address
- - ! - Displays storage at a selected 64 bit address

CICS Verbexit
- Verbx dfhpdxxx where 'xxx' is the CICS release:
- - 670-CICS TS 4.2 (End of Service September 30 2018)
- - 680-CICS TS 5.1
- - 690-CICS TS 5.2
- - 700-CICS TS 5.3
- - 710-CICS TS 5.4
- When formatting information from a CICS domain or component, there are normally three levels of detail available:
- - 1 - Summary only
- - 2 - Full control block formatting
- - 3 - Both Summary and control blocks

CICS Verbexit options
Keyword Functional area
AI = 0|2 Autoinstall Model Manager
AP = 0|1|2|3 Application Domain APS=<TASKID=nnnnn>
AU = 0|2 CICS affinities utility
BA = 0|1|2|3 Business application manager
BR = 0|1|2|3 3270 bridge
CC = 0|2 CICS catalog domain
CP = 0|2 Common Programming Interface
CQ = 0|1|2 Auto install model manager
CSA = 0|2 CICS Common System Area
DB2 = 0|1|2|3 The CICS DB2 interface
DD = 0|1|2|3 DirectoryDomain
DH = 0|1|2|3 Document handling domain
DLI = 0|2 CICS DL/I Interface
DM = 0|1|2|3 Domain Manager
DP = 0|1|2|3 Debug Profiles manager (630)
DS = 0|1|2|3 Dispatcher Domain
DU = 0|2 Dump Domain
EC = 0|1|2|3 Event Capture domain (660)
EJ = 0|1 Enterprise JAVA
EM = 0|1|2|3 Event manager domain for BTS
EP = 0|1|2|3 Event Processing domain (660)
FCP = 0|2 File Control Program
FT = 0|1|2|3 CICS WEB Interface
ICP = 0|2 Interval Control Program
IE = 0|1|2|3 IPECIDomain
II = 0|1|2|3 IIOP
IND = 0|1|2|3 Page number indexes for output
IS = 0|1|2|3 IP Interconnectivity domain (650)
JCP = 0|2 Journal Control Program
KE = 0|1|2|3 CICS Kernel
LD = 0|1|2|3 Loader Domain
LG = 0|1|2|3 Logger Domain
LM = 0|1|2|3 Lock Manager domain
ME = 0|2 Message domain
ML = 0|1|2|3 Markup Language domain (660)
MN = 0|1|2|3 Monitoring domain
MQ = 0|1|2|3 CICS-MQinterface (650)
MRO = 0|2 CICS Multi-Region Operation
NQ = 0|1|2|3 Enqueue Manager
OT = 0|1|2|3 Object Transaction Domain
PA = 0|2 Parameter manager domain
PCP = 0|2 Program Control Program
PCT = 0|2 Program Control Table
PG = 0|1|2|3 Program Manager Domain
PI = 0|1|2|3 Pipeline Domain (640)
PR = 0|2 Partner Resource management
PT = 0|1|2|3 Partner Domain
RD = 0|2 Resource definition manager
RL = 0|1|2|3 Resource Lifecycle domain (660)
RM = 0|2 Recovery Management
RS = 0|1|2|3 Region Status domain (660)
RX = 0|1|2|3 Recoverable EXCI domain
RZ = 0|1|2|3 Request Streams
SH = 0|1 Scheduler services domain for BTS
SJ = 0|1|2|3 JVMDomain
SM = 0|1|2|3 Storage Manager domain
SO = 0|1|2|3 Sockets domain
SSA = 0|2 StaticStorage Areas
ST = 0|1|2|3 Statisticsdomain
SZ = 0|1 Front End Programming Interface
TCP = 0|1|2|3 Terminal Control Program
TDP = 0|1|2|3 Transient Data Program
TI = 0|1|2|3 Timer domain
TMP = 0|2 Table Manager Program
TR = 0|1|2|3 Trace domain TRS=<trace selection parameters>
TS = 0|1|2|3 Temporary Storage Program
UEH = 0|2 User Exit Handler
US = 0|1|2|3 User Domain
WB = 0|1|2 The web interface
W2 = 0|1|2|3 Web 2.0 domain (660)
XM = 0|1|2|3 The transaction manager
XRF = 0|2 The extended recovery facility
XS = 0|1 Security Domain
1 - Summary only
2 - Full control block formatting
3 - Both 1 and 2. If you omit the level number, it defaults to level 3 for components that have a summary, and level 2 for those that do not.

CSA Time of Day clock (CSA)
- The CICS CSA has a timestamp that is updated each time a task is dispatched on the QR TCB.
- - It is also updated when an application program issues an EXEC CICS ASKTIME request.
- This timestamp is in the form HHMMSSTF Local time, and can be found in the CSA +x'50'.
- If CICS is hung, compare the CSATOD clock to the time of the dump to see when a task was last
dispatched on the QR TCB.
- Verbx dfhpd700 'csa' CSA 0004E200 Common System Area

Storage Manager (SM)
- Storage manager summaries show whether CICS is short-on-storage (SOS), above/below the line, above bar.
- Also shows whether Storage Protection, Reentrant Program Protection, and Transaction Isolation are active.
- Verbx dfhpd700 'sm=1'

Transaction Manager (XM)
- Transaction manager summaries show:
- - Whether CICS is at MAXTASK:
- - Whether tasks are held for TRANCLASS reasons.
- Tasks that have been attached but queued for MAXTASK or TCLASS will not be in the CICS Dispatcher or Kernel summaries.
- Transaction manager summaries and control blocks used to determine what time a task was attached.
- Verbx dfhpd700 'xm=1'

Transaction Summary (XM)
- Verbx dfhpd700 'xm=1'

MXT Summary (XM)
- Verbx dfhpd700 'xm=1'
- MXT and TCLASS Summaries are at the end of the formatted summaries.
- - Max to the bottom of the formatted output by entering m followed by PF8.

TCLASS Summary (XM)
- Page backwards from the MXT Summary to see the TCLASS summary:

Task Attach Time (XM)
- Verbx dfhpd700 'xm=3'
- FIND on the TXN address. Task attach time is in the TXN+x'50':
- IP LTOD C56197A649D40706
- Task was attached at 04:25:48.113216 Local time.

Dispatcher (DS)
- Dispatcher summary displays:
- - Tasks currently in the system.
- - Each task's current status - running, suspended, dispatchable, etc.
- - What resources tasks are waiting for.
- The resource names are described in the CICS InfoCenter (or CICS Problem Determination Guide).
- - What time a task suspended, and whether there is a time-out due.
- Dispatcher summaries and control blocks can be used to determine:
- - How long tasks have been running on their respective TCBs.
- - How long tasks have been dispatchable, waiting for a turn to run on a particular TCB.
- Note: Times in the Dispatcher Summary have not been adjusted for time zone or leap seconds.

Dispatcher Task Summary (DS)
- Verbx dfhpd700 'ds=1'

What time did a task become 'Running' or Dispatchable?
- Dispatcher Task Summary shows the time a task was suspended, but not what time a task became 'Running' or 'Dispatchable'.
- - Tasks that are ready to run but the dispatcher hasn't dispatched them yet are 'Dispatchable'.
- Dispatcher Task Summary includes the address of the Dispatcher Task Area (DTA) control block.
- - DTA has two clock fields at +x'50'and +x'58'.
- When a task is 'Dispatchable', the DTA+X'50' contains the time the task became dispatchable.
- - For a suspended task, DTA+X'50' is also the time the task was suspended.
- For a running task, DTA+X'58' is within .1 second of the time the task became 'running' (i.e.was dispatched).

What time did a task become Running?
- Verbx dfhpd700 'ds=3'
- FIND on the DTA address to get to the formatted DTA control block. Check the DTA +x'58':
- Ip ltod C6C676564F3AE284 will convert the time to show that the running task became 'Running' within .1 sec of:

What time did a task become Dispatchable?
- Verbx dfhpd700 'ds=3'
- FIND on the DTA address to get to the formatted DTA control block. Check the DTA +x'50':
- IP LTOD C6C66DEF925B7E05 will convert the time to show that the task became 'Dispatchable' at:

Kernel (KE)
- Verbx dfhpd700 'ke=1'
- Task Summary
- - Includes all the tasks currently in the system.
- - Also includes a default task for each MVS TCB managed by the Kernel.
- - Shows tasks that are***Running** if the task is currently dispatched on a TCB.
- - Shows tasks flagged with an error (when any kernel stack for the task has been flagged with an error).
- Kernel Error Data (if applicable)
- Kernel Stacks
- Kernel Error Table Summary
- - Formats the 50 most recent errors in CICS.

Kernel Task Summary (KE)
- Verbx dfhpd700 'ke=1'- Key fields are the Kernel number, transaction number, transaction ID if task flagged as***Running** or in error.
- Field KE_KTCB CICS representation of the TCB at ask is running on.

Kernel Error Table Summary (KE)
-Verbx dfhpd700 'ke=1'
- - Max to the bottom to see the Kernel Error Table summary.
- - Kernel Error Table holds a maximum of the 50 most recent errors.
- ERR_CODE is the system abend code, if any, followed by the user abend code. (CICS abend codes begin with the letter 'A').
- Note the KE_NUM to identify errors associated with a particular kernel task.
- - May need to check task attach times to determine if errors associated with a kernel task are for the same task or different tasks.

Kernel Error Data (KERRD)
- Verbx dfhpd700 'ke=1'
- If the dump is taken for an error, Kernel Error Data will be formatted with the summary information.
- - If not, the most recent 50 errors can be found with:
- - verbx dfhpd700 'ke=2'
- - Find the error using the ERR_NUM identified in the Error Table Summary. e.g. FIND 'number: 00000009'
- - - Note: 2 spaces between the colon and the error number.
- The dump formatter provides the raw KERRD control block which contains PSW, registers, and error information.
- The dump formatter also formats key areas:
- - PSW and registers, together with storage in the vicinity of the PSW and register addresses.
- - The module in control at time of error, from a CICS perspective.
- - - If the error did not occur in the controlling program, the offset shown will be negative. i.e. FFFFFFFF
- - The execution key and space (Basespace or Subspace if Transaction Isolation is active).
- There are two sets of PSW and Registers, CICS and MVS.
- These two save areas are different only when CICS has issued an SVC (service request), and an abend or program check occurs during execution of the code processing the SVC.
- - CICS PSW and registers will reflect the code that issued the SVC.
- - MVS PSW and registers will reflect the actual program check or abend.
- MVS PSW and registers will only be formatted if they are different than the CICS PSW and registers.
- - The exception is when CICS has detected a runaway (looping) task. CICS issues an abend 999 to terminate the task:
- - - CICS PSW and registers will point within the looping module.
- - - MVS PSW and registers will point within Kernel module DFHKETIX after the abend SVC.
- BEAR - Breaking Event Address Register, is also formatted.
- - BEAR contains the address of the last branch instruction taken prior to a program check or abend. (Useful for wild branch detection).
- - Formatted as Branch Event Address.

Breaking Event Address Register (BEAR)
- Example using BEAR to diagnose a wild branch:
- - Bear points to this Branch instruction.
- - Prior to the Branch is an instruction loading the above registers.

Kernel Stacks (KE)
- Kernel stacks show the sequence of CICS modules currently involved with a task.
- Kernels stacks contain register save areas and working storage for each CICS module.

Finding the z/OS TCB address (KE)
- Often we need to find the z/OS TCB for one of the CICS TCBs:
- Verbx dfhpd700 'ke=3'
- Use the selected KE_KTCB from the Kernel Task Summary.
- FIND the formatted KTCB control blocks.
- For the selected KTCB address, KTCB+x'50' contains the address of the z/OSTCB:- For one of the more common TCBs, like the QR, can also use the trace domain to quickly find the TCB address:
- Verbx dfhpd700 'tr=2' then enter FIND QR
- - In later releases the z/OS TCB is formatted in the summary:

Loader domain (LD)
- Verbx dfhpd700 'ld=1'
- Program Repertoire provides program length, use count etc.
- Program Storage Map provides a program's load point, entry point, PTF level (if applicable).

Program domain (PG)
- The Program domain has a Program Level control block (PLCB) that shows the sequence of application programs, TRUEs and GLUEs that are involved with a task.
- Verbx dfhpd700 'pg=1'
- FIND on the task number:

Program Level summary (PG)
- The LVL 1 program, PROGRAM1, is the initial program.
- - It's environment shows EXEC indicating a normal application program.
- The LVL 2 program is PROGRAM2.
- - PROGRAM2 issues an SQL call.
- The LVL 3 program is DFHD2EX1, running as a Task Related User Exit (TRUE).
- PLCB summary is also useful for providing program name, length, and load point information.
- Note: Programs listed in the LLE Summary have been loaded on behalf of the current task. e.g. via COBOL call

LMQUEUE - Waiting on a lock
- Verbx dfhpd700 'ds=1'
- Dispatcher domain shows that tasks are in LMQUEUE suspends, indicating that tasks are waiting on a lock(s):

Lock Manager (LM)
- Verbx dfhpd700 'lm=1'
- FIND on keyword 'wait' to find the Lock Wait Queue and see what lock(s)tasks are waiting for:
- FIND on the lock name PREV to see the Allocated Locks summary and determine what task currently owns the lock
- The address listed as the lock owner identifies a Kernel TAS control block address.

Identify the Lock Owner
- Format the Kernel summary and FIND on the TAS address to identify the owning task.
- Verbx dfhpd700 'ke=1'
- Format the Dispatcher summary and find the task (using the TAS address or the Task#), and see what the lock owner is waiting for.
- Verbx dfhpd700 'ds=1' (some fields deleted)

Enqueue Domain (NQ)
- If Dispatcher summary shows a task waiting on an ENQUEUE:
- Verbx dfhpd700 'nq=1'
- FIND on the ENQUEUE name/type. e.g. FCDSRECD

- FIND on your task#.Task# 42303 is waiting on a file record lock owned by a KRUD task,# 42046:
- For an ENQUEUE type FCDSRECD, the first word of the ENQUEUE name (x'10B70440') is the address of the Dataset Name Block, followed by the key of the record (or a portion oft he key. Entire key can be found in the NQEA).
- - A resource name of FCDSRECD indicates a wait for a record lock in a VSAM file or CICS-maintained data table

File Control component (FCP)
- Verbx dfhpd700 'fcp=1'
- Find on the dataset name block address found in the NQ domain to identify the CICS file associated with the ENQUEUE request.

Application domain (AP)
- The Application domain can be formatted with:
- - Verbx dfhpd700 'ap=3'
- All task storage acquired on behalf of a task is formatted.
- - Any storage violations currently detected by CICS are flagged when the leading and trailing storage accounting areas don't match.
- Task-related control blocks including the Task Control Area (TCA), and EXEC CICS request areas are formatted.
- - EXEC Interface Block (EIB) and EXEC Interface User Structure (EIUS) can be used to find the most recent EXEC CICS request for a task, and identify the program that made the request.
- Can selectively format storage associated with a single task:
- Verbx dfhpd700 'aps=<taskid=xxxxx>
- - If available, will also format LE/370 storage information for the task using the LE VERBEXIT CEEERRIP.
- Verbx dfhpd700 'ap=3'
- - FIND on keyword 'violation' to see any storage violations currently detected by CICS for all task storage.
- - The beginning of this storage should have a check zone, U0019984, matching the trailer which is intact.

Find the most recent EXEC CICS request (AP)
- Verbx dfhpd700 'aps=<taskid=xxxxx>
- Page forward to find the System EIB, EIUS, User EIB.
- The System Exec Interface Block (EIB) +x'1B' (2 bytes) contains the function code for the most recent EXEC CICS request. e.g. 0602
- The description of the EIB function codes (field EIBFN) can be found searching in the CICS Knowledge Center (or CICS Application Programming Reference manual).
- - Search on keyword EIBFN and the 2-byte code:
Code Command
0602 READ
0604 WRITE
- If the EIB function code in the (User) EIB is different than the function code in the System EIB, then typically the current EXEC CICS request has not yet completed.
- - The function code in the System EIB is the most current request.
- - The current EXEC CICS request in the example is an EXEC CICS READFILE. The previous request was a WRITEFILE.

Who issued the last EXEC CICS request?
- Verbx dfhpd700 'aps=<taskid=xxxxx>'
- FIND the EIUS. EIUS +x'50' contains the address of the Register Save Area
- - Note: Field name is EIUS_RSA_ADDR
- The registers are saved in the RSA at offset x'C' in the order Reg14 - Reg12.
- - These will be the application's registers at time of the EXEC CICS request.
- - - Reg14 will point into the requesting program, immediately after the EXEC CICS request.
- Identify the requesting module using the Loader domain, the Program domain, or backing up in storage looking for a module ID.

TK - Task Summary
- Verbx dfhpd700 'TK'
- Provides you a 'One stop shop' to get pertinent information for a task
- - Contains some of the same information from various different domains all in one place
W = Waiting for first dispatch Y=Yes N=No
F = Flagged for Abend Y=Yes N=No
SC = Start Code

Trace (TR)
- Verbx dfhpd700 'tr=1'
- - Formats abbreviated CICS trace entries.
- Verbx dfhpd700 'tr=2'
- - Formats full CICS trace entries. Time is Local time.
- Verbx dfhpd700 'tr=3'
- - Formats abbreviated trace entries followed by full trace entries.

Short trace entries & Exception entries (TR)
- Verbx dfhpd700 'trs=<short>'
- Short trace entries contain the same information as the abbreviated trace entries plus the following information from the full trace entries:
- - Interpreted parameter list, showing keyword and value.
- - Return address
- - Time stamp / Interval
- CICS writes Exception trace entries for most errors and abnormal conditions. These exception entries cannot be suppressed, and are written even if CICS tracing is stopped.
- - FIND on *EXC to see them:

Formatting selected tasks and entries
- Verbx dfhpd700 'trs=<taskid=xxxxx, abbrev|full|short>'
- - Formats trace entries for the selected task only.
- - - e.g. verbx dfhpd700 'trs=<taskid=12345,full>'
- - Can select multiple tasks:
- - - e.g. verbx dfhpd700 'trs=<taskid=(xxxxx,yyyyy),abbrev>'
- Verbx dfhpd700'trs=<entry_num=(nnnnnn-nnnnnn)>'
- - Formats trace entries selected by trace sequence numbers.
- - - If you encounter message DFHPD0123 for an error/program check during trace formatting, trace formatting stops.
- - - You can format the remaining trace entries if you bypass the failing one:
- - - e.g. verbx dfhpd700 'trs=<entry_num=xxxxxx-999999,full>'
- - - - where xxxxxx is the last 'good' trace entry +2 to get around the entry in error.

Additional trace options
- 'trs=<ke_num=(nnnn,nnnn)>'
- - List entries for a specific Kernel number(s).
- 'trs=<termid=tttt>'
- - List entries pertaining to a specificTerminalID.
- 'trs=<timerg=(hhmmss-hhmmss)>'
- - List entries from a specific time range.
- 'trs=<tranid=tran>'
- - List all trace records related to a transaction ID.
- Note: The full list of additional trace options can be found in the CICS Knowledge Center - see Trace Selection Parameters

Membership Information

Don’t Forget the Next SPARTA Meeting

Tuesday, August 7, 2018

7 p.m.

Location: LabCorp in RTP

Take I-40 to Miami Boulevard and go north. Turn right onto 1912 T.W. Alexander Drive. Go about a mile or so. Then turn right into LabCorp complex and turn left to the CMBP Building. In the lobby, sign in as a visitor to see Bill Johnson. Bill will escort you to the conference room. Use 1912 TW Alexander Drive, Durham, NC 27703 in your map app.

Free Food before meeting: BarBQ, Sodas and Tea, Dessert



Speaker: William L. Shelden, Jr. of PerfTechPro


P.O. Box 13194

Research Triangle Park, NC  27709-3194

First Class Postage

SPARTA Corporate Sponsors:

DTS Software

Rocket Software

Software Diversified Services