Index

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

%NRBQUOTE function 93, 256

%NRQUOTE function 257

%NRSTR function 89, 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

left-aligning 183, 185

arithmetic expressions 75

defining 76

evaluating 76, 78

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

autocall libraries 117, 118

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

autocall macros 10, 172

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

compressing multiple 179, 185

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

scope and 66, 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 macros 6, 37

calling stored compiled macros 122

case changes 184, 186, 285

case sensitivity 9, 118

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

comments 6, 294

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

compressing blanks 179, 185

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

DATA step interfaces 106, 171

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

defining macros 5, 37

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

dummy macros 39, 130

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 64, 304

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

interfaces 10, 105, 171

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

keyword parameters 8, 318

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 179, 185

removing from macro variables 239

left-alignment 183, 185

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 58, 313

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 76, 80

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

macro definitions 5, 37

allowing new definitions 346

beginning 315

compiling 38, 121

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

interfaces 10, 105, 171

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

keyword parameters 8, 318

positional 318

validating 301

macro processing 13, 37

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

macro processor 3, 16

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

macro statements 10, 160

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

errors 124, 127

examining with SYMBOLGEN 141

problems during DATA step compilation 133

problems with 127

macro variable scopes

See scopes of macro variables

macro variables 4, 21

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

existence of 243, 270

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

defining 5, 37

developing bug-free 125

developing in layered approach 124

dummy macros 39, 130

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

macros, portable 145, 152

%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

masking 5, 84, 185, 186

deciding how much text to mask 94

referring to already quoted variables 94

summary of 98

unmasking 284

masking functions

%BQUOTE 93, 252

%NRBQUOTE 93, 252

%NRQUOTE 257, 258

%NRSTR 89, 257, 264

%QUOTE 258

%STR 89, 264

%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

masking 84, 89

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

process name 219, 225

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

open code 5, 22

macro statements used in 160

open code recursion 129

operands 77

character operands 81

floating-point operands 79

numeric operands 78, 80

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

process name 219, 225

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

quoting functions 5, 165

%BQUOTE 252

%NRBQUOTE 252

%NRQUOTE 258

%NRQUOTE function 257

%NRSTR 257, 264

%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

release number 228, 229

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

reserved words 26, 375

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

release number 228, 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

saving macros

in autocall libraries 118

stored compiled macro facility for 121

scanning macro variable values for words 35

SCL 112

example of macros in 113

interfaces 112, 172

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

masking 84, 89

special tokens 15

SQL procedure 111

assigning values to macro variables 287

controlling job execution 111

interfaces 111, 172

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

symbol tables 16, 22, 48

amount of memory available to 365

global 48, 233, 325

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

tokens 14, 377

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 179, 183, 185

removing from macro variables 239

trimming 186, 192

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

word scanner 14, 17

words

scanning macro variable values for 35

searching for, by position in a string 260

words, reserved 375

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.97.216