Hitachi

COBOL2002 Professional Tool Kit データ影響波及分析ガイド


12.3.1 明示的影響2項関係

COBOL実行文から抽出される影響2項関係のうち,明示的影響2項関係の説明です。

プログラム情報収集ステップ(影響範囲解析準備ステップ)では,ソースプログラムの解析時にCOBOL実行文から影響2項関係を抽出してデータベースに蓄積します。例えば,COMPUTE文の場合,次のような影響2項関係を抽出します。

[図データ]

データ影響波及分析では,送り出し作用対象と受け取り作用対象(受け取り側データ項目)の関係にあるもの,つまり,転記の関係にある作用対象の組み合わせだけを影響2項関係として抽出します。明示的に記述された作用対象間の影響2項関係のため,明示的影響2項関係といいます。影響2項関係として抽出されなかった関係は,影響範囲解析の結果には表示されません。

明示的影響2項関係抽出の対象のCOBOL実行文と,その文から抽出する影響2項関係を次に示します。影響を与える作用対象または影響を受ける作用対象として取り扱うデータは,「12.1 影響波及分析の対象のCOBOLデータ」で分析の対象としているデータです。

表12‒4 影響2項関係を抽出するCOBOL実行文と抽出する影響2項関係

項番

影響2項関係

影響を与える作用対象

影響を受ける作用対象

1

ACCEPT文※1

装置名※2

システム日付予約語※2

受け取り側データ項目

2

DISPLAY文※1

送り出し作用対象

装置名※2

3

MOVE文

送り出し作用対象

システム日付予約語※2

受け取り側データ項目

CORRESPONDING指定がある場合は基本従属項目間の暗黙的影響2項関係を抽出します。

暗黙的影響2項関係については,「表12-9 暗黙転記の暗黙的影響2項関係」を参照してください。

4

SET文※3

送り出し作用対象

受け取り側データ項目

SET 条件名 TO TRUE/FALSEの条件名

条件名が関連づけられている条件変数

条件名の構文では条件変数との暗黙的影響2項関係を抽出します。

暗黙的影響2項関係については,「表12-9 暗黙転記の暗黙的影響2項関係」を参照してください。

5

算術文

COMPUTE文

送り出し作用対象

受け取り側データ項目

GIVING指定なし算術文の送り出し作用対象

GIVING指定なし算術文の受け取り側データ項目

CORRESPONDING指定があるADD文またはSUBTRACT文の場合は基本従属項目間の暗黙の影響2項関係を抽出します。

暗黙的影響2項関係については,「表12-9 暗黙転記の暗黙的影響2項関係」を参照してください。

6

INITIALIZE文

初期値

初期化対象のデータ項目

集団項目の場合は基本従属項目の初期化の暗黙の影響2項関係を抽出します。

暗黙的影響2項関係については,「表12-9 暗黙転記の暗黙的影響2項関係」を参照してください。

7

PERFORM文

FROM指定に指定されたデータ項目/定数

VARYING指定に指定されたデータ項目

BY指定に指定されたデータ項目/定数

VARYING指定に指定されたデータ項目

VARYING指定に指定されたデータ項目

VARYING指定に指定されたデータ項目

8

CALL文(内部プログラム呼び出し)※4

各引数で「表12-6 プログラム呼び出しの引数の影響2項関係」に示す影響2項関係を抽出

返却項目(RETURNING指定がない場合はRETURN-CODE特殊レジスタ)

RETURNINGに指定されたデータ項目

CALL文にRETURNING指定がない場合は返却項目とRETURN-CODE特殊レジスタとの間の暗黙的影響2項関係を抽出します。

暗黙的影響2項関係については,「表12-9 暗黙転記の暗黙的影響2項関係」を参照してください。

9

READ文

レコードの暗黙的影響2項関係を抽出します。

暗黙的影響2項関係については,「表12-9 暗黙転記の暗黙的影響2項関係」を参照してください。

RETURN文

10

WRITE文

FROM指定に指定されたデータ項目

レコード

REWRITE文

レコード

ファイル名

RELEASE文

11

INSPECT文REPLACING指定

置き換え項目のデータ項目/定数

語INSPECTの直後のデータ項目

12

EXAMINE文

BY指定の定数

語EXAMINEの直後のデータ項目

13

TRANSFORM文

TO指定のデータ項目/定数

語TRANSFORMの直後のデータ項目

14

STRING文

連結対象の文字列のデータ項目/定数

INTO句に指定されたデータ項目

15

UNSTRING文

語UNSTRINGの直後のデータ項目

INTO句に指定されたデータ項目

注※1

画面機能(SCREEN SECTIONおよびWINDOW SECTION)と,コマンド行/環境変数アクセスのACCEPT文およびDISPLAY文は,影響2項関係抽出の対象外です。

注※2

12.1.3 影響波及分析の対象とするCOBOLの要素」を参照してください。

注※3

OLE2プロパティの取得・設定のSET文は,影響2項関係抽出の対象外です。

注※4

外部プログラム呼び出しについては,「12.3.3 ソースファイルをわたった影響2項関係」を参照してください。

影響を与える作用対象または影響を受ける作用対象に一意名が指定されている場合の取り扱い規則を次に示します。

表12‒5 一意名が指定されている場合の取り扱い規則

項番

一意名の種別

取り扱い規則

1

添字付きのデータ名

データ名がOCCURS句の指定がある基本項目の場合,添字を無視して,(基本項目のサイズ × OCCURS句に指定された繰り返し回数)を領域サイズとして影響2項関係を抽出します。

データ名がOCCURS句の指定がある集団項目の場合,添字およびOCCURS句の指定を無視して,集団項目およびその従属項目の領域サイズは1要素のサイズとし,領域を共有する影響2項関係を抽出します。

次の影響2項関係は存在しないものとして扱います。

  • 影響を受ける作用対象中にある,添字式の中のデータ項目や定数,および影響を受ける作用対象の反復データ項目

  • 影響を与える作用対象中にある添字式の中のデータ項目や定数,および影響を受ける作用対象

2

部分参照の一意名

部分参照子を無視して,データ項目全体との影響2項関係を抽出します。次の影響2項関係は存在しないものとして扱います。

  • 影響を受ける作用対象中の位置式または長さ式の中のデータ項目や定数と,影響を受ける作用対象の英数字データ項目

  • 影響を与える作用対象中の位置式または長さ式の中のデータ項目や定数と,影響を受ける作用対象

3

可変長集団項目

DEPENDING ON指定を無視して,反復項目全体を含む集団項目との影響2項関係を抽出します。

可変反復データ項目の後の文字位置を占めるデータ項目

可変反復データ項目の後の文字位置を占めるデータ項目は,OCCURS句に指定された最大の繰り返し回数から求めた長さを文字位置として,影響2項関係を抽出します。

4

利用者定義関数一意名

12.3.3 ソースファイルをわたった影響2項関係」を参照してください。

5

オブジェクトプロパティ一意名

ほかの作用対象との影響2項関係は存在しないものとして扱います。

6

ADDRESS OF 一意名

次の影響2項関係を抽出します。影響を受ける作用対象側にADDRESS OF一意名が指定された場合,影響2項関係は存在しないものとして扱います。また,ADDRESS OFに指定された一意名と受け取り項目との間の影響2項関係は,存在しないものとして扱います。

  • 影響を与える作用対象:ADDRESS OF 一意名

  • 影響を受ける作用対象:受け取り項目

7

LENGTH OF 一意名

次の影響2項関係を抽出します。LENGTH OFに指定された一意名と受け取り項目との間の影響2項関係は,存在しないものとして扱います。

  • 影響を与える作用対象:LENGTH OF 一意名

  • 影響を受ける作用対象:受け取り項目

8

組み込み関数一意名

引数なし組み込み関数

組み込み関数一意名と受け取り項目の影響2項関係を抽出します。

RANDOM組み込み関数

ADDR組み込み関数

LENGTH組み込み関数

その他の組み込み関数

組み込み関数の引数と受け取り項目の影響2項関係を抽出します。

9

そのほかの一意名

(凡例)

−:特にありません。

プログラム呼び出しの引数の影響2項関係を次に示します。

表12‒6 プログラム呼び出しの引数の影響2項関係

実引数BY指定※1

仮引数の参照※2

引数種別

抽出する影響2項関係※3

送り出し

受け取り

BY REFERENCE

無または有

入力パラメタ

実引数から仮引数への影響2項関係

出力パラメタ

仮引数から実引数への影響2項関係

入出力パラメタ

実引数と仮引数の間の相互影響の影響2項関係

BY CONTENT

無または有

入力パラメタ

実引数から仮引数への影響2項関係

受け渡しなし

影響2項関係抽出なし

入力パラメタ

実引数から仮引数への影響2項関係

BY VALUE

無または有

無または有

入力パラメタ

実引数から仮引数への影響2項関係

注※1

BY ATTRIBUTE指定の実引数の2項関係情報は抽出しません。

注※2

仮引数の参照とは,手続き部での参照の有無のことです。送り出しとは,送り出し作用対象での参照の有無のことです。受け取りとは,受け取り作用対象での参照の有無のことです。

注※3

CALL文に指定された実引数と手続き部見出しに指定された仮引数の数が異なる場合,対となる実引数または仮引数がない組み合わせの2項関係情報は抽出しません。

例として,プログラム呼び出しのn番目の実引数の有無とn番目の仮引数と有無との組み合わせを次に示します。

n番目の実引数

n番目仮引数

×

×

×

(凡例)

○:n番目の実引数および仮引数に対する2項関係情報を抽出します。

×:n番目の実引数,仮引数に対する2項関係情報を抽出しません。

注意