MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

invoking EOS utility SPMUT00 in rexx

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> TSO and ISPF
View previous topic :: View next topic  
Author Message
linhofbiker
Beginner


Joined: 12 Aug 2005
Posts: 30
Topics: 10

PostPosted: Mon Feb 15, 2010 1:07 pm    Post subject: invoking EOS utility SPMUT00 in rexx Reply with quote

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
View user's profile Send private message Send e-mail
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12376
Topics: 75
Location: San Jose

PostPosted: Mon Feb 15, 2010 1:20 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website
linhofbiker
Beginner


Joined: 12 Aug 2005
Posts: 30
Topics: 10

PostPosted: Mon Feb 15, 2010 1:21 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
linhofbiker
Beginner


Joined: 12 Aug 2005
Posts: 30
Topics: 10

PostPosted: Mon Feb 15, 2010 1:23 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
warp5
Intermediate


Joined: 02 Dec 2002
Posts: 429
Topics: 18
Location: Germany

PostPosted: Tue Feb 16, 2010 4:37 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
linhofbiker
Beginner


Joined: 12 Aug 2005
Posts: 30
Topics: 10

PostPosted: Tue Feb 16, 2010 7:53 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
arnold57
Beginner


Joined: 01 Oct 2004
Posts: 30
Topics: 0

PostPosted: Mon Mar 01, 2010 7:49 pm    Post subject: Reply with quote

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
View user's profile Send private message
linhofbiker
Beginner


Joined: 12 Aug 2005
Posts: 30
Topics: 10

PostPosted: Tue Mar 02, 2010 8:31 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> TSO and ISPF All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
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


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group