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