COBOL2002 使用の手引 手引編


33.4.2 リポジトリ管理ツール

外部リポジトリに関連したコンパイルエラーが発生したとき,リポジトリファイルに格納された情報を確認すると,コンパイルエラーの原因を容易に特定できることがあります。

リポジトリ管理ツールは,リポジトリファイルに格納された翻訳単位の定義情報を出力できます。この項では,リポジトリ管理ツール(cbl2krepコマンド)の機能について説明します。

コンパイルエラー発生時の対処方法については,「33.4.1 外部リポジトリに関連したコンパイルエラー発生時の対処方法」を参照してください。

〈この項の構成〉

(1) リポジトリ管理ツールの概要

リポジトリ管理ツールには,次に示す機能があります。

(a) 形式

cbl2krep 〔リポジトリファイル名〕 … 〔オプション〕 …
リポジトリファイル名

リポジトリファイル名を指定します。ファイルの表示をするときは,指定した順序に従ってリポジトリファイルが処理されます。

オプション

リポジトリファイルをどのように処理するかを指定するオプションです。次のオプションを指定できます。

-list -help

オプションの詳細については,「(2) リポジトリ管理ツールの機能詳細」を参照してください。

リポジトリファイル名およびオプションの指定を省略した場合,リポジトリ管理ツールの指定形式を出力します。

[図データ]

(b) 終了コード

リポジトリ管理ツールの終了コードを次の表に示します。

表33‒1 リポジトリ管理ツールの終了コード

終了コード

意味

0

正常終了

1

エラーが発生

2

回復不能エラーが発生

(c) 注意事項

リポジトリ管理ツールを使用するときの注意事項を次に示します。

  1. リポジトリファイル名は,.repを付けて指定する必要があります。

  2. 複数のオペランドを指定する場合は,各オペランドを空白またはタブで区切ります。

  3. 複数のリポジトリファイル名を指定できる個所には,ワイルドカード(*)が使用できます。

  4. -helpオプションを指定した場合,そのほかのオプションやリポジトリファイル名の指定は無視されます。

  5. オプションで使用する文字は,英大文字と英小文字は等価とみなされます。

  6. リポジトリファイル名,および翻訳単位名で使用する文字は,英大文字と英小文字が等価とみなされません。

(2) リポジトリ管理ツールの機能詳細

(a) 翻訳単位情報の表示

形式
cbl2krep リポジトリファイル名1 … -list
機能

指定したリポジトリファイル中の翻訳単位の情報を標準出力に出力します。ただし,標準出力に出力されるのは,指定したリポジトリファイル内の定義情報だけです。継承したクラスやインタフェースのプロパティ情報,およびメソッド情報は出力されません。

オペランド
リポジトリファイル名1

表示したいリポジトリファイルを指定します。

-list

リポジトリファイル中の翻訳単位の情報を標準出力に出力します。

-listオプションを指定したときに出力されるクラス定義の翻訳単位情報の内容を次の図に,関数定義の翻訳単位情報の表示を「図33‒12 -listオプションを指定したときに出力される関数定義の翻訳単位情報の内容」に示します。

図33‒11 -listオプションを指定したときに出力されるクラス定義の翻訳単位情報の内容

[図データ]

  1. リポジトリファイルヘッダ情報

    リポジトリファイル名,リポジトリファイルの生成時刻(YYYY-MM-DD 年-月-日,HH:MM:SS 時:分:秒),およびリポジトリファイルを生成したコンパイラ名(バージョン(VV-RR)を含む)が表示されます。コンパイラ名の(X)は,COBOL2002の識別記号を示します。詳細は「付録K.2 このマニュアルでの表記」を参照してください。リポジトリファイル名はコマンドラインに指定した名前で表示されます。

  2. 生成時刻

    リポジトリファイル内の翻訳単位情報の生成時刻(YYYY-MM-DD 年-月-日,HH:MM:SS 時:分:秒)が表示されます。

  3. 継承クラス・インタフェース情報

    リポジトリ段落に指定した翻訳単位名のうち,INHERITS句に指定したクラス名およびインタフェース名が出力されます。括弧内には,翻訳単位の種別が出力されます。

  4. 参照翻訳単位情報

    リポジトリ段落に指定した翻訳単位名のうち,INHERITS句に指定していない翻訳単位名が出力されます。括弧内には,翻訳単位の種別が出力されます。

  5. プロパティ情報

    クラス定義に指定したオブジェクトプロパティの情報(プロパティ名,参照(GET)/更新(SET)種別,データの属性情報)が出力されます。プロパティ情報は,ファクトリオブジェクトとインスタンスオブジェクトとで別々に出力されます。出力される項目がない場合は,「None」が出力されます。出力される属性情報については,「属性情報の詳細」に示します。

  6. メソッド情報

    クラス定義に指定したメソッドの情報(メソッド名,引数/返却項目の情報)が出力されます。メソッド情報は,ファクトリオブジェクトとインスタンスオブジェクトとで別々に出力されます。出力される項目がない場合は,「None」が出力されます。

図33‒12 -listオプションを指定したときに出力される関数定義の翻訳単位情報の内容

[図データ]

  1. リポジトリファイルヘッダ情報

    リポジトリファイル名,リポジトリファイルの生成時刻(YYYY-MM-DD 年-月-日,HH:MM:SS 時:分:秒),およびリポジトリファイルを生成したコンパイラ名(バージョン(VV-RR)を含む)が表示されます。コンパイラ名の(X)は,COBOL2002の識別記号を示します。詳細は「付録K.2 このマニュアルでの表記」を参照してください。リポジトリファイル名はコマンドラインに指定した名前で表示されます。

  2. 参照翻訳単位情報

    リポジトリ段落に指定した翻訳単位名が出力されます。括弧内には,翻訳単位の種別が出力されます。

  3. 関数情報

    関数定義の情報(関数名,引数/返却項目の情報)が出力されます。

属性情報の詳細

データ項目の種類と出力される属性情報または引数/返却項目の情報の対応を次の表に示します。

表33‒2 データ項目の種類と属性情報または引数/返却項目の情報

データ項目の種類

出力される属性情報または引数/返却項目の情報

固定長集団項目

可変長集団項目

日本語集団項目

GROUP-USAGE NATIONAL

数字編集項目

英数字編集項目

日本語編集項目

外部10進項目

USAGE DISPLAY

ただし,SIGN句の属性情報がある場合,SIGN句の属性情報に従って次のどれかが表示されます。

USAGE DISPLAY SIGN IS LEADING

USAGE DISPLAY SIGN IS LEADING SEPARATE

USAGE DISPLAY SIGN IS TRAILING SEPARATE

内部10進項目

USAGE COMP-3

外部浮動小数点項目

USAGE DISPLAY

内部浮動小数点項目

USAGE COMP-1

USAGE COMP-2

アドレスデータ項目/ポインタ項目

USAGE ADDRESS

指標データ項目

USAGE INDEX

2進項目

USAGE COMP

USAGE COMP-5

USAGE COMP-X

ブール項目

USAGE BIT

USAGE DISPLAY

英字/英数字項目

USAGE DISPLAY

日本語項目

USAGE NATIONAL

オブジェクト参照データ項目

OBJECT REFERENCE

(インタフェース名/[FACTORY OF] ACTIVE CLASS/[FACTORY OF] クラス名 [ONLY] 指定ありの場合,その指定も出力されます)

(凡例)

−:属性情報なし

(b) オプション概略の一覧

形式
cbl2krep -help
機能

オプションの概略を一覧表示します。

(3) リポジトリ管理ツール使用時のエラーメッセージ

(a) エラーメッセージの形式

リポジトリ管理ツールが出力するメッセージの形式を,次に示します。

形式
cbl2krep : error エラー番号: メッセージ内容

このマニュアルでは,リポジトリ管理ツールが出力するエラーメッセージを,次の形式で記載します。

  • エラー番号

    メッセージ内容

    (要因)

    エラーが返される要因を示す。

    (S)

    システムの処置を示す。

    (P)

    プログラム作成者の処置を示す。

エラーメッセージの内容を次に示します。

(b) エラーメッセージの内容

リポジトリ管理ツールが出力するメッセージのエラー番号およびメッセージ内容を,次に示します。

  • 0001

    Cannot open file -- '******'.

  • 0002

    Cannot read file -- '******'.

  • 0003

    annot write file -- '******'.

    (要因)

    リポジトリファイルの書き込みでI/Oエラーが発生した。次の要因が考えられる。

    1. カレントディレクトリがネットワークディレクトリのとき,ネットワーク障害が発生している。

    2. ディスクの空きがない。または,ディスク障害が発生している。

    (S)

    cbl2krepの実行を中止する。

    (P)
    1. 何度かコンパイルを試みる。

    2. コンピュータの管理者に問い合わせる。

  • 0004

    File -- '******' is not a repository file.

  • 0005

    Repository file -- '******' is not readable because of unsuitable target machine.

  • 0006

    Repository file -- '******' is corrupt.

  • 0007

    Cannot find compilation unit name -- '******' in repository file.

  • 0008

    Duplicate compilation unit name -- '******'.

  • 0009

    Logical error occurred. Error code : ******.

    (要因)

    cbl2krepの実行で,内部的に論理エラーが発生した。

    (S)

    cbl2krepの実行を中止する。

    (P)

    当社保守員に連絡する。

  • 0010

    Out of memory.

    (要因)

    cbl2krepが稼働するメモリが足りない。

    (S)

    cbl2krepの実行を中止する。

    (P)

    削除できる資源を削除して再実行する。

  • 0011

    Invalid option -- '******' is specified.

  • 0012

    Option -- '******' has no parameter.

  • 0013

    Option -- '******' is too long.

  • 0014

    Repository file -- '******' is not accessable by this version cbl2krep.

  • 0017

    Cannot find class name -- '******' in repository file.

  • 0018

    Cannot find interface name -- '******' in repository file.

  • 0019

    Unnecessary parameter specified for option -- '******'.

  • 0020

    No repository file specified.

  • 0023

    Cannot open a file because many files are opened by other programs.

    (要因)

    ほかのプログラムで,システムの制限までファイルを開いている。

    (S)

    cbl2krepの実行を中止する。

    (P)

    ほかのプログラムで使用しているファイルを閉じる。

  • 0025

    Cannot find file -- '******'.