Chapter 6. Introduction to Fault Analyzer 221
/*
If the program, MYAPPL, abends, the options specified in the IDIOPTS DD will
be used to override the sites default and customized settings.
6.8 Hints and tips
Here are some additional items we discovered during our research of FA; they
might be useful to you:
򐂰 System programmers notes
򐂰 Useful user exits:
Place abends in different fault history files.
Send an e-mail when a program abends.
6.8.1 Systems programmer notes
We present several items that system programmers should keep in mind after
they install FA:
򐂰 Review your sites standard for the REGION parameter in batch jobs.
We found that if sufficient region was not available at the time of the abend,
then FA could not complete the analysis. This would result in one or more
messages in the JES log, but an entry would not be made in the fault history
file.
򐂰 Consider increasing the default value for MAXMINIDUMPPAGES from 64 to 80.
We found that, for some CICS abends, the number of 4 K dump pages written
to the fault history file exceeded the default value.
򐂰 Pay a particular attention to the versions and releases of IBM software you
have installed at your site. Make certain that the soft copy messages and
codes, provided with FA, are appropriate for the level of software you use.
򐂰 Consider specifying NODUP to suppress duplicate fault entries, thereby making
it easy to maintain fault history files.
6.8.2 Place abends in different fault history file
Your site may have requirements that dictate that all production abends must be
sent to one dump repository, while all test abends must be sent to another. This
kind of differentiation, and more, is available with FA when you take advantage of
the flexibility built into the user exits.
222 IBM Application Development Tools for z/OS and OS/390
Example 6-7 is a REXX exec that uses FA Analysis Control user exit to
determine where a fault entry will be directed.
Example 6-7 Analysis control user exit: REXX exec
/* Rexx */
/**********************************************************************/
/* Exec: SendIt2 */
/* Function: Send an abend to the appropriate FA fault history file...*/
/* History: 06/15/2001 - LMK - Created */
/**********************************************************************/
/* */
/* This exit can optionally be used with IBM Fault Analyzer for */
/* OS/390 to direct the output of batch abends to an appropriate */
/* fault history file. */
/* */
/* On entry, two stems are provided: */
/* - ENV */
/* - CTL */
/* Both of these data areas are described in the User’s Guide. */
/* */
/* To use this exit, the name of the EXEC (in this example, */
/* SENDIT2 is used, but this can be any name) must be specified */
/* in an EXITS option as follows: */
/* */
/* EXITS(CONTROL(REXX((SENDIT2))) */
/* */
/* For the exit to be invoked by Fault Analyzer, it must be made */
/* available via the IDIEXEC DDname: */
/* */
/* IDIEXEC(IDI.REXX) */
/* */
/**********************************************************************/
If Env.Job_Type <> ‘B’ Then
Exit /* Only process batch jobs this way */
file_llq = ‘IDI.HIST’ /* Change to match site standards */
ASysUser = Strip(Env.User_ID)
Select
When ASysUser = ‘PRODOPC’ Then /* Production OPC ID */
Ctl.IDIHist = ‘PROD.SYSTEM.’file_llq
When ASysUser = ‘TST1OPC’ Then /* Test OPC ID */
Ctl.IDIHist = ‘TST1.DEVSYS.’file_llq
When ASysUser = ‘UAT1OPC’ Then Do /* UAT OPC ID */
Select
When Env.Job_Class = ‘S’ Then
Ctl.IDIHist = ‘TST1.UATJOBS.’file_llq
When Env.Job_Class = ‘T’ Then
Ctl.IDIHist = ‘TST1.UATJOBT.’file_llq
Otherwise

Get Introduction to the IBM Application Development Tools on z/OS and OS/390 now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.