Prev: update table
Next: Training and placement
From: Michael Raithel on 4 Nov 2009 09:59 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 4 Nov 2009 10:25 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 4 Nov 2009 11:53 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 4 Nov 2009 12:01 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 4 Nov 2009 12:20
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; |