The fix is shipped as file IBM.HHOP750.UK43840
Steps required to install the fix:
A sequential data set must be allocated on the z/OS system to receive the fix that you will upload from your workstation. You can do this by submitting the job below. Add a job card and modify the parameters to meet your site's requirements before submitting.
//ALLOC EXEC PGM=IEFBR14 //* //UK43840 DD DSN=hlq.IBM.HHOP750.UK43840, // DISP=(NEW,CATLG,DELETE), // DSORG=PS, // RECFM=FB, // LRECL=80, // UNIT=SYSALLDA, //* VOL=SER=volser, //* BLKSIZE=6160, // SPACE=(TRK,(50,5)) //*
Upload the file in binary format from your workstation to the z/OS data set. On a Windows system, you can use FTP from a command prompt to upload the file. In the sample dialog shown below, commands or other information entered by the user are in bold, and the following values are assumed:
User enters: | Values |
---|---|
mvsaddr | TC P/IP address of the z/OS system |
tsouid | Your TSO user ID |
tsopw | Your TSO password |
d: | Your drive containing the fix files |
hlq | High-level qualifier that you used for the data set that you allocated in the job above |
C:\>ftp mvsaddr Connected to mvsaddr. 220-FTPD1 IBM FTP CS %version% at mvsaddr, %time% on %date%. 220 Connection will close if idle for more than 60 minutes. User (mvsaddr:(none)): tsouid 331 Send password please. Password: tsopw 230 tsouid is logged on. Working directory is "tsouid.". ftp> cd .. 250 "" is the working directory name prefix. ftp> cd hlq 250 "hlq." is the working directory name prefix. ftp> binary 200 Representation type is Image ftp> put d:\IBM.HHOP750.UK43840 200 Port request OK. 125 Storing data set hlq.IBM.HHOP750.UK43840 250 Transfer completed successfully ftp: 2769040 bytes sent in 0.23Seconds ftp> quit 221 Quit command received. Goodbye.
++ HOLD(UK43840) SYS FMID(HHOP750) REASON(DOC) DATE(09037) COMMENT (**************************************************************** * Affected function: ISPF * **************************************************************** * Description: important ISPF maintenance * **************************************************************** * Timing: n/a * **************************************************************** * Part: n/a * **************************************************************** The fix for ISPF APAR OA27174 is important for RDz, as it resolves a problem that can abend the RSE server. This APAR pre-req's ISPF APAR OA27190. These ISPF APAR's are not listed in the current program directory for RDz (GI11-8298-01). APAR OA27174 - ABEND U4093 OR U4087 RUNNING TSO COMMANDS VIA THE ISPF CLIENT GATEWAY PTF z/OS 1.8 UA45242 z/OS 1.9 UA45332 z/OS 1.10 UA45333 APAR OA27190 - IMW0229E MESSAGE OCCURS WHEN SEARCHING FOR IVP.HTML/CGI PROGRAMS. PTF z/OS 1.8 UA45030 z/OS 1.9 UA45031 z/OS 1.10 UA45032 **************************************************************** * Affected function: File Manager Integration (FMI) * **************************************************************** * Description: FMIEXT.properties update * **************************************************************** * Timing: post-APPLY * **************************************************************** * Part: /usr/lpp/rdz/samples/FMIEXT.properties * **************************************************************** The sample FMIEXT.properties properties file has been updated to change the default port numbers used. Customers who use both the FM listener and FM batch method to access IBM File Manager can run into a port conflict using the original default port numbers. 1960: default FM listener port 1961: default FM batch start port ). ++ HOLD(UK43840) SYS FMID(HHOP750) REASON(ACTION) DATE(09037) COMMENT (**************************************************************** * Affected function: JES Job Monitor * **************************************************************** * Description: embedded LE options * **************************************************************** * Timing: post-APPLY * **************************************************************** * Part: SFEKSAMP(FEJJJCL) * **************************************************************** This maintenance adds embedded LE options to the JES Job Monitor load module; POSIX(ON),ALL31(ON),STACK(,,ANY),THREADSTACK(,,,ANY) If need be, these options can be changed by providing alternate values in the startup JCL, as shown in the updated sample JCL, FEK.SFEKSAMP(FEJJJCL). //* //* JES JOB MONITOR //* //JMON PROC PRM=, * PRM='-TV' TO START TRACING // LEPRM='RPTOPTS(ON)', // HLQ=FEK, // CFG=FEK.#CUST.PARMLIB(FEJJCNFG) //* //JMON EXEC PGM=FEJJMON,REGION=0M,TIME=NOLIMIT, // PARM=('&LEPRM,ENVAR("_CEE_ENVFILE=DD:ENVIRON")/&PRM') //STEPLIB DD DISP=SHR,DSN=&HLQ..SFEKAUTH //ENVIRON DD DISP=SHR,DSN=&CFG //SYSPRINT DD SYSOUT=* //SYSOUT DD SYSOUT=* // PEND //* **************************************************************** * Affected function: lock daemon * **************************************************************** * Description: new started task, LOCKD * **************************************************************** * Timing: post-APPLY * **************************************************************** * Part: new SFEKSAMP(FEKSET01) * * new #CUST.PROCLIB(LOCKD) * * update /etc/rdz/rsed.envvars * **************************************************************** By switching to a single server setup, where multiple users are assigned to a single thread pool server, RSE lost the ability to track who owns a lock on a dataset or member. System commands stop at address space level, which is the thread pool server. To address this problem, a new server has been created, the lock daemon. It can track all dataset/member locks done by RSE users, as well as locks done by other products, like ISPF. Note that the RDz client will display the lock information where needed if the client is at a matching service level. (1) Setup (1a) Customize and submit FEK.SFEKSAMP(FEKSET01) This job will create a sample lock daemon started task JCL in FEK.#CUST.PROCLIB(LOCKD) for customization purposes. The original version is available as FEK.SFEKSAMP(FEKLOCKD). //* //* RSE LOCK DAEMON //* //LOCKD PROC HOME='/usr/lpp/rdz', // CNFG='/etc/rdz', // LOG=1 //* //LOCKD EXEC PGM=BPXBATSL,REGION=0M,TIME=NOLIMIT, // PARM='PGM &HOME./bin/lockd.sh &CNFG &LOG' //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* // PEND //* This job also updates the active /etc/rsed.envvars and adds the following lock daemon related statements to the end of the file: _RSE_LOCKD_PORT=4036 _RSE_JAVAOPTS="$_RSE_JAVAOPTS -Dlock.daemon.port=$_RSE_LOCKD_P ORT" _RSE_JAVAOPTS="$_RSE_JAVAOPTS -Dlock.daemon.cleanup.interval=1 440" _RSE_LOCKD_CLASS=com.ibm.ftt.rse.mvs.server.miners.MVSLockDaem on _RSE_LOCKD_PORT Specifies the port used by the lock daemon. The default port is 4036. Communication on this port is confined to the host. The remaining variables should not be modified. (1b) Customize FEK.#CUST.PROCLIB(LOCKD) and copy to SYS1.PROCLIB (1c) Add started task startup to SYS1.PARMLIB(COMMNDxx) The lock daemon must be started before users log on to the RSE daemon so it can track the lock requests by these users. Therefore it is advised to start the lock daemon at system startup. (1d) Security settings The lock daemon does not require any special security permits. For restricted environments, the server needs: - read/execute permission to Java libraries - read/execute permission to /usr/lpp/rdz/* - read permission to /etc/rdz/* - read permission to any data set in the rsed.envvars STEPLIB concatenation - read permission to the PROGRAM class profile protecting SYS1.LINKLIB (RDz documentation uses profile **) When used as started task, the server must also be defined to your security software. LISTUSER STCLOCK OMVS ADDUSER STCLOCK NOPASSWORD DFLTGRP(STCGROUP) - OMVS(UID(9) HOME(/tmp) PROGRAM(/bin/sh)) NAME('RDZ LOCK DAEMON') DATA('RATIONAL DEVELOPER FOR SYSTEM Z') RLIST STARTED LOCKD.* ALL STDATA RDEFINE STARTED LOCKD.* - STDATA(USER(STCLOCK) GROUP(STCGROUP) TRUSTED(NO)) DATA('RDZ LOCK DAEMON') SETROPTS RACLIST(STARTED) REFRESH (2) Usage (2a) How it works RSE server registers a newly connected user with the lock daemon. The registration info contains the Address Space Identifier (which is the ASID of the thread pool server), the Task Control Block (TCB) ID (user specific) and the user ID. Note that registration is done at connect time only, so all RSE users active before the lock daemon was (re)started will not be registered. When the lock daemon receives a dataset query, it scans the system's Global Resource Serialization (GRS) queues. If the ASID and TCB match that of a registered user, the user ID is returned as lock owner. Otherwise the jobname/user ID related to the ASID is returned as lock owner. A console message with the registration info is displayed if the registration fails, so that an operator can manually match the ASID and TCB values with those reported by the system as lock owner; D GRS,RES=(*,dataset[(member)]). Note: Successful registrations are also listed in DD STDOUT of the server if log_level is set to 2. This is useful to do the manual mapping for successful registrations that were removed after a restart of the lock daemon. (2b) Operator commands >>-+-START -+--procname--+---------------------------+-------->< +-S -----+ | +-'usr/lpp/rdz'--+ | +-,HOME=-+-'install_path'-+-| | | | +-'etc/rdz'-----+ | +-,CNFG=-+-'config_path'-+--| | | | +-1---------+ | +-,LOG=-+-log_level-+-------| | | +-<-------------------------+ procname The name of the member in a procedure library that is used to start the server. The default name used during the host configuration is LOCKD. HOME='install_path' Path prefix and the mandatory /usr/lpp/rdz used to install Developer for System z. The default is '/usr/lpp/rdz'. Note that the z/OS UNIX path is case sensitive and that it must be enclosed in single quotes (') to preserve lowercase characters. CNFG='config_path' Absolute location of the configuration files stored in z/OS UNIX. The default is '/etc/rdz'. Note that the z/OS UNIX path is case sensitive and that it must be enclosed in single quotes (') to preserve lowercase characters. LOG=log_level The detail level of output in DD STDOUT. 0 : Log error messages only. 1 : Log error and warning messages (default). 2 : Log error, warning and informational messages. >>-+-MODIFY -+--procname---------------------------------------> +-F ------+ >--,APPL=-+-QUERY -+--+-dataset---------+--------------------->< +-Q -----+ +-dataset(member)-+ procname The name of the member in a procedure library that is used to start the server. The default name used during the host configuration is LOCKD. QUERY dataset[(member)] Query the lock status of the listed dataset/member. The server will reply with one of the following messages: BPXM023I (stclock) dataset[(member)] NOT LOCKED BPXM023I (stclock) dataset[(member)] LOCKED BY userid Notes: * The server will also report locks held by other products, like ISPF. * Locks held by RSE clients started before the lock daemon will result in the thread pool server address space (RSEDx) being reported as lock owner. >>-+-STOP -+--procname---------------------------------------->< +-P ----+ procname The name of the member in a procedure library that is used to start the server. The default name used during the host configuration is LOCKD. (2c) Console messages The following list of new console messages can be generated by the lock daemon or RSE server: FEK501I = Lock daemon started, port={0}, cleanup interval={1}, log level={2} FEK502I = Lock daemon terminating FEK510E = Lock daemon, missing port FEK511E = Lock daemon, wrong port, port={0} FEK512E = Lock daemon, socket error, port={0} FEK513W = Lock daemon, registration failed, ASID={0}, TCB={1}, USER={2} FEK514W = Lock daemon, wrong log level, log level={0} BPXM023I (stclock) dataset[(member)] NOT LOCKED BPXM023I (stclock) dataset[(member)] LOCKED BY userid BPXM023I (stclock) command, WRONG COMMAND BPXM023I (stclock) command, MISSING ARGUMENT BPXM023I (stclock) argument, WRONG ARGUMENT **************************************************************** * Affected function: RSE console messages * **************************************************************** * Description: new console message * **************************************************************** * Timing: n/a * **************************************************************** * Part: n/a * **************************************************************** This service introduces a new RSE console message. FEK209I = No Process to be displayed The message can occur after issuing the DISPLAY PROCESS operator command. **************************************************************** * Affected function: JES Job Monitor * **************************************************************** * Description: add APPLID support * **************************************************************** * Timing: post-APPLY * **************************************************************** * Part: FEJJCNFG * **************************************************************** This maintenance introduces a new control directive for JES Job Monitor, APPLID. APPLID = application_id (default is FEKAPPL) APPLID specifies the application identifier used for identifying JES Job Monitor to your security software. It is advised to have the APPLID of JES Job Monitor (default FEKAPPL) match the APPLID of your RSE daemon. RSE's APPLID is also FEKAPPL by default, but can be changed to OMVSAPPL by uncommenting the related variable in rsed.envvars. When the APPLID of RSE daemon and JES Job Monitor match, and the user ID assigned to JES Job Monitor is allowed by your security software, both servers have access to the same PassTicket key in your security software. This allows the client to log on using a PassTicket created by a third-party generator that has access to the same key. Note that with the current RD/z service level, the application identifier must be OMVSAPPL for both RSE and JES Job Monitor to allow client log on using a PassTicket with the same key as the server. If used, this directive must be added to the FEJJCNFG configuration file, by default located in FEK.#CUST.PARMLIB(FEJJCNFG). **************************************************************** * Affected function: JES Job Monitor * **************************************************************** * Description: add CONSOLE_NAME support * **************************************************************** * Timing: post-APPLY * **************************************************************** * Part: FEJJCNFG * **************************************************************** This maintenance introduces new control directives for JES Job Monitor, CONSOLE_NAME and GEN_CONSOLE_NAME. CONSOLE_NAME = {consolename | &SYSUID} (default is JMON) GEN_CONSOLE_NAME = {ON | OFF} (default is OFF) CONSOLE_NAME specifies the name of the EMCS console to be used for issuing generated commands against jobs (CANCEL, PURGE, HOLD, and RELEASE). CONSOLE_NAME must be either a console name consisting of 2 to 8 alphanumeric characters, or '&SYSUID' (without quotes). If a console name is specified, a single console by that name is used for all users. If &SYSUID is specified, the userid is used as the console name. Thus a different console is used for each user. If the console by that name happens to be in use (which may be the case if, for example, the user is using the SDSF ULOG, or is using a TSO console), then if GEN_CONSOLE_NAME=ON an alternative console name is generated by appending a single numeric digit to the userid. The digits 0 through 9 are attempted. If no available console is found, then the command fails. If GEN_CONSOLE_NAME=OFF and the userid is not available as the console name, the command fails. No matter which console name is used, the user ID of the client requesting the command is used as the LU of the console, leaving a trace in syslog messages IEA630I and IEA631. IEA630I OPERATOR console NOW ACTIVE, SYSTEM=sysname , LU=id IEA631I OPERATOR console NOW INACTIVE, SYSTEM=sysname , LU=id If no value is specified for CONSOLE_NAME, the default is JMON. Thus existing installations will not be affected unless CONSOLE_NAME is introduced to the configuration file. If used, these directives must be added to the FEJJCNFG configuration file, by default located in FEK.#CUST.PARMLIB(FEJJCNFG). ).
SMP/E RECEIVE and APPLY the fix.