A fix is available
APAR status
Closed as new function.
Error description
With this APAR the IBM Health Checker for z/OS introduces the support for filtering of parmlib statements within its parmlib members HZSPRMxx. With this support, certain parmlib statements can be fenced off based on conditional expressions. For example, the following, when included in an HZSPRMxx parmlib member supplied to Health Checker, will let the system only apply the POLICY statement when the member is processed on system SY03: WHEN (SYSNAME=SY03) DO ADD POLICY UPDATE(CHECK(OWNER1,CHECK1) INACTIVE REASON('Do not need check 1 on system SY03') DATE(20160128) END Also introduced is the capability to perform a syntax check on complete HZSPRMxx parmlib members, without applying the contained statements to any health checks or to any Health Checker global settings. For example, the following command will let the system check the syntax of parmlib members HZSPRM01 and HZSPRM02: MODIFY hzsproc,ADD,PARMLIB=(01,02,CHECK) See the ++HOLD(DOC) section of this APAR for more details.
Local fix
n/a
Problem summary
**************************************************************** * USERS AFFECTED: Users of the IBM Health Checker for z/OS * * who use HZSPRMxx PARMLIB members to * * customize their Health Checker setup. * **************************************************************** * PROBLEM DESCRIPTION: Single HZSPRMxx members are hard to * * share between different systems in a * * sysplex or in other complex * * environments, if there are certain * * customization statements in such * * HZSPRMxx members which are only * * applicable to certain systems or * * contexts, while many of the remaining * * statements apply in a wider context. * * * * Also, the Health Checker framework is * * missing an option to ease the testing * * and deployment of new and updated * * HZSPRMxx PARMLIB members by allowing * * a syntax check to be done on the * * content of such members, without * * having any customization statements * * actually being applied to a live * * instance of Health Checker. * **************************************************************** * RECOMMENDATION: * **************************************************************** .
Problem conclusion
Temporary fix
Comments
A new HZSPRMxx statement construct, "WHEN statements", is introduced to allow blocks of HZSPRMxx statements in individual HZSPRMxx PARMLIB members to be fenced off based on conditions that are evaluated dynamically when the HZSPRMxx members is read in and processed by the Health Checker framework. The general syntax is: WHEN ( <list of condition expressions> ) DO <any stmts> END For example, to specialize a block of POLICY UPDATE statements, so that they only get processed and applied on a particular, named system, SYxx in the example, use: WHEN(SYSNAME=SYxx) DO ADDREP POLICY UPDATE CHECK(OWNER1,CHECK1) ... ADDREP POLICY UPDATE CHECK(OWNER2,CHECK2) ... END Also, a new option for the existing ADD PARMLIB command is introduced to allow HZSPRMxx PARMLIB members to be checked for syntax only. The new ADD PARMLIB command syntax is: MODIFY hzsproc,ADD,PARMLIB=(x1,...,xn ,{C|CHECK} ) For example the following command will check PARMLIB members HZSPRMAA and HZSPRMBB for syntax only, and the system will not attempt to add or apply any of the statements in those two members to the currently active instance of Health Checker: F hzsproc,ADD,PARMLIB=(AA,BB,CHECK) As a result the system will issue one of the following two summary messages for each member that has been checked: ASA020I - SYNTAX CHECKING IS COMPLETE FOR PARMLIB MEMBER=<memname>. ERROR(S) WERE FOUND ASA021I - SYNTAX CHECKING IS COMPLETE FOR PARMLIB MEMBER=<memname>. NO ERRORS WERE FOUND If the system finds errors as it checks an HZSPRMxx parmlib member, resulting in an ASA020I message, check the log for additional messages detailing the syntax problems found. For more details for both WHEN statements and the new CHECK option for the ADD PARMLIB command, see the ++HOLD(DOC) section of this APAR as well as the refreshed "IBM Health Checker for z/OS V2R2 User's Guide" (SC23-6843).
APAR Information
APAR number
OA49807
Reported component name
HEALTH CHECKER
Reported component ID
5752SCHZS
Reported release
7A0
Status
CLOSED UR1
PE
NoPE
HIPER
NoHIPER
Special Attention
YesSpecatt / New Function / Xsystem
Submitted date
2016-01-28
Closed date
2016-03-07
Last modified date
2016-10-04
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UA80954 UA80955
Modules/Macros
HZSHZSEN HZSHZSJP HZSINPRM HZSIPER1 HZSIPER2 HZSIPGP HZSIPKWD HZSIPMSG HZSIPMU1 HZSMIMST
SC23684303 | SA38067303 |
Fix information
Fixed component name
HEALTH CHECKER
Fixed component ID
5752SCHZS
Applicable component levels
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":null,"label":null},"Product":{"code":"SG19O","label":"APARs - MVS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7A0","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7A0","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
04 October 2016