We have a local requirement to change the text of a Write-to-Operator message delivered by CA ACF2 for z/OS. How can this be done?

Document ID : KB000050548
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

The recommended way to modify the text of a message is to use the National Language Support (NLS) provided with z/OS in MVS Message Services (MMS).

Solution:

MVS Message Services provides the ability to change the text of messages.

The following example will show how to change the text of one message - ACF00133

There are four components needed to make this change:

  1. SYS1.PARMLIB member MMSLSTnn
  2. A PDS member with the new message text
  3. A VSAM cluster that will be used to contain the compiled message
  4. A job to compile the message into the VSAM cluster

 

  1. Parmlib member MMSLSTnn is required. This example is using language code ENU which is for English language. You would need to modify this if English is not the default language at your site.

    NOTE: This example includes a DSN of yourhlq.MSGENU. This is the name of the VSAM cluster created in step 3 and it contains the changed message in a compiled format.
    ********************************* Top of Data ****************************/*---------------------------------------------------------------*/ /* MEMBER = MMSLSTnn */ /* */ /* PARMLIB MEMBER FOR MVS MESSAGE SERVICE */ /* */ /* DESCRIPTION = THIS PARMLIB MEMBER IS ACCESSED BY SPECIFYING */ /* MMS(nn) ON THE INIT STATEMENT OF THE CONSOLXX */ /* MEMBER OF SYS1.PARMLIB OR BY ISSUING THE */ /* OPERATOR SET MMS=nn COMMAND. */ /* */ /* CHANGE-ACTIVITY = */ /* */ /* $L0=MMS,HBB4410,900629,PDDH: MVS MESSAGE SERVICE */ /* */ /* */ /*---------------------------------------------------------------*/ DEFAULTS LANGCODE(ENU) LANGUAGE LANGCODE(ENU) DSN(yourhlq.MSGENU) CONFIG(CNLENU00) +NAME(ENGLISH)*******************************Bottom of Data ****************************
  2. ACF2 message texts are provided in ACF2.CAIMENU. You should copy messages from this file into a PDS member before they are modified. In this example we are creating a PDS, yourhlq.CAIMENU, with a single member, MEMBER1. Lines beginning with '.' are comments.

    When you compile the messages (see Step 4), you specify the name of this PDS.

    All members of the PDS will be compiled, so you will need a PDS that is only used for message modification. (You can put all changed messages in one PDS member, as we have, or you can have a separate member for each message or you can have a combination of both.)

    IMPORTANT NOTE: If the message you are changing contains variables, they MUST be included in the new message text as well.

    EDIT yourhlq.CAIMENU(MEMBER1)
    ********************************* Top of Data ****************************.**************************************************************.* Product: CA ACF2 for z/OS *.* Function: System Messages *.* Module: ACF00MSG *.* Language: ENU - U.S. English *.*------------------------------------------------------------*.* Copyright (C) 2008 CA, INC. All rights reserved. *.*------------------------------------------------------------*.* Notes: *.* 1. Customers can change the text of messages. *.* However, the message ID, the number of variables, *.* the token names for the variables, and the content *.* of the variables cannot be changed. *.* *.*------------------------------------------------------------*.ACF00133 NEW PASSWORD MUST A NATIONAL OR USER-DEFINED CHARACTER &1. (Original)ACF00133 NEW PASSWORDS MUST HAVE CHARACTERS X Y Z &1. (Replacement)******************************** Bottom of Data *****************************
  3. JCL needed to create a VSAM cluster for use by MMS.
    ********************************* Top of Data *****************************//BATCH1 JOB CLASS=A,MSGCLASS=X,MSGLEVEL=1,NOTIFY=USER01 //DEFINE EXEC PGM=IDCAMS //volume DD UNIT=3390,DISP=SHR,VOL=SER=volume //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE CLUSTER (NAME(yourhlq.MSGENU) - VOLUMES(volume) - CYL(1 1) - SHAREOPTIONS(1,3) - LINEAR) - DATA (NAME(yourhlq.MSGENU.DATA)) /*//******************************** Bottom of Data ***********************
  4. The following JCL uses program CNLCCPLR to compile the changed message in the yourhlq.CAIMENU PDS and put it in the yourhli.MSGENU VSAM cluster specified in the MMSLSTnn member. (See Step 1)
    ********************************* Top of Data *****************************//BATCH1 JOB CLASS=A,MSGCLASS=X,MSGLEVEL=1,NOTIFY=USER01 //ASM EXEC PGM=CNLCCPLR,REGION=2048K, // PARM='ENU,N' //* //SYSPRINT DD SYSOUT=* //SYSUT1 DD DISP=SHR,DSN=yourhlq.CAIMENU //SYSUT2 DD DISP=SHR,DSN=yourhlq.MSGENU // ******************************** Bottom of Data ***********************

Issue command SET MMS=nn on the operator console. This will activate the new message text.

Note that only messages that are to be changed are needed in yourhlq.CAIMENU.

You do not need to include all the messages in ACF2.CAIMENU.