![]() 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.
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;
FILENAME VFILE 'VARIABLE.BLOCK.FILE' RECFM=U;
NOTE: 1231 bytes were transferred at 1231 bytes/second.
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.
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.
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.
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.
The following is an example of a remote submission of a JCL batch job:
DM 'RSUBMIT';
X 'SUBMIT JOBS.CNTL(OPTIONS)';
ENDRSUBMIT;
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?
How are the two servers different?
SIGNON <rsessid>; LIBNAME <libref> REMOTE <'datalib'> SERVER=<rsessid>;
| Macros |
Why
is it
that a macro will execute on a local host but sometimes not on a remote host?
RSUBMIT;
%MACRO MYDATE;
%PUT &SYSDATE;
%MEND MYDATE;
%MYDATE /* semicolon omitted */
ENDRSUBMIT;
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.