ILARRAYPROPERTY

PROPERTY 指定および OCCURS 指定を含んでいるデータ項目、または PROPERTY 指定を含み OCCURS 指定をともなうグループ項目に従属するデータ項目について、これらのデータ項目のコードをコンパイラが生成する方法を制御します。
制約事項: この指令は、JVM COBOL でのみサポートされています。

構文:

>>----ILARRAYPROPERTY(integer)-----------><

パラメーター:

integer
0

プロパティは、データ要素の型によって決まる型で生成されます。このプロパティには、データ項目の次元と同じ多数のパラメーターがともないます。これらのプロパティには COBOL を使用してのみアクセスできます。C# や Visual Basic などの他の言語は、パラメーターをともなうこのようなプロパティへのアクセスを許可しません。この設定を使用して、この製品の旧バージョンにより生成されたコードを作成します。

1
ネイティブ マネージ型の 01 レベルの配列は、シンプルなプロパティとして生成され、その型は配列の型 (要素の型ではない) です。これらのプロパティには、他の言語を使用してアクセスできます。OCCURS をともなうかまたは OCCURS に従属する他のデータ項目は、ILARRAYPROPERTY(0) の場合と同じように生成されます。
2
ILARRAYPROPERTY(1) と同様ですが、非ネイティブ配列のプロパティによってそのプロパティの GET および SET アクセサー (プロパティ自体ではない) が生成される点が異なります。これにより、Visual Basic プログラムが (そのアクセサー メソッドによって) プロパティにアクセスできるようになります。

プロパティ:

デフォルト: ILARRAYPROPERTY(1)

例:

次のデータ構造について検討します。
data division.
working-storage section.
01 n1 string OCCURS 10 PROPERTY.
01 group1.
	03 n2 PIC X(9) OCCURS 10 PROPERTY.
  • ILARRAYPROPERTY(0) では、n1 と n2 は両方ともタイプ文字列のプロパティとして公開され、int パラメーターが必要な出現を示します。
  • ILARRAYPROPERTY(1) では、n2 は上記のように公開されますが、n1 は型 string[ ] のプロパティとして公開されます (C# の表記)。
  • ILARRAYPROPERTY(2) では、n1 は ILARRAYPROPERTY(1) のように公開される一方、n2 では、コンパイラがアクセサー メソッド get_n2(int) (文字列を返す) および set_n2(string, int) を生成しますが実際のプロパティは生成しません。