What's New |
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.
National Collating Sequences of Alphanumeric Characters |
The National Collating Sequences of Alphanumeric Characters table has been updated to reflect current collating sequences.
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 |
In the third maintenance release for SAS 9.2, the SBCS, DBCS, and Unicode Encoding Values Used to Transcode Data table was updated to reflect current values.
In the third maintenance release for SAS 9.2, the following encodings were removed from the Double-Byte Encodings for UNIX table:
Traditional Chinese HP15
Simplified Chinese PCMS
Korean PCMS
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:
%KLOWCASE and %QKLOWCAS
%KTRIM and %QKTRIM
%KVERIFY
Macro Functions |
The following SAS 9.2 NLS macro functions are new:
%KINDEX
%KLEFT and %QKLEFT
%KLENGTH
%KSCAN and %QKSCAN
%KSUBSTR and %QKSUBSTR
%KUPCASE and %QKUPCASE
Formats |
The following SAS 9.2 NLS formats have been enhanced and now support Arabic:
$BIDI
$LOGVS
$LOGVSR
$VSLOG
$VSLOGR
In the third maintenance release for SAS 9.2, the following formats have been enhanced to support date-time values:
NLTIMAP
NLTIME
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 |
In the third maintenance release for SAS 9.2, the NLSCOMPATMODE option has been modified. A note has been added to the Details section notifying the user that a warning will be generated when NLSCOMPATMODE is set.
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 |
Copyright © 2010 by SAS Institute Inc., Cary, NC, USA. All rights reserved.