cbldraコマンド − データ影響波及分析用データベースを操作する
cbldraコマンドは,データ影響波及分析用データベースを操作するときに使います。
形式
COBOLソースファイルを解析し,COBOLソースファイルの解析情報をデータベースに格納する場合
cbldra COBOLソースファイル名 ... 〔-SourcePath ソースフォルダ名〔;ソースフォルダ名〕...〔-r〕〕 〔-SubSystem サブシステム名〕 〔-ModuleName モジュール名〕 〔-DataArea データ領域番号〕 〔-IdCallMap 一意名呼び出し対応付けファイル名〕 〔-Quick〕
データ影響波及分析用データベースを初期化する場合
cbldra -InitializeDatabase
データ影響波及分析用データベース中の特定のデータ領域を初期化する場合
cbldra -InitializeDataArea データ領域番号
データ影響波及分析用データベースからモジュールを削除する場合※
cbldra -Delete〔,Module〕 -SubSystem サブシステム名 -ModuleName モジュール名
データ影響波及分析用データベースからサブシステムを削除する場合※
cbldra -Delete,SubSystem -SubSystem サブシステム名
データ影響波及分析用データベース内の構成を表示する場合
cbldra -List〔,{All|SubSystem}〕 〔-DataArea データ領域番号〕
コマンドヘルプを表示する場合
cbldra または cbldra -? または cbldra -Help
- 注※
-
サブシステム名からデータ領域が自動で判断されるため-DataAreaオプションの指定は不要です。
オプション
COBOLソースファイル名
解析情報をデータベースに格納するCOBOLソースファイル名を指定します。
-SourcePathオプションでソースフォルダを指定する場合は,パスを付けないファイル名を指定します。ソースフォルダの指定がない場合は,絶対パス名またはカレントフォルダからの相対パス名を指定します。
COBOLソースファイル名には,ワイルドカード「*」「?」を使用できます。ただし,パスの部分にはワイルドカードは指定できません。COBOLソースファイル名として指定できるファイルの拡張子を次に示します。
-
固定形式正書法で書かれた原始プログラムの場合
.cbl,.cob,.ocb,または環境変数CBLFIXで指定した拡張子
-
自由形式正書法で書かれた原始プログラムの場合
.cbf,.ocf,または環境変数CBLFREEで指定した拡張子
COBOLソースファイル名の解析情報がすでにデータベースにある場合,COBOLソースファイル名の新しい解析情報としてデータベースに上書きされます。
環境変数については,マニュアル「COBOL2002 ユーザーズガイド」を参照してください。
-SubSystem サブシステム名
COBOLソースファイルの解析情報を格納する場所である,サブシステム名を指定します。指定したサブシステム名が存在しない場合は,新規に作成されます。
サブシステム名には,次の文字を含まない名前を30文字以下で指定します。英小文字と英大文字は区別されません。
「\」「/」「:」「*」「?」「"」「<」「>」「|」「@」「;」,半角空白,全角空白,タブ
なお,データ影響波及分析用データベースには,英小文字は英大文字に変換されてサブシステム名として登録されます。
このオプションを省略すると,デフォルトのサブシステム名としてDEFAULTが仮定されます。
-ModuleName モジュール名
事前にラベルとしてCOBOLソースファイル名にモジュール名を付けるときに指定します。モジュール名には,パスを付けないファイル名として有効な名前を256文字以内で指定します。英小文字と英大文字は区別されません。
なお,データベースには英小文字を英大文字に変換したモジュール名が登録されます。
このオプションを省略すると,モジュール名としてNO_NAMEが仮定されます。
このオプションでモジュール名を付けると,-Delete,Moduleオプションでモジュール単位に解析情報を削除できます。
モジュール名の1文字目に「-」(ハイフン)を使用した場合は,エラーメッセージを出力して,処理を中止します。
-IdCallMap 一意名呼び出し対応付けファイル名
一意名を指定したCALL文の呼び出し先を解決するためのファイルを指定します。データ影響波及分析が自動的に一意名を解析できなかった場合に指定します。
-Quick
タイムスタンプとサイズが等しいCOBOLソースファイルの解析情報がすでにデータベースに格納されている場合に,該当するCOBOLソースファイルは解析しないで実行するときに指定します。これによって,解析に掛かる時間を短縮できます。
-Quickオプションを指定すると,登録集原文ファイルに変更があってもCOBOLソースファイルに変更がなければ解析されません。登録集原文ファイルに変更がある場合は,-Quickオプションは指定しないでください。
-InitializeDatabase
データ影響波及分析用データベースを初期化します。-Deleteオプションよりも高速にデータベースの内容を削除できます。-InitializeDatabaseオプションを指定するときは,ほかのオプションは指定しないでください。
データベースを初期化しても問題ないことを入念に確認してから,-InitializeDatabaseオプションを使用してください。
データ影響波及分析用データベースではなく,組み込みデータベース自体が壊れている場合は,-InitializeDatabaseオプションを実行してもエラーになって初期化できません。この場合は,DBユティリティのeaunsetupコマンドとeasetupコマンドで,組み込みデータベース全体を初期化してください。
-InitializeDataArea データ領域番号
データベース内の指定したデータ領域を初期化します。データ領域全体が不要な場合は-Deleteオプションよりも高速にデータベースを初期化できます。
データ領域番号には,1〜5の半角数字を指定します。
このオプションを指定した場合,「データ領域 n を初期化します。よろしいですか(Y/N)? 」の問い合わせ応答を表示し,Yなら続行,Nならコマンドを終了します。
データベースを初期化しても問題ないことを入念に確認してから,-InitializeDataAreaオプションを使用してください。
データ影響波及分析用データベースではなく,組み込みデータベース自体が壊れている場合は,-InitializeDataAreaオプションを実行してもエラーになって初期化できません。この場合は,DBユティリティのeaunsetupコマンドとeasetupコマンドで,組み込みデータベース全体を初期化してください。
-Delete〔,{Module|SubSystem}〕
データ影響波及分析用データベースのサブシステムおよびモジュールを削除するときに指定します。
Moduleを指定すると,-SubSystemオプションで指定したサブシステムにある-ModuleNameオプションで指定したモジュールが削除されます。
SubSystemを指定すると,-SubSystemオプションで指定したサブシステム全体が削除されます。
Moduleを指定した場合は,-SubSystemオプションと-ModuleNameオプションは省略できません。また,SubSystemを指定した場合は,-SubSystemオプションは省略できません。
ModuleとSubSystemの両方を省略すると,Moduleが仮定されます。
DEFAULTサブシステムを削除すると,サブシステム自体は削除されないで,属するモジュールだけが削除されます。
サブシステム名やモジュール名の指定誤りで必要なデータベースの情報を削除した場合,データベースの再作成が必要です。-Deleteオプションを使用する場合は,サブシステム名やモジュール名の指定に間違いがないことを確認してから実行してください。
使用例
COBOLソースファイルを特定して,データ影響波及分析用データベースに解析情報を格納
- sample.cblの解析情報をDEFAULTサブシステムにモジュールNO_NAMEで格納する場合
cbldra sample.cbl
- sample.cblの解析情報をSUBSYSTEM1サブシステムにモジュールNO_NAMEで格納する場合
cbldra sample.cbl -SubSystem SUBSYSTEM1
- sample.cblの解析情報をSUBSYSTEM2サブシステムにモジュール名にMODULE3を付けて格納する場合
cbldra sample.cbl -SubSystem SUBSYSTEM2 -ModuleName MODULE3
- sample.cblの解析情報をデータ領域3に格納する場合
cbldra sample.cbl -DataArea 3
特定のフォルダ下のソースファイルを一括して解析し,データ影響波及分析用データベースに解析情報を格納
- C:¥Sampleフォルダの,拡張子.cblのCOBOLソースファイルをすべて解析し,解析情報をSUBSYSTEM9サブシステムにモジュール名M001を付けて格納する場合
cbldra -SourcePath C:\Sample *.cbl -SubSystem SUBSYSTEM9 -ModuleName M001
- C:¥Sampleフォルダの,拡張子が.cblのソースファイルを下位フォルダも含めてすべて解析し,解析情報をDEFAULTサブシステムにモジュール名M002を付けて格納する場合
cbldra -SourcePath C:\Sample -r *.cbl -ModuleName M002
データベースの格納内容の削除
- データ影響波及分析用データベースを初期化する場合
cbldra -InitializeDatabase
- データ影響波及分析用データベースのデータ領域3を初期化する場合
cbldra -InitializeDataArea 3
- サブシステムSUBSYSTEM3を削除する場合
cbldra -SubSystem SUBSYSTEM3 -Delete,SubSystem
- サブシステムSUBSYSTEM3からモジュール名M002の解析情報を削除する場合
cbldra -SubSystem SUBSYSTEM3 -ModuleName M002 -Delete,Module
データベース内の構成の表示
- cbldraコマンドに -List,SubSystemオプションを指定して実行した場合
-List,SubSystem //////////////////////////////////////////////////////////////////////// // // COBOL2002 Professional Tool Kit 03-05 Data Impact Analyzer // // SUBSYSTEM LIST // //////////////////////////////////////////////////////////////////////// <Data Area : 1> Number of SubSystems : 3 SubSystem Name Parser Last Update Date Files ----------------------------------------------------------------------- DEFAULT 2014/08/03 10:11:20 0 SUBSYSTEM1 COBOL2002(32) 2014/08/26 12:14:33 2045 SUBSYSTEM2 COBOL2002(32) 2014/08/30 12:11:24 706
サブシステム情報として,サブシステム名,サブシステムを作成したCOBOL2002コンパイラ名,サブシステムの最終更新日付,およびサブシステムのソースファイル数が表示されます。COBOL2002コンパイラ名は,32bit版の場合はCOBOL2002(32),64bit版の場合はCOBOL2002(64)が表示されます。DEFAULTサブシステムが使用されていない場合は,COBOL2002コンパイラ名には何も表示されません。
- cbldraコマンドに -List,Allオプションを指定して実行した場合
-
構成の表示に出力される項目の意味を次に示します。
-
サブシステムヘッダ情報
サブシステムヘッダ情報です。サブシステム名およびサブシステムのモジュール数が表示されます。また,格納されているデータ領域番号が<Data Area :>に表示されます。
-
モジュールヘッダ情報
モジュールヘッダ情報です。モジュール名と,次の行にモジュールのソースファイル数が表示されます。
-
ソースファイル情報
ソースファイルの最終更新日付,ソースファイルのサイズ,ユーザ資産項目の情報,およびソースファイル名が表示されます。
ユーザ資産項目の情報は,次の形式で表示されます。
- ユーザ資産項目の情報の形式
〔登録済みユーザ資産種別〔;登録済みユーザ資産種別〕〕
登録済みユーザ資産種別には,DBまたはFileが表示されます。
-
DB:データベースの表名または列名を含めて登録しているソースファイルです。このソースファイルでは,データベースを経由した解析ができます。
-
File:物理ファイルを含めて登録しているソースファイルです。このソースファイルでは,物理ファイルを経由した解析ができます。
-
-
終了コード
終了コード |
意味 |
メッセージとの対応 |
---|---|---|
0 |
正常終了。 |
EレベルおよびUレベルのエラーはありません。 |
1 |
エラーが発生して終了しました。 |
Eレベルのエラーが1つ以上あり,Uレベルのエラーはありません。 |
2 |
回復不能のエラーが発生して終了しました。 |
Uレベルのエラーが1つ以上あります。 |
注意事項
-
-Deleteオプション,-InitializeDatabaseオプション,-InitializeDataAreaオプション,または-Listオプションのどれも指定しない場合,COBOLソースファイルの指定は必須です。
-
-DataAreaオプションまたは-InitializeDataAreaオプションに指定できるデータ領域番号は1〜5のどれかです。それ以外の値を指定した場合は,エラーメッセージが出力されてコマンドが終了します。
-
データベース登録時に,-DataAreaオプションでデータベースに登録済みのサブシステムと異なるデータ領域番号を指定した場合は,エラーメッセージが出力されてコマンドが終了します。
-
データベース登録時に-DataAreaオプションを省略した場合の動作は次のとおりです。
-
同時に指定したサブシステム名がデータベース内に存在しないときは,1を仮定する
-
同時に指定したサブシステム名がデータベース内に存在するときは,サブシステムに登録されているデータ領域番号を仮定する
-
-
データベースの構成表示時に-DataAreaオプションを省略した場合は,すべてのデータ領域の情報が表示されます。
-
大量のソースファイルをcbldraコマンドで解析して1つのサブシステムに格納する場合,サブシステムの更新や削除の操作に時間が掛かります。複数のサブシステムに分割できない場合は,1つのマシンを1つのサブシステム専用に限定して,次の運用をされることを推奨します。
- 1つのマシンを1つのサブシステム専用に限定する場合
-
・-Delete,SubSystemオプションの代わりに-InitializeDatabaseオプションで削除する
・全件再解析する場合は-InitializeDatabaseオプションでいったん削除してから解析する
- 1つのデータ領域に格納する場合
-
・-Delete,SubSystemオプションの代わりに-InitializeDataAreaオプションで削除する
・全件再解析する場合は-InitializeDataAreaオプションでいったん削除してから解析する
-InitializeDatabaseオプションまたは-InitializeDataAreaオプションは-Delete,SubSystemオプションと比べて非常に高速です。-Delete,SubSystemオプションで数十分掛かるケースでも-InitializeDatabaseオプションまたは-InitializeDataAreaオプションでは数秒です。
すでにデータベース内に解析情報があるソースファイルを再解析する場合,データベースの情報を削除してから再解析します。そのため,新規にデータベースに追加する場合と比べて約1.5倍の時間が掛かります。-InitializeDatabaseオプションまたは-InitializeDataAreaオプションで初期化してから解析することで削除に掛かる時間を短縮できます。