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
