IBM Z and LinuxONE IBM Z

IBM Z

The enterprise platform for mission-critical applications brings next-level data privacy, security, and resiliency to your hybrid multicloud.

 View Only
Expand all | Collapse all

Address SDSF "ISFACT ST TOKEN('"TOKEN.ix"') PARM(NP ?) followed by Address SDSF "ISFACT ST TOKEN('"jds_TOKEN.jx"')" , "PARM(NP SA)" always returns RC(08)

  • 1.  Address SDSF "ISFACT ST TOKEN('"TOKEN.ix"') PARM(NP ?) followed by Address SDSF "ISFACT ST TOKEN('"jds_TOKEN.jx"')" , "PARM(NP SA)" always returns RC(08)

    Posted Fri August 29, 2025 09:45 AM
    Address SDSF "ISFACT ST TOKEN('"TOKEN.ix"') PARM(NP ?) followed by Address SDSF "ISFACT ST TOKEN('"jds_TOKEN.jx"')" , "PARM(NP SA)" always returns RC(08).
    Here is an example:  i'm executing the exact same example as from IBM doc https://www.ibm.com/docs/en/zos/2.4.0?topic=execs-browse-single-data-set-execio . it is supposed to work, but i get RC(08) after "ISFACT ST TOKEN('"jds_TOKEN.jx"') PARM(NP SA)"
     
    I have substitited RJONES with my userid, and when the rexx reaches my TSU jobname, i get
           >O>         "ISFACT ST TOKEN('3xArBQwYOpKXWsnGJcHYQO9eydLwwelA3iq9EccWAI
    kUEQgaiFHZTh47DwcRIguE1/nJ28jDTEDW0ErDyUlaQNbNSsPKXdjK19jMQMjARMPX2JlPyNY6ojMpO
    jMxOQ6ZHhoBAhGBOCgyfabB+EfZRigpyczIx11A0dXTIqAkfcPX3MvDyoHBztfbzftEwdp919hZw8nh
    ') PARM(NP SA)"                                                                
           +++ RC(8) +++                                                           
     
    The isf error message is:
     isfmsg2.5 is: ISF746E Action request rejected, row token invalid.      
         65 *-*        end                                                  
         63 *-*        do ix=1 to isfmsg2.0                                 
         64 *-*         Say "isfmsg2."ix "is:" isfmsg2.ix                   
            >L>           "isfmsg2."                                        
            >V>           "6"                                               
            >O>           "isfmsg2.6"                                       
            >L>           "is:"                                             
            >O>           "isfmsg2.6 is:"                                   
            >C>           "ISFMSG2.6"                                       
            >V>           "ISF767I Request completed."                      
            >O>           "isfmsg2.6 is: ISF767I Request completed."  
     
    i have tried many different invocation of the same logic of   "ISFACT ST TOKEN('"TOKEN.ix"') PARM(NP ?) followed by Address SDSF "ISFACT ST TOKEN('"jds_TOKEN.jx"')" , "PARM(NP SA)", and the later always returns RC(08)...
    Any idea ?    


    ------------------------------
    philippe richard
    ------------------------------


  • 2.  RE: Address SDSF "ISFACT ST TOKEN('"TOKEN.ix"') PARM(NP ?) followed by Address SDSF "ISFACT ST TOKEN('"jds_TOKEN.jx"')" , "PARM(NP SA)" always returns RC(08)

    Posted Mon September 01, 2025 01:57 AM

    Hi!

     I cut and pasted into my system, changed RJONES to be BOXWELL and it works perrfectly... 

    Here's the output:

    isfmsg2.1 is: ISF061I User BOXWELL assigned destination operator authority.
    isfmsg2.2 is: ISF767I Request completed.                                   
    isfmsg2.1 is: ISF061I User BOXWELL assigned destination operator authority.
    isfmsg2.2 is: ISF776I Processing started for action 1 of 1.                

    isfmsg2.3 is: ISF767I Request completed.                                   
    isfmsg is: DATA SET ALLOCATED                                              
    isfmsg2.1 is: ISF061I User BOXWELL assigned destination operator authority.
    isfmsg2.2 is: ISF776I Processing started for action 1 of 1.                
    isfmsg2.3 is: ISF766I Request completed, status: DATA SET ALLOCATED.       
    Now reading BOXWELL.BOXWELL.TSU07641.D0000002.JESMSGLG                     
      Lines read: 5                                                            
      line.1 is: 1           J E S 2  J O B  L O G  --  S Y S T E M  X X X X  --  N O D E  X X X X X X XE
      line.2 is: 0                                                              
      line.3 is:  07.31.26 TSU07641 ---- MONDAY,    01 SEP 2025 ----            
      line.4 is:  07.31.26 TSU07641  $HASP373 BOXWELL  STARTED                  
      line.5 is:  07.31.26 TSU07641  IEF125I BOXWELL - LOGGED ON - TIME=07.31.26
    ***                                                                                                          

    Must be a syntax error or an authorization problem I guess!



    ------------------------------
    Roy Boxwell
    Senior Software Architect
    Software Engineering GmbH
    Duesseldorf
    +4921196149675
    ------------------------------



  • 3.  RE: Address SDSF "ISFACT ST TOKEN('"TOKEN.ix"') PARM(NP ?) followed by Address SDSF "ISFACT ST TOKEN('"jds_TOKEN.jx"')" , "PARM(NP SA)" always returns RC(08)

    Posted Mon September 01, 2025 02:47 AM

    Thanks Roy.

    "Must be a syntax error or an authorization problem I guess!". Not syntax error in any case. As i said i have tried numerous different cases of  

    SDSF "ISFACT ST TOKEN('"TOKEN.ix"') PARM(NP ?) followed by Address SDSF "ISFACT ST TOKEN('"jds_TOKEN.jx"')" , "PARM(NP SA)" . They always return RC(08).

    No authorization message surfaces. Everything else works fine with SDSF REXX And ISFACT.

    On which version of z/OS have you tried ? Mine is z/OS 3.1



    ------------------------------
    philippe richard
    ------------------------------



  • 4.  RE: Address SDSF "ISFACT ST TOKEN('"TOKEN.ix"') PARM(NP ?) followed by Address SDSF "ISFACT ST TOKEN('"jds_TOKEN.jx"')" , "PARM(NP SA)" always returns RC(08)

    Posted Mon September 01, 2025 02:55 AM

    z/OS 3.1

    Very odd indeed!



    ------------------------------
    Roy Boxwell
    Senior Software Architect
    Software Engineering GmbH
    Duesseldorf
    +4921196149675
    ------------------------------



  • 5.  RE: Address SDSF "ISFACT ST TOKEN('"TOKEN.ix"') PARM(NP ?) followed by Address SDSF "ISFACT ST TOKEN('"jds_TOKEN.jx"')" , "PARM(NP SA)" always returns RC(08)

    Posted Mon September 01, 2025 10:37 AM

    What exactly are you trying to accomplish?  Calling ISFACT ST TOKEN() twice like that is weird.

     

    I've got some code that fetches all output from a job (specified by input parameters to the exec) and copies selected output DD's (also specified by input parameters to the exec) out to an output dataset.

    • First, it sets ISFPREFIX and ISFOWNER  to the jobname and owner I'm interested in before calling ISFEXEC ST (first) or ISFEXEC DA (if ST didn't get any results) and specifying qualifiers to identify the job(s) I'm interested in.
    • Next it loops over the responses (ISFROWS has the count of them) [do ZIX = 1 to ISFROWS] looking at each instance of JNAME.ZIX and JOBID.ZIX  Until I find the one I want.
    • Then the code drops both ISFCOLS and ISFCOLS2 and sets:
    • ISFLINELIM = 0, ISFDUPDS = 'ON', ISFSCROLLTYPE = 'TOP', ISFINPUT = 'ON', ISFPREFIX = <the jobname>
    • The exact line of code is:
      • Address SDSF "ISFACT " _SDSFOPT "TOKEN('"TOKEN.ZIX"') PARM(NP ?) (PREFIX JDS_"
      • The value of TOKEN.ZIX was previously set by that initial ISFEXEC ST (or ISFEXEC DA) call and comes from the various stems that call set when it ran.
      • _SDSFOPT is set to either ST or DA, depending on how that first ISFEXEC call was done
    • After that call is done, it loops over all the job's datasets [do YIX = 1 to JDS_DDNAME.0] (indicated by that ISFACT call having set the count of them in JDS_DDNAME.0)
    • Inside that loop, I open each dataset and loop over it, fetching lines,  using:
      • Address SDSF "ISFBROWSE " _SDSFOPT "TOKEN('"JDS_TOKEN.YIX"')"
      • ...and write them to my output dataset
        • _RECS = JDS_RECCNT.YIX
        • "EXECIO "_RECS" DISKW OUTPUT (STEM ISFLINE."
      • After each call to ISFBROWSE the line count will be set (JDS_RECCNT.YIX in my example) but to make sure you "get it all" you may have to call ISFBROWSE again
      • Until you find that variable ISFNEXTLINETOKEN has been set to a null string.  If that variable has a value, then you must call ISFBROWSE again after
      • Having set ISFSTARTLINETOKEN to the value of ISFNEXTLINETOKEN

                   






  • 6.  RE: Address SDSF "ISFACT ST TOKEN('"TOKEN.ix"') PARM(NP ?) followed by Address SDSF "ISFACT ST TOKEN('"jds_TOKEN.jx"')" , "PARM(NP SA)" always returns RC(08)

    Posted Mon September 01, 2025 11:28 AM

    Hi Robert,

    no i'm not trying to invoke ISFACT ST TOKEN() twice.

    I'm trying to invoke it like the doc says to do it.

    Look at the sample from https://www.ibm.com/docs/en/zos/2.4.0?topic=execs-browse-single-data-set-execio.

    If i execute the same code i get RC(08) on the 

    ISFACT ST TOKEN('"jds_TOKEN.jx"')" , "PARM(NP SA)"   invocation.

    Again, i have tried may instantiations of  the same kind of logic and although the token value  returned is  EXACTLY thre same as from  the initial 

    SDSF "ISFACT ST TOKEN('"TOKEN.ix"') PARM(NP ?, i always get RC(08).

    I agree this is very strange. I remember having worked and used this a number of years ago sucessfully. And this is why i am at a loss here.



    ------------------------------
    philippe richard
    ------------------------------