VALIDMEMNAME= System Option

Specifies the rules for naming SAS data sets and data views. When used In SAS/SHARE or SAS/CONNECT, the value specified on the client takes precedence over the value set on the server.
Valid in: configuration file, SAS invocation, OPTIONS statement, SAS System Options window
Category: Files: SAS Files
PROC OPTIONS GROUP= SASFILES
Applies to: Base SAS engine and SPDS engine
Restriction: The VALIDMEMNAME= option is not supported by the tape engines V9TAPE, V8TAPE, V7TAPE, and V6TAPE

Syntax

VALIDMEMNAME=COMPATIBLE | EXTEND

Syntax Description

COMPATIBLE
specifies that a SAS data set name, a view name, or an item store must follow these rules:
  • The length of the names can be up to 32 characters.
  • Names must begin with a letter of the Latin alphabet (A–Z, a–z) or the underscore. Subsequent characters can be letters of the Latin alphabet, numerals, or underscores.
  • Names cannot contain blanks or special characters except for the underscore.
  • Names can contain mixed-case letters. SAS internally converts the member name to uppercase. You cannot, therefore, use the same member name with a different combination of uppercase and lowercase letters to represent different variables. For example, customer, Customer, and CUSTOMER all represent the same member name. How the name is saved on disk is determined by the operating environment.
This is the default.
Alias:COMPAT
EXTEND
specifies that a SAS data set name, a SAS view name, or an item store must follow these rules:
  • Names can include national characters.
  • The name can include special characters, except for the characters / \ * ? " < > |: -.
    Note: The SPD engine does not allow ‘.’ (the period) anywhere in the member name.
  • The name must contain at least one character.
  • The length of the name can be up to 32 bytes.
  • Null bytes are not allowed.
  • Names cannot begin with a blank or a ‘.’ (the period).
    Note: The SPD engine does not allow ‘$’ as the first character of the member name.
  • Leading and trailing blanks are deleted when the member is created.
  • Names can contain mixed-case letters. SAS internally converts the member name to uppercase. You cannot, therefore, use the same member name with a different combination of uppercase and lowercase letters to represent different variables. For example, customer, Customer, and CUSTOMER all represent the same member name. How the name appears is determined by the operating environment.
Restriction:The windowing environment supports the extended rules in the Editor, Log, and Output windows when VALIDMEMNAME=EXTEND is set. In most SAS windows, these extended rules are not supported. For example, these rules are not supported in SAS Explorer, the VIEWTABLE window, and windows that you open using the Solutions menu.
Requirement:When VALIDMEMNAME=EXTEND, SAS data set names, view names, and item store names must be written as a SAS name literal. If you use either the percent sign (%) or the ampersand (&), then you must use single quotation marks in the name literal in order to avoid interaction with the SAS Macro Facility.For more information, see SAS Name Literals in SAS Language Reference: Concepts.
Tip:The name displays in uppercase letters.
Examples:data “August Purchases”n;

data ‘Años de empleo’n.;

CAUTION:
Throughout SAS, using the name literal syntax with SAS member names that exceed the 32-byte limit or have excessive embedded quotation marks might cause unexpected results.
The intent of the VALIDMEMNAME=EXTEND system option is to enable compatibility with other DBMS member naming conventions, such as allowing embedded blanks and national characters.
CAUTION:
Using the special character # when VALIDMEMNAME=EXTEND could cause a SAS data set to be overwritten by a generation data set.
When VALIDMEMNAME= is set to EXTEND, it is possible to name a SAS data set name that uses the naming conventions for generation data sets, which append the special character # and a three-digit number to its member name. To avoid conflict, do not name SAS data sets similar to archived SAS data sets. For example, for a data set named A, generation data sets would automatically be named A#001, A#002, and so on. If you name a SAS data set A#003, the SAS data set could be deleted by SAS in the process of adding to a generation group.

Details

In SAS/SHARE 9.3, the value that you specify for VALIDMEMNAME on the client will be honored on the server. For example, if you set the global option VALIDMEMNAME=COMPAT in the server session before starting the server, and then connect with a 9.3 client, you will not be subject to the value of the option in the server session. The value that you set on the client (COMPAT or EXTEND) will be used in your server session.
Note: For 9.2 or earlier clients connecting to 9.3 servers, the value COMPAT will be used.
When VALIDMEMNAME= EXTEND valid characters that are allowed in a SAS data set name, view name, and item store name are extended to these characters:
  • international characters
  • characters supported by third-party databases
  • characters that are commonly used in a filename
Only the DATA, VIEW, and ITEMSTOR SAS member types support the extension of characters. The other member types, such as CATALOG and PROGRAM do not support the extended characters. INDEX and AUDIT types that exist only with the associated DATA member do support extended characters.

See Also

Rules for Words and Names in the SAS Language in SAS Language Reference: Concepts
System Option:
VALIDVARNAME= System Option in SAS System Options: Reference