Early WTOs


You can capture WTOs that are issued during IPL and before MainView AutoOPERATOR starts by:

  • Implementing QAOCNZ15 as the MVS CNZ_MsgToSyslog exit.

    For more information about implementing this exit, see the IBM manual MVS Installation Exits.

  • You must also specify WTOEARLY=Y in BBPARM member AAOPRMxx.

Automating early WTOs can help detect situations such as product password expiration warnings or errors for other software products, JCL errors in STCs that are started before MainView AutoOPERATOR starts, or significant messages that occur early in the MVS initialization.

Note

The timing of HWTO events will be different from the original WTOs (which the Rule Processor sees as MSG events). All the HWTO events are generated at once at BBI-SS PAS startup. For example, IEF403I and IEF404I messages for a job occur instantly without any intervening delay as though the job had taken no time to run. You must consider this when planning to automate HWTOs.

The QAOCNZ15 exit stores the early WTOs in a data space. The data space can store about 100,000 WQEs. Note several WQEs can be associated with a single multi-line WTO. When this data space is full, it issues the following informational message and QAOCNZ15 is deleted from the MVS CNZ_MsgToSyslog exit:

AA0501I QAOCNZD DATA SPACE IS FULL ptf_level

When implementing the exit, the QAOCNZ15 load module can reside in any of the following places

  • In highLevelQualifier.BBLINK
  • In a special user library that contains only QAOCNZ15
  • In SYS1.PALIB
  • From a special user library that is concatenated with SYS1.PALIB

One example of specifying the EXIT statement in SYS1.PALIB PROGxx member and using QAOCNZ15 directly from the BBLINK data set.

EXIT ADD EXITNAME(CNZ_MSGTOSYSLOG) MODNAME(QAOCNZ15) DSNAME(highLevelQualifier.bblink)

If you are using the DSNAME(highLevelQualifier.bblink) option, verify that the PTF for IBM APAR OA49360 is applied. This fixes a bug where exits loaded from DSNAME() are not effective.

Note

You must review the CNZ_MsgToSyslog exit after any PTF maintenance, or installing or upgrading any MainView products.

Because there is only one copy of QAOCNZ15 in MVS, when you install new MainView libraries or apply PTFs, remember to ensure you always run the newest version and PTF level of QAOCNZ15. This ensures that the QAOCNZ15 exit is compatible with all levels of MainView AutoOPERATOR.

The following WTO AU0500I is issued when QAOCNZ15 starts and it indicates the PTF level of the code:

AA0500I CREATING QAOCNZD DATA SPACE ptf_level

To see if QAOCNZ15 is active, issue the following command:

D PROG,EXIT,EN=CNZ_MsgToSyslog,DIAG

You can also use the following MVS SETPROG EXIT command to dynamically ADD this exit as ACTIVE or INACTIVE:

SETPROG EXIT,ADD,EXITNAME=CNZ_MsgToSyslog,STATE=ACTIVE, MODNAME=QAOCNZ15, DSN=data_set_which_contains_this_member

If necessary, you can then use the following MVS SETPROG EXIT command to DELETE the exit:

SETPROG EXIT,DELETE,EXITNAME=CNZ_MsgToSyslog,MODNAME=QAOCNZ15

Note

BMC recommends against concatenating any BMC-supplied load library with SYS1.PALIB, or inserting a BMC-supplied load library into the MVS Linklist. If you wish to load the QAOCNZ15 program from the SYS1.PALIB concatenation, copy only the QAOCNZ15 load module to a new small user library and concatenate this special library with SYS1.PALIB.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*