PROPERTY 句と OCCURS 句を含んでいるデータ項目、またはPROPERTY 句を含み OCCURS 句をともなうグループ項目に従属するデータ項目について、これらのデータ項目のコードをコンパイラが生成する方法を制御します。
制限事項:この指令はマネージ COBOL のみでサポートされます。
構文:
>>----ILARRAYPROPERTY(integer)-----------><
パラメーター:
- integer
-
- 0
-
プロパティは、データ要素のタイプによって決まるタイプで生成されます。このプロパティには、データ項目の次元と同じ多数のパラメーターがともないます。これらのプロパティには COBOL を使用してのみアクセスできます。C# や Visual Basic などの他の言語は、パラメーターをともなうこのようなプロパティへのアクセスを許可しません。この設定を使用して、この製品の旧バージョンにより生成されたコードを作成します。
- 1
- ネイティブのマネージ タイプの 01 レベルの配列は、シンプルなプロパティとして生成され、そのタイプは配列のタイプ (要素タイプではない) です。これらのプロパティには、他の言語を使用してアクセスできます。OCCURSをともなうかまたは OCCURS に従属する他のデータ項目は、ILARRAYPROPERTY(0) のデータ項目として生成されます。
- 2
- ILARRAYPROPERTY(1) と同様ですが、非ネイティブ配列のプロパティによってそのプロパティの GET と SET アクセス機構(プロパティ自体ではない)が生成される点が異なります。これにより、Visual Basic プログラムが (そのアクセス用メソッドによって) プロパティにアクセスできるようになります。
例:
次のデータ構造について検討します。
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(文字列、int) を生成しますが実際のプロパティは生成しません。