Chapter Contents |
Previous |
Next |
SAS/CONNECT User's Guide |
The following sections address the miscellaneous questions that may develop as you use SAS/CONNECT.
DOWNLOAD and UPLOAD Procedures |
During a PROC DOWNLOAD or a PROC UPLOAD step, you receive the following error message:
ERROR 200-322: The symbol is not recognized.
This problem occurs if the remote file that is being referenced by the INFILE or the OUTFILE option begins with a special character and is specified as FILEREF(filename), for example:
PROC UPLOAD INFILE=pcflref OUTFILE=hstflref($filname); run;
To avoid the problem, put single quotes (') around the filename, as shown in the following example:
PROC UPLOAD INFILE=pcflref OUTFILE=hstflref('$filname'); run;
You transfer a variable block binary file
that has a record length (LRECL) greater than 256 bytes, and SAS/CONNECT segments
the file into multiple 256-byte records. For example, downloading a binary
file that has an LRECL of 1024 results in four 256-byte records.
The data is not lost when the file is segmented by SAS/CONNECT. Using the LRECL option in the remote or the local FILENAME statement does not avoid this problem. To avoid the problem, follow these steps:
FILENAME VFILE 'VARIABLE.BLOCK.FILE' RECFM=U;
NOTE: 1231 bytes were transferred at 1231 bytes/second.
You transfer a fixed block binary file
that has a record length (LRECL) greater than 256 bytes and SAS/CONNECT segments
the file into multiple 256-byte records. For example, downloading a binary
file that has an LRECL of 1024 results in four 256-byte records.
The data is not lost when the file is segmented by SAS/CONNECT. Using the LRECL option in the remote or the local FILENAME statement does not avoid this problem. To avoid the problem, follow these steps:
When you use DOWNLOAD on a print file, the EBCDIC carriage-control
character
'F1'x
is not downloaded.
To avoid the problem, change the SAS system option FILECC
to NOFILECC. The NOFILECC option indicates that the data in column 1 of a
printer file should be treated as data and not carriage control. For SAS software
Releases 6.07 and 6.08, the default setting is NOFILECC. Earlier releases
use FILECC as the default setting, and you must change it to NOFILECC to DOWNLOAD
'F1'x
successfully. In addition, the DCB characteristics of the print
file must include a RECFM of FBA or VBA.
The DOWNLOAD procedure does not translate the carriage-control
character
F1
that occurs in the external file that you downloaded.
The OS/390 carriage-control character
'F1'x
should be translated to ASCII
'31'x
, instead, it is translated
to ASCII
'20'x
.
ASCII
'31'x
is 1. It is not possible to
DOWNLOAD an external file and convert the OS/390 carriage-control character
'F1'x
to the ASCII carriage-control character
'0D'x
.
The OS/390 EBCDIC value would have to be
'0D'x
to convert to ASCII
'0D'x
. If
'31'x
is missing, refer to the previous problem.
Remote Submit Events |
The first time that you remote submit a PROC statement, you receive the following message:
ERROR 2-12: Invalid option.
The remote AUTOEXEC.SAS file contains an OPTIONS statement
that has not been closed by a semicolon (;). To avoid this problem, add the
semicolon (;) to the OPTIONS statement in the remote AUTOEXEC.SAS file.
After signing on by using the NOTERMINAL option, which
is specified for the remote host, a requestor window appears when a LIBNAME
statement that uses the WAIT= option is remote-submitted.
To prevent this window from appearing, specify the NOFILEPROMPT
SAS system option on the remote host.
After you start a SAS/CONNECT session by using the NOTERMINAL
option, any remote-submitted statements that follow a syntax error are only
parsed and not processed.
When a SAS/CONNECT session is started with the NOTERMINAL option, the internal option $SYNTAXCHECK is automatically set. If you remote-submit a statement that follows a syntax error, the statement is parsed but not processed. In the following example,
data a; do i=1 to 10; outpt; end; run; data b; x=1; run;data set A is not created because of the syntax error that is caused by OUTPT. Data set B is not created because SAS software is in syntax check mode from the previous OUTPT syntax error. The DATA step will only be parsed.
To avoid this problem, add the NO$SYNTAXCHECK option
to the remote SAS system invocation options in the script file.
You cannot remote-submit code that uses square brackets
because the keyboard on your local host does not support these characters.
The less than (<) and greater than (>) symbols can be used in place of square brackets. Use < for the left square bracket ([) and > for the right square bracket (]).
In OpenVMS Alpha, square brackets are typically used to delineate the directory name in a path name. However, you can use < and > as equivalent delimiters. For example:
libname sales 'disk:<sales.years.1991>';
After remote-submitting a full-screen procedure, you receive the following message:
ERROR: No terminal connected to the SAS session.
SAS/CONNECT does not support remote submission of full-screen
procedures.
When remote submitting a JCL batch job under OS/390 when using Release 6.08 of SAS, you receive the following message:
JOB OPTIONS(JOB01501) SUBMITTED ***.
A Break window appears on the local host display and
explains that a message was received from the remote host. Press ENTER on
the remote host host and select
CONTINUE
from the local
Break window.
When remote submitting a JCL batch job under OS/390 when using Release 6.07 of SAS, the message does not appear on the remote host; therefore, the Break window does not appear. A beep sounds, but the remote submit continues uninterrupted.
The following is an example of a remote submission of a JCL batch job:
DM 'RSUBMIT'; X 'SUBMIT JOBS.CNTL(OPTIONS)'; ENDRSUBMIT;
Note: If remote submit is not used
and the JCL batch job is submitted from either Release 6.07 or Release 6.08
of SAS under OS/390, the message does appear. Press ENTER to
continue SAS software processing.
To avoid receiving the above message and the interaction that is required to clear it, you can direct your JCL to the internal reader. The FILENAME statement can be used in place of the TSO ALLOCATE or the JCL DD statement. A sample SAS program that uses the FILENAME statement to write to an internal reader is:
rsubmit; /*************************************/ /* filename to point to JCL code */ /*************************************/ filename injcl '.misc.jcl' disp=shr; /*************************************/ /* filename to internal reader */ /*************************************/ filename outrdr sysout=a pgm=intrdr recfm=fb lrecl=80; /*************************************/ /* data step to submit job to batch */ /* queue */ /*************************************/ data _null_; infile injcl(myjcl); file outrdr noprint notitles; input; put _infile_; run; /*************************************/ /* filename to clear */ /*************************************/ filename outrdr clear; endrsubmit;
Servers |
Does SAS/CONNECT provide both single and multi-user
services?
SAS/SHARE is the only software in the SAS System that
provides multi-user update access to SAS data libraries or SAS files. However,
SAS/CONNECT is the only SAS software that gives you compute services, data
transfer services, and single-user RLS.
How do I initialize a server?
How are the two servers different?
SIGNON <rsessid>; LIBNAME <libref> REMOTE <'datalib'> SERVER=<rsessid>;
LIBNAME <libref> REMOTE <'datalib'> SERVER=serverid;
Macros |
Why
is it
that a macro will execute on a local host but sometimes not on a remote host?
This has been observed when a macro does not end with a semicolon, and it is the last line in an invocation RSUBMIT block. A remote submitted macro invocation requires the semicolon, and a locally submitted macro does not. For example, the following macro executes on a local host but not on a remote host:
RSUBMIT; %MACRO MYDATE; %PUT &SYSDATE; %MEND MYDATE; %MYDATE /* semicolon omitted */ ENDRSUBMIT;
During the processing of a remote submit block, SAS/CONNECT software checks the beginning of each statement for the ENDRSUBMIT statement. The semicolon is used to indicate the end of each statement (except comments). If the semicolon is omitted, then the ENDRSUBMIT statement is inadvertently submitted for remote processing. This results in the macro not executing.
During local processing, SAS/CONNECT does not search
for the ENDRSUBMIT statement and, therefore, does not require the semicolon.
When processing macros, what gets processed on the remote host, and
what gets processed on the local host?
When a macro is compiled, two things are produced: (1) compiled macro program statements or instructional code and (2) text. Only items stored as text are passed to the remote host for processing. All statements and instructional code are processed on the local host.
Items stored as text include:
Note: A good tool to determine what is instructional code and
will be processed on the local host, is the option MLOGIC. MLOGIC specifies
whether the macro processor prints a message whenever the SAS System executes
any macro instructional code within a macro. Any statements produced by MLOGIC
are processed on the local host and everything else is executed on the remote
host.
For example, in the following code, all the %LET statements are inside the RSUBMIT block. The &USER1 macro is assigned in the local SAS session rather than the remote. However, by placing the %LET statement inside a macro, &USER2 is set in the remote session.
%macro client; RSUBMIT; %let user1 = %sysget(LOGNAME); %macro remote; %global user2; %let user2 = %sysget(LOGNAME); %mend remote; %remote data _null_; put "user 1 = &user1"; put " 2 = &user2"; run; ENDRSUBMIT; %mend client; %client
In the macro CLIENT, everything within the macro is stored as text except the %LET statement that creates the macro variable USER1. This means everything within the macro is passed to the remote host except the %LET statement. Because the %LET statement is executed on the local host, the macro variable USER1 is created on the local host. The %LET statement that creates the macro variable USER2 and the references to the USER1 and USER2 variables are both seen as text and are executed on the remote host.
Chapter Contents |
Previous |
Next |
Top of Page |
Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.