デフォルトの属性が提供された後、コンパイラによって各宣言の整合性および完全性がチェックされます。
データ型が明示的にも DEFAULT 文でも指定されていない場合、宣言は無効であり、不完全であると見なされます。この場合、コンパイラでエラー メッセージが発行され、I から N までのいずれかの文字で始まる名前については Fixed Binary(15) 型、それ以外の英字で始まる名前については Float Decimal(6) 型として処理されます。
データ型やストレージ クラスが複数指定されている場合、宣言は整合性がないと見なされて無効になります。
有効なデータ型は次のとおりです。
- Fixed Binary(p)
- Fixed Decimal(p[,q])
- Float Binary(p)
- Float Decimal(p)
- Picture
- Character(n) [Varying]
- Bit(n)[Aligned]
- Pointer
- Offset
- Area
- Label
- Entry [returns][variable]
- File [variable]
- Builtin
- Structure
有効なストレージ クラスは次のとおりです。
- automatic
- based または based(pointer-reference)
- static internal
- defined(reference)
- parameter
- 構造体のメンバー
次の属性固有の制約事項に違反する場合も、宣言は整合性がないと見なされて無効になります。
- BUILTIN 属性で宣言された名前に他の属性を指定することはできません。
- FILE 属性または ENTRY 属性で宣言された名前は、VARIABLE 属性が指定されている場合を除き、変数ではなく名前付き定数であり、範囲は外部になります(ただし、ストレージ クラス、配列の境界、またはメンバーのレベル番号がある場合は、ENTRY 属性および FILE 属性を含む宣言に VARIABLE 属性がデフォルトで指定されます)。