Hitachi

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


8.2.6 不整合引数一覧

プロジェクト内のすべてのCALL文に対する引数整合性チェックで検出された不整合引数情報の一覧です。引数整合性チェックは,[解析生成オプション設定]画面の[生成ドキュメント]タブで[不整合引数一覧]をチェックしている場合,次に示す順序で実行されます。

1. 個数チェック

2. 引数ごとの個別チェック
  1. 受渡方法のチェック

  2. データ型の適合チェック

  3. サイズのチェック

  4. 集団項目の構造チェック

引数整合性チェックの結果として,引数不整合のある実引数と仮引数の組み合わせの情報が不整合引数一覧CSVファイルに,引数不整合の警告メッセージが不整合引数一覧タグファイルに出力されます。不整合引数一覧タグファイルに出力される警告メッセージについては,「10.11.2 引数整合性チェックの検査内容」を参照してください。

不整合引数CSVファイルの出力ファイル名を次に示します。

不整合引数一覧.csv

不整合引数CSVファイルのフォーマットを次に示します。

"#","ソースファイルパス名","ソース行番号","呼出元プログラム名","実引数個数","引数番号","実引数:受渡方法","実引数:名称","実引数:データ型","実引数:サイズ","実引数:編集文字列","実引数:符号種別","実引数:他属性","実引数:定義ファイルパス名","実引数:定義行番号","呼出先プログラム名","仮引数個数","仮引数:受渡方法","仮引数:名称","仮引数:データ型","仮引数:サイズ","仮引数:編集文字列","仮引数:符号種別","仮引数:他属性","仮引数:定義ファイルパス名","仮引数:定義行番号","仮引数:参照有無","不整合種別"

不整合引数CSVファイルのフォーマットの各項目に出力される内容を次に示します。

[#]

不整合引数情報の項番です。1から出力されます。

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

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

[ソース行番号]

CALL文のソース行番号(COPY展開前のソース原文内の行番号)です。

[呼出元プログラム名]

呼び出し元のプログラム名です。

[実引数個数]

CALL文のUSING指定の実引数の個数です。個数チェックで個数不一致が検出された場合に出力されます。

個数チェック以外で不整合が検出された場合は,「-」が出力されます。また,個数不一致の不整合が検出された場合は,後続する実引数の情報には,すべて「-」が出力されます。

[引数番号]

実引数の通番です。

[実引数:受渡方法]

実引数の受け渡し方法です。

  • ByRef

    BY REFERENCE指定での受け渡しを示します。

  • ByCon

    BY CONTENT指定での受け渡しを示します。

  • ByVal

    BY VALUE指定での受け渡しを示します。

  • ByAtr

    BY ATTRIBUTE指定での受け渡しを示します。

[実引数:名称]

実引数として指定したデータ名,定数,ADDR関数,ADDRESS OF指定,LENGTH OF指定,NULL表意定数です。

[解析生成オプション設定]画面の[その他の解析オプション]タブで[レベル番号が02〜49,66のデータ項目の情報を抽出する]をチェックしている場合は,次に示す形式で修飾子付きデータ名が出力されます。チェックしていない場合は,データ名だけが出力されます。

データ名 [OF 集団項目名] … [IN ファイル名]
[実引数:データ型]

実引数のデータ型です。実引数が部分参照の場合は,「部分参照(部分参照の結果の型)」が出力されます。

データ型

説明

集団項目

実引数が固定長の英数字集団項目であることを示します。

集団項目(可変長)

実引数が可変長の英数字集団項目であることを示します。

日本語集団項目

実引数が日本語集団項目(GROUP-USAGE IS NATIONAL)であることを示します。

英字

実引数が英字項目であることを示します。

英数字

実引数が英数字項目または英数字定数であることを示します。

-JPN,Alnumまたは-JPN,V3JPNコンパイラオプションを指定すると,CALL文の引数に日本語定数が指定できますが,英数字定数として扱われます。

動的長英数字

実引数が動的長英数字項目であることを示します。

英数字編集

実引数が英数字編集項目であることを示します。

外部10進

実引数が外部10進項目であることを示します。

内部10進

実引数が内部10進項目(COMP-3またはPACKED-DECIMAL)であることを示します。

2進

実引数が2進項目(COMP,COMP-4もしくはBINARY),数字定数,またはLENGTH OFであることを示します。

2進(COMP-X)

実引数がCOMP-X項目であることを示します。

2進(COMP-5)

実引数がCOMP-5項目であることを示します。

数字編集

実引数が数字編集項目であることを示します。

外部浮動

実引数が外部浮動小数点項目であることを示します。

内部浮動

実引数が内部浮動小数点項目(COMP-1もしくはCOMP-2),または浮動小数点定数であることを示します。

日本語

実引数が日本語項目であることを示します。

動的長日本語

実引数が動的長日本語項目であることを示します。

日本語編集

実引数が日本語編集項目であることを示します。

外部ブール

実引数が外部ブール項目であることを示します。

内部ブール

実引数が内部ブール項目であることを示します。

アドレス

実引数がアドレス項目もしくはポインタ項目,ADDR関数,ADDRESS OF,またはNULL表意定数であることを示します。

指標

実引数が指標項目であることを示します。

オブジェクト参照

実引数がオブジェクト参照項目であることを示します。

OLE参照

実引数がOLEオブジェクト参照項目であることを示します。

OLEバリアント

実引数がバリアント項目であることを示します。

プロパティ

実引数がオブジェクトプロパティであることを示します。

[実引数:サイズ]

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

実引数が部分参照で長さの指定が定数の場合は,その定数値から換算されるサイズが出力されます。長さの指定が定数ではない場合は,部分参照されているデータ項目の全体サイズが出力されます。

[実引数:編集文字列]

実引数のPICTURE句の文字列です。

[実引数:符号種別]

SIGN句の符号種別の情報です。

  • ""

    SIGN句の指定がないことを示します。

  • LEADING

    SIGN IS LEADINGを示します。

  • TRAILING

    SIGN IS TRAILINGを示します。

  • LEADING SEPARATE

    SIGN IS LEADING SEPARATEを示します。

  • TRAILING SEPARATE

    SIGN IS TRAILING SEPARATEを示します。

[実引数:他属性]

そのほか属性情報です。文字(|)で連結して出力されます。

  • OCCURS

    OCCURS句の指定があることを示します。

  • SYNC

    SYNCHRONIZED句の指定があることを示します。

  • JUST

    JUSTIFIED RIGHT句の指定があることを示します。

  • BLANK

    BLANK WHEN ZERO句の指定があることを示します。

[実引数:定義ファイルパス名]

実引数のデータ項目を定義しているCOBOLソースファイルまたは登録集原文ファイルの絶対パス名です。実引数がデータ項目でない場合は,「-」が出力されます。

[実引数:定義行番号]

実引数のデータ項目を定義しているCOBOLソースファイルまたは登録集原文ファイル内の相対行番号です。実引数がデータ項目でない場合は,「-」が出力されます。

[呼出先プログラム名]

呼び出し先のプログラム名です。

[仮引数個数]

手続き部見出しにあるUSING指定の仮引数の個数です。個数チェックで個数不一致が検出された場合に出力されます。

個数チェック以外で不整合が検出された場合は,「-」が出力されます。また,個数不一致の不整合が検出された場合は,後続する仮引数の情報には,すべて「-」が出力されます。

[仮引:受渡方法]

仮引数の受け渡し方法です。

  • ByRef

    BY REFERENCE指定での受け渡しを示します。

  • ByVal

    BY VALUE指定での受け渡しを示します。

[仮引数:名称]

仮引数として指定したデータ名です。

[仮引数:データ型]

仮引数のデータ項目のデータ型です。

出力される文字の意味は,[実引数:データ型]と同じです。

[仮引数:サイズ]

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

[仮引数:編集文字列]

仮引数のPICTURE句の文字列です。

[仮引数:符号種別]

SIGN句の符号種別の情報です。

出力される文字の意味は,[実引数:符号種別]と同じです。

[仮引数:他属性]

そのほかの属性情報です。文字(|)で連結して出力されます。

出力される文字の意味は,[実引数:他属性]と同じです。

[仮引数:定義ファイルパス名]

仮引数のデータ項目を定義しているCOBOLソースファイルまたは登録集原文ファイルの絶対パス名です。

[仮引数:定義行番号]

仮引数のデータ項目を定義しているCOBOLソースファイルまたは登録集原文ファイル内の相対行番号です。

[仮引数:参照有無]

仮引数の参照有無です。

  • 参照

    仮引数のデータ名がプログラム内で参照されていることを示します。

  • 未参照

    仮引数のデータ名がプログラム内で参照されていないことを示します。

参照,未参照が出力される条件は,「データ項目一覧」の[参照有無]と同じです。

[不整合種別]

検出した不整合の種別です。

  • 個数不一致

    実引数と仮引数の個数が不一致であることを示します。

  • 受渡方法不一致

    実引数と仮引数の受け渡し方法が不一致であることを示します。

  • データ型不適合

    実引数と仮引数のデータ型が不適合であることを示します。

  • サイズ不一致

    実引数と仮引数のサイズが不一致であることを示します。

  • 構造不一致

    実引数と仮引数の集団項目の構造が不一致であることを示します。

  • 対応する仮引数なし

    対応する仮引数がない実引数の情報であることを示します。

  • 対応する実引数なし

    対応する実引数がない仮引数の情報であることを示します。

CSVファイルの出力例

"#","ソースファイルパス名","ソース行番号","呼出元プログラム名","実引数個数","引数番号","実引数:受渡方法","実引数:名称","実引数:データ型","実引数:サイズ","実引数:編集文字列","実引数:符号種別","実引数:他属性","実引数:定義ファイルパス名","実引数:定義行番号","呼出先プログラム名","仮引数個数","仮引数:受渡方法","仮引数:名称","仮引数:データ型","仮引数:サイズ","仮引数:編集文字列","仮引数:符号種別","仮引数:他属性","仮引数:定義ファイルパス名","仮引数:定義行番号","仮引数:参照有無","不整合種別"
1,"C:\入出庫管理システム\チェック処理.cbl",129,"GC351_INPUT","-",1,"ByRef","GC351-OPT-COND OF GC351","英数字",10,"X(10)","","","C:\入出庫管理システム\INCLUDE\GC351.CBL",9,"GC351_INPUT_DT","-","ByRef","GC351","集団項目",247,"","","","C:\入出庫管理システム\INCLUDE\GC351.CBL",1,"参照","サイズ不一致"
2,"C:\入出庫管理システム\チェック処理.cbl",129,"GC351_INPUT","-",2,"ByRef","C-ERR-NO-GC351-99 OF C-ERR-GC351","英数字",5,"X(5)","","","C:\入出庫管理システム\INCLUDE\GC351ERR.CBL",16,"GC351_INPUT_DT","-","ByRef","C-ERR-GC351","集団項目",75,"","","","C:\入出庫管理システム\INCLUDE\GC351ERR.CBL",1,"未参照","サイズ不一致"
3,"C:\入出庫管理システム\メニュー画面.cbl",48,"AC000_MENU",0,"-","-","-","-","-","-","-","-","-","-","RC340_INPUT",2,"-","-","-","-","-","-","-","-","-","-","個数不一致"
4,"C:\入出庫管理システム\制御処理.cbl",162,"RC340_UPD",0,"-","-","-","-","-","-","-","-","-","-","ZC003_OPT",1,"-","-","-","-","-","-","-","-","-","-","個数不一致"
注意事項
  • 引数ごとの個別チェックで不整合を検出した場合,同じ引数に対して後続の個別チェックは実行されません。

  • 対応する仮引数のない実引数の情報を出力する場合,仮引数の情報の列([引数番号]を除く)と判定の列にはすべて「-」が出力されます。

  • 対応する実引数のない仮引数の情報を出力する場合,実引数の情報の列([引数番号]を除く)と判定の列にはすべて「-」が出力されます。

  • 不整合引数一覧は,[ソース行番号],[呼出元プログラム名]および[引数番号]で昇順にソートされて出力されます。

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

  • [実引数:名称]に出力するデータ名には,添字や部分参照子の情報は付加されません。

  • 実引数の英数字定数や日本語定数(-JPNコンパイラオプション指定時)が非印字可能文字(制御文字や非シフトJIS文字)を含む場合,[実引数:名称]には,それぞれ16進英数字定数,16進日本語定数に変換したものが出力されます。

  • 実引数の英数字定数や日本語定数(-JPNコンパイラオプション指定時)の長さが160バイトを超えている場合,[実引数:名称]には,160バイトで切り捨てられ,末尾に「...」が付加されたものが出力されます。

  • 実引数の16進英数字定数や16進日本語定数(-JPNコンパイラオプション指定時)の長さが80バイト(16進桁数が160桁)を超えている場合,[実引数:名称]には,80バイト(16進桁数が160桁)で切り捨てられ,末尾に「...」が付加されたものが出力されます。

  • 英数字定数の場合,[実引数:名称]には,英数字定数値をアポストロフィ(')で囲んだものが出力されます。英数字定数値がアポストロフィ(')を含んでいても,連続するアポストロフィ('')には変換されません。

関連項目