USAGE(用途)句は、計算機記憶内のデータ項目の表現形式を指定する。
 
 
  BINARY、PACKED-DECIMAL、
BINARY、PACKED-DECIMAL、
  COMPUTATIONAL-3、
COMPUTATIONAL-3、
  COMPUTATIONAL-4、
COMPUTATIONAL-4、
  およびCOMPUTATIONAL-5
およびCOMPUTATIONAL-5 
のいずれかを記述している場合、数字項目を定義するPICTURE文字列で記述しなければならない。 (たとえば、PICTURE文字列が記号 "P", "S", "V", "9" だけを含んでいること。)詳細は、前述のPICTURE(形式)句PICTURE(形式)句節を参照。
  A宣言にUSAGE句を持たない基本データ項目が、宣言にUSAGE句を持つ集団項目に従属する場合、そのUSAGE句は、英字、英数字、英数字編集、数字編集のデータ項目を定義したPICTURE文字列で記述されたリストの形式で記述してもよい。
A宣言にUSAGE句を持たない基本データ項目が、宣言にUSAGE句を持つ集団項目に従属する場合、そのUSAGE句は、英字、英数字、英数字編集、数字編集のデータ項目を定義したPICTURE文字列で記述されたリストの形式で記述してもよい。
 宣言にUSAGE句を持つ基本データ項目、または宣言にUSAGE句を持つ集団項目に従属する基本データ項目は、USAGE句が COMPUTATIONAL-5
宣言にUSAGE句を持つ基本データ項目、または宣言にUSAGE句を持つ集団項目に従属する基本データ項目は、USAGE句が COMPUTATIONAL-5
  または COMPUTATIONAL-X
または COMPUTATIONAL-X
  を記述している場合、数字項目を定義するPICTURE文字列で記述しなければならない。
を記述している場合、数字項目を定義するPICTURE文字列で記述しなければならない。
  または、サイズが1から8バイトの数字項目を定義するPICTURE文字列で記述しなければならない。サイズが 1, 2, 3, 4, 5, 6, 7, 8 バイトの数字項目の場合、これはそれぞれ2, 4, 7, 9, 12, 14, 16, 18 の小数点位置である整数項目を記述したことと同じである。
または、サイズが1から8バイトの数字項目を定義するPICTURE文字列で記述しなければならない。サイズが 1, 2, 3, 4, 5, 6, 7, 8 バイトの数字項目の場合、これはそれぞれ2, 4, 7, 9, 12, 14, 16, 18 の小数点位置である整数項目を記述したことと同じである。
  COMPUTATIONAL-X を指定し、PICTURE文字列が数字項目 定義している場合、その項目には符号を付けてはならない。
COMPUTATIONAL-X を指定し、PICTURE文字列が数字項目 定義している場合、その項目には符号を付けてはならない。
  SYNCHRONIZED句は、用途がINDEXのデータ項目に指定してもよい。
SYNCHRONIZED句は、用途がINDEXのデータ項目に指定してもよい。
  COMP-1はCOMPUTATIONAL-1の省略形である。
COMP-1はCOMPUTATIONAL-1の省略形である。
 COMP-2 はCOMPUTATIONAL-2の省略形である。 
  COMP-3は、COMPUTATIONAL-3の省略形である。
 COMP-3は、COMPUTATIONAL-3の省略形である。
  COMP-4は、COMPUTATIONAL-4の省略形である。
 COMP-4は、COMPUTATIONAL-4の省略形である。
  COMP-5 はCOMPUTATIONAL-5の省略形である。
 COMP-5 はCOMPUTATIONAL-5の省略形である。
  COMP-X はCOMPUTATIONAL-Xの省略形である。
 COMP-X はCOMPUTATIONAL-Xの省略形である。
  ENTRY(導入)文のUSING句、
ENTRY(導入)文のUSING句、
 組み込み関数の引数
組み込み関数の引数
 INVOKE文のUSING指定、行内メソッド呼び出しの引数、
INVOKE文のUSING指定、行内メソッド呼び出しの引数、
 INITIALIZE文、
INITIALIZE文、
またはUSINGCALL(呼ぶ)文のGIVING句のみである。
 ポインター
ポインター
  または手続きポインター
または手続きポインター
  項目を明示的に参照できるのは、SET(設定)文、比較条件、CALL(呼ぶ)文のUSING句、手続き部の見出しのUSING(使用)句、ENTRY(導入)文のUSING句、
項目を明示的に参照できるのは、SET(設定)文、比較条件、CALL(呼ぶ)文のUSING句、手続き部の見出しのUSING(使用)句、ENTRY(導入)文のUSING句、
  INVOKE文、行内メソッド呼び出しの引数リスト、関数の引数リスト
INVOKE文、行内メソッド呼び出しの引数リスト、関数の引数リスト
のみである。
  USAGE IS OBJECT、
USAGE IS OBJECT、
  USAGE IS POINTER、
USAGE IS POINTER、
  またはUSAGE IS PROCEDURE-POINTER
またはUSAGE IS PROCEDURE-POINTER 
  USAGE IS EVENT-POINTER、USAGE IS MONITOR-POINTER、USAGE IS MUTEX-POINTER、USAGE IS PROCEDURE-POINTER、USAGE IS SEMAPHORE-POINTER、またはUSAGE IS THREAD-POINTER
USAGE IS EVENT-POINTER、USAGE IS MONITOR-POINTER、USAGE IS MUTEX-POINTER、USAGE IS PROCEDURE-POINTER、USAGE IS SEMAPHORE-POINTER、またはUSAGE IS THREAD-POINTER 
句のいずれかで定義された基本データ項目は、条件変数であってはならない。
 型定義名-1は、TYPEDEF句のレコードと同じ原始ファイル内で前に定義しなければならない。
型定義名-1は、TYPEDEF句のレコードと同じ原始ファイル内で前に定義しなければならない。
 USAGE型定義名-1を指定した場合、以下の句は指定できない。
USAGE型定義名-1を指定した場合、以下の句は指定できない。
 同じ階層の高位レベルに明示的なUSAGE 句がある場合、USAGE 型定義名-1の指定はエラーとなる。
同じ階層の高位レベルに明示的なUSAGE 句がある場合、USAGE 型定義名-1の指定はエラーとなる。
 USAGE 型定義名-1を指定した項目の直後に、従属する項目(78以外の高位レベル番号の項目)を記述した場合、エラーとなる。
USAGE 型定義名-1を指定した項目の直後に、従属する項目(78以外の高位レベル番号の項目)を記述した場合、エラーとなる。
 USAGE OBJECT REFERENCE句は、集団項目用のデータ記述項に指定してはならないが、従属する基本データ項目には指定してもよい。
USAGE OBJECT REFERENCE句は、集団項目用のデータ記述項に指定してはならないが、従属する基本データ項目には指定してもよい。
 USAGE OBJECT REFERENCE句をファイル節に記述してはならない。
USAGE OBJECT REFERENCE句をファイル節に記述してはならない。
  USAGE OBJECT REFERENCEをファイル節に記述してもよい。
USAGE OBJECT REFERENCEをファイル節に記述してもよい。
注:オブジェクト参照がまだ、アクティブなオブジェクトを参照しているかどうかは、アプリケーションのロジックにより決まる。
 ACTIVE-CLASS指定は、ファクトリ定義、オブジェクト定義、メソッド定義にだけ記述できる。
ACTIVE-CLASS指定は、ファクトリ定義、オブジェクト定義、メソッド定義にだけ記述できる。
 用途がEVENT-POINTER のデータ項目は、CLOSE文、OPEN文、 SET文、WAIT文、またはUSING 指定でのみ、明示的に参照できる。
用途がEVENT-POINTER のデータ項目は、CLOSE文、OPEN文、 SET文、WAIT文、またはUSING 指定でのみ、明示的に参照できる。
 用途がMONITOR-POINTER、MUTEX-POINTER、またはSEMAPHORE-POINTERのデータ項目は、CLOSE文、OPEN文、 SET文、またはUSING指定でのみ、明示的に参照できる。
用途がMONITOR-POINTER、MUTEX-POINTER、またはSEMAPHORE-POINTERのデータ項目は、CLOSE文、OPEN文、 SET文、またはUSING指定でのみ、明示的に参照できる。
 用途がTHREAD-POINTERのデータ項目は、START文、WAIT文、またはUSING指定でのみ、明示的に参照できる。
用途がTHREAD-POINTERのデータ項目は、START文、WAIT文、またはUSING指定でのみ、明示的に参照できる。
 記述にUSAGE NATIONAL句を含む基本データ項目、または記述にUSAGE NATIONAL句を含む集団項目の下位にある基本データ項目は、各国語型または各国語型編集データ項目を記述するPICTURE文字列で宣言されなければならない。
記述にUSAGE NATIONAL句を含む基本データ項目、または記述にUSAGE NATIONAL句を含む集団項目の下位にある基本データ項目は、各国語型または各国語型編集データ項目を記述するPICTURE文字列で宣言されなければならない。
 基本データ項目、およびそれが属する集団のどれに対してもUSAGE句を指定しない場合は、以下が適用される。
基本データ項目、およびそれが属する集団のどれに対してもUSAGE句を指定しない場合は、以下が適用される。
 OBJECT REFERENCE指定、POINTER指定、またはPROGRAM-POINTER指定を伴うUSAGE句は、レベル 1 の基本データ項目以外に指定してはならない。
OBJECT REFERENCE指定、POINTER指定、またはPROGRAM-POINTER指定を伴うUSAGE句は、レベル 1 の基本データ項目以外に指定してはならない。
  この制限は強制しない。
この制限は強制しない。
 プログラムプロトタイプ名-1を指定する場合、記述項の左辺にTYPEDEF句を指定しなければならない。
プログラムプロトタイプ名-1を指定する場合、記述項の左辺にTYPEDEF句を指定しなければならない。
  この制限は強制しない。
この制限は強制しない。
 明示的または暗黙的なPICTURE文字列が符号、'N'を含む基本データ項目に関連づけられたUSAGE句には、NATIONALを指定しなければならない。
明示的または暗黙的なPICTURE文字列が符号、'N'を含む基本データ項目に関連づけられたUSAGE句には、NATIONALを指定しなければならない。


  ただし、PICTURE句があり、データ項目の定義が文字である場合を除く。
ただし、PICTURE句があり、データ項目の定義が文字である場合を除く。
  USAGE IS PACKED-DECIMAL句は、USAGE IS COMPUTATIONAL-3と同義語である。
USAGE IS PACKED-DECIMAL句は、USAGE IS COMPUTATIONAL-3と同義語である。
 USAGE IS DISPLAY句は、下記の種類の項目に適用できる。
USAGE IS DISPLAY句は、下記の種類の項目に適用できる。
  ポインター データ項目、
ポインター データ項目、
  手続きポインター データ項目
手続きポインター データ項目
が含まれていてもよい。この場合、指標データ項目、
  ポインター データ項目、
ポインター データ項目、
  手続きポインター データ項目
手続きポインター データ項目
の変換は行われない。
 USAGE IS COMPUTATIONAL-4は、USAGE IS COMPUTATIONALと同義語である。
USAGE IS COMPUTATIONAL-4は、USAGE IS COMPUTATIONALと同義語である。
 USAGE IS POINTER句を指定すると、対象データ項目の番地を記憶できる。 (手続き部 - SEARCH - XML PARSEの章のSET(設定)文SET(設定)文節を参照。)
USAGE IS POINTER句を指定すると、対象データ項目の番地を記憶できる。 (手続き部 - SEARCH - XML PARSEの章のSET(設定)文SET(設定)文節を参照。)
 USAGE IS PROCEDURE-POINTER句は、データ項目が手続きの番地を記憶する手続きポインター データ項目であることを指定する。(手続き部 - SEARCH - XML PARSEの章のSET(設定)文SET(設定)文節を参照。) 参照する対象の手続きはどんな言語で書いてあってもよい。COBOLの場合、それは入れ子になっていないポインターの手続き部を表わす。下記のどちらかによって識別する。
 USAGE IS PROCEDURE-POINTER句は、データ項目が手続きの番地を記憶する手続きポインター データ項目であることを指定する。(手続き部 - SEARCH - XML PARSEの章のSET(設定)文SET(設定)文節を参照。) 参照する対象の手続きはどんな言語で書いてあってもよい。COBOLの場合、それは入れ子になっていないポインターの手続き部を表わす。下記のどちらかによって識別する。
 型定義名-1を基本項目として指定した場合、「USAGE 型定義名-1」句は、型定義名-1によって参照されるプログラマによって定義された用途と同じ属性を、基本項目に指定することになる。
型定義名-1を基本項目として指定した場合、「USAGE 型定義名-1」句は、型定義名-1によって参照されるプログラマによって定義された用途と同じ属性を、基本項目に指定することになる。
 型定義名-1を集団項目として指定した場合、「USAGE 型定義名-1」句は同一の構造をした集団項目を指定する働きをする。その効果は、型定義名-1によって識別されるデータ記述項の下位に属する複数のデータ宣言が、「USAGE 型定義名-1」句で宣言された項目の下位に、まったく同様に指定されたかのようになる。下位のデータ項目のデータ名は、型定義名-1によって参照されるプログラマによって定義された構造体の中に宣言されているものと同じになる。それらを一意に参照するには、データ名の修飾を行う。.
型定義名-1を集団項目として指定した場合、「USAGE 型定義名-1」句は同一の構造をした集団項目を指定する働きをする。その効果は、型定義名-1によって識別されるデータ記述項の下位に属する複数のデータ宣言が、「USAGE 型定義名-1」句で宣言された項目の下位に、まったく同様に指定されたかのようになる。下位のデータ項目のデータ名は、型定義名-1によって参照されるプログラマによって定義された構造体の中に宣言されているものと同じになる。それらを一意に参照するには、データ名の修飾を行う。.
 USAGE OBJECT REFERENCE句を用いて記述したデータ項目をオブジェクト参照と呼ぶ。オブジェクト参照は字類がオブジェクトであり項類がオブジェクト参照であるデータ項目である。オブジェクト参照の内容はオブジェクトの参照先または空である。ただし、下記の規則に従う。
USAGE OBJECT REFERENCE句を用いて記述したデータ項目をオブジェクト参照と呼ぶ。オブジェクト参照は字類がオブジェクトであり項類がオブジェクト参照であるデータ項目である。オブジェクト参照の内容はオブジェクトの参照先または空である。ただし、下記の規則に従う。
 USAGE IS EVENT-POINTER句は、ソフトウェアイベントの発生を知らせる桁詰めデータ項目を識別する。イベントデータ項目の値は、TRUE またはFALSEである。
USAGE IS EVENT-POINTER句は、ソフトウェアイベントの発生を知らせる桁詰めデータ項目を識別する。イベントデータ項目の値は、TRUE またはFALSEである。
 USAGE IS MONITOR-POINTER句は、モニターと呼ばれる桁詰めデータ項目を識別する。このデータ項目について、読み込みロック、表示ロック、書き込みロックを要求することができる。
USAGE IS MONITOR-POINTER句は、モニターと呼ばれる桁詰めデータ項目を識別する。このデータ項目について、読み込みロック、表示ロック、書き込みロックを要求することができる。
 注:モニターは通常、複数のスレッドが読み込みまたは書き込みを行う可能性のあるデータ構造を保護するために使用される。
 USAGE IS MUTEX-POINTER句は、ミューテックスと呼ばれる桁詰めデータ項目を識別する。このデータ項目を使用して、マルチスレッドアプリケーションの重要な節を保護することができる。ミューテックスデータ項目の値は、ONまたはOFFである。ON状態のミューテックスデータ項目を持つことができるのは、一度に1つのスレッドのみである。
USAGE IS MUTEX-POINTER句は、ミューテックスと呼ばれる桁詰めデータ項目を識別する。このデータ項目を使用して、マルチスレッドアプリケーションの重要な節を保護することができる。ミューテックスデータ項目の値は、ONまたはOFFである。ON状態のミューテックスデータ項目を持つことができるのは、一度に1つのスレッドのみである。
 USAGE IS SEMAPHORE-POINTER句は、数を数える桁詰めデータ項目を識別する。このデータ項目はマイナスの値を持つことはない。
USAGE IS SEMAPHORE-POINTER句は、数を数える桁詰めデータ項目を識別する。このデータ項目はマイナスの値を持つことはない。
 USAGE IS THREAD-POINTER句は、スレッドのハンドルを保管するデータ項目を識別する。
USAGE IS THREAD-POINTER句は、スレッドのハンドルを保管するデータ項目を識別する。
 明示的または暗黙的なUSAGE IS NATIONAL句は、各国語符号化文字で計算機内に保管され、文字境界に並べられたデータ項目を識別する。各国文字は、計算機の記憶域で同じ大きさの文字として表示される。各国語型データ(UNICODE)について詳しくは、COBOLシステムのマニュアルを参照。
明示的または暗黙的なUSAGE IS NATIONAL句は、各国語符号化文字で計算機内に保管され、文字境界に並べられたデータ項目を識別する。各国文字は、計算機の記憶域で同じ大きさの文字として表示される。各国語型データ(UNICODE)について詳しくは、COBOLシステムのマニュアルを参照。
 USAGE IS BINARY-CHAR、USAGE IS BINARY-SHORT、USAGE IS BINARY-LONG、およびUSAGE IS BINARY-DOUBLEの各句は、計算機の記憶域で 2 の基数を持つデータ項目を識別する。これらの用途は、 以下に示すPICTURE文字列でUSAGE IS COMP-5を指定することと同じである。USAGE句でUNSIGNEDが指定されている場合を除き、同等のPICTURE文字列にはSが含まれる。
USAGE IS BINARY-CHAR、USAGE IS BINARY-SHORT、USAGE IS BINARY-LONG、およびUSAGE IS BINARY-DOUBLEの各句は、計算機の記憶域で 2 の基数を持つデータ項目を識別する。これらの用途は、 以下に示すPICTURE文字列でUSAGE IS COMP-5を指定することと同じである。USAGE句でUNSIGNEDが指定されている場合を除き、同等のPICTURE文字列にはSが含まれる。
| 用途 | 同等のPICTURE文字列 | 
| BINARY-CHAR | [S]9(2) | 
| BINARY-SHORT | [S]9(4) | 
| BINARY-LONG | [S]9(9) | 
| BINARY-DOUBLE | [S] 9(18) | 
 USAGE IS FLOAT-SHORT句は、USAGE IS COMPUTATIONAL-1の指定と同じである。
USAGE IS FLOAT-SHORT句は、USAGE IS COMPUTATIONAL-1の指定と同じである。
 USAGE IS FLOAT-LONG句は、USAGE IS COMPUTATIONAL-2の指定と同じである。
USAGE IS FLOAT-LONG句は、USAGE IS COMPUTATIONAL-2の指定と同じである。
 USAGE PROGRAM-POINTER句を指定するデータ記述項は、手続きポインターデータ項目を指定する。このデータ項目は、プログラムポインターおよび手続きポインターとも呼ばれ、プログラムの位置を含む。(手続き部 - SEARCH - XML PARSEの章のSET(設定)文SET(設定)文節を参照。) 手続きは、どの言語で書かれていてもよい。COBOLで書かれている場合は、プログラムの手続き部を表す。これは入れ子になっておらず、以下のいずれかで識別される。
USAGE PROGRAM-POINTER句を指定するデータ記述項は、手続きポインターデータ項目を指定する。このデータ項目は、プログラムポインターおよび手続きポインターとも呼ばれ、プログラムの位置を含む。(手続き部 - SEARCH - XML PARSEの章のSET(設定)文SET(設定)文節を参照。) 手続きは、どの言語で書かれていてもよい。COBOLで書かれている場合は、プログラムの手続き部を表す。これは入れ子になっておらず、以下のいずれかで識別される。
 プログラムプロトタイプ名-1を指定する場合は、 このデータ項目は制限されたプログラムポインターとなる。制限されたプログラムポインターは、定義済みの位置、NULLまたは、指定されたプログラムプロトタイプ名で識別されたものと同じシグニチャのプログラムの位置のみを含む。
プログラムプロトタイプ名-1を指定する場合は、 このデータ項目は制限されたプログラムポインターとなる。制限されたプログラムポインターは、定義済みの位置、NULLまたは、指定されたプログラムプロトタイプ名で識別されたものと同じシグニチャのプログラムの位置のみを含む。

 注:
 注: 
サンプル プログラムを見るには、.NETとともにNet Expressを起動させ、Core.Netソリューションを開くこと。それらは、.NET\Examples\LRM Samples\Core.NETフォルダー内のNet Expressの中にある。


