SAS Institute. The Power to Know

What's New in SAS(R) 9.2

What's New

What's New in SAS 9.2 National Language Support (NLS) Reference Guide


Overview

In this release, SAS has expanded the scope and capabilities of National Language Support (NLS). NLS is a set of features that enable a software product to function properly in every global market for which the product is targeted. SAS contains NLS features to ensure that you can write SAS applications that conform to local language conventions. Typically, software that is written in the English language works well for users who use the English language and data that is formatted using the conventions that are observed in the United States. However, without NLS, these products might not work as well for users in other regions of the world. NLS in SAS enables users in regions such as Asia and Europe to process data successfully in their native languages and environments.

This topic describes the changes and enhancements that have been made to the NLS documentation and features.


Documentation Enhancements

  • The title of this document was changed for SAS 9.2 NLS. The new title is SAS National Language Support (NLS): Reference Guide.

  • The Collating Sequences section, which describes the orders in which characters are sorted, has been revised.

  • SAS recommends that users use the NL language elements instead of the EUR language elements. The EUR language elements are in an appendix titled Additional Language Elements.


Internationalization Compatibility for SAS String Functions

The Internationalization Compatibility for SAS String Functions section specifies the level of internationalization compatibility for SAS string functions.


Language Switching

The Language Switching section describes how you can view SAS messages in another language using a Unicode server.


Locales

The following locales have been added in SAS 9.2 NLS. Information on how locales work in SAS programming is provided in Overview of Locale Concepts for NLS:

  • Afrikaans_SouthAfrica

  • Albanian_Albania

  • Arabic_India

  • Arabic_Iraq

  • Arabic_Libya

  • Arabic_Sudan

  • Arabic_Syria

  • Arabic_Yemen

  • Bengali_India

  • Bosnian_BosniaHerzegovina

  • Catalan_Spain

  • Cornish_UnitedKingdom

  • Croatian_BosniaHerzegovina

  • English_Belgium

  • English_Botswana

  • English_Caribbean

  • English_Philippines

  • English_Zimbabwe

  • Faroese_FaroeIslands

  • Greenlandic_Greenland

  • Hindi_India

  • Indonesian_Indonesia

  • Macedonian_Macedonia

  • Malay_Malaysia

  • Maltese_Malta

  • ManxGaelic_UnitedKingdom

  • Marathi_India

  • NorwegianBokmal_Norway

  • NorwegianNynorsk_Norway

  • Persian_India

  • Persian_Iran

  • Russian_Ukraine

  • Serbian_BosniaHerzegovina

  • Serbian_Montenegro

  • Serbian_Serbia

  • SerboCroatian_Montenegro

  • SerboCroatian_Serbia

  • Tamil_India

  • Telugu_India


Encodings

The following encodings have been added in SAS 9.2 NLS. Information on how encodings work in SAS programming is provided in Overview of Encoding for NLS:

  • e097 - Farsi Bilingual - EBCDIC

  • eofa - Farsi Bilingual - EBCDIC

  • e137 - Devanagari - EBCDIC

  • eoin - Devanagari - EBCDIC

  • e153 - EBCDIC Latin 2 Multilingual with euro

  • e053 - EBCDIC Latin 2 Multilingual with euro

  • e154 - EBCDIC Cyrillic Multilingual with euro

  • e054 - EBCDIC Cyrillic Multilingual with euro

  • e155 - EBCDIC Turkey with euro

  • e055 - EBCDIC Turkey with euro

  • e156 - EBCDIC Baltic Multi with euro

  • e056 - EBCDIC Baltic Multi with euro

  • e157 - EBCDIC Estonia with euro

  • e057 - EBCDIC Estonia with euro

  • e158 - EBCDIC Cyrillic Ukraine with euro

  • e058 - EBCDIC Cyrillic Ukraine with euro

  • e905 - Latin 3 - EBCDIC

  • e013 - Latin 3 - EBCDIC

  • lat8 - ISO 8859/14-latin8

  • p806 - PC Indian Script Code (ISCII-91)

  • p098 - Farsi - Personal Computer


Autocall Macros

The following SAS 9.2 NLS autocall macros are new:

  • %KCMPRES and %QKCMPRES

  • %KLEFT and %QKLEFT

  • %KLOWCASE and %QKLOWCAS

  • %KTRIM and %QKTRIM

  • %KVERIFY


Formats

  • The following SAS 9.2 NLS formats have been enhanced and now support Arabic:

    • $BIDI

    • $LOGVS

    • $LOGVSR

    • $VSLOG

    • $VSLOGR

  • The following numeric formats are new for SAS 9.2 NLS.

    NLBEST

    writes the best numerical notation, based on the locale.

    NLSTRMON

    writes a numeric value as a day-of-the-month in the specified locale.

    NLSTRQTR

    writes a numeric value as the quarter-of-the-year in the specified locale

    NLSTRWK

    writes a numeric value as the day-of-the-week in the specified locale

    NLPVALUE

    writes p-values of the local expression in the specified locale

  • The following date and time formats are new for SAS 9.2 NLS. These formats write locale-specific dates and times.

    NLDATEYQ

    converts the SAS date value to the date value of the specified locale, and then writes the date value as the year and the quarter.

    NLDATEYR

    converts the SAS date value to the date value of the specified locale, and then writes the date value as the year.

    NLDATEYW

    converts the SAS date value to the date value of the specified locale, and then writes the date value as the year and the week.

    NLDATMDT

    converts the SAS datetime value to the datetime value of the specified locale. This format writes the value as the name of the month, day of the month, and year.

    NLDATMMN

    converts the SAS datetime value to the datetime value of the specified locale, and then writes the value as the name of the month.

    NLDATMWN

    converts a SAS datetime value to the datetime value of the specified locale, and then writes the value as the day of the week.

    NLDATMYQ

    converts the SAS datetime value to the datetime value of the specified locale, and then writes the value as the year and the quarter of the year.

    NLDATMYR

    converts the SAS datetime value to the datetime value of the specified locale, and then writes the value as the year.

    NLDATMYW

    converts the SAS datetime value to the datetime value of the specified locale, and then writes the value as the year and the name of the week.

  • The following currency formats are new for SAS 9.2 NLS. These formats write the international monetary expression.

    • NLMNIAUD - Australia

    • NLMNICADw.d - Canada

    • NLMNICHFw.d - Liechtenstein

    • NLMNICNYw.d - China

    • NLMNIDKKw.d - Denmark, Faroe Island, and Greenland

    • NLMNIEURw.d - Austria, Belgium, Finland, France, Germany, Greece, Ireland, Italy, Luxembourg, Malta, the Netherlands, Portugal, Slovenia, and Spain

    • NLMNIGBPw.d - United Kingdom

    • NLMNIILSw.d - Israel

    • NLMNIJPYw.d - Japan

    • NLMNIKRWw.d - South Korea

    • NLMNIMYRw.d - Malaysia

    • NLMNINOKw.d - Norway

    • NLMNINZDw.d - New Zealand

    • NLMNIPLNw.d - Poland

    • NLMNIRUBw.d - Russia

    • NLMNISEKw.d - Sweden

    • NLMNISGDw.d - Singapore

    • NLMNITWDw.d - Thailand

    • NLMNIUSDw.d - Puerto Rico, and United States

    • NLMNIZARw.d - South Africa

  • The following currency formats for SAS 9.2 NLS are new. These formats write the local monetary expression.

    • NLMNLAUDw.d - Australia

    • NLMNLCADw.d - Canada

    • NLMNLCHFw.d - Liechtenstein

    • NLMNLCNYw.d - China

    • NLMNLDKKw.d - Denmark, Faroe Island, and Greenland

    • NLMNLEURw.d - Austria, Belgium, Finland, France, Germany, Greece, Ireland, Italy, Luxembourg, Malta, the Netherlands, Portugal, Slovenia, and Spain

    • NLMNLGPBw.d - United Kingdom

    • NLMNLHKDw.d - Hong Kong

    • NLMNLILSw.d - Israel

    • NLMNLJPYw.d - Japan

    • NLMNLKRWw.d - South Korea

    • NLMNLMYRw.d - Malaysia

    • NLMNLNOKw.d - Norway

    • NLMNLNZDw.d - New Zealand

    • NLMNLPLNw.d - Poland

    • NLMNLRUBw.d - Russia

    • NLMNLSEKw.d - Sweden

    • NLMNLSGDw.d - Singapore

    • NLMNLTWDw.d - Taiwan

    • NLMNLUSDw.d - Puerto Rico and the United States

    • NLMNLZARw.d - South Africa


Informats

  • The following SAS 9.2 NLS informats have been enhanced and now support Arabic:

    • $LOGVS

    • $LOGVSR

    • $VSLOG

    • $VSLOGR

  • The following currency informats are new for SAS 9.2 NLS. These informats read the international monetary expression.

    • NLMNIAUDw.d - Australia

    • NLMNICADw.d - Canada

    • NLMNICHFw.d - Liechtenstein and Switzerland

    • NLMNICNYw.d - China

    • NLMNIDKKw.d - Denmark, Faroe Island, and Greenland

    • NLMNIEURw.d - Austria, Belgium, Finland, France, Germany, Greece, Ireland, Italy, Luxembourg, Malta, the Netherlands, Portugal, Slovenia, and Spain

    • NLMNIGBPw.d - United Kingdom

    • NLMNIHKDw.d - Hong Kong

    • NLMNIILSw.d - Israel

    • NLMNIJPYw.d - Japan

    • NLMNIKRWw.d - South Korea

    • NLMNIMYRw.d - Malaysia

    • NLMNINOKw.d - Norway

    • NLMNINZDw.d - New Zealand

    • NLMNIPLNw.d - Poland

    • NLMNIRUBw.d - Russia

    • NLMNISEKw.d - Sweden

    • NLMNISGDw.d - Singapore

    • NLMNITWDw.d - Taiwan

    • NLMNIUSDw.d - Puerto Rico, and the United States

    • NLMNIZARw.d - South Africa

  • The following currency informats are new for SAS 9.2 NLS. These informats read the local monetary expression.

    • NLMNLAUDw.d - Australia

    • NLMNLCADw.d - Canada

    • NLMNLCHFw.d - Liechtenstein and Switzerland

    • NLMNLCNYw.d - China

    • NLMNLDKKw.d - Denmark, the Faroe Island, and Greenland

    • NLMNLEURw.d - Austria, Belgium, Finland, France, Germany, Greece, Ireland, Italy, Luxembourg, Malta, the Netherlands, Portugal, Slovenia, and Spain

    • NLMNLGBPw.d - United Kingdom

    • NLMNLHKDw.d - Hong Kong

    • NLMNLILSw.d - Israel

    • NLMNLJPYw.d - Japan

    • NLMNLKRWw.d - South Korea

    • NLMNLMYRw.d - Malaysia

    • NLMNLNOKw.d - Norway

    • NLMNLNZDw.d - New Zealand

    • NLMNLPLNw.d - Poland

    • NLMNLRUBw.d - Russia

    • NLMNLSEKw.d - Sweden

    • NLMNLSGDw.d - Singapore

    • NLMNLTWDw.d - Taiwan

    • NLMNLUSDw.d - Puerto Rico and the United States

    • NLMNLZARw.d - South Africa


Functions

  • The following functions are new for SAS 9.2 NLS:

    GETPXLANGUAGE

    displays a transcoding error when illegal data is read from a remote application

    GETPXLOCALE

    returns the POSIX locale value for a SAS locale

    GETPXREGION

    returns the current, two-letter region code

    KPROPCASE

    converts Chinese, Japanese, Korean, Taiwanese (CJKT) characters

    KPROPCHAR

    converts special characters to normal characters

    KPROPDATA

    removes or converts unprintable characters

    SORTKEY

    creates a linguistic sort key

    UNICODE

    converts Unicode characters to the current SAS session encoding

    UNICODEC

    converts characters in the current SAS session encoding to Unicode characters

    UNICODELEN

    creates a linguistic sort key

    UNICODEWIDTH

    specifies the length of a display unit for the Unicode data

  • A new directive, "#", was added to the following functions:

    • NLDATE

    • NLDATM

    • NLTIME


System Options

The following system options are new for SAS 9.2 NLS:

BOMFILE

specifies whether to write the Byte Order Mark (BOM) prefix on Unicode-encoded external files

LOCALELANGCHG

determines whether the language of the text of the ODS output can be changed

RSASIOTRANSERROR

displays a transcoding error when illegal data is read from a remote application