型指定子は、クラス、インターフェイス、列挙などの型の宣言です。
 
  
 
	 
 
	 
 
	 
 
	 predefined-type-specifier
 
		 
		
 
	  
 
	 例
 
		 
		 
		   
			 - あらかじめ定義された型
 
 
			 -  
				
  01 dAmount  decimal.
  01 asNames string occurs 5.
  01 abFigures binary-long occurs any.
 
			  
 
		   
		   
			 - TYPE キーワード
 
 
			 -  
				
  01 objMyType type MyType.  
  01 objDateTime type DateTime.        *> .NET COBOL
  01 objDateTime type java.util.Date.  *> JVM COBOL
 
				詳細は次のとおりです。
 
				 
				  - objMyType は、MyType 型のオブジェクトとして定義されます。
 
 
				  - objDataTime は、.NET COBOL のオブジェクト型 DateTime、または JVM COBOL の java.util.Date として定義されます。
 
 
				
 
			  
 
		   
		
 
	  
 
	 長い型の名前
 
		 
		省略名だけを入力すれば済むように長いクラス名を表すネームスペースを定義するには、ILUSING 指令を使用します。
 
	  
 
	 .NET 型と互換性のある型
 
		 
		あらかじめ定義されている COBOL データ型、およびユーザーが定義するその他の .NET COBOL 型はすべて、対応するネイティブ マネージ型 (.NET または JVM) にマップされますが、次のルールに従う必要があります。マネージ型のルールは次のようになります。
 
		 
		  - 01 (または 77) レベルで宣言する必要がある。
 
 
		  - REDEFINES または RENAMES は使用できない。
 
 
		  - 部分参照の対象であってはならない。
 
 
		  - ADDRESS OF 句の対象であってはならない。
 
 
		  - OCCURS 句の書き方 3 を使用して配列を宣言できる。
 
 
		
 
		COBOL データ項目がこれらのルールに従わない場合や他の項類である場合、その項目はマネージ型 (.NET または JVM) と見なされず、内部マネージ バイト配列内でコンパイラによって割り当てられます。COBOL ポインター データ項目は、必ずこのいずれかのバイト配列を示します。
 
	  
 
	 汎用型
 
		 
		.NET COBOL で TYPE 定数構文を使用して汎用型を参照するには、角かっこ ([ ]) 内に汎用パラメーターを列挙します。次の例では、myNames を Dictionary 型 (.NET COBOL の場合) または HashMap 型 (JVM COBOL の場合) の項目として定義し、汎用パラメーターはいずれも string (.NET COBOL の場合は System.String、JVM COBOL の場合は java.lang.String) として設定しています。
 
		myNames type System.Collections.Generic.Dictionary[string, string]. *> .NET COBOL
myNames type java.util.HashMap[string, string]. *> JVM COBOL	 
 
	  
 
	 null 許容型
 
		 
		キーワード NULLABLE は、null 許容型を定義するために使用します。値型でのみ使用できます。