Hitachi

COBOL2002 Professional Tool Kit COBOLソース解析ガイド


7.4.1 [プログラム詳細]画面

プログラムの詳細を表示する画面です。[プログラム詳細]画面には,「プログラム概要」や「呼出元プログラム一覧」など固有の情報のソース解析情報が表示されます。

図7‒21 プログラム詳細

[図データ]

この画面右上のリンクをクリックすると,各画面に遷移します。

[プログラム階層図]リンク

このリンクをクリックすると,[プログラム階層図]画面の該当するプログラムノードに遷移します。ただし,使用されていない内部プログラムを表示している場合は,[プログラム階層図]にリンクは付きません。

[セクション階層図]リンク

このリンクをクリックすると,プログラムの[セクション階層図]画面に遷移します。

[PAD表示]リンク

このリンクをクリックすると,[PAD表示]画面に遷移します。

このリンクは,[解析生成オプション設定]画面で次のオプションを有効(チェックボックス/オプションボタンをオン)にして,解析/生成されている場合にだけ表示されます。

  • [生成ドキュメント]タブの[対象ブラウザ指定]の[Microsoft Edge向けのHTMLドキュメントを生成する]

  • [その他の解析オプション]タブの[プログラムの制御フロー情報(PAD表示や実行順序表示のための情報)を抽出する]

[解析生成オプション設定]画面のオプションの設定と[PAD表示]リンクの関係を次の表に示します。

[解析生成オプション設定]画面の設定

[PAD表示]リンクの表示有無

[生成ドキュメント]タブの[Microsoft Edge向けのHTMLドキュメントを生成する]のチェック有無

[その他の解析オプション]タブの[プログラムの制御フロー情報(PAD表示や実行順序表示のための情報)を抽出する]のチェック有無

あり

あり

[PAD表示]は表示され,リンクも付加されます。

なし

[PAD表示]は表示されますが,リンクは付加されません。

なし

あり/なし

[PAD表示]は表示されません。

[ソース表示]リンク

このリンクをクリックすると,[ソース表示(COPY展開後)]画面に遷移します。

〈この項の構成〉

(1) プログラム概要

プログラムの概要情報です。

図7‒22 プログラム概要

[図データ]

[プログラム名]

見出し部のプログラム名称(PROGRAM-ID)です。

[COBOLソースファイル名]

COBOLソースファイル名です。

「COBOLソースファイル名」をクリックすると,[ソース表示]画面に遷移します。

[パス名]

COBOLソースファイルが格納されているパス名です。

[コメント行の文字列]

プログラムコメント(プログラムの機能を要約するコメント)の文字列です。

[解析生成オプション設定]画面の[プログラムコメント抽出]タブで[プログラムコメントを抽出する]にチェックすると,条件に従って抽出されたコメントが表示されます。[プログラムコメント抽出]タブについては,「5.2.3 [プログラムコメント抽出]タブ」を参照してください。

[総行数]

プログラムの総行数です。

[有効行数]

プログラムの総行数からコメント行数を引いた値です。

[登録集]

登録集原文で展開したプログラムの行数です

[コメント行数]

COBOLソースファイルまたは登録集原文ファイルのコメント行と注記項の総数です(COPY文展開前)。コメント行の行数カウントについては,「7.6.2 ソース表示の色と行数カウント」を参照してください。

[参照する登録集原文数]

COPY文で展開している登録集原文の数です。

[ファイル数]

ファイルの個数です。

[記述項数]

データ部で定義している01〜49,66,77レベルのデータ名の個数です。

[データ項目数]

データ部で定義している01,77レベルのデータ項目の数です。同じ名称のデータ項目は,1個ではなく,定義の数だけカウントします。

[引数の個数]

手続き部(PROCEDURE DIVISION)の見出しの引数の個数です。RETURNING指定の返却項目は,個数に含まれません。

[実行文の数]

手続き部(PROCEDURE DIVISION)の文の数です。ただし,「文」にはELSE,およびEND動詞は含みません。また,EXEC SQL〜END-EXECは1文として数えます。対象となる文については,「10.8 実行文として数える文」を参照してください。

[分岐の数]

プログラムの分岐の数です。分岐の数は,COBOL2002 カバレージ情報のC1メジャーの数で示します。詳細については,マニュアル「COBOL2002 操作ガイド」のカバレージ情報の説明を参照してください。

[節数]

手続き部の節の個数です。

[段落数]

手続き部の段落の個数です。

[表(DB)数]

埋め込みSQL文で使用している表の個数です。

[呼出元プログラム数]

呼出元プログラムの個数です。

[呼出先プログラム数]

呼出先プログラムの個数です。

[未使用の内部プログラム数]

未使用の内部プログラムの個数です。

[未使用のデータ項目数]

未使用のデータ項目の個数です。

注意事項

表示されるのはデッドコード候補として検知された未使用のデータ項目の個数です。このため,[プログラム詳細]画面の「データ項目一覧」で表示されている未参照のデータ項目の個数とは一致しない場合があります。

[未使用の報告書,画面,通信記述名の数]

未使用の報告書,画面,および通信記述名の個数です。

[制御が渡らない文,手続きの数]

制御が渡らない文,および手続きの個数です。

(2) 呼出元プログラム一覧

プログラム概要のプログラムを呼び出しているプログラムの一覧です。

図7‒23 呼出元プログラム一覧

[図データ]

[呼出元プログラム名]

プログラム概要のプログラムを呼び出しているプログラムの名称です。「呼出元プログラム名」をクリックすると,[プログラム詳細]画面に遷移します。

(3) 呼出先プログラム一覧

プログラム概要のプログラムが呼び出しているプログラムの一覧です。

図7‒24 呼出先プログラム一覧

[図データ]

[呼出先プログラム名]

CALL文で呼び出されているプログラムの名称です。

一意名指定のCALL文の場合は,次の文字列が表示されます。

  • 呼出先プログラム名称(AUTO)

    一意名指定のCALL文の自動解決機能で呼び出し先として解決されたプログラムのときに表示されます。

  • 呼出先プログラム名称(FILE)

    一意名呼び出し対応付けファイルで呼び出し先として解決されたプログラムのときに表示されます。

注意事項

一意名指定のCALL文の自動解決機能と,一意名呼び出し対応付けファイルの両方で呼び出し先として解決されたプログラムのときは,「呼出先プログラム名称(AUTO)」が表示されます。

  • (一意名)

    一意名指定のCALL文の呼び出し先が自動解決機能や一意名呼び出し対応付けファイルで解決されなかったときに表示されます。

「呼出先プログラム名」のリンクをクリックすると,[プログラム詳細]画面に遷移します。呼出先プログラム名が未登録のプログラムの場合,リンク(下線)は付加されません。

[種別]

呼出先プログラムの種別です。表示される文字の意味を次に示します。

  • 外部

    外部プログラム

  • 内部

    内部プログラム

  • 一意名指定のCALL文で呼出先プログラム名が解決できていない

[引数の個数]

CALL文の引数の個数です。

(4) 参照する登録集原文一覧

プログラム内の登録集原文の参照(COPY文)の一覧です。COPY文の出現順に表示されます。複数のCOPY文で同一の登録集原文を参照している場合は,同じPREFIXING/SUFFIXING指定の情報を持つCOPY文でグループ分けされ,各グループでは最初に出現したCOPY文の情報だけが表示されます。

図7‒25 参照する登録集原文一覧

[図データ]

[登録集原文名]

COPY文に指定されている登録集原文の名称です。「登録集原文名」をクリックすると,システム全体の情報の[登録集原文詳細]画面に遷移します。

[直接参照]

プログラムが直接参照している登録集原文の場合は「○」が表示されます。

[接頭辞]

COPY文 PREFIXING指定の語です。

[接尾辞]

COPY文 SUFFIXING指定の語です。

(5) 内部プログラム一覧

プログラムの内部プログラムの一覧です。

図7‒26 内部プログラム一覧

[図データ]

[内部プログラム名]

内部プログラムの名前です。「内部プログラム名」をクリックすると,[プログラム詳細]画面の「プログラム概要」に遷移します。

[使用有無]

表示される文字の意味を次に示します。

  • 使用

    内部プログラムを使用しています。

  • 未使用

    内部プログラムを使用していません。

[引数の個数]

内部プログラムの引数の個数です。

(6) セクション一覧

プログラムの手続き部の節と段落の一覧です。

図7‒27 セクション一覧

[図データ]

[手続き名(節名/段落名)]

手続き部の節または段落の見出しに記述された名称です。

[種別]が節の場合,「節名」がリンク付きで表示されます。「節名」をクリックすると,[セクション階層図]画面の該当する節ノードに遷移します。

[種別]が段落の場合,「段落名」がインデントを付けてリンクなしで表示されます。

注意事項

手続き部の先頭が節の見出しで始まっていないとき,手続き部の先頭に「{PROCEDURE_START}」という名前の節が仮定されます。

[種別]

表示される文字の意味を次に示します。

  • 手続きは節です。

  • 段落

    手続きは段落です。

[呼出有無]

表示される文字の意味を次に示します。

  • 手続き(節/段落)はPERFORM文に呼出先として指定されています。

  • ×

    手続き(節/段落)はPERFORM文に呼出先として指定されていません。

    ただし,THROUGH指定またはTHRU指定を使った範囲指定の場合,範囲内に節見出しがある節は呼出先として指定されているものとして扱います。

[制御の移行先の手続き名]

節内または段落内のPERFORM文に指定した呼出先(制御の移行先)の手続き名を斜線区切りで並べた文字列です。段落の場合,手続き名は「段落名[節名]」の形式で表示されます。ただし,THROUGH指定またはTHRU指定で出口手続きが指定されている場合は,「呼出先手続き名:出口手続き名」の形式で表示されます。表示される節名や段落名については,「10.15 そとPERFORM文からの呼出先情報の抽出規則」を参照してください。

[コメント行の文字列]

[種別]が節の場合は,節コメント(手続き部の節の機能を要約するコメント)の文字列です。[解析生成オプション設定]画面の[節コメント抽出]タブで[節コメントを抽出する]にチェックすると,条件に従って抽出されたコメントが表示されます。[節コメント抽出]タブについては,「5.2.4 [節コメント抽出]タブ」を参照してください。

[種別]が段落の場合は,常に空文字列が表示されます。

[実行順序]

[種別]が節の場合に,[解析生成オプション設定]画面の[その他の解析オプション]タブで[プログラムの制御フロー情報(PAD表示や実行順序表示のための情報)を抽出する]を有効(チェックボックスをオン)にしているときは,「表示」がリンク付きで表示されます。「表示」をクリックすると,その節の[実行順序表示]画面に遷移します。プログラム全体の[実行順序表示]画面を表示する場合は,手続き部先頭の節の「表示」をクリックします。[実行順序表示]画面については,「7.4.5 [実行順序表示]画面」を参照してください。

[種別]が段落の場合は,常に空文字列が表示されます。

(7) データ項目一覧

プログラムの01,77レベルのデータ項目の一覧です。

図7‒28 データ項目一覧

[図データ]

[レベル番号]

データ記述項のレベル番号です。

[データ項目名]

ファイル節,作業場所節,または連絡節で定義している01,77レベルのデータ項目の名称です。「データ項目名」をクリックすると,[プログラムデータ]画面の「ファイル節のデータ定義」,「作業場所節のデータ定義」,または「連絡節のデータ定義」の該当するデータ定義の項目に遷移します。

[参照有無]

データ項目名(データ名)のプログラム内での参照有無です。

  • 参照

    プログラム内で参照されています。

    データ項目が集団項目の場合,集団項目に属するどれかのデータ項目が参照されているときも「参照」とします。データ項目が条件変数である場合,条件名が参照されているときも「参照」とします。制御が渡らない文(デッドコードの文)から参照されているデータ項目も「参照」とします。

    ただし,データ項目名が手続き部(PROCEDURE DIVISION)のENTRY文のUSING指定や,REDEFINES句,RENAMES句またはSAME AS句にだけ指定されているときは,参照されていないもの(未参照)とします。

  • 未参照

    プログラム内で参照されていません。データ項目が集団項目の場合,集団項目に属するすべてのデータ項目が未参照のときだけ「未参照」とします。

[定義場所節]

データ項目を定義している節の名前です。

[サイズ]

データ項目のバイト長(内部ブール項目の場合はビット長)です。

(8) ファイル一覧

プログラムで宣言されているファイルの一覧です。

図7‒29 ファイル一覧

[図データ]

[ファイル名]

ファイル管理記述項のSELECT句で指定したファイル名です。「ファイル名」をクリックすると,システム全体の情報の[ファイル詳細]画面に遷移します。

[使用有無]

表示される文字の意味を次に示します。

  • 使用

    プログラム内の入出力文(READ/WRITE/REWRITE/DELETE)で使用されています。

  • 未使用

    プログラム内の入出力文(READ/WRITE/REWRITE/DELETE)で使用されていません。

[入出力文]

ファイルを使用しているプログラム内の入出力文です。表示される文字を次に示します。複数の入出力文で使用している場合は,READ/WRITEのように「/」で区切って表示されます。

  • READ

  • WRITE

  • REWRITE

  • DELETE

(9) 表(DB)一覧

プログラム内の埋め込みSQL文で使用しているデータベースの表の一覧です。

図7‒30 表(DB)一覧

[図データ]

[表名]

プログラム内の埋め込みSQL文で使用している表名です。「表名」をクリックすると,システム全体の情報の[表(DB)詳細]画面に遷移します。

[入出力種別]

プログラム内の表操作の入出力種別(CRUD操作種別)です。表示される文字の意味を次に示します。

  • C

    生成(Create)の表操作(INSERT文)です。

  • R

    読み取り(Read)の表操作(SELECT/FETCH/問合せを実行するSQL文)です。

  • U

    更新(Update)の表操作(UPDATE文)です。

  • D

    削除(Delete)の表操作(DELETE/PURGE/TRUNCATE/DROP TABLE文)です。

(10) 報告書,画面,通信記述名一覧

プログラムの報告書名,画面名および通信記述名の一覧です。

図7‒31 報告書,画面,通信記述名一覧

[図データ]

[報告書,画面,通信記述名]

プログラムで宣言されている報告書,画面,または通信記述の名称です。それぞれの名称をクリックすると,[ソース表示(COPY展開後)]画面の該当行に遷移します。

[使用有無]

表示される文字の意味を次に示します。

  • 使用

    プログラムで使用されています。

  • 未使用

    プログラムで使用されていません。

[種類]

名称の種類(「報告書名」/「画面名」/「通信記述名」)のどれかを表示します。

(11) 制御が渡らない文,手続き一覧

プログラム内のデッドコード(制御が渡らない文または手続き)の一覧です。

図7‒32 制御が渡らない文,手続き一覧

[図データ]

[該当行]

デッドコードのソース行番号(COPY展開後のソース原文内の行番号)です。該当行をクリックすると,別ウィンドウで[ソース表示(COPY展開後)]画面が表示され,該当行に遷移します。

[内容]

デッドコードの内容です。次に示す内容が表示されます。

内容に表示されるメッセージテキスト

説明

制御が渡ることがない文があります。

(行番号=開始行番号〜終了行番号)

開始行番号〜終了行番号の区間の文に制御が渡らないことを示します。

開始行番号は,制御が渡らない文の先頭のソース行番号で,終了行番号は次に制御が渡る文の直前のソース行番号です。

手続き"名称1"に制御が渡ることはありません。

名称1の節・段落の見出しに制御が渡らないことを示します。

手続き"名称1"に制御が渡ることはありません。ただし,手続き名"名称2"を参照する文があるため確認してください。

名称1の節・段落の見出しに制御が渡らないことを示します。ただし,名称2(名称1と同じ節名・段落名,または名称1の節中の段落名)がデッドコードではないPERFORM文またはSORT/MERGE文の入出力手続き指定のTHROUGH指定で参照されています。目視によるデッドコードかどうかの確認が必要です。