33.4.2 リポジトリ管理ツール
外部リポジトリに関連したコンパイルエラーが発生したとき,リポジトリファイルに格納された情報を確認すると,コンパイルエラーの原因を容易に特定できることがあります。
リポジトリ管理ツールは,リポジトリファイルに格納された翻訳単位の定義情報を出力できます。この項では,リポジトリ管理ツール(cbl2krepコマンド)の機能について説明します。
コンパイルエラー発生時の対処方法については,「33.4.1 外部リポジトリに関連したコンパイルエラー発生時の対処方法」を参照してください。
(1) リポジトリ管理ツールの概要
リポジトリ管理ツールには,次に示す機能があります。
-
翻訳単位の情報の表示
-
オプション概略の一覧(ヘルプ機能)
(a) 形式
cbl2krep 〔リポジトリファイル名〕 … 〔オプション〕 …
- リポジトリファイル名
-
リポジトリファイル名を指定します。ファイルの表示をするときは,指定した順序に従ってリポジトリファイルが処理されます。
- オプション
-
リポジトリファイルをどのように処理するかを指定するオプションです。次のオプションを指定できます。
-list -help
オプションの詳細については,「(2) リポジトリ管理ツールの機能詳細」を参照してください。
リポジトリファイル名およびオプションの指定を省略した場合,リポジトリ管理ツールの指定形式を出力します。
(c) 注意事項
リポジトリ管理ツールを使用するときの注意事項を次に示します。
-
リポジトリファイル名は,.repを付けて指定する必要があります。
-
複数のオペランドを指定する場合は,各オペランドを空白またはタブで区切ります。
-
複数のリポジトリファイル名を指定できる個所には,ワイルドカード(*)が使用できます。
-
-helpオプションを指定した場合,そのほかのオプションやリポジトリファイル名の指定は無視されます。
-
オプションで使用する文字は,英大文字と英小文字は等価とみなされます。
-
リポジトリファイル名,および翻訳単位名で使用する文字は,英大文字と英小文字が等価とみなされません。
(2) リポジトリ管理ツールの機能詳細
(a) 翻訳単位情報の表示
- 形式
cbl2krep リポジトリファイル名1 … -list
- 機能
-
指定したリポジトリファイル中の翻訳単位の情報を標準出力に出力します。ただし,標準出力に出力されるのは,指定したリポジトリファイル内の定義情報だけです。継承したクラスやインタフェースのプロパティ情報,およびメソッド情報は出力されません。
- オペランド
-
- リポジトリファイル名1
-
表示したいリポジトリファイルを指定します。
- -list
-
リポジトリファイル中の翻訳単位の情報を標準出力に出力します。
-listオプションを指定したときに出力されるクラス定義の翻訳単位情報の内容を次の図に,関数定義の翻訳単位情報の表示を「図33‒12 -listオプションを指定したときに出力される関数定義の翻訳単位情報の内容」に示します。
図33‒11 -listオプションを指定したときに出力されるクラス定義の翻訳単位情報の内容
-
リポジトリファイルヘッダ情報
リポジトリファイル名,リポジトリファイルの生成時刻(YYYY-MM-DD 年-月-日,HH:MM:SS 時:分:秒),およびリポジトリファイルを生成したコンパイラ名(バージョン(VV-RR)を含む)が表示されます。コンパイラ名の(X)は,COBOL2002の識別記号を示します。詳細は「付録K.2 このマニュアルでの表記」を参照してください。リポジトリファイル名はコマンドラインに指定した名前で表示されます。
-
生成時刻
リポジトリファイル内の翻訳単位情報の生成時刻(YYYY-MM-DD 年-月-日,HH:MM:SS 時:分:秒)が表示されます。
-
継承クラス・インタフェース情報
リポジトリ段落に指定した翻訳単位名のうち,INHERITS句に指定したクラス名およびインタフェース名が出力されます。括弧内には,翻訳単位の種別が出力されます。
-
参照翻訳単位情報
リポジトリ段落に指定した翻訳単位名のうち,INHERITS句に指定していない翻訳単位名が出力されます。括弧内には,翻訳単位の種別が出力されます。
-
プロパティ情報
クラス定義に指定したオブジェクトプロパティの情報(プロパティ名,参照(GET)/更新(SET)種別,データの属性情報)が出力されます。プロパティ情報は,ファクトリオブジェクトとインスタンスオブジェクトとで別々に出力されます。出力される項目がない場合は,「None」が出力されます。出力される属性情報については,「属性情報の詳細」に示します。
-
メソッド情報
クラス定義に指定したメソッドの情報(メソッド名,引数/返却項目の情報)が出力されます。メソッド情報は,ファクトリオブジェクトとインスタンスオブジェクトとで別々に出力されます。出力される項目がない場合は,「None」が出力されます。
-
リポジトリファイルヘッダ情報
リポジトリファイル名,リポジトリファイルの生成時刻(YYYY-MM-DD 年-月-日,HH:MM:SS 時:分:秒),およびリポジトリファイルを生成したコンパイラ名(バージョン(VV-RR)を含む)が表示されます。コンパイラ名の(X)は,COBOL2002の識別記号を示します。詳細は「付録K.2 このマニュアルでの表記」を参照してください。リポジトリファイル名はコマンドラインに指定した名前で表示されます。
-
参照翻訳単位情報
リポジトリ段落に指定した翻訳単位名が出力されます。括弧内には,翻訳単位の種別が出力されます。
-
関数情報
関数定義の情報(関数名,引数/返却項目の情報)が出力されます。
- 属性情報の詳細
-
データ項目の種類と出力される属性情報または引数/返却項目の情報の対応を次の表に示します。
表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] 指定ありの場合,その指定も出力されます)
(3) リポジトリ管理ツール使用時のエラーメッセージ
(a) エラーメッセージの形式
リポジトリ管理ツールが出力するメッセージの形式を,次に示します。
- 形式
cbl2krep : error エラー番号: メッセージ内容
このマニュアルでは,リポジトリ管理ツールが出力するエラーメッセージを,次の形式で記載します。
-
エラー番号
メッセージ内容
- (要因)
-
エラーが返される要因を示す。
- (S)
-
システムの処置を示す。
- (P)
-
プログラム作成者の処置を示す。
エラーメッセージの内容を次に示します。
(b) エラーメッセージの内容
リポジトリ管理ツールが出力するメッセージのエラー番号およびメッセージ内容を,次に示します。
-
0001
Cannot open file -- '******'.
-
0002
Cannot read file -- '******'.
-
0003
annot write file -- '******'.
- (要因)
-
リポジトリファイルの書き込みでI/Oエラーが発生した。次の要因が考えられる。
-
カレントディレクトリがネットワークディレクトリのとき,ネットワーク障害が発生している。
-
ディスクの空きがない。または,ディスク障害が発生している。
-
- (S)
-
cbl2krepの実行を中止する。
- (P)
-
-
何度かコンパイルを試みる。
-
コンピュータの管理者に問い合わせる。
-
-
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 -- '******'.