On 12/7/2017 3:31 PM, Sam Golob wrote:
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.

This will work for sure, but you should be aware this is *not* IBM's recommendation. Since back-level TSO never runs on an up-level z/OS, they recommended simply testing the appropriate OS release level bit in the CVTOSLVx and always using the new fields for z/OS 2.3 and higher. That's what we do in our code. I'm not saying it's necessarily easier or "better." It's just what they recommended the ISVs do.

Here is an actual fragment from our code:

      LLGT  R4,TSOPSCB              Get PSCB address
      DOEXIT LTGR,R4,R4,Z           Exit if no PSCB
_4    USING PSCB,R4                <Synchronize PSCB
      DOEXIT CLI,_4.PSCBUSER,LE,C' ' Exit if no User ID
      LLGT  R15,FLCCVT              Get CVT address
_15   USING CVTMAP,R15             <Synchronize CVTMAP
      IF TM,_15.CVTOSLV6,           If z/OS 2.3 or higher
                      CVTZOS_V2R3,O ..
        MVC   TSOUSER,_4.PSCBUID8     Save the User ID
      ELSE  ,                       Else back-level release
        MVC   TSOUSER,_4.PSCBUSER     Save the User ID
        MVI   TSOUSER+7,C' '          (same)
      ENDIF ,                       EndIf
      DROP  _15                    <Drop CVTMAP
      DROP  _4                     <Drop PSCB

--
Phoenix Software International
Edward E. Jaffe
831 Parkview Drive North
El Segundo, CA 90245
http://www.phoenixsoftware.com/

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

Reply via email to