12.2.1 明示的影響2項関係
COBOL実行文から抽出される影響2項関係のうち,明示的影響2項関係の説明です。
プログラム情報収集ステップ(影響範囲解析準備ステップ)では,ソースプログラムの解析時にCOBOL実行文から影響2項関係を抽出してデータベースに蓄積します。例えば,COMPUTE文の場合,次のような影響2項関係を抽出します。
データ影響波及分析では,送り出し作用対象と受け取り作用対象(受け取り側データ項目)の関係にあるもの,つまり,転記の関係にある作用対象の組み合わせだけを影響2項関係として抽出します。明示的に記述された作用対象間の影響2項関係のため,明示的影響2項関係といいます。影響2項関係として抽出されなかった関係は,影響範囲解析の結果には表示されません。
明示的影響2項関係抽出の対象のCOBOL実行文と,その文から抽出する影響2項関係を次に示します。影響を与える作用対象または影響を受ける作用対象として取り扱うデータは,「12.1 影響波及分析の対象のCOBOLデータ」で分析の対象としているデータです。
項番 |
文 |
影響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 |
添字付きのデータ名 |
添字を無視して反復項目全体との影響2項関係を抽出します。反復項目の従属項目の領域は要素長とし,領域を共有する影響2項関係を抽出します。次の影響2項関係は存在しないものとして扱います。
|
|
2 |
部分参照の一意名 |
部分参照子を無視して,データ項目全体との影響2項関係を抽出します。次の影響2項関係は存在しないものとして扱います。
|
|
3 |
利用者定義関数一意名 |
「12.2.3 ソースファイルをわたった影響2項関係」を参照してください。 |
|
4 |
オブジェクトプロパティ一意名 |
ほかの作用対象との影響2項関係は存在しないものとして扱います。 |
|
5 |
ADDRESS OF 一意名 |
次の影響2項関係を抽出します。影響を受ける作用対象側にADDRESS OF一意名が指定された場合,影響2項関係は存在しないものとして扱います。また,ADDRESS OFに指定された一意名と受け取り項目との間の影響2項関係は,存在しないものとして扱います。
|
|
6 |
LENGTH OF 一意名 |
次の影響2項関係を抽出します。LENGTH OFに指定された一意名と受け取り項目との間の影響2項関係は,存在しないものとして扱います。
|
|
7 |
組み込み関数一意名 |
引数なし組み込み関数 |
組み込み関数一意名と受け取り項目の影響2項関係を抽出します。 |
RANDOM組み込み関数 |
|||
ADDR組み込み関数 |
|||
LENGTH組み込み関数 |
|||
その他の組み込み関数 |
組み込み関数の引数と受け取り項目の影響2項関係を抽出します。 |
||
8 |
そのほかの一意名 |
− |
プログラム呼び出しの引数の影響2項関係を次に示します。
実引数BY指定※1 |
仮引数の参照※2 |
引数種別 |
抽出する影響2項関係※3 |
|
---|---|---|---|---|
送り出し |
受け取り |
|||
BY REFERENCE |
無または有 |
無 |
入力パラメタ |
実引数から仮引数への影響2項関係 |
無 |
有 |
出力パラメタ |
仮引数から実引数への影響2項関係 |
|
有 |
有 |
入出力パラメタ |
実引数と仮引数の間の相互影響の影響2項関係 |
|
BY CONTENT |
無または有 |
無 |
入力パラメタ |
実引数から仮引数への影響2項関係 |
無 |
有 |
受け渡しなし |
影響2項関係抽出なし |
|
有 |
有 |
入力パラメタ |
実引数から仮引数への影響2項関係 |
|
BY VALUE |
無または有 |
無または有 |
入力パラメタ |
実引数から仮引数への影響2項関係 |
n番目の実引数 |
n番目仮引数 |
|
---|---|---|
有 |
無 |
|
有 |
○ |
× |
無 |
× |
× |
注意
-
影響2項関係を抽出するCOBOL実行文として記載されていない文も,その中で影響波及元データ項目や影響波及先データ項目が参照されていれば,その文脈は影響波及元コードや影響波及先コードとしては表示されます。
影響2項関係を抽出しないCOBOL実行文(データ一意名指定を持たない文は除く)を次に示します。
表12‒7 影響2項関係を抽出しないCOBOL実行文 項番
COBOL実行文
1
画面機能(WINDOW SECTIONおよびSCREEN SECTION)用の文
2
通信機能の文
3
報告書作成機能の文
4
入出力文
「表12-4 影響2項関係を抽出するCOBOL実行文と抽出する影響2項関係」で説明していない文
5
整列併合機能の文
6
OLE2オートメーションインタフェース機能の文および文脈
7
オブジェクト指向機能の文および文脈(INVOKE文やプロパティ参照)
8
埋め込みSQL文
9
CANCEL文
10
GO TO DEPENDING ON文
11
IF文
12
EVALUATE文
13
RAISING指定のEXIT文やGOBACK文
14
SEARCH文
15
RAISE文
16
データ項目の指定を持たない文(「表12-9 暗黙転記の暗黙的影響2項関係」に記載された文を除く)
「表12-8 影響2項関係を抽出するCOBOL実行文中の影響2項関係を抽出しないデータ参照」で示すCOBOL実行文では,影響2項関係を抽出したデータ項目が影響波及元データ項目や影響波及先データ項目にならなくても,影響2項関係抽出の対象としないデータ項目が影響波及元データ項目や影響波及先データ項目となった場合は,そのCOBOL実行文は影響波及元コードや影響波及先コードとして表示されます。
表12‒8 影響2項関係を抽出するCOBOL実行文中の影響2項関係を抽出しないデータ参照 COBOL実行文
影響2項関係抽出の対象としないデータ
CALL文
語CALLの直後のデータ項目/定数
EXAMINE文
TALLY特殊レジスタ
ALL/LEADING/UNTIL FIRST指定の定数
INSPECT文
語TALLYINGの直後のデータ項目
語CONVERTINGの直後のデータ項目/定数
ALL/LEADING指定のデータ項目/定数
AFTER指定とBEFORE指定のデータ項目/定数
PERFORM文
TIMES指定のデータ項目/定数
UNTIL指定のデータ項目/定数
READ文
KEY指定のデータ項目
STRING文
DELIMITED指定のデータ項目/定数
POINTER指定のデータ項目
TRANSFORM文
FROM指定のデータ項目/定数
UNSTRING文
DELIMITED指定のデータ項目/定数
DELIMITER指定のデータ項目
COUNT指定のデータ項目
POINTER指定のデータ項目
TALLYING指定のデータ項目
-
条件名が指定されたCOBOL実行文では,条件名が関連づけられている条件変数が影響波及元データ項目や影響波及先データ項目となっている場合に,そのCOBOL実行文が影響波及元コードや影響波及先コードとして表示されます。データ影響波及分析での条件名および条件変数の影響波及の見え方を次に示します。
上記の例では,調査対象データ項目として選択したデータ項目の左側が影響波及元として表示され,右側が影響波及先として表示されます。
条件名と条件変数は領域を共有する関係ではないので,集団項目の従属項目と異なり,別名として扱われることはありません。