For those eventually doing the same misstake, 
I was sent a solution/correction by a kind guy:
(It worked!)

Hi Thomas

during the loop, the "NP ?" command overwrites the TOKEN.I variables from the 
ST command.

Add a (PREFIX R) statement to the ISFACT like 

Address SDSF "ISFACT ST TOKEN('"token.i"') PARM(NP ?) (PREFIX R)"

and all the variables from the ? panel will be prefixed by R.

The dsname var is then rdsname means

   Do  j = 1 To rdsname.0                                
        Say rdsname.j                                     
        End                         


Good luck

Stefan



-----Ursprungligt meddelande-----
Från: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] För Thomas Berg
Skickat: den 30 april 2008 14:37
Till: [email protected]
Ämne: SDSF REXX problem

Hi!
I have a problem when running SDSF REXX commands.
When looping the returned isfrows after ISFEXEC ST command, the second ISFACT 
returns "INVALID COMMAND" (and rc = 0).
I can't see why.
 
The REXX:
 
/* REXX */ Trace R                                         
  x = Isfcalls('ON')                                       
  isfprefix  = 'S000TBE5'                                  
  isfcols = 'JNAME JOBID OWNERID JCLASS POS STATUS' ,      
    'SYSNAME WORKLOAD CPU TRANACT SRVCLS SRVCLASS ACTSYS' ,
    'SYSAFF TOKEN PRTDEST'                                 
  Address SDSF 'ISFEXEC ST (ALTERNATE)'                    
  isfcols2 = ,                                             
    'DDNAME STEPN PROCS DSID OCLASS RECCNT BYTECNT DSNAME' 
                                                           
  Do  i = 1 To isfrows                                     
      Address SDSF "ISFACT ST TOKEN('"token.i"')" ,        
        'PARM(NP ?)'                                       
Trace N                                                    
      Say rc                                               
      Say isfmsg                                           
                                                           
      Do  j = 1 To isfmsg2.0                               
          Say isfmsg2.j                                    
          End                                              
                                                           
      Do  j = 1 To dsname.0                                
          Say dsname.j                                     
          End                                              
                                                           
Trace R                                                    
      End                                                  
                                                           
  x = Isfcalls('OFF')                                      
  Exit 0                                                   
 
The output:
 
      2 *-* x = Isfcalls('ON')

        >>>   "0"

      3 *-* isfprefix  = 'S000TBE5'

        >>>   "S000TBE5"

      4 *-* isfcols = 'JNAME JOBID OWNERID JCLASS POS STATUS' , 'SYSNAME 
WORKLOAD CPU TRANACT SRVC
 LS SRVCLASS ACTSYS' ,                         'SYSAFF TOKEN PRTDEST'

        >>>   "JNAME JOBID OWNERID JCLASS POS STATUS SYSNAME WORKLOAD
CPU TRANACT SRVCLS SRVCLASS ACTSYS SYSAFF TOKEN PRTDEST"  
      7 *-* Address SDSF 'ISFEXEC ST (ALTERNATE)'

        >>>   "ISFEXEC ST (ALTERNATE)"

      8 *-* isfcols2 = ,
'DDNAME STEPN PROCS DSID OCLASS RE
 CCNT BYTECNT DSNAME'

        >>>   "DDNAME STEPN PROCS DSID OCLASS RECCNT BYTECNT DSNAME"

     11 *-* Do  i = 1 To isfrows

        >>>   "1"

        >>>   "2"

     12 *-*  Address SDSF "ISFACT ST TOKEN('"token.i"')" ,
'PARM(NP ?)'                     
        >>>    "ISFACT ST
TOKEN('6jkSNicbJpKic/D1m8LEQNp38PrbwuNA6yKmVtAgRrDmEzI1o1LFTisSNjQ6IReE4
tDw6OPDUEDj+XPw4rJGQOP4fPDrExO
 CEgEGCBQ=') PARM(NP ?)"

     14 *-*  Trace N

 0

 

 ISF754I Command 'PREFIX S000TBE5' generated from associated variable
ISFPREFIX.                                                
 S000TBE.S000TBE5.JOB01687.D0000002.JESMSGLG

 S000TBE.S000TBE5.JOB01687.D0000003.JESJCL

 S000TBE.S000TBE5.JOB01687.D0000004.JESYSMSG

 S000TBE.S000TBE5.JOB01687.D0000104.?

 S000TBE.S000TBE5.JOB01687.D0000108.?

 S000TBE.S000TBE5.JOB01687.D0000111.?

     27 *-* End

     11 *-* Do  i = 1 To isfrows

     12 *-*  Address SDSF "ISFACT ST TOKEN('"token.i"')" ,
'PARM(NP ?)'                     
        >>>    "ISFACT ST
TOKEN('6jkSNicbJpKic/D1esLEQNp38PrbwuNA67SCN30gRrDmEzI1o1LFTisSNjQ6IReE4
tDw6OPAUEDj+XPw4kpGQOP4c/DhUsT
 K4vH1c+PDVMPi8fh849MUliAAAQYbNapb/Q768OPGPQ==') PARM(NP ?)"

     14 *-*  Trace N

 0

 INVALID COMMAND

 ISF754I Command 'PREFIX S000TBE5' generated from associated variable
ISFPREFIX.                                                
 S000TBE.S000TBE5.JOB01687.D0000002.JESMSGLG

 S000TBE.S000TBE5.JOB01687.D0000003.JESJCL

 S000TBE.S000TBE5.JOB01687.D0000004.JESYSMSG

 S000TBE.S000TBE5.JOB01687.D0000104.?

 S000TBE.S000TBE5.JOB01687.D0000108.?

 S000TBE.S000TBE5.JOB01687.D0000111.?

     27 *-* End

     11 *-* Do  i = 1 To isfrows

     29 *-* x = Isfcalls('OFF')

        >>>   "0"

     30 *-* Exit 0

        >>>   "0"

 ***

 
TIA
Thomas Berg
 
______________________________________
Thomas Berg   Specialist   IT-U   SWEDBANK

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
[EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at 
http://bama.ua.edu/archives/ibm-main.html

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to