This is my cyberhome!

March 19, 2004


Filed under: Mainframes — Manish Bansal @ 1:59 pm

One of my teammates remarked that the Exception count for his job was not increasing and that it might be in a loop. He was monitoring the job in SDSF and apparently there was no visible activity. The discussion that we had on this is the reason for this post.

EXCP stands for EXecute Channel Program. It does not stand for “Exception”. These are the I/O subsystem hardware driver programs that do the actual data transfer between the DASD (Hard disk) and the system memory(core/RAM). Channels in mainframes are similar to Buses in the PCs. They are basically the electrical paths to carry data. So each time a trip is made to the DASD to fetch data, EXCP count goes up by one. This is the reason we say a job is looping if the EXCP count is not increasing. Note that the count goes up by one for each block of data transferred. So a data transfer of a single 4K block and a single 32K block will count for one EXCP each.

There is a little caveat here. If the data being fetched is in a DB2 table, the EXCP count will NOT go up even though large amounts of data are being transferred. That is because the EXCPs are logged by a part of MVS called SMF (Systems Management Facility) while DB2 I/Os are handled by MMF (Media Manager Facility). So those I/Os don’t show up on the EXCP reports.



  1. Thanks for taking the time to write this….was VERY helpful!

    -a new systems programmer

    Comment by Paul — November 3, 2009 @ 4:31 pm | Reply

  2. Thank you for Clarifying this. It drives me nuts when, especially System Programmers, refer to them as Exceptions.

    I would like to add About DB2 ExCP’s.
    Normal programs use the MVS Vsam facility for doing I/O’s & are recorded by SMF.
    DB2 uses a different form of underlying VSAM. It is NOT the normal KSDS,ESDS nor RRDS Vsam. It is actually a form of PAGE dataset similiar to the Paging file in MVS. DB2 uses 4K datablocks. If this hasn’t changed since DB2 V8.
    DB2 doesn’t use ‘normal’ VSAM processing. MMF is a function of DB2. DB2 does the ExCP processing. The I/O’s are tracked & Recorded Under the DB2 Database Manager Address Space. SMF still tracks them but ALL DB2 EXCP’s will be recorded under the DB2 ASID. The Job/TSU/STC using DB2 won’t show them. So using the EXCP count to figure if it’s in a loop isn’t always the best method. It must be checked if its using DB2.
    You can use certain DB2 Monitoring software to find out whats going on in DB2 for that particular task. Such as Tivoli/Candle Omegamon for DB2.

    Comment by Hal Figliulo — December 18, 2009 @ 4:44 pm | Reply

  3. Yeah, well put.. I hate when people say exception count. Its like the EXCP count is as high as 21M and they call it exception count! Idiots

    Comment by Anonymous — August 17, 2013 @ 9:52 pm | Reply

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

Blog at

%d bloggers like this: