SAS Institute. The Power to Know

SAS(R) 9.2 Language Reference: Dictionary, Second Edition

Previous Page | Next Page

What's New

What's New in the Base SAS 9.2 Language


Overview

The SAS 9.2 Base new features, language elements, and enhancements to the language elements continue to expand the capabilities of SAS:

  • SAS now supports the next generation Internet Protocol, IPv6, as well as IPv4.

  • The DATA step component Java object enables instantiation of Java classes and accessing fields and methods on resultant objects.

  • The SAS logging facility is a new logging subsystem that can be used to collect, categorize, and filter log events and write them to various output devices. The logging facility can be used to log SAS server events or events that are initiated from SAS programs. This feature is new for SAS 9.2 Phase 2.

  • In addition to SAS Monospace and SAS Monospace Bold TrueType fonts, new TrueType fonts are available when you install SAS.

  • Universal Printing now supports Scalable Vector Graphics (SVG), Portable Network Graphics (PNG), and PDFA-1b print output formats.

  • You can access remote files by using the Secure File Transfer Protocol (SFTP) access method.

  • SAS now reads and writes ISO 8601 dates, time, and intervals.

  • In support of batch programming, if a program terminates without completion, the new checkpoint mode enables programs to be resubmitted in restart mode, resuming with the DATA or PROC step that was executing when the program terminated.

  • In the "Functions and CALL Routines" section there are several new and enhanced functions as well as functions that were previously in other products and that are now part of Base SAS. The functions that moved from the Risk Dimensions product calculate the call and put prices from European options on futures, based on various models. The functions that moved from SAS/ETS return information about various date and time intervals. The functions from SAS High-Performance Forecasting return specific dates.

  • The documentation for string functions and CALL routines now has a restriction that identifies whether theses functions and CALL routines support Single Byte Character Sets (SBCS), Double Byte Character Sets (DBCS), or Multi-Byte Character Sets (MBCS). This distinction is important because improper use of these functions and CALL routines can result in unexpected behavior in programs that are written in a non-English language. The description for the restrictions is located in the Function Compatibility with DBCS, MBCS, and SBCS Character Sets section of the documentation.

  • In a DATA step, you can track the execution of code within a DO group. The DATA statement has an optional argument for you to write a note to the SAS log when the DO statement begins and ends.

  • New SAS system options enable you to set a default record length, specify options for accessing PDF files, specify values for Scalable Vector Graphics, support the checkpoint mode and the restart mode, and support fonts.

  • Some of the new features for the DATA step object attributes, operators, and methods remove all items from the hash object without deleting the instance of the hash object, consolidate the FIND and ADD methods into a single method call, return the number of items in the hash object, and specifies a starting key item for iteration.

  • In previous versions of SAS Language Reference: Dictionary, references to language elements in other publications were included in their respective dictionary for each language element type. For example, you could find a reference for the $BIDI format in the format dictionary entries. You can now find references to language elements that are documented in other publications within each section for the language element types. Online, this section appears just before the dictionary entries for each language element type. In the PDF or print copy, this section appears as the last topic for each language element type.

A section that describes how SAS syntax is written has been added. This section contains examples of how to interpret the syntax.


SAS System Features


Checkpoint Mode and Restart Mode

If a batch program terminates before it completes and it was started in checkpoint mode, the program can be resubmitted in restart mode, resuming with the DATA or PROC step that was executing when the program terminated. DATA and PROC steps that have already completed do not need to be rerun. See "Checkpoint Mode and Restart Mode" in SAS Language Reference: Concepts.


Support for ISO 8601 Basic and Extended Time Notations

In SAS 9.1.3, the formats and informats that support the ISO 8601 basic and extended time notations were documented in the SAS 9.1.3 XML LIBNAME: User's Guide. These formats and informats have been renamed and are now documented in SAS Language Reference: Dictionary.

The new names clearly distinguish the basic and extended formats and informats. You can see the renamed formats and informats in their respective sections in the topics that follow. In addition, a new CALL routine, IS8601_CONVERT, converts ISO 8601 intervals to datetime and duration values, and datetime and duration values to an ISO 8601 interval.


Support for IPv6

SAS 9.2 introduces support for the "next generation" of Internet Protocol, IPv6, which is the successor to the current Internet Protocol, IPv4. Rather than replacing IPv4 with IPv6, SAS 9.2 supports both protocols. A primary reason for the new protocol is that the limited supply of 32-bit IPv4 address spaces is being depleted. IPv6 uses a 128-bit address scheme, which provides more IP addresses than IPv4 did.

For more information, see Internet Protocol Version 6 (IPV6) in SAS Language Reference: Concepts.


Universal Printing and New TrueType Fonts

In SAS 9.2, all Universal Printers and many SAS/GRAPH devices use the FreeType engine to render TrueType fonts for output in all of the operating environments that SAS software supports. In addition, by default, many SAS/GRAPH device drivers and all Universal Printers generate output using ODS styles, and these ODS styles use TrueType fonts.

In addition to SAS Monospace and SAS Monospace Bold, 40 additional fonts (TrueType) are available when you install SAS:

  • Three Latin fonts compatible with Microsoft

  • Ten graphic symbol fonts

  • Eight multilingual Unicode fonts

  • Nineteen monolingual Asian fonts

New Universal printers include the following:

PDFA

produces an archivable PDF compliant with PDF/A-1b .

PNG

produces Portable Network Graphics, which is a raster image format that is designed to replace the older simple GIF and the more complex TIFF format.

PNGt

produces transparent Portable Network Graphics.

SVG

produces Scalable Vector Graphics, which is a language for describing two-dimensional graphics and graphical applications in XML.

SVGt

produces transparent Scalable Vector Graphics.

SVGnotip

produces Scalable Vector Graphics without tooltips.

SVGView

produces Scalable Vector Graphics with controls to navigate through multi-page SVG documents.

SVGZ

produces compressed Scalable Vector Graphics.

For more information, see Printing with SAS in SAS Language Reference: Concepts.


SAS Logging Facility Language Elements

The SAS logging facility is a flexible, configurable logging subsystem that you can use to collect, categorize, and filter log events and write them to a variety of output devices. The SAS language now includes autocall macros, functions, and DATA step component objects for creating logging facility components that categorize log events. The logging facility and the SAS log are two separate logging systems. For more information, including the reference documentation for the logging facility language elements, see The SAS Logging Facility in SAS Logging: Configuration and Programming Reference. This feature is new for SAS 9.2 Phase 2.


WHERE-Expression Processing

In a WHERE expression, the LIKE operator now supports an escape character. The escape character enables you to search for the percent sign (%) and the underscore (_) characters in values. For more information, see Syntax of WHERE Expression in SAS Language Reference: Concepts.


DATA Step Java Object

The DATA step component Java object enables you to instantiate Java classes and access fields and methods on the resultant objects. Although the documentation for the DATA step component Java object for SAS 9.2 Phase 1 has been available on http://support.sas.com, the documentation is available in SAS Help and Documentation for SAS 9.2 Phase 2.


Viewing Help and ODS Output in the Remote Browser

The remote browser has been used in some operating environments in prior releases of SAS to view SAS Help and ODS HTML output. You can now view SAS Help and ODS HTML output, and PDF and RTF output under z/OS, OpenVMS, UNIX, and Windows 64-bit environments. Windows 32-bit environments use the SAS browser to view Help and ODS output.

You enable remote browsing by configuring these system options:

HELPBROWSER=

specifies whether you want to use the remote browser or the SAS browser.

HELPHOST=

specifies the name of the computer where the remote browser sends Help and ODS output.

HELPPORT=

specifies the port number for the remote browser client.

For more information about remote browsing, see the Help documentation for your operating environment: OpenVMS, UNIX, Windows, z/OS


SAS Language Elements


Data Set Options

The DLDMGACTION=NOINDEX data set option has a new argument.

The NOINDEX argument automatically repairs the data set without the indexes and integrity constraints, deletes the index file, updates the data file to reflect the disabled indexes and integrity constraints, and limits the data file to be opened only in INPUT mode.


Formats

  • The following formats are new:

    $BASE64X

    converts character data to ASCII text using Base 64 encoding.

    $N8601B

    writes ISO 8601 duration, datetime, and interval forms using the basic notations PnYnMnDTnHnMnS and yyyymmddThhmmss.

    $N8601BA

    writes ISO 8601 duration, datetime, and interval forms using the basic notations PyyyymmddThhmmss and yyyymmddThhmmss.

    $N8601E

    writes ISO 8601 duration, datetime, and interval forms using the extended notations PnYnMnDTnHnMnS and yyyy-mm-ddThh:mm:ss.

    $N8601EA

    writes ISO 8601 duration, datetime, and interval forms using the extended notations Pyyyy-mm-ddThh:mm:ss and yyyy-mm-ddThh:mm:ss.

    $N8601EH

    writes ISO 8601 duration, datetime, and interval forms for the extended notations Pyyyy-mm-ddThh:mm:ss and yyyy-mm-ddThh:mm:ss, using a hyphen ( - ) for omitted components.

    $N8601EX

    writes ISO 8601 duration, datetime, and interval forms for the extended notations Pyyyy-mm-ddThh:mm:ss and yyyy-mm-ddThh:mm:ss, using an x for each digit of an omitted component.

    $N8601H

    writes ISO 8601 duration, datetime, and interval forms PnYnMnDTnHnMnS and yyyy-mm-ddThh:mm:ss, dropping omitted components in duration values and using a hyphen ( - ) for omitted components in datetime values.

    $N8601X

    writes ISO 8601 duration, datetime, and interval forms PnYnMnDTnHnMnS and yyyy-mm-ddThh:mm:ss, dropping omitted components in duration values and using an x for each digit of an omitted component in datetime values.

    B8601DA

    writes date values using the IOS 8601 base notation yyyymmdd.

    B8601DN

    writes the date from a datetime value using the ISO 8601 basic notation yyyymmdd.

    B8601DT

    writes datetime values in the ISO 8601 basic notation yyyymmddThhmmssffffff.

    B8601DZ

    writes datetime values in the Coordinated Universal Time (UTC) time scale using the ISO 8601 datetime and time zone basic notation yyyymmddThhmmss+|-hhmm.

    B8601LZ

    writes time values as local time by appending a time zone offset difference between the local time and UTC, using the ISO 8601 basic time notation hhmmss+|-hhmm.

    B8601TM

    writes time values using the ISO 8601 basic notation hhmmssffff.

    B8601TZ

    adjusts time values to the Coordinated Universal Time (UTC) and writes them using the ISO 8601 basic time notation hhmmss+|-hhmm.

    BESTD

    prints numeric values, lining up decimal places for values of similar magnitude, and prints integers without decimals.

    E8601DA

    writes date values using the ISO 8601 extended notation yyyy-mm-dd.

    E8601DN

    writes the date from a SAS datetime value using the ISO 8601 extended notation yyyy-mm-dd.

    E8601DT

    writes datetime values in the ISO 8601 extended notation yyyy-mm-ddThh:mm:ss.ffffff.

    E8601DZ

    writes datetime values in the Coordinated Universal Time (UTC) time scale using the ISO 8601 datetime and time zone extended notation yyyy-mm-ddThh:mm:ss+|-hh:mm.

    E8601LZ

    writes time values as local time, appending the Coordinated Universal Time (UTC) offset for the local SAS session, using the ISO 8601 extended time notation hh:mm:ss+|-hh:mm.

    E8601TM

    writes time values using the ISO 8601 extended notation hh:mm:ss.ffffff.

    E8601TZ

    adjusts time values to the Coordinated Universal Time (UTC) and writes the values using the ISO 8601 extended notation hh:mm:ss+|-hh:mm.

    MDYAMPM

    writes datetime values in the form mm/dd/yy<yy> hh:mm AM|PM. The year can be either two or four digits. This feature is new for SAS 9.2 Phase 2 and later.

    PERCENTN

    produces percentages, using a minus sign for negative values.

    SIZEK

    writes a numeric value in the form nK for kilobytes. This feature is new for SAS 9.2 Phase 2 and later.

    SIZEKB

    writes a numeric value in the form nKB for kilobytes. This feature is new for SAS 9.2 Phase 2 and later.

    SIZEKMG

    writes a numeric value in the form nKB for kilobytes, nMB for megabytes, or nGB for gigabytes. This feature is new for SAS 9.2 Phase 2 and later.

    VMSZN

    generates VMS and MicroFocus COBOL zoned numeric data.

  • The following formats were previously documented in other publications and are now part of this document:

    WEEKUw.

    writes a week number in decimal format by using the U algorithm.

    WEEKVw.

    writes a week number in decimal format by using the V algorithm.

    WEEKWw.

    writes a week number in decimal format by using the W algorithm.

  • The following format is enhanced:

    DATEw.

    In addition to writing dates in the form ddmmmyy or ddmmmyyyy, the DATEw. format now writes dates in the form dd-mmm-yyyy.


Functions and CALL Routines

  • In the second maintenance release after SAS 9.2, best practices for custom interval names for date and time functions is new.

  • The following functions and CALL routines are new:

    ALLCOMB

    generates all combinations of the values of n variables taken k at a time in a minimal change order.

    ALLPERM

    generates all permutations of the values of several variables in a minimal change order.

    ARCOSH

    returns the inverse hyperbolic cosine.

    ARSINH

    returns the inverse hyperbolic sine.

    ARTANH

    returns the inverse hyperbolic tangent.

    CALL ALLCOMB

    generates all combinations of the values of n variables taken k at a time in a minimal change order.

    CALL ALLCOMBI

    generates all combinations of the indices of n objects taken k at a time in a minimal change order.

    CALL GRAYCODE

    generates all subsets of n items in a minimal change order.

    CALL ISO8601_CONVERT

    converts an ISO 8601 interval to datetime and duration values, or converts datetime and duration values to an ISO 8601 interval.

    CALL LEXCOMB

    generates all distinct combinations of the non-missing values of n variables taken k at a time in lexicographic order.

    CALL LEXCOMBI

    generates all combinations of the indices of n objects taken k at a time in lexicographic order.

    CALL LEXPERK

    generates all distinct permutations of the non-missing values of n variables taken k at a time in lexicographic order.

    CALL LEXPERM

    generates all distinct permutations of the non-missing values of several variables in lexicographic order.

    CALL SORTC

    sorts the values of character arguments.

    CALL SORTN

    sorts the values of numeric arguments.

    CATQ

    concatenates character or numeric values by using a delimiter to separate items and by adding quotation marks to strings that contain the delimiter.

    CHAR

    returns a single character from a specified position in a character string.

    CMISS

    counts the number of missing arguments.

    COUNTW

    counts the number of words in a character expression.

    DIVIDE

    returns the result of a division that handles special missing values for ODS output.

    ENVLEN

    returns the length of an environment variable.

    EUCLID

    returns the Euclidean norm of the non-missing arguments.

    FINANCE

    computes financial calculations such as deprecation, maturation, accrued interest, net present value, periodic savings, and internal rates of return.

    FINDW

    searches a character string for a word.

    FIRST

    returns the first character in a character string.

    GCD

    returns the greatest common divisor for one or more integers.

    GEODIST

    returns the geodetic distance between two latitude and longitude coordinates.

    GRAYCODE

    generates all subsets of n items in a minimal change order.

    INTFIT

    returns a time interval that is aligned between two dates.

    INTGET

    returns an interval based on three date or datetime values.

    INTSHIFT

    returns the shift interval that corresponds to the base interval.

    INTTEST

    returns 1 if a time interval is valid, and returns 0 if a time interval is invalid.

    LCM

    returns the smallest multiple that is exactly divisible by every number in a set of numbers.

    LCOMB

    computes the logarithm of the COMB function--that is, the logarithm of the number of combinations of n objects taken r at a time.

    LEXCOMB

    generates all distinct combinations of the non-missing values of n variables taken k at a time in lexicographic order.

    LEXCOMBI

    generates all combinations of the indices of n objects taken k at a time in lexicographic order.

    LEXPERK

    generates all distinct permutations of the non-missing values of n variables taken k at a time in lexicographic order.

    LEXPERM

    generates all distinct permutations of the non-missing values of several variables in lexicographic order.

    LFACT

    computes the logarithm of the FACT (factorial) function.

    LOG1PX

    returns the log of 1 plus the argument.

    LPERM

    computes the logarithm of the PERM function--that is, the logarithm of the number of permutations of n objects, with the option of including r number of elements.

    LPNORM

    returns the Lp norm of the second argument and subsequent non-missing arguments.

    MD5

    returns the result of the message digest of a specified string.

    MODEXIST

    determines whether a software image exists in the version of SAS that you have installed.

    MSPLINT

    returns the ordinate of a monotonicity-preserving interpolating spline.

    RENAME

    renames a member of a SAS library, an external file, or a directory.

    SUMABS

    returns the sum of the absolute values of the non-missing arguments.

    TRANSTRN

    removes or replaces all occurrences of a substring in a character string.

    WHICHC

    searches for a character value that is equal to the first argument, and returns the index of the first matching value.

    WHICHN

    searches for a numeric value that is equal to the first argument, and returns the index of the first matching value.

    ZIPCITYDISTANCE

    returns the geodetic distance between two ZIP code locations.

  • The descriptions of the arguments in the following functions are enhanced:

    DOPEN

    opens a directory, and returns a directory identifier value.

    EXIST

    verifies the existence of a SAS library member.

    FOPEN

    opens an external file and returns a file identifier value.

    FEXIST

    verifies the existence of an external file that is associated with a fileref.

    FILENAME

    assigns or deassigns a fileref to an external file, a directory, or an output device.

    FILEREF

    verifies whether a fileref has been assigned for the current SAS session.

    LIBNAME

    assigns or deassigns a libref for a SAS library.

    LIBREF

    verifies that a libref has been assigned.

    MOPEN

    opens a file by directory ID and member name, and returns either the file identifier or a 0.

    PATHNAME

    returns the physical name of a SAS library or an external file, or returns a blank.

  • The following functions were previously in Risk Dimensions, and are now in Base SAS:

    BLACKCLPRC

    calculates the call price for European options on futures, based on the Black model.

    BLACKPTPRC

    calculates the put price for European options on futures, based on the Black model.

    BLKSHCLPRT

    calculates the call price for European options, based on the Black-Scholes model.

    BLKSHPTPRT

    calculates the put price for European options, based on the Black-Scholes model.

    GARKHCLPRC

    calculates the call price for European options on stocks, based on the Garman-Kohlhagen model.

    GARKHPTPRC

    calculates the put price for European options on stocks, based on the Garman-Kohlhagen model.

    MARGRCLPRC

    calculates the call price for European options on stocks, based on the Margrabe model.

    MARGRPTPRC

    calculates the put price for European options on stocks, based on the Margrabe model.

  • The following functions were previously in SAS/ETS, and are now in Base SAS:

    INTCINDEX

    returns the cycle index, given a date, time, or datetime value.

    INTCYCLE

    returns the date, time, or datetime interval at the next higher seasonal cycle, given a date, time, or datetime interval.

    INTFMT

    returns a recommended format, given a date, time, or datetime interval.

    INTINDEX

    returns the seasonal index, given a date, time, or datetime interval and value.

    INTSEAS

    returns the length of the seasonal cycle, given a date, time, or datetime interval.

  • The following functions were previously in SAS High-Performance Forecasting, and are now in Base SAS:

    HOLIDAY

    returns the date of the specified holiday for the specified year.

    NWKDOM

    returns the date for the nth occurrence of a weekday for the specified month and year.

  • The following functions were moved from SAS Language Reference: Dictionary to the SAS/IML documentation:

    MODULEIC

    calls an external routine and returns a character value (in the IML environment only).

    MODULEIN

    calls an external routine and returns a numeric value (in the IML environment only).

    CALL MODULEI

    calls an external routine without any return code (in the IML environment only).

  • The following functions and CALL routines are enhanced:

    CALL POKE

    can now write floating-point numbers directly into memory on a 32-bit platform.

    CALL POKELONG

    can now write floating-point numbers directly into memory on 32-bit and 64-bit platforms.

    CALL SCAN

    returns the position and length of a given word from a character expression.

    DATDIF

    now has new values for the basis argument, and has a reference to a document that is published by the Securities Industry Association.

    FSEP

    now has an optional argument for a hexadecimal character delimiter.

    INDEX

    now has an example that shows how leading and trailing spaces are handled.

    INDEXW

    can now have alternate delimiters. If you use an alternate delimiter, then INDEXW does not recognize the end of the text as the end data. Another example has also been added to the function.

    INTCK

    now has a fifth argument in the syntax. Retail calendar intervals that are ISO 8601 compliant, and custom intervals have been added.

    INTNX

    can now use retail calendar intervals that are ISO 8601 compliant.

    INTCINDEX, INTCYCLE, INTFIT, INTFMT, INTGET, INTINDEX, INTSEAS, INTSHIFT, and INTTEST

    are now able to use retail calendar intervals that are ISO 8601 compliant.

    LAG

    now has more information about memory limits.

    LIBNAME

    now has sections that explain how to use the LIBNAME function with one, two, three, and four arguments.

    OPEN

    has a new fourth argument. This argument specifies whether the first argument is a two-level name (data set name) or a filename.

    SCAN

    returns the nth word from a character expression.

    TRANSTRN

    has been rewritten.

    TRANWRD

    has an updated Comparisons section and a new example.

    WEEK

    now has enhanced documentation for the U, V, and W descriptors.

    ZIPSTATE

    now has information about Army Post Office (APO) and Fleet Post Office (FPO) codes.

  • The RX set of functions and CALL routines have been removed from the documentation. They have been replaced by a set of PRX functions and CALL routines, which have been available in previous versions of SAS, and which provide superior functionality.

    The following table lists the RX functions and CALL routines and their PRX replacements:

    RX Function PRX Replacement
    CALL RXCHANGE CALL PRXCHANGE
    CALL RXFREE CALL PRXFREE
    CALL RXSUBSTR CALL PRXSUBSTR
    RXMATCH PRXMATCH
    RXPARSE PRXPARSE

  • The SCANQ function and the CALL SCANQ routine have been removed from the documentation and replaced by the superior functionality of the SCAN function and CALL SCAN routine.


Informats

  • The following informats are new:

    $BASE64X

    converts ASCII text to character data by using Base 64 encoding.

    $N8601B

    reads complete, truncated, and omitted forms of ISO 8601 duration, datetime, and interval values that are specified in either the basic or extended notations.

    $N8601E

    reads ISO 8601 duration, datetime, and interval values that are specified in the extended notation.

    B8601DA

    reads date values that are specified in the ISO 8601 basic notation yyyymmdd.

    B8601DN

    reads date values that are specified the ISO 8601 basic notation yyyymmdd and returns SAS datetime values where the time portion of the value is 000000.

    B8601DT

    reads datetime values that are specified in the ISO 8601 basic notation yyyymmddThhmmssffffff.

    B8601DZ

    reads datetime values that are specified in the Coordinated Universal Time (UTC) time scale using the ISO 8601 datetime basic notation yyyymmddThhmmss+|-hhmm or yyyymmddThhmmssffffffZ.

    B8601TM

    reads time values that are specified in the ISO 8601 basic notation hhmmssffffff.

    B8601TZ

    reads time values that are specified in the ISO 8601 basic time notation hhmmssfffff+|-hhmm or hhmmssffffffZ.

    E8601DA

    reads date values that are specified in the ISO 8601 extended notation yyyy-mm-dd.

    E8601DN

    reads date values that are specified in the ISO 8601 extended notation yyyy-mm-dd and returns SAS datetime values where the time portion of the value is 000000.

    E8601DT

    reads datetime values that are specified in the ISO 8601 extended notation yyyy-mm-ddThh:mm:ss.ffffff.

    E8601DZ

    reads datetime values that are specified in the Coordinated Universal Time (UTC) time scale using the ISO 8601 datetime extended notation hh:mm:ss+|-hh:mm.fffff orhh:mm:ss.fffffZ.

    E8601LZ

    reads Coordinated Universal Time (UTC) values that are specified in the ISO 8601 extended notation hh:mm:ss+|-hh:mm.fffff or hh:mm:ss.fffffZ and converts them to the local time.

    E8601TM

    reads time values that are specified in the ISO 8601 extended notation hh:mm:ss.ffffff.

    E8601TZ

    reads time values that are specified in the ISO 8601 extended time notation hh:mm:ss+|-hh:mm.ffffff or hh:mm:ssZ.

    S3270FZDB

    reads zoned decimal data in which zeros have been left blank. This feature is new for SAS 9.2 Phase 2 and later.

    SIZEKMG

    reads numeric data that is appended to the letters K, M, or G. This feature is new for SAS 9.2 Phase 2 and later.

    VMSZN

    reads VMS and MicroFocus COBOL zoned numeric data.

  • The following informat is enhanced:

    TRAILSGN

    In addition to reading trailing plus (+) and minus (-) signs, the TRAILSGN informat now reads values that contain commas.

  • The following informats were previously documented in other publications and are now part of this document:

    WEEKUw.

    reads the format of the number-of-week value within the year and returns a SAS date value using the U algorithm.

    WEEKVw.

    reads the format of the number-of-week value within the year and returns a SAS date value using the V algorithm.

    WEEKWw.

    reads the format of the number-of-week value within the year and returns a SAS date value using the W algorithm.


Statements

  • The following statements are new:

    CHECKPOINT EXECUTE_ALWAYS

    enables you to execute the DATA or PROC step that immediately follows without considering the checkpoint-restart data.

    FILENAME, SFTP Access Method

    enables you to access remote files by using the SFTP protocol.

    SYSECHO

    enables IOM clients to manually track the progress of a segment of a submitted SAS program.

  • The following statements are enhanced:

    %INCLUDE

    • The filename of a file that is located in an aggregate storage location and does not have a valid SAS name can be used as a fileref if the filename is enclosed in quotation marks.

    • The maximum line limit is now 6K.

    ABORT

    Two new optional arguments enable you to do the following:

    • cause the execution of the submitted statements to be canceled.

    • suppress the output of all variables to the SAS log.

    ATTRIB

    The TRANSCODE=NO attribute is not supported by some SAS Workspace Server clients. In SAS 9.2, if the attribute is not supported, variables with TRANSCODE=NO are replaced (masked) with asterisks (*). Before SAS 9.2, variables with TRANSCODE=NO were transcoded.

    BY

    The BY statement honors the linguistic collation of data that is sorted by using the SORT procedure with the SORTSEQ=LINGUISTIC option.

    DATA

    Three new optional arguments enable you to do the following:

    • write a note to the SAS log for the beginning and end of each level of nesting DO statements.

    • specify the maximum number of nested LINK statements.

    • suppress the output of all variables to the SAS log.

    DECLARE

    • Data set options can now be used with the dataset: argument tag.

    • Three new argument tags enable you to do the following:

      • maintain a summary count of hash object keys.

      • ignore duplicate keys when loading a data set into the hash object.

      • specify whether multiple data items are allowed for each key.

    FILE

    • The filename of a file that is located in an aggregate storage location and does not have a valid SAS name can be used as a fileref if the filename is enclosed in quotation marks.

    • A new option enables you to specify a character string as an alternate delimiter (other than a blank) to be used for LIST output.

    FILENAME, CATALOG Access Method

    You can now specify RECFM=S (stream-record format).

    FILENAME, EMAIL (SMTP) Access Method
    • You can now specify a file attachment without an extension.

    • A new option enables you to specify the priority of the e-mail message.

    FILENAME, FTP Access Method

    Seven new FTP options enable you to do the following:

    • specify the name of an authentication domain metadata object that references credentials (user ID and password) in order to connect to the FTP server without your having to explicitly specify the credentials.

    • specify that the member type of DATA is automatically appended to the member name when you use the DIR option.

    • enable autocall macro retrieval of lowercase directory or member names from FTP servers.

    • save the user ID and password after the user ID and password prompt are successfully executed.

    • specify the line delimiter to use for variable-record formats: carriage return followed by a line feed, a line feed only, or a NULL character.

    • specify the length of the FTP server response message.

    • in the second maintenance release after SAS 9.2, specify an FTP response wait time in milliseconds.

    FILENAME, SFTP Access Method

    In SAS 9.2 Phase 2 and later, two new SFTP options enable you to do the following:

    • specify the fully qualified pathname and the filename of the batch file that contains the SFTP commands. These commands are submitted when the SFTP access method is executed.

    • specify an SFTP response wait time in milliseconds.

    FILENAME, URL Access Method

    • N can now be used as an alias for a stream-record format (RECFM=S).

    • Five new URL options enable you to do the following:

      • specify the name of an authentication domain metadata object that references credentials (user ID and password) in order to connect to the proxy or Web server without your having to explicitly specify the credentials.

      • specify a fileref to which the header information is written when a file is opened using the URL access method. The header information is the same information that is written to the SAS log.

      • specify a user name with which you can access the proxy server.

      • specify a password with which you can access the proxy server.

      • specify the line delimiter to use when RECFM=V.

    FILENAME, WebDAV Access Method

    • For SAS 9.2 Phase 2 and later, the FILENAME statement, WebDAV Access Method is available for use in the z/OS operating environment.

    • The SASBAMW keyword in the FILENAME statement syntax has been changed to WEBDAV.

    • Three new WebDAV options enable you to do the following:

      • access directory files.

      • specify that a file extension is automatically appended to the filename when you use the DIR option.

      • retry lowercase directory or member names from WebDAV servers by using an autocall macro.

    FOOTNOTE

    a new argument enables you to specify formatting options for the ODS HTML, RTF, and PRINTER(PDF) destinations.

    INFILE

    • The filename of a file that is located in an aggregate storage location and does not have a valid SAS name can be used as a fileref if the filename is enclosed in quotation marks.

    • A new option enables you to specify a character string as an alternate delimiter (other than a blank) to be used for LIST input.

    • A new optional argument specifies the type of device or the access method that is used if the fileref points to an input or output device or location that is not a physical file.

    LIBNAME for WebDAV Server Access

    • When you assign a libref to a file on a WebDAV server, the path (URL location), user ID, and password are associated with that libref. After the first libref is assigned, the user ID and password will be validated on subsequent attempts to assign another libref to the same library.

    • SAS will honor a lock request on a file on a WebDAV server only if the file is already locked by another user.

    • Two new WebDAV options enable you to do the following:

      • specify the name of an authentication domain metadata object that references credentials (user ID and password) in order to connect to the WebDAV server without your having to explicitly specify the credentials.

      • prompt the user for an ID and password.

    MERGE

    a new argument enables you to specify at least two existing SAS data sets by using either a numbered range list or a named prefix list.

    SET

    • a new argument creates and names a variable that stores the name of the SAS data set from which the current observation is read. The stored name can be a data set name or a physical name. The physical name is the name by which the operating environment recognizes the file.

    • a new argument enables you to specify at least two existing SAS data sets by using either a numbered range list or a named prefix list.

    TITLE

    added an argument that enables you to specify formatting options for the ODS HTML, RTF, and PRINTER(PDF) destinations.


System Options

  • The following system options are new:

    CGOPTIMIZE=

    specifies the level of optimization to perform during code optimization. This feature is new for SAS 9.2 Phase 2 and later.

    CMPMODEL=

    specifies the output model type for the MODEL procedure.

    DEFLATION=

    specifies the level of compression for device drivers that support the Deflate compression algorithm.

    DMSPGMLINESIZE=

    specifies the maximum number of characters in a Program Editor line.

    EMAILFROM

    when sending an e-mail that uses SMTP, specifies whether the e-mail option FROM is required in either the FILE or the FILENAME statement.

    FILESYNC=

    specifies when operating system buffers that contain contents of permanent SAS files are written to disk.

    FONTEMBEDDING

    specifies whether font embedding is enabled in Universal Printer and SAS/GRAPH printing.

    FONTRENDERING=

    specifies whether SAS/GRAPH devices that are based on the SASGDGIF, SASGDTIF, and SASGDIMG modules render fonts by using the operating system or by using the FreeType font engine.

    GSTYLE

    specifies whether ODS styles can be used in the generation of graphs that are stored as GRSEG catalog entries.

    HELPBROWSER=

    specifies the browser to use for SAS Help and ODS output. This feature is new for SAS 9.2 Phase 2 and later.

    HELPHOST=

    specifies the name of the computer where the remote browser is to send Help and ODS output. This feature is new for SAS 9.2 Phase 2 and later.

    HELPPORT=

    specifies the port number for the remote browser client. This feature is new for SAS 9.2 Phase 2 and later.

    HTTPSERVERPORTMAX=

    specifies the highest port number that can be used by the SAS HTTP server for remote browsing. This feature is new for SAS 9.2 Phase 2 and later.

    HTTPSERVERPORTMIN=

    specifies the lowest port number that can be used by the SAS HTTP server for remote browsing. This feature is new for SAS 9.2 Phase 2 and later.

    IBUFNO=

    specifies an optional number of extra buffers to be allocated for navigating an index file. SAS automatically allocates a minimal number of buffers in order to navigate the index file. Typically, you do not need to specify extra buffers. However, using IBUFNO= to specify extra buffers could improve execution time by limiting the number of input/output operations that are required for a particular index file.

    INTERVALDS=

    specifies a SAS data set that contains user-supplied holidays that can be used by the INTNX and INTCK functions. This feature is new for SAS 9.2 Phase 2 and later.

    JPEGQUALITY

    specifies the JPEG quality factor that determines the ratio of image quality to the level of compression for JPEG files processed by the SAS/GRAPH JPEG device driver.

    LRECL=

    specifies the default logical record length to use for reading and writing external files.

    PDFACCESS

    specifies whether text and graphics from PDF documents can be read by screen readers for the visually impaired.

    PDFASSEMBLY

    specifies whether PDF documents can be assembled.

    PDFCOMMENT

    specifies whether PDF document comments can be modified.

    PDFCONTENT

    specifies whether the contents of a PDF document can be changed.

    PDFCOPY

    specifies whether text and graphics from a PDF document can be copied.

    PDFFILLIN

    specifies whether PDF forms can be filled in.

    PDFPAGELAYOUT

    specifies the page layout for PDF documents.

    PDFPAGEVIEW

    specifies the page viewing mode for PDF documents.

    PDFPASSWORD

    specifies the password to use to open a PDF document and the password used by a PDF document owner.

    PDFPRINT

    specifies the resolution to print PDF documents.

    PDFSECURITY

    specifies the printing permissions for PDF documents.

    PRIMARYPROVIDERDOMAIN=

    specifies the domain name of the primary authentication provider. This feature is new for SAS 9.2 Phase 2 and later.

    S2V=

    specifies the starting position to begin reading a file specified in a %INCLUDE statement, an autoexec file, or an autocall macro file with a variable length format.

    SORTVALIDATE

    specifies whether the SORT procedure verifies that a data set is sorted according to the variables in the BY statement when the sort indicator metadata indicates a user-specified sort order.

    SQLCONSTDATETIME

    specifies whether the SQL procedure replaces references to the DATE, TIME, DATETIME, and TODAY functions in a query with their equivalent constant values before the query executes.

    SQLREDUCEPUT=

    for the SQL procedure, specifies the engine type that a query uses for which optimization is performed by replacing a PUT function in a query with a logically equivalent expression.

    SQLREDUCEPUTOBS=

    for the SQL procedure when the SQLREDUCEPUT= system option is set to NONE, specifies the minimum number of observations that must be in a table for PROC SQL to consider optimizing the PUT function in a query.

    SQLREDUCEPUTVALUES=

    for the SQL procedure when the SQLREDUCEPUT= system option is set to NONE, specifies the minimum number of SAS format values that can exist in a PUT function expression in order for PROC SQL to consider optimizing the PUT function in a query.

    SQLREMERGE

    specifies whether the SQL procedure can process queries that use remerging of data.

    SQLUNDOPOLICY=

    specifies whether the SQL procedure keeps or discards updated data if errors occur while the data is being updated.

    STEPCHKPT

    specifies whether to run a batch program in checkpoint-restart mode. In checkpoint-restart mode, if a batch program terminates during execution, the program can be restarted beginning with the DATA or PROC step that was executing when the program terminated.

    STEPCHKPTLIB

    specifies the libref which identifies the library that contains the checkpoint-restart data.

    STEPRESTART

    specifies whether to start a batch program using the checkpoint data.

    SVGCONTROLBUTTONS

    specifies whether to display the paging control buttons and an index in a multi-page SVG document.

    SVGHEIGHT

    specifies the height of the viewport unless the SVG output is embedded in another SVG output; specifies the value of the HEIGHT attribute of the outermost <svg> element in the SVG file.

    SVGPRESERVEASPECTRATIO

    specifies whether to force uniform scaling of SVG output; sets the preserveAspectRatio attribute on the outermost <svg> element.

    SVGTITLE

    specifies the title in the title bar of the SVG output; specifies the value of the <title> element in the SVG file.

    SVGVIEWBOX

    specifies the coordinates, width, and height that are used to set the viewBox attribute on the outermost <svg> element, which enables SVG output to scale to the viewport.

    SVGWIDTH

    specifies the width of the viewport unless the SVG output is embedded in another SVG output; specifies the value of the width attribute of the outermost <svg> element in the SVG file.

    SVGX

    specifies the x-axis coordinate of one corner of the rectangular region into which an embedded <svg> element is placed; specifies the x attribute on the outermost <svg> element of the SVG file.

    SVGY

    specifies the y-axis coordinate of one corner of the rectangular region into which an embedded <svg> element is placed; specifies the y attribute on the outermost <svg> element of the SVG file.

    UPRINTCOMPRESSION

    specifies whether to enable compression of Universal Printer and SAS/GRAPH print files.

    VARLENCHK=

    specifies the type of message to write to the SAS log if the length of a variable is increased when the input data set is read using the SET, MERGE, UPDATE, or MODIFY statements. This option is new for SAS 9.2 Phase 2.

  • The following system options have a new argument:

    DLDMGACTION=NOINDEX

    For data sets, automatically repairs the data set without the indexes and integrity constraints, deletes the index file, updates the data file to reflect the disabled indexes and integrity constraints, and limits the data file to be opened only in INPUT mode.

    CMPOPT=FUNCDIFFERENCING

    specifies whether analytic derivatives are computed for user-defined functions.

  • The following system options are enhanced:

    ECHOAUTO

    SAS writes the autoexec file statements to the SAS log.

    EMAILHOST

    You can now specify multiple Simple Mail Transfer Protocol (SMTP) mail servers.

    E-mail system options

    All e-mail system options can now be set at any time. They are no longer restricted to being set when SAS starts.

    OVP

    The default value for the OVP system option is now NOOVP.

    SYSPRINTFONT=

    You can specify the name of a Universal Printer to which the SYSPRINTFONT system option setting applies.

  • The syntax for the following system options is different when these system options are used after SAS starts, as compared to the syntax that is used when SAS starts. For the syntax to use when SAS starts, see the documentation for your operating environment. This feature is new for SAS 9.2 Phase 2:

    APPEND=

    Appends a value to the existing value of the specified system option.

    INSERT=

    Inserts the specified value as the first value of the specified system option.

  • The following system options are no longer supported and have been removed from the documentation:

    BATCH

    no longer has an impact on the settings for the LINESIZE, OVP, PAGESIZE, and SOURCE system options when SAS executes.

    GISMAPS

    SAS 9.2 no longer supplies U.S. Census Tract maps for SAS/GIS.


DATA Step Object Attributes, Operators, and Methods

  • For SAS 9.2 Phase 2 and later, the Java object language elements in Java Object Language Elements are now documented in SAS Language Reference: Dictionary.

  • The following hash and hash iterator methods are new:

    CLEAR

    removes all items from the hash object without deleting the hash object instance.

    EQUALS

    determines whether two hash objects are equal.

    FIND_NEXT

    sets the current list item to the next item in the current key's multiple item list and sets the data for the corresponding data variables.

    FIND_PREV

    sets the current list item to the previous item in the current key's multiple item list and sets the data for the corresponding data variables.

    HAS_NEXT

    determines whether there is a next item in the current key's multiple data item list.

    HAS_PREV

    determines whether there is a previous item in the current key's multiple data item list.

    REF

    consolidates the FIND and ADD methods into a single method call.

    REMOVEDUP

    removes the data that is associated with the specified key's current data item from the hash object.

    REPLACEDUP

    replaces the data that is associated with the current key's current data item with new data.

    SETCUR

    specifies a starting key item for iteration.

    SUM

    retrieves the summary value for a given key from the hash table and stores the value in a DATA step variable.

    SUMDUP

    retrieves the summary value for the current data item of the current key and stores the value in a DATA step variable.

  • The following hash object method is enhanced:

    DEFINEDONE

    added an optional argument that enables recovery from memory failure when loading a data set into a hash object.

  • The following hash object attribute is new:

    ITEM_SIZE

    returns the number of items in the hash object.

  • The _NEW_ statement has been reclassified as an operator.

  • For SAS 9.2 Phase 2 and later, the items in a multiple data item list are now maintained in the order in which you insert them.

Previous Page | Next Page | Top of Page