BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
JordiGC
Obsidian | Level 7

Hello everyone:

 

I'm preparing a script so execute several tasks in parallel on one server. My first step is to execute the following code:

 

signon mySess sascmd="!sascmd";
rsubmit mySess;
	data test;
		x = 1;
	run;
endrsubmit;
signoff mySess;

When I do, I get the following log (everythin is OK).

83   signon mySess sascmd="!sascmd";
NOTE: Remote signon to MYSESS commencing (SAS Release V.03.05M0P111119).
NOTE: Copyright (c) 2016 by SAS Institute Inc., Cary, NC, USA. 
NOTE: SAS (r) Proprietary Software V.03.05 (TS5M0 MBCS3170) 
      Licensed to EGP- SAS X ADVANCED ANALYTICS / ESP ON VIYA, Site 70237841.
NOTE: This session is executing on the Linux 3.10.0-1160.15.2.el7.x86_64 (LIN X64) platform.
NOTE: Analytical products:
      
      SAS/STAT 15.1
      SAS/ETS 15.1
      SAS/OR 15.1
      SAS/IML 15.1
NOTE: Additional host information:
 Linux LIN X64 3.10.0-1160.15.2.el7.x86_64 #1 SMP Thu Jan 21 16:15:07 EST 2021 x86_64 Red Hat Enterprise Linux Server release 7.9 
      (Maipo) 
NOTE: SAS initialization used:
      real time           0.04 seconds
      cpu time            0.04 seconds
      
NOTE: AUTOEXEC processing beginning; file is /opt/sas/viya/config/etc/compsrv/default/autoexec.sas.
NOTE: DATA statement ha utilizado (Tiempo de proceso total):
      real time           0.00 seconds
      cpu time            0.00 seconds
      
NOTE: AUTOEXEC processing completed.
NOTE: Remote signon to MYSESS complete.
84   rsubmit mySess;
NOTE: Remote submit to MYSESS commencing.
2     data test;
3      x = 1;
4     run;
NOTE: The data set WORK.TEST has 1 observations and 1 variables.
NOTE: DATA statement ha utilizado (Tiempo de proceso total):
      real time           0.00 seconds
      cpu time            0.01 seconds
      
NOTE: Remote submit to MYSESS complete.
85   signoff mySess;
NOTE: Remote signoff from MYSESS commencing.
NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: The SAS System used:
      real time           0.05 seconds
      cpu time            0.05 seconds
      
NOTE: Remote signoff from MYSESS complete.
86   
87   %studio_hide_wrapper;
98   
99   

Now I add a libname statement in order to access to tables in it (this lib exists and I use it in other scritps):

signon mySess sascmd="!sascmd";
rsubmit mySess;
	libname emibal cas caslib=BAL_EMISIONES;
	data test;
		x = 1;
	run;
endrsubmit;
signoff mySess;

and I get the following message in the log (I omit the first part because it's the same):

 

84   rsubmit mySess;
NOTE: Remote submit to MYSESS commencing.
1     libname emibal cas caslib=BAL_EMISIONES;
ERROR: The request to start or connect to a session failed. Specify a UUID to connect to an existing session or specify a session 
       name, port and host name to start a session.
ERROR: Error in the LIBNAME statement.
2     data test;
3      x = 1;
4     run;
NOTE: The data set WORK.TEST has 1 observations and 1 variables.
NOTE: DATA statement ha utilizado (Tiempo de proceso total):
      real time           0.00 seconds
      cpu time            0.00 seconds
      
NOTE: Remote submit to MYSESS complete.
85   signoff mySess;
NOTE: Remote signoff from MYSESS commencing.
NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: The SAS System used:
      real time           0.13 seconds
      cpu time            0.07 seconds
      
NOTE: Remote signoff from MYSESS complete.
86   
87   %studio_hide_wrapper;
98   
99   

I am not still accessing any data in that lib, but I already get an error. Do you know why this might be happening?

 

Thanks.

 

1 ACCEPTED SOLUTION

Accepted Solutions
JordiGC
Obsidian | Level 7

I eventually managed to solve the problem myself by opening a new cas session in every rsubmit. I attach some code as an example.

 

signon mySess1 sascmd="!sascmd" signonwait=no;
signon mySess2 sascmd="!sascmd" signonwait=no;

rsubmit mySess1 wait=no;
	cas Sess1 host='myserver' port=myport;
	libname emibal cas caslib=BAL_EMISIONES;
	proc delete data=emibal.multitask1;
	data emibal.multitask1;
		x = 1;
	run;
	proc casutil incaslib="bal_emisiones" outcaslib="bal_emisiones";
		promote casdata="multitask1" casout="multitask1";
	run;
endrsubmit;

rsubmit mySess2 wait=no;
	cas Sess2 host='myserver' port=myport;
	libname emibal cas caslib=BAL_EMISIONES;
	proc delete data=emibal.multitask2;
	data emibal.multitask2;
		x = 1;
	run;
	proc casutil incaslib="bal_emisiones" outcaslib="bal_emisiones";
		promote casdata="multitask2" casout="multitask2";
	run;
endrsubmit;

waitfor _all_ mySess1 mySess2;

signon mySess3 sascmd="!sascmd" signonwait=no;
rsubmit mySess3 wait=no;
	cas General host='myserver' port=myport;
	libname emibal cas caslib=BAL_EMISIONES;
	proc delete data=emibal.multitask3;
	data emibal.multitask3;
		set emibal.multitask1 emibal.multitask2;
	run;
	proc casutil incaslib="bal_emisiones" outcaslib="bal_emisiones";
		promote casdata="multitask3" casout="multitask3";
	run;
endrsubmit;

signoff _all_;

View solution in original post

3 REPLIES 3
JOL
SAS Employee JOL
SAS Employee

Try adding the following before the libname statement:

cas mySess sessopts=(caslib=BAL_EMISONES);

 

If this does not work, reach out to technical support.

Technical Support | SAS  

JordiGC
Obsidian | Level 7

Thanks JOL for your message. Unfortunatelly it didn't work. Now I get the same message for both lines:

 

NOTE: Remote signon to MYSESS complete.
84   rsubmit mySess;
NOTE: Remote submit to MYSESS commencing.
1     cas mySess sessopts=(caslib=BAL_EMISIONES);
ERROR: The request to start or connect to a session failed. Specify a UUID to connect to an existing session or specify a session 
       name, port and host name to start a session.
2     libname emibal cas caslib=BAL_EMISIONES;
ERROR: The request to start or connect to a session failed. Specify a UUID to connect to an existing session or specify a session 
       name, port and host name to start a session.
ERROR: Error in the LIBNAME statement.

I'm reaching out for the technical service. 

JordiGC
Obsidian | Level 7

I eventually managed to solve the problem myself by opening a new cas session in every rsubmit. I attach some code as an example.

 

signon mySess1 sascmd="!sascmd" signonwait=no;
signon mySess2 sascmd="!sascmd" signonwait=no;

rsubmit mySess1 wait=no;
	cas Sess1 host='myserver' port=myport;
	libname emibal cas caslib=BAL_EMISIONES;
	proc delete data=emibal.multitask1;
	data emibal.multitask1;
		x = 1;
	run;
	proc casutil incaslib="bal_emisiones" outcaslib="bal_emisiones";
		promote casdata="multitask1" casout="multitask1";
	run;
endrsubmit;

rsubmit mySess2 wait=no;
	cas Sess2 host='myserver' port=myport;
	libname emibal cas caslib=BAL_EMISIONES;
	proc delete data=emibal.multitask2;
	data emibal.multitask2;
		x = 1;
	run;
	proc casutil incaslib="bal_emisiones" outcaslib="bal_emisiones";
		promote casdata="multitask2" casout="multitask2";
	run;
endrsubmit;

waitfor _all_ mySess1 mySess2;

signon mySess3 sascmd="!sascmd" signonwait=no;
rsubmit mySess3 wait=no;
	cas General host='myserver' port=myport;
	libname emibal cas caslib=BAL_EMISIONES;
	proc delete data=emibal.multitask3;
	data emibal.multitask3;
		set emibal.multitask1 emibal.multitask2;
	run;
	proc casutil incaslib="bal_emisiones" outcaslib="bal_emisiones";
		promote casdata="multitask3" casout="multitask3";
	run;
endrsubmit;

signoff _all_;

sas-innovate-wordmark-2025-midnight.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 891 views
  • 0 likes
  • 2 in conversation