View previous topic :: View next topic
Author
Message
crazyf1 New User Joined: 05 May 2006Posts: 26
I am just new with REXX programming and would want to do this as I am always getting a RC(-3)
Thanks
Objective:
From an input dataset, i want to change all READ,WRITE,ALLOC into R,W,A and del all EXEC
REXX
----------------------------
Code:
/**REXX**************************************
********************************************/
PARSE ARG DSNAME MACRO1
ADDRESS ISPEXEC
"EDIT DATASET('"DSNAME"') MACRO("MACRO1")"
EXIT
MACRO - MACRO01
-----------------------------------
Code:
/* REXX */
ISREDIT MACRO
ISREDIT CHANGE READ R ALL
ISREDIT CHANGE WRITE W ALL
ISREDIT CHANGE ALLOC A ALL
ISREDIT CHANGE EXEC(L) '' ALL
ISREDIT CHANGE EXEC(A) '' ALL
END
JCL
-------------------------------------
Code:
//REXPROC1 PROC
//STEP010 EXEC PGM=IKJEFT01,DYNAMNBR=20,
// PARM='%EDITREXX &ARG01 &ARG02'
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=(G,,JOHN)
//SYSTSIN DD DUMMY
//SYSPROC DD DSN=TSGP.PDS.JASON.WORK.REXX,DISP=SHR
// PEND
//STEP01 EXEC REXPROC1,ARG01=TSGS.TEST.IDS,ARG02=MACRO01
Back to top
superk Global Moderator Joined: 26 Apr 2004Posts: 4652 Location: Raleigh, NC, USA
OK.
#1.
Code:
/* REXX */
ISREDIT MACRO
ISREDIT CHANGE READ R ALL
ISREDIT CHANGE WRITE W ALL
ISREDIT CHANGE ALLOC A ALL
ISREDIT CHANGE EXEC(L) '' ALL
ISREDIT CHANGE EXEC(A) '' ALL
END
This is NOT valid REXX code, and your ISPF Editor indicates such. ISREDIT and END are not valid REXX constructs. It is, however, valid CLIST code (minus the /* REXX */ statement, of course).
#2.
In your JCL, I don't see any ISPSTART command to invoke ISPF or any DD allocations for the requisite ISPF libraries (ISPLLIB, ISPPLIB, ISPSLIB, ISPMLIB, ISPPROF, ISPTABL, ISPTLIB, ISPLOG, ISPLIST).
For more details on the ISPSTART command, see here in the z/OS V1R7.0 ISPF Dialog Developer's Guide .
Back to top
crazyf1 New User Joined: 05 May 2006Posts: 26
if I am to invoke this as a CLIST, do i need to have ISPSTART command in my jcl?
Back to top
superk Global Moderator Joined: 26 Apr 2004Posts: 4652 Location: Raleigh, NC, USA
You only need to invoke ISPSTART if you want to use ISPF services.
Back to top
crazyf1 New User Joined: 05 May 2006Posts: 26
Where do i put ISPSTART in my jcl? do i need to also to do DD allocations for the requisite ISPF libraries? or can i just use ISPSTART?
Back to top
superk Global Moderator Joined: 26 Apr 2004Posts: 4652 Location: Raleigh, NC, USA
Back to top
crazyf1 New User Joined: 05 May 2006Posts: 26
thank you very much!
Back to top
crazyf1 New User Joined: 05 May 2006Posts: 26
Can someone please help with this... getting a MAXCC=12
Also, I tried searching for my id (using 3.4) and it seems only 'T62811.ISPF.ISPPROF' is only available... so i tried using DUMMY/SYSOUT=* however, job failed.
Code:
//TSOBTCH1 EXEC PGM=IKJEFT01
//ISPPROF DD DSN=TS62811.ISPF.ISPPROF,DISP=SHR
//ISPPLIB DD DSN=ISP.SISPPENU,DISP=SHR
//ISPMLIB DD DSN=ISP.SISPMENU,DISP=SHR
//ISPSLIB DD DSN=ISP.SISPSENU,DISP=SHR
// DD DSN=ISP.SISPSLIB,DISP=SHR
//ISPTLIB DD DSN=TS62811.ISPF.TABLES,DISP=SHR
//ISPTLIB DD DSN=ISP.SISPTENU,DISP=SHR
// DD DSN=ISP.SISPTLIB,DISP=SHR
//ISPTABL DD DSN=TS62811.ISPF.TABLES,DISP=SHR
//ISPLOG DD DSN=TS62811.ISPF.LOG,DISP=SHR
//ISPLLIB DD DSN=TS62811.ISPF.LOAD,DISP=SHR
//SYSEXEC DD DSN=ISP.SISPEXEC,DISP=SHR
//SYSPROC DD DSN=TSGP.PDS.JASON.WORK.REXX,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
PROFILE PREFIX(TS62811)
ISPSTART CMD(%EDITREXX TSGS.TEST.IDS MACRO1)
/*
TSGS.TEST.IDS ---> Dataset i want to edit
MACRO1 ----> Macro that will edit the dataset
Back to top
superk Global Moderator Joined: 26 Apr 2004Posts: 4652 Location: Raleigh, NC, USA
Please post the error message(s).
Back to top
crazyf1 New User Joined: 05 May 2006Posts: 26
I am getting a MAXCC=12 abend 0C4 using this JCL. i really can't find any library allocated to my ispf.
Using 3.4 and searching for my id as HLQ
TS62811.CPPTEMP1.SCPPWORK
TS62811.CPPTEMP2.SCPPWORK
TS62811.CPPTEMP3.SCPPWORK
TS62811.HCD.MSGLOG
TS62811.HCD.TERM
TS62811.HCD.TRACE
TS62811.ISPF.ISPPROF
TS62811.ISPF.ISPPROF.CPUG
TS62811.LOG.MISC
TS62811.SPFLOG1.LIST
TS62811.SPFTEMP0.CNTL
TS62811.SRCHFOR.LIST
TS62811.SUPERC.LIST
JCL <-- substituted all files with SYSOUT=*
---------------------------------------------------------------
Code:
//TSOBTCH1 EXEC PGM=IKJEFT01
//ISPPROF DD SYSOUT=*
//ISPPLIB DD DSN=ISP.SISPPENU,DISP=SHR
//ISPMLIB DD DSN=ISP.SISPMENU,DISP=SHR
//ISPSLIB DD DSN=ISP.SISPSENU,DISP=SHR
//* DD DSN=ISP.SISPSLIB,DISP=SHR
//ISPTLIB DD SYSOUT=*
//ISPTLIB DD DSN=ISP.SISPTENU,DISP=SHR
// DD DSN=ISP.SISPTLIB,DISP=SHR
//ISPTABL DD SYSOUT=*
//ISPLOG DD SYSOUT=*
//ISPLLIB DD SYSOUT=*
//SYSEXEC DD DSN=ISP.SISPEXEC,DISP=SHR
//SYSPROC DD DSN=TSGP.PDS.JASON.WORK.REXX,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
PROFILE PREFIX(TS62811)
ISPSTART CMD(%EDITREXX TSGS.TEST.IDS MACRO1)
/*
[/list]
Back to top
Please enable JavaScript!