列挙は、曜日の値などの定数値のリストを表す。その値やシンボリック名を定義する列挙型を宣言できる。その後、値を名前別に参照できる。
例えば、曜日の列挙型は次のように宣言する。
enum-id DaysOfWeek as "DaysOfWeek". 01 binary-long. 78 Sunday value 0. *> optional, as 0 is the default 78 Monday. *> by default, this is value 1 78 Tuesday. *> by default, this is value 2 and so on 78 Wednesday. 78 Thursday. 78 Friday. 78 Saturday. end enum.
これで、コード内でこの列挙型を次のように参照できるようになる。
set today to type DaysOfWeek::Monday
DaysOfWeek::Monday は binary-long の値 1 を表す。
コンパイラーは、列挙の値を含む配列を返す「values」という静的メソッドを追加する。このメソッドと PERFORM THROUGH コンストラクトを一緒に使用して、列挙型の値を反復できる。
ENUM-ID 段落を使用して列挙を宣言できる。この後には、次の内容で構成される作業場所節が続く。
.NET では、属性 System.FlagsAttribute を設定する必要がある。JVM では不要。列挙にこの属性が適用されると、ビット設定として各値は別個と見なされるため、値の組み合わせが可能になる。次に例を示す。
enum-id DaysOfWeek attribute System.FlagsAttribute.