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

手引・操作書

4010-1J-817

前書き

対象製品

P-2636-7354 COBOL2002 Developer Professional 05-00（適用OS：Windows 10(x64)，Windows 11，Windows Server 2019，Windows Server 2022）

P-2936-7354 COBOL2002 Developer Professional(64) 05-00（適用OS：Windows 10(x64)，Windows 11，Windows Server 2019，Windows Server 2022）

輸出時の注意

本製品を輸出される場合には、外国為替及び外国貿易法の規制並びに米国輸出管理規則など外国の輸出関連法規をご確認の上、必要な手続きをお取りください。

なお、不明な場合は、弊社担当営業にお問い合わせください。

商標類

記載の会社名，製品名などは，それぞれの会社の商標もしくは登録商標です。

発行

2025年2月　4010-1J-817

著作権

All Rights Reserved. Copyright (C) 2025, Hitachi, Ltd.

はじめに

このマニュアルは，次に示すCOBOL2002 Professional製品の機能である，データ影響波及分析の使い方について説明したものです。

P-2636-7354 COBOL2002 Developer Professional

P-2936-7354 COBOL2002 Developer Professional(64)

このマニュアルでは，上記の製品を総称して，COBOL2002 Developer Professionalと表記します。

対象読者

データ影響波及分析を利用するプログラマーで，次に示す項目を理解，習得していることを前提とします。

Windowsの基本的な操作方法

COBOL2002の知識

このマニュアルで使用する記号

このマニュアルで使用する記号を次のように定義しています。

記号

意味

［　　］

メニュータイトル，メニュー項目，ボタン，キー，およびアイコンの名称を示します。

例：［ファイル］メニュー

　　［OK］ボタン

　　［Enter］キー など

［　　］−［　　］

前のメニューを選択し，続けて後ろの項目を選択することを示します。

例：［ファイル］−［開く］

　　［ファイル］メニューから［開く］を選択することを示します。

［　　］＋［　　］

+ の前のキーを押したまま，後ろのキーを押すことを示します。

例：［Ctrl］+［C］キー

　　［Ctrl］キーを押したまま［C］キーを押すことを示します。

　△

半角の空白を入れること，またはスペースキーを指定された数だけ押すことを示します。

斜体

インストール先フォルダなど可変の個所を示します。

〔 〕

省略できることを示します。

例：INCLUDE 〔サブシステム名〕

　　サブシステム名は省略できることを示します。

｛　｝

この記号で囲まれている複数の項目のうちから1つを選択することを示します。項目が縦に複数行にわたって記述されている場合は，そのうちの1行分を選択します。

｛　｝+

この記号で囲まれている複数の項目のうちから1つを選択することを示します。同じ要素の繰り返し指定はできませんが，異なる要素であれば，複数指定できます。例えば，｛A｜B｜C｝+と表記されている場合は，A・B・Cをすべて選択してもよいことを示します。

項目が縦に複数行にわたって記述されている場合は，そのうちの1行分を選択します。

｜

横に並べられた複数の項目に対して項目間の区切りを示し，「または」を意味します。

...

記述が省略されていることを意味します。

この記号の直前に示された項目を繰り返して複数個指定できます。

下線

括弧で囲まれた複数の項目のうち1項目に対して使用され，括弧内のすべてを省略したときにシステムが仮定する標準値を意味します。

用語の定義

このマニュアルで使用する用語の定義を次に示します。

パス名とパスプレフィクス

パス名とパスプレフィクスは，次のとおりです。

絶対パス名

ドライブ名で始まるパス名。

　ドライブ名¥フォルダ名¥ … ¥ファイル名

相対パス名

カレントフォルダからの相対のパス名。

・カレントフォルダの1階層上位のフォルダを経由する場合

　..¥フォルダ名¥フォルダ名¥ … ¥ファイル名

・カレントフォルダ下のフォルダを経由する場合

　フォルダ名¥フォルダ名¥ … ¥ファイル名

絶対パスプレフィクス

ドライブ名で始まるパスプレフィクス。

相対パスプレフィクス

カレントフォルダからの相対のパスプレフィクス。

1　データ影響波及分析の紹介

データ影響波及分析の概要について説明します。

1.1　データ影響波及分析とは

データ影響波及分析とは，COBOLプログラムのデータ項目に対する修正（設定値や比較値の変更）が，システム全体にどう影響するかを調査できるようにする機能です。

全文検索ツールを使ってCOBOLソースファイルの影響波及を調査する場合，引数や外部名を経由してほかのプログラムに波及するケースや，データ項目の別名を経由して波及するケースがあるため，影響の波及先を完全に追い切れないことがあります。

データ影響波及分析を使用すると，COBOLプログラムの修正の影響をGUIの操作で追跡できます。これによって，エンハンスによるプログラムの改変の影響を把握でき，修正漏れを防げます。

図1‒1　データ影響波及分析の概要

データ影響波及分析では，解析結果を組み込みデータベースに格納します。このデータベースのことをデータ影響波及分析用データベースといいます。データ影響波及分析用データベースに格納された解析結果を基に，データ項目に対する修正がどのように影響するかをGUIで確認できます。

ポイント

データ影響波及分析を使用する前に，組み込みデータベースのセットアップが必要です。セットアップの手順については，マニュアル「COBOL2002 Professional製品 導入ガイド」を参照してください。

1.2　データ影響波及分析の分析処理の概要

データ影響波及分析の分析処理の概要です。

1.2.1　プログラム情報収集（影響2項関係の抽出）

プログラムを修正した場合の影響は，実行文を通して波及します。作用対象（データ名，一意名，定数など）を複数持つ実行文では「影響を与える作用対象」と「影響を受ける作用対象」の関係にある作用対象の組が存在します。これを影響2項関係といいます。例えば，MOVE文の場合の送り出し作用対象と受け取り作用対象の関係が該当します。次の図では，送り出しデータ項目Sと受け取りデータ項目Rの組が影響波及2項関係であり，送り出しデータ項目Sが何らかの影響を受けると，その影響は受け取りデータ項目Rにも波及します。

図1‒2　MOVE文での影響2項関係

影響2項関係の情報は，プログラム情報収集ステップでユーザシステムのすべてのソースプログラムから抽出され，ほかのソースプログラムの解析情報とともにデータ影響波及分析用データベースに蓄積されます。

図1‒3　データ影響波及分析用データベースに蓄積された影響2項関係情報の集合のイメージ

1.2.2　影響波及の解析（影響範囲解析）

影響範囲解析を開始するには，影響調査の対象とするデータ項目が必要です。これを調査対象データ項目といいます。また，調査対象データ項目を定義するプログラムを調査対象プログラム，調査対象データ項目との間に影響関係を持つソース要素を影響プログラムといいます。影響波及調査ウィンドウでは，調査対象データ項目を解析の起点として，影響波及元解析と影響波及先解析の2つの影響範囲解析を実行して解析結果を表示します。

(1)　影響波及元解析

影響波及元解析では，データ影響波及分析用データベース内の影響2項関係情報の集合を使って，ユーザが選択した調査対象データ項目へ影響を与える影響波及の連鎖（影響2項関係の連鎖）を求めます。この連鎖上に現れるデータを影響波及元データといいます。また，影響波及元データのうちデータ項目であるものを影響波及元データ項目，影響波及元データ項目を更新しているソース行を影響波及元コード，影響波及元データ項目を定義するプログラム，または影響波及元コードを持つプログラムを影響波及元プログラムといいます。

図1‒4　影響波及元からの影響波及の連鎖

備考

図中の影響波及元データ項目Zのように，始点になっているデータ項目は，更新が存在しないため，影響波及元コードは存在しません。

(2)　影響波及先解析

影響波及先解析では，データ影響波及分析用データベース内の影響2項関係情報の集合を使って，ユーザが選択した調査対象データ項目から影響を受ける影響波及の連鎖（影響2項関係の連鎖）を求めます。この連鎖上に現れるデータを影響波及先データといいます。また，影響波及先データのうちデータ項目であるものを影響波及先データ項目，影響波及先データ項目を参照しているソース行を影響波及先コード，影響波及先データ項目を定義するプログラム，または影響波及先コードを持つプログラムを影響波及先プログラムといいます。

図1‒5　影響波及先への影響波及の連鎖

備考

図中の影響波及先データ項目Eのように，終点になっているデータ項目は，参照が存在しないため，影響波及先コードは存在しません。

(3)　解析結果の表示

解析結果の表示では，影響波及元解析と影響波及先解析の結果を合わせて，影響波及関連図（影響波及元関連図と影響波及先関連図），影響波及データ項目（影響波及元データ項目と影響波及先データ項目）の一覧，影響波及コード（影響波及元コードと影響波及先コード）の一覧として表示します。

図1‒6　影響波及データ項目の影響波及関連図

1.3　データ影響波及分析での操作の種類

データ影響波及分析には，GUIの操作とコマンドの操作があります。

データ影響波及分析の操作の種類を次に示します。

データ影響波及分析の操作の種類

データ影響波及分析用データベースの作成

影響波及の解析と調査

GUIの操作

開発マネージャ

影響波及調査ウィンドウ

コマンドの操作

cbldraコマンド

cbldiaコマンド

COBOLソースファイルが大量にあり，解析に時間が掛かる場合は，cbldraコマンドで一括実行してデータ影響波及分析用データベースを作成できます。データ影響波及分析用データベース内の構成を表示，格納した解析結果を削除する場合も，cbldraコマンドを使用します。また，影響範囲の調査と解析結果の出力を一括実行したい場合は，cbldiaコマンドを使用します。

1.4　データ影響波及分析の使用方法

データ影響波及分析の使用方法の説明です。

1.4.1　プログラムの影響を把握して開発規模を見積もる

データ項目に対する修正がプログラムにどのように影響するかを把握して開発規模を見積もるときにデータ影響波及分析を使用する方法です。

プログラムのエンハンスや不良修正では，影響範囲の検出が重要な作業です。この作業が不十分だとデグレードを引き起こす原因になります。このような影響範囲は，これまではCOBOLソースファイルのテキストを手作業で検索していました。しかし，引数を経由してプログラムをわたって影響が広がっている場合や，データ項目を別名参照している（同じデータ項目を異なる名前で参照している）場合は，調査するプログラムの数が増大し，かつ，漏れが発生することがあります。

データ影響波及分析は，エンハンスや保守での影響範囲を短時間かつ正確に把握できます。これによって，生産性向上，保守効率向上および品質向上を実現できます。

データ影響波及分析を使用して影響範囲を見つける手順を次に示します。

影響波及先を検出し，修正が必要かどうかを調査します。

エンハンスや不良修正でデータ項目Xの値を変更する場合，データ影響波及分析を使って，その値から影響を受ける個所（影響波及先）を検出します。この結果から，データ項目に対する修正方法が妥当かどうか，影響波及先の修正が必要かどうかを調査できます。

影響波及元を検出し，修正が必要かどうかを調査します。

エンハンスや不良修正でデータ項目Xの参照方法を変更する場合，データ影響波及分析を使って，そのデータ項目の値に影響を与える個所（影響波及元）を検出します。この結果から，データ項目に対する修正方法が妥当かどうか，影響波及元の修正が必要かどうかを調査できます。

1.4.2　影響範囲の調査で修正範囲を明確にしてプログラムを修正する

影響範囲の調査で修正範囲を明確にしてプログラムを修正するときにデータ影響波及分析を使用する手順です。

母体となるプログラムの構造を理解します。

プログラムの構造を理解するには，設計方針を保守ドキュメントで確認し，詳細な仕様はソースコードを直接確認しながら，次の項目を調査します。

プログラム構成

プログラム間の関係

プログラム間共通のデータ構造

プログラム内のデータ構造

プログラム内の処理

この作業にデータ影響波及分析を活用する方法を次に示します。

プログラム間の呼び出し関係を表示して，プログラム構成やプログラム間の関係を確認します。

詳細を調べたいデータ項目が使用される個所を自動的に検出します。ソースファイルの該当個所を参照しながらデータ項目の使い方などを調査します。

データ項目の定義が記述されているソースファイルの個所を参照して，データ構造を確認します。

修正するために影響を調査します。

プログラムを修正するときは，次に示す項目を調査します。

影響調査の工数見積もり

修正によって影響を受ける個所の検出

修正によって影響を受ける個所の修正が必要かどうかの調査

調査した結果のエビデンスの作成

この作業にデータ影響波及分析を活用する方法を次に示します。

修正対象個所から影響を受けるソースコードの個所（影響個所）を自動的に検出します。

影響個所をソースファイル上で確認しながら修正が必要かどうかを調査します。

修正が必要かどうかの調査結果をソースコードと対応づけて備忘録（メモ）に記録します。

備忘録を調査個所のソースコードとともにCSVファイルに出力して，調査した結果のエビデンスとして利用します。

修正対象個所から影響を受けるプログラムごとに，影響個所の数を自動的に算出し，調査工数の見積もりや，担当者レベルに合わせた調査範囲の割り当てに利用します。

1.4.3　プログラムテストの影響範囲を調査する

プログラムのテストでの影響範囲を確認するときにデータ影響波及分析を使用する手順です。

プログラムの修正とデバッグ

修正が必要なデータ項目の例を次に示します。

引数，返却値，GLOBAL句やEXTERNAL句などを経由して，ほかのプログラムに不正な値を渡している

データ項目を使用する処理（算術演算や条件判断など）が不正な結果になっている

このようなデータ項目の不良をデバッグするときに，データ影響波及分析は，次のように活用できます。

不正な値を保持するデータ項目について，影響を与える個所を自動的に検出します。

データの流れをソースコードと対応付けてさかのぼりながら，不正な値を格納した原因を調査します。

テスト個所の検出

プログラムテストでは，主に次のテストを実施します。

修正プログラムに対する単体テスト

修正プログラムと上位/下位プログラムとの結合テスト

このテストについて，データ影響波及分析は，次のように活用できます。

修正個所から影響を受けるソースコードの個所を自動的に検出し，単体テストでのテスト個所の漏れを防止します。

修正個所から影響を受ける上位/下位プログラムを自動的に検出し，結合テストでのテスト対象プログラムの漏れを防止します。

プログラムの保守作業

不良の原因は，次の手順で調査します。

不良が顕在化した個所の特定

不良の原因になる個所の特定

不良の原因を調査するときに，データ影響波及分析は，次のように活用できます。

不良が顕在化した個所に影響を与えるソースコードの個所（影響個所）を自動的に検出します。

不良が顕在化した個所からデータの流れをソースコードと対応付けてさかのぼりながら，不良の原因を調査できます。

調査の備忘録（メモ）を影響個所のソースコードと対応付けてGUIに記録できます。

備忘録（メモ）を調査個所のソースコードとともにCSVファイルに出力して，調査のエビデンスとして利用できます。

保守ドキュメント作成支援

保守ドキュメントには，次の内容を調査して記載します。

他システムとの関連

モジュール/プログラム構成

プログラムのインタフェース（引数および戻り値）

プログラム間で共有するデータの構造および使用方法

プログラム内のデータ構造とアルゴリズム

このような内容の調査で，データ影響波及分析機能を次のように活用できます。

プログラム間の呼び出し関係を表示して，プログラム構成を調査します。

プログラムのインタフェース（引数および戻り値）やプログラム間で共有するデータ項目（GLOBAL句およびEXTERNAL句）など，調査したいデータ項目から影響がある個所を自動的に検出し，ソースファイルの該当個所を参照しながら使用方法などを調査します。

1.5　データ影響波及分析を使用するときの注意

データ影響波及分析を使用するときの注意です。

1.5.1　データ影響波及分析での共通の注意事項

データ影響波及分析および制御フローを考慮した解析使用時の，共通の注意事項を次に示します。

同名のプログラムが複数存在する場合の注意

同名の最外側プログラムまたは利用者定義関数が存在する場合，CALL文や利用者定義関数の参照では同名のプログラムがすべて呼び出されるものと仮定された解析結果になります。実際にはありえない実行可能ファイルの中のプログラムが，ほかの実行可能プログラムやDLLから呼び出される解析結果になることもあります。

データ影響波及分析の画面にこのような結果が表示されている場合は，「6.5　解析結果の表示を絞り込む」の手順で，不要なプログラムの表示を除外してください。

複数のサブシステムを調査対象とする場合の注意

複数のサブシステムを調査対象にすると，同名のプログラムが存在する可能性が高くなります。複数のサブシステムを調査対象とする場合は，次のケースに限定して使用してください。

複数のサブシステムに共通している，登録集原文ファイルのデータ項目の影響調査

実体は1つのサブシステムを，開発の都合で複数のサブシステムに分割して開発しているケース

実行文の順序に関する注意

データ影響波及分析のGUIの操作では，プログラムの制御フローは解析しません。コマンドの操作では，プログラムの制御フローを解析できます。

GUIの操作でデータ影響波及分析を実行した場合，実行文の実行順序では影響がないはずのデータ項目が影響を受ける表示になることがあります。

例：

次の文の並びの場合，プログラムの実行ではCはAの影響を受けません。

MOVE B TO C.
MOVE A TO B.

しかし，制御フローを解析しないため，分析では次の文の並びと同じ扱いになります。

MOVE A TO B.
MOVE B TO C.

このため，CはAの影響を受ける扱いになります。

データ影響波及分析の画面にこのような結果が表示されている場合は，「6.5　解析結果の表示を絞り込む」の手順で，不要なプログラムの表示を除外してください。

コマンドの操作によるプログラムの制御フローの解析方法については，「12.7　制御フローを考慮した解析」を参照してください。

サブシステム内のソースファイルが大量にある場合の注意

サブシステム内のソースファイルが大量にあり，調査対象データ項目の影響が多岐に及んでいる場合，解析に時間が掛かることがあります。

この場合，次の方法で1回の解析で処理されるCOBOLソースファイルを減らしてください。

調査対象データ項目として選択するデータ項目数を減らす。

プログラム情報フィルタリングファイルを使って解析が不要なソースファイルを除外する。

COBOLソースファイルのフィルタリングについては，「5.2.1　COBOLエディタから影響波及を解析する」，「5.2.2　Windowsのプログラム一覧から影響波及の解析を開始する」および「付録A.1　プログラム情報フィルタリングファイル」を参照してください。

データ影響波及分析の性能を確認するため，パフォーマンスログを取得できます。パフォーマンスログは，環境変数CBLDIA_PERFORMANCELOGを指定すると取得できます。解析が正常終了またはエラー終了した時点で，読み込まれたCOBOLソースファイルの解析情報の一覧が出力されます。この内容を参照して，不要なCOBOLソースファイルを選択してください。パフォーマンスログについては，「13.2　パフォーマンスログを参照する」を参照してください。

データベース作成時と影響波及調査時のソースファイルの同期の注意

データ影響波及分析用データベースの作成時のCOBOLソースファイルと影響波及調査時に参照するCOBOLソースファイルは，同じ内容である必要があります。データベースを作成したあとで，COBOLエディタなどでCOBOLソースファイルを変更した場合は，変更したソースファイルを再解析してデータ影響波及分析用データベースを更新してください。開発マネージャでは「ビルド」を使うことで，cbldraコマンドでは-Quickオプションを使うか，または変更したソースファイルだけをコマンドに指定すると，変更したCOBOLソースファイルだけを更新できます。ただし，内容は変更されないで，ファイルのタイムスタンプだけが変更になっている場合は，そのまま影響波及を調査できます。

データ影響波及分析で実行する同期チェックを次に示します。

影響波及調査ウィンドウの場合

調査環境の設定直後

分析範囲のすべてのサブシステム内にあるCOBOLソースファイルに対して，タイムスタンプをチェックします。タイムスタンプがデータベース作成時と異なるファイルや存在しないファイルがあった場合，警告のメッセージダイアログが表示されます。解析を続行するか終了するかを選択してください。

影響範囲の解析中

影響範囲の解析で使用するCOBOLソースファイルや登録集原文ファイルのサイズがデータベース作成時と異なる場合と，ファイルが存在しない場合は，エラーメッセージダイアログが表示されます。ダイアログを閉じると，解析を中止して［調査環境の設定］画面が表示されます。

影響範囲解析の終了後（解析結果の調査中）

解析結果の調査中にCOBOLソースファイルや登録集原文ファイルを開くと，ファイルのタイムスタンプが解析を開始した時点（登録集原文ファイルはデータベース作成時点）と異なる場合は，警告のメッセージダイアログが表示され，ファイルを開く操作がキャンセルされます。ファイルが存在しない場合は，警告のメッセージダイアログが表示され，ファイルを開く操作がキャンセルされます。

cbldiaコマンドの場合

調査環境の設定直後

分析範囲のすべてのサブシステム内にあるCOBOLソースファイルに対して，タイムスタンプをチェックします。タイムスタンプがデータベース作成時と異なるファイルや存在しないファイルがあった場合，エラーメッセージが表示されてプログラムが中止します。ただし，-Forceオプションを指定していた場合は，メッセージが表示されないで処理が続行します。

影響範囲の解析中

影響範囲の解析で使用するCOBOLソースファイルや登録集原文ファイルのサイズがデータベース作成時と異なる場合と，ファイルが存在しない場合は，エラーメッセージが表示されてプログラムが中止します。

デッドコードがCOBOLソースファイルに含まれる場合の注意

データ影響波及分析では，デッドコードを検知しません。そのため，実際には実行されないプログラムや影響がないはずのデータ項目も影響を受ける扱いになることがあります。

しかし，コマンドの操作で制御フローを考慮したデータ影響波及分析を実行した場合は，デッドコードを検知するので，デッドコードが含まれるCOBOLソースファイルも正しく解析できます。ただし，この場合も，デッドコードのデータ項目を調査対象としたとき，または影響波及元解析を実行したときは，実際には実行されないプログラムや影響がないはずのデータ項目も影響を受ける扱いになり，解析が正しく実行できないことがあります。

例1：

次のプログラムを実行してもCALL文に制御が到達することはないため，プログラムSUBにはAの影響は波及しません。

MOVE A TO B.
STOP RUN.
CALL SUB USING BY REFERENCE B.

しかしデータ影響波及分析ではデッドコードを検知しないため，CALL文が実行されるものとして扱われ，プログラムSUBにAの影響が波及している扱いになることがあります。

例2：

次のプログラムを実行しても「MOVE B TO C」に制御が到達することはないため，CはAの影響を受けません。

MOVE A TO B.
STOP RUN.
MOVE B TO C.

しかしデータ影響波及分析ではデッドコードを検知しないため，「MOVE B TO C」が実行されるものとして扱います。そのため，CはAの影響を受ける扱いになります。

プログラム呼び出し関連図の画面上に，例1のように実行されないプログラムが影響ありとして表示されている場合や，影響波及関連図の画面に例2のような結果が表示されている場合は，「6.5　解析結果の表示を絞り込む」の手順で，デッドコード部分への影響を除外して再表示してください。

データ影響波及分析用データベースの運用に関する注意

COBOLソースファイルを繰り返し解析していると，組み込みデータベース内で領域の断片化が発生し，データ影響波及分析用データベースの作成・更新の処理が遅くなることがあります。その場合は，次の方法でデータベースのデータを整理してください。

データベースの内容を保持した上で再編成する場合

DBユティリティのearorgコマンドで再編成してください。

データベースの内容を破棄して整理する場合

次のどちらかの方法でデータ影響波及分析用データベースを初期化してください。

eaunsetupコマンドとeasetupコマンドで組み込みデータベース全体を初期化

cbldraコマンドの-InitializeDatabaseオプションでデータ影響波及分析用データベース部分だけを初期化

COBOLソース解析を使用していないときは，1.をお勧めします。COBOLソース解析を使用しているときは，2.の方法でデータ影響波及分析用データベースだけを初期化できます。

組み込みデータベースにトラブルが起こった場合，DBユティリティのeaunsetupコマンドとeasetupコマンドで，組み込みデータベース全体の再セットアップが必要になることがあります。その場合，格納されていたデータは削除されるため，次のどちらかの手順で復旧してください。

すべてのCOBOLソースファイルを再解析します。COBOLソースファイル数が1個から数百個程度と，さほど多くない場合は，この方法をお勧めします。

定期的にDBユティリティのeabackupコマンドで組み込みデータベース全体のバックアップを取得しておきます。トラブルが起こって再セットアップしたあとで，最新のバックアップを使ってearstrコマンドで回復できます。

埋め込みSQL文を含むCOBOLソースファイルをプログラム情報収集対象とする場合の注意

データ影響波及分析では，次に示すSQL埋め込みCOBOLソースファイル（埋め込みSQL文を含むCOBOLソースファイル）をプログラム情報収集対象とします。影響波及で解析できるSQL文については，「付録E　影響波及で解析できるSQL文の一覧」を参照してください。

COBOL2002のODBCインタフェース機能で使用できる埋め込みSQL文を含むCOBOLソースファイル

COBOL言語用SQLプリプロセサのUAPソースファイル

ただし，COBOL言語用SQLプリプロセサのUAPソースファイルをプログラム情報収集対象とする場合は，次の点に注意してください。

次のどちらかに該当するCOBOLソースファイルはコンパイルエラーになるため，プログラム情報を収集できません。

SQLCODE変数，SQLSTATE変数，SQL連絡領域（SQLCA）またはSQL記述領域（SQLDA）をCOBOLプログラム内で参照しているが，明示的な埋め込みSQL宣言がない。

SQL TYPE句を使用している。

コンパイルエラーを回避するため，COBOL2002コンパイラの環境変数CBLCOPT2002に-SQLAutoCopyコンパイラオプションを指定する必要があります。-SQLAutoCopyコンパイラオプションについては，「付録A.7　-SQLAutoCopyコンパイラオプション」を参照してください。

明示的に-SQLコンパイラオプションを環境変数CBLCOPT2002に指定した場合は，指定した-SQLコンパイラオプションに従った動作となります。

開発マネージャにCOBOL言語用SQLプリプロセサのUAPソースファイルをプリプロセスしてCOBOLソースファイルを作成する設定で登録し，プログラム情報収集を行うと，プログラム情報収集の対象となるソースファイルはプリプロセス後のCOBOLソースファイルとなります。COBOL言語用SQLプリプロセサのUAPソースファイルのプログラム情報収集を行う場合は，cbldraコマンドを使用してください。

1.5.2　制御フローを考慮した解析での注意事項

制御フローを考慮した解析使用時の固有の注意事項を次に示します。

制御フローを考慮した解析で例外が発生する文を解析する場合の注意

制御フローを考慮した解析では，例外が発生する制御フローを解析する場合，例外が発生する文による値設定の影響を受けないものと扱います。

例：

ADD A TO B
  ON SIZE ERROR
    MOVE B TO C
  NOT ON SIZE ERROR
    MOVE B TO D
END-ADD.

このプログラムの場合，例外が発生する制御フローで実行される「MOVE B TO C」を解析するときは，例外が発生する文である「ADD A TO B」による値設定の影響を受けないものと扱うため，CはAの影響を受けません。例外が発生しない制御フローで実行される「MOVE B TO D」を解析するときは，例外が発生する文である「ADD A TO B」による値設定の影響を受けるものと扱うため，DはAの影響を受けます。

制御フローを考慮した解析で，STOP RUN文やEXIT PROGRAM文の後ろに書いた節や段落中のデータ項目を解析対象とした場合の注意

制御フローを考慮した解析では，STOP RUN文やEXIT PROGRAM文の後ろに書いた節や段落中のデータ項目を調査対象データ項目として指定した場合も，デッドコードのデータ項目を調査対象として指定したときと同様に，実際には実行されないプログラムや影響のないはずのデータ項目も影響を受ける扱いとなり，解析が正しく実行できないことがあります。

制御フローを考慮した解析で，PERFORM文，INPUT PROCEDUREまたはOUTPUT PROCEDURE指定のある文の処理を解析する場合の注意

PERFORM文，INPUT PROCEDUREまたはOUTPUT PROCEDURE指定のある文の処理内にデッドコードがある場合に，影響波及元解析を実行すると，デッドコードの一部も影響波及分析の対象となり，正しく解析されないことがあります。

PERFORM文，INPUT PROCEDUREまたはOUTPUT PROCEDURE指定のある文の処理で呼び出される節や段落を，これらの文を通さないで節や段落内の文を起点として解析した場合，NEXT STATEMENT指定のあるRESUME文はCONTINUE文として扱われます。

調査対象別名一覧および調査対象使用個所一覧を出力する場合の注意

調査対象別名一覧および調査対象使用個所一覧を出力する場合は，制御フローを考慮した解析が可能なデータ影響波及分析用データベースを使用してください。

開発マネージャでこのデータベースを作成する場合の注意事項については，「3.5　プロジェクトとデータ影響波及分析用データベースの関係」を参照してください。

制御フローを考慮した解析での埋め込みSQL文を解析する場合の注意

制御フローを考慮した解析では，埋め込みSQL文を解析する際，埋め込みSQL文による値設定の影響を受けないものと扱います。

例：

MOVE A TO B.
EXEC SQL SELECT * INTO :B FROM T WHERE X = 1 END-EXEC.
MOVE B TO C.

このプログラムの場合，埋め込みSQL文である「EXEC SQL文」による値設定の影響を受けないものと扱うため，CはAの影響を受けます。

2　データ影響波及分析の基本的な使い方

データ影響波及分析の操作手順について説明します。

この章では，データ影響波及分析の基本的な使い方を説明しています。各手順の詳細については，3章以降を参照してください。

2.1　データ影響波及分析を使う手順

COBOL2002 Developer Professionalのインストールを完了し，組み込みデータベースをセットアップしたあとで，データ影響波及分析を使用する手順です。

関連項目

「3.　データ影響波及分析用データベースを作成する」

「4.　データ影響波及分析用データベースを操作する」

「5.　影響波及を解析する」

「6.　影響波及を調査する」

「7.　調査結果を出力する」

2.2　データ影響波及分析を実行する

データ影響波及分析を実行する，基本的な手順です。

各手順については，次の説明を参照してください。

「3.　データ影響波及分析用データベースを作成する」

「4.　データ影響波及分析用データベースを操作する」

「5.　影響波及を解析する」

「6.　影響波及を調査する」

「7.　調査結果を出力する」

作業の前に確認すること

DBユティリティで組み込みデータベースのセットアップが完了している。

ODBCデータソースの設定を完了している。

環境変数CBLDIA_PERFORMANCELOGを指定してパフォーマンスログを採取している。

パフォーマンスログは，トラブル発生時に調査資料として必要になります。パフォーマンスログの機能，目的，指定方法については，「付録D　データ影響波及分析の環境変数」のCBLDIA_PERFORMANCELOGを参照してください。

作業の手順

開発マネージャで，調査対象データ項目があるプロジェクトマスタを開きます。

開発マネージャの［プロジェクト］−［プロジェクトの設定］メニューを選択し，［プロジェクト設定］ダイアログの次の項目を設定します。

データ影響波及分析用データベースを作成する

データ領域番号の指定(1〜5)

サブシステム名の指定

一意名呼び出し対応付けファイルの指定

［プロジェクト設定］ダイアログに上記の設定をしなくても，組み込みデータベースは操作できます。

設定が完了したら，［プロジェクト設定］ダイアログの［OK］ボタンをクリックし，ダイアログを閉じます。

開発マネージャで，データ影響波及分析用データベースを作成します。

データ影響波及分析用データベースが作成されます。

COBOLエディタで，影響波及を調査するデータ項目があるCOBOLプログラムを開きます。COBOLエディタの画面でデータ項目を右クリックし，ポップアップメニューを選択し影響波及の解析を実行します。

選択したデータ項目を調査対象データ項目として，影響波及が解析されます。ここでは，ポップアップメニューで［影響波及元と影響波及先］メニューを選択したものとします。

ポップアップメニューでメニューを選択すると，データ影響波及分析の［調査環境の設定］画面が表示されます。

［調査環境の設定］画面でサブシステム名（プロジェクト名）を選択し，［解析］ボタンをクリックします。

影響波及調査ウィンドウに解析結果が表示されます。

参考

データ影響波及分析を使用するときは，［ヘルプ］メニューの［凡例を表示］で［凡例を表示］ダイアログを表示して，画面上の色の意味を確認して操作できます。

影響波及調査ウィンドウの解析結果から，調査対象データ項目を変更した場合の影響を確認します。

ウィンドウ左側の中央にある［プログラム呼び出し関連図］画面上にオレンジ色で示す個所が，調査対象プログラムです。

ウィンドウ中央下の影響波及データ項目と影響波及コードの個数がどのくらいあるかを把握できます。この情報から，影響波及を調査する作業量を見積もれます。

ウィンドウ左側の下部にある画面（［影響プログラム一覧］画面）の［調査対象］の行をクリックまたはダブルクリックすると，次に示す個所にCOBOLプログラムが表示されます。

［影響波及データ］画面（ウィンドウ右上）

調査対象となるデータ項目がデータ部（DATA DIVISION）で定義されている個所を示します。

［影響波及コード］画面（ウィンドウ右下）

調査対象となるデータ項目の影響が，手続き部（PROCEDURE DIVISION）のどの処理に影響するかを示します。

影響波及先のデータ項目の影響を調査するため，ウィンドウ中央の［影響個所］タブをクリックします。

［影響個所］タブの下に［影響波及元関連図］画面と［影響波及先関連図］画面が表示されます。画面上にオレンジ色で示す個所が，調査対象データ項目です。

［影響波及先関連図］画面のツリーを展開し，影響波及先のデータ項目をクリックします。

ウィンドウ中央下のデータ一覧には，選択したデータ項目と直接の影響波及先のデータ項目が表示されます。影響波及コード一覧には，選択したデータ項目が参照される影響波及コードが表示されます。ウィンドウ右側の［影響波及データ］画面（右上）に選択したデータ項目の定義個所，［影響波及コード］画面（右下）に選択したデータ項目の参照個所が表示されます。

ウィンドウ中央下の［影響波及データ一覧］タブと［影響波及コード一覧］タブを切り替えて，それぞれの一覧を確認します。

一覧の行をクリックすると，ウィンドウ右側の［影響波及データ］画面と［影響波及コード］画面に，該当する個所が表示されます。

COBOLプログラムの影響個所を確認したら，［メモ］に作業内容を記入します。記入した情報は，調査状態を保存するときに，一緒に保存されます。

調査結果を保存します。

調査結果を保存するときは，［ファイル］−［調査状態保存ファイル］−［名前を付けて保存］メニューを選択します。

［メモ］に記入した情報は，次に示す操作で調査状態を保存するときに，一緒に保存されます。

［ファイル］−［調査状態保存ファイル］−［名前を付けて保存］メニュー

調査結果に名前を付けて，調査状態保存ファイルに保存します。保存した調査状態保存ファイルを開けば，続けて調査できます。

［ファイル］−［CSVファイルを出力］メニュー

調査結果をCSVファイルに出力します。この情報が，影響波及を調査したエビデンスになります。

［ファイル］−［タグファイルに出力］メニュー

影響波及を調査したCOBOLプログラム一覧をタグファイルで出力します。COBOLプログラムを修正するときは，COBOLエディタでタグファイルを開いて，該当するCOBOLプログラムを右クリックし［タグジャンプ］メニューを選択すると，該当するCOBOLプログラムを開けます。

3　データ影響波及分析用データベースを作成する

データ影響波及分析用データベースを作成する手順について説明します。

事前に，DBユティリティで組み込みデータベースをセットアップしておいてください。

3.1　データ影響波及分析用データベースの使用方法を決定する

データ影響波及分析を使用する前に，決定しておく項目の説明です。

データ影響波及分析用データベースを作成する前に，作成するタイミング，データベースの名前（サブシステム名），および使用するデータ領域を事前に決めておきます。なお，プロジェクトとデータベースの名前（サブシステム名）の関係については「3.5　プロジェクトとデータ影響波及分析用データベースの関係」を参照してください。

データ影響波及分析用データベースは，COBOL2002の開発マネージャを使用して作成します。開発マネージャを使わないでデータ影響波及分析用データベースを作成するときは，cbldraコマンドを使用します。

作業の前に確認すること

DBユティリティで組み込みデータベースのセットアップが完了している。

ODBCデータソースの設定を完了している。

作業の手順

データ影響波及分析用データベースを作成するタイミングを決定します。

次のどちらかのタイミングから選択します。

ビルドを実行するたびにデータ影響波及分析用データベースを作成

開発マネージャでビルド（ビルド，リビルド，クイックビルド，コンパイル）を実行すると，データ影響波及分析用データベースもあわせて作成/更新する方法です。

プロジェクト内のファイルを更新しないでデータ影響波及分析用データベースを作成

開発マネージャの［ツール］−［データ影響波及分析］メニューを選んでデータ影響波及分析用データベースを作成/更新する方法です。この方法では，プロジェクト内のファイルは更新されません。また，実行可能ファイルは作成されません。ただし，コンパイラオプション-SrcListの指定がある場合，コンパイルリストは更新されます。

データ影響波及分析用データベースの名前（サブシステム名）を決定します。

サブシステム名には，プロジェクトマスタ名の先頭30バイト文字が仮定されます。プロジェクトマスタ名中の「;」，半角空白，全角空白，タブは，「_」に置き換わります。通常はこのまま使用してください。

複数のプロジェクトマスタで，同じサブシステム名を指定できません。すでに登録しているサブシステム名と同じプロジェクトマスタ名のデータ影響波及分析用データベースがある場合は，サブシステム名を変更してください。変更しないと，データベースを作成する操作で同じサブシステム名のデータベースが上書きされます。

サブシステム名には，「-」（ハイフン）で始まる名称を指定できません。

データ影響波及分析用データベースで使用するデータ領域を決定します。

複数のサブシステムを格納できる領域をデータ領域と呼びます。

システム開発のプロジェクトごとにデータ領域を分ける場合や，バージョンごとにデータ領域を分ける場合には，使用するデータ領域をあらかじめ決めておきます。

データ影響波及分析用データベースでは，データ領域を5面まで使用できます。各データ領域の最大容量は128GBです。

データ領域と複数のサブシステムの関係を次に示します。

次の作業

どちらかを実行します。

「3.1.1　現在のプロジェクトの動作環境を設定する」

「3.1.2　すべてのプロジェクトを同じ動作環境に設定する」

3.1.1　現在のプロジェクトの動作環境を設定する

開発マネージャで開いているプロジェクトのデータ影響波及分析用データベースを作成する場合，開発マネージャの［プロジェクト設定］ダイアログで動作環境を設定します。

作業の前に確認すること

DBユティリティで組み込みデータベースのセットアップが完了している。

ODBCデータソースの設定を完了している。

データ領域を決定している。

サブシステム名を決定している。

作業の手順

開発マネージャでプロジェクトマスタを開き，［プロジェクト］−［プロジェクトの設定］メニューを選択します。

［プロジェクト設定］ダイアログが表示されます。

［プロジェクト設定］ダイアログの［データ影響波及分析］タブを選択します。

次に示す項目を設定します。

データ影響波及分析用データベースを作成する

ビルド時（ビルド，リビルド，クイックビルド，コンパイル）にデータ影響波及分析用データベースを作成する場合にチェックボックスをオンにします。ビルドを実行してもデータ影響波及分析用データベースを更新しない設定にする場合は，チェックボックスをオフにします。

データ領域番号の指定(1〜5)

データ領域番号を指定する場合にチェックボックスをオンにします。

チェックするとエディットボックスが表示されます。エディットボックスに，データ領域番号として1〜5の数値を半角数字で指定します。1〜5以外を指定した場合はエラーメッセージが表示されます。

この項目を指定しなかった場合，データベース作成時に次のデータ領域番号が仮定されます。

・サブシステム名がデータベースに存在しない場合は「1」

・サブシステム名がデータベースに存在する場合は，サブシステムが登録されているデータ領域番号

注意事項

すでにデータ領域にサブシステムが存在する場合に，データ領域番号を変更すると，そのままビルド（データベースを作成）してもエラーとなるため，次の点に注意が必要です。

サブシステムが存在していて，データ領域を変更したい場合は，cbldraコマンドで変更前のデータ領域にあるサブシステムを削除する必要があります。

サブシステムが存在していて，データを残しておきたい場合は，データ領域と併せてサブシステム名も変更する必要があります。

データを移行した場合，データ領域番号は「1」に移行されます。データ領域番号を変更したい場合は，上記1または2のどちらかの対応をする必要があります。

チェックを解除した場合は，サブシステムが登録されているデータ領域番号が仮定されるため，そのまま操作を続行して問題ありません。

サブシステムが存在しない（新規作成時など）場合は，特に問題はありません。

サブシステム名の指定

データ影響波及分析用データベースに格納するときに使用するサブシステム名に任意の名称を指定する場合，またはほかのプロジェクトマスタのプロジェクト名と重複しないようにサブシステム名を変更する場合にチェックボックスをオンにします。

チェックボックスをオンにすると，エディットボックスが表示されます。エディットボックスに任意のサブシステム名を指定します。プロジェクトマスタ名に指定できない文字列「¥」「/」「:」「*」「?」「"」「<」「>」「|」「@」「;」，半角空白，全角空白，タブは指定できません。

エディットボックスのサブシステム名を削除して指定すると，初期値または前回指定したサブシステム名が仮定されます。

なお，エディットボックスには，初期値としてプロジェクトマスタ名の先頭30バイト文字が仮定されます。プロジェクトマスタ名中の「;」，半角空白，全角空白，タブは，「_」に置き換わります。

サブシステム名には，「-」（ハイフン）で始まる名称を指定できません。

一意名呼び出し対応付けファイルの指定

通常，一意名の呼び出し先は，COBOLプログラムの解析時にデータ影響波及分析が自動で検出しますが，COBOLプログラムの処理によっては，一意名の呼び出し先を認識できません。一意名の呼び出し先を認識できないことを示す警告メッセージが出力された場合は，一意名呼び出し対応付けファイル（.idc）を作成し，指定してください。

一意名呼び出し対応付けファイル（.idc）を指定する場合にチェックボックスをオンにします。チェックボックスをオンにすると，エディットボックスと［参照］ボタンが表示されます。エディットボックスで指定する場合は，一意名呼び出し対応付けファイルの絶対パスを指定します。

一意名呼び出し対応付けファイルについては，「付録A.2　一意名呼び出し対応付けファイル」を参照してください。

設定が完了したら，［プロジェクト設定］ダイアログの［OK］ボタンをクリックし，ダイアログを閉じます。

次の作業

どちらかを実行します。

「3.2　ビルドを実行してデータ影響波及分析用データベースを作成する」

「3.3　プロジェクト内のファイルを更新しないでデータ影響波及分析用データベースを作成する」

3.1.2　すべてのプロジェクトを同じ動作環境に設定する

開発マネージャのプロジェクトマスタにある，すべてのプロジェクトを同じ設定でデータ影響波及分析用データベースを作成する場合は，開発マネージャの［設定］ダイアログで動作環境を設定します。

作業の前に確認すること

DBユティリティで組み込みデータベースのセットアップが完了している。

ODBCデータソースの設定を完了している。

データ領域を決定している。

サブシステム名を決定している。

作業の手順

開発マネージャの［ツール］−［データ影響波及分析］−［設定］メニューを選択します。

［設定］ダイアログが表示されます。

次に示す項目を設定します。

データ影響波及分析用データベースを作成する

ビルド時（ビルド，リビルド，クイックビルド，コンパイル）にデータ影響波及分析用データベースを作成する場合にチェックボックスをオンにします。ビルドを実行してもデータ影響波及分析用データベースを更新しない設定にする場合は，チェックボックスをオフにします。

データ領域番号の指定(1〜5)

データ領域番号を指定する場合にチェックボックスをオンにします。

チェックするとエディットボックスが表示されます。エディットボックスに，データ領域番号として1〜5の数値を半角数字で指定します。1〜5以外を指定した場合はエラーメッセージが表示されます。

この項目を指定しなかった場合，データベース作成時に次のデータ領域番号が仮定されます。

・サブシステム名がデータベースに存在しない場合は「1」

・サブシステム名がデータベースに存在する場合は，サブシステムが登録されているデータ領域番号

注意事項

すでにデータ領域にサブシステムが存在する場合に，データ領域番号を変更すると，そのままビルド（データベースを作成）してもエラーとなるため，次の点に注意が必要です。

サブシステムが存在していて，データ領域を変更したい場合は，cbldraコマンドで変更前のデータ領域にあるサブシステムを削除する必要があります。

サブシステムが存在していて，データを残しておきたい場合は，データ領域と併せてサブシステム名も変更する必要があります。

データを移行した場合，データ領域番号は「1」に移行されます。データ領域番号を変更したい場合は，上記1または2のどちらかの対応をする必要があります。

チェックを解除した場合は，サブシステムが登録されているデータ領域番号が仮定されるため，そのまま操作を続行して問題ありません。

サブシステムが存在しない（新規作成時など）場合は，特に問題はありません。

サブシステム名の指定

データ影響波及分析用データベースに格納する場合に使用するサブシステム名に任意の名称を指定するとき，またはほかのプロジェクトマスタのプロジェクト名と重複しないようにサブシステム名を変更するときにチェックボックスをオンにします。

チェックボックスをオンにすると，エディットボックスが表示されます。エディットボックスに任意のサブシステム名を指定します。プロジェクトマスタ名に指定できない文字列（「¥」「/」「:」「*」「?」「"」「<」「>」「|」「@」）と，「;」，半角空白，全角空白，タブは指定できません。

エディットボックスのサブシステム名を削除して指定すると，初期値または前回指定したサブシステム名が仮定されます。

なお，エディットボックスには，初期値としてプロジェクトマスタ名の先頭30文字が仮定されます。プロジェクトマスタ名中の「;」，半角空白，全角空白，タブは，「_」に置き換わります。

サブシステム名には，「-」（ハイフン）で始まる名称を指定できません。

一意名呼び出し対応付けファイルの指定

通常，一意名の呼び出し先は，COBOLプログラムの解析時にデータ影響波及分析が自動で検出しますが，COBOLプログラムの処理によっては，一意名の呼び出し先を認識できません。一意名の呼び出し先を認識できないことを示す警告メッセージが出力された場合は，一意名呼び出し対応付けファイル（.idc）を作成し，指定してください。

一意名呼び出し対応付けファイル（.idc）を指定する場合にチェックボックスをオンにします。チェックボックスをオンにすると，エディットボックスと［参照］ボタンが表示されます。エディットボックスで指定する場合は，一意名呼び出し対応付けファイルの絶対パスを指定します。

一意名呼び出し対応付けファイルについては，「付録A.2　一意名呼び出し対応付けファイル」を参照してください。

設定が完了したら，［設定］ダイアログの［OK］ボタンをクリックし，ダイアログを閉じます。

次の作業

どちらかを実行します。

「3.2　ビルドを実行してデータ影響波及分析用データベースを作成する」

「3.3　プロジェクト内のファイルを更新しないでデータ影響波及分析用データベースを作成する」

3.2　ビルドを実行してデータ影響波及分析用データベースを作成する

開発マネージャでプロジェクトのビルドを実行する操作（ビルド，リビルド，クイックビルド，コンパイル）で，データ影響波及分析用データベースを作成する方法です。

ビルドを実行するので，プロジェクトの各種ファイルを更新して実行可能ファイルを作成し，プロジェクトの解析情報がデータ影響波及用データベースに格納されます。

3.2.1　現在のプロジェクトをビルドしてデータ影響波及分析用データベースを作成する

開発マネージャで現在開いているプロジェクトのビルドを実行する操作で，データ影響波及分析用データベースを作成する方法です。

作業の前に確認すること

［プロジェクト設定］ダイアログの［データ影響波及分析］タブの「データ影響波及分析用データベースを作成する」のチェックボックスがオンになっている。

作業の手順

開発マネージャでビルドを実行します。

次に示すどれかを実行します。

［ビルド］−［ビルド］メニュー

［ビルド］−［クイックビルド］メニュー

［ビルド］−［コンパイル］メニュー

［ビルド］−［リビルド］メニュー

現在開いているプロジェクトのビルドが実行され，データ影響波及分析用データベースが作成されます。

データ影響波及分析用データベースの作成を中断する場合

［ビルドの中止］ボタンをクリックします。

データ影響波及分析用データベースの情報の削除に失敗した場合

エラーメッセージが表示され，データベースの作成処理は停止します。メッセージウィンドウに表示されたメッセージに従って対処してください。

次の作業

「6.　影響波及を調査する」

3.2.2　すべてのプロジェクトをビルドしてデータ影響波及分析用データベースを作成する

開発マネージャのすべてのプロジェクトのビルド（ビルド，リビルド，クイックビルド）を実行して，データ影響波及分析用データベースを作成する方法です。

作業の前に確認すること

［プロジェクト設定］ダイアログの［データ影響波及分析］タブの「データ影響波及分析用データベースを作成する」のチェックボックスがオンになっている。

作業の手順

開発マネージャでビルドを実行します。

次に示すどれかを実行します。

［ビルド］−［すべてのプロジェクトに対する操作］−［ビルド］メニュー

［ビルド］−［すべてのプロジェクトに対する操作］−［クイックビルド］メニュー

［ビルド］−［すべてのプロジェクトに対する操作］−［リビルド］メニュー

プロジェクトマスタの，すべてのプロジェクトのビルドが実行され，データ影響波及分析用データベースが作成されます。

データ影響波及分析用データベースの作成を中断する場合

［ビルドの中止］ボタンをクリックします。

データ影響波及分析用データベースの情報の削除に失敗した場合

エラーメッセージが表示され，データベースの作成処理は停止します。メッセージウィンドウに表示されたメッセージに従って対処してください。

注意事項

データベースの作成処理でUレベルのエラーが発生した場合，動作オプション（ビルド時に重大エラー以上が生じた場合にビルド処理を中断する）の設定に関係なく，それ以降のビルド処理およびデータベースの作成処理は中断されます。

次の作業

「6.　影響波及を調査する」

3.3　プロジェクト内のファイルを更新しないでデータ影響波及分析用データベースを作成する

開発マネージャのメニューから，プロジェクト内のファイルを更新しないでデータ影響波及分析用データベースを作成する方法です。

ビルドの操作でプロジェクトの各種ファイル（実行可能ファイルを含む）を更新したくない場合は，この方法でデータ影響波及分析用データベースを作成してください。ただし，コンパイルリストは更新されます。

コンパイルエラーになった場合は，エラーメッセージが表示され，データベースの作成処理は停止します。コンパイルエラーの原因になったCOBOLソースを修正してください。

3.3.1　現在のプロジェクトのデータ影響波及分析用データベースを作成する

開発マネージャで現在開いているプロジェクトの，データ影響波及分析用データベースを作成する方法です。

プロジェクト内のファイルは更新されません。

［プロジェクト設定］ダイアログの［データ影響波及分析］タブの「データ影響波及分析用データベースを作成する」のチェックボックスがオフになっていても，データ影響波及分析用データベースを作成できます。

作業の手順

開発マネージャの［ツール］−［データ影響波及分析］−［データ影響波及分析用DB作成］メニューを選択します。

現在開いているプロジェクトの，データ影響波及分析用データベースが作成されます。

データ影響波及分析用データベースの作成を中断する場合

［ビルドの中止］ボタンをクリックします。

データ影響波及分析用データベースの情報の削除に失敗した場合

エラーメッセージが表示され，データベースの作成処理は停止します。メッセージウィンドウに表示されたメッセージに従って対処してください。

3.3.2　すべてのプロジェクトのデータ影響波及分析用データベースを作成する

開発マネージャのすべてのプロジェクトの，データ影響波及分析用データベースを作成する方法です。

プロジェクト内のファイルは更新されません。

［プロジェクト設定］ダイアログの［データ影響波及分析］タブの「データ影響波及分析用データベースを作成する」のチェックボックスがオフになっていても，データ影響波及分析用データベースを作成できます。

作業の手順

開発マネージャの［ツール］−［データ影響波及分析］−［すべてのプロジェクトのDB作成］メニューを選択します。

開発マネージャのすべてのプロジェクトの，データ影響波及分析用データベースが作成されます。

データ影響波及分析用データベースの作成を中断する場合

［ビルドの中止］ボタンをクリックします。

データ影響波及分析用データベースの情報の削除に失敗した場合

エラーメッセージが表示され，データベースの作成処理は停止します。メッセージウィンドウに表示されたメッセージに従って対処してください。

注意事項

データベースの作成処理でUレベルのエラーが発生した場合，動作オプション（ビルド時に重大エラー以上が生じた場合にビルド処理を中断する）の設定に関係なく，それ以降のビルド処理およびデータベースの作成処理は中断されます。

3.4　コマンドでデータ影響波及分析用データベースを作成する

開発マネージャを使わないで，cbldraコマンドでデータ影響波及分析用データベースに解析情報を格納する操作です。

cbldraコマンドは，次のケースで使用します。

開発マネージャでなく，makefileでプログラムの構築方法が定義されている

UNIX（Linuxを含む）版のCOBOL85またはCOBOL2002のシステムのデータ影響波及分析をする

散在しているソースファイルを1個所に集め，一括してデータ影響波及分析をする

作業の手順

cbldraコマンドを実行します。

例を次に示します。

COBOLソースファイル名：cbl_prog01.cbl，cbl_prog02.cbl，cbl_prog03.cbl

COBOLソースファイル名を格納しているフォルダ名：D:¥入出庫システム1

サブシステム名：入出庫システム1

モジュール名：NYUSYUKKO1

cbldra  cbl_prog01.cbl cbl_prog02.cbl cbl_prog03.cbl
       -SourcePath D:¥入出庫システム1
       -SubSystem 入出庫システム1 -ModuleName NYUSYUKKO1

データ影響波及分析用データベースに解析情報が格納されます。

関連項目

「cbldraコマンド − データ影響波及分析用データベースを操作する」

3.5　プロジェクトとデータ影響波及分析用データベースの関係

開発マネージャのプロジェクトが，どのような形式でデータ影響波及分析用データベースに格納されるかの説明です。

データ影響波及分析用データベースに格納するときは，サブシステム名には，プロジェクトマスタ名の先頭30バイト文字が仮定されます。プロジェクトマスタ名中の「;」，半角空白，全角空白，タブは，「_」に置き換わります。また，モジュール名はプロジェクトの最終生成物名になります。

［プロジェクト設定］ダイアログの「リンク」タブで「リンケージ処理を行わない」のチェックボックスをオンにしている場合に，最終生成物が存在しないときは，開発マネージャによって内部的に最終生成物名としてプロジェクト名が仮定され，プロジェクト名がモジュール名として仮定されます。

1つのサブシステムを1つのプロジェクトマスタで作成している場合

プロジェクトマスタごとにサブシステム名が決まり，プロジェクトマスタのすべてのプロジェクトに同じサブシステム名になります。デフォルトでは，プロジェクトのサブシステム名はプロジェクトマスタ名（30文字を超える場合は30文字で切り捨てる）に設定されます。

この例の場合，プロジェクトマスタ（SUBSYS1）のすべてのプロジェクトにはサブシステム名（SUBSYS1）を指定します。また，プロジェクトマスタ（SUBSYS2）のすべてのプロジェクトにはサブシステム名（SUBSYS2）を指定します。デフォルトでプロジェクトマスタ名の先頭30バイト文字が設定されています。

この場合は，プロジェクトをビルドすると，プロジェクトマスタ（SUBSYS1）の各プロジェクトのソースファイルの解析情報は，サブシステム名（SUBSYS1）内にモジュール名（出力ファイル名）のラベル付きで格納されます。また，プロジェクトマスタ（SUBSYS2）の各プロジェクトのソースファイルの解析情報は，サブシステム名（SUBSYS2）内にモジュール名（出力ファイル名）のラベル付きで格納されます。

1つのプロジェクトマスタを複数のサブシステムで作成している場合

1つのプロジェクトマスタが1つ以上のプロジェクトで構成される複数のサブシステムで作成されている場合，サブシステムごとにサブシステム名を決定して，サブシステムに属するプロジェクトにそのサブシステムの名称を指定してください。

1つのサブシステムを複数のプロジェクトマスタで作成している場合

1つのサブシステムに複数のプロジェクトマスタを割り当てる構成の場合，サブシステムのサブシステム（内部サブシステム）の構成とし，プロジェクトマスタごとに内部サブシステムのサブシステム名を決定し，すべてのプロジェクトに同じサブシステム名を設定してください。そして，データ影響波及分析でサブシステムに属するすべての内部サブシステムのサブシステム名を指定してください。

開発マネージャでデータ影響波及分析用データベースを作成する場合の注意

プロジェクトマスタ内に同じ名前の出力ファイル（実行可能ファイルやDLL）を指定しているプロジェクトが複数ある場合，サブシステムを分割してください。分割しないでリビルドを実行すると，いったんモジュールの情報はすべて削除されます。そのため，ほかのプロジェクトが作成したデータベース情報（同じモジュールラベルが付いた情報）も削除されます。

複数のプロジェクトマスタに同じサブシステム名を割り当てないでください。同じ名前の出力ファイル（実行可能ファイルやDLL）を指定しているプロジェクトが複数のプロジェクトマスタにある場合，リビルドを実行すると，ほかのプロジェクトマスタのデータベース情報（同じモジュールラベルが付いた情報）も削除されます。

プロジェクトマスタ名が30文字を超えている場合，初期状態のままでは30文字に切り捨てられたことでほかのプロジェクトマスタと同じサブシステム名になることがあります。その場合，サブシステム名をユニークな名称に変更してください。

プロジェクトの出力ファイル名を変更すると，変更前の名前で作成されたモジュールのデータベース情報は，それ以降は使用されません。不要なモジュールは，cbldra -Delete,Moduleコマンドで削除してください。

デフォルトでは，制御フローを考慮した解析が可能なデータベースは作成されません。このため，制御フローを考慮した解析が可能なデータベースを作成する場合は，次の個所で，環境変数CBLDIA_CREATE_CONTROLFLOWに「TRUE」を必ず指定してください。

［プロジェクト設定］ダイアログの［ユーザ設定］タブ

システム環境変数またはユーザ環境変数

デフォルトでは，ユーザ資産項目を経由した解析が可能なデータベースは作成されません。このため，ユーザ資産項目を経由した解析が可能なデータベースを作成する場合は，［プロジェクト設定］ダイアログの［ユーザ設定］タブ，およびシステム環境変数またはユーザ環境変数で，次の環境変数を設定してください。

データベースを経由した解析が可能なデータベースを作成する場合

環境変数CBLDIA_MATERIAL_DBに「TRUE」を必ず指定してください。

物理ファイルを経由した解析が可能なデータベースを作成する場合

環境変数CBLDIA_MATERIAL_PHYSICAL_FILEに物理ファイル名対応付けファイルを必ず指定してください。

次の項目には「-」（ハイフン）で始まる名称を指定できません。指定した場合，データベースの作成および削除に失敗します。

サブシステム名※

最終生成物名

注※　サブシステム名を指定していない場合はプロジェクトマスタ名

データベースの作成処理でUレベルのエラーが発生した場合，動作オプション（ビルド時に重大エラー以上が生じた場合にビルド処理を中断する）の設定に関係なく，それ以降のビルド処理およびデータベースの作成処理は中断されます。

データ影響波及分析用データベースに格納されるときの名称に関する注意

開発マネージャからデータベースを作成する場合，［プロジェクト設定］ダイアログで指定したサブシステム名（デフォルト値はプロジェクトマスタ名）と最終生成物名によって，データ影響波及分析用データベースへの格納場所が決まります。名称に関する注意を次に示します。

サブシステム名を明示的に指定しない場合，プロジェクトマスタ名の先頭30文字が仮定されます。このとき，「;」，半角空白，全角空白，タブは「_」に置き換わります。例えば，「a;b」と「a△b」はともに，「a_b」となり，同名のサブシステム名になります。プロジェクトマスタ名にこれらを含む場合は，適切なサブシステム名に変更してください。

開発マネージャでは，次に示す操作で最終生成物名が変わります。

最終生成物の変更

プロジェクト種別の変更（拡張子が変わる）

［プロジェクト設定］ダイアログの「リンケージ処理を行わない」オプションの指定と解除

［プロジェクト設定］ダイアログの「リンケージ処理を行わない」オプションを指定すると，開発マネージャはデータベース作成時に，内部的に最終生成物名として「プロジェクト名」が仮定されます。オプションを解除すると，開発マネージャによって最終生成物名にNONAME.exe/dll/libが仮定されます。サブシステム内で一意の最終生成物名とする必要があるため，適切な名称に変更してください。

データ影響波及分析の操作に関する注意

［プロジェクト設定］ダイアログで最終生成物名，またはプロジェクト種別を変更し，［OK］ボタンをクリックすると，変更前の情報が残ることを通知するメッセージが表示されます。不要なモジュールは，cbldraコマンドの-Delete,Moduleオプションで削除してください。また，リビルドなどの操作で別のデータベースの情報を削除することがあります。最終生成物名に問題がないかどうかを確認してください。

［プロジェクト設定］ダイアログの「リンケージ処理を行わない」オプションを指定すると，データ影響波及分析用データベースの作成時に最終生成物名にプロジェクト名が仮定されることを示すメッセージが表示されます。また，「リンケージ処理を行わない」オプションを解除すると，データ影響波及分析用データベースを作成するときに，最終生成物名を適切な名称に変更が必要である旨のメッセージが表示されます。

プロジェクトの新規作成ウィザードで，最終生成物を指定しないで［次へ］ボタンをクリックすると，データ影響波及分析用データベースの作成時に，最終生成物名が重複することを通知するメッセージが表示されます。最終生成物名は指定してください。

3.6　サーバマシンで作成したデータ影響波及分析用データベースをクライアントマシンで利用する

ソースファイル数が数千，数万のプログラムを複数の担当者で影響波及調査をする場合，担当者がそれぞれ自分のマシン上にデータ影響波及分析用データベースを作成するよりも，サーバマシンで一括してデータ影響波及分析用データベースを作成し，それを各クライアントマシンに配布した方が，全体的な作業時間を短縮できます。

サーバマシンでデータ影響波及分析用データベースを作成し，配布後にクライアントマシンでデータ影響波及分析用データベースを複製して利用する手順について説明します。

サーバマシンで作成したデータ影響波及分析用データベースをクライアントマシンで利用する手順

サーバマシンでプログラムの情報を収集し，データ影響波及分析用データベースを作成します。

サーバマシンでDBユティリティのeadiaexpコマンドを実行し，データ影響波及分析用データベースをエクスポート先ファイルにエクスポートします。

エクスポート先ファイルをクライアントマシンに配布（コピー）します。

クライアントマシンでDBユティリティのeadiaimpコマンドを実行してエクスポート先ファイルをインポートし，データ影響波及分析用データベースを作成します。

クライアントマシンで，サーバマシンのCOBOLソースを参照できる状態にします。

影響波及調査ウィンドウを起動して，影響範囲を解析します。

eadiaexpコマンドとeadiaimpコマンドの文法については，マニュアル「COBOL2002 Professional 製品 導入ガイド」を参照してください。

インポートを実行すると，データ影響波及分析用データベースの内容はすべて上書きされます。クライアントのデータ影響波及分析用データベースにすでに格納されていた情報はすべて削除されます。

COBOLソースの参照とフォルダ対応付け

クライアントマシンでデータ影響波及分析を使用するときは，データ影響波及分析用データベースに解析情報を格納したときと同じフォルダパスのCOBOLソースを参照する必要があります。次に示すどちらかの方法で，サーバマシンのCOBOLソースを参照してください。

サーバマシンのCOBOLソースが格納されているフォルダを公開し，クライアントマシンから参照する。

サーバマシンからクライアントマシンにCOBOLソースファイルをコピーする。

1.の場合，サーバマシンで使用していたドライブ名と同じドライブ名に割り当てることをお勧めします。2.の場合，サーバマシンと同じフォルダ構成でクライアントマシンにCOBOLソースファイルをコピーすることをお勧めします。

クライアントマシンでサーバマシンと同じフォルダ構成にできない場合，フォルダの対応付けをします。フォルダを対応付けると，データ影響波及分析の実行時にデータベース中のパス情報を変換し，クライアントマシン側で実際にCOBOLソースファイルが格納されているフォルダからCOBOLソースを読み込みます。

フォルダを対応付ける手順を次に示します。

フォルダ対応付けファイル（拡張子は任意のテキストファイル）を作成し，COBOLソースファイルを格納したサーバマシンのフォルダ名（データ影響波及分析用データベースに登録されているフォルダ名）とクライアントマシンで実際に参照するフォルダ名を記述します。

DBに登録されているフォルダ名   =>  クライアントマシンで実際に参照するソースのフォルダ名
DBに登録されているフォルダ名   =>  クライアントマシンで実際に参照するソースのフォルダ名
      ：                               ：

記述したフォルダ対応付けファイル名を環境変数CBLDIA_REMAPFILEに指定します。環境変数CBLDIA_REMAPFILEは，システム環境変数またはユーザ環境変数に指定します。

例1

サーバマシンServerAPのD:¥APP001¥Project001をネットワークフォルダ¥¥ServerAP¥Project001として公開する場合のフォルダ対応付けファイルの内容

D:¥APP001¥Project001   =>  ¥¥ServerAP¥Project001

例2

サーバマシンのD:¥Project001とE:¥Project002をクライアントマシンのC:¥Project001とC:¥Project002にそれぞれコピーした場合のフォルダ対応付けファイルの内容

D:¥Project001   =>  C:¥Project001
E:¥Project002   =>  C:¥Project002

上記の対応付けをフォルダ対応付けファイルD:¥AP001¥Analyzer¥SampleRemapFile.txtに記述した場合，次に示すように環境変数CBLDIA_REMAPFILEにファイルのパスを指定します。

set  CBLDIA_REMAPFILE=D:¥AP001¥Analyzer¥SampleRemapFile.txt

フォルダ対応付けファイル名の拡張子は任意です。指定されたファイルをそのまま使用します。

フォルダ名の変換は，フォルダ対応付けファイルの先頭から順に実施されます。一度変換されたフォルダ名は，それ以降の行で変換規則を指定していても変換されません。

また，調査状態保存ファイルから影響波及の調査を再開する場合，フォルダ名の変換は実施されません。

関連項目

「付録A.4　フォルダ対応付けファイル」

4　データ影響波及分析用データベースを操作する

データ影響波及分析用データベースを操作する手順について説明します。

4.1　データ影響波及分析用データベースを更新する

COBOLプログラムを修正後，データ影響波及分析用データベースを更新する手順です。

注意事項

データ影響波及分析用データベースを更新すると，すでに格納しているデータはすべて更新されます。

作業の前に確認すること

［プロジェクト設定］ダイアログの［データ影響波及分析］タブの「データ影響波及分析用データベースを作成する」のチェックボックスがオンになっている。

作業の手順

ビルドを再実行してデータ影響波及分析用データベースを更新する場合

開発マネージャでビルドを実行します。

次に示すどれかを実行します。

［ビルド］−［ビルド］メニュー

［ビルド］−［クイックビルド］メニュー

［ビルド］−［コンパイル］メニュー

［ビルド］−［リビルド］メニュー

現在開いているプロジェクトのビルドが実行され，データ影響波及分析用データベースが再作成されます。

データ影響波及分析用データベースの作成を中断するときは，［ビルドの中止］ボタンをクリックします。

ビルドの実行では，コンパイルの対象になるCOBOLプログラムについて，データ影響波及分析用データベースの情報が更新されます。ビルドを実行すると，修正したCOBOLプログラムの情報だけが更新されます。リビルドを実行すると，すべてのCOBOLプログラムの情報が更新されます。

プロジェクト内のファイルを更新しないでデータ影響波及分析用データベースを更新する場合

開発マネージャの［ツール］−［データ影響波及分析］−［データ影響波及分析用DB作成］メニュー，または［すべてのプロジェクトのDB作成］メニューを選択します。

プロジェクトのデータ影響波及分析用データベースが再作成されます。

データ影響波及分析用データベースの作成を中断するときは，［ビルドの中止］ボタンをクリックします。

4.2　データ影響波及分析用データベース内の構成を表示する

cbldraコマンドで，データ影響波及分析用データベース内の構成を表示する操作です。

作業の手順

cbldraコマンドに-Listオプションを付けて実行します。

すべての情報を表示する例を次に示します。

cbldra  -List,All

サブシステムの情報を表示する例を次に示します。

cbldra  -List,SubSystem

関連項目

「cbldraコマンド − データ影響波及分析用データベースを操作する」

4.3　サブシステム名を変更する

データ影響波及分析データベースに格納したサブシステム名を変更する手順です。

サブシステム名を変更するときは，開発マネージャでサブシステム名を変更し，データ影響波及分析用データベースに新規で格納します。古いサブシステム名のデータベースは，不要であれば削除してください。

作業の手順

開発マネージャでプロジェクトマスタを開き，［プロジェクト］−［プロジェクトの設定］メニューを選択します。

［プロジェクト設定］ダイアログが表示されます。

［プロジェクト設定］ダイアログの［データ影響波及分析］タブを選択します。

［サブシステム名の指定］チェックボックスをオンにし，変更後のサブシステム名を入力し，［OK］ボタンをクリックします。

サブシステム名が変更されます。

開発マネージャでビルドを実行します。

次に示すどれかを実行します。

［ビルド］−［ビルド］メニュー

［ビルド］−［クイックビルド］メニュー

［ビルド］−［コンパイル］メニュー

［ビルド］−［リビルド］メニュー

現在開いているプロジェクトのビルドが実行され，データ影響波及分析用データベースが作成されます。

4.4　データ影響波及分析用データベースからサブシステムまたはモジュールを削除する

cbldraコマンドで，データ影響波及分析用データベースからモジュールまたはサブシステムを削除する操作です。

作業の手順

cbldraコマンドに-Deleteオプションを付けて実行します。

モジュールを削除する例を示します。

サブシステム名：入出庫システム1

モジュール名：NYUSYUKKO1

cbldra  -Delete,Module -SubSystem 入出庫システム1 -ModuleName NYUSYUKKO1

サブシステムを削除する例を示します。データ影響波及分析用データベースのモジュールとサブシステムが削除されます。

サブシステム名：入出庫システム1

cbldra  -Delete,SubSystem -SubSystem 入出庫システム1

関連項目

「cbldraコマンド − データ影響波及分析用データベースを操作する」

5　影響波及を解析する

データ影響波及分析を実行して，影響波及を解析する手順について説明します。

5.1　影響波及の解析手順

COBOLプログラム変更の影響を調査する前に，プロジェクトのCOBOLプログラムを解析し，データ影響波及分析用データベースに解析情報を格納します。

データ影響波及分析用データベースを使用して影響波及の解析が完了すると， 影響波及を調査する影響波及調査ウィンドウが表示されます。

5.2　影響波及の解析を開始する

COBOLプログラムの影響波及の解析を開始する手順です。

5.2.1　COBOLエディタから影響波及を解析する

COBOLエディタの画面上で，該当するデータ項目を右クリックして，影響波及を解析する手順です。

作業の前に確認すること

データ影響波及分析用データベースを作成している。

作業の手順

影響波及を調査するデータ項目があるCOBOLソースファイルをCOBOLエディタで開きます。

影響波及の調査対象データ項目を右クリックし，ポップアップメニューの［影響波及調査］のメニューを選択します。

COBOLの語が選択されていない，など調査対象が不定な場合は，［調査対象を選択］サブメニューだけが表示されます。

調査対象を選択

データ項目を指定しないで，データ影響波及分析の［調査環境の設定］画面を表示します。

影響波及元と影響波及先

調査対象データ項目の，影響波及元と影響波及先を解析します。

影響波及元を調査

調査対象データ項目の，影響波及元を解析します。

影響波及先を調査

調査対象データ項目の，影響波及先を解析します。

選択すると，データ影響波及分析の［調査環境の設定］画面が表示されます。

開発マネージャから開いたCOBOLソースファイルで調査対象データ項目を選んだ場合は，開発マネージャから引き継いだサブシステム名のチェックボックスがオンになります。

［調査環境の設定］画面で，サブシステム名を選択します。

調査対象範囲を指定する場合は，［データ影響波及分析用データベースの調査対象範囲を指定するとき］の矢印をクリックし，事前に作成したプログラム情報フィルタリングファイル名を指定します。

プログラム情報フィルタリングファイルについては，「付録A.1　プログラム情報フィルタリングファイル」を参照してください。

COBOLエディタで［影響波及元と影響波及先］，［影響波及元を調査］，［影響波及先を調査］を選択したときは，［解析］ボタンをクリックします。

解析が完了すると，影響波及調査ウィンドウに解析結果が表示されます。

COBOLエディタで［調査対象を選択］を選択したときは，ボタンの表示が［調査対象の選択］ボタンになります。クリックすると，データ影響波及分析の［調査対象選択］ダイアログが表示されます。調査対象にするデータ項目を選択してください。

注意

COBOLエディタで登録集原文ファイルからデータの名前を選択して影響波及を調査する場合は，次に示す条件がすべて重なったデータ項目の名前を選択してください。それ以外の名前を選択して影響波及を調査しようとすると，データ名が見つからないことを示すエラーダイアログが表示されます。

・登録集原文ファイル内のデータ記述項に記述されているデータ項目。

・ソースファイルに取り込んだあとのソースプログラムの手続き部で使用されるデータ項目。ただし，集団項目の場合は，従属項目が明示的に使用されていれば，明示的に使用されているものとして扱います。

COBOLエディタで環境部内またはデータ部内に記述されたデータ名参照の文字列を選択した影響波及の調査はできません。このデータ名を選択して影響波及を調査しようとすると，データ名が見つからないことを示すエラーダイアログが表示されます。

データ記述項のデータ名定義の文字列（アドレス名および指標名の文字列を含む）は，選択して影響波及を調査できます。

次の作業

「6.　影響波及を調査する」

5.2.2　Windowsのプログラム一覧から影響波及の解析を開始する

Windowsのプログラム一覧から影響波及の解析を開始する方法です。

作業の前に確認すること

データ影響波及分析用データベースを作成している。

作業の手順

Windowsのプログラム一覧から［COBOL2002 Professional Tool Kit］−［影響波及調査］を選択します。

影響波及調査ウィンドウが表示されます。

影響波及調査ウィンドウの［新しい調査をする］ボタンをクリックします。

データ影響波及分析の［調査環境の設定］画面が表示されます。

［調査環境の設定］画面で，サブシステム名を選択します。

調査対象範囲を指定する場合は，［データ影響波及分析用データベースの調査対象範囲を指定するとき］の矢印をクリックし，事前に作成したプログラム情報フィルタリングファイル名を指定します。

プログラム情報フィルタリングファイルについては，「付録A.1　プログラム情報フィルタリングファイル」を参照してください。

［調査環境の設定］画面の［調査対象の選択］ボタンをクリックします。

［調査対象選択］ダイアログが表示されます。

［調査対象選択］ダイアログで調査対象とするデータ項目を検索して選択します。

ソースプログラム内で使用されているデータ項目を影響調査する場合の手順

［手順1. データ項目の検索］で，「ソースプログラム内で使用されているデータ項目を検索する」をチェックし，検索するデータ項目の名前を指定して，［検索］ボタンをクリックします。

［データ項目名］には，ソースプログラム中で使用されているデータ項目の名前を指定します。登録集原文ファイルからPREFIXING，SUFFIXING，REPLACING指定で取り込まれたデータ項目の場合は，変換後の名前を指定します。集団項目名による修飾はあってもなくてもかまいません。

［プログラム名］と［ファイル名］は，プログラム名（PROGRAM-IDまたはFUNCTION-IDの名称）またはソースファイル名でデータ項目を絞り込む場合に指定します。

［データ項目名］，［プログラム名］，［ファイル名］には，ワイルドカード（「*」，「?」）が指定できます。ただし，該当するデータ項目が100件を超えると，エラーになります。

検索を実行すると，［手順2. 調査対象データ項目の選択］に検索結果が表示されます。その中から調査対象とするデータ項目を選択して矢印ボタン（［>］ボタン）をクリックします。

選択したデータ項目が［調査対象データ項目］に表示されます。

注意

ソースプログラム中で名前が定義以外で使用されていないデータ項目は，検索結果に表示されません。

登録集原文ファイル内で宣言されているデータ項目を影響調査する場合の手順

［手順1. データ項目の検索］で，「登録集原文で記述されているデータ項目を検索する」をチェックし，検索する登録集原文ファイルのデータ名を指定して，［検索］ボタンをクリックします。

［データ項目名］には，登録集原文ファイルのデータ記述項に記載された名前を指定します。修飾付きの名前は指定できません。

［ファイル名］は，登録集原文ファイル名でデータ名を絞り込む場合に，パス名で指定します。

［データ項目名］，［ファイル名］ともにワイルドカード（「*」，「?」）が指定できます。ただし，該当するデータ項目が100件を超えると，エラーになります。

検索を実行すると，［手順2. 調査対象データ項目の選択］に検索結果が表示されるので，その中から調査対象とするデータ項目を選択して矢印ボタン（［>］ボタン）をクリックします。

［調査対象データ項目］には，選択した登録集原文ファイルのデータ名（データ記述項）を取り込んで定義されているソースプログラムのすべてのデータ項目の名前が表示されます。PREFIXING，SUFFIXING，REPLACING指定で取り込まれている場合は，変換後の名前が表示されます。不要なデータ項目は，矢印ボタン（［<］ボタン）で削除できます。

注意

ソースプログラム中で名前が定義以外で使用されていないデータ項目は，［調査対象データ項目］には表示されません。

備考

ファイルを使ったデータの受け渡しは，影響波及の解析の対象ではないため，ファイルを経由した影響波及の連鎖は影響波及元関連図や影響波及先関連図には表示できません。このため，ファイルを使ってデータを受け渡ししている実行可能プログラムの間の影響調査は，利用者自身で該当ファイルを定義しているすべてのソースファイルを洗い出し，そのファイル定義のレコードを調査対象データ項目として影響波及を解析し，影響調査する手順を実行します。

ただし，ファイルのレコードが登録集原文ファイルで定義されている場合，前述の「ソースファイル中の該当ファイルのレコードの洗い出し」および「レコードに対する影響波及の解析」の作業は，「登録集原文ファイル内で宣言されているデータ項目の調査」の方法で，登録集原文ファイル内で宣言されているレコードを検索して解析すると実施できます。

［調査対象選択］ダイアログの［手順3. 調査対象データ項目の解析］で，解析する影響波及の方向および未使用の別名の抽出有無を選択し，波及レベルを指定します。

［解析］ボタンをクリックします。

解析が完了すると，影響波及調査ウィンドウに解析結果が表示されます。

次の作業

「6.　影響波及を調査する」

5.3　解析結果を保存する

調査状態保存ファイルに解析結果を保存する手順です。

作業の手順

新規で調査状態保存ファイルを保存する場合

［ファイル］−［調査状態保存ファイル］−［名前を付けて保存］メニューを選択します。

［調査状態保存ファイルに保存］ダイアログが表示されます。

［調査状態保存ファイルに保存］ダイアログで調査状態保存ファイルを保存するフォルダと，ファイル名を指定して［保存］ボタンをクリックします。

調査状態保存ファイルが保存されます。

すでに存在する調査状態保存ファイルに上書きする場合

［ファイル］−［調査状態保存ファイル］−［上書き保存］メニューを選択します。

調査状態保存ファイルが保存されます。

5.4　影響波及の調査の続きをする

影響波及の解析/調査後に保存した調査状態保存ファイルを開いて，調査の続きをする手順です。

5.4.1　調査状態保存ファイルを読み込んで影響波及の調査の続きをする

保存した調査状態保存ファイルを読み込んで，影響波及の調査の続きを準備する手順です。

作業の前に確認すること

前回の調査で使用した調査状態保存ファイルが保存済みである。

作業の手順

［ファイル］−［調査状態保存ファイル］−［開く］メニューを選択します。

解析結果が表示中のときに実行すると，表示中の解析結果を調査状態保存ファイルに保存するかどうかを確認するメッセージが表示されます。必要であれば，現在表示している解析結果を調査状態保存ファイルに保存します。

［調査状態保存ファイルの読み込み］ダイアログで調査状態保存ファイル（*.diax）を選択し，［開く］ボタンをクリックします。

影響波及調査ウィンドウに解析結果が表示されます。

次の作業

「6.　影響波及を調査する」

5.4.2　調査状態保存ファイルを開いて影響波及の調査の続きをする

調査状態保存ファイルを開いて，影響波及の調査の続きをする手順です。

作業の前に確認すること

前回の調査で使用した調査状態保存ファイルが保存済みである。

作業の手順

調査状態保存ファイル（*.diax）をダブルクリックします。

影響波及調査ウィンドウに解析結果が表示されます。

次の作業

「6.　影響波及を調査する」

5.4.3　Windowsのプログラム一覧から影響波及の調査の続きをする

Windowsのプログラム一覧から，影響波及の調査の続きをする手順です。

作業の前に確認すること

前回の調査で使用した調査状態保存ファイルが保存済みである。

作業の手順

Windowsのプログラム一覧から［COBOL2002 Professional Tool Kit］−［影響波及調査］を選択します。

影響波及調査ウィンドウが表示されます。

影響波及調査ウィンドウの［調査状態保存ファイルを使って調査を再開する］をクリックします。

［調査状態保存ファイルの読み込み］ダイアログが表示されます。

［調査状態保存ファイルの読み込み］ダイアログで調査状態保存ファイル（*.diax）を選択し，［開く］ボタンをクリックします。

影響波及調査ウィンドウに解析結果が表示されます。

次の作業

「6.　影響波及を調査する」

6　影響波及を調査する

解析した情報から，影響波及を調査する手順について説明します。

6.1　影響するプログラムを調査する

影響波及調査ウィンドウで，COBOLプログラムのデータ項目の呼び出し関連を調査する方法です。

作業の前に確認すること

影響波及を解析している。

作業の手順

影響波及調査ウィンドウの［影響プログラム］タブを選択します。

［プログラム呼び出し関連図］画面と，影響プログラムの一覧が表示されます。

プログラムの呼び出し関連を確認するため，［プログラム呼び出し関連図］画面の影響プログラムノードを選択します。

ウィンドウ下部の影響プログラムの一覧に，影響プログラムに関する次の情報が表示されます。

ファイル名

影響プログラム名

影響（影響の種別）

影響波及データ項目（件数）

影響波及コード（件数）

メモ

絶対パス

ウィンドウ中央の［プログラム呼び出し関連図］画面で，調査対象外のプログラムノードがわかったときは，調査対象を絞り込んで除外します。

解析結果を絞り込む手順は，「6.5　解析結果の表示を絞り込む」を参照してください。

ウィンドウ下部の影響プログラムの一覧から，操作したいプログラムの行を右クリックし，次の操作をします。

ポップアップメニューで［影響波及データ画面を表示］を選択

ウィンドウ右上の［影響波及データ画面］に，影響プログラムの最初の影響波及データのデータ記述項のソーステキストが表示されます。

ポップアップメニューで［影響波及コード画面を表示］を選択

ウィンドウ右下の［影響波及コード画面］に，影響プログラムの最初の影響波及コードのソーステキストが表示されます。

［影響波及データ画面］と［影響波及コード画面］に表示されたソーステキストを参照し，影響プログラムを確認します。

影響プログラムごとに調査結果のメモを残すときは，影響プログラムの一覧の［メモ］にコメントを記入します。

解析結果の確認作業の途中でデータ影響波及分析を終了するときは，現在の状態を調査状態保存ファイルに保存します。

次回に影響波及調査ウィンドウを起動したときに利用できます。

6.2　影響波及データと影響波及コードを調査する

COBOLのデータ項目が影響波及する個所を調査する方法です。

作業の前に確認すること

影響波及の解析を完了している。

作業の手順

ウィンドウ上部の［調査対象データ項目一覧］画面を確認します。

COBOLエディタまたは「解析の開始」で指定した，調査対象データ項目の一覧が表示されています。

ウィンドウ中央の［プログラム呼び出し関連図］画面で，調査対象外のプログラムノードがわかったときは，調査対象を絞り込んで除外します。

解析結果を絞り込む手順は，「6.5　解析結果の表示を絞り込む」を参照してください。

［影響個所］タブを選択します。

［影響波及元関連図］画面，［影響波及先関連図］画面と［影響波及データ一覧］画面が表示されます。

［影響波及元関連図］画面

調査対象データ項目へ影響波及する影響波及データを調査するときに使用します。

［影響波及先関連図］画面

調査対象データ項目から影響波及する影響波及データを調査するときに使用します。

［影響波及元関連図］画面または［影響波及先関連図］画面でデータノードを選択します。

ウィンドウ下部の［影響波及データ一覧］画面には，該当する影響波及データの情報が表示されます。

影響波及データ項目名

影響（影響の種別）

影響プログラム名

ファイル名

メモ

絶対パス

登録集原文

登録集原文の行番号

［影響波及データ一覧］画面から，調査したい影響波及データ項目の行を右クリックし，ポップアップメニューで［影響波及データ画面を表示］を選択します。

ウィンドウ右上の［影響波及データ画面］に，影響波及データのデータ記述項のソーステキストが表示されます。

表示されたソーステキストを見て，影響波及データ項目の定義を確認します。

［影響波及コード一覧］タブを選択します。

影響波及コードの一覧が表示され，［影響波及元関連図］画面または［影響波及先関連図］画面で選択したデータノードに該当するデータ項目が参照される影響波及コードの，次に示す情報が表示されます。

ファイル名

影響プログラム名

行番号

影響（影響の種別）

影響波及コード

メモ

絶対パス名

登録集原文

［影響波及元関連図］画面のデータノードを選択すると，該当するデータ項目が値更新される影響波及コードに関する情報が表示されます。

［影響波及先関連図］画面のデータノードを選択すると，該当するデータ項目が値参照される影響波及コードに関する情報が表示されます。

影響波及コードの一覧の行を右クリックし，ポップアップメニューで［影響波及コード画面を表示］を選択します。

［影響波及コード画面］に影響波及コードのソーステキストが表示されます。表示されたソーステキストを見て，影響波及データ項目の使われ方を確認します。

［影響波及データ一覧］画面または［影響波及コード一覧］画面から新しい調査対象データ項目を選択して，その影響波及を調査します。ソーステキストからデータ項目名を右クリックして，ポップアップメニューから［新しいウィンドウ］を選択します。

データ影響波及分析の［調査環境の設定］画面でサブシステム名を選ぶと，指定されたデータ項目名を調査対象とする解析結果が表示されます。

影響波及データごとの情報は影響波及データ一覧の［メモ］に，影響波及コードごとの情報は影響波及コード一覧の［メモ］に記入します。

解析結果の確認作業の途中で影響波及調査ウィンドウを終了するときは，次に示すどちらかを選んで，調査状態保存ファイルに解析結果を保存します。

［ファイル］−［調査状態保存ファイル］−［上書き保存］メニュー

［ファイル］−［調査状態保存ファイル］−［名前を付けて保存］メニュー

現在の状態を調査状態保存ファイルに保存して，次に影響波及調査ウィンドウを起動したときに利用できます。

関連項目

「5.3　解析結果を保存する」

「6.3　画面を検索する」

「6.4　行番号に該当する行を表示する」

「6.5　解析結果の表示を絞り込む」

「6.6　新しい解析と調査を開始する」

「9.3　画面の連動をカスタマイズする」

6.3　画面を検索する

影響波及調査ウィンドウに表示されている内容を検索する方法です。

6.3.1　［影響波及データ］画面または［影響波及コード］画面を検索する

［影響波及データ］画面または［影響波及コード］画面を検索する方法です。

作業の手順

［影響波及データ］画面または［影響波及コード］画面を選択して，［表示］−［検索］メニューを選択します。

［検索］ダイアログが表示されます。

［検索］ダイアログに検索する条件を入力します。

項目

内容

検索する文字列

検索する文字列です。

大文字と小文字を区別する

チェックボックスをオン

大文字と小文字を区別して検索します。

チェックボックスをオフ

大文字と小文字を区別しないで検索します。

正規表現を有効にする

チェックボックスをオン

正規表現を有効にして検索します。

チェックボックスをオフ

正規表現を無効にして検索します。

検索する方向

上方向

画面の上に向かって検索します。

下方向

画面の下に向かって検索します。

［次を検索］ボタンをクリックします。

検索して見つかった文字列が表示されます。

関連項目

「付録B　データ影響波及分析で使用できる正規表現」

6.3.2　［影響波及元関連図］画面または［影響波及先関連図］画面を検索する

［影響波及元関連図］画面または［影響波及先関連図］画面で，同一データ項目を検索する方法です。

データ項目が大量にあって，指定したデータノードが次にどこにつながっているかを参照するときに，データノードを選択して右クリックで表示するポップアップメニューを選択し，次のデータノードに移動できます。

作業の手順

［影響波及元関連図］画面または［影響波及先関連図］画面にあるデータノードを右クリックします。

ポップアップメニューの［同一データ項目の検索］の下にあるサブメニューから，検索する条件を選択します。

該当するデータノードにカーソルが位置づきます。

6.4　行番号に該当する行を表示する

［影響波及データ］画面または［影響波及コード］画面に表示されているCOBOLソースファイルの行番号を指定して検索する方法です。

作業の手順

［影響波及データ］画面または［影響波及コード］画面を選択して，［表示］−［指定行の表示］メニューを選択します。

［指定行の表示］ダイアログが表示されます。

［指定行の表示］ダイアログに行番号を入力して［OK］ボタンをクリックします。

行番号に該当する行が表示されます。

6.5　解析結果の表示を絞り込む

影響波及の範囲が広過ぎる場合に，調査の目的に合わせて調査範囲を設定し，表示する解析結果を絞り込めます。

次の画面で解析結果を絞り込む方法について示します。

画面

絞り込み方法

調査対象データ項目一覧

調査対象データ項目の単位で調査範囲を設定します。［調査範囲の設定］画面で表示する調査対象データ項目を選択して，再表示します。

プログラム呼び出し関連図

影響プログラムの単位で調査範囲を設定します。［調査範囲の設定］画面で表示する影響プログラムを選択して，再表示します。

影響波及元関連図

影響波及先関連図

影響波及データの単位で調査範囲を設定します。［調査範囲の設定］画面で下位の影響波及データを表示する影響波及データ項目を選択して，再表示します。

6.5.1　調査対象データ項目で解析結果を絞り込む

調査対象データ項目一覧から調査対象データ項目の単位で解析結果の表示を絞り込む手順です。

影響波及元関連図と影響波及先関連図に表示する影響波及データの例

調査対象データ項目一覧から，調査対象外とするデータのチェックボックスをオフにすることで，画面の表示から除外できます。

作業の手順

メインウィンドウ上部の［調査対象データ項目一覧］をクリックし，［調査］−［調査範囲の設定］メニューを選択します。または［調査対象データ項目一覧］を右クリックし，ポップアップメニューから［調査範囲の設定］メニューを選択します。

［調査対象データ項目一覧］の［調査対象］列にチェックボックスが表示されます。調査対象のデータのチェックボックスはオン，調査対象外のデータのチェックボックスはオフで表示されます。

調査対象から除外する調査対象データ項目のチェックボックスをオフにします。

［調査］−［再表示］メニュー，またはポップアップメニューの［再表示］メニューを選択します。

チェックボックスがオンの調査対象データ項目だけを対象にして，すべての画面が再表示されます。

すべての調査対象データ項目のチェックボックスをオフにすると，［再表示］メニューは非活性になって選択できません。

すべての調査範囲の設定を初期状態（初回の解析結果の画面表示）に戻して，すべての画面を再表示するには，［調査］−［調査範囲を初期状態に戻す］メニューを選択します。

6.5.2　プログラム呼び出し関連図で解析結果を絞り込む

プログラム呼び出し関連図から影響プログラムの単位で解析結果の表示を絞り込む手順です。

影響波及元関連図と影響波及先関連図に表示する影響波及データの例

プログラム呼び出し関連図から，調査対象外とする影響プログラムのチェックボックスをオフにすることで，画面の表示から除外できます。

作業の手順

メインウィンドウ中央の［影響プログラム］タブを選び，［調査］−［調査範囲の設定］メニューを選択します。または［プログラム呼び出し関連図］画面を右クリックし，ポップアップメニューから［調査範囲の設定］メニューを選択します。

調査対象プログラムを除く影響プログラムのプログラムノードの前にチェックボックスが表示されます。調査対象の影響プログラムのチェックボックスはオン，調査対象外とした影響プログラムのチェックボックスはオフで表示されます。

調査対象から除外する影響プログラムのチェックボックスをオフにします。

［調査］−［再表示］メニューを選択します。

チェックボックスがオンの影響プログラムだけを対象にして，すべての画面が再表示されます。

すべての調査範囲の設定を初期状態（初回の解析結果の画面表示）に戻して，すべての画面を再表示するには，［調査］−［調査範囲を初期状態に戻す］メニューを選択します。

6.5.3　影響波及元関連図，影響波及先関連図で解析結果を絞り込む

影響波及元関連図，影響波及先関連図で影響波及データの単位で解析結果の表示を絞り込む手順です。

影響波及元関連図と影響波及先関連図に表示する影響波及データの例

指定したデータノードの波及元/波及先のデータノードを絞り込んで，画面の表示から除外できます。

作業の手順

影響波及データのデータノードを1つずつ選択する方法

ウィンドウ中央の［影響個所］タブを選び，［調査］−［調査範囲の設定］メニューを選択します。または［影響波及元関連図］画面もしくは［影響波及先関連図］画面を右クリックし，ポップアップメニューから［調査範囲の設定］メニューを選択します。

影響波及データ項目のデータノードの前にチェックボックスが表示されます。調査対象の影響波及データ項目のチェックボックスはオン，調査対象外としたデータ項目の影響波及先または影響波及元のデータ項目のチェックボックスはオフで表示されます。

調査対象から除外するデータノードのチェックボックスをオフにします。

［調査］−［再表示］メニューを選択します。

チェックボックスがオンの影響波及データ項目だけを対象にして，すべての画面が再表示されます。

すべての調査範囲の設定を初期状態（初回の解析結果の画面表示）に戻して，すべての画面を再表示するには，［調査］−［調査範囲を初期状態に戻す］メニューを選択します。

6.6　新しい解析と調査を開始する

新しくデータ項目を解析して調査する方法と，解析結果の影響波及データ一覧または影響波及コード一覧からデータ項目を選んで新しく解析する方法です。

6.6.1　新規で解析をやり直す

新しくデータ項目を解析して調査する手順です。

作業の手順

［調査］−［調査対象を選択］メニューを選択します。

解析結果が非表示であれば，［調査環境の設定］画面が表示されます。

解析結果が表示中のときに実行すると，表示中の解析結果を調査状態保存ファイルに保存するかどうかを確認するメッセージが表示されます。必要であれば，現在の調査の状態を調査状態保存ファイルに保存します。保存すると，［調査環境の設定］画面が表示されます。

［調査環境の設定］画面に必要な項目を設定し，調査範囲の解析を実行します。

調査中に現在の調査状態を保持したままで，新しい別のデータ項目の影響範囲を調査したい場合は，新しい影響波及調査ウィンドウを開いて調査できます。

6.6.2　解析結果から調査対象データ項目を指定して新しく解析する

解析結果の［影響波及データ］画面または［影響波及コード］画面から調査対象データ項目を選んで，新しいウィンドウで解析する方法です。新しいウィンドウでも，［調査対象選択］ダイアログで指定した波及レベルおよび未使用の別名の抽出の設定は有効になります。

作業の手順

［影響波及データ］画面または［影響波及コード］画面に表示しているCOBOLソースファイルから，調査対象データ項目を選択します。

［調査］−［新しいウィンドウ］メニューにある，解析方向（影響波及元と影響波及先，影響波及元，または影響波及先）を選択します。

［調査環境の設定］画面が表示されます。

［調査環境の設定］画面に必要な項目を設定し，［調査範囲の解析］ボタンをクリックします。

影響波及の解析でエラーになったときは，［調査環境の設定］画面を確認して，［調査対象選択］ダイアログで調査対象を選択します。

注意

［影響波及データ］画面または［影響波及コード］画面に表示された登録集原文ファイルからデータの名前を選択して影響波及を調査する場合は，次に示すデータ項目の名前を選択してください。これ以外の名前を選択して影響波及を調査しようとすると，データ名が見つからないことを示すエラーダイアログが表示されます。

・登録集原文ファイル内のデータ記述項に記述されているデータ項目

・ソースファイルに取り込んだあとのソースプログラムの手続き部で使用されるデータ項目

［影響波及データ］画面または［影響波及コード］画面から，環境部内またはデータ部内に記述されたデータ名参照の文字列を選択した影響波及の調査はできません。このデータ名を選択して影響波及を調査しようとすると，データ名が見つからないことを示すエラーダイアログが表示されます。

データ記述項のデータ名定義の文字列（アドレス名および指標名の文字列を含む）は，選択して影響波及を調査できます。

7　調査結果を出力する

解析して調査した情報を出力する手順について説明します。

7.1　調査結果の使用方法

データ影響波及分析で調査した結果を出力する手順です。

CSVファイルに出力する情報

CSVファイルに出力して，調査結果のエビデンスとして利用できます。CSVファイルには，画面に入力した調査結果の「メモ」を出力できます。また，「調査範囲の設定」で絞り込んだ結果の情報を出力できます。

CSVファイルに出力できる情報は，次に示す画面の調査結果です。

［影響波及元関連図］画面と［影響波及先関連図］画面

［影響波及データ一覧］画面

［影響波及コード一覧］画面

［影響プログラム一覧］画面

COBOLエディタのタグファイルに出力する情報

［影響波及コード一覧］画面の情報を，COBOLエディタのタグファイルに出力できます。解析結果を調査し「調査範囲の設定」で絞り込んだ影響波及コードに対応するタグファイルをCOBOLエディタの起動時に指定すると，COBOLエディタに該当する行を表示できるため，調査結果の反映を補助できます。

7.1.1　CSVファイルに出力する

データ影響波及分析の解析結果と，調査した結果をCSVファイルに出力する方法です。

作業の手順

［ファイル］−［CSVファイルに出力］メニューを選択します。

［CSVファイルに出力］ダイアログが表示されます。

［CSVファイルに出力］ダイアログに，次の項目を指定します。

項目

内容

出力フォルダ

CSVファイルを出力するフォルダを指定します。

出力ファイル名※

影響波及関連一覧

影響波及データ項目の2項関係を表す一覧の出力ファイル名を指定します。

影響波及元/影響波及先関連図

影響波及元/影響波及先関連図の出力ファイル名を指定します。

影響プログラム一覧

影響プログラム一覧の出力ファイル名を指定します。

影響波及データ一覧

影響波及データ一覧の出力ファイル名を指定します。

影響波及コード一覧

影響波及コード一覧の出力ファイル名を指定します。

出力オプション※

ヘッダ情報を出力する

CSVファイルにヘッダ情報（バージョン情報，解析結果の種別および調査対象データ項目一覧）を出力します。

注※

チェックボックスがオンの項目を出力します。ファイル名が指定されていても，チェックボックスがオフの項目は出力されません。

［CSVファイルに出力］ダイアログの［出力］ボタンをクリックします。

指定したフォルダにCSVファイルが出力されます。

7.1.2　COBOLエディタのタグファイルを出力する

［影響波及コード一覧］画面の内容をCOBOLエディタのタグファイルの形式で出力する手順です。

作業の手順

［ファイル］−［タグファイルに出力］メニューを選択します。

タグファイルの出力先を指定するダイアログが表示されます。

タグファイルの出力先を指定して，［OK］ボタンをクリックします。

タグファイルが出力されます。

出力したタグファイルはCOBOLエディタで参照できます。

8　バッチモードで実行する

影響範囲の解析と解析結果の出力をバッチモードで実行する手順について説明します。

8.1　バッチモードで影響範囲の解析と解析結果の出力を実行する

データ影響波及分析の影響波及調査ウィンドウを表示しないで，データ影響波及分析と解析結果の出力を実行するバッチモードの手順です。

バッチモードでは，影響範囲を解析して，解析結果をCSVファイルおよびタグファイルに出力します。影響範囲の調査と解析結果の取得を一括実行したい場合などに使用します。

作業の手順

Windowsのコマンドプロンプトを起動します。

次に示すcbldiaコマンドで，データ影響波及分析をバッチモードで実行します。

cbldia    {{-ControlFlow
          -Line 行番号
         〔-Column カラム番号〕
          -Data データ名〔;〔プログラム名〕〔;ファイル名〕〕}|
          {{-Data データ名 〔;〔プログラム名〕〔;ファイル名〕〕｜
          -DBData ユーザ資産項目名｜
          -FileData ユーザ資産項目名}…
         〔-ProgramImpactLevel 波及レベル〕}}
         〔-Copy〕
         〔-Direction〔{,Backward|,Forward}+〕〕
         〔-SubSystem サブシステム名〔;サブシステム名〕...〕
         〔-Filter プログラム情報フィルタリングファイル名〕
         〔-DBData〕
         〔-FileData〕
         〔-OutDir フォルダ名〕
         〔-OutFilePrefix プレフィックス文字列〕
         〔-Force〕
         〔-OutputLog ログファイル名〕
         〔-NoHeaderInfo〕
         〔{-OutputFile{,Code｜,Data｜,DataTree｜,Program｜,Relation｜,CodeTag}+｜-OutputTraceFile}〕
         〔-NoOutputAliasData〕

実行後の結果を確認します。

バッチモードでは，次に示すファイルが指定したフォルダに出力されます。

影響波及コード一覧のCSVファイル

影響波及データ項目一覧のCSVファイル

影響波及関連図のCSVファイル※

影響プログラム一覧のCSVファイル

影響波及関連一覧のCSVファイル

影響波及コード一覧のタグファイル

影響波及トレース図のCSVファイル※

注※

影響波及トレース図（影響波及元トレース図と影響波及先トレース図）には，影響波及関連図の情報に加えて，データ項目間にどのような影響2項関係があるかをトレースする情報を出力します。影響波及トレース図のCSVファイルと，影響波及関連図のCSVファイルは同時に出力しません。

関連項目

「cbldiaコマンド − 影響範囲を解析した結果をCSVファイルおよびタグファイルに出力する」

8.2　調査対象関連一覧の出力を実行する

調査対象に指定したデータ項目と，その別名および使用個所の一覧をCSVファイルに出力する手順です。

作業の手順

Windowsのコマンドプロンプトを起動します。

次に示すcbldiaコマンドで，調査対象関連一覧をCSVファイルに出力します。

cbldia   -OutputTargetList〔{,Alias｜,Reference}+〕
         {-Data データ名〔;〔プログラム名〕〔;ファイル名〕〕}...
         〔-Copy〕
         〔-SubSystem サブシステム名〔;サブシステム名〕...〕
         〔-Filter プログラム情報フィルタリングファイル名〕
         〔-OutDir フォルダ名〕
         〔-OutFilePrefix プレフィックス文字列〕
         〔-Force〕
         〔-OutputLog ログファイル名〕
         〔-NoHeaderInfo〕

実行後の結果を確認します。

次に示すファイルが指定したフォルダに出力されます。

調査対象一覧のCSVファイル

調査対象別名一覧のCSVファイル

調査対象使用個所一覧のCSVファイル

注意事項

調査対象別名一覧および調査対象使用個所一覧を出力する場合は，制御フローを考慮した解析が可能なデータ影響波及分析用データベースを使用してください。

開発マネージャでこのデータベースを作成する場合の注意事項については，「3.5　プロジェクトとデータ影響波及分析用データベースの関係」を参照してください。

関連項目

「cbldiaコマンド − 調査対象に指定したデータ項目の調査対象関連一覧をCSVファイルに出力する」

9　環境をカスタマイズする

データ影響波及分析の画面表示をカスタマイズする方法について説明します。

9.1　画面表示を変更する

データ影響波及分析の画面の表示内容を変更する手順です。

9.1.1　色を設定する

データ影響波及分析の画面で使用している色を変更する手順です。

文字の色を変更できるのは，［影響波及データ］画面と［影響波及コード］画面です。背景色を変更できるのは，［影響波及データ］画面，［影響波及コード］画面，［影響波及コード一覧］画面です。

作業の手順

［オプション］−［画面の設定］メニューを選択します。

［画面の設定］画面が表示されます。

［画面の設定］画面の［色の設定］タブを選択します。

［表示項目］から，色を変更する対象を選択し，次のどちらかのボタンをクリックします。

文字の色を変えるとき：［文字の色］ボタン

文字の背景色を変えるとき：［背景色］ボタン

ボタンをクリックすると，［色の設定］画面が表示されます。

［色の設定］画面に，変更する色を指定し［OK］ボタンをクリックします。

画面の色が変更されます。

［標準に戻す］ボタンをクリックすると，画面の色はインストール直後の設定に戻ります。

9.1.2　フォントのサイズを設定する

［影響波及データ］画面と［影響波及コード］画面で表示する，COBOLソーステキストのフォントのサイズを変更する手順です。

作業の手順

［オプション］−［画面の設定］メニューを選択します。

［画面の設定］画面が表示されます。

［画面の設定］画面の［フォントの設定］タブを選択します。

［フォントのサイズ］ドロップダウンボックスでフォントのサイズを選択し［OK］ボタンをクリックします。

COBOLソーステキストのフォントサイズが変更されます。

［標準に戻す］ボタンをクリックすると，フォントのサイズはインストール直後の設定に戻ります。

9.2　画面の表示をデフォルトに戻す

影響波及調査ウィンドウのサイズをデフォルトに戻す手順です。

作業の手順

［ウィンドウ］−［標準配置］メニューを選択します。

影響波及調査ウィンドウのサイズと各画面（［調査対象データ項目一覧］画面，［影響プログラム］画面，［影響個所］画面，［影響波及データ］画面，［影響コード］画面）のサイズがデフォルトに戻ります。

9.3　画面の連動をカスタマイズする

影響波及調査ウィンドウで，画面の連動をカスタマイズする手順です。

デフォルトの設定では，影響波及調査ウィンドウで［影響プログラム一覧］画面，［影響波及データ一覧］画面，［影響波及コード一覧］画面を操作すると，操作に連動して，［影響波及データ］画面および［影響波及コード］画面にCOBOLソーステキストが表示されます。

画面の連動は，カスタマイズできます。

作業の手順

［オプション］−［画面の連動］メニューを選択します。

［画面の連動］ダイアログが表示されます。

連動させたい動作のチェックボックスをオンにして，［OK］ボタンをクリックします。

チェックボックスのオンにすると，次に示す画面の選択に連動して，COBOLソーステキストが表示されるようになります。チェックボックスをオフにすると，COBOLソーステキストは表示されなくなります。

［影響プログラム一覧画面を選択］のチェックボックス

オンにすると，［影響波及データ］画面に，影響波及データが定義されているCOBOLソーステキストが表示されます。

オンにすると，［影響波及コード］画面に，影響波及コードがあるCOBOLソーステキストが表示されます。

［影響波及データ一覧画面を選択］チェックボックス

オンにすると，［影響波及データ］画面に，影響波及データが定義されているCOBOLソーステキストが表示されます。

［影響波及コード一覧画面を選択］チェックボックス

オンにすると，［影響波及コード］画面に，影響波及コードがあるCOBOLソーステキストが表示されます。

［画面の連動］ダイアログのチェックボックスをオフにした場合に，［影響プログラム一覧］画面，［影響波及データ一覧］画面，［影響波及コード一覧］画面からCOBOLソーステキストを表示するときは，次に示す操作をしてください。

［影響プログラム一覧］画面からCOBOLソースファイルを表示する場合

［表示］−［影響波及データ画面］メニューを選択すると，［影響波及データ］画面に影響波及データが定義されているCOBOLソーステキストが表示されます。

［影響波及データ一覧］画面からCOBOLソースファイルを表示する場合

［表示］−［影響波及データ画面］メニューを選択すると，［影響波及データ］画面に影響波及データが定義されているCOBOLソーステキストが表示されます。

［影響波及コード一覧］画面からCOBOLソースファイルを表示する場合

［表示］−［影響波及コード画面］メニューを選択すると，［影響波及コード］画面に影響波及データが定義されているCOBOLソーステキストが表示されます。

10　画面のリファレンス

データ影響波及分析の画面について説明します。

10.1　開発マネージャで設定する画面

データ影響波及分析に関して設定するCOBOL2002 開発マネージャの画面です。

開発マネージャでデータ影響波及分析に関する設定をする場合，次のどちらかの操作をします。

開発マネージャの［プロジェクト］−［プロジェクトの設定］メニューを選択し，［プロジェクト設定］ダイアログの［データ影響波及分析］タブを選択。

開発マネージャの［ツール］−［データ影響波及分析］−［設定］メニューを選択し，［設定］ダイアログを表示。

［プロジェクト設定］ダイアログの［データ影響波及分析］タブ，［設定］ダイアログに指定する内容

プロジェクトマスタ内のすべてのプロジェクトに対しての指定です。

データ影響波及分析用データベースを作成する

開発マネージャでビルドを実行する場合に，データ影響波及分析用データベースを作成するときにチェックボックスをオンにします。

データ領域番号の指定(1〜5)

データ領域番号を指定する場合にチェックボックスをオンにします。

チェックするとエディットボックスが表示されます。エディットボックスに，データ領域番号として1〜5の数値を半角数字で指定します。1〜5以外を指定した場合はエラーメッセージが表示されます。

この項目を指定しなかった場合，データベース作成時に次のデータ領域番号が仮定されます。

サブシステム名がデータベースに存在しない場合は「1」

サブシステム名がデータベースに存在する場合は，サブシステムが登録されているデータ領域番号

注意事項

すでにデータ領域にサブシステムが存在する場合に，データ領域番号を変更すると，そのままビルド（データベースを作成）してもエラーとなるため，次の点に注意が必要です。

サブシステムが存在していて，データ領域を変更したい場合は，cbldraコマンドで変更前のデータ領域にあるサブシステムを削除する必要があります。

サブシステムが存在していて，データを残しておきたい場合は，データ領域と併せてサブシステム名も変更する必要があります。

旧組み込みデータベースからデータを移行した場合，データ領域番号「1」のデータ領域に移行されます。データ領域番号を変更したい場合は，上記1または2のどちらかの対応をする必要があります。

チェックを解除した場合は，サブシステムが登録されているデータ領域番号が仮定されるため，そのまま操作を続行して問題ありません。

サブシステムが存在しない（新規作成時など）場合は，特に問題はありません。

サブシステム名の指定

データ影響波及分析用データベースに格納する場合に使用するサブシステム名に任意の名称を指定するとき，またはほかのプロジェクトマスタのプロジェクト名と重複しないようにサブシステム名を変更するときにチェックボックスをオンにします。

チェックボックスをクリックすると，エディットボックスが表示されます。エディットボックスに任意のサブシステム名を指定します。プロジェクトマスタ名に指定できない文字列「¥」「/」「:」「*」「?」「"」「<」「>」「|」「@」「;」，半角空白，全角空白，タブは指定できません。

エディットボックスのサブシステム名を削除して指定すると，初期値または前回指定したサブシステム名が仮定されます。

なお，エディットボックスには，初期値としてプロジェクトマスタ名の先頭30バイト文字が仮定されます。プロジェクトマスタ名中の「;」，半角空白，全角空白，タブは，「_」に置き換わります。

サブシステム名には，「-」（ハイフン）で始まる名称を指定できません。

一意名呼び出し対応付けファイルの指定

通常，一意名の呼び出し先は，COBOLプログラムの解析時にデータ影響波及分析が自動で検出しますが，COBOLプログラムの処理によっては，一意名の呼び出し先を認識できません。一意名の呼び出し先を認識できないことを示す警告メッセージが出力された場合，一意名呼び出し対応付けファイル（.idc）を作成し，指定してください。

一意名呼び出し対応付けファイル（.idc）を指定する場合にチェックボックスをオンにします。

チェックボックスをオンにすると，エディットボックスと［参照］ボタンが表示されます。エディットボックスで指定する場合は，一意名呼び出し対応付けファイルを絶対パスで指定します。

一意名呼び出し対応付けファイルについては，「付録A.2　一意名呼び出し対応付けファイル」を参照してください。

10.2　スタートページ

影響波及の解析を開始する前に，最初に表示される画面です。

スタートページはWindowsのプログラム一覧から［COBOL2002 Professional Tool Kit］−［影響波及調査］を選択して表示します。

［新しい調査をする］ボタン

クリックすると，データ影響波及分析の［調査環境の設定］画面が表示されます。［調査環境の設定］画面でサブシステム名を選択したあとで，［調査対象の選択］ボタンをクリックすると［調査対象選択］ダイアログが表示されます。

データ影響波及分析用データベースを作成していない場合はエラーになります。

［調査状態保存ファイルを使って調査を再開する］ボタン

クリックすると，［調査状態保存ファイルの読み込み］ダイアログが表示されます。この画面で，調査状態保存ファイルを選択し，［OK］ボタンをクリックすると，保存した調査結果がデータ影響波及分析の画面に表示されます。

10.3　［調査環境の設定］画面

調査するプロジェクトのサブシステム名を選択する画面です。

［調査環境の設定］画面は，新規に影響波及を調査する前に必ず表示されます。

サブシステム名

調査対象

調査対象にするサブシステムの場合にチェックボックスをオンにします。

サブシステム名

データ影響波及分析用データベースに格納されているサブシステム名です。

データ領域番号

サブシステムに対応するデータ領域番号です。

オプション

プログラム情報フィルタリングファイルを指定するときに，［データ影響波及分析用データベースの調査対象範囲を指定するとき］の矢印をクリックし，絶対パス名で指定します。プログラム情報フィルタリングファイルは，事前に作成が必要です。

フィルタリングが必要かどうかは，サブシステムの構成を基に検討してください。

［すべて選択］ボタン

すべてのサブシステム名を設定します。

［すべての選択を解除］ボタン

すべてのサブシステム名の設定を解除します。

［調査対象の選択］ボタン

クリックすると，［調査対象選択］ダイアログが表示されます。

COBOLエディタから調査する対象のデータ項目を選択して起動したときは，［解析］ボタンが表示されます。［解析］ボタンをクリックすると，解析が実行されます。

注意事項

調査対象データ項目の影響が多岐に及ぶ場合，メモリ不足が発生することがあります。この場合，メッセージボックスに表示されるエラーメッセージに従って問題を回避してください。

10.4　［調査対象選択］ダイアログ

調査する対象のデータ項目を指定するダイアログです。

手順1. データ項目の検索

検索の種別，データ項目名，プログラム名，ファイル名の横にある［!］をクリックすると，ツールチップで説明が表示されます。

検索の種別

どのデータ項目を検索するかを選択します。

ソースプログラム内で使用されているデータ項目を検索する

ソースファイル内で定義されているデータ項目名や，登録集原文ファイルから取り込まれて定義されているデータ項目名を対象に検索します。

登録集原文で記述されているデータ項目を検索する

登録集原文ファイルで定義されているデータ項目名を対象に検索します。

データ項目名

検索するデータ項目名を指定します。データ項目名は複数指定できません。

共通の規則：

データ項目名の大文字と小文字は区別しません。ただし，「データ項目名の大文字と小文字を区別する」チェックボックスで変更できます。

データ項目名の全角文字と半角文字を区別しません。ただし，-EquivRuleコンパイラオプションを指定して解析されたCOBOLソースファイル中の全角英数字文字，全角のハイフンまたは全角のアンダスコアを含む名前は，全角と半角が一致していないと検索にヒットしません。

ワイルドカードは，「*」「?」だけを使用できます。

「*」：0個以上の文字にヒットします。

「?」：任意の1文字にヒットします。

空白文字の繰り返しは，空白文字1個と見なされます。

「ソースプログラム内で使用されているデータ項目を検索する」を指定した場合の規則：

検索対象のデータ項目名は，OF修飾を付けても付けなくても検索されます。

（例）

01 X.

　02 A1 PIC S9(9).

で「A1」は，「A1 of X」または「A1」で検索できます。

修飾子のOFは，英大文字と英小文字，および全角文字と半角文字は区別しません。

COBOLソースプログラムの手続き部で名前が明示的に使用されていないデータ項目名は，検索の対象になりません。

「登録集原文で記述されているデータ項目を検索する」を指定した場合の規則：

検索対象は，OF修飾なしのデータ項目名です。

01または77レベルの基本項目の場合，取り込んでいるソースプログラムの手続き部で名前が使用されていないデータ項目は検索の対象になりません。また，01レベルの集団項目またはその従属項目の場合は，取り込んでいるCOBOLソースプログラムの手続き部で，01レベルの集団項目が明示的にも暗黙的にも参照されていない（どの従属項目の参照もない）場合は検索の対象になりません。

データ項目名の英大文字と英小文字を区別する

オフの場合

データ項目名の英大文字と英小文字を区別しません。

オンの場合

データ項目名の英大文字と英小文字を区別します。

プログラム名

検索対象のプログラム名を指定します。プログラム名を指定すると，そのプログラムに属するデータ項目だけを検索します。複数のプログラム名は指定できません。

規則：

英大文字と英小文字，および全角文字と半角文字を区別します。

ワイルドカードは，「*」「?」だけを使用できます。

「*」：0個以上の文字にヒットします。

「?」：任意の1文字にヒットします。

入力を省略すると，ワイルドカード「*」が仮定されます。

部分一致では検索しません（例：「A」で検索しても「MAIN」はヒットしません）。

検索の種別に「登録集原文で記述されているデータ項目を検索する」を指定した場合は，プログラム名の指定は無視されます。

ファイル名

検索対象のCOBOLソースファイル名を指定します。COBOLソースファイル名を指定すると，そのCOBOLソースファイルに属するデータ項目だけを検索します。複数のCOBOLソースファイル名は指定できません。

規則：

英大文字と英小文字を区別しません。

全角文字と半角文字は区別します。

入力を省略した場合はワイルドカード「*」が仮定されます。

検索対象になるファイル名は，指定した文字列にフォルダの区切り文字「¥」を含むかどうかで異なります。

「¥」を含む場合：絶対パス名の文字列

「¥」を含まない場合：パスなしファイル名の文字列

ワイルドカードは，「*」「?」だけを使用できます。

「*」：0個以上の文字にヒットします。

「?」：任意の1文字にヒットします。

部分一致では検索しません（例：「A」で検索しても「sample.cbl」はヒットしません）。

手順2. 調査対象データ項目の選択

検索結果

検索で一致したデータ項目の件数と，検索結果のデータ項目の一覧が表示されます。データ項目の表示形式は，検索の種別で異なります。

「ソースプログラム内で使用されているデータ項目を検索する」の場合

「OF修飾付きのデータ項目名（ ファイル名 / プログラム名 ）」

「登録集原文で記述されているデータ項目を検索する」の場合

「OF修飾なしのデータ項目名（ ファイル名 , line 相対行番号 ）」

表示するデータ項目の上限は100件です。100件を超えたときは，検索条件を変更して，再検索してください。

データ項目を調査対象にするときは，データ項目を選んで右矢印のアイコンをクリックするか，データ項目をダブルクリックしてください。

調査対象データ項目

調査対象データ項目の件数と，検索結果から調査対象として選択したデータ項目の一覧が表示されます。データ項目の表示形式は，「OF修飾付きのデータ項目名（ ファイル名 / プログラム名 ）」です。

検索結果のデータ項目が登録集原文で定義されたデータ項目の場合は，登録集原文を利用するCOPY文ごとにデータ項目名が表示されます。また，COPY文のREPLACING指定で置き換えられたデータ項目名が表示されます。

表示する調査対象データ項目の上限は100件です。100件を超えたときは，検索結果から選択し直してください。

手順3. 調査対象データ項目の解析

解析の方法を指定します。

影響波及元

調査対象データ項目に向けて影響波及するデータを解析します。

影響波及先

調査対象データ項目から始まり影響波及するデータを解析します。

未使用の別名の抽出

オフの場合

影響波及データ一覧をCSVファイルに出力する際に，［影響波及元関連図］画面と［影響波及先関連図］画面に表示されているデータ項目だけを出力します。

オンの場合

影響波及データ一覧をCSVファイルに出力する際に，［影響波及元関連図］画面と［影響波及先関連図］画面に表示されているデータ項目に加えて，その別名（未使用の影響波及データ項目）を出力します。

波及レベル

解析対象とするプログラムを絞り込む場合に，調査対象のデータ項目が定義されたプログラムを起点に影響波及するレベルを0〜150の範囲で指定します。

波及レベルの指定がないとき，解析対象とするプログラムは絞り込まれません。

0を指定すると，調査対象データ項目が定義されたプログラムだけが解析対象となります。

注意事項

登録集原文ファイルのデータ項目の検索では，それを使って宣言されているCOBOLソースファイルのデータ項目情報を検索します。同じ登録集原文ファイルを複数のソースファイルで取り込んでいる場合，取り込んでいるソースファイルの数だけ情報が存在します。そのため，1つの登録集原文ファイルのデータ項目の検索でも，取り込んでいるソースファイルの数が多いと，検索に時間が掛かることがあります。登録集原文ファイルにワイルドカードを使用した検索に時間が掛かる場合は，検索をキャンセルし，ワイルドカードを使わないで単一の登録集原文ファイルを指定して検索してください。

指標名は修飾子なしで検索してください。

登録集原文ファイルの検索結果から調査対象データ項目を選択する場合，どのソースプログラムの手続き部でも名前が明示的に使用されていないデータ項目は［調査対象データ項目］には表示されません。ただし，集団項目の場合は，従属項目が明示的に使用されていれば，明示的に使用されているものとして扱います。

調査対象データ項目の影響が多岐に及ぶ場合，メモリ不足が発生することがあります。この場合，メッセージボックスに表示されるエラーメッセージに従って問題を回避してください。

調査対象データ項目を1つだけ選択して解析した場合と複数選択して解析した場合では，データノードのツリーに表示される影響波及データ項目は異なることがあります。

より厳密に影響波及調査を行いたい場合は，調査対象データ項目を1つだけ選択して解析してください。

10.5　影響波及調査ウィンドウ

データ項目の影響範囲を解析した結果を表示する画面です。

影響波及調査ウィンドウには，次に示す項目が表示されます。

COBOLプログラムの要素の呼び出し関連

調査対象データ項目が影響波及する個所

影響波及データと影響波及コードに対応するCOBOLソースファイルのコード

影響波及調査ウィンドウの画面構成と，各画面の名称を次に示します。

［影響プログラム］タブを選択したときの画面

［影響個所］タブを選択したときの画面

［調査対象データ項目一覧］画面

調査対象データ項目の一覧です。

［影響プログラム］画面

影響プログラムの情報です。

［プログラム呼び出し関連図］画面

ソース要素の呼び出し関連です。

［影響プログラム一覧］画面

影響プログラムの一覧です。

［影響個所］画面

データ項目が影響波及する情報です。

［影響波及元関連図］画面

調査対象データ項目に影響波及する影響波及データの情報です。

［影響波及先関連図］画面

調査対象データ項目から影響波及する影響波及データの情報です。

［影響波及データ一覧］画面

影響波及データ項目の一覧です。

［影響波及コード一覧］画面

影響波及コードの一覧です。

［影響波及データ］画面

影響波及データに対応するソーステキストです。［影響波及データ］画面をクリックすると開きます。

［影響波及コード］画面

影響波及コードに対応するソーステキストです。［影響波及コード］画面をクリックすると開きます。

なお，影響波及調査ウィンドウで行またはノードを選択すると，ほかの画面が連動して動作します。各画面で連動して表示する画面を次の図に示します。図中の矢印は，矢印元の画面の行またはノードを選択すると，そのノードの選択状態に関係なく，矢印先の画面が連動して動作することを意味します。

注※

画面の連動を設定する方法については，「9.3　画面の連動をカスタマイズする」を参照してください。

注意事項

メモリ使用量が制限値を超える可能性がある場合，メッセージボックスにエラーメッセージが表示されます。この場合は，メッセージに従って問題を回避してください。

メモリ使用量は推測値のため，このメッセージが表示されない場合でも，メモリ不足が発生することがあります。そのため，［メモ］に調査結果を入力した場合は，こまめに調査状態保存ファイルに保存するようにしてください。

10.6　［調査対象データ項目一覧］画面

調査の対象として指定したデータ項目の一覧です。

［調査対象選択］ダイアログの指定に該当するデータ項目が表示されます。

通常時

［調査範囲の設定］メニューを選んだあとの表示

調査対象

調査対象のデータを選択するためのチェックボックスです。［調査範囲の設定］メニューを選択すると表示されます。

調査対象データ項目名

調査対象のデータ項目です。

登録集原文に記述されたデータ項目を指定した場合は，そのデータ項目を取り込んで定義しているすべてのデータ項目が表示されます。

プログラム名

調査対象データ項目が属するCOBOLプログラム名です。

ファイル名

調査対象データ項目が属するCOBOLソースファイル名です。

10.7　［影響プログラム］画面

指定したデータ項目の影響が，どのプログラムに影響するかを表示する画面です。

［影響プログラム］画面は，次に示す画面から構成されます。

［プログラム呼び出し関連図］画面

［影響プログラム一覧］画面

10.7.1　［プログラム呼び出し関連図］画面

プログラムの呼び出し関係をツリー形式で表示し，プログラム間の影響関係を色分けして表示する画面です。

［プログラム呼び出し関連図］画面で色が付いたプログラムノードを選択すると，該当する［影響プログラム］画面の情報が［影響プログラム一覧］画面に表示されます。

プログラムノード

ツリー形式を構成する要素で，COBOLプログラムを示します。COBOLプログラムの種類と表示形式の関係を次に示します。

プログラムの種類

表示形式

最外側プログラム

最外側プログラム名

最外側プログラムの入口点

入口点の名前［最外側プログラム名］

内部プログラム

最外側プログラム名.内部プログラム名

利用者定義関数

利用者定義関数名

次に示す理由で制限値を超えたため，呼び出す先のソース要素を表示しない場合は，プログラムの先頭に「/」が表示されます。

ソース要素の呼び出しのネストが，制限値を超えた。

1つのソース要素が呼び出すソース要素の個数が制限値を超えた。

COBOLプログラムのプログラムノードは，次に示す背景色で表示されます。

プログラムの種類

デフォルトの色

調査対象プログラム

オレンジ

影響波及元プログラム

青

影響波及先プログラム

赤

影響波及元/影響波及先プログラム

紫

調査対象プログラムとその他の分類が重複するときは，調査対象プログラムの背景色（オレンジ）で表示されます。

配色を変更するときは，［画面の設定］画面で指定します。

呼び出すプログラムが存在するときは黒い三角で示します。[図データ]（下向きの三角）はプログラムを表示中，[図データ]（横向きの三角）はプログラムが非表示であることを示します。

参考

プログラムノードの背景色を画面上で確認するときは，［ヘルプ］−［凡例を表示］メニューを選択して［凡例を表示］ダイアログを表示してください。

注意

プログラム呼び出し関連図では，最外側プログラム名，内部プログラム名，利用者定義関数名に加え，最外側プログラムのENTRY文の入口名も「プログラム名」として表示されます。

10.7.2　［影響プログラム一覧］画面

指定したデータ項目に影響するCOBOLプログラムの一覧を表示する画面です。

［影響プログラム一覧］画面の項目を選択すると，該当する［プログラム呼び出し関連図］画面のプログラムノードが選択状態で表示されます。

ファイル名

影響プログラムが属するCOBOLソースファイル名です。

影響プログラム名

プログラムノードで示すプログラム名です。最外側プログラムの入口点も表示します。

プログラム呼び出し関連図の制限で，プログラムノードを表示しない影響プログラム名には，先頭に「/」が表示されます。

影響

翻訳単位が含む影響波及コードの種類（調査対象，影響波及元，影響波及先）です。影響波及元と影響波及先の両方を含むときは，「影響波及元影響波及先」と表示されます。

影響波及データ項目

影響プログラム内の影響波及データ項目の件数です。

影響波及コード

影響プログラム内の影響波及コードの件数です。

メモ

覚え書きとして文字列を入力できます。記入したコメントは，調査状態保存ファイルに格納されます。

絶対パス

COBOLソースファイルの絶対パスです。

10.8　［影響個所］画面

指定したデータ項目の影響が，プログラムのどこに影響するかを表示する画面です。

［影響個所］画面は，次に示す画面から構成されます。

［影響波及元関連図］画面

［影響波及先関連図］画面

［影響波及データ一覧］画面

［影響波及コード一覧］画面

10.8.1　［影響波及元関連図］［影響波及先関連図］画面

［影響波及元関連図］画面と［影響波及先関連図］画面は，COBOLプログラムのデータ項目が影響波及するデータ項目を影響波及元と影響波及先の双方向に追跡する画面です。

データノード

ツリー形式を構成する要素で，データ項目を示します。データ項目の表示の説明を次に示します。

データ項目の表示

説明

影響波及データと影響波及コードの情報がある影響波及データ項目。※

選択時は太枠で表示される。

影響波及データだけ情報がある影響波及データ項目。※

選択時は太枠で表示される。

影響波及データと影響波及コードの情報がない影響波及データ。

複数回出現する影響波及データ項目も含む。

選択時は太枠かつ破線で表示される。

定数，または外部装置。

選択時は太枠かつ短い破線で表示される。

注※

データ項目を選択すると，［影響波及データ一覧］画面または［影響波及コード一覧］画面が切り替わります。

データノードの表示形式については，「12.1.4　影響波及関連図の表示形式」を参照してください。

影響2項関係があるCOBOLデータが存在するときは黒い三角で示します。[図データ]（下向きの三角）はプログラムを表示中，[図データ]（横向きの三角）はプログラムが非表示であることを示します。

参考

次に示すデータノードは表示されません。

［影響波及元関連図］画面で，影響波及先に自分と同じ影響波及データ項目があるとき，自分より影響波及元のデータノード

［影響波及先関連図］画面で，影響波及元に自分と同じ影響波及データ項目があるとき，自分より影響波及先のデータノード

データノードが影響波及データ項目を表示する形式を次に示します。

［影響波及元関連図］画面の場合

［影響波及先関連図］画面の場合

マーク

説明

表示例

■

ツリーのルートになる調査対象データ項目です。

データノードの色は，デフォルトではオレンジです。

［影響波及元関連図］画面

［影響波及先関連図］画面

/

次に示す制限で，影響波及元のデータノードを表示しないことを示します。

調査対象データ項目を調査対象として，影響波及元方向に関連していくデータノードの個数が制限値を超えた。

1つの影響波及データから影響するデータノードの個数が制限値を超えた。

次に示す制限で，影響波及先のデータノードを表示しないことを示します。

調査対象データ項目を調査対象として，影響波及先方向に関連していくデータノードの個数が制限値を超えた。

1つの影響波及データに影響するデータの項目の個数が制限値を超えた。

上記の制限に達して，表示しないデータノードがあるときは，制限に達したデータノードに「/」マークが表示されます。制限で［影響波及関連図］画面にデータノードを表示しない影響波及データ項目であっても，［影響波及データ一覧］画面には表示されます。

［影響波及元関連図］画面

［影響波及先関連図］画面

参考

データノードの背景色を画面上で確認するときは，［ヘルプ］−［凡例を表示］メニューを選択して［凡例を表示］ダイアログを表示してください。

10.8.2　［影響波及データ一覧］画面

［影響波及元関連図］画面または［影響波及先関連図］画面で選択した影響波及データ項目の情報を表示します。

データノードを選択すると，［影響波及データ一覧］画面には該当する影響波及データ項目の行が表示されます。

表示

次の項目から選択します。

すべて

すべての影響波及データ項目を表示します。

選択したデータ項目と直接関連

［影響波及元関連図］画面のデータノードを選択した場合：

選択したデータノードとその直接の影響波及元の影響波及データ項目だけを表示します。

［影響波及先関連図］画面のデータノードを選択した場合：

選択したデータノードとその直接の影響波及先の影響波及データ項目だけを表示します。

影響波及データ項目名

影響波及データ項目の名前です。［影響波及元関連図］画面または［影響波及先関連図］画面の制限でデータノードを表示されていないデータ項目は，影響波及項目名の前に「/」が表示されます。

影響

影響波及データの種類です。次のどれかが表示されます。

影響波及元調査対象

影響波及先調査対象

影響波及元

影響波及先

影響プログラム名

影響波及データのデータ記述項がある影響プログラム名です。

ファイル名

影響波及データのデータ記述項があるCOBOLソースファイル名です。影響波及データのデータ記述項が登録集原文に記述されているときは，登録集原文を取り込んでいるCOBOLソースファイル名が表示されます。

メモ

覚え書きとして文字列を入力できます。記入したコメントは，調査状態保存ファイルとCSVファイルに格納されます。

絶対パス

影響波及データのデータ記述項があるソースファイルの絶対パスです。

登録集原文

影響波及データのデータ記述項があるが登録集原文に記述されているとき，その登録集原文ファイルの絶対パスです。COBOLソースファイルに記述されている場合は，何も表示しません。

登録集原文ファイルの行番号

影響波及データのデータ記述項が登録集原文にあるとき，その登録集原文ファイルの行番号です。COBOLソースファイルに記述されている場合は，何も表示されません。

注意

1つの影響波及データが［影響波及元関連図］画面と［影響波及先関連図］画面の両方に表示されるときは，［影響波及データ一覧］画面にはそれぞれを説明する影響波及データの行が表示されます。ただし，［影響波及元関連図］画面に複数回出現する影響波及データは，［影響波及データ一覧］画面では1行の表示になります。［影響波及先関連図］画面に複数回出現する影響波及データも，［影響波及データ一覧］画面では1行の表示になります。

影響波及データが登録集原文に記述されている場合，影響波及データ一覧に表示される名前と［影響波及データ］画面および［影響波及コード］画面に表示される名前が一致しないことがあります。

10.8.3　［影響波及コード一覧］画面

［影響波及関連図］画面で選択したデータ項目を使用するコードの一覧を表示する画面です。

表示

次の項目から選択します。

すべて

すべての影響波及コードを表示します。

選択したデータ項目を使用

選択したデータ項目を使用する影響波及コード（暗黙的に値を更新または参照する実行文を含む）を表示します。

選択したデータ項目を明示的に使用

影響波及関連図で選択したデータ項目を，COBOLソースファイル中で明示的に使用する影響波及コード（暗黙的に値を更新または参照する実行文を除く）を表示します。

検索文字と［検索］ボタン

検索文字を指定して［検索］ボタンをクリックすると，影響波及コード一覧が検索文字を含む影響波及コードだけに絞られます。

［検索リセット］ボタン

［検索］ボタンで実行した絞り込みを解除します。

ファイル名

影響波及コードが属するソースファイル名です。

影響プログラム名

影響波及コードが属する影響プログラム名です。

行番号

影響波及コードが記述されているファイル内の行番号です。

影響

影響波及データの種類です。次のうちのどれかが表示されます。

影響波及元調査対象

影響波及先調査対象

影響波及元

影響波及先

影響波及コード

影響波及コードです。

影響波及コード内の影響波及データは，次の表に示す色で表示されます。

影響波及データの種類

デフォルトの色

調査対象

オレンジ

影響波及元

青

影響波及先

赤

影響波及元，かつ影響波及先

紫

注意事項

データ記述項に含まれる影響波及データは，次の個所に色が付けられて表示されます。

データ名：データ名が定義されているとき

FILLER：FILLERが定義されているとき

レベル番号：データ名もFILLERも定義されていないとき

配色を変更するときは，［画面の設定］画面で指定します。画面の配色の変更については，「9.1.1　色を設定する」を参照してください。

影響波及コードは，次に示す背景色で表示されます。

影響波及コードの種類

背景色

明示的に値を更新または参照する実行文

なし

暗黙的に値を更新または参照する実行文

濃灰

参考

影響波及データの色を画面上で確認するときは，［ヘルプ］−［凡例を表示］メニューを選択して［凡例を表示］ダイアログを表示してください。

メモ

覚え書きとして文字列を入力できます。記入したコメントは，調査状態保存ファイルとCSVファイルに格納されます。

絶対パス

影響波及コードが所属するソースファイルの絶対パスです。

登録集原文

影響波及コードが登録集原文に記述されている場合，その登録集原文の絶対パスです。COBOLソースファイルに記述されている場合は，何も表示されません。

注意

手続き部にCOPY文がある場合，［影響波及コード一覧］画面の影響波及データ名と，［影響波及コード］画面に表示する影響波及データ名が一致しないことがあります。

1つの文が複数行のとき，影響波及データがある1行だけが［影響波及コード一覧］画面に表示されます。

1つの行に複数の影響波及データを含むとき，その行は1回だけ［影響波及コード一覧］画面に表示されます。

10.9　［影響波及データ］画面

データ影響波及分析の対象となるCOBOLプログラムテキストの，影響波及データを定義する行に色を付けて表示する画面です。

［影響プログラム一覧］画面，［影響波及データ一覧］画面，または［影響波及コード一覧］画面の一覧から，メニューを選択またはダブルクリックすると，選択した項目に該当するデータ記述項のCOBOLプログラムテキストが表示されます。

現在行のマーカ

［影響プログラム一覧］画面，［影響波及データ一覧］画面，［影響波及コード一覧］画面で選択した項目の該当行を示します。

行番号領域

［影響波及データ］画面のテキストの行番号です。

COBOLプログラムテキスト

COBOLソースファイルの内容です。

COBOLプログラムテキストには，次に示す背景色が付けられます。該当する文が複数行のときは，データ名がある行に色が付けられます。

COBOLプログラムテキストの種類

デフォルトの色

調査対象データ項目を定義する行

オレンジ

影響波及元のデータ項目を定義する行

青

影響波及先のデータ項目を定義する行

赤

影響波及元と影響波及先の両方のデータ項目を定義する行

紫

配色を変更するときは，［画面の設定］画面で指定します。画面の配色の変更については，「9.1.1　色を設定する」を参照してください。

参考

COBOLプログラムテキストの背景色を画面上で確認するときは，［ヘルプ］−［凡例を表示］メニューを選択して［凡例を表示］ダイアログを表示してください。

注意

同じ登録集原文ファイルの同じデータ名を取り込んで定義される異なるデータ項目が，それぞれ異なる影響属性の場合，［影響波及データ］画面に表示される定義行の色に一方のデータ項目の影響属性の色が採用され，その色はもう一方のデータ項目の影響属性の色とは一致しないことがあります。

画面の連動を設定しておくと，［影響波及データ一覧］画面のデータ項目をクリックすればCOBOLソーステキストの該当個所を自動的に表示するため，より簡単にCOBOLソーステキストを参照できます。

1行に複数のデータ項目が定義されているときは，優先度が高いデータ項目の背景色が表示されます。優先度は次の順番です。

（優先度高） 調査対象 > 影響波及元，影響波及先，影響波及元影響波及先※ > 影響なし （優先度低）

注※

影響波及元，影響波及先，影響波及元影響波及先は，先頭に近いデータ項目が優先されます。

関連項目

「9.3　画面の連動をカスタマイズする」

10.10　［影響波及コード］画面

データ影響波及分析の対象となるCOBOLプログラムテキストの，影響波及コードを定義する行に色を付けて表示する画面です。

［影響プログラム一覧］画面，［影響波及データ一覧］画面，［影響波及コード一覧］画面の一覧から，メニューを選択またはダブルクリックすると，選択した項目に該当するコードのCOBOLプログラムテキストが表示されます。

現在行のマーカ

［影響プログラム一覧］画面，［影響波及コード一覧］画面で選択した項目のソースコードです。

行番号領域

［影響波及コード］画面のテキストの行番号です。

COBOLプログラムテキスト

COBOLソースファイルの内容です。

COBOLプログラムテキストには，次に示す背景色が付けられます。該当する文が複数行のときは，データ名がある行に色が付けられます。

COBOLプログラムテキストの種類

デフォルトの色

影響波及元のデータ項目を更新する行

青

影響波及先のデータ項目を参照する行

赤

影響波及元のデータ項目を更新する，かつ影響波及先のデータ項目を参照する行

紫

配色を変更するときは，［画面の設定］画面で指定します。画面の配色の変更については，「9.1.1　色を設定する」を参照してください。

参考

COBOLプログラムテキストの背景色を画面上で確認するときは，［ヘルプ］−［凡例を表示］メニューを選択して［凡例を表示］ダイアログを表示してください。

注意

画面の連動を設定しておくと，［影響波及コード一覧］画面のデータ項目をクリックすればCOBOLソーステキストの該当個所を自動的に表示するため，より簡単にCOBOLソーステキストを参照できます。

関連項目

「9.3　画面の連動をカスタマイズする」

11　コマンドリファレンス

データ影響波及分析のコマンドの文法について説明します。

11.1　データベースを操作するコマンド

データ影響波及分析用データベースを操作するcbldraコマンドの説明です。

cbldraコマンドは，COBOL2002コンパイラ（ccbl2002コマンド）を呼び出してCOBOLソースファイルを解析し，影響範囲の解析のための解析情報をサブシステム名とモジュール名で指定されたデータ影響波及分析用データベース内の所定の位置に格納するツールです。

コマンドの注意を次に示します。

同じオプションが指定された場合は，後ろに指定した方が有効です。ただし，サブオプションが異なる場合は別のオプションとして扱われます。

オプション名は，英大文字と英小文字を区別しません。

オプションの区切り文字（コンマ（,），セミコロン（;））の前後には，空白文字は指定できません。

ファイル名およびフォルダ名に空白文字が含まれる場合は，引用符（"）で囲んでください。

オプションの引数には，ハイフン（-）で始まる文字列は指定できません。

［Ctrl］+［C］キーでコマンドを強制終了した場合は，処理中のCOBOLソースファイルの解析情報の格納処理がロールバックされ，その直前のコンパイルが成功したCOBOLソースファイルの解析情報までがデータベースに格納された状態になります。

DEFAULTサブシステムは，COBOLソースファイルの解析情報を格納する目的で最初にデータベースに接続したときに，cbldraコマンドの-SubSystemオプションの指定に関係なく作成されます。

コンパイルに必要なコンパイラオプションは，環境変数CBLCOPT2002に指定してください。また，-SrcListコンパイラオプションの指定があれば，コンパイルリストがコンパイルの成果物として出力されます。

COBOL2002コンパイラでエラーになった場合は，COBOL2002コンパイラのエラーメッセージが出力されます。SレベルまたはUレベルを検出した場合，データベースは更新されません。

オプションの引数には，COBOLソースファイルの拡張子と同じ名前は指定しないでください。

オプションの引数に区切り文字と同じ文字を含む場合は，動作は保証されません。

シフトJIS以外の文字コードで書かれたCOBOLソースファイルは指定しないでください。

cbldraコマンド − データ影響波及分析用データベースを操作する

cbldraコマンドは，データ影響波及分析用データベースを操作するときに使います。

形式

COBOLソースファイルを解析し，COBOLソースファイルの解析情報をデータベースに格納する場合

cbldra   COBOLソースファイル名 ...
        〔-SourcePath ソースフォルダ名〔;ソースフォルダ名〕...〔-r〕〕
        〔-SubSystem サブシステム名〕 〔-ModuleName モジュール名〕
        〔-DataArea データ領域番号〕
        〔-IdCallMap 一意名呼び出し対応付けファイル名〕
        〔-Quick〕

データ影響波及分析用データベースを初期化する場合

cbldra  -InitializeDatabase

データ影響波及分析用データベース中の特定のデータ領域を初期化する場合

cbldra  -InitializeDataArea データ領域番号

データ影響波及分析用データベースからモジュールを削除する場合※

cbldra   -Delete〔,Module〕
         -SubSystem サブシステム名 -ModuleName モジュール名

データ影響波及分析用データベースからサブシステムを削除する場合※

cbldra   -Delete,SubSystem
         -SubSystem サブシステム名

データ影響波及分析用データベース内の構成を表示する場合

cbldra   -List〔,｛All｜SubSystem｝〕
         〔-DataArea データ領域番号〕

コマンドヘルプを表示する場合

cbldra   または
cbldra -?  または
cbldra -Help

注※

サブシステム名からデータ領域が自動で判断されるため-DataAreaオプションの指定は不要です。

オプション

COBOLソースファイル名

解析情報をデータベースに格納するCOBOLソースファイル名を指定します。

-SourcePathオプションでソースフォルダを指定する場合は，パスを付けないファイル名を指定します。ソースフォルダの指定がない場合は，絶対パス名またはカレントフォルダからの相対パス名を指定します。

COBOLソースファイル名には，ワイルドカード「*」「?」を使用できます。ただし，パスの部分にはワイルドカードは指定できません。COBOLソースファイル名として指定できるファイルの拡張子を次に示します。

固定形式正書法で書かれた原始プログラムの場合

.cbl，.cob，.ocb，または環境変数CBLFIXで指定した拡張子

自由形式正書法で書かれた原始プログラムの場合

.cbf，.ocf，または環境変数CBLFREEで指定した拡張子

COBOLソースファイル名の解析情報がすでにデータベースにある場合，COBOLソースファイル名の新しい解析情報としてデータベースに上書きされます。

環境変数については，マニュアル「COBOL2002 ユーザーズガイド」を参照してください。

-SourcePath ソースフォルダ名〔;ソースフォルダ名〕...

COBOLソースファイルを格納したフォルダを指定します。

-r

指定したソースフォルダの，サブフォルダのCOBOLソースファイルまで解析対象にする場合に指定します。

-SubSystem サブシステム名

COBOLソースファイルの解析情報を格納する場所である，サブシステム名を指定します。指定したサブシステム名が存在しない場合は，新規に作成されます。

サブシステム名には，次の文字を含まない名前を30文字以下で指定します。英小文字と英大文字は区別されません。

「¥」「/」「:」「*」「?」「"」「<」「>」「|」「@」「;」，半角空白，全角空白，タブ

なお，データ影響波及分析用データベースには，英小文字は英大文字に変換されてサブシステム名として登録されます。

このオプションを省略すると，デフォルトのサブシステム名としてDEFAULTが仮定されます。

-ModuleName モジュール名

事前にラベルとしてCOBOLソースファイル名にモジュール名を付けるときに指定します。モジュール名には，パスを付けないファイル名として有効な名前を256文字以内で指定します。英小文字と英大文字は区別されません。

なお，データベースには英小文字を英大文字に変換したモジュール名が登録されます。

このオプションを省略すると，モジュール名としてNO_NAMEが仮定されます。

このオプションでモジュール名を付けると，-Delete,Moduleオプションでモジュール単位に解析情報を削除できます。

モジュール名の1文字目に「-」（ハイフン）を使用した場合は，エラーメッセージを出力して，処理を中止します。

-DataArea データ領域番号

データを格納するデータ領域の番号を指定します。1〜5の半角数字で指定します。

-IdCallMap 一意名呼び出し対応付けファイル名

一意名を指定したCALL文の呼び出し先を解決するためのファイルを指定します。データ影響波及分析が自動的に一意名を解析できなかった場合に指定します。

-Quick

タイムスタンプとサイズが等しいCOBOLソースファイルの解析情報がすでにデータベースに格納されている場合に，該当するCOBOLソースファイルは解析しないで実行するときに指定します。これによって，解析に掛かる時間を短縮できます。

-Quickオプションを指定すると，登録集原文ファイルに変更があってもCOBOLソースファイルに変更がなければ解析されません。登録集原文ファイルに変更がある場合は，-Quickオプションは指定しないでください。

-InitializeDatabase

データ影響波及分析用データベースを初期化します。-Deleteオプションよりも高速にデータベースの内容を削除できます。-InitializeDatabaseオプションを指定するときは，ほかのオプションは指定しないでください。

データベースを初期化しても問題ないことを入念に確認してから，-InitializeDatabaseオプションを使用してください。

データ影響波及分析用データベースではなく，組み込みデータベース自体が壊れている場合は，-InitializeDatabaseオプションを実行してもエラーになって初期化できません。この場合は，DBユティリティのeaunsetupコマンドとeasetupコマンドで，組み込みデータベース全体を初期化してください。

-InitializeDataArea データ領域番号

データベース内の指定したデータ領域を初期化します。データ領域全体が不要な場合は-Deleteオプションよりも高速にデータベースを初期化できます。

データ領域番号には，1〜5の半角数字を指定します。

このオプションを指定した場合，「データ領域 n を初期化します。よろしいですか(Y/N)? 」の問い合わせ応答を表示し，Yなら続行，Nならコマンドを終了します。

データベースを初期化しても問題ないことを入念に確認してから，-InitializeDataAreaオプションを使用してください。

データ影響波及分析用データベースではなく，組み込みデータベース自体が壊れている場合は，-InitializeDataAreaオプションを実行してもエラーになって初期化できません。この場合は，DBユティリティのeaunsetupコマンドとeasetupコマンドで，組み込みデータベース全体を初期化してください。

-Delete〔,｛Module｜SubSystem｝〕

データ影響波及分析用データベースのサブシステムおよびモジュールを削除するときに指定します。

Moduleを指定すると，-SubSystemオプションで指定したサブシステムにある-ModuleNameオプションで指定したモジュールが削除されます。

SubSystemを指定すると，-SubSystemオプションで指定したサブシステム全体が削除されます。

Moduleを指定した場合は，-SubSystemオプションと-ModuleNameオプションは省略できません。また，SubSystemを指定した場合は，-SubSystemオプションは省略できません。

ModuleとSubSystemの両方を省略すると，Moduleが仮定されます。

DEFAULTサブシステムを削除すると，サブシステム自体は削除されないで，属するモジュールだけが削除されます。

サブシステム名やモジュール名の指定誤りで必要なデータベースの情報を削除した場合，データベースの再作成が必要です。-Deleteオプションを使用する場合は，サブシステム名やモジュール名の指定に間違いがないことを確認してから実行してください。

-List〔,｛All｜SubSystem｝〕

データベース内の構成を表示します。Allを指定すると，データベース内のサブシステム，モジュール，およびCOBOLソースファイル名の情報が標準出力に表示されます。SubSystemサブオプションを指定すると，指定したサブシステムの内容だけが表示されます。サブオプションを省略すると，Allが仮定されます。

-? または -Help

コマンドヘルプが表示されます。ほかのオプションはすべて無視されます。cbldraコマンドの引数をすべて省略した場合も，コマンドヘルプが表示されます。

使用例

COBOLソースファイルを特定して，データ影響波及分析用データベースに解析情報を格納

sample.cblの解析情報をDEFAULTサブシステムにモジュールNO_NAMEで格納する場合

cbldra sample.cbl

sample.cblの解析情報をSUBSYSTEM1サブシステムにモジュールNO_NAMEで格納する場合

cbldra sample.cbl -SubSystem SUBSYSTEM1

sample.cblの解析情報をSUBSYSTEM2サブシステムにモジュール名にMODULE3を付けて格納する場合

cbldra sample.cbl -SubSystem SUBSYSTEM2 -ModuleName MODULE3

sample.cblの解析情報をデータ領域3に格納する場合

cbldra sample.cbl -DataArea 3

特定のフォルダ下のソースファイルを一括して解析し，データ影響波及分析用データベースに解析情報を格納

C:¥Sampleフォルダの，拡張子.cblのCOBOLソースファイルをすべて解析し，解析情報をSUBSYSTEM9サブシステムにモジュール名M001を付けて格納する場合

cbldra -SourcePath  C:¥Sample *.cbl -SubSystem SUBSYSTEM9 -ModuleName M001

C:¥Sampleフォルダの，拡張子が.cblのソースファイルを下位フォルダも含めてすべて解析し，解析情報をDEFAULTサブシステムにモジュール名M002を付けて格納する場合

cbldra -SourcePath  C:¥Sample -r *.cbl  -ModuleName M002

データベースの格納内容の削除

データ影響波及分析用データベースを初期化する場合

cbldra -InitializeDatabase

データ影響波及分析用データベースのデータ領域3を初期化する場合

cbldra -InitializeDataArea 3

サブシステムSUBSYSTEM3を削除する場合

cbldra -SubSystem SUBSYSTEM3 -Delete,SubSystem

サブシステムSUBSYSTEM3からモジュール名M002の解析情報を削除する場合

cbldra -SubSystem SUBSYSTEM3 -ModuleName M002 -Delete,Module

データベース内の構成の表示

cbldraコマンドに -List,SubSystemオプションを指定して実行した場合

-List,SubSystem
////////////////////////////////////////////////////////////////////////
//
//  COBOL2002 Professional Tool Kit 03-05    Data Impact Analyzer
//
//    SUBSYSTEM LIST
//
////////////////////////////////////////////////////////////////////////
<Data Area : 1>
 Number of SubSystems : 3

 SubSystem Name                 Parser         Last Update Date    Files
 -----------------------------------------------------------------------
 DEFAULT                                       2014/08/03 10:11:20    0
 SUBSYSTEM1                     COBOL2002(32)  2014/08/26 12:14:33 2045
 SUBSYSTEM2                     COBOL2002(32)  2014/08/30 12:11:24  706

サブシステム情報として，サブシステム名，サブシステムを作成したCOBOL2002コンパイラ名，サブシステムの最終更新日付，およびサブシステムのソースファイル数が表示されます。COBOL2002コンパイラ名は，32bit版の場合はCOBOL2002(32)，64bit版の場合はCOBOL2002(64)が表示されます。DEFAULTサブシステムが使用されていない場合は，COBOL2002コンパイラ名には何も表示されません。

cbldraコマンドに -List,Allオプションを指定して実行した場合

構成の表示に出力される項目の意味を次に示します。

サブシステムヘッダ情報

サブシステムヘッダ情報です。サブシステム名およびサブシステムのモジュール数が表示されます。また，格納されているデータ領域番号が<Data Area :>に表示されます。

モジュールヘッダ情報

モジュールヘッダ情報です。モジュール名と，次の行にモジュールのソースファイル数が表示されます。

ソースファイル情報

ソースファイルの最終更新日付，ソースファイルのサイズ，ユーザ資産項目の情報，およびソースファイル名が表示されます。

ユーザ資産項目の情報は，次の形式で表示されます。

ユーザ資産項目の情報の形式

〔登録済みユーザ資産種別〔;登録済みユーザ資産種別〕〕

登録済みユーザ資産種別には，DBまたはFileが表示されます。

DB：データベースの表名または列名を含めて登録しているソースファイルです。このソースファイルでは，データベースを経由した解析ができます。

File：物理ファイルを含めて登録しているソースファイルです。このソースファイルでは，物理ファイルを経由した解析ができます。

終了コード

終了コード

意味

メッセージとの対応

0

正常終了。

EレベルおよびUレベルのエラーはありません。

1

エラーが発生して終了しました。

Eレベルのエラーが1つ以上あり，Uレベルのエラーはありません。

2

回復不能のエラーが発生して終了しました。

Uレベルのエラーが1つ以上あります。

注意事項

-Deleteオプション，-InitializeDatabaseオプション，-InitializeDataAreaオプション，または-Listオプションのどれも指定しない場合，COBOLソースファイルの指定は必須です。

-DataAreaオプションまたは-InitializeDataAreaオプションに指定できるデータ領域番号は1〜5のどれかです。それ以外の値を指定した場合は，エラーメッセージが出力されてコマンドが終了します。

データベース登録時に，-DataAreaオプションでデータベースに登録済みのサブシステムと異なるデータ領域番号を指定した場合は，エラーメッセージが出力されてコマンドが終了します。

データベース登録時に-DataAreaオプションを省略した場合の動作は次のとおりです。

同時に指定したサブシステム名がデータベース内に存在しないときは，1を仮定する

同時に指定したサブシステム名がデータベース内に存在するときは，サブシステムに登録されているデータ領域番号を仮定する

データベースの構成表示時に-DataAreaオプションを省略した場合は，すべてのデータ領域の情報が表示されます。

大量のソースファイルをcbldraコマンドで解析して1つのサブシステムに格納する場合，サブシステムの更新や削除の操作に時間が掛かります。複数のサブシステムに分割できない場合は，1つのマシンを1つのサブシステム専用に限定して，次の運用をされることを推奨します。

1つのマシンを1つのサブシステム専用に限定する場合

・-Delete,SubSystemオプションの代わりに-InitializeDatabaseオプションで削除する

・全件再解析する場合は-InitializeDatabaseオプションでいったん削除してから解析する

1つのデータ領域に格納する場合

・-Delete,SubSystemオプションの代わりに-InitializeDataAreaオプションで削除する

・全件再解析する場合は-InitializeDataAreaオプションでいったん削除してから解析する

-InitializeDatabaseオプションまたは-InitializeDataAreaオプションは-Delete,SubSystemオプションと比べて非常に高速です。-Delete,SubSystemオプションで数十分掛かるケースでも-InitializeDatabaseオプションまたは-InitializeDataAreaオプションでは数秒です。

すでにデータベース内に解析情報があるソースファイルを再解析する場合，データベースの情報を削除してから再解析します。そのため，新規にデータベースに追加する場合と比べて約1.5倍の時間が掛かります。-InitializeDatabaseオプションまたは-InitializeDataAreaオプションで初期化してから解析することで削除に掛かる時間を短縮できます。

11.2　バッチモードで影響範囲の解析結果または調査対象関連一覧の出力を実行するコマンド

バッチモードで影響範囲の解析と解析結果の出力，または調査対象関連一覧の出力をするcbldiaコマンドの説明です。

cbldiaコマンドには，次の機能があります。

影響範囲を解析した結果をCSVファイルおよびタグファイルに出力する

調査対象に指定したデータ項目の調査対象関連一覧をCSVファイルに出力する

コマンドのオプションに共通の規則を次に示します。

オプション名は，英大文字と英小文字を区別しません。

オプションの先頭文字はハイフン（-）です。

オプションの区切り文字（コンマ（,），セミコロン（;））の前後には，空白文字は指定できません。

オプションの指定に構文誤りがある場合は，エラーメッセージを出力して，処理を中止します。

オプションの引数またはサブオプションに無効な値を指定した場合は，エラーメッセージを出力して，処理を中止します。

繰り返し指定が許されないオプションが繰り返し指定された場合は，後ろに指定した方が有効です。

オプションの引数に空白文字が含まれる場合は，引用符（"）で囲んでください。

オプションの引数には，ハイフン（-）で始まる文字列は指定できません。

コマンドの注意を次に示します。

オプションの引数に区切り文字と同じ文字を含む場合は，動作は保証されません。

書き込みファイルを指定する場合は，ファイルパスとして有効な文字列を指定してください。

ほかのツールが組み込みデータベースにアクセスしている場合，およびほかのユーザが組み込みデータベースにアクセスしている場合，エラーメッセージが出力されてコマンドが終了します。

cbldiaコマンドを実行すると，調査対象データ項目ごとにCSVファイルが分割して出力されるため，調査対象データ項目が多くのCOBOLソースファイルで使われている場合は，CSVファイルの数が増加します。

調査対象のCOBOLソースファイルの数が多い場合，調査対象データ名にワイルドカードを使用することは推奨しません。また，CSVファイルが増える場合は，cbldiaコマンドの実行ごとに-OutDirオプションを指定し，CSVファイルの出力先をコマンド実行ごとに変えることを推奨します。

［Ctrl］+［C］キーでコマンドを強制終了した場合は，解析処理が途中でキャンセルされます。

影響波及する対象がない場合，解析結果はファイルに出力されません。

出力ファイルと同じ名前のファイルが存在する場合は上書き保存されます。

cbldiaコマンドの実行時には進捗メッセージが出力されます。

（例1）影響範囲の解析結果を出力する場合

KEDL3002E-I 調査対象データ項目の設定を開始します。
KEDL3003E-I 調査対象データ項目を 3 個設定しました。(処理時間：0分 0.206秒)
KEDL3006E-I 解析範囲を設定しました。(全プログラム：123456 個)
KEDL3010E-I 解析開始 2018/11/28 15:21:05, 進捗：1/3，対象：A [MAIN2]
KEDL3011E-I 解析完了 2018/11/28 15:31:37，影響：    123456[   1234567]
KEDL3010E-I 解析開始 2018/11/28 15:31:38, 進捗：2/3，対象：B [MAIN2]
KEDL3011E-I 解析完了 2018/11/28 15:33:27，影響：      1234[       123]
KEDL3010E-I 解析開始 2018/11/28 15:33:28, 進捗：3/3，対象：C [MAIN2]
KEDL3011E-I 解析完了 2018/11/28 15:35:17, 影響：     34567[     12345]
KEDL3005E-I 全解析終了(処理時間：14分 12.012秒)

（例2）調査対象関連一覧を出力する場合

KEDL3002E-I 調査対象データ項目の設定を開始します。
KEDL3003E-I 調査対象データ項目を 34 個設定しました。(処理時間：0分 0.200秒)
KEDL3012E-I 調査対象関連一覧ファイルの出力が完了しました。（処理時間：0分 0.306秒）

メッセージの表示については，「cbldiaコマンド − 解析状況を表示する」を参照してください。

cbldiaコマンド − 影響範囲を解析した結果をCSVファイルおよびタグファイルに出力する

cbldiaコマンドは，影響範囲を解析して，解析結果をCSVファイルおよびタグファイルに出力するときに使います。なお，影響波及する対象がない場合，解析結果はファイルに出力されません。

形式

影響範囲の解析を実行して，その解析結果をCSVファイルおよびタグファイルに出力する場合

制御フローを考慮した解析を使用しないとき

cbldia    {-Data データ名〔;〔プログラム名〕〔;ファイル名〕〕｜
         -DBData ユーザ資産項目名｜-FileData ユーザ資産項目名}...
         〔-Copy〕
         〔-Direction〔{,Backward｜,Forward}+〕〕
         〔-SubSystem サブシステム名〔;サブシステム名〕...〕
         〔-Filter プログラム情報フィルタリングファイル名〕
         〔-DBData〕
         〔-FileData〕
         〔-ProgramImpactLevel 波及レベル〕
         〔-OutDir フォルダ名〕
         〔-OutFilePrefix プレフィックス文字列〕
         〔-Force〕
         〔-OutputLog ログファイル名〕
         〔-NoHeaderInfo〕
         〔{-OutputFile{,Code｜,Data｜,DataTree｜,Program｜,Relation｜,CodeTag}+｜-OutputTraceFile}〕
         〔-NoOutputAliasData〕

制御フローを考慮した解析を使用するとき

cbldia    -ControlFlow
          -Data データ名〔;〔プログラム名〕〔;ファイル名〕〕
          -Line 行番号
         〔-Column カラム番号〕
         〔-Copy〕
         〔-Direction〔{,Backward｜,Forward}+〕〕
         〔-SubSystem サブシステム名〔;サブシステム名〕...〕
         〔-Filter プログラム情報フィルタリングファイル名〕
         〔-OutDir フォルダ名〕
         〔-OutFilePrefix プレフィックス文字列〕
         〔-Force〕
         〔-OutputLog ログファイル名〕
         〔-NoHeaderInfo〕
         〔{-OutputFile{,Code｜,Data｜,DataTree｜,Program｜,Relation｜,CodeTag}+｜-OutputTraceFile}〕
         〔-NoOutputAliasData〕

コマンドヘルプを表示する場合

cbldia   または
cbldia -?  または
cbldia -Help

オプション

-ControlFlow

制御フローを考慮した解析機能を使用する場合に指定します。

このオプションは，必ず-Lineオプションと同時に指定してください。

このオプションは，-ProgramImpactLevelオプションと同時に指定できません。

次のどちらかに該当する場合は，エラーメッセージを出力して，処理を中止します。

環境変数CBLDIA_CREATE_CONTROLFLOWに「FALSE」を指定して作成されたデータベースの場合

-Dataオプションでデータ名を指定して，異なるプログラム間，ファイル間で複数のデータ項目が該当する場合

なお，このオプションを指定しない場合は，制御フローを考慮した解析を使用しないで影響範囲を解析します。

{-Data データ名〔;〔プログラム名〕 〔;ファイル名〕〕}...

調査対象にするデータ項目を次の順に指定します。

データ名

影響波及調査ウィンドウの［調査対象選択］ダイアログで指定できるデータ項目名を指定します。指定したデータ名が複数存在する場合は，それらすべてを調査対象に指定したものと仮定されます。

登録集原文に記述されたデータ名を指定した場合，その登録集原文のデータ名を基にソースプログラムに展開したデータ項目すべてが調査対象に設定されます。なお，登録集原文に記述されたデータ名を指定する場合は，登録集原文ファイルのデータ記述項で宣言されているデータ名を指定してください。また，-Copyオプションもあわせて指定してください。

プログラム名

影響波及調査ウィンドウの［調査対象選択］ダイアログで指定できるプログラム名を指定します。プログラム名を省略した場合，すべてのプログラムが対象となります。

ファイル名

影響波及調査ウィンドウの［調査対象選択］ダイアログで指定できるファイル名を指定します。ファイル名を省略した場合，すべてのファイルが対象となります。

各項目の入力規則については，「10.4　［調査対象選択］ダイアログ」を参照してください。

-Dataオプションを複数指定して，複数の調査対象を同時に指定することもできます。ただし，-ControlFlowオプション指定時は，複数の調査対象を同時に指定して解析できないため，このオプションを複数指定した場合はエラーメッセージを出力して，処理を中止します。

検索結果の上限は2,147,483,647個です。上限を超える場合，エラーメッセージを出力して処理を中止します。

-Line 行番号

COBOLプログラム内で調査対象とする実行文の行番号を，1〜999999の整数の範囲で指定します。

このオプションは，-ControlFlowオプションの指定がある場合にだけ有効となります。-ControlFlowオプションの指定がない場合，このオプションの指定は無効になります。

なお，このオプションの引数に指定した行番号に，-Dataオプションの引数で指定したデータ名が存在しない場合は，エラーメッセージを出力して，処理を中止します。

-Column カラム番号

COBOLプログラム内にある調査対象のカラム番号を，1〜255の整数の範囲で指定します。

このオプションは，同一行番号に複数の同一のデータ項目がある場合にだけ，必ず指定してください。この場合，指定した行番号とカラム番号を基に，調査対象のデータ項目を判別します。

このオプションは，-ControlFlowオプションの指定がある場合にだけ有効となります。-ControlFlowオプションの指定がない場合，このオプションの指定は無効になります。

なお，このオプションの引数に指定したカラム番号に，-Dataオプションの引数で指定したデータ名が存在しない場合は，エラーメッセージを出力して，処理を中止します。

-Copy

検索の種別として，登録集原文で記述されているデータ項目を検索する場合に指定します。省略した場合は，ソースプログラム内で使用されているデータ項目を検索します。

このオプションは，影響波及調査ウィンドウの［調査対象選択］ダイアログの［検索の種別］で指定できる検索条件と同じ役割です。詳細は，「10.4　［調査対象選択］ダイアログ」を参照してください。

-Direction〔｛,Backward｜,Forward｝+〕

解析方向を指定します。両方向を同時に指定できます。省略した場合は，両方向を同時に指定したものと仮定されます。

-Direction,Backwardを指定すると，影響波及元方向に解析します。

-Direction,Forwardを指定すると，影響波及先方向に解析します。

-SubSystem サブシステム名〔;サブシステム名〕...

解析対象にするサブシステム名を指定します。省略した場合はすべてのサブシステムが解析対象となります。

-Filter プログラム情報フィルタリングファイル名

プログラム情報フィルタリングファイルを絶対パスまたはカレントフォルダからの相対パスで指定します。

-DBData ユーザ資産項目名｜-DBData

データベースを経由した解析を使用する場合に指定します。

データベースを経由した解析の調査対象には，ユーザ資産項目またはデータ項目が指定できます。ユーザ資産項目を調査対象にする場合は，このオプションの引数に調査対象のユーザ資産項目名を指定します。データ項目を調査対象にする場合は，このオプションを指定し，-Dataオプションの引数に調査対象とするデータ項目を指定します（この場合，-DBDataオプションの引数にユーザ資産項目名の指定があるかどうかは関係ありません）。

引数にユーザ資産項目名を指定しているオプションと，指定していないオプションが混在した場合，引数を指定していないオプションの指定は無視されます。

このオプションを指定した場合，環境変数CBLDIA_TARGET_PROGRAM_AREAに「ALL」が仮定されます。

また，このオプションを指定した場合，次のオプションの指定は無効です。

-ControlFlow，-Line，-Column，-OutputTargetList

ユーザ資産項目名

調査対象にするデータベースの表名または列名を指定します。

規則：

ユーザ資産項目名の大文字と小文字は区別しません。ただし，全角英大文字と全角英小文字は区別します。

ユーザ資産項目名の全角文字と半角文字を区別します。-EquivRuleコンパイラオプションを指定して解析されたCOBOLソースファイル中の全角英数字文字，全角のハイフンまたは全角のアンダスコアを含む名前は，全角と半角が一致していないと検索にヒットしません。

ワイルドカード（「*」，「?」）が指定できます。

注意事項

データベースを経由した解析が不可能なデータ影響波及分析用データベースに対して，-DBDataオプションを指定した場合の動作を次に示します。なお，データベースを経由した解析が不可能なデータ影響波及分析用データベースとは，環境変数CBLDIA_MATERIAL_DBに「TRUE」を指定しないで作成したデータベースのことです。

-DBDataオプションの引数にユーザ資産項目名を指定し，-Dataオプションに調査対象とするデータ項目を指定しない場合，調査対象データ項目は0件となります。

引数の有無に関係なく-DBDataオプションを指定し，-Dataオプションに調査対象とするデータ項目を指定した場合，データベースを経由した解析は実行されません。

-FileData ユーザ資産項目名｜-FileData

物理ファイルを経由した解析を使用する場合に指定します。

物理ファイルを経由した解析の調査対象には，ユーザ資産項目またはデータ項目が指定できます。ユーザ資産項目を調査対象にする場合は，このオプションの引数にユーザ資産項目名を指定します。データ項目を調査対象にする場合は，このオプションを指定し，-Dataオプションの引数に調査対象とするデータ項目を指定します（この場合，-FileDataオプションの引数にユーザ資産項目名の指定があるかどうかは関係ありません）。

引数にユーザ資産項目名を指定しているオプションと，指定していないオプションが混在した場合，引数を指定していないオプションの指定は無視されます。

このオプションを指定した場合，環境変数CBLDIA_TARGET_PROGRAM_AREAに「ALL」が仮定されます。

また，このオプションを指定した場合，次のオプションの指定は無効です。

-ControlFlow，-Line，-Column，-OutputTargetList

ユーザ資産項目名

調査対象にする物理ファイルを指定します。物理ファイルに空白を含む場合は，引用符（"）で囲んでください。

規則：

ユーザ資産項目名の大文字と小文字は区別しません。ただし，全角英大文字と全角英小文字は区別します。

ユーザ資産項目名の全角文字と半角文字を区別します。

ワイルドカード（「*」，「?」）が指定できます。

注意事項

物理ファイルを経由した解析が不可能なデータ影響波及分析用データベースに対して，-FileDataオプションを指定した場合の動作を次に示します。なお，物理ファイルを経由した解析が不可能なデータ影響波及分析用データベースとは，環境変数CBLDIA_MATERIAL_PHYSICAL_FILEに物理ファイル名対応付けファイルを指定しないで作成したデータベースのことです。

-FileDataオプションの引数にユーザ資産項目名を指定し，-Dataオプションに調査対象とするデータ項目を指定しない場合，調査対象データ項目は0件となります。

引数の有無に関係なく-FileDataオプションを指定し，-Dataオプションに調査対象とするデータ項目を指定した場合，物理ファイルを経由した解析は実行されません。

-ProgramImpactLevel 波及レベル

解析対象にする影響プログラムの範囲を波及レベル（調査対象プログラムから経由するプログラム呼び出しの数）で指定します。波及レベルとして0〜150の整数を半角数字で指定します。波及レベルを省略した場合や，0〜150以外を指定した場合は，エラーメッセージを出力して，処理を中止します。

-OutDir フォルダ名

解析結果のファイルの出力先フォルダを絶対パスまたはカレントフォルダからの相対パスで指定します。省略した場合はカレントフォルダが仮定されます。

指定したフォルダが存在しない場合は，新規作成されます。出力ファイルと同名のファイルが存在する場合は，上書き保存されます。

指定したパスでフォルダの作成に失敗した場合は，エラーメッセージを出力して，処理を中止します。

-OutFilePrefix プレフィックス文字列

出力ファイル名のプレフィックス文字列を指定します。プレフィックス文字列の31文字を超える文字は切り捨てられます。

次の文字を使用した場合，エラーメッセージを出力して処理を中止します。

「¥」 「/」 「:」 「*」 「?」 「"」 「<」 「>」 「|」 「@」

-Force

影響範囲の解析の開始前に行われるデータベースの情報とファイルの同期チェックで，同期が取れていないと判断されたときに発生するエラーを抑止する場合に指定します。データベースの情報とファイルの同期チェックについては，「1.5　データ影響波及分析を使用するときの注意」を参照してください。

-OutputLog ログファイル名

標準エラー出力に表示される進捗メッセージをログファイルに出力したい場合，出力先のログファイルを絶対パスまたはカレントフォルダからの相対パスで指定します。

指定したログファイルが存在する場合は，ファイルの内容は上書きされます。ログファイルが存在しない場合は，新規作成されます。

なお，ログファイル名に標準エラー出力のリダイレクト先ファイル名と同じファイル名は指定しないでください。次のどれかに該当する場合は，エラーメッセージを出力して，処理を中止します。

ログファイル名に指定したドライブが存在しない

コンソール出力のリダイレクト先ファイル名と同じファイル名を指定した

指定されたログファイルに書き込みできない

-NoHeaderInfo

解析結果のCSVファイルのヘッダ情報（バージョン情報，解析結果の種別および調査対象データ項目一覧）の出力を抑止する場合に指定します。

-OutputFile｛,Code｜,Data｜,DataTree｜,Program｜,Relation｜,CodeTag｝+

解析完了時に出力するファイルを指定します。

このオプションと，-OutputTraceFileオプションの両方を省略した場合は，すべての解析結果ファイルのうち，影響波及トレース図のCSVファイルを除いたファイルを出力します。なお，このオプションは，-OutputTraceFileオプションと同時に指定した場合は無効になります。

-OutputFile,Codeを指定すると，影響波及コード一覧のCSVファイルを出力します。

-OutputFile,Dataを指定すると，影響波及データ項目一覧のCSVファイルを出力します。

-OutputFile,DataTreeを指定すると，影響波及関連図のCSVファイルを出力します。

-OutputFile,Programを指定すると，影響プログラム一覧のCSVファイルを出力します。

-OutputFile,Relationを指定すると，影響波及関連一覧のCSVファイルを出力します。

-OutputFile,CodeTagを指定すると，影響波及コード一覧のタグファイルを出力します。

サブオプションを複数指定して，複数のファイルを出力することもできます。ただし，同じサブオプションを複数指定した場合は，最初に指定したサブオプションだけが有効です。

サブオプションをすべて省略した場合，または不正なサブオプションを1つでも指定した場合は，エラーメッセージを出力して，処理を中止します。

-OutputTraceFile

解析完了時に，影響波及トレース図のCSVファイルを出力する場合に指定します。

このオプションを指定すると，次のファイルも同時に出力します。

影響波及コード一覧のCSVファイル

影響波及データ項目一覧のCSVファイル

影響プログラム一覧のCSVファイル

影響波及関連一覧のCSVファイル

影響波及コード一覧のタグファイル

このオプションと，-OutputFileオプションの両方を省略した場合は，すべての解析結果ファイルのうち，影響波及トレース図のCSVファイルを除いたファイルを出力します。

このオプションと，-OutputFileオプションを同時に指定した場合は，-OutputFileオプションが無効となります。

注意事項

このオプションを指定した場合，影響波及関連図のCSVファイルは出力しません。

影響波及トレース図のCSVファイルには，影響波及関連図の情報に加えて，データ項目間にどのような影響2項関係があるかをトレースする情報を出力するため，解析に時間が掛かったり，CSVファイルのサイズが増加したりすることがあります。この場合，解析対象のデータ項目を指定するなど，解析範囲を絞って，CSVファイルを出力することをお勧めします。

-NoOutputAliasData

影響波及データとして影響波及関連図に表示されるデータ項目だけを，影響波及データ項目一覧に出力する場合に指定します。このオプションを省略した場合，影響波及関連図に表示されるデータ項目と，その別名（未使用の影響波及データ項目）を影響波及データ項目一覧に出力します。

なお，このオプションを指定した場合に，-OutputFileオプションを指定するときは，Dataサブオプション（-OutputFile,Data）を指定してください。

-? または -Help

コマンドヘルプが表示されます。ほかのオプションはすべて無視されます。cbldiaコマンドの引数をすべて省略した場合も，コマンドヘルプが表示されます。

出力ファイル

出力ファイル

ファイル名

影響波及関連一覧のCSVファイル

(プレフィックス文字列)_DIA_Relation.csv

影響波及関連図のCSVファイル

(プレフィックス文字列)_DIA_DataTree.csv

影響プログラム一覧のCSVファイル

(プレフィックス文字列)_DIA_Program.csv

影響波及データ項目一覧のCSVファイル

(プレフィックス文字列)_DIA_Data.csv

影響波及コード一覧のCSVファイル

(プレフィックス文字列)_DIA_Code.csv

影響波及トレース図のCSVファイル

(プレフィックス文字列)_DIA_Trace.csv※

影響波及コード一覧のタグファイル

(プレフィックス文字列)_DIA_Code.tag

注※

影響波及トレース図のCSVファイルは，cbldiaコマンドに-OutputTraceFileオプションを指定した場合にだけ出力されます。

出力ファイルは「プログラム名」と「データ項目名」が異なるごとに別ファイルとなります。例えば，プログラム名が1個，調査対象データ項目名が4個ある場合，表の6ファイルを4個のデータ項目ごとに出力するため，合計24個のファイルとなります。

出力ファイルの命名規則

(プレフィックス文字列)：(OutfilePrefix)_(調査対象)

(OutfilePrefix)：-OutFilePrefixオプションの規則に従った文字列

-OutFilePrefixオプションの指定がない場合，(プレフィックス文字列)は(調査対象)だけとなります。

(調査対象)：項目ごとの命名規則を次に示します。

調査対象がデータ項目の場合

通し番号_データ項目名[データ項目のプログラム名]

通し番号は，1回の解析で一意になるように割り当てられます。

通し番号は，5けたの数字で「プログラム名」「データ項目名」の順番でソートした結果に対して割り当てられます（ソート時のデータ項目名はフルネーム（OF 修飾あり）が使用されます）。通し番号が99999を超えた場合，けた数が1つ増えます。

データ項目名は，フルネーム（修飾付きの名前）ではなく，短い名前が使用されます。

-Dataオプションに指定したデータ項目が，ファイル名に指定できない文字列の場合は「_」（アンダスコア）に置き換えられます。

調査対象がユーザ資産項目の場合

通し番号_ユーザ資産項目名

通し番号は，1回の解析で一意になるように割り当てられます。

通し番号は，5けたの数字で「ユーザ資産項目名」の順番でソートした結果に対して割り当てられます。通し番号が99999を超えた場合，けた数が1つ増えます。

ユーザ資産項目名は，次の名前が使用されます。ただし，出力ファイルのファイル名を含む絶対パスが259文字を超える場合，259文字を超えるユーザ資産項目名の文字は切り捨てられます。

表名の場合：表名

列名の場合：表名.列名

物理ファイル名の場合：パスを含まない物理ファイル名（ファイル名に指定できない文字列の場合は「_」（アンダスコア）に置き換えられます）

-DBDataオプションまたは-FileDataオプションに指定したユーザ資産項目名が，ファイル名に指定できない文字列の場合は「_」（アンダスコア）に置き換えられます。

使用例

sample.cblのプログラムP1に属するデータ名Qを調査対象にして，影響範囲の解析（影響波及元方向の解析および影響波及先方向の解析）を実行し，その解析結果をD:¥Resultフォルダに出力する場合

cbldia -Data Q;P1;sample.cbl -Direction,Backward,Forward -OutDir D:¥Result

終了コード

終了コード

意味

メッセージとの対応

0

正常終了。

EレベルおよびUレベルのエラーはありません。

1

エラーが発生して終了しました。

Eレベルのエラーが1つ以上あり，Uレベルのエラーはありません。

2

回復不能のエラーが発生して終了しました。

Uレベルのエラーが1つ以上あります。

cbldiaコマンド − 調査対象に指定したデータ項目の調査対象関連一覧をCSVファイルに出力する

cbldiaコマンドは，調査対象に指定したデータ項目の調査対象関連一覧をCSVファイルに出力するときに使います。1回のcbldiaコマンドの実行結果は，調査対象に指定したデータ項目の個数に関係なく，調査対象一覧ファイル，調査対象別名一覧ファイル，調査対象使用個所一覧ファイルにまとめて出力します。

形式

指定した調査対象データ項目の調査対象関連一覧をCSVファイルに出力する場合

cbldia   -OutputTargetList〔{,Alias｜,Reference}+〕
         {-Data データ名〔;〔プログラム名〕〔;ファイル名〕〕}...
         〔-Copy〕
         〔-SubSystem サブシステム名〔;サブシステム名〕...〕
         〔-Filter プログラム情報フィルタリングファイル名〕
         〔-OutDir フォルダ名〕
         〔-OutFilePrefix プレフィックス文字列〕
         〔-Force〕
         〔-OutputLog ログファイル名〕
         〔-NoHeaderInfo〕

コマンドヘルプを表示する場合

cbldia   または
cbldia -?  または
cbldia -Help

オプション

-OutputTargetList〔｛,Alias｜,Reference｝+〕

調査対象一覧ファイルを出力する場合に指定します。このオプションを指定した場合，解析は実行しません。サブオプションを指定すると，調査対象一覧に加えて各サブオプションと対応する調査対象関連一覧ファイルを出力します。調査対象関連一覧ファイルについては，「付録A.5　調査対象関連一覧ファイル」を参照してください。

-OutputTargetList,Aliasを指定すると，調査対象別名一覧ファイルを出力します。

-OutputTargetList,Referenceを指定すると，調査対象使用個所一覧ファイルを出力します。

このオプションは，必ず-Dataオプションと同時に指定してください。

また，このオプションを指定した場合，次のオプションの指定は無効です。

-ControlFlow，-Line ，-Column，-Direction，-ProgramImpactLevel，-OutputFile，-OutputTraceFile，-NoOutputAliasData

{-Data データ名〔;〔プログラム名〕 〔;ファイル名〕〕}...

調査対象にするデータ項目を次の順に指定します。

データ名

影響波及調査ウィンドウの［調査対象選択］ダイアログで指定できるデータ項目名を指定します。指定したデータ名が複数存在する場合は，それらすべてを調査対象に指定したものと仮定されます。

登録集原文に記述されたデータ名を指定した場合，その登録集原文のデータ名を基にソースプログラムに展開したデータ項目すべてが調査対象に設定されます。なお，登録集原文に記述されたデータ名を指定する場合は，登録集原文ファイルのデータ記述項で宣言されているデータ名を指定してください。また，-Copyオプションもあわせて指定してください。

プログラム名

影響波及調査ウィンドウの［調査対象選択］ダイアログで指定できるプログラム名を指定します。プログラム名を省略した場合，すべてのプログラムが対象となります。

ファイル名

影響波及調査ウィンドウの［調査対象選択］ダイアログで指定できるファイル名を指定します。ファイル名を省略した場合，すべてのファイルが対象となります。

各項目の入力規則については，「10.4　［調査対象選択］ダイアログ」を参照してください。

-Dataオプションを複数指定して，複数の調査対象を同時に指定することもできます。

検索結果の上限は2,147,483,647個です。上限を超える場合，エラーメッセージを出力して処理を中止します。

-Copy

検索の種別として，登録集原文で記述されているデータ項目を検索する場合に指定します。省略した場合は，ソースプログラム内で使用されているデータ項目を検索します。

このオプションは，影響波及調査ウィンドウの［調査対象選択］ダイアログの［検索の種別］で指定できる検索条件と同じ役割です。詳細は，「10.4　［調査対象選択］ダイアログ」を参照してください。

-SubSystem サブシステム名〔;サブシステム名〕...

解析対象にするサブシステム名を指定します。省略した場合はすべてのサブシステムが解析対象となります。

-Filter プログラム情報フィルタリングファイル名

プログラム情報フィルタリングファイルを絶対パスまたはカレントフォルダからの相対パスで指定します。

-OutDir フォルダ名

調査対象関連一覧ファイルの出力先フォルダを絶対パスまたはカレントフォルダからの相対パスで指定します。省略した場合はカレントフォルダが仮定されます。

指定したフォルダが存在しない場合は，新規作成されます。出力ファイルと同名のファイルが存在する場合は，上書き保存されます。

指定したパスでフォルダ作成が失敗した場合は，エラーメッセージを出力して，処理を中止します。

-OutFilePrefix プレフィックス文字列

出力ファイル名のプレフィックス文字列を指定します。プレフィックス文字列の31文字を超える文字は切り捨てられます。

次の文字を使用した場合，エラーメッセージを出力して処理を中止します。

「¥」 「/」 「:」 「*」 「?」 「"」 「<」 「>」 「|」 「@」

-Force

影響範囲の解析の開始前に行われるデータベースの情報とファイルの同期チェックで，同期が取れていないと判断されたときに発生するエラーを抑止する場合に指定します。データベースの情報とファイルの同期チェックについては，「1.5　データ影響波及分析を使用するときの注意」を参照してください。

-OutputLog ログファイル名

標準エラー出力に表示される進捗メッセージをログファイルに出力したい場合，出力先のログファイルを絶対パスまたはカレントフォルダからの相対パスで指定します。

指定したログファイルが存在する場合は，ファイルの内容は上書きされます。ログファイルが存在しない場合は，新規作成されます。

なお，ログファイル名に標準エラー出力のリダイレクト先ファイル名と同じファイル名は指定しないでください。次のどれかに該当する場合は，エラーメッセージを出力して，処理を中止します。

ログファイル名に指定したドライブが存在しない

コンソール出力のリダイレクト先ファイル名と同じファイル名を指定した

指定されたログファイルに書き込みできない

-NoHeaderInfo

調査対象関連一覧ファイルのヘッダ情報（バージョン情報）の出力を抑止する場合に指定します。

-? または -Help

コマンドヘルプが表示されます。ほかのオプションはすべて無視されます。cbldiaコマンドの引数をすべて省略した場合も，コマンドヘルプが表示されます。

出力ファイル

出力ファイル

ファイル名

調査対象一覧のCSVファイル

(プレフィックス文字列)_DIA_TargetList.csv

調査対象別名一覧のCSVファイル

(プレフィックス文字列)_DIA_TargetAliasList.csv

調査対象使用個所一覧のCSVファイル

(プレフィックス文字列)_DIA_TargetReferenceList.csv

出力ファイルの命名規則

(プレフィックス文字列)：-OutFilePrefixオプションの規則に従った文字列

-OutFilePrefixオプションの指定がない場合，-Dataオプションで指定した調査対象データ項目の名前（OF 修飾なし）が使用されます。

-Dataオプションに指定したデータ項目が，ファイル名に指定できない文字列の場合は「_」（アンダスコア）に置き換えられます。

使用例

調査対象に選択できるデータ項目のうち，「Q」で始まるデータ項目をすべて抽出して，そのデータ項目の一覧をD:¥Resultフォルダに出力する場合

cbldia -Data Q* -OutputTargetList -OutDir D:¥Result

終了コード

終了コード

意味

メッセージとの対応

0

正常終了。

EレベルおよびUレベルのエラーはありません。

1

エラーが発生して終了しました。

Eレベルのエラーが1つ以上あり，Uレベルのエラーはありません。

2

回復不能のエラーが発生して終了しました。

Uレベルのエラーが1つ以上あります。

cbldiaコマンド − 解析状況を表示する

調査対象のデータ項目ごとに，解析状況を標準エラー出力します。

出力内容

解析範囲の表示

形式

KEDL3006E-I 解析範囲を設定しました。(全プログラム：*** 1 *** 個)

（凡例）

*** 1 ***：解析対象のプログラムの総数です。-Filter，-SubSystemオプションが指定された場合，それらを加味した数が表示されます。

解析対象となるプログラムの総数を表示します。

「KEDL3002E-I 調査対象データ項目の設定を開始します。」の直後に1度だけ出力されます。

解析開始の表示

形式

KEDL3010E-I 解析開始 *** 1 ***，進捗：*** 2 ***，対象：*** 3 *** [*** 4 ***]

（凡例）

*** 1 ***：解析が開始された日付と時刻です。「yyyy/MM/dd HH:mm:ss」の形式で表示されます。

*** 2 ***：調査対象に選択したデータ項目数の進捗です。

*** 3 ***：調査対象のデータ項目名です。

*** 4 ***：調査対象のデータ項目が属するプログラム名です。

調査対象データ項目ごとの解析情報を表示します。

解析開始は，各調査対象データ項目の解析を開始した時点で1度だけ出力されます。また，KEDL3011E-Iメッセージを出力するための経過時間を0にします。

解析状況の表示

形式

KEDL3011E-I *** 1 *** *** 2 ***，影響：*** 3 ***個[*** 4 ***個]

（凡例）

*** 1 ***：解析の状態です。「解析中」「出力中」「解析完了」のどれかが表示されます。

「解析中」：調査対象のデータ項目の解析を実行しています。

「出力中」：CSVファイルおよびタグファイルを出力しています。

「解析完了」：解析および出力が完了しました。

*** 2 ***：このメッセージが出力された時点の日付と時刻です。「yyyy/MM/dd HH:mm:ss」の形式で表示されます。

*** 3 ***：調査対象のデータ項目の波及先／波及元プログラム数です。

*** 4 ***：調査対象の波及先／波及元データ数です。

環境変数CBLDIA_PROGRESS_LOG_INTERVALで指定された秒数の間隔で，解析状況（解析の状態，解析結果の項目数など）を表示します。解析状況は，出力先によって，出力タイミングや間隔などが異なります。

出力先

上書きまたは追加書き

出力タイミング／間隔

標準出力

解析の状態が「解析完了」となるまで同じ行を更新する

各データ項目の解析処理の経過時間ごと

出力間隔は，解析処理を開始したあと20秒ごと。環境変数CBLDIA_PROGRESS_LOG_INTERVALで変更できる。

ファイルにリダイレクト

追加書き（同じ行に上書きはされない）

-OutputLogオプションで指定されたファイル

解析の状態が「解析完了」となった時点で出力する

「解析中」「出力中」のときは出力しない

注意事項

出力先が標準出力の場合，コンソールのバッファ幅を上書きするメッセージよりも小さくしたときは，追加書きとなります（同じ行に上書きはされません）。

環境変数CBLDIA_PROGRESS_LOG_INTERVALに「0」を指定した場合，「解析中」および「出力中」のメッセージは表示されません。「解析完了」のメッセージだけが表示されます。

解析処理および出力処理が，環境変数CBLDIA_PROGRESS_LOG_INTERVALで指定した秒数よりも早く完了した場合，「解析中」および「出力中」のメッセージは表示されません。「解析完了」のメッセージだけが表示されます。

出力例

KEDL3002E-I 調査対象データ項目の設定を開始します。
KEDL3003E-I 調査対象データ項目を 4 個設定しました。(処理時間：0分 0.223秒)
KEDL3006E-I 解析範囲を設定しました。(全プログラム：3 個)
KEDL3010E-I 解析開始 2019/01/17 11:04:31，進捗：1/4，対象：A-SCORE [MAIN]
KEDL3011E-I 解析完了 2019/01/17 11:04:31，影響：         3個[        14個]
KEDL3010E-I 解析開始 2019/01/17 11:04:31，進捗：2/4，対象：A-SCORE-TABLE [MAIN]
KEDL3011E-I 解析完了 2019/01/17 11:04:31，影響：         3個[        22個]
KEDL3010E-I 解析開始 2019/01/17 11:04:31，進捗：3/4，対象：A-S-ID [MAIN]
KEDL3011E-I 解析完了 2019/01/17 11:04:31，影響：         2個[         4個]
KEDL3010E-I 解析開始 2019/01/17 11:04:31，進捗：4/4，対象：A-STU-ID [MAIN]
KEDL3011E-I 解析完了 2019/01/17 11:04:31，影響：         2個[         8個]
KEDL3005E-I 全解析終了(処理時間：0分 0.646秒)

12　影響波及分析の対象項目のリファレンス

データ影響波及分析で解析対象にするCOBOLプログラムの項目について説明します。

12.1　影響波及分析の対象のCOBOLデータ

データ影響波及分析が対象とするCOBOLのデータ項目の説明です。

12.1.1　データ影響波及分析で対象とするCOBOLの要素

データ影響波及分析では，次に示すCOBOLの要素をプログラムとして扱います。

最外側のプログラム

内部プログラム

利用者定義関数

COBOLソースファイルがクラス定義またはインタフェース定義を含むときは，データ影響波及分析の処理ではそれらのソース要素は無視されます。エラーメッセージも表示されません。

また，プログラムおよび利用者定義関数に記載されたINVOKE文やオブジェクトプロパティ参照も，影響2項関係の抽出処理では無視されます。ただし，影響波及元コードや影響波及先コードとしては表示されます。

データ影響波及分析の対象になるCOBOLデータから選択または表示できる内容を次に示します。

データ項目の場合

調査対象データ項目として選択できます。ただし，FILLER項目を除きます。

影響波及データ項目（影響波及元データ項目と影響波及先データ項目）一覧に表示できます。

影響波及関連図で影響波及元データ項目や影響波及先データ項目として表示できます。

データ項目以外の場合

影響波及関連図で影響波及データ（影響波及元データと影響波及先データ）として表示できます。

ユーザ資産項目（データベースの表および列，または物理ファイル）のときは，調査対象データ項目として選択できます。

12.1.2　影響波及分析の対象とするデータ項目

データ影響波及分析が対象とするデータ項目の説明です。

データ影響波及分析では，次に示す条件名，定数名，指標名，アドレス名および特殊レジスタもデータ項目として扱います。

ファイル節のレコード記述項で定義されたデータ項目，条件名，定数名，指標名

作業場所節のデータ記述項で定義されたデータ項目，条件名，定数名，指標名，アドレス名

局所場所節のデータ記述項で定義されたデータ項目，条件名，定数名，指標名，アドレス名

連絡節のデータ記述項で定義されたデータ項目，条件名，定数名，指標名

次の特殊レジスタ

LINAGE-COUNTER

RETURN-CODE

SORT-FILE-SIZE

SORT-CORE-SIZE

SORT-MODE-SIZE

SORT-RETURN

SORT-MESSAGE

TALLY

LABEL-RETURN

データ影響波及分析の対象でないデータ項目を次に示します。

画面節（WINDOW SECTION）で定義されたデータ項目

通信節で暗黙的に定義されたデータ項目

まったく参照されていない01基本項目※，77項目※，定数名，指標名，アドレス名

従属項目まで含めてまったく参照されていない01集団項目

連結式中の定数名

注※

条件変数の場合は，従属するすべての条件名も参照されていない場合だけ対象外になります。

12.1.3　影響波及分析の対象とするCOBOLの要素

データ影響波及分析の対象とするCOBOLのデータの言語要素（データ項目以外）の説明です。

表12‒1　影響波及分析の対象とするCOBOLの要素

COBOLデータ

説明

論理ファイル名

レコードの入力先ファイルまたは出力先ファイル

装置名

データの入力先の入力装置または出力先の出力装置

入力装置：SYSIN，SYSIPT※1，SYSSTD，CONSOLE

出力装置：SYSPCH※2，SYSPUNCH，SYSLST※3，SYSOUT，CONSOLE

システム日付予約語

システム日付

ACCEPT文：DATE，DAY，DAY-OF-WEEK，TIME

MOVE文：WHEN-COMPILED，CURRENT-DATE，TIME-OF-DAY

定数

手続き部に記載された定数，表意定数

定数的な扱いの組み込み関数一意名

次の組み込み関数の結果値

引数なしの組み込み関数

FUNCTION RANDOM組み込み関数

FUNCTION ADDR組み込み関数

FUNCTION LENGTH組み込み関数

ADDRESS OF 一意名

一意名のアドレス

LENGTH OF 一意名

一意名の長さ

ユーザ資産項目

データベースを経由した解析の場合

埋め込みSQL文で使用している表名または列名

物理ファイルを経由した解析の場合

ファイル入出力で実際に使用している物理ファイルのパス

注※1

SYSINと表示されます。

注※2

SYSPUNCHと表示されます。

注※3

SYSOUTと表示されます。

データ影響波及分析の対象でないCOBOLデータの言語要素（データ項目以外）を次に示します。

表12‒2　データ影響波及分析の対象でないCOBOLデータの言語要素（データ項目以外）

節

COBOLデータの言語要素

画面節（SCREEN SECTION）

画面記述項で定義された画面項目

報告書節

報告書記述項で定義された報告書名

報告集団記述項で定義された報告集団

通信節

通信記述項で定義された通信記述名

サブスキーマ節

サブスキーマ記述項で定義されたサブスキーマ名スキーマ名

12.1.4　影響波及関連図の表示形式

影響波及データとして影響波及関連図に表示するCOBOLデータの表示形式の説明です。

表12‒3　影響波及データとして影響波及関連図に表示するCOBOLデータの表示形式

COBOLデータ

表示形式

論理ファイル名

ユーザ資産項目を経由しない解析の場合

装置名指定あり

ファイル名（FILE=装置名）

装置名指定なし

ファイル名（FILE）

ユーザ資産項目を経由した解析の場合

装置名指定あり

ファイル名（FILE=装置名） 〔プログラム名〕

装置名指定なし

ファイル名（FILE） 〔プログラム名〕

装置名

<装置名>

システム日付予約語

<システム日付予約語>

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

定数

数字定数はそのまま表示します。

引用符はアポストロフィで統一して出力します。定数の中に書かれた引用符もアポストロフィで出力します。

英数字定数，日本語定数，ブール定数の引用符またはアポストロフィで囲まれた部分が30文字を超えている場合は30文字で打ち切って「...」を付加して表示します。

連結式は，先頭の定数または定数名に「& ...」を付加して表示します。

定数的な扱いの組み込み関数一意名

引数なし

FUNCTION 組み込み関数名

RANDOM

ADDR

一意名に添字および部分参照子なし

FUNCTION ADDR（修飾子付きデータ名）

一意名に添字および部分参照子あり

FUNCTION ADDR（修飾子付きデータ名（...））

LENGTH

一意名に添字および部分参照子なし

FUNCTION LENGTH（修飾子付きデータ名）

一意名に添字および部分参照子あり

FUNCTION LENGTH（修飾子付きデータ名（...））

ADDRESS OF 一意名

一意名に添字および部分参照子なし

ADDRESS OF 修飾子付きデータ名

一意名に添字または部分参照子あり

ADDRESS OF 修飾子付きデータ名（...）

LENGTH OF 一意名

一意名に添字および部分参照子なし

LENGTH OF 修飾子付きデータ名

一意名に添字または部分参照子あり

LENGTH OF 修飾子付きデータ名（...）

データ項目

影響波及元

[プログラム名] データ名

影響波及先

データ名 [プログラム名]

ユーザ資産項目

データベースを経由した解析の場合

列指定なし

表名

列指定あり

表名.列名

物理ファイルを経由した解析の場合

物理ファイルのパス

12.2　データ影響波及分析の対象のプログラム範囲

データ影響波及分析の対象プログラムの範囲の説明です。

12.2.1　データ影響波及分析の対象とする実行単位のプログラム範囲

データ影響波及分析では，調査対象データ項目が定義されているプログラムを使用する実行単位，つまり，ルートプログラムが呼び出すプログラム，およびそのプログラムがさらに呼び出すプログラムの呼び出し関係をすべて収集したプログラムの集まりが影響波及を調査する範囲となります。調査対象データ項目が定義されているプログラムを使用する実行単位が複数ある場合，それらすべての実行単位がデータ影響波及分析の対象となります。

調査対象データ項目が定義されているプログラムが1つで，かつ1つの実行単位に属している場合

この図の場合，調査対象データ項目が定義されているプログラムは，ルートプログラム2から始まる呼び出し関係のルートに属しています。このため，ルートプログラム2から始まる実行単位が，データ影響波及分析の対象プログラムの範囲となります。

調査対象データ項目が定義されているプログラムが1つで，かつ複数の実行単位に属している場合

この図の場合，調査対象データ項目が定義されているプログラムは，ルートプログラム2およびルートプログラム3から始まる呼び出し関係のルートに属しています。このため，ルートプログラム2およびルートプログラム3から始まる実行単位が，データ影響波及分析の対象プロクラムの範囲となります。

調査対象データ項目が定義されているプログラムが複数で，かつ属する実行単位が異なる場合

この図の場合，調査対象データ項目が定義されているプログラムは，次の2つです。

ルートプログラム2から始まる呼び出し関係のルートに属しているプログラム

ルートプログラム3から始まる呼び出し関係のルートに属しているプログラム

このため，ルートプログラム2およびルートプログラム3から始まる実行単位が，データ影響波及分析の対象プロクラムの範囲となります。

なお，次のどちらかでプログラム情報フィルタリングファイルを指定して解析を実行する場合は，プログラム情報フィルタリングファイルに記述した内容が，データ影響波及分析の対象プロクラムの範囲となります。

［調査環境の設定］画面

cbldiaコマンドの-Filterオプション

12.2.2　プログラムの波及レベル

解析対象にする影響プログラムの範囲を設定する波及レベルの説明です。

データ影響波及分析の対象とする波及レベルの範囲

データ影響波及分析では，調査対象データ項目が定義された調査対象プログラムを解析の起点として，調査対象データ項目との間に影響関係を持つプログラム（影響プログラム）の影響範囲を解析します。

波及レベルは，調査対象プログラムから影響プログラムまでに経由するプログラム呼び出しの数を表すもので，プログラムの呼び出し関係を示します。調査対象プログラムの波及レベルには0が設定され，影響プログラムの波及レベルにはプログラムの呼び出し関係によって値（1から始まる数値）が設定されます。内部プログラム（入れ子のプログラム）の場合には，最外側のプログラムと同じ波及レベルが設定されます。波及レベルを指定すると，解析対象にする影響プログラムの範囲を絞り込むことができます。

調査対象プログラムを起点として設定される波及レベルを次の図に示します。

図12‒1　調査対象プログラムを起点として設定される波及レベル

この図に示すように，調査対象プログラム（波及レベル0）の呼び出し元プログラムおよび呼び出し先プログラムは，波及レベル1のプログラムとなります。波及レベル1のプログラムの呼び出し元プログラムおよび呼び出し先プログラムは，波及レベル2のプログラムとなります。このように，調査対象プログラムを起点に経由するプログラムが多くなればなるほど，波及レベルは大きくなります。一度波及レベルを決定したプログラムが，別のプログラムから呼び出された場合は，値が小さい方の波及レベルが設定されます。プログラムに設定された波及レベルが［調査対象選択］ダイアログ，またはcbldiaコマンドの-ProgramImpactLevelオプションで指定した波及レベルの値を超えた場合，そのプログラムは解析対象外となります。

複数のプログラムから呼び出されるプログラムに設定される波及レベルの例を次に示します。

図12‒2　複数のプログラムから呼び出されるプログラムに設定される波及レベルの例

この図の場合，プログラムP008は，プログラムP005とプログラムP009から呼び出されています。調査対象プログラムP003を起点としたプログラムP008の波及レベルは，プログラムP005から呼び出されたときは波及レベル3，プログラムP009から呼び出されたときは波及レベル5となります。データ影響波及分析では，値の小さい方を有効にするため，プログラムP008には波及レベル3が設定されます。このため，波及レベル4を指定すると，プログラムP008も解析対象となります。

波及レベルの設定値は，解析方向の指定値（影響波及元と影響波及先，影響波及元，または影響波及先）の影響は受けません。例えば，同一プログラムが調査対象プログラムの呼び出し元と呼び出し先の両方にある場合，呼び出し先にあるプログラムの方が調査対象プログラムに近いときは，呼び出し元を解析方向（影響波及元）に指定しても呼び出し先にあるプログラムの波及レベルが設定されます。

なお，調査対象がユーザ資産項目の場合，そのユーザ資産項目を使用しているすべてのプログラムには，波及レベル0が設定されます。

複数の調査対象データ項目を同時に解析する際の波及レベルの範囲

調査対象データ項目を複数指定している場合に，それらの項目が属するプログラムが異なるとき，それぞれの調査対象プログラムの波及レベルは0になります。影響プログラムには，それぞれの調査対象プログラムを起点とした波及レベルが設定されます。この場合，それぞれの調査対象プログラムからの影響範囲が重なるプログラムには，値が小さい方の波及レベルが設定されます。複数の調査対象データ項目を同時に解析する際に設定される波及レベルの例を次の図に示します。

図12‒3　複数の調査対象データ項目を同時に解析する際に設定される波及レベルの例

外部データ項目だけでプログラム間の影響関係がある場合の波及レベルの範囲

プログラム情報フィルタリングファイルを指定して解析対象を絞り込んでいる場合，外部データ項目だけでプログラム間に影響が波及することがあります。プログラム情報フィルタリングファイルについては，「付録A.1　プログラム情報フィルタリングファイル」を参照してください。

データ影響波及分析では，次に示す手順で，外部データ項目によるプログラム間の影響関係を持つプログラムに波及レベルを設定します。

調査対象プログラムを起点とした呼び出し関係を基に波及レベルを設定する

手順1のプログラムの中で，外部データ項目が定義されたプログラムの波及レベルに1を加えた値を，その外部データ項目と対となる外部データ項目が定義されたプログラムに設定する

手順2で波及レベルを設定した，対となる外部データ項目が定義されたプログラムを起点とした呼び出し関係を基に波及レベルを設定する

なお，外部データ項目を起点としたプログラム間の呼び出し関係をたどっていくときに，すでに調査対象プログラムを起点とした波及レベルが設定されたプログラムは，呼び出し元または呼び出し先のプログラムとして出現しません。

図12‒4　外部データ項目によるプログラム間の影響関係を持つプログラムに設定される波及レベルの例

この図の場合，プログラムP005とプログラムP007は，調査対象プログラムP001から外部データ項目によって影響が波及しています。

プログラムP005の場合は，調査対象プログラムP001を起点とした呼び出し関係でプログラムP002から呼び出されているため，波及レベル5が設定されます。この場合，調査対象プログラムP001の波及レベルに1を加えた値は設定されません。

プログラムP007の場合は，調査対象プログラムP001から外部データ項目だけで影響が波及しているため，調査対象プログラムP001の波及レベルに1を加えた値（1）が波及レベルとして設定されます。

12.3　影響2項関係抽出の対象のCOBOL実行文

影響2項関係抽出の対象のCOBOL実行文の説明です。

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項関係情報を抽出しません。

注意

影響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実行文が影響波及元コードや影響波及先コードとして表示されます。データ影響波及分析での条件名および条件変数の影響波及の見え方を次に示します。

上記の例では，調査対象データ項目として選択したデータ項目の左側が影響波及元として表示され，右側が影響波及先として表示されます。

条件名と条件変数は領域を共有する関係ではないので，集団項目の従属項目と異なり，別名として扱われることはありません。

12.3.2　暗黙的影響2項関係

実行文の影響2項関係のうち，暗黙的な作用対象に対する影響2項関係である暗黙的影響2項関係の説明です。

別名の暗黙的影響2項関係

日立のCOBOL言語仕様で，記憶領域が同じで名前が異なるデータ項目（別名のデータ項目）には，次のものがあります。

［別名1］被再定義項目と再定義項目（REDEFINES句）※1

［別名2］被再命名項目と再命名項目（RENAMES句）※2

［別名3］集団項目と従属項目

［別名4］反復データ項目

［別名5］プログラム間で使用される外部データ項目（EXTERNAL句）

［別名6］ADDRESSED句指定のデータ項目とアドレス名にアドレスが格納されたデータ項目

注※1

被再定義項目が集団項目の場合，その従属項目も再定義項目とは別名関係です。さらに，再定義項目が集団項目なら領域を共有するその従属項目（集団項目または基本項目）とも別名関係です。

また，再定義項目が集団項目の場合，その従属項目も被再定義項目とは別名関係です。さらに，被再定義項目が集団項目なら領域を共有するその従属項目（集団項目または基本項目）とも別名関係です。

例）

01 A.
    02 B.
       03 C.
          04 D PIC X.
       03 E PIC X(2).
    02 F REDEFINES B.
       03 G PIC X(2).
       03 H PIC X.

被再定義項目（B）と再定義項目（F）の関係に加えて，次の関係も別名関係です。

　CとF　CとG　DとF　DとG　EとF　EとG　EとH

再定義項目（F）と被再定義項目（B）の関係に加えて，次の関係も別名関係です。

　GとB（GとC）（GとD）（GとE）HとB（HとE）

（）の部分は上記と重複を示します。

注※2

被再命名項目の上位集団項目も，再命名項目と別名関係です。また，被再命名項目が集団項目の場合，その従属項目も再命名項目と別名関係です。

これらのデータ項目の場合，一方のデータ項目が影響を受けると，そのデータ項目の別名のデータ項目も同じ影響を受けます。

被再定義項目と再定義項目の暗黙的影響2項関係の例を次の図に示します。この図では，次に示すソースプログラムの影響波及の連鎖（影響2項関係の連鎖）を説明しています。

     01 A PIC X(3) VALUE 'ABC'. …［1］
     01 B PIC X(3).
     01 C REDEFINES B PIC X(3).
     01 D PIC X(3).
     01 E PIC X(3).

     MOVE A  TO  B.  …［2］
     MOVE B  TO  D.  …［3］
     MOVE C  TO  E.  …［4］

実行文［2］で被再定義項目Bがデータ項目Aから影響を受けた場合，同じ影響を再定義項目Cも受けます。そのため，明示的影響2項関係［2］だけでなく，点線矢印のような暗黙的影響2項関係（再定義項目Cは実行文［2］には記述されていません）も解析されないと，正しい影響範囲解析の結果となりません。

影響範囲を漏れなく解析するには，［別名1］〜［別名3］の暗黙的影響2項関係も必要です。データ影響波及分析では，別名に対する暗黙的影響2項関係も解析します。ソースファイルをわたる［別名4］［別名5］については，ソースファイルの解析時に暗黙的影響2項関係を抽出できないため，特殊な実装方法となります。詳細については，「12.3.3　ソースファイルをわたった影響2項関係」を参照してください。

ただし，明示的影響2項関係，または暗黙転記の暗黙的影響2項関係で作用対象でない別名の暗黙的影響2項関係は，影響範囲を漏れなく解析するのに必要でないため，そのデータ項目は抽出対象となりません。この別名を未使用の影響波及データ項目といいます。

未使用の影響波及データ項目の例を次の図に示します。この図では，次に示すソースプログラムの影響波及の連鎖を説明しています。

     01 A PIC X(3) VALUE "ABC". …［1］
     01 B PIC X(3).
     01 C REDEFINES B PIC X(3).
     01 D PIC X(3).
     01 E PIC X(3).
     01 F REDEFINES B PIC X(3).

     MOVE A  TO  B. …［2］
     MOVE B  TO  D. …［3］
     MOVE C  TO  E. …［4］

データ項目Fは，データ項目Cと同様にデータ項目Bと別名関係にありますが，明示的な作用対象となる実行文や，暗黙転記の作用対象となる実行文がありません。このため，データ項目Aからの暗黙的影響2項関係は抽出されないで，未使用の影響波及データ項目となります。

なお，未使用の影響波及データ項目は，影響範囲解析の結果として影響波及データ項目一覧だけに表示されます。

暗黙転記の暗黙的影響2項関係

次の表に示す実行文では，環境部やデータ部で指定したデータ項目や特殊レジスタとの間の暗黙的な転記（実行文に明示的に指定された作用対象間の転記ではない転記）を実行するものがあります。

暗黙転記を実行文で展開する機能

暗黙転記を内部的に展開する実行文

画面機能（SCREEN SECTION）

ACCEPT，DISPLAY

画面機能（WINDOW SECTION）

ACCEPT，DISPLAY，ERASE，REPLY，SET

画面機能（通信節）

SEND，RECEIVE，TRANSCEIVE，DISABLE

データコミュニケーション機能

SEND，RECEIVE，ENABLE，DISABLE

データベースアクセス機能

埋め込みSQL文（EXEC SQL文，END-EXEC）

報告書作成機能

INITIATE，GENERATE，SUPPRESS，TERMINATE

入出力機能

OPEN，START，READ，WRITE，REWRITE，DELETE，CLOSE，UNLOCK

整列併合機能

SORT，MERGE，RETURN，RELEASE

上記の表の暗黙転記も，暗黙的影響2項関係を含んでいます。データ影響波及分析で暗黙的影響2項関係の抽出対象とする暗黙転記を次の表に示します。

表12‒9　暗黙転記の暗黙的影響2項関係

項番

実行文

影響2項関係

影響を与える作用対象

影響を受ける作用対象

1

PROCEDURE DIVISION

データ記述項のVALUE句の定数

データ記述項のデータ項目

2

入出力文※1

ファイル名

ファイル記述項のFILE STATUS句のデータ項目

3

RETURNING指定のないCALL文

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

CALL文を含むプログラムのRETURN-CODE特殊レジスタ

4

READ文

RETURN文

ファイル名

ファイル名に関連するレコード※2

ファイル名に関連するレコード※2

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

5

集団項目指定のINITIALIZE文

（REPLACING ALPHABETIC無）

SPACES

（REPLACING ALPHABETIC有）

定数/データ項目

英字の基本従属項目

（REPLACING ALPHANUMERIC無）

SPACES

（REPLACING ALPHANUMERIC有）

定数/データ項目

英数字の基本従属項目

（REPLACING ALPHANUMERIC-EDITED無）

SPACES

（REPLACING ALPHANUMERIC-EDITED有）

定数/データ項目

英数字編集の基本従属項目

（REPLACING BOOLEAN無）

ZEROS

（REPLACING BOOLEAN有）

定数/データ項目

ブールの基本従属項目

（REPLACING NATIONAL無）

SPACES

（REPLACING NATIONAL有）

定数/データ項目

日本語の基本従属項目

（REPLACING NATIONAL-EDITED無）

SPACES

（REPLACING NATIONAL-EDITED有）

定数/データ項目

日本語編集の基本従属項目

（REPLACING NUMERIC無）

ZEROS

（REPLACING NUMERIC有）

定数/データ項目

数字の基本従属項目

外部浮動小数点の基本従属項目

（REPLACING NUMERIC-EDITED無）

ZEROS

（REPLACING NUMERIC-EDITED有）

定数/データ項目

数字編集の基本従属項目

（REPLACING OBJECT-REFERENCE無）

NULL

（REPLACING OBJECT-REFERENCE有）

定数/データ項目

オブジェクト参照の基本従属項目

6

CORRESPONDING指定のMOVE文，

ADD文，SUBTRACT文

送り出し集団項目の基本従属項目※3

受け取り集団項目の基本従属項目※3

7

条件名の構文のSET文

条件名

条件名の属す条件変数

注※1

CLOSE文，DELETE文，OPEN文，READ文，REWRITE文，START文，WRITE文を示します。

注※2

ファイルが複数のレコードを持つ場合は，レコードの数だけ影響2項関係を抽出します。

注※3

対応する基本従属項目の数分の影響2項関係を抽出します。

文で使用されている暗黙的影響2項関係の抽出の対象になった暗黙的なデータ項目の参照に対しては，そのデータ項目が影響波及元データ項目や影響波及先データ項目になった場合は，そのデータ項目の暗黙参照によって文が影響波及元コードや影響波及先コードとして扱われます。

（例）READ文のファイルのレコードは，影響2項関係の抽出の対象なので，そのレコードが影響波及元データ項目になった場合，READ文は影響波及元コードとして扱われます。

文で使用されている暗黙的影響2項関係の抽出の対象にならない暗黙的なデータ項目の参照に対しては，そのデータ項目が影響波及元データ項目や影響波及先データ項目になったとしても，そのデータ項目の暗黙参照によって文が影響波及元コードや影響波及先コードとして扱われることはありません。ただし，条件で現れた条件名による条件変数の暗黙参照は除きます。

（例）ファイル記述項のLINAGE句に書かれたデータ項目は，WRITE文で暗黙的に参照されますが，影響2項関係の抽出の対象になっていないため，そのデータ項目が影響波及先データ項目になったとしても，それによってWRITE文が影響波及先コードとして扱われることはありません。

12.3.3　ソースファイルをわたった影響2項関係

ソースファイルをわたった影響2項関係の説明です。

外部プログラムまたは利用者定義関数の呼び出しの引数と返却値

外部プログラム呼び出しまたは利用者定義関数呼び出しの実引数と仮引数の間の影響2項関係

対応する実引数と仮引数の組み合わせをすべて見つけて，「12.3.1　明示的影響2項関係」のプログラム呼び出しの引数の影響2項関係に示す影響2項関係を設定します。

外部プログラムまたは利用者定義関数の呼び出しの返却項目と返却値の受け取り項目の間の影響2項関係

対応する返却項目（プログラムにRETURNING指定がない場合はプログラムのRETURN-CODE特殊レジスタ）と返却値の受け取り項目の組み合わせを見つけて，返却項目から返却値の受け取り項目への影響2項関係を設定します。CALL文にRETURNING指定がない場合の返却値の受け取り項目は，CALL文を含むプログラムのRETURN-CODE特殊レジスタとなります。

外部データ（EXTERNAL）項目の影響2項関係

外部データ（EXTERNAL）項目間の影響2項関係の場合，どのプログラムにも属さない仮想的な外部データ項目を内部的に用意して，すべてのプログラムで同名の外部データ項目との間で，相互影響の影響2項関係を設定します。次に例を示します。仮想的な外部データ項目は表示の対象外です。

この影響2項関係の設定によってプログラムの外部データ項目が影響波及元データ項目になった場合，その外部データ項目の影響元として，ほかのすべてのプログラムにある外部データ項目が表示されるようになります。また，プログラムの外部データ項目が影響波及先データ項目になった場合，その外部データ項目の影響先として，ほかのすべてのプログラムにある外部データ項目が表示されるようになります。

ADDRESSED句指定のデータ項目の影響2項関係

ADDRESSED句指定のデータ項目と，アドレス名にアドレスが格納されたデータ項目の間が影響2項関係である場合，アドレス名に対する影響波及元解析を内部的に実行します。そして，アドレス名にアドレスが格納されるデータ項目をすべて洗い出し，それらのデータ項目とADDRESSED句指定の項目との間で，相互影響の影響2項関係を設定します。

例として，アドレス名PPで影響波及元解析を実行し，FUNCTION ADDR( B )とADDRESS OF Aを検出して，AとX，およびBとXの間に相互影響の影響2項関係の設定を次に示します。

注意

FUNCTION ADDR（一意名）やADDRESS OF 一意名の一意名が添字や部分参照子付きの場合，影響2項関係は設定しません。

添字付きのポインタ項目（アドレスデータ項目）やポインタ項目（アドレスデータ項目）以外のデータ項目を経由する場合，影響2項関係は設定しません。

12.4　調査対象データ項目の別名の扱い

調査対象データ項目の選択後に影響2項関係を追加設定する説明です。

別名を持つデータ項目が調査対象データ項目として選択された場合，影響範囲解析の結果は次のように表示されます。

影響波及元：別名のうち，明示的影響2項関係の「影響を受ける作用対象」である別名を調査対象データ項目の影響波及元データ項目として表示する

影響波及先：別名のうち，明示的影響2項関係の「影響を与える作用対象」である別名を調査対象データ項目の影響波及先データ項目として表示する

被再定義項目，再定義項目，被再命名項目，または再命名項目が調査対象データ項目として選択された場合

調査対象データ項目と，別名の中で解析方向と同じ方向の明示的2項関係を持つデータ項目との間で，相互影響の暗黙的影響2項関係を追加設定します。調査対象データ項目の別名に対する影響2項関係の追加設定を次に示します。

集団項目が調査対象データ項目として選択された場合

調査対象データ項目と，解析方向と同じ方向の明示的影響2項関係を持つすべての従属項目との間で，相互影響の暗黙的影響2項関係を追加設定します。集団項目が調査対象データ項目として選択された場合の影響2項関係の追加設定を次に示します。

従属項目が調査対象データ項目として選択された場合

調査対象データ項目と，調査対象データ項目を従属項目に持つすべての集団項目の中で解析方向と同じ方向の明示的影響2項関係を持つ集団項目との間で，相互影響の暗黙的影響2項関係を追加設定します。従属項目が調査対象データ項目として選択された場合の影響2項関係の追加設定を次に示します。

外部データ項目，ADDRESSED句指定の項目，またはアドレス名にアドレスが格納されたデータ項目が調査対象データ項目として選択された場合

調査対象データ項目かどうかに関係なく，解析方向と同じ方向の明示的影響2項関係を持つ別名に相互影響の影響２項関係を追加設定します。そのため，調査対象データ項目のための影響2項関係を追加設定する必要はありません。

12.5　影響2項関係の連鎖の抽出

影響2項関係の連鎖の抽出対象の説明です。

12.5.1　英数字項目間の影響2項関係

英数字項目間での影響2項関係の連鎖の説明です。

影響2項関係

英数字項目から英数字項目への転記では，送り出し作用対象の格納値が，作用対象のデータ項目へ影響が波及するものと扱います。

作用対象の部分的な領域への影響を考慮した英数字項目間の影響2項関係について，次に示します。

影響2項関係の連鎖

影響波及データ項目がすべて英数字項目の場合，調査対象の格納値が伝播するデータ項目とそのデータ項目を従属項目として持つ集団項目だけに影響を与えるものとして影響2項関係の連鎖を求めます。

影響波及先解析の場合

影響波及元解析の場合

12.5.2　数字項目間の影響2項関係

数字項目から数字項目への転記では，送り出し作用対象のデータ項目の全体から，受け取り作用対象のデータ項目全体へ影響が波及するものと扱います。

作用対象の部分的な領域への影響を考慮した数字項目間の影響2項関係について，次に示します。

12.5.3　作用対象の属性と作用対象の影響する領域

英数字項目間の転記では，調査対象の格納値に影響する影響2項関係を抽出し，数字項目間では，データ項目全体に影響するものとして影響2項関係を抽出します。作用対象の属性によって影響を与える領域が異なります。

明示的影響2項関係の場合

明示的影響2項関係での作用対象の属性と影響する領域について，次の表に示します。

表12‒10　明示的影響2項関係での作用対象の属性と影響する領域

明示的に影響を与える作用対象（送り出し作用対象）

明示的に影響を受ける作用対象（受け取り作用対象）

固定長集団項目

添字付反復データ項目

部分参照付き一意名，可変長項目

英字，英数字項目，日本語項目

英字，英数字，日本語以外の基本項目

JUSTなし

JUSTあり

固定長集団項目

○

×

×

○

×

○

添字付反復データ項目

×

×

×

×

×

×

部分参照付き一意名，可変長項目

×

×

×

×

×

×

英字，英数字項目，日本語項目

○

×

×

○

×

×

英字，英数字，日本語以外の基本項目

○

×

×

×

×

×

ファイル名

装置名

システム日付予約語

定数

ADDRESS OF 一意名

LENGTH OF 一意名

条件名

×

×

×

×

×

×

定数的な扱いの組み込み関数一意名

引数なし組み込み関数

RANDOM関数

ADDR関数

LENGTH関数

×

×

×

×

×

×

定数的な扱いでない組み込み関数一意名

RANDOM関数，ADDR関数，LENGTH関数以外の引数を持つ組み込み関数

×

×

×

×

×

×

（凡例）

○：送り出し作用対象の格納値のすべて，または一部が受け取り作用対象に影響します。

×：作用対象のデータ項目全体に影響するものとして影響2項関係を抽出します。

暗黙的影響2項関係の場合

再定義，被再定義，再命名，被再命名による暗黙的作用対象は，明示的作用対象が影響する部分が影響を受けるものとして，影響2項関係を抽出します。

再定義との暗黙的2項関係の影響個所について，次に示します。

明示的な作用対象が集団項目の場合，暗黙的作用対象となる従属項目は，JUST句のない英数字項目と同じに扱い，調査対象の格納値の影響を受ける領域が部分的に影響を受けるものとして影響2項関係を抽出します。

明示的な受取り作用対象が集団項目の場合について，次に示します。

複数のソースファイルにわたる影響2項関係の場合

外部プログラム，または利用者定義関数の呼び出しの引数と返却値

外部プログラム呼び出し，または利用者定義関数呼び出しの引数と返却値の間の影響2項関係での作用対象の属性と影響する領域は，明示的影響2項関係と同じです。

外部データ（EXTERNAL）項目

外部データ項目間の影響2項関係は，同名の外部データ項目間で影響を受ける領域を共有します。

外部データ項目を再定義している場合，領域が重なり合っている別名データ項目の領域を計算します。

文字列操作文の作用対象の扱い

次の文字列操作文の作用対象は，影響2項関係の抽出時に格納値のサイズが決定しないため，データ項目全体に影響が波及するものとして影響2項関係を抽出します。

INSPECT文のREPLACING指定

TRANSFORM文

STRING文

UNSTRING文

INTO指定のREAD文およびRETURN文について

INTO指定のREAD文およびRETURN文で発生する影響2項関係は，別名も含めて，領域が重なり合っているデータ項目の領域全体に影響が波及するとみなします。

12.6　データ影響波及分析で解析または調査する項目の制限

データ影響波及分析で解析または調査する項目の制限です。

ファイル記述項で同一のファイルに複数のレコードが定義されている場合，または複数のレコード記述項が異なるファイル記述項に従属し，これらのファイル記述項が同じSAME RECORD AREA句で参照されている場合，それらのレコードは領域を共有しない独立したレコードとして扱われ，レコード間の影響は無視されます。

同じ名前の外部データ項目の構造がプログラム間で異なる場合（従属項目の位置やサイズが異なる場合），プログラム間の外部データ項目の影響関係は正しく解析できません。

BY REFERENCE仮引数が手続き部（USING指定を除く）でまったく参照されていない場合，その仮引数は実引数から影響を受けないものとして扱われます。

画面節（WINDOWS SECTION）のデータ項目や通信節で暗黙に宣言されるデータ項目は分析の対象になりません。データ影響波及分析の対象でないデータ項目については，「12.1.2　影響波及分析の対象とするデータ項目」を参照してください。

添字式や部分参照の位置式または長さ式に現れたデータ一意名は，その文のどの作用対象にも影響を及ぼさないものとして扱われます。一意名が指定されている場合の規則については，「表12-5　一意名が指定されている場合の取り扱い規則」を参照してください。

REPLACING指定のCOPY文またはREPLACE文で複数語を一度に置換する場合，置換される語を影響波及コードの表示対象にはできません。置換される複数語の中に影響波及データ項目が含まれていた場合，置換される先頭の語を含む行を影響波及コードとして表示します。

REPLACING指定のCOPY文またはREPLACE文で複数語を一度に置換する場合，置換される語を影響波及コードに表示できません。置換される複数語の中に影響波及データ項目が含まれていた場合，置換される先頭の語を含む行を影響波及コードとして表示します。

構造が不一致の集団項目間の転記で，OCCURS句が指定されている集団項目を従属項目として含む集団項目が影響を与える作用対象または影響を受ける作用対象である場合，OCCURS句指定のある反復データ項目の従属項目は繰り返し数1の反復データ項目として解析します。このため，反復データ項目の従属項目と影響し合う，影響を与える作用対象または影響を受ける作用対象との影響2項関係が正しく設定できないことがあります。

例）

     01 X.                                   01 Y.
       02 XA OCCURS 3 TIMES.                   02 YA OCCURS 3 TIMES.
         03 XB PIC X(2).                         03 YB PIC X(3).
         03 XC PIC X(2).                         03 YC PIC 9(4).
         03 XD PIC 9(4).
     MOVE X TO Y.

この例では，「XD(1)とYB(2)」「XB(3)とYC(3)」は領域が重なるが，XB・XC・XD・YB・YCを繰り返し数1の反復データ項目として解析するため，XからYへの転記では「XD->YB」「XB->YC」の影響2項関係を設定しません。

集団項目を構造が違う別の集団項目で再定義した場合の転記で，OCCURS句が指定されている集団項目を従属項目として含む被再定義集団項目または再定義集団項目が，影響を与える作用対象または影響を受ける作用対象のとき，OCCURS句指定のある反復データ項目の従属項目は繰り返し数1の反復データ項目として解析します。そのため，反復データ項目の従属項目と影響し合う，影響を与える作用対象または影響を受ける作用対象との影響2項関係が正しく設定できないことがあります。

例）

     01 X.                                    01 Y REDEFINES X.
       02 XA OCCURS 3 TIMES INDEXED I.          02 YA OCCURS 3 TIMES.
         03 XB PIC X(2).                          03 YB PIC X(3).
         03 XC PIC X(2).                          03 YC PIC 9(4).
         03 XD PIC 9(4).

MOVE 10 TO XD(I).

「XD(1)とYB(2)」は領域が重なるが，XB・XC・XD・YB・YCを繰り返し数1の反復データ項目として解析するため，この転記では「XD->YB」の影響2項関係を設定しません。

MOVE 10 TO XB(I).

「XB(3)とYC(3)」は領域が重なるが，XB・XC・XD・YB・YCを繰り返し数1の反復データ項目として解析するため，この転記では「XB->YC」の影響2項関係を設定しません。

構造が一致する集団項目間の転記で，従属項目に内部ブール項目がある場合は，ビット数が一致するデータ項目の影響2項関係が設定されます。構造が不一致の集団項目間の転記で，従属項目に内部ブール項目がある場合は，内部ブール項目とビット数が一致しないデータ項目であっても，同一のバイト領域にあるデータ項目であるときは，領域が重なっていると見なし，内部ブール項目との影響2項関係が設定されます。

例）

     01 A.                        01 X.
       02 B PIC 1（4） BIT.           02 Y PIC 1（3） BIT.
       02 C PIC 1（4） BIT.           02 Z PIC 1（5） BIT.
     MOVE A TO X.

AからXへの転記では，「A->X」の明示的影響2項関係が設定されます。また，ビット数の一致するデータ項目はないが，「BとY」「BとZ」「CとY」「CとZ」は同一のバイト領域にあるデータ項目であるため，領域が重なっているとみなし，「B->Y」「B->Z」「C->Y」「C->Z」の暗黙的影響2項関係が設定されます。

可変長集団項目で，DEPENDING ON指定のある可変反復データ項目の後の文字位置を占めるデータ項目との転記がある場合，DEPENDING ON指定を無視した反復データ項目全体の領域長で，影響を与える作用対象または影響を受ける作用対象との影響2項関係を抽出します。

そのため，反復データ項目の後の文字位置を占めるデータ項目と影響し合う，影響を与える作用対象または影響を受ける作用対象との影響2項関係が正しく設定できないことがあります。

例）

　01 A1                             01 A2.
    02 B1     PIC X(2).               02 B2 OCCURS 5 DEPENDING ON I PIC X.
    02 C1     PIC X(3).               02 D2   PIC X(2).
                                      02 E2   PIC X(2).

  MOVE  3 TO I.   … (1)
  MOVE  A1 TO A2. … (2)

［影響2項関係］

A1->A2　B1->B2　C1->B2

(1)でIを更新しているため，プログラムを実行したとき，B2の長さは3バイトとなります。そのため，(2)の転記を実行したときは，D2に影響が波及するものとなります。

しかし，B2の長さはDEPENDING ON指定を無視した5バイトと扱うため，D2に影響が波及しないものとなります。

調査対象一覧ファイルの出力行数が大量になる場合は，cbldiaコマンドのオプションを指定すると，出力行数を減らすことができます。

次のどれかの対処を実施してください。

-Dataオプションで対象にする条件を変更する

-SubSystemオプションで対象にするサブシステムを絞り込む

-Filterオプションで指定するプログラム情報フィルタリングファイルで，特定の範囲だけを参照するか，または範囲から除外する

12.7　制御フローを考慮した解析

データ影響波及分析の制御フローを考慮した解析についての説明です。

注意事項

制御フローを考慮した解析は，バッチモードでだけ実行できます。

12.7.1　解析対象に関わる実行文とデータ項目の抽出

制御フローを考慮した解析では，データ項目に対する影響調査やソースコードを理解しやすくするために，選択した解析対象に関わる実行文とデータ項目を抽出します。制御フローを考慮した解析を使用する場合は，解析対象として実行文と作用対象のデータ項目を指定します。データ影響波及分析では，制御フローに基づいて，指定した実行文と作用対象のデータ項目の影響波及元または影響波及先を解析し，次の情報を抽出してファイルに出力します。

プログラム内のある特定の実行文で使用されるデータ項目に，影響を与える作用対象の実行文とデータ項目の集合

プログラム内のある特定の実行文で使用されるデータ項目から，影響を受ける作用対象の実行文とデータ項目の集合

制御フローを考慮した解析の例を次に示します。

（例）

解析対象として，COBOLソースプログラムの8行目のMOVE文と，そのMOVE文に含まれる作用対象データ項目の「Z」を指定する例です。

（例の説明）

制御フローとデータフローに示すように，「Z」の影響波及元を解析し，影響を与える作用対象の実行文とデータ項目を抽出します。この解析では，解析対象に関わる実行文として，条件分岐文の条件部分なども抽出します。

制御フローを考慮した解析では，「12.3.1　明示的影響2項関係」の「表12-4　影響2項関係を抽出するCOBOL実行文と抽出する影響2項関係」に示す実行文に加えて，次の表に示す実行文も抽出します。制御フローを考慮した解析で抽出するCOBOL実行文と抽出条件を次に示します。

表12‒11　制御フローを考慮した解析で抽出するCOBOL実行文と抽出条件

分類

文

コード例

行番号の文の抽出条件

選択可能な条件指定ができる手続き文

ACCEPT文

  <ブロックA>
1.ACCEPT …
2.ON EXCEPTION
   <ON EXCEPTIONブロック>
3.NOT ON EXCEPTION
   <NOT ON EXCEPTIONブロック>
4.END-ACCEPT
  <ブロックB>

1.：ACCEPT文の処理，またはON EXCEPTIONもしくはNOT ON EXCEPTIONブロック内で解析対象に関する実行文が抽出された場合

2.：ON EXCEPTIONブロック内で解析対象に関する実行文が抽出された場合

3.：NOT ON EXCEPTIONブロック内で解析対象に関する実行文が抽出された場合

4.：明示範囲終了子のEND-ACCEPTは抽出されない

ADD文

  <ブロックA>
1.ADD … TO …
2.ON SIZE ERROR
   <ON SIZE ERRORブロック>
3.NOT ON SIZE ERROR
   <NOT ON SIZE ERRORブロック>
4.END-ADD
  <ブロックB>

1.：ADD文の処理，またはON SIZE ERRORもしくはNOT ON SIZE ERRORブロック内で解析対象に関する実行文が抽出された場合

2.：ON SIZE ERRORブロック内で解析対象に関する実行文が抽出された場合

3.：NOT ON SIZE ERRORブロック内で解析対象に関する実行文が抽出された場合

4.：明示範囲終了子のEND-ADDは抽出されない

CALL文

  <ブロックA>
1.CALL …
2.ON EXCEPTION
   <ON EXCEPTIONブロック>
3.NOT ON EXCEPTION
   <NOT ON EXCEPTIONブロック>
4.END-CALL
  <ブロックB>

1.：CALL文の処理，またはON EXCEPTIONもしくはNOT ON EXCEPTIONブロック内で解析対象に関する実行文が抽出された場合

2.：ON EXCEPTIONブロック内で解析対象に関する実行文が抽出された場合

3.：NOT ON EXCEPTIONブロック内で解析対象に関する実行文が抽出された場合

4.：明示範囲終了子のEND-CALLは抽出されない

  <ブロックA>
1.CALL …
2.ON OVERFLOW
   <ON OVERFLOWブロック>
3.END-CALL
  <ブロックB>

1.：CALL文の処理，またはON OVERFLOWブロック内で解析対象に関する実行文が抽出された場合

2.：ON OVERFLOWブロック内で解析対象に関する実行文が抽出された場合

3.：明示範囲終了子のEND-CALLは抽出されない

COMPUTE文

  <ブロックA>
1.COMPUTE … = …
2.ON SIZE ERROR
   <ON SIZE ERRORブロック>
3.NOT ON SIZE ERROR
   <NOT ON SIZE ERRORブロック>
4.END-COMPUTE
  <ブロックB>

1.：COMPUTE文の処理，またはON SIZE ERRORもしくはNOT ON SIZE ERRORブロック内で解析対象に関する実行文が抽出された場合

2.：ON SIZE ERRORブロック内で解析対象に関する実行文が抽出された場合

3.：NOT ON SIZE ERRORブロック内で解析対象に関する実行文が抽出された場合

4.：明示範囲終了子のEND-COMPUTEは抽出されない

DELETE文

  <ブロックA>
1.DELETE … RECORD
2.INVALID KEY
   <ON INVALID KEYブロック>
3.NOT INVALID KEY
   <NOT INVALID KEYブロック>
4.END-DELETE
  <ブロックB>

1.：INVALID KEYまたはNOT INVALID KEYブロック内で解析対象に関する実行文が抽出された場合

2.：INVALID KEYブロック内で解析対象に関する実行文が抽出された場合

3.：NOT INVALID KEYブロック内で解析対象に関する実行文が抽出された場合

4.：明示範囲終了子のEND-DELETEは抽出されない

DISPLAY文

  <ブロックA>
1.DISPLAY … UPON …
2.ON EXCEPTION
   <ON EXCEPTIONブロック>
3.NOT ON EXCEPTION
   <NOT ON EXCEPTIONブロック>
4.END-DISPLAY
  <ブロックB>

1.：DISPLAY文の処理，またはON EXCEPTIONもしくはNOT ON EXCEPTIONブロック内で解析対象に関する実行文が抽出された場合

2.：ON EXCEPTIONブロック内で解析対象に関する実行文が抽出された場合

3.：NOT ON EXCEPTIONブロック内で解析対象に関する実行文が抽出された場合

4.：明示範囲終了子のEND-DISPLAYは抽出されない

DIVIDE文

  <ブロックA>
1.DIVIDE … INTO …
2.ON SIZE ERROR
   <ON SIZE ERRORブロック>
3.NOT ON SIZE ERROR
   <NOT ON SIZE ERRORブロック>
4.END-DIVIDE
  <ブロックB>

1.：DIVIDE文の処理，またはON SIZE ERRORもしくはNOT ON SIZE ERRORブロック内で解析対象に関する実行文が抽出された場合

2.：ON SIZE ERRORブロック内で解析対象に関する実行文が抽出された場合

3.：NOT ON SIZE ERRORブロック内で解析対象に関する実行文が抽出された場合

4.：明示範囲終了子のEND-DIVIDEは抽出されない

EVALUATE文※

  <ブロックA>
1.EVALUATE …
2.WHEN …
   <WHENブロック1>
  ：
3.WHEN …
   <WHENブロックN>
  ：
4.WHEN OTHER
   <WHEN OTHERブロック>
5.END-EVALUATE
  <ブロックB>

1.：どれかのWHENブロック内，またはWHEN OTHERブロック内で解析対象に関する実行文が抽出された場合

2.：対応するWHENブロック内で解析対象に関する実行文が抽出された場合（ソース例のWHENブロック1が該当）

3.：対応するWHENブロック内で解析対象に関する実行文が抽出された場合（ソース例のWHENブロックNが該当）

4.：WHEN OTHERブロック内で解析対象に関する実行文が抽出された場合

5.：明示範囲終了子のEND-EVALUATEは抽出されない

IF文

  <ブロックA>
1.IF <判定文> THEN
   <THENのブロック>
2.ELSE
   <ELSEのブロック>
3.END-IF
  <ブロックB>

1.：THENブロック内または，ELSEブロック内で解析対象に関する実行文が抽出された場合

2.：ELSEブロック内で解析対象に関する実行文が抽出された場合

3.：明示範囲終了子のEND-IFは抽出されない

MULTIPLY文

  <ブロックA>
1.MULTIPLY … BY …
2.ON SIZE ERROR
   <ON SIZE ERRORブロック>
3.NOT ON SIZE ERROR
   <NOT ON SIZE ERRORブロック>
4.END-MULTIPLY
  <ブロックB>

1.：MULTIPLY文の処理，またはON SIZE ERRORもしくはNOT ON SIZE ERRORブロック内で解析対象に関する実行文が抽出された場合

2.：ON SIZE ERRORブロック内で解析対象に関する実行文が抽出された場合

3.：NOT ON SIZE ERRORブロック内で解析対象に関する実行文が抽出された場合

4.：明示範囲終了子のEND-MULTIPLYは抽出されない

READ文

  <ブロックA>
1.READ … RECORD …
2.AT END
   <AT ENDブロック>
3.NOT AT END
   <NOT AT ENDブロック>
4.END-READ
  <ブロックB>

1.：READ文の処理，またはAT ENDもしくはNOT AT ENDブロック内で解析対象に関する実行文が抽出された場合

2.：AT ENDブロック内で解析対象に関する実行文が抽出された場合

3.：NOT AT ENDブロック内で解析対象に関する実行文が抽出された場合

4.：明示範囲終了子のEND-READは抽出されない

RETURN文

  <ブロックA>
1.RETURN … RECORD …
2.AT END
   <AT ENDブロック>
3.NOT AT END
   <NOT AT ENDブロック>
4.END-RETURN
  <ブロックB>

1.：RETURN文の処理，またはAT ENDもしくはNOT AT ENDブロック内で解析対象に関する実行文が抽出された場合

2.：AT ENDブロック内で解析対象に関する実行文が抽出された場合

3.：NOT AT ENDブロック内で解析対象に関する実行文が抽出された場合

4.：明示範囲終了子のEND-RETURNは抽出されない

REWRITE文

  <ブロックA>
1.REWRITE …
2.INVALID KEY
   <INVALID KEYブロック>
3.NOT INVALID KEY
   <NOT INVALID KEYブロック>
4.END-REWRITE
  <ブロックB>

1.：INVALID KEYまたはNOT INVALID KEYブロック内で解析対象に関する実行文が抽出された場合

2.：INVALID KEYブロック内で解析対象に関する実行文が抽出された場合

3.：NOT INVALID KEYブロック内で解析対象に関する実行文が抽出された場合

4.：明示範囲終了子のEND-REWRITEは抽出されない

SEARCH文

  <ブロックA>
1.SEARCH …
2.AT END
   <AT ENDブロック>
3.WHEN
   <WHENブロック>
4.END-SEARCH
  <ブロックB>

1.：SEARCH文の処理，またはAT ENDブロック内で解析対象に関する実行文が抽出された場合

2.：AT ENDブロック内で解析対象に関する実行文が抽出された場合

3.：WHENブロック内で解析対象に関する実行文が抽出された場合

4.：明示範囲終了子のEND-SEARCHは抽出されない

START文

  <ブロックA>
1.START …
2.INVALID KEY
   <INVALID KEYブロック>
3.NOT INVALID KEY
   <NOT INVALID KEYブロック>
4.END-START
  <ブロックB>

1.：INVALID KEYまたはNOT INVALID KEYブロック内で解析対象に関する実行文が抽出された場合

2.：INVALID KEYブロック内で解析対象に関する実行文が抽出された場合

3.：NOT INVALID KEYブロック内で解析対象に関する実行文が抽出された場合

4.：明示範囲終了子のEND-STARTは抽出されない

STRING文

  <ブロックA>
1.STRING …
2.ON OVERFLOW
   <ON OVERFLOWブロック>
3.NOT ON OVERFLOW
   <NOT ON OVERFLOWブロック>
4.END-STRING
  <ブロックB>

1.：STRING文の処理，またはON OVERFLOWもしくはNOT ON OVERFLOWブロック内で解析対象に関する実行文が抽出された場合

2.：ON OVERFLOWブロック内で解析対象に関する実行文が抽出された場合

3.：NOT ON OVERFLOWブロック内で解析対象に関する実行文が抽出された場合

4.：明示範囲終了子のEND-STRINGは抽出されない

SUBTRACT文

  <ブロックA>
1.SUBTRACT … FROM …
2.ON SIZE ERROR
   <ON SIZE ERRORブロック>
3.NOT ON SIZE ERROR
   <NOT ON SIZE ERRORブロック>
4.END-SUBTRACT
  <ブロックB>

1.：SUBTRACT文の処理，またはON SIZE ERRORもしくはNOT ON SIZE ERRORブロック内で解析対象に関する実行文が抽出された場合

2.：ON SIZE ERRORブロック内で解析対象に関する実行文が抽出された場合

3.：NOT ON SIZE ERRORブロック内で解析対象に関する実行文が抽出された場合

4.：明示範囲終了子のEND-SUBTRACTは抽出されない

UNSTRING文

  <ブロックA>
1.UNSTRING …
2.ON OVERFLOW
   <ON OVERFLOWブロック>
3.NOT ON OVERFLOW
   <NOT ON OVERFLOWブロック>
4.END-UNSTRING
  <ブロックB>

1.：UNSTRING文の処理，またはON OVERFLOWもしくはNOT ON OVERFLOWブロック内で解析対象に関する実行文が抽出された場合

2.：ON OVERFLOWブロック内で解析対象に関する実行文が抽出された場合

3.：NOT ON OVERFLOWブロック内で解析対象に関する実行文が抽出された場合

4.：明示範囲終了子のEND-UNSTRINGは抽出されない

WRITE文

  <ブロックA>
1.WRITE …
2.AT END-OF-PAGE
   <AT END-OF-PAGEブロック>
3.NOT AT END-OF-PAGE
   <NOT AT END-OF-PAGEブロック>
4.END-WRITE
  <ブロックB>

1.：AT END-OF-PAGEまたはNOT AT END-OF-PAGEブロック内で解析対象に関する実行文が抽出された場合

2.：AT END-OF-PAGEブロック内で解析対象に関する実行文が抽出された場合

3.：NOT AT END-OF-PAGEブロック内で解析対象に関する実行文が抽出された場合

4.：明示範囲終了子のEND-WRITEは抽出されない

  <ブロックA>
1.WRITE …
2.INVALID KEY
   <ON INVALID KEYブロック>
3.NOT INVALID KEY
   <NOT INVALID KEYブロック>
4.END-WRITE
  <ブロックB>

1.：INVALID KEYまたはNOT INVALID KEYブロック内で解析対象に関する実行文が抽出された場合

2.：INVALID KEYブロック内で解析対象に関する実行文が抽出された場合

3.：NOT INVALID KEYブロック内で解析対象に関する実行文が抽出された場合

4.：明示範囲終了子のEND-WRITEは抽出されない

制御の移行が発生する構文

GO TO文

  <ブロックA>
1.GO TO PARA-1.
  <ブロックX>
  …
  PARA-1.
    <ブロックY>
  PARA-2.
    <ブロックZ>
  <ブロックB>

1.：GO TO文で移行した制御先のブロック内，およびそのブロックに従属するブロック内で解析対象に関する実行文が抽出された場合

うちPERFORM

  <ブロックA>
1.PERFORM …
    <ブロックX>
2.END-PERFORM.
  <ブロックB>

1.：うちPERFORMによる制御下で解析対象に関する実行文が抽出された場合

2.：明示範囲終了子のEND-PERFORMは抽出されない

そとPERFORM

  <ブロックA>
1.PERFORM PARA-2.
  PARA-1.
    <ブロックX>
  PARA-2.
    <ブロックY>
  <ブロックB>

1.：そとPERFORMで制御の移行が発生し，その制御下で解析対象に関する実行文が抽出された場合

SORT文

  <ブロックA>
1.SORT S-FILE
   ON DESCENDING KEY S-DATA
2. INPUT PROCEDURE IS INPUT-PROC
3. OUTPUT PROCEDURE IS OUTPUT-PROC.
  INPUT-PROC SECTION.
    <ブロックX>
  OUTPUT-PROC SECTION.
    <ブロックY>
  <ブロックB>

1.：関連する入出力手続きで解析対象に関する実行文が抽出された場合

2.：入力手続きの制御の移行先で解析対象に関する実行文が抽出された場合

3.：出力手続きの制御の移行先で解析対象に関する実行文が抽出された場合

MERGE文

  <ブロックA>
1.MERGE S-FILE
   ON DESCENDING KEY S-DATA
   USING IN-FILE
2. OUTPUT PROCEDURE IS OUTPUT-PROC.
  OUTPUT-PROC SECTION.
    <ブロックX>
  <ブロックB>

1.：関連する入出力手続きで解析対象に関する実行文が抽出された場合

2.：出力手続きの制御の移行先で解析対象に関する実行文が抽出された場合

CONTINUE文

−

実行文のCONTINUEは抽出しない

USE文

−

USE手続きで解析対象に関する実行文が抽出された場合

CALL文

  <ブロックA>
1.CALL …
  <ブロックB>

1.：制御の移行先で解析対象に関する実行文が抽出された場合

利用者定義関数

  <ブロックA>
1.COMPUTE … = FUNCTION FUNC(…).
  <ブロックB>

1.：制御の移行先で解析対象に関する実行文が抽出された場合

EXIT文

  <ブロックA>
1.EXIT PROGRAM.
  <ブロックB>

1.：制御の移行先で解析対象に関する実行文が抽出された場合

節・段落名

節

  <ブロックA>
1.<節名> SECTION.
  …
  <ブロックB>

1.：1.の行の節が呼び出された場合，または1.の節内で解析対象に関する実行文が抽出された場合

段落

  <ブロックA>
1.<段落名>.
  …
  <ブロックB>

1.：1.の行の段落が呼び出された場合，または1.の段落内で解析対象に関する実行文が抽出された場合

（凡例）

n.：行番号（n=1〜4）

注

解析対象に関する実行文が抽出された場合は，次のどちらかの文が抽出された場合を示します。

解析対象のデータ項目がほかのデータ項目へ影響を与える実行文

解析対象のデータ項目がほかのデータ項目から影響を受ける実行文

注※

WHEN指定の直後のWHENブロックが省略されている場合，そのWHEN指定に対応するWHENブロックは，そのあと最初に現れるWHENブロックとなります。

（例）

EVALUATE X
WHEN A
WHEN B
  <WHENブロック>
WHEN OTHER
  ：

この例では，WHEN A直後のWHENブロックが省略されているため，WHEN Aに対応するWHENブロックは，WHEN B直後のWHENブロックとなります。そのWHENブロック内に解析対象に関する実行文がある場合，制御フローを考慮した解析では，WHEN AとWHEN Bの両方を抽出します。

制御フローを考慮した解析の指定方法

cbldiaコマンドの-ControlFlowオプション，-Lineオプションおよび-Columnオプションで，実行文のデータ項目を調査対象に指定すると，実行文のデータ項目から制御フローでたどれる影響範囲に絞って解析できます。ただし，調査対象に指定できる実行文のデータ項目は，1つです。

注意事項

実行文中のCOPY文で指定する登録集定数，登録集原文名，およびその展開対象である登録集原文内部は，調査対象として指定できません。

呼び出し先プログラム内の影響2項関係の設定

呼び出し先プログラム内で，仮引数から影響を与えるデータ項目や，返却項目へ影響を与えるデータ項目の関係は，影響2項関係として抽出されません。また，ENTRY文に対しても，引数から影響を与えるデータ項目や，返却項目へ影響を与えるデータ項目の関係は，影響2項関係として抽出されません。影響波及分析の解析範囲は，呼び出し先プログラムの入口にあるデータ項目までです。

図12‒5　呼び出し先プログラムでの影響波及分析の解析範囲の例

呼び出し以外でプログラムをわたる場合の設定

外部データ項目やGLOBAL指定のデータ項目の場合

制御フローを考慮した解析では，外部データ項目（EXTERNAL句）や，GLOBAL指定のデータ項目によるプログラムをわたった解析はできません。

また，解析時には，呼び出し先プログラムと異なり，プログラムをわたった直後の入口にあるデータ項目も抽出できません。例えば，次のようなプログラムで，内側プログラムの実行文「MOVE A1 TO B1」の「B1」（太字で示す）を調査対象データ項目として，影響波及元解析を実行する場合，内側プログラム内で使用している「A1」は解析対象となりますが，外側プログラムでVALUE句に指定された「A」（下線で示す）は解析対象になりません。

（例）

    ：
 WORKING-STORAGE       SECTION.
   01 A1 GLOBAL PIC X VALUE "A".
 PROCEDURE             DIVISION.
   MOVE "S" TO A1.
*  ---
   IDENTIFICATION        DIVISION.
   PROGRAM-ID.           SUB.
   DATA                  DIVISION.
   WORKING-STORAGE       SECTION.
     01 B1 PIC X.
   PROCEDURE             DIVISION.
     MOVE A1 TO B1.
    ：

利用者定義関数の場合

制御フローを考慮した解析では，利用者定義関数によるプログラムをわたった解析はできません。

ADDRESSED句指定のデータ項目とアドレス名にアドレスが格納されたデータ項目の暗黙的影響2項関係の設定

制御フローを考慮した解析では，ADDRESSED句指定のデータ項目と，アドレス名にアドレスが格納されたデータ項目の関係は，暗黙的影響2項関係として抽出されません。

影響波及したデータ項目が，ADDRESSED句指定のデータ項目，またはアドレス名にアドレスが格納されたデータ項目である場合は，アドレスを共有する別名のデータ項目が存在することがわかるように，「アドレス別名の有無」を影響波及データ項目一覧に出力します。

12.7.2　制御ブロックの解析方針

制御フローを考慮した解析では，制御フローをたどりながら解析します。

制御フローの記述順序に従って，文から文へと制御を移行して，ほかへ制御を移行しない範囲を制御ブロックといいます。そのため，制御フローを考慮した解析では，制御ブロック中の文は記述順序のとおりに実行されるものとして扱います。

制御ブロックの移行

制御ブロック間で制御の移行が発生する文があります。制御の移行が発生する文を次に示します。

表12‒12　制御ブロック間で制御の移行が発生する文

分類

制御の移行が発生する文

制御の明示移行

手続き分岐文

CONTINUE文

GO TO文

PERFORM文

条件文

EVALUATE文

IF文

制御の暗黙移行

MERGE文

PERFORM文

SORT文

USE文

プログラム制御

CALL文

EXIT文

利用者定義関数

制御フローを考慮した解析では，プログラムの制御は，外部プログラムまたは内部プログラムをわたって，そのプログラムの引数まで解析します。

制御の移行が発生する文ごとに，制御の移行について説明します。

CONTINUE文の明示移行

CONTINUE文は無操作文で，実行に何の影響も及ぼしません。そのため，制御フローを考慮した解析では，制御ブロックに関係しないと判断します。

GO TO文の明示移行

GO TO文で段落"PARA-2"に制御が移行します。

PERFORM文の明示移行と暗黙移行

そとPERFORM文の例

1. そとPERFORM文で段落"PARA-2"に制御が移行します。

2. PERFORM文の制御下で，その制御範囲内にある段落の最後の文（DISPLAY "PARAGRAPH B".）を実行したあと，制御文へ制御の暗黙移行をします。

うちPERFORM文（ループ）の例

1. 繰り返し実行を起こすPERFORM文の制御下で実行中であり，そのPERFORM文に関連する制御機構とその段落の最初の文との間で，段落の繰り返し実行のたびに，制御の暗黙移行をします。

そとPERFORM文（ループ）の例

1. そとPERFORM文で段落"PARA-1"に制御が移行します。

2. 繰り返し実行を起こすPERFORM文の制御下で実行中であり，そのPERFORM文に関連する制御機構とその段落の最初の文との間で，段落の繰り返し実行のたびに，制御の暗黙移行をします。

そとPERFORM文（THRU構文）の例

1. そとPERFORM文で段落"PARA-1"に制御が移行します。

2. 段落"PARA-1"から処理が続く段落"PARA-2"に制御が移行します。

2. PERFORM文の制御下で，その制御範囲内にある段落"PARA-2"の最後の文（DISPLAY "PARAGRAPH B".）を実行したあと，制御文へ制御の暗黙移行をします。

注意事項

PERFORM文の制御の移行を実装する場合は，初期化漏れチェック機能の情報を参照してください。詳細は，マニュアル「COBOL2002　ユーザーズガイド」の「初期化漏れチェック機能」を参照してください。

EVALUATE文の明示移行

EVALUATE文の選択主体（データ項目：A）に対してWHENの選択対象が評価され，選択されたWHEN指定に制御が移行します。

EVALUATE文の選択主体（データ項目：A）に対してどのWHEN指定も選択されない場合に，WHEN OTHER指定があるときは，WHEN OTHER指定に制御が移行します。

各WHEN指定の最後のブロックの文からEND-EVALUATEへ制御の暗黙移行をします。

IF文の明示移行

IF文の条件が真の場合，THEN節に制御が移行します。

THEN指定のブロック内の最後の文からEND-IFへ制御の暗黙移行をします。

IF文の条件が偽の場合にELSE節があるときは，ELSE節に制御が移行します。

MERGE文の暗黙移行

MERGE文を実行する場合は，関連する入出力手続きへ制御の暗黙移行をします。

SORT文の暗黙移行

SORT文を実行する場合は，関連する入出力手続きへ制御の暗黙移行をします。

USE文の暗黙移行

USE文は，手続きの実行の条件を指定するための文で，USE文が実行されることはありません。USE文で指定される段落は，その段落内の行が調査起点として指定されたときだけ解析し，その段落内だけが解析対象となります。

EXIT文の制御移行

CALL文の引数の「SUB」が呼び出し対象プログラムとなり，プログラム呼び出しが成功した場合，制御が移行します。

EXIT文（GOBACK文含む）などのプログラム単位を終了する文がある場合，その先の文は無視して，呼び出し先プログラム（SUB）から呼び出し元のプログラムのCALL文の終わりに制御が移行します。

ALTER文の制御移行

ALTER文で行き先が変更となるGO TO文がある場合は，そのGO TO文によって制御を移行する可能性があるすべてのブロックを分岐ブロックとします。

PERFORM文によるループ区間の解析

制御フローを考慮した解析では，PERFORM文によるループ区間の途中から解析をする場合は，次のように解析します。

影響波及元解析の場合

解析の基点となる実行文から，ループ区間の開始までを解析します。

ループ区間の終了から，解析の基点となる実行文の直後までを解析します。

ループ区間の開始以前を解析します。

影響波及先解析の場合

解析の基点となる実行文から，ループ区間の終了までを解析します。

ループ区間の開始から，解析の基点となる実行文の直前までを解析します。

ループ区間の終了以降を解析します。

影響波及先解析の場合の例を次に示します。

（例）「Move A TO B」の「A」が解析の基点で，影響波及先解析の場合の例

この例では，次のように解析します。

解析の基点となる実行文（MOVE A TO B）から，ループ区間の終了（MOVE B TO C）までを解析します。

ループ区間の開始（MOVE C TO D）から，解析の基点となる実行文の直前（MOVE D TO E）までを解析します。

ループ区間の終了（DISPLAY A.）以降を解析します。

選択可能な条件指定ができる手続き文の対応

手続き文には，選択可能な条件が指定できる手続き文があります。選択可能な条件指定ができる手続き文の場合，制御フローを考慮した解析では，次の表に示すように対応します。

注意事項

実行文の条件を評価した結果，コンパイラで不要と判断された条件指定が削除される旨のメッセージが表示されることがあります。制御フローを考慮した解析では，COBOLソースファイル中のソースコードがそのまま解析されます。

表12‒13　条件指定可能な手続き文の対応

文

コード例

制御フローを考慮した解析での対応

解析時に想定する制御フロー

ACCEPT文

<ブロックA>
ACCEPT …
ON EXCEPTION
  <ON EXCEPTIONブロック>
NOT ON EXCEPTION
  <NOT ON EXCEPTIONブロック>
END-ACCEPT
<ブロックB>

ON EXCEPTIONのブロックに移行する場合の制御フロー（1.）と，ACCEPT文の処理からNOT ON EXCEPTIONのブロックに移行する場合の制御フロー（2.）の両方を想定して解析します。

<ブロックA> → <ON EXCEPTIONブロック> → <ブロックB>

<ブロックA> → <ACCEPT文の処理> → <NOT ON EXCEPTIONブロック> → <ブロックB>

ADD文

<ブロックA>
ADD … TO …
ON SIZE ERROR
  <ON SIZE ERRORブロック>
NOT ON SIZE ERROR
  <NOT ON SIZE ERRORブロック>
END-ADD
<ブロックB>

ON SIZE ERRORのブロックに移行する場合の制御フロー（1.）と，ADD文の処理からNOT ON SIZE ERRORのブロックに移行する場合の制御フロー（2.）の両方を想定して解析します。

<ブロックA> → <ON SIZE ERRORブロック> → <ブロックB>

<ブロックA> → <ADD文の処理> → <NOT ON SIZE ERRORブロック> → <ブロックB>

CALL文

<ブロックA>
CALL …
ON EXCEPTION
  <ON EXCEPTIONブロック>
NOT ON EXCEPTION
  <NOT ON EXCEPTIONブロック>
END-CALL
<ブロックB>

ON EXCEPTIONのブロックに移行する場合の制御フロー（1.）と，CALL文の処理からNOT ON EXCEPTIONのブロックに移行する場合の制御フロー（2.）の両方を想定して解析します。

<ブロックA> → <ON EXCEPTIONブロック> → <ブロックB>

<ブロックA> → <CALL文の処理> → <NOT ON EXCEPTIONブロック> → <ブロックB>

<ブロックA>
CALL …
ON OVERFLOW
  <ON OVERFLOWブロック>
END-CALL
<ブロックB>

CALL文の制御フロー（1.）と，ON OVERFLOWのブロックに移行する場合の制御フロー（2.）の両方を想定して解析します。

<ブロックA> → <CALL文の処理> → <ブロックB>

<ブロックA> → <ON OVERFLOWブロック> → <ブロックB>

COMPUTE文

<ブロックA>
COMPUTE … = …
ON SIZE ERROR
  <ON SIZE ERRORブロック>
NOT ON SIZE ERROR
  <NOT ON SIZE ERRORブロック>
END-COMPUTE
<ブロックB>

ON SIZE ERRORのブロックに移行する場合の制御フロー（1.）と，COMPUTE文の処理からNOT ON SIZE ERRORのブロックに移行する場合の制御フロー（2.）の両方を想定して解析します。

<ブロックA> → <ON SIZE ERRORブロック> → <ブロックB>

<ブロックA> → <COMPUTE文の処理> → <NOT ON SIZE ERRORブロック> → <ブロックB>

DELETE文

<ブロックA>
DELETE … RECORD
INVALID KEY
  <ON INVALID KEYブロック>
NOT INVALID KEY
  <NOT INVALID KEYブロック>
END-DELETE
<ブロックB>

ON INVALID KEYのブロックに移行する場合の制御フロー（1.）ともNOT ON INVALID KEYのブロックに移行する場合の制御フロー（2.）の両方を想定して解析します。

<ブロックA> → <ON INVALID KEYブロック> → <ブロックB>

<ブロックA> → <NOT ON INVALID KEYブロック> → <ブロックB>

DISPLAY文

<ブロックA>
DISPLAY … UPON …
ON EXCEPTION
  <ON EXCEPTIONブロック>
NOT ON EXCEPTION
  <NOT ON EXCEPTIONブロック>
END-DISPLAY
<ブロックB>

ON EXCEPTIONのブロックに移行する場合の制御フロー（1.）と，DISPLAY文の処理からNOT ON EXCEPTIONのブロックに移行する場合の制御フロー（2.）の両方を想定して解析します。

<ブロックA> → <ON EXCEPTIONブロック> → <ブロックB>

<ブロックA> → <DISPLAY文の処理> → <NOT ON EXCEPTIONブロック> → <ブロックB>

DIVIDE文

<ブロックA>
DIVIDE … INTO …
ON SIZE ERROR
  <ON SIZE ERRORブロック>
NOT ON SIZE ERROR
  <NOT ON SIZE ERRORブロック>
END-DIVIDE
<ブロックB>

ON SIZE ERRORのブロックに移行する場合の制御フロー（1.）と，DIVIDE文の処理からNOT ON SIZE ERRORのブロックに移行する場合の制御フロー（2.）の両方を想定して解析します。

<ブロックA> → <ON SIZE ERRORブロック> → <ブロックB>

<ブロックA> → <DIVIDE文の処理> → <NOT ON SIZE ERRORブロック> → <ブロックB>

EVALUATE文

<ブロックA>
EVALUATE …
WHEN …
  <WHENブロック1>
：
WHEN …
  <WHENブロックN>
：
WHEN OTHER
  <WHEN OTHERブロック>
END-EVALUATE
<ブロックB>

それぞれのＷHENのブロックに移行する場合の制御フロー（1.および2.）と，WHEN OTHERのブロックに移行する場合の制御フロー（3.）のそれぞれを想定して解析します。

<ブロックA> → <WHENブロック1> → <ブロックB>

<ブロックA> → <WHENブロックN> → <ブロックB>

<ブロックA> → <WHEN OTHERブロック> → <ブロックB>

IF文

<ブロックA>
IF <判定文> THEN
  <THENのブロック>
ELSE
  <ELSEのブロック>
END-IF
<ブロックB>

THENのブロックに移行する場合の制御フロー（1.）と，ELSEのブロックに移行する場合の制御フロー（2.）の両方を想定して解析します。

<ブロックA> → <THENブロック> → <ブロックB>

<ブロックA> → <ELSEブロック> → <ブロックB>

MULTIPLY文

<ブロックA>
MULTIPLY … BY …
ON SIZE ERROR
  <ON SIZE ERRORブロック>
NOT ON SIZE ERROR
  <NOT ON SIZE ERRORブロック>
END-MULTIPLY
<ブロックB>

ON SIZE ERRORのブロックに移行する場合の制御フロー（1.）と，MULTIPLY文の処理からNOT ON SIZE ERRORのブロックに移行する場合の制御フロー（2.）の両方を想定して解析します。

<ブロックA> → <ON SIZE ERRORブロック> → <ブロックB>

<ブロックA> → <MULTIPLY文の処理> → <NOT ON SIZE ERRORブロック> → <ブロックB>

READ文

<ブロックA>
READ … RECORD …
AT END
  <AT ENDブロック>
NOT AT END
  <NOT AT ENDブロック>
END-READ
<ブロックB>

READ文の処理からAT ENDのブロックに移行する場合の制御フロー（1.）と，READ文の処理からNOT AT ENDのブロックに移行する場合の制御フロー（2.）の両方を想定して解析します。

<ブロックA> → <READ文の処理> → <AT ENDブロック> → <ブロックB>

<ブロックA> → <READ文の処理> → <NOT AT ENDブロック> → <ブロックB>

RETURN文

<ブロックA>
RETURN … RECORD …
AT END
  <AT ENDブロック>
NOT AT END
  <NOT AT ENDブロック>
END-RETURN
<ブロックB>

RETURN文の処理からAT ENDのブロックに移行する場合の制御フロー（1.）と，RETURN文の処理からNOT AT ENDのブロックに移行する場合の制御フロー（2.）の両方を想定して解析します。

<ブロックA> → <RETURN文の処理> → <AT ENDブロック> → <ブロックB>

<ブロックA> → <RETURN文の処理> → <NOT AT ENDブロック> → <ブロックB>

REWRITE文

<ブロックA>
REWRITE …
INVALID KEY
  <ON INVALID KEYブロック>
NOT INVALID KEY
  <NOT INVALID KEYブロック>
END-REWRITE
<ブロックB>

ON INVALID KEYのブロックに移行する場合の制御フロー（1.）と，NOT ON INVALID KEYのブロックに移行する場合の制御フロー（2.）の両方を想定して解析します。

<ブロックA> → <ON INVALID KEYブロック> → <ブロックB>

<ブロックA> → <NOT ON INVALID KEYブロック> → <ブロックB>

SEARCH文

<ブロックA>
SEARCH …
AT END
  <AT ENDブロック>
WHEN
  <WHENブロック>
END-SEARCH
<ブロックB>

SEARCH文の処理からAT ENDのブロックに移行する場合の制御フロー（1.）と，SEARCH文の処理からWHENのブロックに移行する場合の制御フロー（2.）の両方を想定して解析します。

<ブロックA> → <SEARCH文の処理> → <AT ENDブロック> → <ブロックB>

<ブロックA> → <SEARCH文の処理> → <WHENブロック> → <ブロックB>

START文

<ブロックA>
START …
INVALID KEY
  <ON INVALID KEYブロック>
NOT INVALID KEY
  <NOT INVALID KEYブロック>
END-START
<ブロックB>

ON INVALID KEYのブロックに移行する場合の制御フロー（1.）と，NOT ON INVALID KEYのブロックに移行する場合の制御フロー（2.）の両方を想定して解析します。

<ブロックA> → <ON INVALID KEYブロック> → <ブロックB>

<ブロックA> → <NOT ON INVALID KEYブロック> → <ブロックB>

STRING文

<ブロックA>
STRING …
ON OVERFLOW
  <ON OVERFLOWブロック>
NOT ON OVERFLOW
  <NOT ON OVERFLOWブロック>
END-STRING
<ブロックB>

ON OVERFLOWのブロックに移行する場合の制御フロー（1.）と，STRING文の処理からNOT ON OVERFLOWのブロックに移行する場合の制御フロー（2.）の両方を想定して解析します。

<ブロックA> → <ON OVERFLOWブロック> → <ブロックB>

<ブロックA> → <STRING文の処理> → <NOT ON OVERFLOWブロック> → <ブロックB>

SUBTRACT文

<ブロックA>
SUBTRACT … FROM …
ON SIZE ERROR
  <ON SIZE ERRORブロック>
NOT ON SIZE ERROR
  <NOT ON SIZE ERRORブロック>
END-SUBTRACT
<ブロックB>

ON SIZE ERRORのブロックに移行する場合の制御フロー（1.）と，SUBTRACT文の処理からNOT ON SIZE ERRORのブロックに移行する場合の制御フロー（2.）の両方を想定して解析します。

<ブロックA> → <ON SIZE ERRORブロック> → <ブロックB>

<ブロックA> → <SUBTRACT文の処理> → <NOT ON SIZE ERRORブロック> → <ブロックB>

UNSTRING文

<ブロックA>
UNSTRING …
ON OVERFLOW
  <ON OVERFLOWブロック>
NOT ON OVERFLOW
  <NOT ON OVERFLOWブロック>
END-UNSTRING
<ブロックB>

ON OVERFLOWのブロックに移行する場合の制御フロー（1.）と，UNSTRING文の処理からNOT ON OVERFLOWのブロックに移行する場合の制御フロー（2.）の両方を想定して解析します。

<ブロックA> → <ON OVERFLOWブロック> → <ブロックB>

<ブロックA> → <UNSTRING文の処理> → <NOT ON OVERFLOWブロック> → <ブロックB>

WRITE文

<ブロックA>
WRITE …
AT END-OF-PAGE
  <AT END-OF-PAGEブロック>
NOT AT END-OF-PAGE
  <NOT AT END-OF-PAGEブロック>
END-WRITE
<ブロックB>

WRITE文の処理からAT END-OF-PAGEのブロックに移行する場合の制御フロー（1.）と，WRITE文の処理からNOT AT END-OF-PAGEのブロックに移行する場合の制御フロー（2.）の両方を想定して解析します。

<ブロックA> → <WRITE文の処理> → <AT END-OF-PAGEブロック> → <ブロックB>

<ブロックA> → <WRITE文の処理> → <NOT AT END-OF-PAGEブロック> → <ブロックB>

<ブロックA>
WRITE …
INVALID KEY
  <ON INVALID KEYブロック>
NOT INVALID KEY
  <NOT INVALID KEYブロック>
END-WRITE
<ブロックB>

ON INVALID KEYのブロックに移行する場合の制御フロー（1.）と，NOT ON INVALID KEYのブロックに移行する場合の制御フロー（2.）の両方を想定して解析します。

<ブロックA> → <ON INVALID KEYブロック> → <ブロックB>

<ブロックA> → <NOT ON INVALID KEYブロック> → <ブロックB>

12.8　ユーザ資産項目を経由した解析

データ影響波及分析のユーザ資産項目を経由した解析についての説明です。

注意事項

ユーザ資産項目を経由した解析は，バッチモードでだけ実行できます。

ユーザ資産項目を経由した解析では，COBOLデータ以外の資産を，調査対象データ項目または影響波及データとして解析します。

COBOLデータ以外の資産のことをユーザ資産項目といいます。ユーザ資産項目の種類を次に示します。

データベースの表

データベースの列

物理ファイル

ユーザ資産項目は，解析結果CSVファイル（影響波及データ項目一覧）には出力されません。ただし，ユーザ資産項目を調査対象データ項目に指定した場合は，解析結果CSVファイルのヘッダ情報（調査対象データ項目一覧）に，ユーザ資産項目を調査対象とした文字列が出力されます。

ユーザ資産項目を経由した解析には，次の種類があります。

データベースを経由した解析

物理ファイルを経由した解析

12.8.1　データベースを経由した解析

データベースを経由した解析についての説明です。

データベースを経由した解析の種類

データベースを経由した解析では，データベースの表名または列名を，影響調査および影響波及分析の対象として，影響波及を解析します。

データベースの表名や列名を起点とした影響波及の解析

データベースを経由した解析が可能な形式でCOBOLソースファイルを登録し，データベースの表名または列名を調査対象データ項目に指定します。これによって，表名または列名を解析の起点として，影響波及元解析と影響波及先解析を実行し，解析結果を調査できます。

図12‒6　データベースの表名や列名を解析の起点とした影響波及の解析

この図に示すように，調査対象データ項目「氏名」を解析の起点として，影響波及元（埋め込み変数）からの影響波及の連鎖，および影響波及先（埋め込み変数）への影響波及の連鎖を求めます。

データベースの表名や列名を経由した影響波及の解析

データベースを経由した解析が可能な形式でCOBOLソースファイルを登録すると，データベースの表名や列名とデータ項目間の影響2項関係を抽出し，表名や列名を経由した影響波及元解析と影響波及先解析が実行できます。これによって，同じ表や列を操作するデータ項目間のつながりが可視化されます。

図12‒7　データベースの表名や列名を経由した影響波及の解析

この図に示すように，「氏名」と作用対象にある埋め込み変数が影響2項関係として抽出されます。

データベースを経由した解析の手順

データベースを経由した解析を使用して影響波及を解析する手順を次に示します。

環境変数CBLDIA_MATERIAL_DBに「TRUE」を指定して，データ影響波及分析用データベースを作成する

-DBDataオプションを指定してcbldiaコマンドを実行する

なお，手順1で同時に環境変数CBLDIA_MATERIAL_DB_CHECKに「TRUE」を指定すると，データベースの表や列とCOBOLデータ項目の影響関係を抽出できないSQL文をコンパイルメッセージで検出できます。

データベースの表や列とCOBOLデータ項目の影響関係を抽出する場合は，-SQLコンパイラオプションを指定しないでください。

データベースを経由した解析でのプログラム情報収集（影響2項関係の抽出）

データベースを経由した解析で，影響2項関係を抽出するSQL文と，その文から抽出する影響2項関係を次に示します。

表12‒14　影響2項関係を抽出するSQL文と抽出する影響2項関係

項番

SQL文

影響2項関係

文

構文

影響を与える作用対象

影響を受ける作用対象

1

SELECT

SELECT 〔｛ALL｜DISTINCT｝〕 ｛列名〔,列名〕...｝

INTO 埋め込み変数〔,埋め込み変数〕...

FROM 表名

表名

表名.列名

表名.列名

埋め込み変数

2

INSERT

（列名あり）

INSERT INTO 表名〔 (列名〔,列名〕...)〕

VALUES ( 埋め込み変数〔,埋め込み変数〕...)

埋め込み変数

表名.列名

表名.列名

表名

3

INSERT

（列名なし）

INSERT INTO 表名

VALUES ( 埋め込み変数〔,埋め込み変数〕...)

埋め込み変数

表名

4

UPDATE

UPDATE 表名 SET 列名=埋め込み変数〔,列名=埋め込み変数〕...

埋め込み変数

表名.列名

表名.列名

表名

抽出規則

構文に一致するSQL文だけが影響2項関係の抽出対象です。

構文の「列名」「表名」は，マニュアル「COBOL2002　言語　拡張仕様編」の「全般規則（データベースアクセス機能）」に従います。

認可識別子の指定がある場合，影響2項関係の抽出対象外になります。

標識変数の指定がある場合，影響2項関係の抽出対象外になります。

関連項目

「付録D　データ影響波及分析の環境変数」

12.8.2　物理ファイルを経由した解析

物理ファイルを経由した解析についての説明です。

物理ファイルを経由した解析の種類

物理ファイルを経由した解析では，物理ファイルを，影響調査および影響波及分析の対象として，影響波及を解析します。

物理ファイル名を基点とした影響波及の解析

物理ファイルを経由した解析が可能な形式でCOBOLソースファイルを登録し，物理ファイル名を調査対象データ項目に指定します。これによって，物理ファイル名を起点として，影響波及元解析と影響波及先解析を実行し，解析結果を調査できます。

図12‒8　物理ファイル名を解析の起点とした影響波及分析

この図に示すように，調査対象データ項目「物理ファイル名」を解析の起点として，影響波及元（論理ファイル）からの影響波及の連鎖，および影響波及先（論理ファイル）への影響波及の連鎖を求めます。

物理ファイルを経由した影響波及の解析

物理ファイルを経由した解析が可能な形式でCOBOLソースファイルを登録すると，物理ファイル名とデータ項目間の影響2項関係を抽出し，物理ファイルを経由した影響波及元解析と影響波及先解析が実行できます。これによって，同じ物理ファイルを操作するデータ項目間のつながりが可視化されます。

図12‒9　物理ファイルを経由した影響波及分析

この図に示すように，「物理ファイル名」と作用対象にある論理ファイルが影響2項関係として抽出されます。

物理ファイルを経由した解析の手順

物理ファイルを経由した解析を使用して影響波及を解析する手順を次に示します。

環境変数CBLDIA_MATERIAL_PHYSICAL_FILEに物理ファイル名対応付けファイルを指定して，データ影響波及分析用データベースを作成する

-FileDataオプションを指定してcbldiaコマンドを実行する

物理ファイルを経由した解析でのプログラム情報収集（影響2項関係の抽出）

物理ファイルを経由した解析で，影響2項関係を抽出するタイミングと，その際に抽出する影響2項関係を次に示します。

表12‒15　影響2項関係を抽出するタイミングと抽出する影響2項関係

項番

タイミング

影響2項関係

影響を与える作用対象

影響を受ける作用対象

1

データ項目（物理ファイル名）が論理ファイルに影響を与えるとき

論理ファイル

物理ファイル名

2

データ項目（物理ファイル名）が論理ファイルから影響を受けるとき

物理ファイル名

論理ファイル

COBOLプログラムからファイルにアクセスするには，環境部のファイル管理記述項で，SELECT句で指定したCOBOLのファイル名（論理ファイル）に対して，ASSIGN句を使って物理ファイル名（OSのファイルシステム上での実体ファイル名）を割り当てる必要があります。

物理ファイルを経由した解析では，SELECT句の論理ファイル名に対して，ASSIGN句に装置名または定数を指定して割り当てた物理ファイル名が対象となります。

関連項目

「付録A.6　物理ファイル名対応付けファイル」

「付録D　データ影響波及分析の環境変数」

13　エラー時の対処

データ影響波及分析でエラーが起こったときの対処について説明します。

13.1　事例から探す

データ影響波及分析のトラブルの事例と対処を説明します。該当する事例がない場合，「13.3　メッセージから探す」を参照してメッセージの内容と対処に従うか，「13.4　エラー時に採取する情報」で示すファイルを調査してください。

13.1.1　データ影響波及分析を実行できない

データ影響波及分析を実行するときは，組み込みデータベースにアクセスしています。そのため，組み込みデータベースを使用するCOBOL2002 Developer Professionalの機能から同時に組み込みデータベースにはアクセスできません。データ影響波及分析を使用するときは，次に示す機能から組み込みデータベースにアクセスしないようにしてください。

開発マネージャのデータ影響波及分析用データベースのアクセス

DBユティリティ

そのほかのデータ影響波及分析のエラーについては，「13.3.2　メッセージの一覧」を参照してください。

13.2　パフォーマンスログを参照する

データ影響波及分析の性能を確認するため，パフォーマンスログを取得できます。パフォーマンスログを取得するときは，環境変数CBLDIA_PERFORMANCELOGを指定します。パフォーマンスログは，トラブル発生時に調査資料として必要になります。環境変数CBLDIA_PERFORMANCELOGは，システム環境変数またはユーザ環境変数に必ず指定して運用してください。

環境変数CBLDIA_PERFORMANCELOGについては，「付録D　データ影響波及分析の環境変数」を参照してください。

13.3　メッセージから探す

データ影響波及分析の操作で出力されるメッセージの説明です。

コンパイラ，テストデバッガ，およびCOBOL2002の実行時のエラーメッセージ（KCCCで始まるメッセージ）については，マニュアル「COBOL2002 メッセージ」を参照してください。

組み込みデータベースの操作（DBユティリティの操作）で出力されるメッセージについては，マニュアル「COBOL2002 Professional製品 導入ガイド」を参照してください。

13.3.1　メッセージの出力形式

データ影響波及分析を実行したときに出力されるメッセージの出力形式です。

形式

KEDLnnnnE-i XX...XX

形式の説明

KEDLnnnnE-i ：メッセージIDを示します。「i 」はメッセージの重要度を示します。メッセージの重要度には次の種類があります。

「U」：回復不能のエラーです。処理は中止されます。

「E」：エラーメッセージです。正常に動作しないトラブルが起こったことを示します。

「I」：インフォメーションメッセージです。「U」および「E」に該当しない単純な動作状況を示します。

XX...XX ：メッセージテキストを示します。

13.3.2　メッセージの一覧

データ影響波及分析の操作で出力されるメッセージと対処方法です。

(1)　cbldraコマンドのメッセージと対処

cbldraコマンドのメッセージと対処です。

表13‒1　cbldraコマンドのメッセージと対処

メッセージID

メッセージテキスト

対処

KEDL1000E-U

メモリ不足が発生しました。

メモリ不足が発生しました。

処理を中止します。

当社保守員に連絡してください。

KEDL1001E-U

内部エラーが発生しました。(要因コード *** 1 ***)

内部的に論理エラーが発生しました。

［要因コード］

FileIsNotRIF：ファイルが2項関係情報ファイルでない

UnknownTableID：認識できないテーブルID

IDNotAscendingOrder：IDが昇順でない

処理を中止します。当社保守員に連絡してください。

KEDL1002E-I

*** 1 *** の解析が完了しました。(解析：*** 2 ***秒，DB出力：*** 3 ***秒，進捗：*** 4 ***/*** 5 ***ファイル)

処理を続行します。

KEDL1003E-E

*** 1 *** の解析に失敗しました。データベースは更新されませんでした。

コンパイルで構文エラーになりました。

そのソースファイル名を無視して続行します。

コンパイルできるようにCOBOLソースを修正してください。

KEDL1004E-I

データベース中の *** 1 *** の情報は最新のため，更新されませんでした。

COBOLソースファイルの情報がデータベースに格納済みのため，-Quickオプションで処理をスキップしました。

処理を続行します。

KEDL1005E-I

全解析終了(解析：*** 1 ***分 *** 2 ***秒，DB出力：*** 3 ***分 *** 4 ***秒，成功=*** 5 *** 失敗=*** 6 ***)

処理を続行します。

KEDL1006E-I

*** 1 *** の解析情報をデータ影響波及分析用データベースに出力しました。(*** 2 ***秒)

処理を続行します。

KEDL1007E-I

データベースの初期化完了(*** 1 ***分 *** 2 ***秒)

処理を続行します。

KEDL1008E-I

*** 1 *** の情報を削除しました。(*** 2 ***分 *** 3 ***秒)

処理を続行します。

KEDL1009E-U

COBOL2002が正しくインストールされていません。

処理を中止します。COBOL2002をインストール，または再インストールしてください。

KEDL1010E-U

コンパイラが起動できません。*** 1 *** (*** 2 ***)

COBOL2002コンパイラの実行ファイルが存在しないなどの要因でコンパイラが起動できません。

処理を中止します。メッセージ中に示されたコンパイラのパス，エラー要因を基に環境を見直してください。

KEDL1011E-U

DBユティリティまたは他のデータ影響波及分析のツールがデータベースを使用中です。

DBユティリティが起動されています。または使用中のほかのデータ影響波及分析のツールがデータベースにアクセス中です。

処理を中止します。DBユティリティを終了させて再実行してください。または実行中のほかのデータ影響波及分析のツールがデータベースへのアクセスを終了するのを待って再実行してください。

KEDL1012E-U

他のユーザがデータベースを使用中です。

DBユティリティがほかのユーザによって起動されています。またはほかのユーザによって使用されているデータ影響波及分析のツールがデータベースにアクセス中です。

処理を中止します。ほかのユーザのツールの終了後に再実行してください。

KEDL1013E-E

ソースプログラムが大き過ぎます。ソースファイルを分割してください。ソースファイル名＝*** 1 ***

ソースファイルから生成される2項関係情報ファイルのサイズが大き過ぎます。

処理を中止します。ソースファイルを分割するか，使用していない登録集原文ファイルがあればCOPY文をコメント化するなど，読み込まないように修正してください。

KEDL1014E-E

取り込まれる登録集原文が大き過ぎます。登録集原文を分割してください。

取り込まれる登録集原文から生成される2項関係情報ファイルのサイズが大き過ぎます（7MBを超えています）。

処理を中止します。登録集原文を分割してください。

KEDL1016E-U

プログラムの実行がキャンセルされました。

cbldraコマンドの実行中に［Ctrl］+［C］キーで処理を中断しました。

処理を中止します。cbldraコマンドを再実行してください。

KEDL1017E-U

本製品の前提と異なるバージョンのCOBOL2002製品がインストールされています。前提バージョンのCOBOL2002製品をインストールし直してから，再起動してください。

COBOL2002 Professional Tool Kitと異なるバージョン/リビジョンのCOBOL2002 Net Developerがインストールされています。

同じバージョン/リビジョンのCOBOL2002 Net Developerをインストールしてから，cbldraコマンドを再実行してください。

KEDL1019E-U

COBOL2002 Professional Tool Kitの環境が壊れています。COBOL2002 Professional Tool Kitを再インストールしてください。

次の要因でCOBOL2002 Professional Tool Kitの製品レジストリにアクセスできません。

COBOL2002 Professional Tool Kitのインストールに失敗している。

COBOL2002 Professional Tool Kitの製品レジストリが壊れている。

COBOL2002 Professional Tool Kitのインストールフォルダ内のEXE/DLLファイルが不当に上書きされている。

処理を中止します。COBOL2002 Professional Tool Kitをアンインストールしてから，再度インストールしてください。

KEDL1101E-U

*** 1 *** オプションの引数が不正です。

オプションの引数にCOBOLソースファイル名を指定しています。

処理を中止します。オプションを修正してください。

KEDL1102E-U

*** 1 *** オプションに引数がありません。

引数が必要なオプションに，引数が指定されていません。

処理を中止します。オプションを修正してください。

KEDL1103E-U

*** 1 *** は不正なオプションです。

使用できないオプション名を指定しています。

処理を中止します。オプションを修正してください。

KEDL1105E-U

-SourcePathオプション指定時はパス付きのソースファイル名を指定できません。

処理を中止します。オプションを修正してください。

KEDL1107E-U

ファイル名のパスの部分にワイルドカードは指定できません。

処理を中止します。オプションを修正してください。

KEDL1108E-U

サブシステム名 *** 1 *** が不正です。

サブシステム名に次の文字が含まれています。

「¥」「/」「:」「;」「*」「?」「"」「<」「>」「|」「@」および空白

サブシステム名が30文字を超えています。

処理を中止します。正しいサブシステム名を指定してください。

KEDL1109E-U

モジュール名 *** 1 *** が不正です。

モジュール名に次の文字が含まれています。

「¥」「/」「:」「*」「?」「"」「<」「>」「|」

モジュール名が256文字を超えています。

処理を中止します。正しいモジュール名を指定してください。

KEDL1110E-U

ソースファイルの指定がありません。

ソースファイルの指定がありません。

処理を中止します。ソースファイルを指定してください。

KEDL1112E-U

-rオプションは-SourcePathオプション指定時だけ有効です。

処理を中止します。オプションを修正してください。

KEDL1113E-U

-SourcePathオプションに指定したフォルダが存在しません。

cbldraコマンドの-SourcePathオプションに指定したフォルダが存在しません。-SourcePathに複数のフォルダが指定されている場合はそのすべてが存在しません。

処理を中止します。オプションを修正してください。

KEDL1114E-U

*** 1 ***オプションと*** 2 ***オプションは同時に指定できません。

処理を中止します。不要な方のオプションを削除してください。

KEDL1116E-U

ソースファイル名 *** 1 *** が不正です。

ソースファイル名に次の文字が含まれています。

「/」「"」「<」「>」「|」

拡張子がCOBOLソースのものではありません。

処理を中止します。正しいソースファイルを指定してください。

KEDL1119E-U

-Delete,SubSystemオプション指定時，-SubSystemオプションを指定しなければなりません。

cbldraコマンドの-Delete,SubSystemオプションが指定されていますが，-SubSystemオプションの指定がありません。

処理を中止します。-SubSystemオプションを指定してください。

KEDL1120E-U

-Delete,Moduleオプション指定時，-SubSystemオプションおよび-ModuleNameオプションを指定しなければなりません。

cbldraコマンドの-Delete,Moduleオプションが指定されていますが，-SubSystemオプションおよび-ModuleNameオプションの指定がありません。

処理を中止します。-SubSystemオプションと-ModuleNameオプションを指定してください。

KEDL1121E-U

*** 1 ***オプションとソースファイルは同時に指定できません。

処理を中止します。不要なオプションまたはソースファイル名を削除してください。

KEDL1123E-U

データ領域番号 *** 1 *** が不正です。

-DataAreaオプションまたは-InitializeDataAreaオプションに1〜5以外の数字を指定しています。

処理を中止します。データ領域番号に1〜5の数字を指定してください。

KEDL1201E-E

ソースファイル *** 1 *** が見つかりません。

ソースファイルの指定が間違っています。そのソースファイル名を無視して処理を続行します。

正しいソースファイルを指定してください。

KEDL1202E-E

ソースファイル *** 1 *** にアクセス権限がありません。

ソースファイルを参照する権限がありません。そのソースファイル名を無視して処理を続行します。ソースファイルを参照する権限を付加してください。

KEDL1203E-U

環境変数CBLFIXまたはCBLFREEに.cbeは指定できません。

環境変数CBLFIXまたはCBLFREEに.cbeが指定されています。

環境変数CBLFIXまたはCBLFREEの指定を無視します。環境変数CBLFIXまたはCBLFREEに正しい値を設定してください。

KEDL1204E-U

2項関係情報ファイル *** 1 *** が見つかりません。

COBOL2002コンパイラが作成した2項関係情報ファイル（インタフェースファイル）がファイルやフォルダの移動・削除などの操作で参照できなくなりました。

処理を中止します。再実行し，同じ現象が発生する場合は当社保守員に連絡してください。

KEDL1205E-U

2項関係情報ファイル *** 1 *** にアクセス権がありません。

2項関係情報ファイルを参照する権限がありません。

処理を中止します。2項関係情報ファイルを参照する権限を与えるかまたは削除してやり直してください。

KEDL1206E-U

2項関係情報ファイル *** 1 *** が開けません。

カレントフォルダ（開発マネージャの場合は作業フォルダ）が深過ぎます。

処理を中止します。要因が該当しない場合は当社保守員に連絡してください。

KEDL1207E-U

2項関係情報ファイル *** 1 *** が削除できません。

2項関係情報ファイルに書き込み権がありません。

処理を中止します。2項関係情報ファイルに書き込み権限を与えるかまたは削除してやり直してください。

KEDL1301E-U

データベースの接続に失敗しました。詳細メッセージ＝(*** 1 ***)

データベース接続時にデータベース管理システムまたはODBC操作でエラーが発生しました。

処理を中止します。「(4) 組み込みデータベースのメッセージと対処」を基にエラーの原因を調査してください。

KEDL1302E-U

データベースがまだ作成されていません。

データベースを作成しないで参照しようとしました。

処理を中止します。データ影響波及分析用データベースを作成して再実行してください。

KEDL1305E-U

データ影響波及分析用データベースはCOBOL2002 Professional Tool Kit *** 1 ***で作成されています。インタフェースが異なるので更新できません。DBユティリティでデータベースをアンセットアップした後で再度セットアップしてください。

データ影響波及分析用データベースが古いバージョンで作成されたデータベースです。

処理を中止します。DBユティリティでデータベースをアンセットアップした後で再度セットアップして再実行してください。

KEDL1306E-U

データ影響波及分析用データベースはすでに32ビット版COBOL2002 Professional Tool Kit で使用されています。cbldraコマンドの-InitializeDatabaseオプションでデータベースを初期化して再実行してください。

32ビットと64ビットのCOBOL2002 Professional Tool Kitが混在しています。

処理を中止します。cbldraコマンドの-InitializeDatabaseオプションでデータベースを初期化して再実行してください。

KEDL1307E-U

データ影響波及分析用データベースはすでに64ビット版COBOL2002 Professional Tool Kit で使用されています。cbldraコマンドの-InitializeDatabaseオプションでデータベースを初期化して再実行してください。

32ビットと64ビットのCOBOL2002 Professional Tool Kitが混在しています。

処理を中止します。cbldraコマンドの-InitializeDatabaseオプションでデータベースを初期化して再実行してください。

KEDL1308E-U

サブシステム名 *** 1 *** がデータベース内に見つかりません。

サブシステム名が正しくありません。

処理を中止します。データベース中のサブシステム名を確認してください。

KEDL1309E-U

モジュール名 *** 1 *** がデータベース内に見つかりません。

モジュール名が正しくありません。

処理を中止します。データベース中のモジュール名を確認してください。

KEDL1310E-U

データベース内のサブシステムの数が上限を超えました。

サブシステムの数が上限を超えました。

処理を中止します。不要なサブシステムを削除して再実行してください。

KEDL1311E-U

データベース内のファイルの数が上限を超えました。

データベース内のファイルの数が上限（99999）を超えました。またはサブシステム内のファイルの数が上限（9999）を超えました。

処理を中止します。データベースのファイル数が上限（99999）を超えている場合は不要なサブシステムを削除してください。サブシステムのファイル数が上限（9999）を超えている場合はサブシステムを複数に分割してください。

KEDL1313E-U

データベースの処理中にエラーが発生しました。詳細メッセージ＝(*** 1 ***)

データベース管理システムまたはODBC操作でエラーが発生しました。

処理を中止します。組み込みデータベースの詳細メッセージを基にエラーの原因を調査してください。

KEDL1315E-U

サブシステム *** 1 *** はすでにデータ領域 *** 2 *** に割り当てられています。

作成済みのサブシステムを作成済みのデータ領域と違う場所に作成しようとしています。

処理を中止します。別のサブシステム名を割り当ててください。または，データ領域番号を，サブシステムを作成済みのデータ領域番号に変更してください。

KEDL1325E-U

データ影響波及分析用データベースはすでにCBLDIA_CREATE_CONTROLFLOW=*** 1 ***で作成されています。cbldraコマンドの-InitializeDatabaseオプションでデータベースを初期化して再実行してください。

環境変数CBLDIA_CREATE_CONTROLFLOWで指定した形式と，すでに登録しているデータ影響波及分析用データベースの作成形式が異なります。

処理を中止します。cbldraコマンドの-InitializeDatabaseオプションでデータベースを初期化して再実行してください。

KEDL1326E-U

制御フローを考慮した解析が可能なデータベースに制御フローの情報のデータ形式が異なるデータが登録されています。cbldraコマンドの-InitializeDatabaseオプションでデータベースを初期化して再実行してください。

制御フローを考慮した解析が可能なデータベースに，04-30のバージョンで作成した互換性がない形式のデータが登録されています。

処理を中止します。cbldraコマンドの-InitializeDatabaseオプションでデータベースを初期化して再実行してください。

KEDL1327E-U

制御フローを考慮した解析が可能なデータベースに制御フローの情報のデータ形式が異なるデータを登録しようとしています。

前提のCOBOL2002製品をインストールし直してから，cbldraコマンドを再実行してください。

COBOL2002 Professional Tool Kitの前提と異なるCOBOL2002 Net Developerがインストールされています。

処理を中止します。COBOL2002 Professional Tool Kitの前提となるCOBOL2002製品をインストールしてから，cbldraコマンドを再実行してください。

(2)　cbldiaコマンドのメッセージと対処

cbldiaコマンドのメッセージと対処です。

表13‒2　cbldiaコマンドのメッセージと対処

メッセージID

メッセージテキスト

対処

KEDL3000E-U

メモリ不足が発生しました。

影響範囲解析でデータベースから読み込んだソースファイル解析情報の数が多過ぎます。

処理を中止します。1回の影響範囲解析でデータベースから読み込むソースファイルの数を次の方法で削減してください。

サブシステムを複数指定しない。

調査対象データ項目を多数指定しない。

フィルタリングファイルを使って分析範囲を狭める。

1つのサブシステムが大きい場合は，複数に分割して小さな単位で分析する。

KEDL3001E-U

論理エラーが発生しました。

エラー情報=*** 1 ***

内部論理矛盾が発生しました。

処理を中止します。次のように対処してください。

制御フローを考慮した解析で，対象のプログラムで78定数名をVALUE句に記述している場合，制御フローを考慮した解析を使用しないで解析を再実行してください。

上記以外の場合，当社保守員に連絡してください。

KEDL3002E-I

調査対象データ項目の設定を開始します。

処理を続行します。

KEDL3003E-I

調査対象データ項目を *** 1 *** 個設定しました。(処理時間：*** 2 ***)

処理を続行します。

KEDL3004E-I

解析が完了しました。(解析：*** 1 ***，進捗：*** 2 ***/*** 3 ***，対象：*** 4 ***)

処理を続行します。

KEDL3005E-I

全解析終了(処理時間：*** 1 ***)

処理を続行します。

KEDL3006E-I

解析範囲を設定しました。(全プログラム：*** 1 *** 個)

処理を続行します。

KEDL3007E-I

解析状況 (状態：*** 1 ***，経過時間：*** 2 ***，影響プログラム：*** 3 ***個，影響データ：*** 4 ***個，進捗：*** 5 ***，対象：*** 6 ***)

処理を続行します。

KEDL3010E-I

解析開始 *** 1 ***，進捗：*** 2 ***，対象：*** 3 *** [*** 4 ***]

処理を続行します。

KEDL3011E-I

*** 1 *** *** 2 ***，影響：*** 3 ***個[*** 4 ***個]

処理を続行します。

KEDL3012E-I

調査対象関連一覧ファイルの出力が完了しました。（処理時間：*** 1 ***）

処理を続行します。

KEDL3013E-U

COBOL2002が正しくインストールされていません。

処理を中止します。COBOL2002をインストール，または再インストールしてください。

KEDL3014E-U

COBOL2002 Professional Tool Kitの環境が壊れています。COBOL2002 Professional Tool Kitを再インストールしてください。

次の要因でCOBOL2002 Professional Tool Kitの製品レジストリにアクセスできません。

COBOL2002 Professional Tool Kitのインストールに失敗している。

COBOL2002 Professional Tool Kitの製品レジストリが壊れている。

COBOL2002 Professional Tool Kitのインストールフォルダ内のEXE/DLLファイルが不当に上書きされている。

処理を中止します。COBOL2002 Professional Tool Kitをアンインストールしてから，再度インストールしてください。

KEDL3101E-U

*** 1 *** は不正なオプションです。

不正なオプションが指定されました。

処理を中止します。オプションを修正してください。

KEDL3102E-U

*** 1 *** オプションの引数が不正です。

不正なオプション引数が指定されました。

処理を中止します。オプションを修正してください。

KEDL3103E-U

*** 1 *** オプションの引数がありません。

オプション引数が指定されていません。

処理を中止します。オプションを修正してください。

KEDL3105E-U

-Dataオプションを指定する必要があります。

-Dataオプションが指定されていません。

処理を中止します。オプションを修正してください。

KEDL3106E-U

該当するデータ名が見つかりません。

次のような要因が考えられます。

プログラムで宣言されていないデータ項目の名前を指定した

手続き部で参照されていないデータ項目の名前を指定した

予約語などのデータ項目の名前でない文字列を指定した

指定した行番号に存在しないデータ項目の名前を指定した

指定したカラム番号に存在しないデータ項目の名前を指定した

処理を中止します。有効なデータ項目の名前を指定するか，行番号およびカラム番号を修正してください。

KEDL3110E-U

-ProgramImpactLevelオプションの波及レベルの値が不正です。

波及レベルに不正な値が設定されました。

処理を中止します。波及レベルの値を修正してください。

KEDL3111E-U

-ControlFlowオプション指定時に複数の調査対象データ項目は指定できません。

-ControlFlowオプション指定時に複数の調査対象データ項目を選択しました。

処理を中止します。次の方法で選択する調査対象データ項目を1つにしてください。

指定する-Dataオプションを1つにする

-Dataオプションにプログラム名を指定する

-Dataオプションにファイル名を指定する

-SubSystemオプションでサブシステムを指定する

なお，-OutputTargetListオプションを指定して調査対象一覧を出力すると，重複した調査対象データ項目を一覧に出力できます。

KEDL3113E-U

*** 1 *** オプションと *** 2 *** オプションは同時に指定できません。

処理を中止します。不要な方のオプションを削除してください。

KEDL3114E-U

-ControlFlowオプション指定時，-Lineオプションを指定する必要があります。

-ControlFlowオプション指定時に，-Lineオプションを指定しないで解析を実行しました。

処理を中止します。-ControlFlowオプション指定時は，-Lineオプションを指定してください。

KEDL3115E-U

指定したデータ名が複数現れる場合，-Columnオプションを指定する必要があります。

-Lineオプションで指定した行に，-Dataオプションで指定したデータ名が複数現れる場合に，-Columnオプションを指定しないで解析を実行しました。

処理を中止します。-Lineオプションで指定した行に，-Dataオプションで指定したデータ名が複数現れる場合は，-Columnオプションを指定してください。

KEDL3116E-U

現在使用しているデータベースでは，-ControlFlowオプションを指定した解析はできません。

環境変数CBLDIA_CREATE_CONTROLFLOWに「FALSE」を指定して作成されたデータ影響波及分析用データベースを使用して，-ControlFlowオプションを指定した解析を実行しました。

処理を中止します。

環境変数CBLDIA_CREATE_CONTROLFLOWに「TRUE」を指定して作成されたデータ影響波及分析用データベースを使用してください。

KEDL3200E-U

データ影響波及分析用データベースと同期が取れていないファイルが *** 1 *** 本ありました。

*** 2 ***

解析範囲でデータベース作成時のソースファイルが存在しません。または，ソースファイルのタイムスタンプがデータベース作成時と一致しません。

処理を中止します。次のように対処してください。

見つからなかったファイルがある場合

・正しい位置にファイルを配置する。

・プログラム情報フィルタリングファイルで解析範囲から除外する。

タイムスタンプが不一致になったファイルがある場合

・修正後のソースファイルでデータベースを更新する。

・ソースファイルをデータベース更新時の状態に戻す。

・プログラム情報フィルタリングファイルで解析範囲から除外する。

同期が取れていないファイルはあるが処理を続行して問題ないと判断できる場合

-Forceオプションを指定して再実行する。ファイル内容に変更がなく，タイムスタンプだけが変わっているファイルについては，対応不要である。

KEDL4101E-U

内部エラーが発生しました。(要因コード *** 1 ***)

内部論理矛盾が発生しました。

処理を中止します。当社保守員に連絡してください。

KEDL4103E-U

影響範囲解析で使用するメモリの総量が上限値*** 1 ***を超えました。調査対象データ項目を複数指定している場合は削減してください。また解析対象のソースファイルを削減してください。

解析対象となったデータ項目の数が多過ぎます。

処理を中止します。調査対象データ項目の数を減らしてください。また，1回の影響範囲解析でデータベースから読み込むソースファイルの数を次の方法で削減してください。

サブシステムを複数指定しない。

調査対象データ項目を多数指定しない。

フィルタリングファイルを使って分析範囲を狭める。

1つのサブシステムが大きい場合は，複数に分割して小さな単位で分析する。

KEDL4301E-U

プログラム情報フィルタリングファイル *** 1 *** が見つかりません。

ファイルが見つかりません。

処理を中止します。有効なファイルに修正してください。

KEDL4302E-U

プログラム情報フィルタリングファイル *** 1 *** に参照権限がありません。

ファイルへの参照権限がありません。

処理を中止します。ファイルへの参照権限を付与してください。

KEDL4303E-U

プログラム情報フィルタリングファイル *** 1 *** を解析中に入出力エラーが発生しました。

次のような要因が考えられます。

ディスク障害

ネットワークドライブ使用時のネットワーク障害

処理を中止します。エラーの要因を調査して取り除き，再実行してください。原因不明の場合は，当社保守員に連絡してください。

なし

調査状態保存ファイル *** 1 *** が存在しないため，開けませんでした。

ファイルが見つかりません。

処理を中止します。存在するファイルを指定してください。

なし

調査状態保存ファイル *** 1 *** に参照権限がないため，開けませんでした。

ファイルへの参照権限がありません。処理を中止します。ファイルへの参照権限を付与してください。

なし

調査状態保存ファイル *** 1 *** から状態を復元中に，ファイル入出力エラーが発生しました。詳細情報＝(*** 2 ***)

次のような要因が考えられます。

前バージョンの調査状態保存ファイルを指定した。

ファイルの内容が不正に編集された

ディスク障害

ネットワークドライブ使用時のネットワーク障害

1.の場合，詳細情報に「ファイルのバージョンが有効ではありません。」が表示されます。

2.の場合，詳細情報に「ファイルの種別が不正です。」が表示されます。

1.，2.以外の場合，詳細情報に「I/O error」が表示されます。

処理を中止します。詳細情報の内容に従い，エラーの要因を調査して取り除き，再実行してください。原因不明の場合は，当社保守員に連絡してください。

KEDL4307E-U

ファイル *** 1 *** が見つかりません。解析を中断しました。

影響波及データ／影響波及コード／影響波及プログラムが記述されているファイルが見つかりません。

処理を中止します。データベース作成時と同じフォルダにファイルを格納してください。または，見つからなかったファイルをプログラム情報フィルタリングファイルで除外してください。

KEDL4308E-U

ファイル *** 1 *** への参照権限がないため，解析を中止しました。

影響が波及しているファイルの参照権限がありません。

処理を中止します。ファイルへの参照権限を付与してください。

KEDL4309E-U

ファイル *** 1 *** が存在しないため，解析結果CSVファイルの出力を中断しました。

影響波及データ／影響波及コード／影響波及プログラムが記述されているファイルが見つかりません。

処理を中止します。プログラム情報データベース作成時に使用したファイルをソースフォルダに格納してください。

KEDL4310E-U

ファイル *** 1 *** への参照権限がないため，解析結果CSVファイルの出力を中断しました。

影響波及データ／影響波及コード／影響波及プログラムが記述されているファイルの参照権限がありません。

処理を中止します。ファイルへの参照権限を付与してください。

なし

ソースファイル *** 1 *** への参照権限がないため，ファイルを開けませんでした。

影響波及データ／影響波及コード／影響波及プログラムが記述されているファイルの参照権限がありません。

エラー原因となったユーザ操作の直前の画面状態に戻ります。ファイルへの参照権限を付与してください。

なし

ソースファイル *** 1 *** が存在しないため，ファイルを開けませんでした。

影響波及データ／影響波及コード／影響波及プログラムが記述されているファイルが見つかりません。

エラー原因となったユーザ操作の直前の画面状態に戻ります。データベース作成時と同じフォルダにファイルを格納してください。

KEDL4313E-U

ファイル *** 1 *** の指定が不正です。

ファイルパスとして有効な文字列が指定されていません。

処理を中止します。ファイルパスとして有効な文字列になるように修正してください。

KEDL4401E-U

ファイル書き込み権限がないため，解析結果CSVファイルを出力できませんでした。

フォルダまたは既存ファイルに書き込み権限がありません。

処理を中止します。書き込み権限を設定してください。

KEDL4402E-U

解析結果CSVファイルを出力処理中に，ファイル入出力エラーが発生しました。

次のような要因が考えられます。

ディスク障害

ネットワークドライブ使用時のネットワーク障害

ディスクの容量不足

処理を中止します。エラーの要因を調査して取り除き，再実行してください。原因不明の場合は当社保守員に連絡してください。

KEDL4403E-U

ファイル書き込み権限がないため，タグファイルを出力できませんでした。

フォルダまたはファイルに書き込み権限がありません。

処理を中止します。書き込み権限を設定してください。

KEDL4404E-U

タグファイルを出力処理中に，ファイル入出力エラーが発生しました。

次のような要因が考えられます。

ディスク障害

ネットワークドライブ使用時のネットワーク障害

ディスクの容量不足

処理を中止します。エラーの要因を調査して取り除き，再実行してください。原因不明な場合は当社保守員に連絡してください。

なし

ファイルの書き込み権限がないため，調査状態保存ファイルを保存できませんでした。

ファイルの書き込み権限がありません。

エラー原因となったユーザ操作の直前の画面状態に戻ります。書き込み権限を設定してください。

なし

調査状態保存ファイルを保存中に入出力エラーが発生しました。

次のような要因が考えられます。

ディスク障害

ネットワークドライブ使用時のネットワーク障害

ディスクの容量不足

エラー原因となったユーザ操作の直前の画面状態に戻ります。エラーの要因を調査して取り除き，再実行してください。原因不明な場合は当社保守員に連絡してください。

なし

ファイル *** 1 *** はすでに存在します。上書き保存しますか？

すでにファイルが存在します。

確認用ダイアログを表示します。確認用ダイアログに従い上書き保存するかどうかを選択してください。

KEDL4408E-U

ファイル書込み権限がないため，ログファイルを出力できませんでした。

次のような要因が考えられます。

-OutputLogオプションで指定された出力ファイル名とリダイレクト先ファイル名が同一である

-OutputLogオプションで指定された出力ファイル，またはフォルダに書き込み権限がない

処理を中止します。次のどれかに該当していないかを確認してください。

-OutputLogオプションで指定した出力先ファイル名がリダイレクト先ファイル名と同一でないか

-OutputLogオプションで指定した出力ファイルやフォルダに書き込み権限があるか

KEDL4409E-U

*** 1 *** の空き容量が不足しています。

出力先フォルダパスの空き容量が，解析結果CSVファイル，タグファイルの合計サイズ，調査対象関連一覧ファイルの合計サイズの制限値よりも小さくなっています。

処理を中止します。次のように対処してください。

環境変数CBLDIA_MAXRESULTFILESIZEに設定する値を出力先フォルダパスの空き容量よりも小さくする。

空き容量を増やす。

空き容量の大きい出力先フォルダパスに変更する。

KEDL4410E-U

出力するファイルの合計サイズが *** 1 *** MBよりも大きくなるため，ファイルの出力を中断しました。

出力するファイルの合計サイズが，解析結果CSVファイル，タグファイルの合計サイズ，調査対象関連一覧ファイルの合計サイズの制限値よりも大きくなっています。

処理を中止します。次のように対処してください。

調査対象データ項目の数を減らす。

一度に出力する解析結果CSVファイル，タグファイル，または調査対象関連一覧ファイルの数を減らす。

環境変数CBLDIA_MAXRESULTFILESIZEに設定する値を出力先フォルダパスの空き容量の範囲で大きくする。

KEDL4501E-U

プログラム情報フィルタリングファイル *** 1 *** (line *** 2 ***)が不正です。

記述されている構文が不正です。

処理を中止します。メッセージ内の行番号を基に原因を調査して修正してください。

KEDL4601E-U

ODBCデータソース名 *** 1 *** が不正です。

次の要因が考えられます。

ODBCデータソース名に半角英数字および下線以外が使用されている。

ODBCデータソース名が32バイトを超えている。

処理を中止します。正しいODBCデータソース名（32バイト以内で英数字文字と下線から構成されること）を指定してください。

KEDL4602E-U

サブシステム名 *** 1 *** が無効です。

指定されたサブシステム名がデータベースに登録されていません。

処理を中止します。有効なサブシステム名に修正してください。

KEDL4603E-U

データベース作成後にソースファイル *** 1 *** が変更されています。解析を中断しました。

影響が波及しているファイルのサイズと，データベースに登録されているファイルのサイズが不一致です。

処理を中止します。データベース作成時に使用したものと異なるソースファイルを調査し，データベースの情報と同期させてください。例えば，次のどらかの方法があります。

ソースプログラムのプログラム情報をデータベースに再登録する。

ソースファイルをデータベース作成時のソースファイルに置き換える。

KEDL4604E-U

データベース作成後にソースファイル *** 1 *** が変更されています。解析結果CSVファイルの出力を中断しました。

影響波及データ／影響波及コード／影響波及プログラムが記述されているファイルのサイズと，データベースに登録されているファイルのサイズが不一致です。

処理を中止します。データベース作成時に使用したものと異なるソースファイルを調査し，データベースの情報と同期させてください。例えば，次のどらかの方法があります。

ソースプログラムのプログラム情報をデータベースに再登録する。

ソースファイルをデータベース作成時のソースファイルに置き換える。

なし

影響範囲の解析後にソースファイル *** 1 *** が変更されています。ファイルを開けません。

影響が波及しているファイルのタイムスタンプと，データベースとの同期チェック時のファイルのタイムスタンプが不一致です。

エラー原因となったユーザ操作の直前の画面状態に戻ります。ファイルを影響範囲の解析時の状態に戻してください。

KEDL4606E-U

DBユティリティまたは他のデータ影響波及分析のツールがデータベースを使用中です。

DBユティリティが起動されています。または，使用中のほかのデータ影響波及分析のツールがデータベースにアクセスしています。

処理を中止します。DBユティリティを終了してから再実行してください。または，実行中のほかのデータ影響波及分析のツールからデータベースへのアクセスが終了するのを待って再実行してください。

KEDL4607E-U

他のユーザがデータベースを使用中です。

DBユティリティがほかのユーザによって起動されています。または，ほかのユーザによって使用されているデータ影響波及分析のツールがデータベースにアクセスしています。

処理を中止します。ほかのユーザによって使用されているツールの終了後に再実行してください。

KEDL4608E-U

データベースの処理中にエラーが発生しました。詳細メッセージ=(*** 1 ***)

データベース管理システムまたはODBC操作でエラーが発生しました。

処理を中止します。詳細メッセージを基にエラーの原因を調査してください。

KEDL4609E-U

データベースのデータ名検索の結果が上限(*** 1 ***件)を超えました。

データ名検索の結果が上限を超えました。

処理を中止します。検索結果を絞り込むようにデータ名指定を変更してください。

KEDL4610E-U

データベースがまだ作成されていません。

データベースを作成しないで参照しようとしました。

処理を中止します。データ影響波及分析用データベースを作成して再実行してください。

KEDL4611E-U

該当する登録集原文ファイルが上限(100件)を超えました。

データベースのデータ名で検索する際のファイル名指定で，該当する登録集原文ファイルが上限を超えました。

処理を中止します。検索対象にする登録集原文ファイルを次の方法で削減してください。

サブシステムを複数指定しない。

フィルタリングファイルを使って分析範囲を狭める。

絞り込むようにファイル名指定を変更する。

KEDL4612E-U

データ影響波及分析用データベースはCOBOL2002 Professional Tool Kit *** 1 ***で作成されています。インタフェースが異なるので参照できません。

データ影響波及分析用データベースが古いバージョンで作成されたデータベースです。

処理を中止します。データベースを再作成してください。

KEDL4613E-U

データベースの接続に失敗しました。詳細メッセージ＝(*** 1 ***)

データベース接続時にデータベース管理システムまたはODBC操作でエラーが発生しました。

処理を中止します。詳細メッセージを基にエラーの原因を調査してください。

KEDL4614E-U

フォルダ対応付けファイル *** 1 *** が見つかりません。

ファイルが見つかりません。

処理を中止します。環境変数CBLDIA_REMAPFILEの指定値が誤っていないか確認し，正しく修正してから再実行してください。

KEDL4615E-U

フォルダ対応付けファイル *** 1 *** に参照権限がありません。

ファイルへの参照権限がありません。処理を中止します。ファイルへの参照権限を付与してください。

KEDL4616E-U

フォルダ対応付けファイル *** 1 *** を入力中にエラーが発生しました。

次のような要因が考えられます。

ディスク障害

ネットワークドライブ使用時のネットワーク障害

処理を中止します。エラーの要因を調査して取り除き，再実行してください。原因不明の場合は当社保守員に連絡してください。

KEDL4617E-U

フォルダ対応付けファイルが不正です。*** 1 *** (line *** 2 ***)

次のような要因が考えられます。

半角の=>が指定されていない

1行中に複数の=>が存在する

=>の前後に空白がない

処理を中止します。環境変数CBLDIA_REMAPFILEが示すフォルダ対応付けファイルの記述内容を確認し，正しく修正してください。

KEDL4618E-U

フォルダ対応付けファイルに，同じ変換前フォルダ名が複数指定されています。*** 1 *** (line *** 2 ***)

同じ変換前フォルダ名が複数指定されています。

処理を中止します。環境変数CBLDIA_REMAPFILEが示すフォルダ対応付けファイルの記述内容を確認し，正しく修正してください。

KEDL4619E-U

フォルダ対応付けファイルに，同じ変換後フォルダ名が複数指定されています。*** 1 *** (line *** 2 ***)

同じ変換後フォルダ名が複数指定されています。

処理を中止します。環境変数CBLDIA_REMAPFILEが示すフォルダ対応付けファイルの記述内容を確認し，正しく修正してください。

KEDL4620E-U

フォルダ対応付けファイルの変換前フォルダ名と変換後フォルダ名に，同じフォルダ名が含まれています。*** 1 *** (line *** 2 ***)

変換前フォルダ名と変換後フォルダ名の中に同じフォルダ名が指定されています。

処理を中止します。環境変数CBLDIA_REMAPFILEが示すフォルダ対応付けファイルの記述内容を確認し，正しく修正してください。

KEDL4621E-U

フォルダ対応付けファイルに，データ影響波及分析用データベースに登録されていない変換前フォルダ名が指定されています。*** 1 *** (line *** 2 ***)

データ影響波及分析用データベースに登録されていない変換前フォルダ名が指定されています。

処理を中止します。環境変数CBLDIA_REMAPFILEが示すフォルダ対応付けファイルの記述内容を確認し，正しく修正してください。

KEDL4622E-U

フォルダ対応付けファイルに，存在しない変換後フォルダ名が指定されています。*** 1 *** (line *** 2 ***)

存在しない変換後フォルダ名が指定されています。

処理を中止します。環境変数CBLDIA_REMAPFILEが示すフォルダ対応付けファイルの記述内容を確認し，正しく修正してください。

KEDL4623E-U

フォルダ対応付けファイル *** 1 *** の行数が100行を超えています。

フォルダ対応付けファイルの行数が 100行を超えています。

処理を中止します。環境変数CBLDIA_REMAPFILEが示すフォルダ対応付けファイルの記述内容を確認し，正しく修正してください。

KEDL4625E-U

制御フローを考慮した解析が可能なデータベースに制御フローの情報のデータ形式が異なるデータが登録されています。

制御フローを考慮した解析が可能なデータベースに，04-30のバージョンで作成した互換性がない形式のデータが登録されています。

処理を中止します。データ影響波及分析用データベースを再作成してください。

(3)　GUIのメッセージと対処

GUIのメッセージと対処です。

表13‒3　GUIのメッセージと対処

メッセージID

メッセージテキスト

対処

KEDL2000E-U

メモリ不足が発生しました。

次の画面またはダイアログでメモリ不足が発生した場合は，発生した画面またはダイアログに戻ります。

・スタートページ

・［調査環境の設定］画面

・［CSVファイルに出力］ダイアログ

・［タグファイルの出力フォルダを指定してください。］ダイアログ

［調査対象選択］ダイアログでエラーが発生した場合は，［調査環境の設定］画面に戻ります。

上記以外の画面またはダイアログでメモリ不足が発生した場合は，影響波及調査ウィンドウが終了されます。

次の対処をしてください。

影響波及調査ウィンドウを開始するときに指定する，調査対象データ項目の個数を減らす。

影響波及の方向に影響波及元または影響波及先のどちらか1つを指定する。

影響がないプログラムのソースファイルをプログラム情報フィルタリングファイルで解析対象から除外する。

上記の対応をしてもこのメッセージが表示される場合，cbldiaコマンドで影響波及調査を実行してください。

KEDL2001E-U

COBOL2002 Professional Tool Kitの環境が壊れています。COBOL2002 Professional Tool Kitを再インストールしてください。

次の要因でCOBOL2002 Professional Tool Kitの製品レジストリにアクセスできません。

COBOL2002 Professional Tool Kitのインストールに失敗している。

COBOL2002 Professional Tool Kitの製品レジストリが壊れている。

COBOL2002 Professional Tool Kitのインストールフォルダ内のEXE/DLLファイルが不当に上書きされている。

影響波及調査ウィンドウが終了されます。COBOL2002 Professional Tool Kitをアンインストールしてから，再度インストールしてください。

KEDL2010E-U

A logical error has occurred. Parameter(*** 1 ***)

影響波及調査ウィンドウのコンポーネント間のインタフェースに誤りがあります。

影響波及調査ウィンドウが終了されます。当社保守員に連絡してください。

KEDL2012E-U

A logical error has occurred.

論理エラーが発生しました。

影響波及調査ウィンドウが終了されます。当社保守員に連絡してください。

KEDL2013E-U

A logical error has occurred. Exception (*** 1 ***)

論理エラーが発生しました。

影響波及調査ウィンドウが終了されます。当社保守員に連絡してください。

(4)　組み込みデータベースのメッセージと対処

組み込みデータベースのメッセージと対処です。

メッセージID

メッセージテキスト

対処

なし

ERROR [HY000] [HITACHI][HiRDB][HiRDB]KFPA11723-E Communication error occurred, reason=HiRDB NOT UP

ERROR [IM006] [Microsoft][ODBC Driver Manager] ドライバーの SQLSetConnectAttr は失敗しました。

データベースが初期化されていません。

DBユティリティのeasetupコマンドでデータベースを正しく初期化してください。

データベース初期化時のポート番号がデータソースのポート番号と一致していません。

ODBCデータソースアドミニストレータを使ってデータソースにデータベース初期化時のポート番号を設定してください。

HiRDBサービスが停止しています。

コントロールパネルの「管理ツール」の「サービス」でHiRDBサービス（HiRDBEmbeddedEdition_CT0）を開始してください。

なし

ERROR [IM002] [Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバーが見つかりません。

ODBCデータソース名「COBOL2002ToolKitDB」または「COBOL2002ToolKitDB64」が登録されていません。またはほかのユーザ用のユーザデータソースとして登録されているため，現在のユーザではアクセスできません。

DBユティリティのeasetupコマンドでデータベースを正しく初期化してください。またはコントロールパネルのODBCアドミニストレータで，「COBOL2002ToolKitDB」もしくは「COBOL2002ToolKitDB64」の名前でシステムデータソースを登録してください。

なし

ERROR [HY000] [HITACHI][HiRDB][HiRDB]KFPA11204-E Table CBLEA."DIA_DBCONTROL" not found in system

データベースの初期化がエラーなどで完了していない状態でデータベースにアクセスしました。

DBユティリティのeaunsetupコマンドでデータベースをアンセットアップし，easetupコマンドで再初期化してください。

データベースが03-01で初期化されたものです。

DBユティリティのeaunsetupコマンドでデータベースをアンセットアップし，easetupコマンドで再度初期化してください。

なし

ERROR [HY000] [HITACHI][HiRDB][HiRDB]KFPA11728-E Error occurred in HiRDB, reason=SHUTDOWN

ERROR [IM006] [Microsoft][ODBC Driver Manager] ドライバーの SQLSetConnectAttr は失敗しました。

HiRDBサービスの停止処理中です。

停止後に再度HiRDBサービスを開始して，再実行してください。

HiRDBサービスの開始処理中です。

HiRDBサービスの開始が完了するのを待って再実行してください。

13.4　エラー時に採取する情報

回復不能エラーのメッセージに従って環境を見直しても，メッセージが出力されるときは，当社保守員または問い合わせ窓口に連絡してください。当社に連絡するときには，次のファイルおよびコマンドの実行結果を採取して，現象の詳細と発生日時をあわせてご連絡ください。

エラー情報ファイル

操作ログ

パフォーマンスログ（環境変数CBLDIA_PERFORMANCELOGを設定）

ealsコマンドで確認した組み込みデータベースの状態

プロジェクトマスタを格納しているフォルダ下のソースファイル一式，登録集原文，およびコンパイルリストファイル

13.4.1　エラー情報ファイルの格納先

エラー情報ファイルは，次に示すフォルダに生成されます。

ドキュメントのフォルダ¥Cbldia_yyyymmdd_hhmmss.txt

（凡例）

ドキュメントのフォルダ：Windowsの「ドキュメント」または「マイ ドキュメント」のフォルダです。フォルダ名はWindowsの種類によって異なります。

yyyymmdd：エラー情報ファイルが出力された日付です。yyyyは西暦年，mmは月，ddは日を示します。

hhmmss：エラー情報ファイルが出力された時刻です。hhは時，mmは分，ssは秒を示します。

出力例

C:¥Documents and Settings¥MyUsername¥My Documents¥Cbldia_20150410_163007.txt

2015年4月10日 16時30分07秒に出力したエラー情報ファイルです。

不要になったエラー情報ファイルは削除できます。

13.4.2　操作ログの格納先

影響波及調査ウィンドウでの操作はログファイルとして保存されます。

操作ログは，次に示す影響波及調査ウィンドウが終了するときに出力されます。

影響波及調査ウィンドウの異常終了時

論理エラーなど，影響波及調査ウィンドウが異常終了するときに，操作ログファイルが出力されます。

影響波及調査ウィンドウの終了操作時

［終了］メニューなどを選択して影響波及調査ウィンドウを終了するときに，操作ログファイルが出力されます。

操作ログのファイル名は，異常終了時と終了操作時とで異なります。それぞれファイル名を次に示します。

異常終了時の操作ログファイル

ドキュメントのフォルダ¥CbldiaOperation_yyyymmdd_hhmmss.log

（凡例）

ドキュメントのフォルダ：Windowsの「ドキュメント」または「マイ ドキュメント」のフォルダです。フォルダ名はWindowsの種類によって異なります。

yyyymmdd：ログファイルが出力された日付です。yyyyは西暦年，mmは月，ddは日を示します。

hhmmss：ログファイルが出力された時刻です。hhは時，mmは分，ssは秒を示します。

終了操作時の操作ログファイル

ドキュメントのフォルダ¥CbldiaOperation_番号.log

（凡例）

ドキュメントのフォルダ：Windowsの「ドキュメント」または「マイ ドキュメント」のフォルダです。フォルダ名はWindowsの種類によって異なります。

番号：1から始まる数値を示します。上限（3個）までは新規に作成され，上限に達しているときは，古いファイルを破棄して新しく作成されます。

付録

付録A　解析を補助する機能

解析を補助するための機能です。

付録A.1　プログラム情報フィルタリングファイル

サブシステム内のCOBOLソースファイルを絞り込んで，必要な解析情報だけを表示するためのテキストファイルです。

特定のCOBOLソースファイルだけを影響波及の解析の対象にする場合や，すでに調査したCOBOLソースファイルを影響波及の解析の対象から除外する場合に使用します。どのCOBOLソースファイルをフィルタリングするかは，サブシステムを構成するCOBOLソースファイルを確認して作成してください。

拡張子は，.txtで作成してください。

形式1

解析対象のCOBOLソースファイル名を指定する場合

INCLUDE 〔サブシステム名〕
ソースファイル名1
ソースファイル名2
...

説明1

特定のCOBOLソースファイルだけを解析対象とします。

サブシステム名

解析対象にするCOBOLソースファイルが属するサブシステム名を指定します。サブシステム名を省略すると，すべてのサブシステムに対して有効な設定になります。

ソースファイル名

解析対象にするCOBOLソースファイル名を指定します。ソースファイル名には，ワイルドカード（*または?）を使用できます。

注意

1行に複数のCOBOLソースファイル名を記述できません。複数のCOBOLソースファイルを指定するときは，改行してください。

COBOLソースファイル名は，英大文字と英小文字を区別しません。

COBOLソースファイル名の指定を省略すると，解析対象のCOBOLソースファイルがないものと見なされます。

形式2

解析対象外のCOBOLソースファイル名を指定する場合

EXCLUDE 〔サブシステム名〕
ソースファイル名1
ソースファイル名2
...

説明2

特定のCOBOLソースファイルを解析対象から除外します。

サブシステム名

解析対象から除外するCOBOLソースファイルが属するサブシステム名を指定します。サブシステム名を省略すると，すべてのサブシステムに対して有効な設定になります。

ソースファイル名

解析対象から除外するCOBOLソースファイル名を指定します。ソースファイル名には，ワイルドカード「*」「?」を使用できます。

注意

1行に複数のCOBOLソースファイル名を記述できません。複数のCOBOLソースファイルを指定するときは，改行してください。

COBOLソースファイル名は，英大文字と英小文字を区別しません。

COBOLソースファイル名の指定を省略すると，除外するCOBOLソースファイルがないものと見なされます。

指定例

サブシステムAとサブシステムBを解析対象とする場合

INCLUDE  サブシステムA
*
INCLUDE  サブシステムB
*

サブシステムCにある，「PROG」で始まる名前のCOBOLソースファイルだけを解析対象とする場合

INCLUDE  サブシステムC
PROG*

システム全体で，名前が「TMP.CBL」で終わるソースファイルを除外する場合

EXCLUDE
*TMP.CBL

注意

プログラム情報フィルタリングファイルは，シフトJISコードで記述してください。

指定した内容は，先頭から順に解釈されます。

1つの行は，途中に改行を入れないで1行で記述してください。

INCLUDEとEXCLUDEを混在して使用できません。また，INCLUDEとEXCLUDEはどちらかが記述されていなければなりません。

コメント行を記述できます。// で始まる行は，行末までをコメントと見なされます。行の途中からはコメントは記述できません。

付録A.2　一意名呼び出し対応付けファイル

一意名を呼び出しているCOBOLプログラムの解析で，データ影響波及分析で自動的に一意名の呼び出しを解析できない場合に作成が必要なファイルです。

データ影響波及分析で自動的に解析できない場合，データ影響波及分析用データベースの作成時に，一意名の呼び出し先が解決しないことを示す警告メッセージが表示されます。この警告メッセージで示されるCOBOLプログラム名と該当行番号を確認し，一意名呼び出し対応付けファイルを作成してください。

拡張子は，.idcで作成してください。

作成した一意名呼び出し対応付けファイルは，次の個所に指定します。一意名呼び出し対応付けファイル名の英小文字は，対応する英大文字と見なされます。

開発マネージャ［プロジェクト設定］ダイアログの［データ影響波及分析］タブ，または［設定］ダイアログ

cbldraコマンドの-IdCallMapオプション

形式

"COBOLソースファイル名"△"プログラム名"△"一意名"△"呼び出し先プログラム名"

（凡例）

△：1個以上の半角空白または1個以上のタブ文字を示します。

説明

一意名呼び出し対応付けファイルに指定する項目です。

COBOLソースファイル名

一意名指定のCALL文が記述されているCOBOLソースファイル名です。

プログラム名

一意名指定のCALL文が記述されているプログラム名です。

一意名

CALL文の一意名です。

呼び出し先プログラム名

呼び出し先のプログラム名です。

注意

一意名呼び出し対応付けファイルの1行の長さは，4,095バイト以内で指定してください。4,095バイトを超えていると，警告メッセージが出力され，その行は無視されます。

COBOLソースファイル名，プログラム名，一意名，呼び出し先プログラム名はそれぞれ引用符（"）で囲み，1個以上の半角空白またはタブ文字で区切って，1行に1組だけ指定してください。

COBOLソースファイル名の長さは，255バイト以内で指定してください。

COBOLソースファイル名には，引用符（"）を含むファイル名は指定できません。

COBOLソースファイル名には，絶対パス名を指定してください。ファイル名だけ，または相対パス名で指定した場合は，その行は無視されます。

プログラム名と呼び出し先プログラム名は，次に示すプログラム名の構成規則に従って指定してください。構成規則に従っていない場合は，警告メッセージが出力され，その行は無視されます。

次に示す文字で構成されている。

英文字（A〜Z，a〜z）

数字（0〜9）

日本語文字（ただし，拡張仕様）

-（ハイフン）

_（アンダスコア）

文字列の長さは，先頭は英文字または日本語文字で，かつ160バイト（-LiteralExtend,Alnumオプションの指定が有効な場合は1,024バイト，-Compati85,Syntaxオプションの指定が有効な場合は30バイト）以内である。

一意名には，CALL文の一意名として参照されるデータ名を指定します。一意名が部分参照，修飾，または添字が付けられている場合は，警告メッセージが出力され，その行は無視されます。

一意名の長さは31文字（-Compati85,Syntaxオプションの指定が有効な場合は30文字）以内で指定してください。一意名の長さが上限を超えた場合は，警告メッセージが出力され，その行は無視されます。

1カラム目が「#」で始まる行はコメント行として扱い，その行は無視されます。

一意名呼び出し対応付けファイルは，コメント行を含め1,000行以内で記述してください。1,000行を超えている場合は，警告メッセージが出力され，以降の行は無視されます。

一意名呼び出し対応付けファイルでは，次の文字は区別されます。

各英小文字と対応する英大文字

拡張コードの各文字と対応する標準コードの文字

COBOLソースファイル中の利用者定義語には文字の等価規則が適用されるため，プログラム名と一意名には，それぞれ等価規則の適用後のプログラム名やデータ名を指定してください。ただし， COBOLソースファイル名の英小文字と対応する英大文字は同等と見なされます。

COBOLソースファイル名で指定されたソースファイル名とプログラム情報収集対象（コンパイル対象）のソースファイル名とが一致しない場合，その行は無視されます。

指定したCOBOLソースファイルに，プログラム名と同じ名称のプログラム名が定義されていない場合，警告メッセージが出力され，その行は無視されます。

プログラム名に指定したプログラム定義中で，一意名と同じ名称のデータ項目がCALL文の一意名として参照されていない場合，または一意名が一意に参照できない場合，警告メッセージが出力され，その行は無視されます。

なお，CALL文の一意名に添字が付けられている場合は，CALL文の一意名から添字を除いたデータ名と一意名が一致していれば，一致したものと見なされます。

一意名と同じ名称のデータ項目がCALL文の一意名として参照されているとき，呼び出し先プログラム名を一意名指定のCALL文の呼び出し先として解決し，次の定数指定のCALL文が書かれていたと見なされ，プログラム情報が収集されます。

CALL '呼び出し先プログラム名' USING 一意名指定のCALL文と同じ引数の並び

一意名呼び出し対応付けファイルがある場合は，次の順に評価され，呼び出し先が解決されます。

COBOLソースファイルの解析による呼び出し先の解決

一意名呼び出し対応付けファイルによる呼び出し先の解決

1つの一意名指定のCALL文に対して，複数の呼び出し先プログラムを複数の行を使って指定できます。その場合，指定された呼び出し先プログラムの数だけ定数指定のCALL文が並んでいると見なされ，プログラム情報が収集されます。ただし，COBOLソースファイルの解析による呼び出し先の解決で仮定された定数指定のCALL文も含めて呼び出し先プログラムが同じものは1つとして扱われます。

プログラム名，呼び出し先プログラム名の中にハイフンがある場合，それぞれアンダスコアに変換してプログラム名，呼び出し先プログラム名と見なされます。

呼び出し先プログラム名の長さ（バイト数）が一意名の長さを超えている場合，呼び出し先プログラム名は切り捨てないで，そのまま呼び出し先プログラム名と見なされます。

一意名呼び出し対応付けファイルに対する警告メッセージは，コンパイルリストには出力されません。

一意名呼び出し対応付けファイルに対する警告メッセージは，次に示す形式で出力されます。

"一意名呼び出し対応付けファイル"， line 行番号：警告メッセージ

一意名呼び出し対応付けファイルは，シフトJISコードで記述してください。

呼び出し先として解決されたプログラム名が，CALL文から呼び出せる内部プログラム名と一致している場合，そのCALL文は内部プログラム呼び出しのCALL文と見なされ，一致しない場合は，外部プログラム呼び出しのCALL文と見なされます。このとき，プログラム名が一致するかどうかは，プログラム名の文字列が一致するかどうかだけをチェックされ，引数と返却項目の適合規則はチェックされません。

一意名呼び出し対応付けファイルは，一意名指定のCANCEL文には適用しません。

付録A.3　解析結果CSVファイル

解析結果CSVファイルの形式の説明です。

解析結果CSVファイルとは，影響範囲の解析で得られた次の解析結果を出力したファイルです。

影響波及関連一覧

影響波及関連図

影響プログラムの一覧

影響波及データ項目の一覧

影響波及コードの一覧

影響波及トレース図（バッチモードの場合だけ）

データ影響波及分析の画面で記入したメモの情報も出力されるため，調査結果のエビデンスとして利用できます。

解析結果CSVファイルのファイル形式を次に示します。

ファイルのエンコード形式はシフトJISです。

解析結果の種別，および調査対象データ項目一覧が出力されたあとは，1行改行されます。

セル内の文字列は，次の規則に従って置換した文字列が出力されます。

引用符：「"」→「""」

改行：「¥r¥n」（16進表現0d0a）→「¥n」（16進表現0a）

各セルには，引用符（"）で囲まれた文字列が出力されます。ただし，セルが空文字（""）である場合，引用符は出力されません。

空文字が201個以上連続する場合，区切り文字であるコンマを省略した文字が出力されます。（+200）はコンマが200個省略されていることを示します。

空文字が201個以上400個以下：（+200）

空文字が401個以上600個以下：（+400）

（例）コンマが203個連続している場合，（+200）とコンマ3個が出力されます。

"(+200)",,,"→","DATA [MAIN]"

ヘッダ情報は，-NoHeaderInfoオプションを指定するか，［CSVファイルに出力］ダイアログで「ヘッダ情報を出力する」チェックボックスをオフにすると，出力を抑止できます。

バージョン情報の形式

次の形式でバージョン情報を表示します。

"COBOL2002 Professional Tool Kit <バージョン>"
"データ影響波及分析"

<バージョン>：COBOL2002 Professional Tool Kitのバージョン情報

解析結果の種別の形式

行名

内容

タイトル

解析結果の種別を示す，次のどれかのタイトルです。

影響波及関連一覧

影響波及関連図

影響プログラム一覧

影響波及データ項目一覧

影響波及コード一覧

影響波及トレース図

指定オプション※

cbldiaコマンド，または［調査対象選択］ダイアログで指定したオプションの情報（文字列）です。

未使用の影響波及データ項目の抽出:なし

-NoOutputAliasDataオプションを指定した場合，または［未使用の別名の抽出］チェックボックスをオフにした場合に出力されます。この文字列は，影響波及データ項目一覧のCSVファイルにだけ出力されます。

波及レベル:n

-ProgramImpactLevelオプション，または［波及レベル］を指定した場合に出力されます。この文字列は，すべてのCSVファイルに出力されます。

制御フローを考慮した解析

-ControlFlowオプションを指定した場合に出力されます。この文字列は，すべてのCSVファイルに出力されます。

データベースを経由した解析

-DBDataオプションを指定した場合に出力されます。この文字列は，すべてのCSVファイルに出力されます。

物理ファイルを経由した解析

-FileDataオプションを指定した場合に出力されます。この文字列は，すべてのCSVファイルに出力されます。

オプションを同時に指定した場合は，「未使用の影響波及データ項目の抽出:なし」，「波及レベル:n」，「制御フローを考慮した解析」，「データベースを経由した解析」，「物理ファイルを経由した解析」の順番で出力されます。文字列は，区切り文字（コンマ（,））で区切られます。

作成日

CSVファイルを作成した日時です。

形式："yyyy-mm-dd hh:mm:ss"

注※

CSVファイル出力時に-NoHeaderInfoオプションを指定すると，CSVファイルのヘッダ情報の出力が抑止されます。指定オプションの内容を確認したい場合は，-NoHeaderInfoオプションを指定しないでください。

調査対象データ項目一覧の形式

データ項目が調査対象の場合

列名

内容

#

通し番号です。

ソースファイル名

調査対象データ項目が属するプログラムが記述されているソースファイルの絶対パスです。

調査対象プログラム名

調査対象データ項目が属するプログラムの名前です。

調査対象データ項目名

調査対象データ項目の完全修飾の名前（OF修飾子付きの名前）です。

PICTURE文字列

調査対象データ項目のPICTURE文字列です。

データ型

調査対象データ項目のデータ型です。

けた数

調査対象データ項目のけた数です。

登録集原文ファイル名

宣言文の記述個所が登録集原文ファイルの場合はその絶対パスです。記述個所が登録集原文ファイルでない場合は何も表示されません。

行番号

宣言文の記述があるファイルの行番号です。

明示的に宣言文が記述されていない場合は-1が出力されます。

ユーザ資産項目が調査対象の場合

列名

内容

#

通し番号です。

ソースファイル名

空文字（""）が出力されます。

調査対象プログラム名

空文字（""）が出力されます。

調査対象データ項目名

ユーザ資産項目の名前です。

PICTURE文字列

空文字（""）が出力されます。

データ型

ユーザ資産項目の種別です。

「データベースの表」，「データベースの列」，「物理ファイル」のどれかが表示されます。

けた数

空文字（""）が出力されます。

登録集原文ファイル名

空文字（""）が出力されます。

行番号

空文字（""）が出力されます。

解析結果の形式

影響波及関連一覧の形式

列名

内容

調査対象ID

関連する調査対象データ項目を一意に識別する値です。調査対象データ項目一覧の通し番号（#）と一致します。

調査対象フラグ

影響波及データ項目が調査対象の場合，TRUEが表示されます。それ以外の場合，何も表示されません。

影響波及データ項目名

完全修飾の名前（OF修飾子付きの名前）です。

影響波及プログラム名

影響波及データ項目が属するプログラム名です。

影響波及データ項目行番号

影響波及データ項目が抽出された行番号です。

-ControlFlowオプションを指定した場合にだけ，この列は出力されます。

影響波及データ項目カラム番号

影響波及データ項目が抽出された行内のカラム位置です。

-ControlFlowオプションを指定した場合にだけ，この列は出力されます。

影響波及データ項目ID

データ項目を識別する値です。

影響波及プログラムID

影響波及データ項目が属するプログラムを識別する値です。

影響波及ファイルID

影響波及データ項目が属するプログラムが記述されているソースファイルを一意に識別する値です。

影響波及項目種別

データ項目の種別です。

「データ項目」，「特殊レジスタ」，「定数名」，「条件名」，「ファイル名」，「ユーザ資産項目」のどれかが表示されます。

影響

次のどれかが表示されます。

影響波及元

影響波及先

波及元なし

波及先なし

影響波及元／先項目名※1

影響波及元／先項目の名称または定数値です。データ項目の場合は完全修飾の名前（OF修飾子付きの名前）です。

影響波及元／先プログラム名※1※2

影響波及元／先データ項目が属するプログラム名です。

影響波及元／先項目行番号※1※2

影響波及元／先データ項目が抽出された行番号です。

-ControlFlowオプションを指定した場合にだけ，この列は出力されます。

影響波及元／先項目カラム番号※1※2

影響波及元／先データ項目が抽出された行内のカラム位置です。

-ControlFlowオプションを指定した場合にだけ，この列は出力されます。

影響波及元／先データ項目ID※1※2

影響波及元／先データ項目を識別する値です。

影響波及元／先プログラムID※1※2

影響波及元／先データ項目が属するプログラムを識別する値です。

影響波及元／先ファイルID※1※2

影響波及元／先データ項目が属するプログラムが記述されているソースファイルを一意に識別する値です。

影響波及元／先項目種別※1

影響波及元／先項目の種別です。

「データ項目」，「特殊レジスタ」，「定数名」，「定数」，「DD名」，「ファイル名」，「条件名」，「ユーザ資産項目」，「その他」のどれかが表示されます。

明示的影響2項関係フラグ

明示的影響2項関係の場合，TRUEが表示されます。それ以外の場合，何も表示されません。

暗黙的影響2項関係フラグ

暗黙的影響2項関係の場合，TRUEが表示されます。それ以外の場合，何も表示されません。

別名関係※3にある暗黙的2項関係フラグ

別名の暗黙的影響2項関係の場合，TRUEが表示されます。それ以外の場合，何も表示されません。

注※1

「影響」の種別が「波及元なし」または「波及先なし」の場合，何も表示されません。

注※2

「影響波及元／先項目名」が影響波及データ項目でない（影響波及データ項目一覧にない）場合，何も表示されません。

注※3

別名関係とは，影響波及元データ項目と影響波及先データ項目の関係が，次のどれかであることを示します。

・再定義項目と被再定義項目の関係

・再命名項目と被再命名項目の関係

・集団項目と従属項目の親子関係

影響波及関連一覧の次の項目は，それぞれ影響波及データ項目一覧の各項目と一意に対応します。対応する影響波及データ項目一覧のデータ項目を参照することで，データ項目の詳細を確認できます。

影響波及関連一覧の列名

影響波及データ項目一覧の列名

影響波及データ項目ID

データ項目ID

影響波及元／先データ項目ID

影響波及プログラムID

プログラムID

影響波及元／先プログラムID

影響波及ファイルID

ファイルID

影響波及元／先ファイルID

影響波及関連図の形式

影響波及元関連図，影響波及先関連図の順に出力されます。ただし，分析方向が一方だけであれば，もう片方の影響波及関連図の表示部分には何も出力されません。各関連図の先頭行には，タイトル（「影響波及元関連図」または「影響波及先関連図」）が出力されます。各行には，ノード情報が1ノードずつ，次の形式で出力されます。ツリーの階層構造はインデントで表記されます。

表示項目

内容

インデント

階層構造を表現するインデント数分のコンマです。ツリーのルートのインデントをゼロとします。

矢印

影響関係を表現する矢印です。

影響元から影響先に向けて矢印が表示されます。

ツリーのルートには出力されません。

データノード名

影響波及データの完全修飾の名前（OF修飾子付きの名前）です。

プログラム名

影響波及データ項目が所属するプログラムの名前です。ただし，データ項目以外を示すノードの場合は，括弧（［ ］）も含めて出力されません。

行番号

影響波及データ項目が抽出された行番号です。-ControlFlowオプションを指定した場合にだけ，「行番号:n」の形式で出力されます。ただし，データ項目以外を示すノードの場合は，区切り文字の空白も含めて出力されません。

カラム番号

影響波及データ項目が抽出された行内のカラム位置です。-ControlFlowオプションを指定した場合にだけ，「カラム番号:n」の形式で出力されます。ただし，データ項目以外を表すノードの場合は，区切り文字の空白も含めて出力されません。

マーク

影響波及関連図での，このデータ項目の位置に合わせて次のマークが出力されます。ただし，データ項目以外のノードについては何も出力されません。

「（'）」：同じツリー上に，子ノードを表示する自身と同じデータ項目を示すノードがあり，子ノードの表示が省略されていることを示します。子ノードを表示するノードにはこのマークは付きません。

影響波及プログラム一覧の形式

列名

内容

#

通し番号です。

影響プログラム名

COBOLプログラム名です。

ソースファイル名

COBOLプログラムが定義されているソースファイル名の絶対パスです。

影響種別

次のどれかの影響属性です。

調査対象

影響波及元

影響波及先

影響波及元影響波及先

影響波及コード数

COBOLプログラム内に存在する影響波及コードの個数です。

影響波及データ項目数

プログラム内に存在する影響波及データ項目の個数です。

登録集原文ファイル名

プログラム定義の記述個所が登録集原文ファイルの場合はその絶対パスです。記述個所が登録集原文ファイルでない場合は何も表示されません。

行番号

プログラム定義の記述があるファイルの行番号です。

メモ

影響波及の調査中に記入したメモです。

影響波及データ項目一覧の形式

列名

内容

#

通し番号です。

影響波及データ項目名

影響波及データ項目の完全修飾の名前（OF修飾子付きの名前）です。

PICTURE文字列

影響波及データ項目のPICTURE文字列です。

データ型

影響波及データ項目のデータ型です。

けた数

影響波及データ項目のけた数です。

プログラム名

影響波及データ項目が属するプログラムの名前です。

ソースファイル名

所属するプログラムの記述されているソースファイルの絶対パスです。

影響種別

次のどれかの影響属性です。

調査対象（影響波及元関連図）

調査対象（影響波及先関連図）

影響波及元

影響波及先

登録集原文ファイル名

宣言文の記述個所が登録集原文ファイルの場合はその絶対パスです。記述個所が登録集原文ファイルでない場合は何も表示されません。

行番号

宣言文の記述があるファイルの行番号です。

明示的に宣言文が記述されていない場合は-1が出力されます。

データ項目ID

データ項目を識別する一意の値です。

プログラムID

データ項目が属するプログラムを識別する一意の値です。

ファイルID

データ項目が属するプログラムが記述されているソースファイルを識別する一意の値です。

定義場所

宣言文の記述がある次の節名です。

作業場所節

局所場所節

ファイル節

連絡節

その他

メモ

影響波及の調査中に記入したメモです。

未使用の影響波及データ項目フラグ

未使用の影響波及データ項目の場合，TRUEが出力されます。暗黙転記もしくは明示転記による影響波及データ項目，または調査対象データ項目の場合，FALSE が出力されます。

別名のデータ項目ID

未使用の影響波及データ項目フラグがTRUEの場合，次のどちらかが出力されます。未使用の影響波及データ項目フラグがFALSEの場合は-1が出力されます。

別名関係にある使用されている影響波及データ項目のID

別名関係にある調査対象データ項目のID

別名のプログラムID

未使用の影響波及データ項目フラグがTRUEの場合は，別名のデータ項目が属するプログラムのIDが出力されます。未使用の影響波及データ項目フラグがFALSEの場合は-1が出力されます。

別名のファイルID

未使用の影響波及データ項目フラグがTRUEの場合は，別名のデータ項目が属するファイルのIDが出力されます。未使用の影響波及データ項目フラグがFALSEの場合は-1が出力されます。

アドレス別名の有無

ADDRESSED句指定のデータ項目，またはアドレス名にアドレスが格納されたデータ項目の場合，TRUEが出力されます。それ以外の場合，FALSEが出力されます。

-ControlFlowオプションを指定した場合にだけ，この列は出力されます。

アドレス名にアドレスを格納する実行文に制御が移行しない場合，その実行文によってアドレス名にアドレスが格納されるデータ項目のときは，FALSEが出力されます。

影響波及コード一覧の形式

列名

内容

#

通し番号です。

プログラム名

影響波及コードが属するプログラムの名前です。

ソースファイル名

所属するプログラムが記述されているソースファイルの絶対パスです。

影響種別

次のどれかの影響属性です。

影響波及元

影響波及先

影響波及元影響波及先

-※1

実行文種別

影響波及コードおよび影響波及フローコードの種類を表す項目※2です。影響波及フローコードとは，制御フローを考慮した解析で，影響波及コード間のフローに存在し，かつ作用対象を持たないソースコードのことです。

実行文種別は，制御フローを考慮した解析を使用したときだけ出力されます。

影響波及コード

影響波及コードの1行の文字列です。ただし，影響波及コードが属する文が複数行で記述されている場合は，その文全体が出力されます。

登録集原文ファイル名

影響波及コードの記述個所が登録集原文ファイルの場合はその絶対パスです。記述個所が登録集原文ファイルでない場合は何も表示されません。

行番号

影響波及コードの記述があるファイルの行番号です。

メモ

影響波及の調査中に記入したメモです。

注※1

制御フローを考慮した解析では，データ項目に対する影響調査やソースコード理解をしやすくするために，影響波及フローコードを出力します。そのため，影響種別には「-」を出力します。

注※2

実行文種別と影響波及コードおよび影響波及フローコードの種類の対応関係を次の表に示します。

表A‒1　実行文種別と影響波及コードおよび影響波及フローコードの種類の対応関係

項番

実行文種別

影響波及コードおよび影響波及フローコードの種類

1

ACCEPT

ACCEPT文

2

ADD

ADD文

3

ALTER

ALTER文

4

CALL

CALL文

5

CANCEL

CANCEL文

6

CLOSE

CLOSE文

7

COMMIT

COMMIT文

8

COMPUTE

COMPUTE文

9

CONNECT

CONNECT文

10

CONTINUE

CONTINUE文

11

DELETE

DELETE文

12

DISABLE

DISABLE文

13

DISCONNECT

DISCONNECT文

14

DISPLAY

DISPLAY文

15

DIVIDE

DIVIDE文

16

ELSE

ELSE句

17

ENABLE

ENABLE文

18

ENTER

ENTER文

19

ENTRY

ENTRY文

20

ERASE

ERASE文

21

EVALUATE

EVALUATE文

22

EXAMINE

EXAMINE文

23

EXIT

EXIT文

24

FETCH

FETCH文

25

FIND

FIND文

26

FINISH

FINISH文

27

GENERATE

GENERATE文

28

GET

GET文

29

GO TO

GO TO文

30

GOBACK

GOBACK文

31

IF

IF文

32

INITIALIZE

INITIALIZE文

33

INITIATE

INITIATE文

34

INSPECT

INSPECT文

35

INVOKE

INVOKE文

36

MERGE

MERGE文

37

MODIFY

MODIFY文

38

MOVE

MOVE文

39

MULTIPLY

MULTIPLY文

40

NULLIFY

NULLIFY文

41

OPEN

OPEN文

42

PERFORM

PERFORM文

43

RAISE

RAISE文

44

READ

READ文

45

RECEIVE

RECEIVE文

46

RECONNECT

RECONNECT文

47

RELEASE

RELEASE文

48

REPLY

REPLY文

49

RESUME

RESUME文

50

RETURN

RETURN文

51

REWRITE

REWRITE文

52

ROLLBACK

ROLLBACK文

53

SEARCH

SEARCH文

54

SEND

SEND文

55

SET

SET文

56

SORT

SORT文

57

SQL

SQL文

58

START

START文

59

STOP

STOP文

60

STORE

STORE文

61

STRING

STRING文

62

SUBTRACT

SUBTRACT文

63

SUPPRESS

SUPPRESS文

64

TERMINATE

TERMINATE文

65

THEN

THEN句

66

TRANSCEIVE

TRANSCEIVE文

67

TRANSFORM

TRANSFORM文

68

UNLOCK

UNLOCK文

69

UNSTRING

UNSTRING文

70

USE

USE文

71

VALUE

VALUE句

72

WAIT

WAIT文

73

WHEN

WHEN句

74

WHEN OTHER

WHEN OTHER句

75

WRITE

WRITE文

76

手続き部

見出し

77

手続き部

節

78

手続き部

段落

79

条件指定

｛ON 〜｜INVALID KEY｜AT END｜END-OF-PAGE｝

80

NOT 条件指定

NOT ｛ON 〜｜INVALID KEY｜AT END｜END-OF-PAGE｝

注意

「影響波及コード」について，影響波及コードが記述されているファイルと，それが属する文の先頭が記述されているファイルが異なる場合，影響波及コードが記述されているファイルの1行だけが出力されます。

小数部けた数ありの場合，「けた数」は「12.4」のようにピリオドで区切られます。

集団項目および動的長項目にけた数は出力されません。

PICTURE文字列はCOBOLソース中に書かれたとおりに出力されます。

データ型は次の分類で表示されます。

基本項目の場合

項番

データ型

備考

1

2進

けた数表示あり

2

COMP-5

けた数表示あり

3

COMP-X

けた数表示あり

4

外部10進

けた数表示あり

5

内部10進

けた数表示あり

6

外部浮動小数点

−

7

内部浮動小数点

−

8

外部ブール

けた数表示あり※

9

内部ブール

けた数表示あり※

10

英字

けた数表示あり※

11

英数字

けた数表示あり※

12

英数字編集

けた数表示あり※

13

日本語

けた数表示あり※

14

日本語編集

けた数表示あり※

15

数字編集

けた数表示あり

16

英数字動的長

−

17

日本語動的長

−

18

指標

−

19

指標名

−

20

ポインタ

−

21

アドレス名

−

22

オブジェクト参照

−

（凡例）

−：特にありません。

注※

数字項目以外の「けた数」は次のように表示されます。

・内部ブールおよび外部ブールの場合：PICに指定した1の数（例：PIC 1(4)，PIC 1(4) USAGE BITの場合は「4」）

・文字型が英字および日本語の場合：文字数（例：P IC X(3)，PIC N(3)の場合は「3」）

集団項目の場合

次のどちらかが表示されます。

・英数字集団

・日本語集団

03-05より前のバージョンで作成した状態保存ファイルを読み込んで，CSVファイルを出力した場合，データ型およびけた数は表示されません。PICTURE文字列は表示されます。

影響波及トレース図の形式

影響波及元トレース図，影響波及先トレース図の順に出力されます。ただし，分析方向が一方だけであれば，もう片方の影響波及トレース図には何も出力されません。各トレース図の先頭行には，タイトル（「影響波及元トレース図」または「影響波及先トレース図」）が出力されます。各行には，手続き文またはデータ項目が出力されます。データ項目の形式で<SYSOUT>などの装置名，定数も表記されます。ツリーの階層構造はインデントで表記されます。

データ項目の形式

列名

内容

インデントレベル

階層構造を表現する値です。

調査対象データ項目をインデントレベル0とし，調査対象データ項目から影響波及したデータ項目および手続き文をインデントレベル1，インデントレベル1から影響波及したデータ項目および手続き文をインデントレベル2，…のように，「親ノードのインデントレベル+1」の値が出力されます。

種別

可変項目の種別です。

「データ項目」が表示されます。

プログラム名

影響波及データ項目が属するプログラムの名前です。

装置名，定数の場合は何も表示されません。

ソースファイル名

所属するプログラムが記述されているソースファイルの絶対パスです。

装置名，定数の場合は何も表示されません。

ファイルID

データ項目が属するプログラムが記述されているソースファイルを一意に識別する値です。

装置名，定数の場合は何も表示されません。

プログラムID

データ項目が属するプログラムを識別する値です。

装置名，定数の場合は何も表示されません。

PICTURE文字列

影響波及データ項目のPICTURE文字列です。

装置名，定数の場合は何も表示されません。

データ型

影響波及データ項目のデータ型です。

装置名，定数の場合は何も表示されません。

けた数

影響波及データ項目のけた数です。

装置名，定数の場合は何も表示されません。

データ項目ID

データ項目を識別する値です。

装置名，定数の場合は何も表示されません。

2項関係の種別

親ノードと子ノードの影響2項関係の種別です。

次のどれかが表示されます。調査対象データ項目の場合は空白が表示されます。

明示：明示的影響2項関係であることを示します。

暗黙：暗黙的影響2項関係であることを示します。

別名暗黙：別名関係にある暗黙的影響2項関係であることを示します。

別名種別

暗黙的影響2項関係または別名関係にある暗黙的影響2項関係の種別です。

次のどれかが表示されます。調査対象データ項目の場合は空白が表示されます。

集団項目

従属項目

再定義項目

被再定義項目

再命名項目

被再命名項目

外部データ項目

アドレス

間接的な別名

行番号

影響波及データ項目が抽出された行番号です。

-ControlFlowオプションを指定した場合にだけ，値が出力されます。ただし，データ項目以外のノードについては何も出力されません。

カラム番号

影響波及データ項目が抽出された行内カラム位置です。

-ControlFlowオプションを指定した場合にだけ，この列は出力されます。ただし，データ項目以外のノードについては何も出力されません。

トレース図（データノード名/手続き文）

トレース図を表現するデータノードの情報です。

トレース図は，次の項目で構成されます。

インデント

データ項目と手続き文を階層構造で表現するためのインデント数分のコンマです。

矢印

影響関係を表現する矢印です。影響元から影響先に向けて矢印が表示されます。ツリーのルートには出力されません。

データノード名

影響波及データの完全修飾の名前（OF修飾子付きの名前）です。

次の形式で出力されます。

（凡例）

　△：半角空白を示します。

「(行番号:n)△(カラム番号:n)」は，制御フローを考慮した解析の場合（-ControlFlowオプションを指定した場合）にだけ出力されます。

マーク

影響波及関連図での，このデータ名の位置に合わせて次のマークが出力されます。ただし，データ項目以外のノードについては何も出力されません。

「（'）」：同じツリー上に，自身と同じデータ項目を表すノードがあり，オリジナルから複製されたノードであることを示します。

トレース図（データノード名/手続き文）の出力規則

影響2項関係の種別によって，次に示す形式でトレース図を出力します。

明示的影響2項関係を持つデータ項目間の場合

データ項目（親ノード）

,→影響波及トレース情報

,,→データ項目（子ノード）

別名の暗黙的影響2項関係を持つデータ項目間の場合

データ項目（親ノード）

,,→データ項目（子ノード）

暗黙転記の暗黙的影響2項関係を持つデータ項目間の場合

データ項目（親ノード）

,→影響波及トレース情報

,,→データ項目（子ノード）

調査対象と別名の暗黙的影響2項関係を持つデータ項目間の場合

データ項目（調査対象ノード）

,→データ項目（調査対象ノードと別名関係にあるノード）

外部データ項目間の影響2項関係の場合

データ項目（外部データ項目ノード）

,→データ項目（別プログラムに属する外部データ項目ノード）

ADDRESSED句指定のデータ項目の影響2項関係の場合

データ項目（親ノード）

,→データ項目（子ノード）

手続き文の形式

列名

内容

インデントレベル

階層構造を表現する値です。

種別

可変項目の種別です。

「手続き文」が表示されます。

プログラム名

手続き文が属するプログラムの名前です。

ソースファイル名

手続き文が記述されているソースファイルの絶対パスです。

ファイルID

手続き文が属するプログラムが記述されているソースファイルを一意に識別する値です。

プログラムID

手続き文が属するプログラムを識別する値です。

PICTURE文字列

種別が「手続き文」の場合は，何も表示されません。

データ型

種別が「手続き文」の場合は，何も表示されません。

けた数

種別が「手続き文」の場合は，何も表示されません。

データ項目ID

種別が「手続き文」の場合は，何も表示されません。

2項関係の種別

種別が「手続き文」の場合は，何も表示されません。

別名種別

種別が「手続き文」の場合は，何も表示されません。

行番号

影響波及コードの記述があるファイルの行番号です。

カラム番号

種別が「手続き文」の場合は，何も表示されません。

ただし，-ControlFlowオプションを指定した場合にだけ，この列は出力されます。

トレース図（データノード名/手続き文）

トレース図を表現する手続き文の情報です。

トレース図は，次の項目で構成されます。

インデント

データ項目と手続き文を階層構造で表現するためのインデント数分のコンマです。

矢印

影響2項関係を設定した手続き文がどの親ノード，子ノード間であるかを表現する矢印です。影響元から影響先に向けて矢印が表示されます。ツリーのルートには出力されません。

手続き文

影響2項関係を設定した手続き文です。

トレース図（データノード名/手続き文）の出力規則

影響2項関係の種別によって，次に示す形式でトレース図を出力します。

明示的影響2項関係を持つデータ項目間の場合

データ項目（親ノード）

,→影響波及トレース情報

,,→データ項目（子ノード）

別名の暗黙的影響2項関係を持つデータ項目間の場合

データ項目（親ノード）

,,→データ項目（子ノード）

暗黙転記の暗黙的影響2項関係を持つデータ項目間の場合

データ項目（親ノード）

,→影響波及トレース情報

,,→データ項目（子ノード）

調査対象と別名の暗黙的影響2項関係を持つデータ項目間の場合

データ項目（調査対象ノード）

,→データ項目（調査対象ノードと別名関係にあるノード）

外部データ項目間の影響2項関係の場合

データ項目（外部データ項目ノード）

,→データ項目（別プログラムに属する外部データ項目ノード）

ADDRESSED句指定のデータ項目の影響2項関係の場合

データ項目（親ノード）

,→データ項目（子ノード）

出力例

影響プログラム一覧

"COBOL2002 Professional Tool Kit 04-20"
"データ影響波及分析"
"タイトル","影響プログラム一覧"
"指定オプション"
"作成日","2020-04-20 21:50:00"

"#","ソースファイル名","調査対象プログラム名","調査対象データ項目名","PICTURE文字列","データ型","けた数","登録集原文ファイル名","行番号"
"1","X:¥Source¥sort.CBL","コムソート","DISTANCE","9(4)","2進","4",,"211"

"#","影響プログラム名","ソースファイル名","影響種別","影響波及コード数","影響波及データ項目数","登録集原文ファイル名","行番号","メモ"
"1","CSV入力","X:¥Source¥csv.CBL","影響波及元","3","2",,"22",
"2","メインプログラム","X:¥Source¥sample.CBL","影響波及元","7","1",,"30",
"3","コムソート","X:¥Source¥sort.CBL","調査対象","23","3",,"206",

影響プログラム一覧（-ProgramImpactLevel指定あり）

"COBOL2002 Professional Tool Kit 04-20"
"データ影響波及分析"
"タイトル","影響プログラム一覧"
"指定オプション","波及レベル:2"
"作成日","2020-04-20 21:50:00"

"#","ソースファイル名","調査対象プログラム名","調査対象データ項目名","PICTURE文字列","データ型","けた数","登録集原文ファイル名","行番号"
"1","X:¥Source¥sort.CBL","コムソート","DISTANCE","9(4)","2進","4",,"211"

"#","影響プログラム名","ソースファイル名","影響種別","影響波及コード数","影響波及データ項目数","登録集原文ファイル名","行番号","メモ"
"1","CSV入力","X:¥Source¥csv.CBL","影響波及元","3","2",,"22",
"2","メインプログラム","X:¥Source¥sample.CBL","影響波及元","7","1",,"30",
"3","コムソート","X:¥Source¥sort.CBL","調査対象","23","3",,"206",

影響波及データ項目一覧

"COBOL2002 Professional Tool Kit 04-20"
"データ影響波及分析"
"タイトル","影響波及データ項目一覧"
"指定オプション"
"作成日","2020-04-20 21:50:00"

"#","ソースファイル名","調査対象プログラム名","調査対象データ項目名","PICTURE文字列","データ型","けた数","登録集原文ファイル名","行番号"
"1","X:¥Source¥sort.CBL","コムソート","DISTANCE","9(4)","2進","4",,"211"

"#","影響波及データ項目名","PICTURE文字列","データ型","けた数","プログラム名","ソースファイル名","影響種別","登録集原文ファイル名","行番号","データ項目ID","プログラムID","ファイルID","定義場所","メモ","未使用の影響波及データ項目フラグ","別名のデータ項目ID","別名のプログラムID","別名のファイルID"
"1","P-NUM","S9(9)","2進","9","CSV入力","X:¥Source¥csv.CBL","影響波及元",,"45","7","0","0","連絡節",,"False","-1","-1","-1"
"2","I","S9(9)","2進","9","CSV入力","X:¥Source¥csv.CBL","影響波及元",,"37","15","0","0","作業場所節",,"False","-1","-1","-1"
"3","NUM","S9(9)","2進","9","メインプログラム","X:¥Source¥sample.CBL","影響波及元",,"72","27","0","1","作業場所節",,"False","-1","-1","-1"
"4","P-NUM","S9(9)","2進","9","コムソート","X:¥Source¥sort.CBL","影響波及元",,"221","7","2","2","連絡節",,"False","-1","-1","-1"
"5","J","S9(9)","2進","9","コムソート","X:¥Source¥sort.CBL","影響波及先",,"210","10","2","2","作業場所節",,"False","-1","-1","-1"
"6","DISTANCE","9(4)","2進","4","コムソート","X:¥Source¥sort.CBL","調査対象(影響波及元関連図)",,"211","11","2","2","作業場所節",,"False","-1","-1","-1"
"7","DISTANCE","9(4)","2進","4","コムソート","X:¥Source¥sort.CBL","調査対象(影響波及先関連図)",,"211","11","2","2","作業場所節",,"False","-1","-1","-1"

影響波及データ項目一覧（-NoOutputAliasData指定あり）

"COBOL2002 Professional Tool Kit 04-20"
"データ影響波及分析"
"タイトル","影響波及データ項目一覧"
"指定オプション","未使用の影響波及データ項目の抽出:なし"
"作成日","2020-04-20 21:50:00"

"#","ソースファイル名","調査対象プログラム名","調査対象データ項目名","PICTURE文字列","データ型","けた数","登録集原文ファイル名","行番号"
"1","X:¥Source¥sort.CBL","コムソート","DISTANCE","9(4)","2進","4",,"211"

"#","影響波及データ項目名","PICTURE文字列","データ型","けた数","プログラム名","ソースファイル名","影響種別","登録集原文ファイル名","行番号","データ項目ID","プログラムID","ファイルID","定義場所","メモ","未使用の影響波及データ項目フラグ","別名のデータ項目ID","別名のプログラムID","別名のファイルID"
"1","P-NUM","S9(9)","2進","9","CSV入力","X:¥Source¥csv.CBL","影響波及元",,"45","7","0","0","連絡節",,"False","-1","-1","-1"
"2","I","S9(9)","2進","9","CSV入力","X:¥Source¥csv.CBL","影響波及元",,"37","15","0","0","作業場所節",,"False","-1","-1","-1"
"3","NUM","S9(9)","2進","9","メインプログラム","X:¥Source¥sample.CBL","影響波及元",,"72","27","0","1","作業場所節",,"False","-1","-1","-1"
"4","P-NUM","S9(9)","2進","9","コムソート","X:¥Source¥sort.CBL","影響波及元",,"221","7","2","2","連絡節",,"False","-1","-1","-1"
"5","J","S9(9)","2進","9","コムソート","X:¥Source¥sort.CBL","影響波及先",,"210","10","2","2","作業場所節",,"False","-1","-1","-1"
"6","DISTANCE","9(4)","2進","4","コムソート","X:¥Source¥sort.CBL","調査対象(影響波及元関連図)",,"211","11","2","2","作業場所節",,"False","-1","-1","-1"
"7","DISTANCE","9(4)","2進","4","コムソート","X:¥Source¥sort.CBL","調査対象(影響波及先関連図)",,"211","11","2","2","作業場所節",,"False","-1","-1","-1"

影響波及データ項目一覧（-ProgramImpactLevel指定あり）

"COBOL2002 Professional Tool Kit 04-20"
"データ影響波及分析"
"タイトル","影響波及データ項目一覧"
"指定オプション","波及レベル:2"
"作成日","2020-04-20 21:50:00"

"#","ソースファイル名","調査対象プログラム名","調査対象データ項目名","PICTURE文字列","データ型","けた数","登録集原文ファイル名","行番号"
"1","X:¥Source¥sort.CBL","コムソート","DISTANCE","9(4)","2進","4",,"211"

"#","影響波及データ項目名","PICTURE文字列","データ型","けた数","プログラム名","ソースファイル名","影響種別","登録集原文ファイル名","行番号","データ項目ID","プログラムID","ファイルID","定義場所","メモ","未使用の影響波及データ項目フラグ","別名のデータ項目ID","別名のプログラムID","別名のファイルID"
"1","P-NUM","S9(9)","2進","9","CSV入力","X:¥Source¥csv.CBL","影響波及元",,"45","7","0","0","連絡節",,"False","-1","-1","-1"
"2","I","S9(9)","2進","9","CSV入力","X:¥Source¥csv.CBL","影響波及元",,"37","15","0","0","作業場所節",,"False","-1","-1","-1"
"3","NUM","S9(9)","2進","9","メインプログラム","X:¥Source¥sample.CBL","影響波及元",,"72","27","0","1","作業場所節",,"False","-1","-1","-1"
"4","P-NUM","S9(9)","2進","9","コムソート","X:¥Source¥sort.CBL","影響波及元",,"221","7","2","2","連絡節",,"False","-1","-1","-1"
"5","J","S9(9)","2進","9","コムソート","X:¥Source¥sort.CBL","影響波及先",,"210","10","2","2","作業場所節",,"False","-1","-1","-1"
"6","DISTANCE","9(4)","2進","4","コムソート","X:¥Source¥sort.CBL","調査対象(影響波及元関連図)",,"211","11","2","2","作業場所節",,"False","-1","-1","-1"
"7","DISTANCE","9(4)","2進","4","コムソート","X:¥Source¥sort.CBL","調査対象(影響波及先関連図)",,"211","11","2","2","作業場所節",,"False","-1","-1","-1"

影響波及データ項目一覧（-NoOutputAliasDataと-ProgramImpactLevel同時指定あり）

"COBOL2002 Professional Tool Kit 04-20"
"データ影響波及分析"
"タイトル","影響波及データ項目一覧"
"指定オプション","未使用の影響波及データ項目の抽出:なし","波及レベル:2"
"作成日","2020-04-20 21:50:00"

"#","ソースファイル名","調査対象プログラム名","調査対象データ項目名","PICTURE文字列","データ型","けた数","登録集原文ファイル名","行番号"
"1","X:¥Source¥sort.CBL","コムソート","DISTANCE","9(4)","2進","4",,"211"

"#","影響波及データ項目名","PICTURE文字列","データ型","けた数","プログラム名","ソースファイル名","影響種別","登録集原文ファイル名","行番号","データ項目ID","プログラムID","ファイルID","定義場所","メモ","未使用の影響波及データ項目フラグ","別名のデータ項目ID","別名のプログラムID","別名のファイルID"
"1","P-NUM","S9(9)","2進","9","CSV入力","X:¥Source¥csv.CBL","影響波及元",,"45","7","0","0","連絡節",,"False","-1","-1","-1"
"2","I","S9(9)","2進","9","CSV入力","X:¥Source¥csv.CBL","影響波及元",,"37","15","0","0","作業場所節",,"False","-1","-1","-1"
"3","NUM","S9(9)","2進","9","メインプログラム","X:¥Source¥sample.CBL","影響波及元",,"72","27","0","1","作業場所節",,"False","-1","-1","-1"
"4","P-NUM","S9(9)","2進","9","コムソート","X:¥Source¥sort.CBL","影響波及元",,"221","7","2","2","連絡節",,"False","-1","-1","-1"
"5","J","S9(9)","2進","9","コムソート","X:¥Source¥sort.CBL","影響波及先",,"210","10","2","2","作業場所節",,"False","-1","-1","-1"
"6","DISTANCE","9(4)","2進","4","コムソート","X:¥Source¥sort.CBL","調査対象(影響波及元関連図)",,"211","11","2","2","作業場所節",,"False","-1","-1","-1"
"7","DISTANCE","9(4)","2進","4","コムソート","X:¥Source¥sort.CBL","調査対象(影響波及先関連図)",,"211","11","2","2","作業場所節",,"False","-1","-1","-1"

影響波及データ項目一覧（制御フローを考慮した解析の場合）

"COBOL2002 Professional Tool Kit 04-40"
"データ影響波及分析"
"タイトル","影響波及データ項目一覧"
"指定オプション","制御フローを考慮した解析"
"作成日","2021-10-20 21:50:00"

"#","ソースファイル名","調査対象プログラム名","調査対象データ項目名","PICTURE文字列","データ型","けた数","登録集原文ファイル名","行番号"
"1","X:¥TPs¥sample.CBL","SAMPLE","Z","X","英数字","1",,"11"

"#","影響波及データ項目名","PICTURE文字列","データ型","けた数","プログラム名","ソースファイル名","影響種別","登録集原文ファイル名","行番号","データ項目ID","プログラムID","ファイルID","定義場所","メモ","未使用の影響波及データ項目フラグ","別名のデータ項目ID","別名のプログラムID","別名のファイルID","アドレス別名の有無"
"1","Z","X","英数字","1","SAMPLE","X:¥TPs¥sample.CBL","調査対象(影響波及元関連図)",,"11","3","0","0","作業場所節",,"False","-1","-1","-1","false"
"2","Z","X","英数字","1","SAMPLE","X:¥TPs¥sample.CBL","調査対象(影響波及先関連図)",,"11","3","0","0","作業場所節",,"False","-1","-1","-1","false"
"3","Y","X","英数字","1","SAMPLE","X:¥TPs¥sample.CBL","影響波及元",,"10","2","0","0","作業場所節",,"False","-1","-1","-1","false"
"4","B","X","英数字","1","SAMPLE","X:¥TPs¥sample.CBL","影響波及元",,"14","5","0","0","作業場所節",,"False","-1","-1","-1","false"
"5","RET","X","英数字","1","SUB","X:¥TPs¥sub.CBL","影響波及元",,"11","0","0","1","連絡節",,"False","-1","-1","-1","false"

影響波及コード一覧

"COBOL2002 Professional Tool Kit 04-20"
"データ影響波及分析"
"タイトル","影響波及コード一覧"
"指定オプション"
"作成日","2020-04-20 21:50:00"

"#","ソースファイル名","調査対象プログラム名","調査対象データ項目名","PICTURE文字列","データ型","けた数","登録集原文ファイル名","行番号"
"1","X:¥Source¥sort.CBL","コムソート","DISTANCE","9(4)","2進","4",,"211"

"#","プログラム名","ソースファイル名","影響種別","影響波及コード","登録集原文ファイル名","行番号","メモ"
"1","CSV入力","X:¥Source¥csv.CBL","影響波及元","          MOVE 0 TO I.",,"50",
"2","CSV入力","X:¥Source¥csv.CBL","影響波及元","                ADD 1 TO I",,"55",
"3","CSV入力","X:¥Source¥csv.CBL","影響波及元","          MOVE I TO P-NUM.",,"60",
"4","メインプログラム","X:¥Source¥sample.CBL","影響波及元","        01 NUM            PIC S9(9) BINARY VALUE 0.",,"72",
"5","メインプログラム","X:¥Source¥sample.CBL","影響波及元","          CALL ""CSV入力"" USING IN-FILE-NAME  ARRAY  NUM.",,"127",
"6","メインプログラム","X:¥Source¥sample.CBL","影響波及元","          CALL ""SUB1"" USING IN-FILE-NAME  ARRAY  NUM.",,"129",
"7","メインプログラム","X:¥Source¥sample.CBL","影響波及元","              CALL ""選択法ソート""    USING KEY-TYPE ARRAY NUM",,"141",
"8","メインプログラム","X:¥Source¥sample.CBL","影響波及元","              CALL ""バブルソート""    USING KEY-TYPE ARRAY NUM",,"144",
"9","メインプログラム","X:¥Source¥sample.CBL","影響波及元","              CALL ""コムソート""      USING KEY-TYPE ARRAY NUM",,"147",
"10","メインプログラム","X:¥Source¥sample.CBL","影響波及元","          CALL ""CSV出力"" USING OUT-FILE-NAME  ARRAY  NUM.",,"163",
"11","コムソート","X:¥Source¥sort.CBL","影響波及元","           COMPUTE DISTANCE = P-NUM * 10 / 13.",,"229",
"12","コムソート","X:¥Source¥sort.CBL","影響波及先","             IF DISTANCE = 1",,"233",
"13","コムソート","X:¥Source¥sort.CBL","影響波及先","             PERFORM VARYING I FROM 1 BY 1 UNTIL I > P-NUM - DISTANCE",,"240",
"14","コムソート","X:¥Source¥sort.CBL","影響波及先","               COMPUTE J = I + DISTANCE",,"242",
"15","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J)",,"247",
"16","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"252",
"17","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"253",
"18","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"254",
"19","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"255",
"20","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"256",
"21","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"257",
"22","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"262",
"23","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"263",
"24","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"264",
"25","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"265",
"26","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"266",
"27","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"267",
"28","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF EMPLOYEE-ID(I) > EMPLOYEE-ID(J)",,"272",
"29","コムソート","X:¥Source¥sort.CBL","影響波及先","                   MOVE ELEMENT(J) TO ELEMENT(I)",,"281",
"30","コムソート","X:¥Source¥sort.CBL","影響波及先","                   MOVE WORK       TO ELEMENT(J)",,"282",
"31","コムソート","X:¥Source¥sort.CBL","影響波及元影響波及先","             COMPUTE DISTANCE = DISTANCE * 10 / 13",,"288",
"32","コムソート","X:¥Source¥sort.CBL","影響波及先","             IF DISTANCE = 0",,"289",
"33","コムソート","X:¥Source¥sort.CBL","影響波及元","                COMPUTE DISTANCE = 1",,"290",

影響波及コード一覧（-ProgramImpactLevel指定あり）

"COBOL2002 Professional Tool Kit 04-20"
"データ影響波及分析"
"タイトル","影響波及コード一覧"
"指定オプション","波及レベル:2"
"作成日","2020-04-20 21:50:00"

"#","ソースファイル名","調査対象プログラム名","調査対象データ項目名","PICTURE文字列","データ型","けた数","登録集原文ファイル名","行番号"
"1","X:¥Source¥sort.CBL","コムソート","DISTANCE","9(4)","2進","4",,"211"

"#","プログラム名","ソースファイル名","影響種別","影響波及コード","登録集原文ファイル名","行番号","メモ"
"1","CSV入力","X:¥Source¥csv.CBL","影響波及元","          MOVE 0 TO I.",,"50",
"2","CSV入力","X:¥Source¥csv.CBL","影響波及元","                ADD 1 TO I",,"55",
"3","CSV入力","X:¥Source¥csv.CBL","影響波及元","          MOVE I TO P-NUM.",,"60",
"4","メインプログラム","X:¥Source¥sample.CBL","影響波及元","        01 NUM            PIC S9(9) BINARY VALUE 0.",,"72",
"5","メインプログラム","X:¥Source¥sample.CBL","影響波及元","          CALL ""CSV入力"" USING IN-FILE-NAME  ARRAY  NUM.",,"127",
"6","メインプログラム","X:¥Source¥sample.CBL","影響波及元","          CALL ""SUB1"" USING IN-FILE-NAME  ARRAY  NUM.",,"129",
"7","メインプログラム","X:¥Source¥sample.CBL","影響波及元","              CALL ""選択法ソート""    USING KEY-TYPE ARRAY NUM",,"141",
"8","メインプログラム","X:¥Source¥sample.CBL","影響波及元","              CALL ""バブルソート""    USING KEY-TYPE ARRAY NUM",,"144",
"9","メインプログラム","X:¥Source¥sample.CBL","影響波及元","              CALL ""コムソート""      USING KEY-TYPE ARRAY NUM",,"147",
"10","メインプログラム","X:¥Source¥sample.CBL","影響波及元","          CALL ""CSV出力"" USING OUT-FILE-NAME  ARRAY  NUM.",,"163",
"11","コムソート","X:¥Source¥sort.CBL","影響波及元","           COMPUTE DISTANCE = P-NUM * 10 / 13.",,"229",
"12","コムソート","X:¥Source¥sort.CBL","影響波及先","             IF DISTANCE = 1",,"233",
"13","コムソート","X:¥Source¥sort.CBL","影響波及先","             PERFORM VARYING I FROM 1 BY 1 UNTIL I > P-NUM - DISTANCE",,"240",
"14","コムソート","X:¥Source¥sort.CBL","影響波及先","               COMPUTE J = I + DISTANCE",,"242",
"15","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J)",,"247",
"16","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"252",
"17","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"253",
"18","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"254",
"19","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"255",
"20","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"256",
"21","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"257",
"22","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"262",
"23","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"263",
"24","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"264",
"25","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"265",
"26","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"266",
"27","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF ( EMPLOYEE-SEX(I) < EMPLOYEE-SEX(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) > EMPLOYEE-AGE(J) )  OR
                      ( EMPLOYEE-SEX(I) = EMPLOYEE-SEX(J) AND
                        EMPLOYEE-AGE(I) = EMPLOYEE-AGE(J) AND
                        EMPLOYEE-NAME(I) > EMPLOYEE-NAME(J) )",,"267",
"28","コムソート","X:¥Source¥sort.CBL","影響波及先","                   IF EMPLOYEE-ID(I) > EMPLOYEE-ID(J)",,"272",
"29","コムソート","X:¥Source¥sort.CBL","影響波及先","                   MOVE ELEMENT(J) TO ELEMENT(I)",,"281",
"30","コムソート","X:¥Source¥sort.CBL","影響波及先","                   MOVE WORK       TO ELEMENT(J)",,"282",
"31","コムソート","X:¥Source¥sort.CBL","影響波及元影響波及先","             COMPUTE DISTANCE = DISTANCE * 10 / 13",,"288",
"32","コムソート","X:¥Source¥sort.CBL","影響波及先","             IF DISTANCE = 0",,"289",
"33","コムソート","X:¥Source¥sort.CBL","影響波及元","                COMPUTE DISTANCE = 1",,"290",

影響波及コード一覧（制御フローを考慮した解析の場合）

"COBOL2002 Professional Tool Kit 04-40"
"データ影響波及分析"
"タイトル","影響波及コード一覧"
"指定オプション","制御フローを考慮した解析"
"作成日","2021-10-20 21:40:00"

"#","ソースファイル名","調査対象プログラム名","調査対象データ項目名","PICTURE文字列","データ型","けた数","登録集原文ファイル名","行番号"
"1","X:¥TPs¥sample.CBL","SAMPLE","Z","X","英数字","1",,"11"

"#","プログラム名","ソースファイル名","影響種別","実行文種別","影響波及コード","登録集原文ファイル名","行番号","メモ"
"1","SAMPLE","X:¥TPs¥sample.CBL","影響波及元","VALUE","       01 Y PIC X VALUE 'Y'.",,"10",
"2","SAMPLE","X:¥TPs¥sample.CBL","影響波及元","CALL","         CALL 'SUB' RETURNING Y.",,"20",
"3","SAMPLE","X:¥TPs¥sample.CBL","影響波及元","MOVE","         MOVE Y TO B.",,"21",
"4","SAMPLE","X:¥TPs¥sample.CBL","-","IF","         IF F = 1 THEN",,"22",
"5","SAMPLE","X:¥TPs¥sample.CBL","-","ELSE","         ELSE",,"24",
"6","SAMPLE","X:¥TPs¥sample.CBL","影響波及元","MOVE","           MOVE B TO Z",,"25",
"7","SUB","X:¥TPs¥sub.CBL","-","手続き部","       PROCEDURE DIVISION RETURNING RET.",,"13",

影響波及関連図

"COBOL2002 Professional Tool Kit 04-20"
"データ影響波及分析"
"タイトル","影響波及関連図"
"指定オプション"
"作成日","2020-04-20 21:50:00"

"#","ソースファイル名","調査対象プログラム名","調査対象データ項目名","PICTURE文字列","データ型","けた数","登録集原文ファイル名","行番号"
"1","X:¥Source¥sort.CBL","コムソート","DISTANCE","9(4)","2進","4",,"211"

"影響波及元関連図"
"DISTANCE [コムソート]"
,"←","P-NUM [コムソート]"
,,"←","NUM [メインプログラム]"
,,,"←","P-NUM [CSV入力]"
,,,,"←","I [CSV入力]"
,,,,,"←","0"
,,,,,"←","1"
,,,"←","0"
,"←","1"
,"←","10"
,"←","13"

"影響波及先関連図"
"DISTANCE [コムソート]"
,"→","J [コムソート]"

影響波及関連図（-ProgramImpactLevel指定あり）

"COBOL2002 Professional Tool Kit 04-20"
"データ影響波及分析"
"タイトル","影響波及関連図"
"指定オプション","波及レベル:2"
"作成日","2020-04-20 21:50:00"

"#","ソースファイル名","調査対象プログラム名","調査対象データ項目名","PICTURE文字列","データ型","けた数","登録集原文ファイル名","行番号"
"1","X:¥Source¥sort.CBL","コムソート","DISTANCE","9(4)","2進","4",,"211"

"影響波及元関連図"
"DISTANCE [コムソート]"
,"←","P-NUM [コムソート]"
,,"←","NUM [メインプログラム]"
,,,"←","P-NUM [CSV入力]"
,,,,"←","I [CSV入力]"
,,,,,"←","0"
,,,,,"←","1"
,,,"←","0"
,"←","1"
,"←","10"
,"←","13"

"影響波及先関連図"
"DISTANCE [コムソート]"
,"→","J [コムソート]"

影響波及関連図（制御フローを考慮した解析の場合）

"COBOL2002 Professional Tool Kit 04-30"
"データ影響波及分析"
"タイトル","影響波及関連図"
"指定オプション","制御フローを考慮した解析"
"作成日","2021-04-20 15:26:18"

"#","ソースファイル名","調査対象プログラム名","調査対象データ項目名","PICTURE文字列","データ型","けた数","登録集原文ファイル名","行番号"
"1","Z:¥TPs¥sample.CBL","SAMPLE","Z","X","英数字","1",,"11"

"影響波及元関連図"
"Z [SAMPLE 行番号:25 カラム番号:22]"
,"←","B [SAMPLE 行番号:25 カラム番号:17]"
,,"←","Y [SAMPLE 行番号:21 カラム番号:15]"
,,,"←","RET [SUB 行番号:13 カラム番号:37]"
,,,"←","'Y'"

"影響波及先関連図"
"Z [SAMPLE 行番号:25 カラム番号:22]"

影響波及関連一覧

"COBOL2002 Professional Tool Kit 04-20"
"データ影響波及分析"
"タイトル","影響波及関連一覧"
"指定オプション"
"作成日","2020-04-20 21:50:00"

"#","ソースファイル名","調査対象プログラム名","調査対象データ項目名","PICTURE文字列","データ型","けた数","登録集原文ファイル名","行番号"
"1","X:¥Source¥sort.CBL","コムソート","DISTANCE","9(4)","2進","4",,"211"

"調査対象ID","調査対象フラグ","影響波及データ項目名","影響波及プログラム名","影響波及データ項目ID","影響波及プログラムID","影響波及ファイルID","影響波及項目種別","影響","影響波及元／先項目名","影響波及元／先プログラム名","影響波及元／先データ項目ID","影響波及元／先プログラムID","影響波及元／先ファイルID","影響波及元／先項目種別","明示的影響2項関係フラグ","暗黙的影響2項関係フラグ","別名関係にある暗黙的2項関係フラグ"
"1","TRUE","DISTANCE","コムソート","11","2","2","データ項目","影響波及元","P-NUM","コムソート","7","2","2","データ項目","TRUE",,
"1",,"P-NUM","コムソート","7","2","2","データ項目","影響波及元","NUM","メインプログラム","27","0","1","データ項目","TRUE",,
"1",,"NUM","メインプログラム","27","0","1","データ項目","影響波及元","P-NUM","CSV入力","7","0","0","データ項目","TRUE",,
"1",,"P-NUM","CSV入力","7","0","0","データ項目","影響波及元","I","CSV入力","15","0","0","データ項目","TRUE",,
"1",,"I","CSV入力","15","0","0","データ項目","影響波及元","0",,,,,"定数","TRUE",,
"1",,"I","CSV入力","15","0","0","データ項目","影響波及元","1",,,,,"定数","TRUE",,
"1",,"NUM","メインプログラム","27","0","1","データ項目","影響波及元","0",,,,,"定数",,"TRUE",
"1","TRUE","DISTANCE","コムソート","11","2","2","データ項目","影響波及元","1",,,,,"定数","TRUE",,
"1","TRUE","DISTANCE","コムソート","11","2","2","データ項目","影響波及元","10",,,,,"定数","TRUE",,
"1","TRUE","DISTANCE","コムソート","11","2","2","データ項目","影響波及元","13",,,,,"定数","TRUE",,
"1","TRUE","DISTANCE","コムソート","11","2","2","データ項目","影響波及先","J","コムソート","10","2","2","データ項目","TRUE",,

影響波及関連一覧（-ProgramImpactLevel指定あり）

"COBOL2002 Professional Tool Kit 04-20"
"データ影響波及分析"
"タイトル","影響波及関連一覧"
"指定オプション","波及レベル:2"
"作成日","2020-04-20 21:50:00"

"#","ソースファイル名","調査対象プログラム名","調査対象データ項目名","PICTURE文字列","データ型","けた数","登録集原文ファイル名","行番号"
"1","X:¥Source¥sort.CBL","コムソート","DISTANCE","9(4)","2進","4",,"211"

"調査対象ID","調査対象フラグ","影響波及データ項目名","影響波及プログラム名","影響波及データ項目ID","影響波及プログラムID","影響波及ファイルID","影響波及項目種別","影響","影響波及元／先項目名","影響波及元／先プログラム名","影響波及元／先データ項目ID","影響波及元／先プログラムID","影響波及元／先ファイルID","影響波及元／先項目種別","明示的影響2項関係フラグ","暗黙的影響2項関係フラグ","別名関係にある暗黙的2項関係フラグ"
"1","TRUE","DISTANCE","コムソート","11","2","2","データ項目","影響波及元","P-NUM","コムソート","7","2","2","データ項目","TRUE",,
"1",,"P-NUM","コムソート","7","2","2","データ項目","影響波及元","NUM","メインプログラム","27","0","1","データ項目","TRUE",,
"1",,"NUM","メインプログラム","27","0","1","データ項目","影響波及元","P-NUM","CSV入力","7","0","0","データ項目","TRUE",,
"1",,"P-NUM","CSV入力","7","0","0","データ項目","影響波及元","I","CSV入力","15","0","0","データ項目","TRUE",,
"1",,"I","CSV入力","15","0","0","データ項目","影響波及元","0",,,,,"定数","TRUE",,
"1",,"I","CSV入力","15","0","0","データ項目","影響波及元","1",,,,,"定数","TRUE",,
"1",,"NUM","メインプログラム","27","0","1","データ項目","影響波及元","0",,,,,"定数",,"TRUE",
"1","TRUE","DISTANCE","コムソート","11","2","2","データ項目","影響波及元","1",,,,,"定数","TRUE",,
"1","TRUE","DISTANCE","コムソート","11","2","2","データ項目","影響波及元","10",,,,,"定数","TRUE",,
"1","TRUE","DISTANCE","コムソート","11","2","2","データ項目","影響波及元","13",,,,,"定数","TRUE",,
"1","TRUE","DISTANCE","コムソート","11","2","2","データ項目","影響波及先","J","コムソート","10","2","2","データ項目","TRUE",,

影響波及関連一覧（制御フローを考慮した解析の場合）

"COBOL2002 Professional Tool Kit 04-30"
"データ影響波及分析"
"タイトル","影響波及関連一覧"
"指定オプション","制御フローを考慮した解析"
"作成日","2021-04-20 15:26:18"

"#","ソースファイル名","調査対象プログラム名","調査対象データ項目名","PICTURE文字列","データ型","けた数","登録集原文ファイル名","行番号"
"1","Z:¥TPs¥sample.CBL","SAMPLE","Z","X","英数字","1",,"11"

"調査対象ID","調査対象フラグ","影響波及データ項目名","影響波及プログラム名","影響波及データ項目行番号","影響波及データ項目カラム番号","影響波及データ項目ID","影響波及プログラムID","影響波及ファイルID","影響波及項目種別","影響","影響波及元／先項目名","影響波及元／先プログラム名","影響波及元／先項目行番号","影響波及元／先項目カラム番号","影響波及元／先データ項目ID","影響波及元／先プログラムID","影響波及元／先ファイルID","影響波及元／先項目種別","明示的影響2項関係フラグ","暗黙的影響2項関係フラグ","別名関係にある暗黙的2項関係フラグ"
"1","TRUE","Z","SAMPLE","25","22","3","0","0","データ項目","影響波及元","B","SAMPLE","25","17","5","0","0","データ項目","TRUE",,
"1",,"B","SAMPLE","25","17","5","0","0","データ項目","影響波及元","Y","SAMPLE","21","15","2","0","0","データ項目","TRUE",,
"1",,"Y","SAMPLE","21","15","2","0","0","データ項目","影響波及元","RET","SUB","13","37","0","0","1","データ項目","TRUE",,
"1",,"Y","SAMPLE","21","15","2","0","0","データ項目","影響波及元","'Y'",,,,,,,"定数","TRUE",,
"1","TRUE","Z","SAMPLE","25","22","3","0","0","データ項目","波及先なし",,,,,,,,,,,

影響波及トレース図

"COBOL2002 Professional Tool Kit 04-70"
"データ影響波及分析"
"タイトル","影響波及トレース図"
"指定オプション"
"作成日","2024-01-18 09:48:42"

"#","ソースファイル名","調査対象プログラム名","調査対象データ項目名","PICTURE文字列","データ型","けた数","登録集原文ファイル名","行番号"
"1","C:¥TP¥tp1.CBF","MAIN","A","X(2)","英数字","2",,"7"

"影響波及元トレース図"
"インデントレベル","種別","プログラム名","ソースファイル名","ファイルID","プログラムID","PICTURE文字列","データ型","けた数","データ項目ID","2項関係の種別","別名種別","行番号","トレース図（データノード名/手続き文）"
"0","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X(2)","英数字","2","1",,,,"A [MAIN]"
"1","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X(2)","英数字","2","3","別名暗黙","再定義項目",,,"←","C [MAIN]"

"影響波及先トレース図"
"インデントレベル","種別","プログラム名","ソースファイル名","ファイルID","プログラムID","PICTURE文字列","データ型","けた数","データ項目ID","2項関係の種別","別名種別","行番号","トレース図（データノード名/手続き文）"
"0","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X(2)","英数字","2","1",,,,"A [MAIN]"
"1","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X(2)","英数字","2","2","別名暗黙","再定義項目",,,"→","B [MAIN]"
"2","手続き文","MAIN","C:¥TP¥tp1.CBF","0","0",,,,,,,"18",,,"→","  DISPLAY B."
"2","データ項目",,,,,,,,,"明示",,,,,,"→","<SYSOUT>"
"1","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X(2)","英数字","2","3","別名暗黙","再定義項目",,,"→","C [MAIN]"
"2","手続き文","MAIN","C:¥TP¥tp1.CBF","0","0",,,,,,,"22",,,"→","  MOVE C TO G."
"2","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0",,"英数字集団",,"7","明示",,,,,,"→","G [MAIN]"
"2","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X(2)","英数字","2","8","暗黙","従属項目",,,,,"→","H OF G [MAIN]"
"3","手続き文","MAIN","C:¥TP¥tp1.CBF","0","0",,,,,,,"23",,,,,"→","  DISPLAY H."
"3","データ項目",,,,,,,,,"明示",,,,,,,,"→","<SYSOUT>"
"2","手続き文","MAIN","C:¥TP¥tp1.CBF","0","0",,,,,,,"19",,,"→","  CALL 'SUB' USING C."
"2","データ項目","SUB","C:¥TP¥tp1.CBF","0","1",,"英数字集団",,"0","明示",,,,,,"→","I [SUB]"
"2","データ項目","SUB","C:¥TP¥tp1.CBF","0","1","X(2)","英数字","2","1","暗黙","従属項目",,,,,"→","J OF I [SUB]"
"3","手続き文","SUB","C:¥TP¥tp1.CBF","0","1",,,,,,,"37",,,,,"→","  DISPLAY J."
"3","データ項目",,,,,,,,,"明示",,,,,,,,"→","<SYSOUT>"
"1","手続き文","MAIN","C:¥TP¥tp1.CBF","0","0",,,,,,,"20",,"→","  MOVE A TO D."
"1","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0",,"英数字集団",,"4","明示",,,,,"→","D [MAIN]"
"1","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X","英数字","1","5","暗黙","従属項目",,,,"→","E OF D [MAIN]"
"2","手続き文","MAIN","C:¥TP¥tp1.CBF","0","0",,,,,,,"21",,,,"→","  DISPLAY E F."
"2","データ項目",,,,,,,,,"明示",,,,,,,"→","<SYSOUT>"
"1","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X","英数字","1","6","暗黙","従属項目",,,,"→","F OF D [MAIN]"
"2","手続き文","MAIN","C:¥TP¥tp1.CBF","0","0",,,,,,,"21",,,,"→","  DISPLAY E F."
"2","データ項目",,,,,,,,,"明示",,,,,,,"→","<SYSOUT>"

影響波及トレース図（-ProgramImpactLevel指定あり）

"COBOL2002 Professional Tool Kit 04-70"
"データ影響波及分析"
"タイトル","影響波及トレース図"
"指定オプション","波及レベル:0"
"作成日","2024-01-18 10:18:06"

"#","ソースファイル名","調査対象プログラム名","調査対象データ項目名","PICTURE文字列","データ型","けた数","登録集原文ファイル名","行番号"
"1","C:¥TP¥tp1.CBF","MAIN","A","X(2)","英数字","2",,"7"

"影響波及元トレース図"
"インデントレベル","種別","プログラム名","ソースファイル名","ファイルID","プログラムID","PICTURE文字列","データ型","けた数","データ項目ID","2項関係の種別","別名種別","行番号","トレース図（データノード名/手続き文）"
"0","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X(2)","英数字","2","1",,,,"A [MAIN]"
"1","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X(2)","英数字","2","3","別名暗黙","再定義項目",,,"←","C [MAIN]"

"影響波及先トレース図"
"インデントレベル","種別","プログラム名","ソースファイル名","ファイルID","プログラムID","PICTURE文字列","データ型","けた数","データ項目ID","2項関係の種別","別名種別","行番号","トレース図（データノード名/手続き文）"
"0","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X(2)","英数字","2","1",,,,"A [MAIN]"
"1","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X(2)","英数字","2","2","別名暗黙","再定義項目",,,"→","B [MAIN]"
"2","手続き文","MAIN","C:¥TP¥tp1.CBF","0","0",,,,,,,"18",,,"→","  DISPLAY B."
"2","データ項目",,,,,,,,,"明示",,,,,,"→","<SYSOUT>"
"1","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X(2)","英数字","2","3","別名暗黙","再定義項目",,,"→","C [MAIN]"
"2","手続き文","MAIN","C:¥TP¥tp1.CBF","0","0",,,,,,,"22",,,"→","  MOVE C TO G."
"2","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0",,"英数字集団",,"7","明示",,,,,,"→","G [MAIN]"
"2","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X(2)","英数字","2","8","暗黙","従属項目",,,,,"→","H OF G [MAIN]"
"3","手続き文","MAIN","C:¥TP¥tp1.CBF","0","0",,,,,,,"23",,,,,"→","  DISPLAY H."
"3","データ項目",,,,,,,,,"明示",,,,,,,,"→","<SYSOUT>"
"1","手続き文","MAIN","C:¥TP¥tp1.CBF","0","0",,,,,,,"20",,"→","  MOVE A TO D."
"1","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0",,"英数字集団",,"4","明示",,,,,"→","D [MAIN]"
"1","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X","英数字","1","5","暗黙","従属項目",,,,"→","E OF D [MAIN]"
"2","手続き文","MAIN","C:¥TP¥tp1.CBF","0","0",,,,,,,"21",,,,"→","  DISPLAY E F."
"2","データ項目",,,,,,,,,"明示",,,,,,,"→","<SYSOUT>"
"1","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X","英数字","1","6","暗黙","従属項目",,,,"→","F OF D [MAIN]"
"2","手続き文","MAIN","C:¥TP¥tp1.CBF","0","0",,,,,,,"21",,,,"→","  DISPLAY E F."
"2","データ項目",,,,,,,,,"明示",,,,,,,"→","<SYSOUT>"

影響波及トレース図（制御フローを考慮した解析の場合）

"COBOL2002 Professional Tool Kit 04-70"
"データ影響波及分析"
"タイトル","影響波及トレース図"
"指定オプション","制御フローを考慮した解析"
"作成日","2024-01-18 10:25:55"

"#","ソースファイル名","調査対象プログラム名","調査対象データ項目名","PICTURE文字列","データ型","けた数","登録集原文ファイル名","行番号"
"1","C:¥TP¥tp1.CBF","MAIN","A","X(2)","英数字","2",,"7"

"影響波及元トレース図"
"インデントレベル","種別","プログラム名","ソースファイル名","ファイルID","プログラムID","PICTURE文字列","データ型","けた数","データ項目ID","2項関係の種別","別名種別","行番号","カラム番号","トレース図（データノード名/手続き文）"
"0","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X(2)","英数字","2","1",,,"20","8","A [MAIN 行番号:20 カラム番号:8]"
"1","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X(2)","英数字","2","3","別名暗黙","再定義項目","20","8",,"←","C [MAIN 行番号:20 カラム番号:8]"

"影響波及先トレース図"
"インデントレベル","種別","プログラム名","ソースファイル名","ファイルID","プログラムID","PICTURE文字列","データ型","けた数","データ項目ID","2項関係の種別","別名種別","行番号","カラム番号","トレース図（データノード名/手続き文）"
"0","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X(2)","英数字","2","1",,,"20","8","A [MAIN 行番号:20 カラム番号:8]"
"1","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X(2)","英数字","2","3","別名暗黙","再定義項目","20","8",,"→","C [MAIN 行番号:20 カラム番号:8]"
"2","手続き文","MAIN","C:¥TP¥tp1.CBF","0","0",,,,,,,"22",,,,"→","  MOVE C TO G."
"2","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0",,"英数字集団",,"7","明示",,"22","13",,,,"→","G [MAIN 行番号:22 カラム番号:13]"
"2","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X(2)","英数字","2","8","暗黙","従属項目","22","13",,,,"→","H OF G [MAIN 行番号:22 カラム番号:13]"
"3","手続き文","MAIN","C:¥TP¥tp1.CBF","0","0",,,,,,,"23",,,,,,"→","  DISPLAY H."
"3","データ項目",,,,,,,,,"明示",,,,,,,,,"→","<SYSOUT>"
"1","手続き文","MAIN","C:¥TP¥tp1.CBF","0","0",,,,,,,"20",,,"→","  MOVE A TO D."
"1","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0",,"英数字集団",,"4","明示",,"20","13",,,"→","D [MAIN 行番号:20 カラム番号:13]"
"1","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X","英数字","1","5","暗黙","従属項目","20","13",,,"→","E OF D [MAIN 行番号:20 カラム番号:13]"
"2","手続き文","MAIN","C:¥TP¥tp1.CBF","0","0",,,,,,,"21",,,,,"→","  DISPLAY E F."
"2","データ項目",,,,,,,,,"明示",,,,,,,,"→","<SYSOUT>"
"1","データ項目","MAIN","C:¥TP¥tp1.CBF","0","0","X","英数字","1","6","暗黙","従属項目","20","13",,,"→","F OF D [MAIN 行番号:20 カラム番号:13]"
"2","手続き文","MAIN","C:¥TP¥tp1.CBF","0","0",,,,,,,"21",,,,,"→","  DISPLAY E F."
"2","データ項目",,,,,,,,,"明示",,,,,,,,"→","<SYSOUT>"

付録A.4　フォルダ対応付けファイル

フォルダ対応付けファイルとは，サーバマシンからクライアントマシンにデータ影響波及分析用データベースを配布し，クライアントマシンで影響範囲を解析するときに，サーバマシンのCOBOLソースファイルが格納されていたフォルダ名とクライアントマシンのフォルダ名を対応付けるためのファイルです。

フォルダ対応付けファイルの指定でフォルダ名を変換するため，サーバマシンとクライアントマシンのフォルダ構成が異なっていても，配布されたデータベースをそのまま使用できます。

フォルダ対応付けファイルの形式を次に示します。

形式

//  コメント
変換前フォルダ名1 => 変換後フォルダ名1

//  コメント
変換前フォルダ名2 => 変換後フォルダ名2
      ：                    ：

フォルダ対応付けファイルの規則

フォルダ対応付けファイルの作成規則です。

フォルダの対応付けは，次に示す規則で記述します。また，「=>」は半角文字で記述します。

変換前フォルダ名△=>△変換後フォルダ名

（凡例）

△：半角空白，全角空白，またはタブ文字を示します。

フォルダ名を比較する場合，英大文字と英小文字は区別されません。

コメント行および空白行を記述できます。「//」で始まる行の行末までがコメント行です。行の途中からはコメントを記述できません。

フォルダ名を引用符（"）で囲むか，囲まないかは任意です。

フォルダ対応付けファイルの行数は，100行以内としてください。

別々の行の変換前フォルダ名に同じフォルダ名は指定できません。

別々の行の変換後フォルダ名に同じフォルダ名は指定できません。

変換前フォルダ名のパス名の中と変換後フォルダ名のパス名の中に同じフォルダ名を指定できません。

データ影響波及分析用データベースに登録されていないフォルダを変換前フォルダ名に指定できません。

クライアント側から参照できない，または存在しないフォルダ名を変換後フォルダ名に指定できません。

これらの規則に対しては影響波及解析前の同期チェックの前でチェックし，エラーがあった場合は，エラーレコードを無視するのではなく，エラーメッセージが出力され，処理が中断されます。

フォルダ対応付けファイルの注意

フォルダ対応付けファイルを作成するときの注意です。

プログラム情報フィルタリングファイルに，ソースファイル名を完全パスで指定する場合は，クライアント側のフォルダ名を使用してください。このとき，ワイルドカード（*または?）も使用できます。

データ影響波及分析の［調査対象選択］ダイアログでファイル名を完全パスで指定する場合は，クライアント側のフォルダ名を使用してください。ただし，フォルダ名の途中にワイルドカード（*または?）は使用できません。クライアント側のフォルダ名の代わりにサーバ側のフォルダ名を指定した場合は，フォルダ名の途中にワイルドカード（*または?）を使用できます。

関連項目

「3.6　サーバマシンで作成したデータ影響波及分析用データベースをクライアントマシンで利用する」

「付録A.1　プログラム情報フィルタリングファイル」

付録A.5　調査対象関連一覧ファイル

調査対象関連一覧ファイルの形式の説明です。

調査対象関連一覧ファイルとは，cbldiaコマンドの-Dataオプションで指定した条件に一致する調査対象データ項目と調査対象データ項目の別名，調査対象データ項目の使用個所を一覧として出力したファイルです。

データ影響波及分析では，調査したいデータ項目の名前を指定して，影響範囲を解析します。しかし，数値型や連絡節のデータ項目を調査する場合などは，データ項目の名前だけでは調査したいデータ項目を特定できません。

この場合，調査対象関連一覧ファイルを使用して条件を絞り込むことで，調査対象のデータ項目を選択できるようになります。

調査対象関連一覧ファイルの種類を次に示します。

表A‒2　調査対象関連一覧ファイルの種類

調査対象関連一覧ファイルの種類

説明

調査対象一覧

調査対象データ項目の情報を一覧として出力したものです。

調査対象別名一覧

調査対象データ項目と別名関係にあるデータ項目を一覧として出力したものです。

調査対象使用個所一覧

COBOLソースファイル上での調査対象データ項目の使用個所情報を一覧として出力したものです。ただし，ユーザ資産項目の使用個所情報は出力されません。

調査対象関連一覧ファイルのファイル形式を次に示します。

ファイルのエンコード形式はシフトJISです。

各表示部分の間は，1行改行されます。

各セルには，引用符（"）で囲まれた文字列が出力されます。ただし，セルが空文字（""）である場合，引用符は出力されません。

バージョン情報の形式

次の形式でバージョン情報を表示します。

"COBOL2002 Professional Tool Kit <バージョン>"
"データ影響波及分析"
"<タイトル>"
"<作成日>"

<バージョン>：COBOL2002 Professional Tool Kitのバージョン情報

<タイトル>：調査対象関連一覧ファイルの種類を示す次のどれかのタイトル

調査対象一覧

調査対象別名一覧

調査対象使用個所一覧

<作成日>：CSVファイルを作成した日時（「yyyy-MM-dd HH:mm:ss」の形式）

調査対象関連一覧の形式

調査対象一覧ファイルの形式

列名

内容

#

通し番号です。

データ項目名

調査対象データ項目の完全修飾の名前（OF修飾子付きの名前）です。

PICTURE文字列

調査対象データ項目のPICTURE文字列です。

データ型

調査対象データ項目のデータ型です。

けた数

調査対象データ項目のけた数です。

プログラム名

調査対象データ項目が属するプログラムの名前です。

ソースファイル名

調査対象データ項目が属するプログラムが記述されているソースファイルの絶対パスです。

登録集原文ファイル名

宣言文の記述個所が登録集原文ファイルの場合はその絶対パスです。記述個所が登録集原文ファイルでない場合は何も表示されません。

行番号

宣言文の記述があるファイルの行番号です。

明示的に宣言文が記述されていない場合は-1が表示されます。

定義場所

宣言文の記述がある次の節名です。

作業場所節

局所場所節

ファイル節

連絡節

その他

再定義項目フラグ

調査対象データ項目が再定義項目の場合，trueが表示されます。それ以外の場合，何も表示されません。

被再定義項目フラグ

調査対象データ項目が被再定義項目の場合，trueが表示されます。それ以外の場合，何も表示されません。

再命名項目フラグ

調査対象データ項目が再命名項目の場合，trueが表示されます。それ以外の場合，何も表示されません。

被再命名項目フラグ

調査対象データ項目が被再命名項目の場合，trueが表示されます。それ以外の場合，何も表示されません。

被再命名項目が集団項目のときは，その従属項目もtrueが表示されます。THROUGHを指定したときは，THROUGHに指定されたデータ項目，およびRENAMES句に指定されたデータ項目から，THROUGHに指定されたデータ項目の間にあるデータ項目も被再命名項目とし，trueが表示されます。

SYNCHRONIZED句有無フラグ

SYNCHRONIZED句またはSYNC句のあるデータ項目の場合，trueが表示されます。それ以外の場合，何も表示されません。

親集団項目の領域共有有無フラグ

親集団項目で次のどれかのフラグがtrueの場合，trueが表示されます。それ以外の場合，何も表示されません。

再定義項目フラグ

被再定義項目フラグ

再命名項目フラグ

被再命名項目フラグ

直前の親集団項目だけでなく，最上位の親集団項目までさかのぼって，1つでもtrueがあれば，trueが表示されます。

外部データ項目フラグ

調査対象データ項目が外部データ項目の場合，trueが表示されます。それ以外の場合，何も表示されません。

調査対象別名一覧ファイルの形式

列名

内容

#

通し番号です。

調査対象データ項目名

別名と対応する調査対象データ項目のデータ項目名（of修飾子付きの名前）です。

調査対象データ項目のプログラム名

別名と対応する調査対象データ項目のプログラム名です。このプログラム名は，別名のデータ項目のプログラム名と共通です。

調査対象データ項目のソースファイル名

別名と対応する調査対象データ項目のソースファイル名です。このソースファイル名は，別名のソースファイル名と共通です。

調査対象データ項目の登録集原文ファイル名

別名と対応する調査対象データ項目の登録集原文ファイル名です。

それ以外の場合，何も表示されません。

調査対象データ項目の行番号

別名と対応する調査対象データ項目の行番号です。

明示的に宣言文が記述されていない場合，-1が表示されます。

別名のデータ項目名

調査対象データ項目の別名のデータ項目名（of修飾子付きの名前）です。

別名のPICTURE文字列

別名のデータ項目名のPICTURE文字列です。

別名のデータ型

別名のデータ項目名のデータ型です。

別名のけた数

別名のデータ項目名のけた数です。

別名の登録集原文ファイル名

宣言文の記述個所が登録集原文ファイルの場合はその絶対パスです。記述個所が登録集原文ファイルでない場合は何も表示されません。

別名の行番号

調査対象データ項目の別名に，宣言文の記述があるファイルの行番号です。

明示的に宣言文が記述されていない場合は-1が表示されます。

別名の定義場所

宣言文の記述がある次の節名です。

作業場所節

局所場所節

ファイル節

連絡節

その他

調査対象データ項目との関係

調査対象データ項目と別名関係にある次のデータ項目です。

再定義項目

被再定義項目

再命名項目

被再命名項目

親集団項目

従属項目

間接的な別名

調査対象データ項目の場合は何も表示されません。

調査対象使用個所一覧ファイルの形式

列名

内容

#

通し番号です。

データ項目名

調査対象データ項目の完全修飾の名前（of修飾子付きの名前）です。

プログラム名

調査対象データ項目が属するプログラムの名前です。

ソースファイル名

所属するプログラムが記述されているソースファイルの絶対パスです。

登録集原文ファイル名

宣言文の記述個所が登録集原文ファイルの場合はその絶対パスです。記述個所が登録集原文ファイルでない場合は何も表示されません。

行番号

調査対象データ項目の宣言文の記述があるファイルの行番号です。

明示的に宣言文が記述されていない場合は-1が表示されます。

処理コード

調査対象データ項目が属する文です。

この文が複数行で記述されている場合は，文全体が表示されます。ただし，この文が複数のファイルに分かれているときは，対象のデータ項目が記述されている1行だけが表示されます。

処理コード登録集原文ファイル名

処理コードの記述個所が登録集原文ファイルの場合はその絶対パスです。

処理コード行番号

処理コードの行番号です。

登録集原文ファイルの場合は，その中での行番号が表示されます。

実行文種別

処理コードで使われている手続き文です。表示される値については，「付録A.3　解析結果CSVファイル」の「表A-1　実行文種別と影響波及コードおよび影響波及フローコードの種類の対応関係」を参照してください。

使用種別

処理コード中での値の使用種別です。

宣言

参照

更新

参照・更新

出力例

調査対象一覧ファイルの出力例

"COBOL2002 Professional Tool Kit 04-30"
"データ影響波及分析"
"タイトル","調査対象一覧"
"作成日","2021-05-22 14:07:53"

"#","データ項目名","PICTURE文字列","データ型","けた数","プログラム名","ソースファイル名","登録集原文ファイル名","行番号","定義場所","再定義項目フラグ","被再定義項目フラグ","再命名項目フラグ","被再命名項目フラグ","SYNCHRONIZED句有無フラグ","親集団項目の領域共有有無フラグ","外部データ項目フラグ"
"1","ELEMENT OF P-ARRAY",,"英数字集団",,"CSV出力","X:¥Source¥csv.CBL",,"100","連絡節",,,,,,,
"2","I","S9(9)","2進","9","CSV出力","X:¥Source¥csv.CBL",,"95","作業場所節",,,,,,,
"3","OUT-REC OF OUT-FILE",,"英数字集団",,"CSV出力","X:¥Source¥csv.CBL",,"91","ファイル節",,,,,,,
"4","P-ARRAY",,"英数字集団",,"CSV出力","X:¥Source¥csv.CBL",,"99","連絡節",,,,,,,
"5","P-FILENAME","X(100)","英数字","100","CSV出力","X:¥Source¥csv.CBL",,"98","連絡節",,,,,,,

調査対象別名一覧ファイルの出力例

"COBOL2002 Professional Tool Kit 04-30"
"データ影響波及分析"
"タイトル","調査対象別名一覧"
"作成日","2021-05-22 14:07:53"

"#","調査対象データ項目名","調査対象データ項目のプログラム名","調査対象データ項目のソースファイル名","調査対象データ項目の登録集原文ファイル名","調査対象データ項目の行番号","別名のデータ項目名","別名のPICTURE文字列","別名のデータ型","別名のけた数","別名の登録集原文ファイル名","別名の行番号","別名の定義場所","調査対象データ項目との関係"
"1","ELEMENT OF P-ARRAY","CSV出力","X:¥Source¥csv.CBL",,"100","EMPLOYEE-NAME OF ELEMENT OF P-ARRAY","N(5)","日本語","5","X:¥Source¥copy¥EMPLOYEE.CBL","8","連絡節","従属項目"
"2","ELEMENT OF P-ARRAY","CSV出力","X:¥Source¥csv.CBL",,"100","EMPLOYEE-SEX OF ELEMENT OF P-ARRAY","X","英数字","1","X:¥Source¥copy¥EMPLOYEE.CBL","9","連絡節","従属項目"
"3","ELEMENT OF P-ARRAY","CSV出力","X:¥Source¥csv.CBL",,"100","EMPLOYEE-AGE OF ELEMENT OF P-ARRAY","9(2)","外部10進","2","X:¥Source¥copy¥EMPLOYEE.CBL","10","連絡節","従属項目"
"4","ELEMENT OF P-ARRAY","CSV出力","X:¥Source¥csv.CBL",,"100","EMPLOYEE-ID OF ELEMENT OF P-ARRAY","9(8)","外部10進","8","X:¥Source¥copy¥EMPLOYEE.CBL","11","連絡節","従属項目"
"5","ELEMENT OF P-ARRAY","CSV出力","X:¥Source¥csv.CBL",,"100","P-ARRAY",,"英数字集団",,,"99","連絡節","親集団項目"

調査対象使用個所一覧ファイルの出力例

"COBOL2002 Professional Tool Kit 04-30"
"データ影響波及分析"
"タイトル","調査対象使用個所一覧"
"作成日","2021-05-22 14:07:53"

"#","データ項目名","プログラム名","ソースファイル名","登録集原文ファイル名","行番号","処理コード","処理コード登録集原文ファイル名","処理コード行番号","実行文種別","使用種別"
"1","ELEMENT OF P-ARRAY","CSV出力","X:¥Source¥csv.CBL",,"100","             WRITE OUT-REC FROM ELEMENT(I)",,"108","WRITE","参照"
"2","I","CSV出力","X:¥Source¥csv.CBL",,"95","          PERFORM VARYING I FROM 1 BY 1 UNTIL I > P-NUM",,"107","PERFORM","参照・更新"
"3","I","CSV出力","X:¥Source¥csv.CBL",,"95","          PERFORM VARYING I FROM 1 BY 1 UNTIL I > P-NUM",,"107","PERFORM","参照"
"4","I","CSV出力","X:¥Source¥csv.CBL",,"95","             WRITE OUT-REC FROM ELEMENT(I)",,"108","WRITE","参照"
"5","OUT-REC OF OUT-FILE","CSV出力","X:¥Source¥csv.CBL",,"91","             WRITE OUT-REC FROM ELEMENT(I)",,"108","WRITE","参照"

付録A.6　物理ファイル名対応付けファイル

物理ファイル名対応付けファイルとは，物理ファイルを経由した解析をする場合に，COBOLデータの装置名と，その装置名に割り当てられた物理ファイル名を対応付けるためのファイルです。データ影響波及分析用データベース作成時に，環境変数CBLDIA_MATERIAL_PHYSICAL_FILEに物理ファイル名対応付けファイルを指定することで，物理ファイル名を調査対象データ項目または影響波及データ項目とした影響波及を調査できます。

環境変数CBLDIA_MATERIAL_PHYSICAL_FILEが有効な場合，COBOL2002コンパイラは，次に示すファイル名と物理ファイル名を関連付けて，プログラム情報を収集します。物理ファイル名は，半角英小文字を半角英大文字に，全角英小文字を全角英大文字に変換して，プログラム情報を収集します。

装置名指定のASSIGN句があるファイル

物理ファイル名対応付けファイルを使用して，手動でファイル名と物理ファイル名の名前解決をします。

定数指定のASSIGN句があるファイル

COBOLソースファイルの内容から，自動でファイル名と物理ファイル名の名前解決をします。ただし，定数が255バイトを超える場合や引用符（"）を含む場合は，警告メッセージを出力して名前解決をしません。

ただし，HiRDBによる索引編成ファイルの場合，ASSIGN句の装置名や定数には，物理ファイル名ではなく，スキーマ定義の表名を指定するため，プログラム情報は収集されません。

物理ファイル名対応付けファイルの拡張子は，.dpcで作成してください。物理ファイル名対応付けファイル名の英小文字は，対応する英大文字と見なされます。作成した物理ファイル名対応付けファイルは，環境変数CBLDIA_MATERIAL_PHYSICAL_FILEに絶対パスで指定してください。相対パスで指定した場合の動作は保証しません。物理ファイル名対応付けファイルのパス名が255バイトを超える場合，または拡張子が.dpcでない場合は，警告メッセージが出力され，その物理ファイル名対応付けファイルの指定は無視されます。

物理ファイル名対応付けファイルの形式を次に示します。

形式

"装置名"△"物理ファイル名"

（凡例）

△：１個以上の半角空白，または1個以上のタブ文字を示します。

説明

物理ファイル名対応付けファイルに指定する項目です。

装置名

ASSIGN句に記述されている装置名です。

物理ファイル名

装置名指定のASSIGN句があるファイルに対応する物理ファイル名です。

注意

物理ファイル名対応付けファイルの1行の長さは，4,095バイト以内で指定してください。4,095バイトを超えていると，警告メッセージが出力され，その行は無視されます。

装置名，物理ファイル名はそれぞれ引用符（"）で囲み，1個以上の半角空白またはタブ文字で区切って，1行に1組だけ指定してください。行の書き方に誤りがある場合は，警告メッセージが出力され，その行は無視されます。

物理ファイル名の長さは，255バイト以内で指定してください。物理ファイル名が255バイトを超える場合は，警告メッセージが出力され，その行は無視されます。

物理ファイル名には，引用符（"）を含むファイル名は指定できません。引用符（"）を含んでいる場合は，警告メッセージが出力され，その行は無視されます。

1カラム目が「#」で始まる行はコメント行として扱い，その行は無視されます。

物理ファイル名対応付けファイルは，コメント行を含め1,000行以内で記述してください。1,000行を超えている場合は，警告メッセージが出力され，以降の行は無視されます。

物理ファイル名対応付けファイルでは，次の文字は区別されます。

各英小文字と対応する英大文字

拡張コードの各文字と対応する標準コードの文字

COBOLソースファイル中の利用者定義語には文字の等価規則が適用されるため，装置名には，それぞれ等価規則の適用後の装置名を指定してください。

1つの装置名に対して，複数の物理ファイル名を複数の行を使って指定できます。

物理ファイル名対応付けファイルに対する警告メッセージは，コンパイルリストには出力されません。

物理ファイル名対応付けファイルに対する警告メッセージは，次に示す形式で標準エラー出力（stderr）に出力されます。

"物理ファイル名対応付けファイル"， line 行番号：警告メッセージ

物理ファイル名対応付けファイルは，シフトJISコードで記述してください。

関連項目

「12.8.2　物理ファイルを経由した解析」

付録A.7　-SQLAutoCopyコンパイラオプション

-SQLAutoCopyコンパイラオプションについて説明します。

形式

-SQLAutoCopy
-noSQLAutoCopy

説明

-SQLAutoCopy

埋め込みSQL文を含むCOBOLソースファイルの場合，「WORKING-STORAGE SECTION.」のあとに，「INCLUDE CBLAUTOSQLCOPY.」を仮定します。

-noSQLAutoCopy

-SQLAutoCopyコンパイラオプションの指定を打ち消します。

注意

次のどれかのコンパイラオプションを指定すると，-SQLAutoCopyコンパイラオプションは無効になります。

-StdMIA　-Std85　-Std2002

付録B　データ影響波及分析で使用できる正規表現

データ影響波及分析で使用できる正規表現の説明です。

検索で使用できる正規表現の構文規則を次に示します。

パターン

検索する対象

¥d

半角数字の0から9の1文字。

¥s

空白文字。空白文字を次に示します。

半角スペース

タブ

¥

正規表現の要素で使われる文字を通常の文字としてエスケープする場合に使います。

例

「¥*」や「¥.」は，「*（アスタリスク）」や「.（ピリオド）」を検索します。

.

任意の1文字。

*

直前の文字の0回以上の繰り返しと一致。

「?」を付けると最短で一致。

+

直前の文字の1回以上の繰り返しと最長で一致。

「?」を付けると最短で一致。

?

直前の文字の0回または1回の繰り返しと最長で一致。

「?」を付けると最短で一致。

正規表現の使用例

「DATA」で始まり，半角数字が0回以上繰り返す文字列を検索する場合

検索パターン：DATA¥d*

検索対象文字列：MOVE DATA10 TO DATA20 DATA21

一致する文字列：DATA10，DATA20，DATA21

「MOVE」で始まり「DATA」で終わる最長の文字列を検索する場合

検索パターン：MOVE.*DATA

検索対象文字列：MOVE DATA10 TO DATA20

一致する文字列：MOVE DATA10 TO DATA

「MOVE」で始まり「DATA」で終わる最短の文字列を検索する場合

検索パターン：MOVE.*?DATA

検索対象文字列：MOVE DATA10 TO DATA20

一致する文字列：MOVE DATA

付録C　データ影響波及分析の制限値と限界値

データ影響波及分析の制限値と限界値の説明です。

「文字」は，全角文字・半角文字ともに1文字と見なします。

表C‒1　データ影響波及分析用データベースの制限値と限界値

項目

制限値，限界値

データベース内のサブシステムの数

500個

データベース内のソースファイル（解析情報）の数

99,999個

サブシステム内のソースファイル（解析情報）の数

9,999個

注

サブシステム数とソースファイルの数は，cbldraコマンドの-List,SubSystemオプションで確認できます。

表C‒2　データ影響波及分析の制限値と限界値

項目

制限値，限界値

［影響波及データ］画面，［影響波及コード］画面の数

25個

［影響波及データ］画面，［影響波及コード］画面に表示するCOBOLソースファイルの行数

999,999行

［プログラム呼び出し関連図］画面のプログラムノードのネスト

150個※1

［調査対象データ項目一覧］に表示する調査対象データ項目の数

5,000個

［プログラム呼び出し関連図］画面で1つのプログラムが呼び出すプログラムの個数

5,000個

［影響波及元関連図］画面のデータノードのネスト

150個

［影響波及元関連図］画面で1つのデータ項目に対する影響波及元データの個数

5,000個

［影響波及先関連図］画面のデータノードのネスト

150個

［影響波及先関連図］画面で1つのデータ項目から影響する影響波及先データの個数

5,000個

［影響プログラム一覧］画面でメモに記述できる文字数

1,024文字

［影響波及データ一覧］画面でメモに記述できる文字数

1,024文字

［影響波及コード一覧］画面でメモに記述できる文字数

1,024文字

［調査対象選択］ダイアログで検索結果に表示できるデータ名の個数

100個

cbldiaコマンドで調査対象のデータ名をデータベース検索で取得できる個数

2,147,483,647個

影響範囲解析で使用するメモリの総量

COBOL2002 Professional Tool Kit(32)の場合

既定値：1,400MB

上限値：2,048MB

COBOL2002 Professional Tool Kit(64)の場合

既定値：5,600MB

上限値：2,097,152MB

［調査対象選択］ダイアログで調査対象データ項目に指定できるデータ名の個数

100個

［調査対象選択］ダイアログのデータ名検索における検索対象にできる登録集原文ファイルの本数

100本

データベースの同期チェックエラー時のエラーリスト情報の最大数

256件

影響波及調査ウィンドウで終了操作時に操作ログファイルを出力するときに保存するファイルの最大数

3ファイル

影響波及調査ウィンドウで操作ログファイルを出力するときの1ファイルに出力する操作ログの最大行数

1,000行

フォルダ対応付けファイルの最大行数

100行

絞り込みに指定できる波及レベルの最大値

150

解析結果CSVファイル，タグファイルの合計サイズ，調査対象関連一覧ファイルの合計サイズ※2

1,024MB

注※1

次の順序で表示するプログラムを決定します。

1. 調査対象プログラムの呼出元プログラムノードが75個以上ある場合は，75個目以降の呼出元プログラムノードを切り捨てます。

2. 呼出元プログラムノードと呼出先プログラムノードの合計が150個を超える場合は，150個となるように，151個目以降の呼出先プログラムノードを切り捨てます。

注※2

ファイルの出力先ドライブには，解析結果CSVファイル，タグファイルの合計サイズ，調査対象関連一覧ファイルの合計サイズの制限値以上の空き容量が必要です。この制限値は，環境変数CBLDIA_MAXRESULTFILESIZEで変更できます。環境変数CBLDIA_MAXRESULTFILESIZEについては，「付録D　データ影響波及分析の環境変数」を参照してください。

付録D　データ影響波及分析の環境変数

データ影響波及分析の環境変数の説明です。

CBLDIA_PERFORMANCELOG

構文

CBLDIA_PERFORMANCELOG=ファイルのパス名

機能

データ影響波及分析のパフォーマンスログの出力先を指定します。この環境変数を指定すると，影響波及の解析が正常終了またはエラーで終了した時点で，指定したパス名のファイルに出力されます。

パフォーマンスログは，トラブル発生時に調査資料として必要になります。環境変数CBLDIA_PERFORMANCELOGは，システム環境変数またはユーザ環境変数に必ず指定して運用してください。

規則

書き込みオープンできないパス名を指定すると，環境変数CBLDIA_PERFORMANCELOGの指定は無視され，パフォーマンスログは出力されません。

パフォーマンスログは次の規則に従って出力されます。

ログ出力中に入出力エラーになった場合でも，エラーは通知されません。その後のログ出力処理はスキップされます。

初回解析時は上書きで，2回目以降の解析では追加で書き込まれます。

ファイル名（パス名と拡張子を除いたもの）の末尾が＠の場合は，＠が日付（"_yyyymmdd_hhmmss"）に置き換えられた名前のファイルに出力されます。その場合は，追加で書き込まれないで，解析の実行のたびに別ファイルに出力されます。

出力例

D:¥temp¥sample@.log

2015年4月10日2時00分38秒に実行すると，次に示すファイル名に置き換えられます。

D:¥temp¥sample_20150410_020038.log

この変換によってパス名がパス名長の上限を超えた場合は，環境変数CBLDIA_PERFORMANCELOGの指定は無視されます。

パフォーマンスログの出力例

///////////////////////////////////////////////////////////////////////////////
//
//  COBOL2002 Professional Tool Kit 03-05    Data Impact Analyzer
//
//    PERFORMANCE LOG (CREATED AT 2015/04/10 16:30:07)
//
///////////////////////////////////////////////////////////////////////////////

[ LOADED SOURCE INFORMATION LIST ]

 SourceID   InfoSize   LoadTime  FileName
 -----------------------------------------------------------------------------
 [00301]      26,377   0s 032ms  D:¥Sample¥sample_main.CBL
 [00302]      10,855   0s 015ms  D:¥Sample¥sample_sub1.CBL
 [00303]       1,367   0s 015ms  D:¥Sample¥sample_sub2.CBL
 -----------------------------------------------------------------------------
 Total Number of Source Information Loaded from DB    :             3 files
 Total Amount of Source Information Loaded from DB    :        38,599 bytes

[ EXECUTION PERFORMANCE INFORMATION ]

  Amount of Time for Loading of Source Information    :   0m 00s 062ms
  Amount of Time for Traversing of Source Information :   0m 00s 000ms
  Amount of Time for Analyzing of Source Information  :   0m 00s 107ms
  Amount of Time for Searching of DB                  :   0m 00s 026ms
  Amount of Time for GC                               :   0m 00s 012ms
  Amount of Time for Closing of DB                    :   0m 00s 007ms
 ---------------------------------------------------------------------
  Total Amount of Time for Data Impact Analysis       :   0m 00s 214ms

[ MEMORY PERFORMANCE INFORMATION ]

  Amount of Memory for Opening of DB                  :       179,320 bytes
  Amount of Memory for Loading of Source Information  :        38,599 bytes
  Amount of Memory for Analyzing of Source Information:        95,132 bytes
 --------------------------------------------------------------------------
  Total Amount of Memory for Data Impact Analysis     :       313,051 bytes

ファイルの出力例の項目の意味を次に示します。

[ LOADED SOURCE INFORMATION LIST ]

影響範囲解析のためにデータベースから読み込まれたソースファイル解析情報のリストです。データベース内でソースファイル解析情報を一意に示すためのソースID，データベース内のソースファイル解析情報のサイズ，読み込みに要した時間，およびソースファイルの絶対パス名が表示されます。

ソースファイル解析情報のサイズは，そのソースファイルをコンパイルした際のコンパイルリストの2〜3倍になります。ソースファイルから見積もる場合はこれを目安にできます。

その下には，ソースファイル解析情報の総数と総量（データベース内の形式でのサイズの総合計）が表示されます※。

[ EXECUTION PERFORMANCE INFORMATION ]

影響範囲解析の実行性能情報です。解析情報のロード時間の合計，走査時間の合計，解析時間の合計，データベースの検索時間の合計，GC（ガーベジコレクション）時間，およびデータベースのクローズ時間が表示されます。

[ MEMORY PERFORMANCE INFORMATION ]

影響範囲解析のメモリ性能情報です。

データベースのオープンで要したメモリ量，データベースからのソースファイル解析情報の読み込みに要したメモリ量（ピーク時），ソースファイル解析情報を解析するために使用したメモリ量，およびそれらの合計のメモリ量が表示されます※。

注※

ソースファイル解析情報の総数と総量，メモリ量は，次の形式で表示されます。

COBOL2002 Professional Tool Kit(32)の場合

3けたごとにコンマ（,）で区切った13けたで表示されます。13けたに満たない場合，値の前は半角空白で埋められます。

COBOL2002 Professional Tool Kit(64)の場合

3けたごとにコンマ（,）で区切った17けたで表示されます。17けたに満たない場合，値の前は半角空白で埋められます。

注意

表示されているメモリ量は，ガーベジコレクションのため，厳密な量ではありません。数十パーセントのオーダの誤差を含むことがあります。また解析処理のキャンセルやエラーの発生時は，正規の処理を通過していないために正しいメモリ量が計算されないで，負値のメモリ量が表示されることがあります。

CBLDIA_REMAPFILE

構文

CBLDIA_REMAPFILE=フォルダ対応付けファイルの絶対パス

機能

データ影響波及分析用データベースをサーバマシンからクライアントマシンに配布する場合に，フォルダ名を変換するための対応付けファイルを指定します。

規則

有効なファイル絶対パスが指定されなかった場合，または指定したファイル絶対パスが存在しない場合，エラーメッセージが出力され，処理が中断されます。

環境変数CBLDIA_REMAPFILEを使用する場合は，コントロールパネルのシステム環境変数またはユーザ環境変数に設定してください。

CBLDIA_MAXANALYSISMEMORY

構文

CBLDIA_MAXANALYSISMEMORY=上限値

機能

影響範囲解析で使用するメモリの総量の規定値を変更するときに，上限値をMB単位で指定します。規定値は，COBOL2002 Professional Tool Kit(32)の場合は1,400MB，COBOL2002 Professional Tool Kit(64)の場合は5,600MBです。

規則

COBOL2002 Professional Tool Kit(32)の場合は，0または1400〜2048の範囲内で，3けたごとのコンマ（,）区切りなしの数値で指定します。

COBOL2002 Professional Tool Kit(64)の場合は，0または1400〜2097152の範囲内で，3けたごとのコンマ（,）区切りなしの数値で指定します。

0を指定した場合，上限値はなしとなります。

数値以外，または範囲外の数値が指定された場合，この環境変数の指定は無効です。

注意

影響範囲解析で使用するメモリの総量が，この環境変数で指定した上限値を超えた場合は，メモリ不足でエラーとなり，影響範囲解析処理を中止します。

上限値には，影響範囲を解析するマシンのメモリ容量の70％を指定することを推奨します。0または推奨の上限値よりも大きい値を指定した場合は，スラッシングが発生してパフォーマンスが低下することがあります。

CBLDIA_PROGRESS_LOG_INTERVAL

構文

CBLDIA_PROGRESS_LOG_INTERVAL=数値

機能

KEDL3011E-Iメッセージの解析状態が「解析中」または「出力中」のときに，表示情報を更新（出力）する間隔を秒単位で指定します。この環境変数が指定された場合，環境変数に指定された時間が経過するごとにKEDL3011E-Iメッセージの表示情報を更新します。

規則

0〜200の範囲内の数値で指定します。

数値は半角数字で指定します。

0を指定した場合，解析状態が「解析中」および「出力中」のメッセージは出力しません。調査対象データ項目の影響範囲の解析が完了した時に，解析状態が「解析完了」のメッセージだけ出力します。

数値以外，または範囲外の数値が指定された場合，この環境変数の指定は無効です。

この環境変数が無効，または指定されていない場合，「20」が仮定されます。

この環境変数に指定した数値より解析および出力の処理時間が短い場合，解析状態が「解析中」および「出力中」のメッセージを出力しないことがあります。

CBLDIA_CREATE_CONTROLFLOW

構文

CBLDIA_CREATE_CONTROLFLOW=｛TRUE｜FALSE｝

機能

制御フローを考慮した解析が可能なデータベースを構築するかどうかを指定します。

TRUE：制御フローを考慮した解析が可能なデータベースを構築します。

FALSE：制御フローを考慮した解析が不可能なデータベースを構築します。

規則

TRUEおよびFALSE以外を指定した場合は，環境変数の指定がないものとして扱われます。

値は半角英字で指定します。大文字と小文字は区別しません。

この環境変数に値を指定しないで，cbldraコマンドでCOBOLソースファイルを登録すると，TRUEが仮定されます。

データベースへの追加登録時，この環境変数に指定した形式と，すでに登録しているデータ影響波及分析用データベースの作成形式が異なる場合は，エラーメッセージが出力され，処理が中止されます。

開発マネージャで制御フローを考慮した解析が可能なデータベースを作成する場合は，次の個所で，環境変数CBLDIA_CREATE_CONTROLFLOWに「TRUE」を必ず指定してください。

・開発マネージャの［プロジェクト設定］ダイアログの［ユーザ設定］タブ

・システム環境変数またはユーザ環境変数

CBLDIA_MATERIAL_DB

構文

CBLDIA_MATERIAL_DB=｛TRUE｜FALSE｝

機能

COBOLソースファイル登録時に，データベースを経由した解析が可能な形式で登録するかどうかを指定します。この環境変数を指定してCOBOLソースファイルを登録したかどうかは，cbldraコマンドの-Listオプションで確認できます。

TRUE：データベースを経由した解析が可能な形式で，COBOLソースファイルを登録します。

FALSE：データベースを経由した解析が不可能な形式で，COBOLソースファイルを登録します。

規則

この環境変数の指定がない場合は，FALSEが仮定されます。

TRUEおよびFALSE以外を指定した場合は，FALSEが仮定されます。

値は半角英字で指定します。大文字と小文字は区別しません。

注意

影響波及分析用データベースには，データベースを経由した解析が可能な形式と不可能な形式のCOBOLソースファイルを混在して登録できます。

COBOLソースファイルを混在して登録した影響波及分析用データベースに対して影響波及解析を実行した場合，データベースを経由した解析が有効となるのは，データベースを経由した解析が可能な形式で登録したCOBOLソースファイルだけです。データベースを経由した解析が不可能な形式で登録したCOBOLソースファイルは，データベースを経由した解析が無効であるものとして解析します。

COBOLソースファイルを混在して登録した影響波及分析用データベースに対して，データベースの表や列を調査対象データ項目に指定した場合，データベースを経由した解析が可能な形式で登録したCOBOLソースファイルの影響波及データ項目だけが影響波及分析の対象となります。

データベースを経由した解析が可能な形式でCOBOLソースファイルを登録した場合，そのCOBOLソースファイルにSELECT文，INSERT文，UPDATA文以外のSQL文あったとき，「付録E　影響波及で解析できるSQL文の一覧」に含まれるSQL文は影響2項関係の抽出対象となります。

CBLDIA_MATERIAL_DB_CHECK

構文

CBLDIA_MATERIAL_DB_CHECK=｛TRUE｜FALSE｝

機能

データベースを経由した解析が可能な形式でCOBOLソースファイルを登録する時に，影響2項関係を抽出できないSQL文の有無を確認するかどうかを指定します。

TRUE：影響2項関係を抽出できないSQL文の有無を確認します。該当するSQL文があった場合は警告メッセージを出力し，COBOLソースファイルの登録処理を続行します。

FALSE：影響2項関係を抽出できないSQL文の有無を確認しません。COBOLソースファイルの登録処理を続行します。

規則

この環境変数の指定がない場合は，TRUEが仮定されます。

TRUEおよびFALSE以外を指定した場合は，TRUEが仮定されます。

値は半角英字で指定します。大文字と小文字は区別しません。

環境変数CBLDIA_MATERIAL_DBに「FALSE」を指定している場合，この環境変数の指定はないものとして扱われます。

CBLDIA_MATERIAL_PHYSICAL_FILE

構文

CBLDIA_MATERIAL_PHYSICAL_FILE=物理ファイル名対応付けファイルの絶対パス

機能

物理ファイルを経由した解析が可能な形式でCOBOLソースファイルを登録する時に，装置名と物理ファイル名をひもづけるための対応付けファイルを指定します。この環境変数を指定してCOBOLソースファイルを登録したかどうかは，cbldraコマンドの-Listオプションで確認できます。

規則

物理ファイル名対応付けファイルの指定に誤りがある場合の動作については，「付録A.6　物理ファイル名対応付けファイル」を参照してください。

指定したパスに物理ファイル名対応付けファイルが存在しない場合は，定数指定のASSIGN句もプログラム情報収集の対象になりません。

注意

影響波及分析用データベースには，物理ファイルを経由した解析が可能な形式と不可能な形式のCOBOLソースファイルを混在して登録できます。

COBOLソースファイルを混在して登録した影響波及分析用データベースに対して影響波及解析を実行した場合，物理ファイルを経由した解析が有効となるのは，物理ファイルを経由した解析が可能な形式で登録したCOBOLソースファイルだけです。物理ファイルを経由した解析が不可能な形式で登録したCOBOLソースファイルは，物理ファイルを経由した解析が無効であるものとして解析します。

COBOLソースファイルを混在して登録した影響波及分析用データベースに対して，物理ファイル名を調査対象データ項目に指定した場合，物理ファイルを経由した解析が可能な形式で登録したCOBOLソースファイルの影響波及データ項目だけが影響波及分析の対象となります。

CBLDIA_MAXRESULTFILESIZE

構文

CBLDIA_MAXRESULTFILESIZE=数値

機能

解析結果CSVファイル，タグファイルの合計サイズ，調査対象関連一覧ファイルの合計サイズの制限値を変更する場合に指定します。この環境変数の指定値が出力先フォルダパスの空き容量より大きい場合や，出力するファイルの合計サイズより小さい場合は，エラーメッセージが出力され，処理が中断されます。

規則

数値は，正の整数で指定し，単位はMBです。

数値は半角数字で，1〜8192の範囲内で指定します。

数値以外，または範囲外の数値が指定された場合，この環境変数の指定は無効です。

この環境変数が無効，または指定されていない場合，「1024」が仮定されます。

付録E　影響波及で解析できるSQL文の一覧

影響波及で解析できるSQL文の説明です。

影響波及の解析では，SQL文によって埋め込み変数の取り扱いが異なります。影響波及で解析できるSQL文を次に示します。

表E‒1　影響波及で解析できるSQL文

項番

SQL文

埋め込み変数の取り扱い

参照

更新

1

ALLOCATE

○

×

2

ALLOCATE CONNECTION HANDLE

○

×

3

ALLOCATE CURSOR

○

×

4

ALLOCATE DESCRIPTOR

○

×

5

ASSIGN LIST

○

×

6

CALL COMMAND

○

×

7

CALL

○

×

8

CLOSE

○

×

9

COMMIT

○

×

10

CONNECT

○

×

11

CONTEXT ALLOCATE

○

×

12

CONTEXT FREE

○

×

13

CONTEXT USE

○

×

14

DEALLOCATE DESCRIPTOR

○

×

15

DECLARE AUDIT INFO SET

×※

×

16

DECLARE CONNECTION HANDLE SET

×※

×

17

DECLARE CURSOR

×※

×

18

DECLARE STATEMENT

×※

×

19

DELETE

○

×

20

DESCRIBE CURSOR

○

×

21

DESCRIBE DESCRIPTOR

○

×

22

DESCRIBE TYPE

○

×

23

DESCRIBE

○

×

24

DROP LIST

○

×

25

EXECUTE DESCRIPTOR

○

×

26

EXECUTE IMMEDIATE

○

○

27

EXECUTE

○

○

28

FETCH DESCRIPTOR

○

×

29

FETCH

○

○

30

FREE

○

×

31

FREE CONNECTION HANDLE

○

×

32

FREE LOCATOR

○

×

33

GET CONNECTION HANDLE

○

×

34

GET DESCRIPTOR

○

×

35

GET DIAGNOSTICS

○

×

36

INSERT

○

×

37

LOB APPEND

○

×

38

LOB ASSIGN

○

×

39

LOB CLOSE

○

×

40

LOB COPY

○

×

41

LOB CREATE TEMPORARY

○

×

42

LOB DESCRIBE

○

×

43

LOB DISABLE BUFFERING

○

×

44

LOB ENABLE BUFFERING

○

×

45

LOB ERASE

○

×

46

LOB FILE CLOSE ALL

○

×

47

LOB FILE SET

○

×

48

LOB FLUSH BUFFER

○

×

49

LOB FREE TEMPORARY

○

×

50

LOB LOAD

○

×

51

LOB OPEN

○

×

52

LOB READ

○

×

53

LOB TRIM

○

×

54

LOB WRITE

○

×

55

OPEN

○

×

56

PREPARE

○

×

57

ROLLBACK

○

×

58

SAVEPOINT

○

×

59

SELECT

○

○

60

SET

○

×

61

SET DESCRIPTOR

○

×

62

SET SESSION AUTHORIZATION

○

×

63

UPDATE

○

×

（凡例）

○：SQL文の埋め込み変数に参照情報または更新情報が出力されます。

×：SQL文の埋め込み変数に参照情報または更新情報が出力されません。

注

埋め込み変数の取り扱いの種別（参照・更新）は，厳密な挙動と異なることがあります。

注※

DECLARE文は，SQL文を宣言しているだけで，埋め込みデータ項目を参照しません。このため，DECLARE文の解析結果には，参照情報は出力されません。

付録F　このマニュアルの参考情報

このマニュアルを読むに当たっての参考情報を示します。

付録F.1　関連マニュアル

関連マニュアルを次に示します。必要に応じてお読みください。

COBOL2002 Professional製品

COBOL2002 Professional製品 導入ガイド（4010-1J-815）

COBOL2002 Professional Tool Kit COBOLソース解析ガイド（4010-1J-816）

COBOL2002 Professional Tool Kit 単体テスト支援ガイド（4010-1J-818）

COBOL2002

COBOL2002　ユーザーズガイド（4010-1J-800）

COBOL2002　操作ガイド（4010-1J-801）

COBOL2002　言語 標準仕様編（4010-1J-804）

COBOL2002　言語 拡張仕様編（4010-1J-805）

COBOL2002　メッセージ（4010-1J-809）

付録F.2　このマニュアルでの表記

このマニュアルでは，マイクロソフト製品の名称を次のように表記しています。

マニュアルでの表記

製品名

Windows

Windows 10(x64)

Windows 10 Enterprise 日本語版(64ビット版)

Windows 10 Pro 日本語版(64ビット版)

Windows 11

Windows 11 Pro 日本語版

Windows 11 Enterprise 日本語版

Windows Server 2019

Windows Server 2019 Standard 日本語版

Windows Server 2019 Datacenter 日本語版

Windows Server 2022

Windows Server 2022 Standard 日本語版

Windows Server 2022 Datacenter 日本語版

このマニュアルでは，製品名を次のように表記しています。

表記

製品名

COBOL2002

COBOL2002 Net Developer

COBOL2002 Net Developer(64)

COBOL2002 Professional Tool Kit(32)とCOBOL2002 Professional Tool Kit(64)を総称して，COBOL2002 Professional Tool Kitと表記しています。

付録F.3　KB（キロバイト）などの単位表記について

1KB（キロバイト），1MB（メガバイト），1GB（ギガバイト），1TB（テラバイト）はそれぞれ1,024バイト，1,024²バイト，1,024³バイト，1,024⁴バイトです。

索引

記号

{-Data データ名〔;〔プログラム名〕 〔;ファイル名〕〕}...[1]、[2]

-? または -Help[1]、[2]、[3]

-Column カラム番号[1]

-ControlFlow[1]

-Copy[1]、[2]

-DataArea データ領域番号[1]

-DBData[1]

-DBData ユーザ資産項目名[1]

-Delete〔,｛Module｜SubSystem｝〕[1]

-Direction〔｛,Backward｜,Forward｝+〕[1]

-FileData[1]

-FileData ユーザ資産項目名[1]

-Filter プログラム情報フィルタリングファイル名[1]、[2]

-Force[1]、[2]

-IdCallMap 一意名呼び出し対応付けファイル名[1]

-InitializeDataArea データ領域番号[1]

-InitializeDatabase[1]

-Line 行番号[1]

-List〔,｛All｜SubSystem｝〕[1]

-ModuleName モジュール名[1]

-NoHeaderInfo[1]、[2]

-NoOutputAliasData[1]

-OutDir フォルダ名[1]、[2]

-OutFilePrefix プレフィックス文字列[1]、[2]

-OutputFile｛,Code｜,Data｜,DataTree｜,Program｜,Relation｜,CodeTag｝+[1]

-OutputLog ログファイル名[1]、[2]

-OutputTargetList〔｛,Alias｜,Reference｝+〕[1]

-OutputTraceFile[1]

-ProgramImpactLevel 波及レベル[1]

-Quick[1]

-r[1]

-SourcePath ソースフォルダ名〔;ソースフォルダ名〕...[1]

-SQLAutoCopyコンパイラオプション[1]

-SubSystem サブシステム名[1]

-SubSystem サブシステム名〔;サブシステム名〕...[1]、[2]

C

CBLDIA_CREATE_CONTROLFLOW[1]

CBLDIA_MATERIAL_DB[1]

CBLDIA_MATERIAL_DB_CHECK[1]

CBLDIA_MATERIAL_PHYSICAL_FILE[1]

CBLDIA_MAXANALYSISMEMORY[1]

CBLDIA_MAXRESULTFILESIZE[1]

CBLDIA_PERFORMANCELOG[1]、[2]

CBLDIA_PROGRESS_LOG_INTERVAL[1]

CBLDIA_REMAPFILE[1]

cbldiaコマンド − 影響範囲を解析した結果をCSVファイルおよびタグファイルに出力する[1]

cbldiaコマンド − 解析状況を表示する[1]

cbldiaコマンド − 調査対象に指定したデータ項目の調査対象関連一覧をCSVファイルに出力する[1]

cbldraコマンド − データ影響波及分析用データベースを操作する[1]

COBOLエディタから影響波及を解析する[1]

COBOLエディタのタグファイルを出力する[1]

COBOLソースファイル名[1]

CSVファイルに出力する[1]

W

Windowsのプログラム一覧から影響波及の解析を開始する[1]

Windowsのプログラム一覧から影響波及の調査の続きをする[1]

あ

新しい解析と調査を開始する[1]

い

一意名呼び出し対応付けファイル[1]

色を設定する[1]

え

影響2項関係[1]

［影響個所］画面[1]

影響するプログラムを調査する[1]

影響波及関連図[1]

影響波及コード[1]

［影響波及コード一覧］画面[1]

［影響波及コード］画面[1]

影響波及先解析[1]

影響波及先関連図[1]

［影響波及先関連図］画面[1]

影響波及先コード[1]、[2]

影響波及先データ[1]

影響波及先データ項目[1]、[2]

影響波及先プログラム[1]

影響波及調査ウィンドウ[1]

［影響波及データ一覧］画面[1]

［影響波及データ］画面[1]

影響波及データ項目[1]

影響波及データと影響波及コードを調査する[1]

影響波及の解析[1]

影響波及の解析手順[1]

影響波及の解析を開始する[1]

影響波及の調査の続きをする[1]

影響波及元解析[1]

影響波及元関連図[1]

影響波及元関連図，影響波及先関連図で解析結果を絞り込む[1]

［影響波及元関連図］画面[1]

影響波及元コード[1]、[2]

影響波及元データ[1]

影響波及元データ項目[1]、[2]

影響波及元プログラム[1]

影響波及を解析する[1]

影響波及を調査する[1]

影響範囲解析[1]

影響範囲の調査で修正範囲を明確にしてプログラムを修正する[1]

影響プログラム[1]

［影響プログラム一覧］画面[1]

［影響プログラム］画面[1]

エラー時に採取する情報[1]

エラー時の対処[1]

エラー情報ファイル[1]

か

解析結果CSVファイル[1]

解析結果から調査対象データ項目を指定して新しく解析する[1]

解析結果の表示[1]

解析結果の表示を絞り込む[1]

解析結果を保存する[1]

解析を補助する機能[1]

開発マネージャで設定する画面[1]

画面の表示をデフォルトに戻す[1]

画面のリファレンス[1]

画面表示を変更する[1]

画面を検索する[1]

環境変数[1]

環境変数CBLDIA_PERFORMANCELOG[1]

環境をカスタマイズする[1]

き

行番号に該当する行を表示する[1]

け

現在のプロジェクトのデータ影響波及分析用データベースを作成する[1]

現在のプロジェクトをビルドしてデータ影響波及分析用データベースを作成する[1]

こ

コマンドでデータ影響波及分析用データベースを作成する[1]

コマンドリファレンス[1]

さ

サーバマシンで作成したデータ影響波及分析用データベースをクライアントマシンで利用する[1]

サブシステム名を変更する[1]

し

事例から探す〔トラブルシュート〕[1]

新規で解析をやり直す[1]

す

スタートページ[1]

すべてのプロジェクトのデータ影響波及分析用データベースを作成する[1]

すべてのプロジェクトをビルドしてデータ影響波及分析用データベースを作成する[1]

せ

制御フローを考慮した解析[1]

制限値と限界値[1]

そ

操作ログ[1]

ち

［調査環境の設定］画面[1]

調査結果の使用方法[1]

調査結果を出力する[1]

調査状態保存ファイル[1]

調査状態保存ファイルを開いて影響波及の調査の続きをする[1]

調査状態保存ファイルを読み込んで影響波及の調査の続きをする[1]

調査対象関連一覧の出力を実行する[1]

調査対象関連一覧ファイル[1]

［調査対象選択］ダイアログ[1]

調査対象データ項目[1]

［調査対象データ項目一覧］画面[1]

調査対象データ項目で解析結果を絞り込む[1]

調査対象データ項目の別名の扱い[1]

調査対象プログラム[1]

て

データ影響波及分析で使用できる正規表現[1]

データ影響波及分析で対象とするCOBOLの要素[1]

データ影響波及分析での操作の種類[1]

データ影響波及分析とは[1]

データ影響波及分析の環境変数[1]

データ影響波及分析の基本的な使い方[1]

データ影響波及分析の紹介[1]

データ影響波及分析の使用方法[1]

データ影響波及分析の制限値と限界値[1]

データ影響波及分析の対象とする実行単位のプログラム範囲[1]

データ影響波及分析の対象のプログラム範囲[1]

データ影響波及分析の分析処理の概要[1]

データ影響波及分析用データベース[1]

データ影響波及分析用データベースからサブシステムまたはモジュールを削除する[1]

データ影響波及分析用データベース内の構成を表示する[1]

データ影響波及分析用データベースを更新する[1]

データ影響波及分析用データベースを作成する[1]

データ影響波及分析用データベースを操作する[1]

データ影響波及分析を実行する[1]

データ影響波及分析を実行できない[1]

データ影響波及分析を使う手順[1]

データベースを経由した解析[1]

データベースを操作するコマンド[1]

は

バッチモードで影響範囲の解析結果または調査対象関連一覧の出力を実行するコマンド[1]

バッチモードで影響範囲の解析と解析結果の出力を実行する[1]

バッチモードで実行する[1]

パフォーマンスログ[1]

ひ

ビルドを実行してデータ影響波及分析用データベースを作成する[1]

ふ

フォルダ対応付けファイル[1]

フォントのサイズを設定する[1]

物理ファイル名対応付けファイル[1]

物理ファイルを経由した解析[1]

プログラム情報収集[1]

プログラム情報フィルタリングファイル[1]

プログラムテストの影響範囲を調査する[1]

プログラムの影響を把握して開発規模を見積もる[1]

プログラムの波及レベル[1]

［プログラム呼び出し関連図］画面[1]

プログラム呼び出し関連図で解析結果を絞り込む[1]

プロジェクトとデータ影響波及分析用データベースの関係[1]

プロジェクト内のファイルを更新しないでデータ影響波及分析用データベースを作成する[1]

み

未使用の影響波及データ項目[1]

め

メッセージから探す〔トラブルシュート〕[1]

メッセージの一覧[1]

メッセージの出力形式[1]

ゆ

ユーザ資産項目[1]

ユーザ資産項目を経由した解析[1]