Special Characters
. (period)
creating, to follow resolved text 32
. (period) delimiter 9
& (ampersand)
indirect macro variable references and 34
& (ampersand) delimiter 4
% (percent sign)
with %STR and %NRSTR functions 90
% (percent) delimiter 4
%* macro comment statement 294
%ABORT statement 292
%BQUOTE and %NRBQUOTE functions 252
%BQUOTE function 93
examples 93
%CMPRES and %QCMPRES autocall macros 179
%COMPSTOR autocall macro 181
%COPY statement 296
%DATATYP autocall macro 181
%DISPLAY statement 297
%DO %UNTIL statement 301
%DO %WHILE statement 302
%DO groups
ending 303
%DO loops
generating repetitive pieces of text 9
%DO statement 298
%DO, iterative statement 299
%END statement 303
%EVAL function 253
%GLOBAL statement 304
%GOTO statement 306
destination of 311
%IF-%THEN/%ELSE statement 307
%INCLUDE statement 4
%INDEX function 255
%INPUT statement 310
text entered in response to 199
%KVERIFY autocall macro 182
%label statement 311
%LEFT autocall macro 183
%LENGTH function 256
%LET statement 312
%LIST statement 4
%LOCAL statement 313
%LOWCASE and %QLOWCASE autocall macros 184
%MACRO statement 315
PARMBUFF option 319
SECURE option 320
SOURCE option 320
STORE option 320
with keyword parameters 318
with positional parameters 318
%MEND statement 321
%NRQUOTE function 257
examples 91
unmatched quotation marks and parentheses 90
%PUT statement 321
tracking problems with 142
%QCMPRES autocall macro 185
%QLEFT autocall macro 185
%QLOWCASE autocall macro 186
%QSCAN function 257
%QSUBSTR function 258
%QSYSFUNC function 258
%QTRIM autocall macro 186
%QUOTE and %NRQUOTE functions 258
%QUPCASE function 260
%RETURN statement 325
%RUN statement 4
%SCAN and %QSCAN functions 260
%STR and %NRSTR functions 264
%STR function 89
examples 91
percent signs with 90
unmatched quotation marks and parentheses 90
%SUBSTR and %QSUBSTR functions 267
%SUPERQ function 269
entering macro keywords 96
examples 95
preventing warning messages 96
%SYMDEL statement 325
%SYMEXIST function 270
%SYMGLOBL function 271
%SYMLOCAL function 272
%SYSCALL statement 326
RANUNI CALL routine with 327
%SYSEVALF function 273
%SYSEXEC statement 328
%SYSFUNC and %QSYSFUNC functions 278
%SYSFUNC function
formatting values produced by 280
functions and arguments for 379
portable functions with 152
%SYSGET function 282
%SYSLPUT statement 329
%SYSMACDELETE statement 329
%SYSMACEXEC function 275
%SYSMACEXIST function 275
%SYSMEXECDEPTH function 276
%SYSMEXECNAME function 277
%SYSMSTORECLEAR statement 330
%SYSPROD function 283
%SYSRC autocall macro 187
%SYSRPUT statement 330
checking return code values on remote host 115
with SAS/CONNECT interfaces 114
%TRIM and %QTRIM autocall macro 192
%UNQUOTE function 284
%UPCASE and %QUPCASE functions 285
%VERIFY autocall macro 193
%WINDOW statement 332
A
aborting macros 292
ampersand (&) delimiter 4
ampersands
indirect macro variable references and 34
application welcome window 338
arguments
arithmetic expressions 75
defining 76
evaluating with floating-point arithmetic 273
evaluating with integer arithmetic 253
operands and operators 77
assigning macro variables 53
autocall facility 117
macro definition errors 135
naming macros and external files for 158
troubleshooting 134
autocall feature 345
catalogs as 119
directories as 119
location of 367
member names 119
on different hosts 118
saving macros in 118
searching for member not found earlier 363
specification errors 135
calling 120
displaying source location in log 343
filenames for 136
list of 173
names for 136
required system options for 173
storing 122
storing centrally 150
supplied by SAS 122
automatic evaluation 161
automatic macro variables 10, 22, 168
by category 23
defined by macro processor 22
displaying in log 324
host-specific values 153
list of 168
prefixes 168
read and write status of 22
B
batch jobs
name of 212
black hole problem 130
blanks
maintaining leading blanks 265
protecting from being compiled as text 266
removing from macro variables 239
removing leading and trailing 179, 183, 185
trimming trailing blanks 186, 192
C
CALL EXECUTE routine 231
example of common problem with 108
example of incorrect use 107
timing details 107
CALL routines
invoking 326
CALL SYMDEL routine 233
CALL SYMPUT routine 234
formatting rules for assigning character values 237
formatting rules for assigning numeric values 237
referencing a value before it is available 236
with complete DATA step and empty local symbol table 72
with complete DATA step and nonempty local symbol table 67
with incomplete DATA step 70
with SYSPBUFF and empty local symbol table 72
CALL SYMPUTN routine 238
CALL SYMPUTX routine 239
calling autocall macros 120
calling stored compiled macros 122
catalogs
as autocall libraries 119
libref for catalog containing stored compiled macros 368
searching for stored compiled macros 364
centrally storing autocall macros 150
character functions 163
character operands
comparing in logical expressions 81
character strings
passing to SAS programs 217, 371
substring of 267
character values
formatting rules for assigning 237
character width value 200
characters
locating 255
translating 281
CMDMAC system option 340
code
conditionally generating SAS code 8
generating SAS code using macros 5
column values
storing in declared macro variables 288
command style macros 147
command-style macros
invoking 340
compilation
note on size and number of instructions 345
compilation functions 85
compilation quoting functions 165
compiled items 37
compiled macros
executing 40
compiler 15
compiling macro definitions 38, 121
condition codes 199
conditional execution 232
conditional processing 307
conditionally generating SAS code 8
constant text 6
CPU
number available to SAS 215
customized windows 332
application welcome window 338
D
damaged data sets 205
data files
name of file most recently created 212
data sets
confirming existence of 281
creating macro variables and assigning values from 238
damaged 205
determining number of variables and observations in 280, 281
libref and name of most recently created 205
retrieving variable values previously assigned from 245
DATA step
assigning values to macro variables 234
functions in 110
interacting with macro facility during execution 106
passing values into a parameter list 233
resolving text expressions during execution 241
returning value of macro variable, during execution 244
DATA step compiler 15
macro resolution problems during compilation 133
CALL EXECUTE routine timing details 107
example of common problem with CALL EXECUTE routine 108
listed by category and use 106
using CALL EXECUTE routine incorrectly 107
data type 181
dates
execution date for SAS job or session 203
execution day for SAS job or session 204
formatting current date in a TITLE statement 280
day of the week
for execution of SAS jobs or sessions 204
debugging 124
autocall facility 134
autocall library specifications 135
autocall macro definition errors 135
black hole problem 130
common macro problems 125
developing bug-free macros 125
developing macros in layered approach 124
displaying information about stored compiled macros 136
encountering errors 124
examining generated SAS statements 139
examining macro variable resolution 141
expression evaluation 137
file and macro names for autocall 136
macro functions 130
macro variable resolution 127
macro variable scope 128
nesting information generated by MLOGICNEST 139
nesting information generated by MPRINTNEST 140
open code recursion 129
storing MPRINT output in external file 140
techniques for 138
timing issues 132
tracing flow of execution 138
tracing generated statements for 360
tracing macro execution for 356
tracing resolution of macro variable references 369
tracking %PUT statement problems 142
tracking system option problems 138
troubleshooting macros 125
unresolved macros 130
warning messages and 124
delimiters 4
delimiting macro variable names within text 31
for IN operator 354
period as 9
delta character 101
directories
as autocall libraries 119
double quotation marks 5
E
efficient macros
See macros, efficient
encoding
for SAS sessions 206
error conditions
%SYSRC mnemonics for 187
error messages 126
text of last message generated in log 210
error return codes 208
error types 124
errors
debugging and 124
evaluation functions 164
executing compiled macros 40
execution errors 124
execution functions 86
execution, tracing flow of 138
existence of data sets 281
existence of macro variables 243, 270
exits
providing in a large macro 306
expressions
See also macro expressions
generating indirect macro variable references with 33
troubleshooting evaluation problems 137
external files
naming for autocall facility 158
routing MPRINT output to 353, 361
storing MPRINT output in 140
F
FILENAME statement
return code from 210
filerefs
limiting to eight characters 268
verifying 194
floating-point evaluation 273
floating-point operands
evaluating 79
floating-point values
comparing in logical expressions 80
flow of execution, tracing 138
forcing local macro variables 62
functions
See also macro functions
See also macro quoting functions
assigning results to macro variables 148
executing 278
for use with %SYSFUNC function 379
in DATA step and macro facility 110
portable 152
user-written 278
G
global macro variables 5, 22, 47, 48
creating in macro definitions 305
creating, based on value of local variables 66
indicating whether macro variables are global 248
returning values as numeric 247
with same name as a local variable 314
global symbol table 48
deleting variables from 233, 325
graphics device 204
H
hexadecimal character constants 3
hexadecimal values 3
host name 211
of computers running multiple TCPIP stacks 225
host-specific macro variables 157
automatic macro variables with 153
I
IMPLMAC system option 341
IN (#) logical operator
macro processor and 355
IN operator
delimiter for 354
indexes
executing a macro section repetitively, based on an index variable 299
indirect macro variable references 33
creating a series of, with single macro call 34
generating with an expression 33
using more than two ampersands 34
input stacks 13
integer arithmetic evaluation 253
integer expressions 77
interactive mode 207
DATA step interfaces 106
functions in DATA step and macro facility 110
SAS/CONNECT interfaces 114
with SCL 112
with SQL procedure 111
INTO clause 287
invocation status
of macro currently executing 215
invoking macros 6
J
jobs
execution day 204
execution of 111
job ID 212
K
keywords 96
L
labels
branching macro processing to specified label 306
large macros
providing exits in 306
layered approach 124
leading blanks
maintaining 265
removing from macro variables 239
length of a string 256
LIBNAME statement
return code from 214
librefs
for catalogs containing stored compiled macros 368
of most recently created data set 205
licenses for SAS products 283
literals 14
local hosts
assigning macro variable values from remote host to 330
local macro variables 5, 8, 47, 50
creating global variables based on value of 66
displaying in log 324
forcing 62
indicating whether macro variables are local 249
with same name as a global variable 314
local symbol table 50
CALL SYMPUT routine and 67, 72
LOCK statement
return code from 213
log
compilation notes in 345
displaying automatic macro variables 324
displaying local variables 324
displaying macro execution information 351
displaying nesting information 358, 361
displaying source location of autocall macros 343
displaying user-generated variables 324
text of last error message generated in 210
text of last warning message 230
tracing resolution of macro variable references 369
writing contents of symbol tables to 52
writing text or macro variable information to 321
LOGAPPLNAME= system option 214
logical expressions 75
comparing character operands 81
comparing floating-point values 80
comparing missing values 80
comparing numeric operands 80
defining 76
evaluating with floating-point arithmetic 273
evaluating with integer arithmetic 253
operands and operators 77
login
of current SAS process 228
long macro variables
storing values in segments 268
lowercase characters
converting to uppercase 285
converting uppercase characters to 184, 186
M
macro calls 6
% (percent) delimiter and 4
creating a series of indirect macro variable references 34
macro character functions 163
macro debugging
See debugging
allowing new definitions 346
beginning 315
containing several SAS statements 7
creating global variables in 305
ending 321
macro statements used in 160
nested 147
redefining 364
storing 121
troubleshooting 135
macro evaluation functions 164
macro execution
tracing 357
tracing generated statements for debugging 360
macro expressions 75
See also arithmetic expressions
See also logical expressions
text expressions 75
macro facility 3
functions in 110
interacting with, during DATA step execution 106
reserved words 375
SCL interfaces to 112
searching for stored compiled macros 364
system options in 175
word rules 375
macro functions 162
%SYSFUNC and %QSYSFUNC function 10
assigning results to macro variables 148
character functions 163
evaluation functions 164
lists of 167
manipulating macro variable values with 35
quoting functions 165
troubleshooting 130
macro keywords 96
macro language 4
additional features of 10
as string based language 3
autocall macros 172
automatic variables 168
availability of 342
elements 159
elements with system dependencies 156
functions 162
macro facility interfaces 171
reserved words in 26
statements 160
system options in macro facility 175
macro libraries
copying items from 296
macro names 5
for autocall facility 158
macro parameters 7
positional 318
validating 301
branching to specified label 306
calling macros 37
compiling macro definitions 38
defining macros 37
executing compiled macros 40
statement processing with macro activity 16
statement processing without macro activity 14
summary of 46
compiling macro definitions 38
evaluating arithmetic expressions 78
evaluating logical expressions 80
executing compiled macros 40
IN (#) logical operator and 355
tracing execution for debugging 356
variables defined by 22
warning message when reference does not match variable 368
macro quoting 84
how it works 101
masking special characters and mnemonics 84
mnemonics in passed parameters 86
necessity of 84
referring to already quoted variables 94
special characters in passed parameters 86
unquoting text 99
macro quoting functions 5, 84, 102, 165
%BQUOTE 93
%NRBQUOTE 93
%NRSTR 89
%QSCAN 102
%STR 89
%SUPERQ 95
amount of text to mask 94
compilation functions 85
compilation quoting functions 165
execution functions 86
execution of 166
overview 85
Q functions 102
summary of 98
unmatched quotation marks and parentheses 166
when to use 87
which function to use 87
macro source code
saving 121
executing immediately 132
for automatic evaluation 161
lists of 160
open code recursion 129
used in macro definitions 160
used in open code 160
MACRO system option 342
macro triggers 17
macro variable names
prefixes 128
macro variable references 4, 30
combining with text 31
creating a period to follow resolved text 32
delimiting names within text 31
generating suffixes for 9
in submit blocks 113
indirect referencing 33
period (.) as delimiter 9
quoting values that might contain 266
resolved by SCL 113
resolving 242
tracing resolution of 369
warning message when reference does not match variable 368
warning message when references cannot resolve 350
macro variable resolution
examining with SYMBOLGEN 141
problems during DATA step compilation 133
problems with 127
macro variable scopes
See scopes of macro variables
See also automatic macro variables
See also global macro variables
See also local macro variables
See also user-defined macro variables
& (ampersand) delimiter and 4
additional scan of long values 150
affecting job execution 111
assigning 53
assigning a response to 311
assigning DATA step values to 234
assigning function results to 148
assigning SQL procedure values 287
assigning values from remote host to local host 330
assigning values to, and removing blanks 239
changing values of 56
creating and assigning a value 312
creating on remote host or server 329
creating, and assigning values from a data set 238
defined by macro processor 22
defining 5
deleting from global symbol table 233, 325
delimiting names within text 31
displaying user-generated variables in log 324
displaying values 32
global 22
host-specific 157
indicating global or local scope 271, 272
indicating whether macro variables are global 248
indicating whether macro variables are local 249
length of 21
manipulating values with macro functions 35
maximum value size for storing in memory 366
mnemonics in 5
modifying values of, on remote host or server 329
passing unresolved values 270
quoting 253
resetting to null 150
resolving 53
retrieving values previously assigned from a data set 245
returning value of, to DATA step during execution 244
scanning values for words 35
scope of, when created with CALL SYMPUT routine 236
special characters in 5
storing all row values in one variable 289
storing column values in declared variables 288
storing long values in segments 268
storing one copy of long values 151
storing row values in list of 289
supplying values to, during macro execution 310
system-specific 23
warning message when reference does not match variable 368
writing information to log 321
macros 37
See also autocall macros
See also macros, efficient
See also macros, portable
% (percent) delimiter and 4
aborting 292
black hole problem 130
calling 37
calling or invoking 6
comments in 6
conditionally processing a portion of 307
developing bug-free 125
developing in layered approach 124
executing a section repetitively 299
executing a section repetitively until a condition is true 301
executing a section repetitively while a condition is true 302
executing conditionally 232
generating SAS code 5
in SCL programs (examples) 113
invocation status 215
maximum size for execution in memory 352
name style 147
number executing in current job or session 211
parameter values 218
passing information into 7
providing exits in large macros 306
redefining 364
reusing 117
saving in autocall libraries 118
saving with stored compiled macro facility 121
session compiled 117
sharing between SCL programs 113
solving common problems 125
statement-style 341
storing 117
strings within 6
terminating 325
troubleshooting 125
unresolved 130
wise use of 146
macros, efficient 145
additional scanning of macro variables 150
assigning function results to macro variables 148
avoiding nested macro definitions 147
centrally storing autocall macros 150
efficiency in perspective 146
MSYMTABMAX= system option and 150
MVARSIZE= system option and 150
name style macros 147
resetting macro variables to null 150
stored compiled macro facility and 149
storing long macro variable values 151
turning off system options 149
wise use of macros 146
%SYSFUNC and 152
automatic variables with host-specific values 153
host-specific macro variables 157
macro language elements with system dependencies 156
naming macros and external files for autocall facility 158
maintenance level 229
markup tags
removing from titles 302
deciding how much text to mask 94
referring to already quoted variables 94
summary of 98
unmasking 284
masking functions
%QUOTE 258
%SUPERQ 269
%UNQUOTE 284
MAUTOCOMPLOC system option 343
MAUTOLOCDISPLAY system option 343
MAUTOLOCINDES system option 344
MAUTOSOURCE system option 345
MCOMPILE system option 346
MCOMPILENOTE system option 345
MCOVERAGE system options 347
MCOVERAGELOC= system option 350
memory
amount available to symbol tables 365
maximum size for variable values stored in 366
maximum size of macros executed 352
MERROR system option 350
messages
displaying in macro windows 215
MEXECNOTE system option 351
MEXECSIZE system option 352
MFILE system option 353
MINDELIMITER= system option 354
MINOPERATOR system option 355
missing semicolons
open code recursion and 129
missing values
comparing in logical expressions 80
MLOGIC system option 356
tracing flow of execution with 138
MLOGICNEST system option 358
nesting information generated by 139
mnemonics
in macro variables 5
in passed parameters 86
quoting values that might contain 259
model text 6
MPRINT system option 360
examining generated SAS statements 139
routing output to external file 353, 361
storing output in external file 140
MPRINTNEST system option 361
nesting information generated by 140
MRECALL system option 363
MREPLACE system option 364
MSTORED system option 364
MSYMTABMAX= system option 365
adjusting values for efficiency 150
MVARSIZE= system option 366
adjusting values for efficiency 150
N
name style macros 147
names
as tokens 15
batch jobs 212
external files, for autocall facility 158
host name 211
of most recently created data set 205
of procedure being processed 220
operating system 223
prefixes for macro variable names 128
userids 212
nested macro definitions 147
nesting information
generated by MLOGICNEST 139, 358
generated by MPRINTNEST 140, 361
nesting scopes 47
NOCMDMAC system option 340
NOIMPLMAC system option 341
NOMACRO system option 342
NOMAUTOCOMPLOC system option 343
NOMAUTOLOCDISPLAY system option 343
NOMAUTOLOCINDES system option 344
NOMAUTOSOURCE system option 345
NOMCOMPILE system option 346
NOMCOVERAGE system options 347
NOMERROR system option 350
NOMEXECNOTE system option 351
NOMFILE system option 353
NOMINOPERATOR system option 355
NOMLOGIC system option 356
NOMLOGICNEST system option 358
NOMPRINT system option 360
NOMPRINTNEST system option 361
NOMRECALL system option 363
NOMREPLACE system option 364
NOMSTORED system option 364
NOSERROR system option 368
NOSYMBOLGEN system option 369
notes
on macro compilation 345
numbers
as tokens 15
numeric operands
comparing in logical expressions 80
evaluating 78
numeric values
formatting rules for assigning 237
returning global macro variable values as 247
O
observations
determining number in a data set 280, 281
ODS pathname 216
macro statements used in 160
open code recursion 129
operands 77
character operands 81
floating-point operands 79
operating environment
name of 223
passing character strings to SAS program steps 217
operating environment commands 328
operating environment condition codes 199
operating environment variables
returning value of specified variable 282
operating system identifier 220
operators 77
output
storing MPRINT output 140
P
parameter lists
passing DATA step values to 233
parameter values
text supplied as 218
parameters
macro parameters 7
passing parameters containing special characters and mnemonics 86
parentheses
unmatched 166
unmatched, with %STR and %NRSTR functions 90
PARMBUFF option
%MACRO statement 319
passing character strings 217
passing information into macros 7
passing unresolved values 270
percent (%) delimiter 4
percent sign (%)
with %STR function 90
period (.)
creating, to follow resolved text 32
period (.) delimiter 9
portable functions 152
portable macros
See macros, portable
positional parameters 318
printing
conditionally printing reports 309
procedures
name of procedure being processed 220
passing values to 217
return codes provided by 212
process ID 224
processors
number available to SAS 215
program flow, controlling 311
program steps
passing character strings to 217
programs
passing character strings to 371
passing user identification to 371
Q
quotation marks 5
unmatched 166
unmatched, with %STR and %NRSTR functions 90
quoted strings 5
quoting
values that may contain macro references 266
values that might contain mnemonic operators 259
%BQUOTE 252
%NRBQUOTE 252
%NRQUOTE 258
%NRQUOTE function 257
%QUOTE 258
%STR 264
%SUPERQ 269
R
RANUNI CALL routine
invoking with %SYSCALL statement 327
read and write status
of automatic macro variables 22
recursion 129
recursive references 129
remote hosts
assigning macro variable values to local host 330
checking return code values 115, 332
creating or modifying macro variables on 329
remote servers
creating or modifying macro variables on 329
repetitive pieces of text, generating 9
reports
conditionally printing 309
resetting macro variables to null 150
RESOLVE function 241
resolved text
creating a period to follow 32
resolving macro variable references 241
resolving macro variables 53
writing to log for debugging 369
return code status 207
return codes 207
checking values on remote host 115, 332
errors 208
for damaged data sets 205
from last FILENAME statement 210
from LIBNAME statement 214
from LOCK statement 213
name of last return code generated 220
provided by SAS procedures 212
testing for 187
warnings 208
reusing macros 117
rows
storing all values in one macro variable 289
storing values in list of macro variables 289
S
SAS code
conditionally generating 8
generating with macros 5
SAS Component Language
See SCL
SAS jobs
execution date 203
execution day 204
number of macros executing in current job 211
SAS process
user ID or login of current process 228
SAS process ID 224
SAS process name 225
SAS programs
macro processing and 13
passing character strings to 217, 371
passing user identification to 371
SAS sessions
encoding for 206
execution day 204
SAS software
licenses for products 283
maintenance level 229
SAS statements
macro definitions containing 7
SAS/CONNECT interfaces 114
%SYSRPUT with 114
checking return code values on remote host 115
SAS/TOOLKIT 10
SASAUTOS= system option 367
SASMSTORE= system option 368
saving macro source code 121
in autocall libraries 118
stored compiled macro facility for 121
scanning macro variable values for words 35
SCL 112
example of macros in 113
macro variable references in submit blocks 113
resolving macro references 113
SCL programs 112
examples of macros in 113
returning global macro variable values as numeric 247
sharing macros between 113
scopes of macro variables 47
assigning macro variables 53
CALL SYMPUT routine and 66
changing macro variable values 56
examples 56
global macro variables 48
global macro variables, based on local variable values 66
global macro variables, creating 64
indicating whether macro variables are global 248, 271
indicating whether macro variables are local 249, 272
local macro variables 50
local macro variables, creating 58
local macro variables, forcing 62
nesting 47
resolving macro variables 53
solving problems 128
special cases 66
variables created with CALL SYMPUT routine 236
writing symbol table contents to log 52
search order
assigning or resolving macro variables 53
searching
autocall libraries 363
for a word, by position in a string 260
for stored compiled macros 364
SECURE option
%MACRO statement 320
segments
storing long macro variable values in 268
semantic errors 124
SERROR system option 368
session compiled macros 117
sharing macros between SCL programs 113
single quotation marks 5
site number 223
source code 149
saving 121
SOURCE option
%MACRO statement 320
special characters
as tokens 15
in macro variables 5
in passed parameters 86
macro quoting guidelines 87
special tokens 15
SQL procedure 111
assigning values to macro variables 287
controlling job execution 111
INTO clause 111
STARTSAS statement
ID generated from 224
process name generated from 225
statement style macros 147
statement-style macros
invoking 341
statements
examining generated SAS statements 139
macro definitions containing SAS statements 7
macro statements 10
processing with macro activity 16
processing without macro activity 14
tracing for debugging 360
STORE option
%MACRO statement 320
stored compiled macro facility 117
efficiency and 149
overview 121
saving macros with 121
stored compiled macros 181
calling 122
displaying information about 136
libref for catalog containing 368
searching catalogs for 364
storing autocall macros
centrally 150
supplied by SAS 122
storing macro definitions 121
storing macros 117
saving macros in autocall libraries 118
saving macros with stored compiled macro facility 121
storing MPRINT output
in external files 140
strings
length of 256
locating first character in 255
passing character strings to SAS programs 217, 371
reducing length of 256
searching for words by position in 260
substring of a character string 267
within macros 6
stripped for printing 142
submit blocks
macro variable references in 113
substrings
of a character string 267
suffixes
generating for macro variable references 9
amount of memory available to 365
local 50
writing contents to log 52
SYMBOLGEN system option 369
examining macro variable resolution 141
SYMEXIST function 243
SYMGET function 244
SYMGETN function 247
SYMGLOBL function 248
SYMLOCAL function 249
syntax 4
syntax errors 124
SYSADDRBITS automatic macro variable 198
SYSBUFFR automatic macro variable 198
SYSCC automatic macro variable 199
SYSCHARWIDTH automatic macro variable 200
SYSCMD automatic macro variable 200
SYSDATASTEPPHASE automatic macro variable 201
SYSDATE automatic macro variable 202
SYSDATE9 automatic macro variable 203
SYSDAY automatic macro variable 204
SYSDEVIC automatic macro variable 204
SYSDMG automatic macro variable 204
SYSDSN automatic macro variable 205
SYSENCODING automatic macro variable 206
SYSENDIAN automatic macro variable 206
SYSENV automatic macro variable 207
SYSERR automatic macro variable 207
SYSERRORTEXT automatic macro variable 209
SYSFILRC automatic macro variable 210
SYSHOSTINFOLONG automatic macro variable 211
SYSHOSTNAME automatic macro variable 211
SYSINDEX automatic macro variable 211
SYSINFO automatic macro variable 212
SYSJOBID automatic macro variable 212
SYSLAST automatic macro variable 212
SYSLCKRC automatic macro variable 213
SYSLIBRC automatic macro variable 213
SYSLOGAPPLNAME automatic macro variable 214
SYSMACRONAME automatic macro variable 214
SYSMENV automatic macro variable 214
SYSMSG automatic macro variable 215
SYSNCPU automatic macro variable 215
SYSNOBS automatic macro variable 216
SYSODSESCAPECHAR automatic macro variable 216
SYSODSPATH automatic macro variable 216
SYSPARM automatic macro variable 216
with host-specific values 155, 156
SYSPARM= system option 371
SYSPBUFF automatic macro variable 217
CALL SYMPUT routine and 72
SYSPROCESSID automatic macro variable 218
SYSPROCESSMODE automatic macro variable 219
SYSPROCESSNAME automatic macro variable 219
SYSPROCNAME automatic macro variable 220
SYSRC automatic macro variable 220
with host-specific values 156
SYSSCP and SYSSCPL automatic macro variables 220
SYSSCP automatic macro variable 220
with host-specific values 154
SYSSCPL automatic macro variable 220, 223
SYSSITE automatic macro variable 223
SYSSIZEOFLONG automatic macro variable 223
SYSSIZEOFPTR automatic macro variable 223
SYSSIZEOFUNICODE automatic macro variable 224
SYSSTARTID automatic macro variable 224
SYSSTARTNAME 225
SYSSTARTNAME automatic macro variable 224
SYSTCPIPHOSTNAME automatic macro variable 225
system options
in macro facility 175
required for autocall macros 173
tracking problems with 138
turning off, for efficiency 149
system-specific macro variables 23
SYSTIME automatic macro variable 225
SYSTIMEZONE automatic macro variable 226
SYSTIMEZONEIDENT automatic macro variable 226
SYSTIMEZONEOFFSET automatic macro variable 227
SYSUSERID automatic macro variable 228
SYSVER automatic macro variable 228
SYSVLONG automatic macro variable 229
SYSVLONG4 automatic macro variable 229
SYSWARNINGTEXT automatic macro variable 230
T
TCPIP stacks 211
host name of computers running 225
temporary files
deleting 222
terminating macros 325
text
combining macro variable references with 31
creating a period to follow resolved text 32
delimiting macro variable names within 31
generating repetitive pieces of 9
writing to log 321
text expressions 75
resolving during DATA step execution 241
text items 37
text strings
replacing using macro variables 4
text substitution 4
timing issues 132
macro resolution problems during DATA step compilation 133
macro statement executing immediately 132
TITLE statement
formatting current date in 280
titles
removing markup tags from 302
tokenization 14
list of 377
tracing
flow of execution 138
generation of statements 360
macro execution 357
resolution of macro variable references 369
tracking problems
with %PUT statement 142
with system options 138
trailing blanks
removing from macro variables 239
translating characters 281
trimming trailing blanks 186, 192
troubleshooting 125
autocall facility 134
autocall library specifications 135
autocall macro definition errors 135
black hole problem 130
common macro problems 125
displaying information about stored compiled macros 136
expression evaluation 137
file and macro names for autocall 136
macro functions 130
macro variable resolution 127
macro variable scope 128
open code recursion 129
timing issues 132
unresolved macros 130
U
unmasking 284
unmatched quotation marks and parentheses 90
macro quoting functions and 166
unquoting text 99
unresolved macros
troubleshooting 130
unresolved values
passing 270
uppercase characters
converting to 285
converting to lowercase 184, 186
user identification
passing to SAS programs 371
user IDs
of current SAS process 228
user-defined macro variables 22, 26
assigning values 27
assignment types for values 28
creating 27
overview 26
user-generated macro variables
displaying in log 324
user-written functions
executing 278
userids
name of 212
V
variables
determining number in a data set 280, 281
value of specified operating system variable 282
verifying text or text expressions 193
version number 228
W
warning conditions
%SYSRC mnemonics for 188
warning messages 126
debugging and 124
preventing 96
text of last message formatted for log display 230
when macro references cannot resolve 350
when variable reference does not match variable 368
warning return codes 208
weekdays
for execution of SAS jobs or sessions 204
width
character width value 200
windows
creating application welcome window 338
defining customized windows 332
displaying macro windows 297
displaying text in message area 215
word rules 375
words
scanning macro variable values for 35
searching for, by position in a string 260
words, reserved 375
3.144.97.216