ISO2002 

PROPERTY 句

PROPERTY 句は、このデータ項目がこのデータ記述を含むオブジェクトの属性であり、その GET メソッドまたは SET メソッド (あるいはその両方) を適宜生成することを指定する。

一般形式


*

構文規則

  1. PROPERTY 句を指定できる場所は、ファクトリ定義またはオブジェクト定義の作業場所節のみである。
  2. OCCURS 句に属するデータ項目には、PROPERTY 句を指定できない。
  3. PROPERTY 句を指定できる対象は、参照の一意性を確保するために名前を修飾する必要のない基本項目のみである。
  4. 記述項の左辺で使用するデータ名には、スーパークラスで定義した属性名と同じ名前は使用できない。
    注: 属性名を定義するには、PROPERTY 指定で 1 つまたはペアのメソッドを定義してスーパークラスで定義するか、PROPERTY 句でデータ記述項を記述して定義する。

一般規則

  1. GET を指定しない場合、PROPERTY 句は該当のデータ項目を含むファクトリまたはオブジェクトに対してメソッドを定義する。

    その記述項の左辺の字類が、指標、オブジェクト、またはポインターである場合、このメソッドは暗黙的に以下のように定義される。

     METHOD-ID.GET PROPERTY data-name. 
     DATA DIVISION. 
     LINKAGE SECTION. 
     01 LS-data-name data-description. 
     PROCEDURE DIVISION RETURNING LS-data-name. 
     par-name. 
         SET LS-data-name TO data-name 
         EXIT METHOD. 
     END METHOD.

    その記述項の左辺の項類が、英数字編集、各国文字編集、または数字編集である場合、このメソッドは暗黙的に以下のように定義される。

     METHOD-ID.GET PROPERTY data-name. 
     DATA DIVISION. 
     LINKAGE SECTION. 
     01 LS-data-name data-description. 
     PROCEDURE DIVISION RETURNING LS-data-name. 
     par-name. 
         MOVE data-name TO LS-data-name (1:). 
         EXIT METHOD. 
     END METHOD.
    注: その記述項の左辺が編集されている場合、受信側項目全体を部分参照すると、そのデータには編集規則は再度適用されない。

    それ以外の場合、このメソッドの暗黙の定義は次のとおり。

    METHOD-ID.GET PROPERTY data-name.
     DATA DIVISION.
     LINKAGE SECTION.
     01 LS-data-name data-description.
     PROCEDURE DIVISION RETURNING LS-data-name.
     par-name.
         MOVE data-name TO LS-data-name
         EXIT METHOD.
     END METHOD.

    ここで、LS-data-name のデータ記述には、その記述項の左辺およびその下位のデータ項目が含まれる。ただし、以下を除く。

    • INDEXED BY 指定
    • PROPERTY 句
    • VALUE 句
    • その記述項の左辺の記述内にある REDEFINES 句
  2. SET を指定しない場合、PROPERTY 句は該当のデータ項目を含むファクトリまたはオブジェクトに対してメソッドを定義する。

    その記述項の左辺の字類が、指標、オブジェクト、またはポインターである場合、このメソッドは暗黙的に以下のように定義される。

    METHOD-ID.SET PROPERTY data-name.
     DATA DIVISION.
     LINKAGE SECTION.
     01 LS-data-name data-description.
     PROCEDURE DIVISION USING LS-data-name.
     par-name.
         SET data-name TO LS-data-name
         EXIT METHOD.
     END METHOD.

    その記述項の左辺の項類が、英数字編集、各国文字編集、または数字編集である場合、このメソッドは暗黙的に以下のように定義される。

     METHOD-ID.SET PROPERTY data-name.
     DATA DIVISION.
     LINKAGE SECTION.
     01 LS-data-name data-description.
     PROCEDURE DIVISION USING LS-data-name.
     par-name.
         MOVE LS-data-name TO data-name (1:).
         EXIT METHOD.
     END METHOD.
    注: その記述項の左辺が編集されている場合、受信側項目全体を部分参照すると、そのデータには編集規則は再度適用されない。

    それ以外の場合、このメソッドの暗黙の定義は次のとおり。

    METHOD-ID.SET PROPERTY data-name.
     DATA DIVISION.
     LINKAGE SECTION.
     01 LS-data-name data-description.
     PROCEDURE DIVISION USING LS-data-name.
     par-name.
         MOVE LS-data-name TO data-name
         EXIT METHOD.
     END METHOD.

    ここで、LS-data-name のデータ記述には、その記述項の左辺およびその下位のデータ項目が含まれる。ただし、以下を除く。

    • INDEXED BY 指定
    • PROPERTY 句
    • VALUE 句
    • その記述項の左辺の記述内にある REDEFINES 句