12.5.3 作用対象の属性と作用対象の影響する領域
英数字項目間の転記では,調査対象の格納値に影響する影響2項関係を抽出し,数字項目間では,データ項目全体に影響するものとして影響2項関係を抽出します。作用対象の属性によって影響を与える領域が異なります。
明示的影響2項関係の場合
明示的影響2項関係での作用対象の属性と影響する領域について,次の表に示します。
明示的に影響を与える作用対象(送り出し作用対象) |
明示的に影響を受ける作用対象(受け取り作用対象) |
||||||
---|---|---|---|---|---|---|---|
固定長集団項目 |
添字付反復データ項目 |
部分参照付き一意名,可変長項目 |
英字,英数字項目,日本語項目 |
英字,英数字,日本語以外の基本項目 |
|||
JUSTなし |
JUSTあり |
||||||
固定長集団項目 |
○ |
× |
× |
○ |
× |
○ |
|
添字付反復データ項目 |
× |
× |
× |
× |
× |
× |
|
部分参照付き一意名,可変長項目 |
× |
× |
× |
× |
× |
× |
|
英字,英数字項目,日本語項目 |
○ |
× |
× |
○ |
× |
× |
|
英字,英数字,日本語以外の基本項目 |
○ |
× |
× |
× |
× |
× |
|
|
× |
× |
× |
× |
× |
× |
|
定数的な扱いの組み込み関数一意名 |
|
× |
× |
× |
× |
× |
× |
定数的な扱いでない組み込み関数一意名 |
RANDOM関数,ADDR関数,LENGTH関数以外の引数を持つ組み込み関数 |
× |
× |
× |
× |
× |
× |
暗黙的影響2項関係の場合
再定義,被再定義,再命名,被再命名による暗黙的作用対象は,明示的作用対象が影響する部分が影響を受けるものとして,影響2項関係を抽出します。
再定義との暗黙的2項関係の影響個所について,次に示します。
明示的な作用対象が集団項目の場合,暗黙的作用対象となる従属項目は,JUST句のない英数字項目と同じに扱い,調査対象の格納値の影響を受ける領域が部分的に影響を受けるものとして影響2項関係を抽出します。
明示的な受取り作用対象が集団項目の場合について,次に示します。
複数のソースファイルにわたる影響2項関係の場合
- 外部プログラム,または利用者定義関数の呼び出しの引数と返却値
-
外部プログラム呼び出し,または利用者定義関数呼び出しの引数と返却値の間の影響2項関係での作用対象の属性と影響する領域は,明示的影響2項関係と同じです。
- 外部データ(EXTERNAL)項目
-
外部データ項目間の影響2項関係は,同名の外部データ項目間で影響を受ける領域を共有します。
外部データ項目を再定義している場合,領域が重なり合っている別名データ項目の領域を計算します。
文字列操作文の作用対象の扱い
次の文字列操作文の作用対象は,影響2項関係の抽出時に格納値のサイズが決定しないため,データ項目全体に影響が波及するものとして影響2項関係を抽出します。
-
INSPECT文のREPLACING指定
-
TRANSFORM文
-
STRING文
-
UNSTRING文
INTO指定のREAD文およびRETURN文について
INTO指定のREAD文およびRETURN文で発生する影響2項関係は,別名も含めて,領域が重なり合っているデータ項目の領域全体に影響が波及するとみなします。