From: Michael Raithel on
Dear SAS-L-ers,

Bob Miller posted the following interesting problem:

>
> We use SAS/Connect to remotely logon to our mainframe & run SAS
> programs on
> that platform. We then download the data to the network for further
> processing in SAS running in Windows/XP. After we download our data,
> we do
> not get back to our TSO 'READY' prompt for logging off the mainframe.
> We
> use a script file to do the logging on and allocate this script file as
> filename 'rlink'. This gets us into TSO on the mainframe using TCPIP
> and
> TELNET.
>
> In debugging this dialog, when I go directly into TCPIP and TELNET from
> the
> DOS prompt in Windows, I see that typing LOGOFF in TSO causes TSO to
> ask
> for my userid again, assuming that another user would be logging on.
> The
> only way to break out of this looping in TSO is to enter 'CTRL]' to get
> me
> back to TELNET.
>
> However, none of this logging off or quitting is possible within
> SAS/Connect, since I never get back to the 'READY' prompt after the
> downloading.
>
> I also notice that if we rerun our SAS program in Windows, including
> the
> allocation of the rlink script file, we never have logged off, and as a
> result, we do not end up logging on again either.
>
> I have submitted this question to SAS, but they are stumped. They
> recommend 'spawning' a TSO session. However, we have several new
> things on
> our mainframe, and our techs do not want to introduce any more new and
> confusing things.
>
> Any suggestions?

Bob, thanks for such a greatly detailed problem description. Here is my suggestion: Determine which TSO command in your organization will log you out of TSO without it attempting to re-ask for your USERID. Then, modify your SAS/CONNECT script so that it uses that particular command instead of the LOGOFF command at the end of the script.

Give it a look-see and let the list know if it works or if it is out in left field. <--Note the World Series reference:-)

Bob, best of luck in all of your SAS endeavors!


I hope that this suggestion proves helpful now, and in the future!

Of course, all of these opinions and insights are my own, and do not reflect those of my organization or my associates. All SAS code and/or methodologies specified in this posting are for illustrative purposes only and no warranty is stated or implied as to their accuracy or applicability. People deciding to use information in this posting do so at their own risk.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Michael A. Raithel
"The man who wrote the book on performance"
E-mail: MichaelRaithel(a)westat.com

Author: Tuning SAS Applications in the MVS Environment

Author: Tuning SAS Applications in the OS/390 and z/OS Environments, Second Edition
http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=1&pc=58172

Author: The Complete Guide to SAS Indexes
http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=1&pc=60409

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Batter up! - Anonymous
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
From: Bob Miller on
Michael, thanks for your suggestion. I searched our TSO help file for any
type of more-definite logoff commands. I came up with 'LOGOFF
DISCONNECT'. However, when we are in this script file, we never get back
to the TSO 'READY' prompt to issue 'LOGOFF' or 'LOGOFF DISCONNECT', or any
TSO commands. Bob Miller
From: "Choate, Paul on
Bob -

We use the same sort of MVS TCP connect and send data up and down daily.

How are you downloading your data? A Proc Download run over your
connect in zOS SAS? Or do you open your MVS libraries from the PC with
libname slibref= and server= options and use a PC SAS datastep or PROC
to read the zOS data and output it locally? Or are you talking about
something else?

I'm confused by your mentioning the "'READY' prompt" - we never see a
ready prompt in our connect sessions.

To completely close your session it should just take a single "signoff"
command (no quotes). I have it in a button, but you could submit it as
a display manager command from the command box or command line. It
would not be submitted as code.

The way it works is that our script has two subroutines, one for
starting zOS SAS, one for closing zOS SAS as well as disconnecting the
TCP link.

strt_sas:
log 'NOTE: Logged on to TSO.... Starting remote SAS now.';
type "sas";
type " o('dmr,comamid=TCP,noterminal,no$syntaxcheck')" LF;
waitfor 'SESSION ESTABLISHED', 120 seconds : nosas;
log 'NOTE: SAS/CONNECT conversation established.';
stop;

signoff:
type 'logoff' LF;
waitfor 'LOGGED OFF' , 20 seconds : noterm;
log 'NOTE: SAS/CONNECT conversation terminated.';
stop;

During your connect session a signoff command returns SAS to the signoff
subroutine in the script, which should stop zOS SAS and close the TCP
connection. That is how it works for us.

Hope that helps

Paul Choate
DDS Data Extraction
(916) 654-2160
-----Original Message-----
From: SAS(r) Discussion [mailto:SAS-L(a)LISTSERV.UGA.EDU] On Behalf Of Bob
Miller
Sent: Wednesday, November 04, 2009 6:24 AM
To: SAS-L(a)LISTSERV.UGA.EDU
Subject: SAS/Connect not able to logoff mainframe under RACF

We use SAS/Connect to remotely logon to our mainframe & run SAS programs
on
that platform. We then download the data to the network for further
processing in SAS running in Windows/XP. After we download our data, we
do
not get back to our TSO 'READY' prompt for logging off the mainframe.
We
use a script file to do the logging on and allocate this script file as
filename 'rlink'. This gets us into TSO on the mainframe using TCPIP
and
TELNET.

In debugging this dialog, when I go directly into TCPIP and TELNET from
the
DOS prompt in Windows, I see that typing LOGOFF in TSO causes TSO to ask
for my userid again, assuming that another user would be logging on.
The
only way to break out of this looping in TSO is to enter 'CTRL]' to get
me
back to TELNET.

However, none of this logging off or quitting is possible within
SAS/Connect, since I never get back to the 'READY' prompt after the
downloading.

I also notice that if we rerun our SAS program in Windows, including the
allocation of the rlink script file, we never have logged off, and as a
result, we do not end up logging on again either.

I have submitted this question to SAS, but they are stumped. They
recommend 'spawning' a TSO session. However, we have several new things
on
our mainframe, and our techs do not want to introduce any more new and
confusing things.

Any suggestions? Thanks. Bob Miller
From: Bob Miller on
Paul, I think we may be getting close to a solution here. I don't know how
you get to the second part of your script.
Here is a simple program which fails to logoff the mainframe. Tell me how
your program is different from mine. Thanks. Bob Miller

filename rlink 'c:\Miller\tcptsoRACF1.txt';
signon chilpar3;
rsubmit;
filename counts 't.miller.sasdata';
data racfdata; infile counts; input @1 record $40.;
run;
proc download data=racfdata out=racfdata7;
run;
signoff chilpar3;
endrsubmit;
run;
From: "Choate, Paul on
Hey Bob -

Try sending your signoff locally - it exists on the PC, not zOS

filename rlink 'c:\Miller\tcptsoRACF1.txt';
signon chilpar3;
rsubmit;
filename counts 't.miller.sasdata';
data racfdata; infile counts; input @1 record $40.;
run;
proc download data=racfdata out=racfdata7;
run;
endrsubmit;

signoff chilpar3; *<<<<moved outside rsub block;
run;





Paul Choate
DDS Data Extraction
(916) 654-2160

-----Original Message-----
From: SAS(r) Discussion [mailto:SAS-L(a)LISTSERV.UGA.EDU] On Behalf Of Bob
Miller
Sent: Wednesday, November 04, 2009 9:02 AM
To: SAS-L(a)LISTSERV.UGA.EDU
Subject: Re: SAS/Connect not able to logoff mainframe under RACF

Paul, I think we may be getting close to a solution here. I don't know
how
you get to the second part of your script.
Here is a simple program which fails to logoff the mainframe. Tell me
how
your program is different from mine. Thanks. Bob Miller

filename rlink 'c:\Miller\tcptsoRACF1.txt';
signon chilpar3;
rsubmit;
filename counts 't.miller.sasdata';
data racfdata; infile counts; input @1 record $40.;
run;
proc download data=racfdata out=racfdata7;
run;
signoff chilpar3;
endrsubmit;
run;
 |  Next  |  Last
Pages: 1 2
Prev: update table
Next: Training and placement