MVSFORUMS.com A Community of and for MVS Professionals
View previous topic :: View next topic
Author
Message
linhofbiker Beginner Joined: 12 Aug 2005 Posts: 30 Topics: 10
Posted: Mon Feb 15, 2010 1:07 pm Post subject: invoking EOS utility SPMUT00 in rexx
I can't make it work!!!
The product vendor (RSD in switzerland - usa contact 201 996 1122 are no help since they don't know rexx)
Code:
EDIT SYS2.ISPF.PROD.ISRCLIB(NDVWSF2) - 01.04 Columns 00001 00072
Command ===> Scroll ===> CSR
****** ***************************** Top of Data ******************************
000001 /* REXX in SYS2.ISPF.PROD.ISRCLIB(NDVWSF2)
000002
000003 from Gerald Williams 02/11/10
000004
000005 //STEP1 EXEC PGM=SPMUT00
000006 //RSDPROF DD DISP=SHR,DSN=SYS2.EOS.PROD.PROFILE.MD001
000007 //RSDLOG DD SYSOUT=H
000008 //SYSOUT DD SYSOUT=H
000009 //REPORT DD DISP=(NEW,CATLG,DELETE),DSN=AD6W.EOS.DATA,
000010 // UNIT=SYSDA,SPACE=(CYL,(10,3),RLSE)
000011 //WSF2SP DD DISP=SHR,DSN=SYS2.EOS.PROD.SPOOL.JCL
000012 //SYSIN DD *
000013 PRINT SP=WSF2SP,O=REPORT,ROOT=PNDVPKG,FDATE=0
000014
000015 mine - must have a EVT user, a2fh is but ad6w is NOT!
000016
000017 //A2FHWSF2 JOB (NDV-08017),'NDV BIN-22',CLASS=N,
000018 // MSGCLASS=J,REGION=0M,NOTIFY=A2FH
000019 //-JOBPARM S=SY1C
000020 //STEP1 EXEC PGM=SPMUT00
000021 //RSDPROF DD DISP=SHR,DSN=SYS2.EOS.PROD.PROFILE.MD001
000022 //RSDLOG DD SYSOUT=H
000023 //SYSOUT DD SYSOUT=H
000024 //REPORT DD DISP=SHR,DSN=A2FH.EOS.DATA
000025 //-REPORT DD DISP=(NEW,CATLG,DELETE),DSN=A2FH.EOS.DATA,
000026 //- UNIT=SYSDA,SPACE=(CYL,(10,3),RLSE)
000027 //WSF2SP DD DISP=SHR,DSN=SYS2.EOS.PROD.SPOOL.JCL
000028 //SYSIN DD *
000029 PRINT SP=WSF2SP,O=REPORT,ROOT=PNDVPKG,FDATE=0,FTIME=1000
000030 */
000031 address tso
000032 uid=userid(); upper uid
000033 "FREE F(RSDPROF RSDLOG SYSOUT REPORT WSF2SP)"
000034 a_rc=rc; say 'free before rc='a_rc
000035 "ALLOC F(RSDPROF) DS('SYS2.EOS.PROD.PROFILE.MD001') SHR"
000036 a_rc=rc; say 'alloc RSDPROF rc='a_rc
000037 "ALLOC F(RSDLOG) NEW RECFM(F) LRECL(133) SPACE(2,1) TRACKS"
000038 a_rc=rc; say 'alloc RSDLOG rc='a_rc
000039 "ALLOC F(SYSOUT) NEW RECFM(F) LRECL(133) SPACE(2,1) TRACKS"
000040 a_rc=rc; say 'alloc SYSOUT rc='a_rc
000041 repdsn=''''uid'.eos.data''' /* a2fh.eos.data */
000042 "ALLOC F(REPORT) DS("REPDSN") SHR"
000043 a_rc=rc; say 'alloc REPORT rc='a_rc
000044 "ALLOC F(WSF2SP) DS('SYS2.EOS.PROD.SPOOL.JCL') SHR"
000045 a_rc=rc; say 'alloc WSF2SP rc='a_rc
000046 "free F(SYSIN)"
000047 a_rc=rc; say 'free SYSIN rc='a_rc
000048 "ALLOC F(SYSIN) NEW RECFM(F) LRECL(80) SPACE(1,1) TRACKS"
000049 a_rc=rc; say 'alloc SYSIN rc='a_rc
000050 prm.=''
000051 prm.1=' PRINT SP=WSF2SP,O=REPORT,ROOT=PNDVCCI,FDATE=0,FTIME=1000 '
000052 "EXECIO * diskw sysin(finis stem prm."
000053 a_rc=rc; say 'EXECIO(SYSIN) rc='a_rc
000054 SPMUT00
000055 call_rc=rc
000056 say 'ndvwsf2 call to SPMUT00 completed with rc='call_rc
000057 "FREE F(RSDPROF RSDLOG SYSOUT REPORT WSF2SP SYSIN)"
000058 a_rc=rc; say 'free after rc='a_rc
000059 exit
000060 /* this is the result of doing "TSO NDVWSF2":
000061 FILE RSDPROF NOT FREED, IS NOT ALLOCATED
000062 FILE RSDLOG NOT FREED, IS NOT ALLOCATED
000063 FILE SYSOUT NOT FREED, IS NOT ALLOCATED
000064 FILE REPORT NOT FREED, IS NOT ALLOCATED
000065 FILE WSF2SP NOT FREED, IS NOT ALLOCATED
000066 free before rc=12
000067 alloc RSDPROF rc=0
000068 alloc RSDLOG rc=0
000069 alloc SYSOUT rc=0
000070 alloc REPORT rc=0
000071 alloc WSF2SP rc=0
000072 FILE SYSIN NOT FREED, IS NOT ALLOCATED
000073 free SYSIN rc=12
000074 alloc SYSIN rc=0
000075 EXECIO(SYSIN) rc=0
000076 SPMUT00-06 INVALID VALUES IN PARM FIELD
000077 ndvwsf2 call to SPMUT00 completed with rc=20
000078 free after rc=0
000079 ***
000080 */
****** **************************** Bottom of Data ****************************
Back to top
kolusu Site Admin Joined: 26 Nov 2002 Posts: 12376 Topics: 75 Location: San Jose
Posted: Mon Feb 15, 2010 1:20 pm Post subject:
linhofbiker ,
I would simply build the JCL needed to execute the PGM=SPMUT00 in REXX and submit the job to the INTRDR.
Kolusu
Back to top
linhofbiker Beginner Joined: 12 Aug 2005 Posts: 30 Topics: 10
Posted: Mon Feb 15, 2010 1:21 pm Post subject:
usa contact suggested this before giving up because of lack of rexx knowledge:
This Gerald's attempt!
Code:
/* REXX */
address tso
uid=userid(); upper uid
"FREE F(RSDPROF RSDPARM RSDLOG SYSOUT REPORT WSF2SP)"
a_rc=rc; say 'free before rc='a_rc
"ALLOC F(RSDPROF) DS('SYS2.EOS.PROD.PROFILE.MD001') SHR"
a_rc=rc; say 'alloc RSDPROF rc='a_rc
"ALLOC F(RSDPARM) DS('SYS2.EOS.PROD.PARMLIB') SHR"
a_rc=rc; say 'alloc RSDPARM rc='a_rc
"ALLOC F(RSDLOG) NEW RECFM(F) LRECL(133) SPACE(2,1) TRACKS"
a_rc=rc; say 'alloc RSDLOG rc='a_rc
"ALLOC F(SYSOUT) NEW RECFM(F) LRECL(133) SPACE(2,1) TRACKS"
a_rc=rc; say 'alloc SYSOUT rc='a_rc
repdsn=''''uid'.eos.data''' /* a2fh.eos.data */
"ALLOC F(REPORT) DS("REPDSN") SHR"
a_rc=rc; say 'alloc REPORT rc='a_rc
"ALLOC F(WSF2SP) DS('SYS2.EOS.PROD.SPOOL.JCL') SHR"
a_rc=rc; say 'alloc WSF2SP rc='a_rc
"free F(SYSIN)"
a_rc=rc; say 'free SYSIN rc='a_rc
"ALLOC F(SYSIN) NEW RECFM(F) LRECL(80) SPACE(1,1) TRACKS"
a_rc=rc; say 'alloc SYSIN rc='a_rc
prm.=''
prm.1=' UID=O25 '
prm.2=' PRINT SP=WSF2SP,O=REPORT,ROOT=PNDVCCI,FDATE=0,FTIME=1000 '
"EXECIO * diskw sysin(finis stem prm."
a_rc=rc; say 'EXECIO(SYSIN) rc='a_rc
prm='BATCH00'
SPMUT00 "prm"
call_rc=rc
say 'O25WSF2 call to SPMUT00 completed with rc='call_rc
"FREE F(RSDPROF RSDPARM RSDLOG SYSOUT REPORT WSF2SP SYSIN)"
a_rc=rc; say 'free after rc='a_rc
exit
Below is the error message from the rexx exec.
Code:
EXECIO(SYSIN) rc=0
SPMUT00-06 INVALID VALUES IN PARM FIELD
O25WSF2 call to SPMUT00 completed with rc=20
free after rc=0
Back to top
linhofbiker Beginner Joined: 12 Aug 2005 Posts: 30 Topics: 10
Posted: Mon Feb 15, 2010 1:23 pm Post subject:
Thanks Kolusu, however I don't want to wait for a batch job to run. So, how do you make it work in foreground TSO with rexx?
Back to top
warp5 Intermediate Joined: 02 Dec 2002 Posts: 429 Topics: 18 Location: Germany
Posted: Tue Feb 16, 2010 4:37 am Post subject:
You get the clear answer that you have invalid values in the parm field. This has nothing to do with rexx. Why don't you just submit a job with your parameters and when you get it to run then try doing it in Rexx?
Back to top
linhofbiker Beginner Joined: 12 Aug 2005 Posts: 30 Topics: 10
Posted: Tue Feb 16, 2010 7:53 am Post subject:
That's what I did. I think there is something about running this utility program in a TSO/rexx environment rather than via JES and its own MVS task that is the issue.
Back to top
arnold57 Beginner Joined: 01 Oct 2004 Posts: 30 Topics: 0
Posted: Mon Mar 01, 2010 7:49 pm Post subject:
You are issuing SPMUT00 as a TSO command (due to your ADDRESS TSO).
You need to try something like
Code: address linkmvs "SPMUT00 prm"
which is the same as // EXEC PGM=SPMUT00,PARM='BATCH00'
Back to top
linhofbiker Beginner Joined: 12 Aug 2005 Posts: 30 Topics: 10
Posted: Tue Mar 02, 2010 8:31 am Post subject:
I tried what you suggested with the same result. I thought that TSO passed it through to MVS because it could not process SPMUT00 as a command - just as it does for all other utilities like IEBCOPY etc...
Back to top
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum