Great! One I can finally answer since I just got help on this. I tried the
scripts too, unsuccessfully.
The only way I know of to route TSM command output to a dataset is by using
the TSM TSO Client. I either use the information as presented, or I
REXXrcise it
Here's the JCL I got from asking a similar question in this forum...
//O8XC JOB (8218,08017,8X,G),'BIN 259 IKE ',NOTIFY=O8X,
// MSGCLASS=H,CLASS=A,USER=SPPDASD,REGION=0M
/*JOBPARM L=999999,T=1440
//A EXEC PGM=IEFBR14
//D1 DD DSN=O8X.ADSM.MSGS,
// SPACE=(TRK,0),
// UNIT=3390,DISP=(MOD,DELETE)
//TSPROC EXEC PGM=IKJEFT01,DYNAMNBR=30
//STEPLIB DD DSN=SYS2.TSM.V4219.LOADLIB,DISP=SHR
//DSCOPT DD DISP=SHR,DSN=SYS2.ADSM.$TSO.OPTIONS
//DSCLANG DD DSN=SYS1.SANSMSG(ANSMENU),DISP=SHR
//D1 DD DSN=O8X.ADSM.MSGS,
// SPACE=(CYL,(1,5)),LRECL=84,RECFM=VB,DSORG=PS,
// UNIT=3390,DISP=(,CATLG,DELETE),BLKSIZE=0
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
PROF PRE(O8X)
DSMADMC -ID=O8X -PA=D071676 -OUTFILE=DD:D1 MACRO DD:D2 -TAB
//D2 DD *
SELECT DATE_TIME,MSGNO,MESSAGE FROM ACTLOG -
WHERE SEVERITY='E' OR SEVERITY='W'
/*
//
Here is the CLIST...
PROC 0
PROFILE PROMPT PRE(&SYSUID)
CONTROL NOLIST NOCONLIST MSG FLUSH PROMPT NOSYMLIST
WRITE 1.) ADSM ON SY1C
WRITE 2.) ADSME ON SY1C
WRITE 3.) TSMEDP00 ON SY1D
WRITE 4.) TSMNTP00 ON SY1D
WRITE 5.) TSMUXP00 ON SY1D
WRITE 6.) TSMUXT01 ON SY1D
PICKSRVR: +
WRITENR ENTER NUMBER 1 = 6 FOR THE TSM SERVER-->
READ &SERVR
IF &DATATYPE(&SERVR) �= NUM THEN DO
WRITE &SERVR IS INCORRECT. ENTER 1,2,3,4,5, OR 6
GOTO PICKSRVR
END
IF &SERVR < 1 AND &SERVR > 6 THEN DO
WRITE &SERVR IS INCORRECT. ENTER 1,2,3,4,5, OR 6
GOTO PICKSRVR
END
IF &SERVR = 1 THEN SET &SRVR = &STR(ADSM)
IF &SERVR = 2 THEN SET &SRVR = &STR(ADSME)
IF &SERVR = 3 THEN SET &SRVR = &STR(TSMEDP00)
IF &SERVR = 4 THEN SET &SRVR = &STR(TSMNTP00)
IF &SERVR = 5 THEN SET &SRVR = &STR(TSMUXP00)
IF &SERVR = 6 THEN SET &SRVR = &STR(TSMUXT01)
WRITE CONTACTING &SRVR
/* IT IS IMPORTANT TO INCLUDE THE PARAMETER "PROMPT" */
/* IN THE PROFILE AND CONTROL STATEMENTS TO ALLOW */
/* DSMADMC (TSO ADMIN CLIENT MODULE) TO PROMPT FOR */
/* INPUT (E.G. PASSWORD). */
ALLOC F(DSCOPT) DA('SYS2.&SRVR..$TSO.OPTIONS') SHR REU
ALLOC F(DSCLANG) DA('SYS1.SANSMSG(ANSMENU)') SHR REU
CALL 'SYS2.TSM.V4219.LOADLIB(DSMADMC)'
FREE F(DSCOPT DSCLANG )
PROFILE NOPRE
WRITE &SRVR TSO CLIENT SESSION ENDED
Hope this helps
-----Original Message-----
From: Gerhard Wolkerstorfer [mailto:[EMAIL PROTECTED]]
Sent: Friday, April 12, 2002 6:26 AM
To: [EMAIL PROTECTED]
Subject: Redirecting Commands in Scripts
Hello all,
I found questions like this in the archives, but no answers......
One more try =>
I want to run a script, where one line should look like this:
QUERY SYSTEM > DSM.OUTPUT.QSYSTEM
where DSM.OUTPUT.QSYSTEM is a S390 Filename I want to take to the OFFSITE
Location.
(This Command works great on the command line, but I want to have it in a
script!)
However - I tried to do it like this:
def script test desc='Test'
upd script test "QUERY SYSTEM > DSM.OUTPUT"
Result:
ANR1454I DEFINE SCRIPT: Command script TEST defined.
ANR2002E Missing closing quote character.
ANS8001I Return code 3.
Any hints how to route an output to a file in a script ?
I guess, the problem is, that TSM wants to direct the Output of the Update
Stmt
to a file - and when doing this, one quote is missing, of course
We are running TSM 3.7.5 on S390 (I know, not supported, but I guess this
should
work on all versions)
Regards
Gerhard Wolkerstorfer
Blue Cross Blue Shield of Florida, Inc., and its subsidiary and
affiliate companies are not responsible for errors or omissions in this e-mail
message. Any personal comments made in this e-mail do not reflect the views of Blue
Cross Blue Shield of Florida, Inc.