VALIDMEMNAME= System Option

Specifies the rules for naming SAS data sets, SAS data views, and item stores.
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 SPD Engine
Restriction: The VALIDMEMNAME= option is not supported by the tape engines V9TAPE, V8TAPE, V7TAPE, and V6TAPE
Note: This option can be restricted by a site administrator. For more information, see Restricted Options.

Syntax

VALIDMEMNAME=COMPATIBLE | EXTEND

Syntax Description

COMPATIBLE
specifies that a SAS data set name, a SAS data view name, or an item store name 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 an 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. Therefore, you cannot 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 data view name, or an item store name 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. Therefore, you cannot 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, SAS data 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 that 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, you can name a SAS data set 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

When VALIDMEMNAME= EXTEND, valid characters that are allowed in a SAS data set name, SAS data view name, and an 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 ITEMSTORE 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 support extended characters.

See Also

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