open pdf in webbrowser control c# : Online pdf editor to delete text application Library utility html asp.net .net visual studio hostwin0-part208

SAS
®
9.4 Companion for 
Windows
Fourth Edition
SAS
®
Documentation
Online pdf editor to delete text - delete, remove text from PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Allow C# developers to use mature APIs to delete and remove text content from PDF document
delete text pdf acrobat; pdf text remover
Online pdf editor to delete text - VB.NET PDF delete text library: delete, remove text from PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET Programming Guide to Delete Text from PDF File
how to copy text out of a pdf; remove text watermark from pdf online
The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2015. SAS® 9.4 Companion for Windows, Fourth Edition. Cary, 
NC: SAS Institute Inc.
SAS® 9.4 Companion for Windows, Fourth Edition
Copyright © 2015, SAS Institute Inc., Cary, NC, USA
All rights reserved. Produced in the United States of America.
For a hard-copy book: No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, 
electronic, mechanical, photocopying, or otherwise, without the prior written permission of the publisher, SAS Institute Inc.
For a web download or e-book: Your use of this publication shall be governed by the terms established by the vendor at the time you acquire this 
publication.
The scanning, uploading, and distribution of this book via the Internet or any other means without the permission of the publisher is illegal and 
punishable by law. Please purchase only authorized electronic editions and do not participate in or encourage electronic piracy of copyrighted 
materials. Your support of others' rights is appreciated.
U.S. Government License Rights; Restricted Rights: The Software and its documentation is commercial computer software developed at private 
expense and is provided with RESTRICTED RIGHTS to the United States Government. Use, duplication or disclosure of the Software by the 
United States Government is subject to the license terms of this Agreement pursuant to, as applicable, FAR 12.212, DFAR 227.7202-1(a), DFAR 
227.7202-3(a) and DFAR 227.7202-4 and, to the extent required under U.S. federal law, the minimum restricted rights as set out in FAR 52.227-19 
(DEC 2007). If FAR 52.227-19 is applicable, this provision serves as notice under clause (c) thereof and no other notice is required to be affixed to 
the Software or documentation. The Government's rights in Software and documentation shall be only those set forth in this Agreement.
SAS Institute Inc., SAS Campus Drive, Cary, North Carolina 27513-2414.
November 2015
SAS® and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other 
countries. ® indicates USA registration.
Other brand and product names are trademarks of their respective companies.
C# HTML5 PDF Viewer SDK to view, annotate, create and convert PDF
are able to set a password to PDF online directly in RaterEdge HTML5 PDF Editor for C#.NET allows users to C#.NET user can redact PDF text, PDF images and PDF
acrobat delete text in pdf; how to delete text in pdf preview
VB.NET PDF- HTML5 PDF Viewer for VB.NET Project
ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF C# Page: Insert PDF pages; C# Page: Delete PDF pages; C# PDF Viewer; VB.NET: ASP.NET PDF Editor; VB.NET
deleting text from a pdf; how to delete text from a pdf
Contents
About This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
What's New in the SAS 9.4 Windows Companion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
PART 1
Running SAS under Windows 
1
Chapter 1 • Getting Started under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
SAS: Exploiting the Power of Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Starting SAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Files Used by SAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Submitting SAS Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Interrupting Your SAS Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Running Windows or MS-DOS Commands from within SAS . . . . . . . . . . . . . . . . . . . 38
Terminating a SAS Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Ending Your SAS Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Chapter 2 • Interacting with SAS under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Overview of the SAS Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Working within Your SAS Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Customizing Your SAS Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Accessing Online Help and Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Chapter 3 • Using the SAS Editors under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Using the Enhanced Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Using the Program Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Chapter 4 • Using SAS Files under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Introduction to SAS Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Multi Engine Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Using Data Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Accessing SAS Files from Multiple SAS Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Using SAS Files from Other Versions with SAS 9.4 for Windows . . . . . . . . . . . . . . . 143
Using SAS 9.4 Files with Previous Releases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Using Remote Host SAS Files in SAS 9.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Reading BMDP, OSIRIS, and SPSS Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Transferring SAS Files between Operating Environments . . . . . . . . . . . . . . . . . . . . . . 151
Accessing Database Files with SAS/ACCESS Software . . . . . . . . . . . . . . . . . . . . . . . 151
Using the SAS ODBC Driver to Access SAS Data from Other Applications . . . . . . . 152
Chapter 5 • Using External Files under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
About External Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Referencing External Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Accessing External Files with SAS Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Accessing External Files with SAS Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Advanced External I/O Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
Advanced component and library able to delete PDF page in both Visual C# .NET WinForms and ASP.NET WebForms project. Free online C# class source code for
acrobat remove text from pdf; how to remove highlighted text in pdf
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
Online source codes for quick evaluation in VB.NET class. If you are looking for a solution to conveniently delete one page from your PDF document, you can use
delete text pdf document; remove text from pdf acrobat
Chapter 6 • Managing SAS Output under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Routing Procedure Output to a Web Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Routing Procedure Output and the SAS Log to a File . . . . . . . . . . . . . . . . . . . . . . . . . 188
Using the SAS Logging Facility to Write Log Messages . . . . . . . . . . . . . . . . . . . . . . . 190
Producing Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Chapter 7 • Performance Considerations under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Hardware Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Windows Features That Optimize Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
SAS Features That Optimize Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Network Performance Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Sasiotest Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Advanced Performance Tuning Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
PART 2
Using SAS with Other Windows Applications 
213
Chapter 8 • Using Windows System Tools with SAS under Windows . . . . . . . . . . . . . . . . . . . 215
Introduction to Using Windows System Tools with SAS . . . . . . . . . . . . . . . . . . . . . . . 215
Event Viewer Application Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Performance Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Starting SAS as a Windows Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Chapter 9 • Using OLE in SAS/AF Software under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
About OLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
SAS/AF Catalog Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Inserting an OLE Object in a FRAME Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Editing an OLE Object within a FRAME Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Invoking OLE Verbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Using Linked OLE Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Converting OLE Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Automating OLE Objects and Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Using OLE Custom Controls (OCXs) in Your SAS/AF Application . . . . . . . . . . . . . . 251
Chapter 10 • Controlling SAS from Another Application Using OLE . . . . . . . . . . . . . . . . . . . . 259
Introduction to Automating SAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Creating an Instance of SAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Getting Feedback from the SAS Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Examples of Automating SAS with OLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Methods and Properties for Use with a SAS OLE Automation Object . . . . . . . . . . . . 262
Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Chapter 11 • Using Dynamic Data Exchange under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Overview of Dynamic Data Exchange (DDE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
DDE Syntax within SAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Referencing the DDE External File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
DDE Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Chapter 12 • Using Unnamed and Named Pipes under Windows . . . . . . . . . . . . . . . . . . . . . . . 279
Overview of Pipes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Using Unnamed Pipes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Using Named Pipes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
iv
Contents
C# HTML5 PDF Viewer SDK to create PDF document from other file
ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF C# Page: Insert PDF pages; C# Page: Delete PDF pages; C# PDF Viewer; VB.NET: ASP.NET PDF Editor; VB.NET
how to erase text in pdf file; remove text from pdf
C# PDF insert text Library: insert text into PDF content in C#.net
SharePoint. Able to add a single text character and text string to PDF files using online source codes in C#.NET class program. Insert
how to delete text from pdf reader; delete text from pdf file
Chapter 13 • Accessing External DLLs from SAS under Windows . . . . . . . . . . . . . . . . . . . . . . 291
Overview of Dynamic Link Libraries in SAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
The SASCBTBL Attribute Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Special Considerations When Using External DLLs . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Chapter 14 • Special Considerations for SAS/AF Programmers under Windows . . . . . . . . . . 313
Controlling the Appearance and Behavior of SAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Controlling the Main SAS Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Accessing External DLLs from SAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Designing, Saving, and Loading Custom Toolbar Controls . . . . . . . . . . . . . . . . . . . . . 318
Invoking SAS/AF Applications Automatically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Associating Your Own Logo and Icons with Your SAS/AF Application . . . . . . . . . . . 319
PART 3
Features of the SAS Language for Windows
321
Chapter 15 • Data Set Options under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
SAS Data Set Options under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Chapter 16 • SAS Commands under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
SAS Commands under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Chapter 17 • SAS Formats under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
SAS Formats under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Writing Binary Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Accessing User-Written Formats from Releases Earlier Than SAS 9.4 . . . . . . . . . . . . 378
Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Chapter 18 • SAS Functions and CALL Routines under Windows . . . . . . . . . . . . . . . . . . . . . . 389
SAS Functions and CALL Routines under Windows . . . . . . . . . . . . . . . . . . . . . . . . . 389
Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Chapter 19 • SAS Informats under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
SAS Informats under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Reading Binary Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Converting User-Written Informats from Earlier Releases to SAS 9.4 . . . . . . . . . . . . 420
Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
Chapter 20 • SAS Procedures under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
SAS Procedures under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Chapter 21 • SAS Statements under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
SAS Statements under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Chapter 22 • SAS System Options under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
SAS System Options under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
Displaying SAS System Option Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
Changing SAS System Option Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
Processing System Options That Are Set in Several Places . . . . . . . . . . . . . . . . . . . . . 485
SAS System Options by Category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Contents
v
VB.NET PDF Text Extract Library: extract text content from PDF
Best VB.NET PDF text extraction SDK library and component for free download. Online Visual Basic .NET class source code for quick evaluation.
how to delete text in pdf using acrobat professional; how to erase text in pdf
C# PDF Text Extract Library: extract text content from PDF file in
Free online source code for extracting text from adobe PDF document in C#.NET class. Able to extract and get all and partial text content from PDF file.
how to delete text in pdf file online; how to delete text in pdf acrobat
Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
Chapter 23 • Length and Precision of Variables under Windows . . . . . . . . . . . . . . . . . . . . . . . 607
Length and Precision of Variables under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
Numeric Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
Character Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
Chapter 24 • SAS Macro Facility under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611
SAS Macro Facility under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611
Automatic Macro Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611
Macro Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
Macro Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
Autocall Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
PART 4
Appendixes
617
Appendix 1 • SCL Methods for Automating OLE Objects under Windows . . . . . . . . . . . . . . . . 619
Summary of OLE Class Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
Appendix 2 • Error Messages for SAS under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
Overview of SAS Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
Return Codes and Completion Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
Accessing Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
Using SAS Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
Using OLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
Using Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
Resolving Internal Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
Resolving Operating System and Windows Error Messages . . . . . . . . . . . . . . . . . . . . 635
Initialization and Termination Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
Appendix 3 • Graphics Considerations under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
Appendix 4 • Default Key Settings for Interactive SAS Sessions under Windows . . . . . . . . . 639
Default Key Definitions under Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
Keyboard Shortcuts within the SAS Main Window . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
Keyboard Shortcuts within the Enhanced Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
Keyboard Shortcuts within Print Preview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
Appendix 5 • Cleanwork Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
Cleanwork Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
Scheduling the Cleanwork Utility with Microsoft Task Scheduler . . . . . . . . . . . . . . . 650
Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
Appendix 6 • Sasiotest Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
Sasiotest Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
Best Practices and Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
Acceptable SAS I/O Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
Appendix 7 • Using EBCDIC Data on ASCII Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
About EBCDIC and ASCII Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
Moving Data from EBCDIC to ASCII Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
Moving Data from ASCII to EBCDIC Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
vi
Contents
Recommended Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
Contents
vii
viii
Contents
About This Book
Syntax Conventions for the SAS Language
Overview of Syntax Conventions for the SAS Language
SAS uses standard conventions in the documentation of syntax for SAS language 
elements. These conventions enable you to easily identify the components of SAS 
syntax. The conventions can be divided into these parts:
• syntax components
• style conventions
• special characters
• references to SAS libraries and external files
Syntax Components
The components of the syntax for most language elements include a keyword and 
arguments. For some language elements, only a keyword is necessary. For other 
language elements, the keyword is followed by an equal sign (=). The syntax for 
arguments has multiple forms in order to demonstrate the syntax of multiple arguments, 
with and without punctuation.
keyword
specifies the name of the SAS language element that you use when you write your 
program. Keyword is a literal that is usually the first word in the syntax. In a CALL 
routine, the first two words are keywords.
In these examples of SAS syntax, the keywords are bold:
CHAR (string, position)
CALL RANBIN (seed, n, p, x);
ALTER (alter-password)
BEST w.
REMOVE <data-set-name>
In this example, the first two words of the CALL routine are the keywords:
CALL RANBIN(seed, n, p, x)
The syntax of some SAS statements consists of a single keyword without arguments:
ix
DO;
... SAS code ...
END;
Some system options require that one of two keyword values be specified:
DUPLEX | NODUPLEX
Some procedure statements have multiple keywords throughout the statement syntax:
CREATE <UNIQUE> INDEX index-name ON table-name (column-1 <, column-2, …>)
argument
specifies a numeric or character constant, variable, or expression. Arguments follow 
the keyword or an equal sign after the keyword. The arguments are used by SAS to 
process the language element. Arguments can be required or optional. In the syntax, 
optional arguments are enclosed in angle brackets ( < > ).
In this example, string and position follow the keyword CHAR. These arguments are 
required arguments for the CHAR function:
CHAR (string, position)
Each argument has a value. In this example of SAS code, the argument string has a 
value of 'summer', and the argument position has a value of 4:
x=char('summer', 4);
In this example, string and substring are required arguments, whereas modifiers and 
startpos are optional.
FIND(string, substring <, modifiers> <, startpos>
argument(s)
specifies that one argument is required and that multiple arguments are allowed. 
Separate arguments with a space. Punctuation, such as a comma ( , ) is not required 
between arguments.
The MISSING statement is an example of this form of multiple arguments:
MISSING character(s);
<LITERAL_ARGUMENT> argument-1 <<LITERAL_ARGUMENT> argument-2 ... >
specifies that one argument is required and that a literal argument can be associated 
with the argument. You can specify multiple literals and argument pairs. No 
punctuation is required between the literal and argument pairs. The ellipsis (...) 
indicates that additional literals and arguments are allowed.
The BY statement is an example of this argument:
BY <DESCENDING> variable-1 <<DESCENDING> variable-2 …>;
argument-1 <option(s)> <argument-2 <option(s)> ...>
specifies that one argument is required and that one or more options can be 
associated with the argument. You can specify multiple arguments and associated 
options. No punctuation is required between the argument and the option. The 
ellipsis (...) indicates that additional arguments with an associated option are 
allowed.
The FORMAT procedure PICTURE statement is an example of this form of multiple 
arguments:
PICTURE name <(format-option(s))>
<value-range-set-1 <(picture-1-option(s))>
<value-range-set-2 <(picture-2-option(s))> …>>;
x
About This Book
Documents you may be interested
Documents you may be interested