z/OS 1.9 Upgrade
Here are my experiences upgrading to
z/OS 1.9.
Please remember that problems I report here could most likely be from
mistakes I made and not from product flaws.
Key 8 CSA
A very noticable change in z/OS 1.9 is that IBM now defaults to disallowing Key 8 CSA
usage. A program attempting to GETMAIN (or STORAGE OBTAIN) will now ABEND
IEA705I ERROR DURING GETMAIN SYS CODE = B78-5C IBMUSERS TESTIT
IEA705I 00F9A000 007FF040 007FF040 00F11200
You should either:
- Update locally written programs or upgrade vendor products to levels
where they don't use Key 8 CSA
- Cheat by including this line in your DIAGxx member:
VSM ALLOWUSERKEYCSA(YES)
This isn't really cheating. You'll just be running like you did before
z/OS 1.9.
SYS1.PARMLIB(CLOCKxx) member
My test machine runs on VM and complained about something new called STP.
This required replying U to the IEA888A date and time prompt at IPL time.
ETRMODE NO
ETRZONE NO
OPERATOR NOPROMPT
TIMEZONE W.05.00.00
IEA381I THE STP FACILITY IS NOT USABLE. SYSTEM CONTINUES IN LOCAL TIMING
MODE.
IEA598I TIME ZONE = W.05.00.00
IEA888A UTC DATE=2007.274,CLOCK=03.54.30
IEA888A LOCAL DATE=2007.275,CLOCK=22.54.30 REPLY U, OR UTC/LOCAL TIME
I see that the CLOCK00 member of SYS1.PARMLIB that IBM ships has two new lines for
STP. I added them to my clock member setting them to NO:
STPMODE NO
STPZONE NO
And now z/OS 1.9 comes up without the IEA888A prompt.
JES2 Exit 6
I got this message at JES2 startup:
$HASP003 RC=(38),LOADMOD(XYZX6) - MODULE MIT IS INVALID,
$HASP003 INCORRECT EYECATCHER, EXPECTED-MIT ACTUAL-
The XYZX6 module has the entry point set for XYZX6 in the binder (linkage editor
statements) but the ORDER statements don't have XYZX6 as the first CSECT in the
module:
SECTION CLASS ------- SOURCE -------
OFFSET OFFSET NAME TYPE LENGTH DDNAME SEQ MEMBER
0 XYZX6MSG CSECT 427 SYSLIB 01 XYZX6
. . .
4148 XYZX6 CSECT D18 SYSLIN 01 **NULL**
50 4198 XYZX6ENT LABEL
4E60 XYZX6DAT CSECT 4 SYSLIB 01 XYZX6
Relinked XYZX6 with ORDER statements putting CSECT XYZX6 (where the JES2 MIT is) at the start
of the module (now is offset 0) and then on the next start of JES2, there were no error messages.
Here is the map from then Binder with the entry point of XYZX6 is now 0
SECTION CLASS ------- SOURCE --------
OFFSET OFFSET NAME TYPE LENGTH DDNAME SEQ MEMBER
0 XYZX6 CSECT D18 SYSLIN 01 **NULL**
50 50 XYZX6ENT LABEL
D18 XYZX6DAT CSECT 4 SYSLIB 01 XYZX6
New function: System Rexx
The new AXR started task is now started for System Rexx.
It requires a dataset called SYS1.SAXREXEC. I created one
with the same name but not on the SYSRES and catalogued it. I copied the two members
that came from IBM to my new one (which were compiled Rexx) and then added
normal text REXX execs to my version of the library. I restarted AXR using command:
S IEESYSAS,JOBNAME=AXR,PROG=AXRINIT,TIME=NOLIMIT
I created a member in SYS1.SAXRXEC called Hello:
/* Rexx */
Say "hello world"
exit 0
It was executed with the command F AXR,HELLO
AXR0500I AXREXX OUTPUT DISPLAY 953
EXECNAME=HELLO REQTOKEN=0000400000000000C0F981C84B341D0C
hello world
It's often nice to see what SHOWMVS reports about the address space, Here's a rexx exec
to invoke SHOWMVS from the System Rexx address space:
/* rexx */
address TSO
"ALLOCATE FILE(SHOWMVS) DA('IBMUSER.spftemp1.axr.showmvs')" ,
"UNIT(3390) volume(XYZ001) NEW REUSE SPACE(15 15) TRACKS"
"CALL 'IBMUSER.dave.load(SHOWMVS)'"
And then execute it via "F AXR,SHOWMVS"
Executed my REXXVER exec and see that the Rexx interpreter says it is the same
one we've been running for years:
F AXR,REXXVER
AXR0500I AXREXX OUTPUT DISPLAY 371
EXECNAME=REXXVER REQTOKEN=0000500000000000C02B1FAD2CD93189
ADDRESS() returns 'TSO'
VERSION: Lang(REXX370) Version(3.48) Date(01 May 1992)
SOURCE: Env(TSO)
source2(COMMAND) source3(REXXVER) source4(REXXLIB)
source5(?) source6(REXXVER) source7(TSO)
source8(AXR) source9(?)
This web pages does NOT represent the views of my employer.
Last Updated: 2007-09-30
This web page is © 2007+ by
David Alcock.
All Rights Reserved.