Hitachi

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


8.2.7 実行順序リスト

プログラムごとの,ソースコード(節見出し,段落見出し,文および条件指定)の実行順を示すリストです。

出力ファイル名を次に示します。

実行順序リスト_プログラム名.csv

フォーマットを次に示します。

###############################################################################
#
#  実行順序リスト
#    ソースファイルパス名:
#    プログラム名:
#
###############################################################################
ソース行番号,〔,〕..."ソースコードのテキスト"

フォーマットの各項目に出力される内容を次に示します。

[ソースファイルパス名]

COBOLソースファイルの絶対パス名です。

[プログラム名]

プログラム名です。

[ソース行番号]

ソースコード(節見出し,段落見出し,文および条件指定)のソース行番号(COPY展開後のソース原文内の行番号)です。ソース行番号は6桁で出力されます。6桁に満たない場合,ソース行番号の前は半角空白で埋められます。

[ソースコードのテキスト]

ソースコード(節見出し,段落見出し,文および条件指定)のテキストです。ソースコードのテキストは,ソースコードの階層レベルを示すコンマ(,)でインデントを付けて出力されます。

CSVファイルの出力例

COBOLソースファイル「チェック処理.cbl」中のプログラム「GC351_INPUT」の実行順序リスト(実行順序リスト_GC351_INPUT.csv)の出力例を示します。

###############################################################################
#
#  実行順序リスト
#    ソースファイルパス名:C:\入出庫管理システム\チェック処理.cbl
#    プログラム名:GC351_INPUT
#
###############################################################################
    46,"GC351-INPUT-CHK-PROC SECTION."
    48,,"GC351-INPUT-CHK-PROC-010."
    50,,,"IF GC351-TRIHSO-KB NOT = SPACE"
    51,,,,"THEN"
    52,,,,,"CONTINUE"
    53,,,,"ELSE"
    54,,,,,"MOVE C-ERR-NO-GC351-04 TO WK-ERR-NO"
    55,,,,,"MOVE C-ERR-GC351-ICH-MSG09 TO WK-ERR-MSG"
    57,,,,,"PERFORM ABEND-SUB-PROC"
      ,,,,,,"=== 節(ABEND-SUB-PROC)呼び出し入口 ==="
   135,,,,,,"ABEND-SUB-PROC SECTION."
   137,,,,,,,"CONTINUE"
      ,,,,,,"=== 節(ABEND-SUB-PROC)呼び出し出口 ==="
    59,,,"IF GC351-YSNKAN-NO NOT = SPACE"
    60,,,,"THEN"
    61,,,,,"IF GC351-YSNKAN-NO (1:1) IS NUMERIC"
    62,,,,,,"THEN"
    63,,,,,,,"CONTINUE"
    64,,,,,,"ELSE"
    65,,,,,,,"MOVE C-ERR-NO-GC351-09 TO WK-ERR-NO"
    67,,,,,,,"MOVE C-ERR-GC351-ICH-MSG32 TO WK-ERR-MSG"
    69,,,,,,,"PERFORM ABEND-SUB-PROC"
      ,,,,,,,,"=== 節(ABEND-SUB-PROC)呼び出し入口 ==="
   135,,,,,,,,"ABEND-SUB-PROC SECTION."
   137,,,,,,,,,"CONTINUE"
      ,,,,,,,,"=== 節(ABEND-SUB-PROC)呼び出し出口 ==="
    71,,,,"ELSE"
    72,,,,,"IF INPUTBUCD = '1' OR INPUTBUCD = '2'"
    74,,,,,,"THEN"
    75,,,,,,,"CONTINUE"
    76,,,,,,"ELSE"
    77,,,,,,,"MOVE C-ERR-NO-GC351-06 TO WK-ERR-NO"
    79,,,,,,,"MOVE C-ERR-GC351-ICH-MSG31 TO WK-ERR-MSG"
    81,,,,,,,"PERFORM ABEND-SUB-PROC"
      ,,,,,,,,"=== 節(ABEND-SUB-PROC)呼び出し入口 ==="
   135,,,,,,,,"ABEND-SUB-PROC SECTION."
   137,,,,,,,,,"CONTINUE"
      ,,,,,,,,"=== 節(ABEND-SUB-PROC)呼び出し出口 ==="
    84,,,"IF GC351-NM-KJ NOT = SPACE"
    85,,,,"THEN"
    86,,,,,"CONTINUE"
    87,,,,"ELSE"
    88,,,,,"MOVE C-ERR-NO-GC351-11 TO WK-ERR-NO"
    89,,,,,"MOVE C-ERR-GC351-ICH-MSG01 TO WK-ERR-MSG"
    91,,,,,"PERFORM ABEND-SUB-PROC"
      ,,,,,,"=== 節(ABEND-SUB-PROC)呼び出し入口 ==="
   135,,,,,,"ABEND-SUB-PROC SECTION."
   137,,,,,,,"CONTINUE"
      ,,,,,,"=== 節(ABEND-SUB-PROC)呼び出し出口 ==="
    93,,,"IF GC351-NM-KN NOT = SPACE"
    94,,,,"THEN"
    95,,,,,"CONTINUE"
    96,,,,"ELSE"
    97,,,,,"MOVE C-ERR-NO-GC351-12 TO WK-ERR-NO"
    98,,,,,"MOVE C-ERR-GC351-ICH-MSG02 TO WK-ERR-MSG"
   100,,,,,"PERFORM ABEND-SUB-PROC"
      ,,,,,,"=== 節(ABEND-SUB-PROC)呼び出し入口 ==="
   135,,,,,,"ABEND-SUB-PROC SECTION."
   137,,,,,,,"CONTINUE"
      ,,,,,,"=== 節(ABEND-SUB-PROC)呼び出し出口 ==="
   102,,,"IF KYJ-CNT NOT = ZERO"
   103,,,,"THEN"
   104,,,,,"CONTINUE"
   105,,,,"ELSE"
   106,,,,,"MOVE C-ERR-NO-GC351-24 TO WK-ERR-NO"
   107,,,,,"MOVE C-ERR-GC351-ICH-MSG04 TO WK-ERR-MSG"
   109,,,,,"PERFORM ABEND-SUB-PROC"
      ,,,,,,"=== 節(ABEND-SUB-PROC)呼び出し入口 ==="
   135,,,,,,"ABEND-SUB-PROC SECTION."
   137,,,,,,,"CONTINUE"
      ,,,,,,"=== 節(ABEND-SUB-PROC)呼び出し出口 ==="
   111,,,"IF GC351-KYT-CD = '2' OR GC351-KYT-CD = SPACE"
   113,,,,"THEN"
   114,,,,,"CONTINUE"
   115,,,,"ELSE"
   116,,,,,"PERFORM GC351-KYT-CHECK-PROC"
      ,,,,,,"=== 節(GC351-KYT-CHECK-PROC)呼び出し入口 ==="
   138,,,,,,"GC351-KYT-CHECK-PROC SECTION."
   140,,,,,,,"PERFORM ABEND-SUB-PROC"
      ,,,,,,,,"=== 節(ABEND-SUB-PROC)呼び出し入口 ==="
   135,,,,,,,,"ABEND-SUB-PROC SECTION."
   137,,,,,,,,,"CONTINUE"
      ,,,,,,,,"=== 節(ABEND-SUB-PROC)呼び出し出口 ==="
   141,,,,,,,"CONTINUE"
      ,,,,,,"=== 節(GC351-KYT-CHECK-PROC)呼び出し出口 ==="
   117,,,,,"IF WK-KYT-CHECK-RTN-CD NOT = ZERO"
   118,,,,,,"THEN"
   119,,,,,,,"CONTINUE"
   120,,,,,,"ELSE"
   121,,,,,,,"MOVE C-ERR-NO-GC351-66 TO WK-ERR-NO"
   123,,,,,,,"MOVE C-ERR-GC351-ICH-MSG21 TO WK-ERR-MSG"
   125,,,,,,,"PERFORM ABEND-SUB-PROC"
      ,,,,,,,,"=== 節(ABEND-SUB-PROC)呼び出し入口 ==="
   135,,,,,,,,"ABEND-SUB-PROC SECTION."
   137,,,,,,,,,"CONTINUE"
      ,,,,,,,,"=== 節(ABEND-SUB-PROC)呼び出し出口 ==="
   129,,,"CALL 'GC351_INPUT_DT' USING KYJ-CNT OF GC351 C-ERR-NO-GC351-99"
   132,,,"CONTINUE"
   133,,"GC351-INPUT-CHK-PROC-999."
   134,,,"EXIT PROGRAM ---> (プログラム終了)"
注意事項
  • [解析生成オプション設定]画面の[その他の解析オプション]タブで,[プログラムの制御フロー情報(実行順序表示機能で使用する情報)を抽出する]が無効(チェックボックスをオフ)になっている場合,ヘッダだけが出力されます。

  • 解析でエラーが出力されたCOBOLソースファイルの場合,実行順序リストは出力されないか,または古いCOBOLソースファイルの実行順序リストが出力されます。

  • プログラム名が重複している場合は,リネームプログラム名が[プログラム名]として出力されます。

  • プログラム名が英小文字を含む場合,出力ファイル名は,実行順序リスト_プログラム名.英小文字識別子コード.csvとなります。英小文字識別コードは16進数で,英大文字と英小文字だけが異なるファイル名が同一とみなされて上書きされることを回避するために付加されます。

関連項目