Thank you Sam for laying this all out. I still entertain the same question that 
dances through my head every time this issue recirculates: how many shops will 
see enough value here to undertake this arduous journey? 

.
.
J.O.Skip Robinson
Southern California Edison Company
Electric Dragon Team Paddler 
SHARE MVS Program Co-Manager
323-715-0595 Mobile
626-543-6132 Office ⇐=== NEW
[email protected]

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of Sam Golob
Sent: Thursday, December 07, 2017 3:31 PM
To: [email protected]
Subject: (External):Preparing for 8-character TSO userids

Hi Folks,

     z/OS 2.3 is here.  8-character TSO userids are here.  And 8-character TSO 
dataset prefixes are here too.  How do we prepare for them, and fix our 
programs?

     Part of the problem is that the PSCBUSER field (7 bytes) and the UPTPREFX 
field (7 bytes) have been around for generations--over 40 years.  People wrote 
programs using these fields, without thinking twice.

     But the fields are useless for 8-character userids.  What did IBM 
developers do?  Here is a picture of the new fields: (illustration uses the 
LPSCB TSO command from CBT File 300)

In the first illustration, the userid is 7 characters or less.

8-CHARACTER USERID SUPPORT IS: ON     (displacements are in hex)
00006F80 PSCB ADDRESS
     +0  PSCBUSER C9C2D4E4E2C5D9   IBMUSER
     +7  PSCBUSRL 07
    +20  PSCBU8L  07
    +54  PSCBUID8 C9C2D4E4E2C5D940 IBMUSER
00008FC8 UPT FROM PSCB
00008FC8 UPT FROM CPPL
     +F  UPTVERS  01
    +10  UPTPREFX C9C2D4E4E2C5D9   IBMUSER
    +17  UPTPREFL 07
    +21  UPTPREF8 C9C2D4E4E2C5D940 IBMUSER
    +29  UPTPRF8L 07

Here is a picture of how the fields are filled in, when you have an 8-character 
userid:

8-CHARACTER USERID SUPPORT IS: ON    (displacements are in hex)
00006F80 PSCB ADDRESS
     +0  PSCBUSER 6EF7C2E8E3C5E2   >7BYTES
     +7  PSCBUSRL 07
    +20  PSCBU8L  08
    +54  PSCBUID8 C9C2D4E4E2C5D9C3 IBMUSERC
00008FC8 UPT FROM PSCB
00008FC8 UPT FROM CPPL
    +10  UPTPREFX 6EF7C2E8E3C5E2   >7BYTES
    +17  UPTPREFL 07
    +21  UPTPREF8 C9C2D4E4E2C5D9C3 IBMUSERC
    +29  UPTPRF8L 08

Now you can program accordingly.  Look to see if the first byte in the old 
field is C'>' and if it is, then use the new fields. Things should be the same, 
if the userid or prefix is 7 bytes or less.

    I hope this helps.

    BTW, if you are still at z/OS 2.2 or below for the assembly, then use the 
hard-coded displacements of the new fields, off the beginning of the PSCB and 
UPT, so the assembly doesn't fail because IKJPSCB and IKJUPT macros (at the old 
level) don't contain labels for the new fields.

    All the best of everything to all of you......

Sincerely,   Sam


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to