LongEx Mainframe Quarterly - February 2014

management: What TADz Can and Cannot Do

Tivoli Asset Discovery for z/OS (TADz) has quickly become a must-have software product for most mainframe sites. It's the only product that can find out what software you have installed, and who is using it. It is also excellent at monitoring usage of your own programs and modules.

But TADz can't do it all. In this article, we'll look at what TADz can do, and what it can't.

Discover Installed Software

The number one reason for buying TADz is to find software installed on your z/OS systems. And as explained in Longpela Expertise's How Do You Find the Software You Have, without TADz this is not easy. TADz's Inquisitor can quickly find the software installed on your system, and the results are excellent. In many cases it will also identify the options or modules that are installed, and even list versions it finds. So TADz can find out-dated or obsolete software products.

TADz discovers software by looking for their load modules and program objects. It's smart enough to go out and find load libraries, including z/OS UNIX directories. This search is controlled with parameters specified by the system administrator, so incorrect settings can omit libraries and directories. TADz has an internal database mapping load modules to program products (its Global Knowledge Base, or GKB).

However this falls down when software products don't have load modules. For example Websphere Enterprise Service bus is shipped as Java binaries to run under Websphere Application Server. Similarly Merrill Consultants' MXG is made up solely of SAS code. In these cases, TADz won't find them.

TADz also won't detect software products not in its GKB. Now, it's unreasonable to expect every past and present z/OS product to be in this database, though it is incredibly impressive. IBM also regularly updates it (and encourages anyone to tell them about missing products). So with regular maintenance, it will cover most of what's out there. But there may still be missing products. TADz can list each load library searched, identifying those with modules that match products in the GKB, and those that don't. TADz can also produce (very long) lists of modules with no match in the GKB.

TADz is also hampered by software bundling: where software products include other products at no extra charge. For example, IBM Omegamon XE includes the free IBM Configuration Assistance Tool (CICAT), and CA Common Services is required by several CA products. Managers will only be interested in product paid for, whereas technical people may be interested in everything.

IBM has attempted to help here, separating products into Asset (licensed products that are paid for), and Non-Asset. So in our above examples, Omegamon is an Asset, but CICAT is a Non-Asset . Unknown versions of products may also be classified as Non-Asset.

A brilliant TADz feature is to divide its reports into high level reports for managers (Asset reports), and more detailed reports for technical users (Discovery reports). Asset products appear in the Asset reports, Non-Asset don't (but do appear in Discovery reports).

Software that is renamed or re-packaged can confuse further the reports. For example IBM in the past bundled its IMS Fastpath Basic and IMS Fastpath Online tools into the IMS High Performance Fast Path Utilities product. However if the unbundled versions are still installed, TADz will list all three - appearing as three separate products to those unaware of the bundling.

Monitor Load Module Usage

The other wonderful feature of TADz is to monitor load module and program object usage: the TADz Usage Monitor. This is invaluable when determining if a program product is being used, and if so by whom. It can also be used for internal programs, determining modules that are, and aren't, in use. But again, this should be used with care.

TADz provides a report listing the number of times a software product is used. To do this, it counts the number of times key software product modules are loaded. This count is an excellent indicator of how often a module is used for batch and TSO. So for CA Easytrieve, the number of times the runtime library is loaded is the number of times it was used. TADz can provide even more detail, listing the users and jobs that access particular modules. It's also smart enough to specify the library, so two modules with the same name in different libraries (or z/OS UNIX directories) will be reported separately. CICS module usage was added in TADz 8.1.

However not all products will regularly load modules. For example, CA Netmaster loads most modules once: when the Netmaster task starts. TADz running over a month may see only one program load. So it may look like no-one is using Netmaster, when the opposite is true. Even worse, if Netmaster starts before TADz, TADz may never see any program loads. Netmaster would then appear unused.

Because of the CPU overhead and data to be stored, it is tempting to run the TADz Usage Monitor for a short time. However for more accurate results, a longer period is needed. Regularly running this module is ideal to get more accurate results.


TADz is a brilliant product for discovering and monitoring software products and application programs. However it is not as simple as pressing a button. TADz configurations should be prepared with care and regularly checked. Similarly reports should not be used without cross referencing them with other software and load module usage information.

David Stephens