名前付き定数は、VALUE 属性を使って変数を宣言することによって定義できます。INITIAL 属性を指定して静的変数を使い、変数を変更しない場合は、VALUE 属性を使って変数を名前付き定数として宣言する必要があります。ただし、コンパイラーは NONASSIGNABLE のスカラー STATIC 変数を、真の名前付き定数として扱いません。
コンパイラーは、コンパイル時に式が評価される時にはいつでも、より最適化されたコードを生成するので、名前付き定数を使って、 読みやすさを低下させずに効果的なコードを生成できます。 例えば次の例では、VERIFY 組み込み関数を 2 通りの方法で使って、同一のオブジェクト・コードが生成されています。
dcl numeric char value('0123456789');
jx = verify( string, numeric );
jx = verify( string, '0123456789' );
次の例は、VALUE 属性を使って、読みやすさを低下させずに最適なコードを取得できる方法を示しています。