The following table lists the maximum number of characters you can use in names (unless otherwise specified).

Table 1. Name limits
Name type Operating system Limit
External procedure All 253 characters, plus a 2 character extension. Subject to operating system path limits.
Class, Enum, Interface, and Pathname All 1 to 255 characters; restricted to alphanumeric characters plus the symbols # $ % - _

Pathname is subject to operating system path limits.

Table, Field, Field-level widget, Index, Dataset, and Data-Source All 1 to 32 characters; can consist of any combination of letters (a-z or A-Z), numbers (0-9), and these special characters: # $ - _ % &

Names must begin with a letter.

Local variable of a routine,1 Variable data member of a class, Property of a class, and Run-time routine parameter All 1 to 128 characters; can consist of any combination of letters (a-z or A-Z), numbers (0-9), and these special characters: # $ - _ % &

Names must begin with a letter.

Internal procedure, Block label, Query, Frame widget, Browse widget, Menu widget, Submenu widget, Menu item widget All No set limit; can consist of any combination of letters (a-z or A-Z), numbers (0-9), and these special characters: # $ - _ % &

Names must begin with a letter.

Stream All 1 to 12 characters; can consist of any combination of letters (a-z or A-Z), numbers (0-9), and these special characters: # $ - _ % &

Names must begin with a letter.

Tables in the convmap file: Attribute table, Collation table, Conversion table, and Case table All 1 to 20 characters; can consist of any combination of letters (a-z or A-Z), numbers (0-9), and the hyphen character (-).

Names must begin with a letter.

1 A routine includes a method of a class, a property, accessor, a procedure, or a user-defined function.