ページの本文へ

Hitachi
お問い合わせお問い合わせ

COBOL2002:FAQ:機能・運用に関するご質問

Q1. COBOL2002で作成したプログラムをJavaプログラムから呼び出せますか?

COBOL2002は、COBOLプログラムとJavaプログラムを連携させるための Java連携機能を提供しています。OpenTP1サーバ環境下のCOBOLアプリケーションを呼び出す場合は、別製品の TP1サーバ用Java連携を提供しています。
これらの機能を利用することによって、Javaプログラムと連携するCOBOLプログラムを作成できます。

Q2. JavaアプリケーションからCOBOLアプリケーションを呼び出しているプログラム構造で、COBOLアプリケーションで更新したデータベースをJavaアプリケーションでコミットできますか?

uCosminexus TP1 ConnectorとCOBOL2002のTP1サーバ用Java連携製品とを共に使用して、JavaアプリケーションからCOBOLアプリケーションを呼び出す構成にすれば、COBOLアプリケーションで更新したデータベースをJavaアプリケーションでコミットできます。
ここで、uCosminexus TP1 Connector は、J2EEサーバとuCosminexus OpenTP1上のアプリケーションとのトランザクション連携(2フェーズコミット)を実現します。J2EEサーバ側からCOBOLアプリケーションを呼び出すときは、TP1サーバ用Java連携製品と共に使用します。
なお、COBOL2002製品のJava連携機能を使用して、Javaアプリケーションから直接COBOLアプリケーションを呼ぶ構成ではJ2EEサーバ上のJavaアプリケーションでコミットできません。こうした構成では、COBOLアプリケーション内でトランザクションが閉じるように開発してください。

Q3. データベースへのアクセスは可能でしょうか?

日立の提供するHiRDBをはじめ、Oracle®、Microsoft® SQL Server、PostgreSQLなどの各種データベースにアクセスできます。
COBOL2002からこれらのデータベースにアクセスする方法としては、データベースが提供しているプリプロセッサを使用する方法、WindowsまたはLinuxのODBCインタフェースを使用する方法などがあります。
アクセスするデータベースが、COBOLプリプロセッサを提供している場合は、プリプロセッサの使用をお勧めします。
LinuxシステムでODBCインタフェース機能を使用したデータベースアクセスについての注意事項については、Linux版COBOL2002の注意事項を参照してください。

Q4. C#やVisual BasicプログラムからWindows版COBOL2002で作成したプログラムを呼べますか?

C#やVisual Basicなどの.NET Framework言語では, C/C++やCOBOLで作成されたWindows直下で動くDLLを呼び出す機能を提供しています。
詳細はWindows版COBOL2002の.NET Framework連携を参照してください。

Q5. COBOLプログラムからC言語で作成したプログラムを呼び出すことができますか?
また、他言語を呼び出す際に、必要となるライセンスはありませんか?

COBOLプログラムからC言語で作成したプログラムを呼び出すことができます。
また、C言語で作成したプログラムを呼び出す際には、追加で必要となるライセンスはありません。

Q6. COBOLプログラムからJavaプログラムを呼び出すことができますか?
また、Javaプログラムを呼び出す際に、必要となるライセンスはありませんか?

Windows版COBOL2002で作成したCOBOLプログラムからJavaプログラムを呼び出すことができます。
COBOL2002 Developer Professionalが提供するプログラム作成支援ツールを利用することで、使用するJavaプログラムに合わせたCOBOLプログラムの作成が容易になります。
また、Javaプログラムを呼び出す際には、Javaプログラムを実行するために、CosminexusまたはOracle Javaのライセンスが必要です。
必要となるライセンスの詳細は担当営業にお問い合わせください。

Q7. 開発環境でコンパイルしたDLLを別のWindowsの環境で呼び出しを行いたい。そのDLLを開発環境から別のWindows環境へ配布できますか?

作成したDLLそのものは、配布可能です。
作成したDLLを動作させるには、動作環境ごとに運用環境製品、または開発・運用環境製品のライセンスが必要です。

Q8. Linux上でCOBOLソースの編集ができますか?

Linux版COBOL2002のCOBOLソースの文字コードはシフトJISです。シフトJISで編集できるエディタを使用してください。Windows版COBOL2002のCOBOLエディタでの編集を推奨します。COBOLエディタはシフトJISのCOBOLソースを編集できるエディタで、便利な編集機能(構文テンプレート、キーワード補完、色分け表示など)を用いて編集できます。
COBOLソースファイルはftpなどで転送してください。

Q9. Linux版COBOL2002では、データ項目や文字定数はプログラム実行時にどのような文字コードとして扱われますか?

データ項目や文字定数は、プログラム実行時に英数字項目と英数字定数はUTF-8、日本語項目と日本語文字定数はUTF-16(USC-2の範囲)として扱われます。
COBOLソース中の文字定数は、英数字定数はUTF-8に、日本語文字定数はUTF-16に変換されてオブジェクト中に埋め込まれます。

Q10. Windows版COBOL2002製品のアンインストール方法を教えてください。

「スタート」-「コントロールパネル」-「プログラムと機能」から対象製品を選択してください。
なお、次の点に注意してください。

  • COBOL資産などをインストールフォルダ配下に格納しているときは、別のフォルダに退避してから作業してください。
    アンインストーラは、削除対象としていないファイルやフォルダが存在したら、それらを削除しない仕様ですが、万が一のことを配慮し、退避することをお勧めします。
  • COBOLプログラムの実行中にはアンインストール作業しないでください。COBOLプログラムが正常に実行できないことがあります。

Q11. Linux版/UNIX版COBOL2002製品のアンインストール方法を教えてください。

Linux版/UNIX版COBOL2002では、「日立PPインストーラ」を使用して製品をインストールします。アンインストール時も、このインストーラを使用してアンインストールしてください。
なお、COBOL2002製品をアンインストールする場合、ISAM製品やSORT製品がインストールされている環境でお使いの場合は注意事項がありますので、次の注意事項を参照ください。

Q12. COBOL2002製品とISAM製品やSORT製品が同一の環境にインストールされている場合、バージョンアップやリビジョンアップするとき、そのまま上書きインストールで問題ないですか?

上書きインストールの可否は、製品と動作環境で異なります。

Windows版        :COBOL2002製品をバージョンアップするときは、上書きインストールできません。
アンインストールした後に、インストールしてください。
COBOL2002製品をリビジョンアップするときは、上書きインストールできます。
ISAM製品やSORT製品は、上書きインストールできます。

Linux版・UNIX版:COBOL2002製品は上書きインストールできません。
アンインストールした後に、インストールしてください。
ISAM製品やSORT製品は、上書きインストールできますが、注意事項がありますので
Q13をご参照ください。

Q13. COBOL2002製品とISAM製品の2つの製品をインストールする順番に決まりはありますか?

Windows版:
インストール順序を意識する必要はありません。
Linux版:
注意事項がありますのでLinux版COBOL2002の注意事項を参照ください。
UNIX版:
注意事項がありますのでUNIX版COBOL2002の注意事項を参照ください。

Q14. テキスト編成のファイルに対するWRITE文/REWRITE文で、末尾に半角空白文字(X'20')がある場合に、半角空白文字が削除されずに、そのまま書き出される方法はありますか?

レコード末尾の空白文字を出力する機能で実現できます。
この機能を使用するには、実行時環境変数CBLD_ファイル名にTEXTWRITESPACEを指定するか、実行時環境変数CBLTEXTWRITESPACEにYESを指定してください。

Q15. UnicodeデータのCSV編成ファイルを作成できますか?

Windows版、Linux版、AIX版、およびHP-UX(IPF)版(32ビット版のみ)のCOBOL2002は、Unicode機能を提供しており、文字コードがUTF-8のCSV編成ファイルを作成できます。
なお、出力するレコード領域に用途がNATIONALの項目を含む場合、該当する項目の文字コードをUTF-16からUTF-8に自動変換することで、CSV編成ファイルの文字コードをUTF-8に統一します。

Q16. Windows版COBOL2002製品でサポートしているプリンタは何ですか?

ESC/Pモード印刷では、印刷先はESC/Pに対応するプリンタである必要があります。Windows版COBOL2002製品のGDIモード印刷では、具体的なプリンタの種類を意識していません。

Q17. COBOL2002の実行支援で、[設定]-[印刷書式]で設定可能なフォントを教えてください。

[設定]-[印刷書式]では、属性が日本語用のフォントだけを設定可能にしています。

Q18. COBOL2002を使用する環境で、言語設定UTF-8をサポートしていますか?

AIX版、HP-UX(IPF)版、Windows版のCOBOL2002は、UTF-8環境でのコンパイル/実行をサポートしていません。
Linux版COBOL2002は、UTF-8環境でのコンパイル/実行をサポートしています。
なお、COBOL2002の運用環境ではUnicodeのデータを扱えますが、ソースプログラムはシフトJISで記述します。

Q19. COBOLプログラムで、文字列の全角を半角に変換することができますか?

SEWB+/標準サブルーチンのライセンスをご購入ください。
サブルーチン'LXRPIC02'を呼び出す事で、全角を半角に変換することができます。
なお、サポートプラットフォームは各種ライブラリの動作環境を参照してください。

Q20. HiRDBやOracleのデータベースに数値型で20桁を保持している項目をCOBOLで扱えますか?

64ビット版COBOL2002製品は数字項目で扱えるけた数の上限を18けたから38けたに拡張した数字項目のけた拡張機能を提供しています。
この機能を利用することによって、HiRDB、ORACLEデータベースアクセスで38けたまでの数字項目が使用できます。

Q21. COBOL2002 Net Server Runtime(64)をインストールした環境でカバレージの取得ができるでしょうか?

COBOL2002 Net Server Runtime(64)など運用環境製品は、カバレージなどの開発を支援する機能を提供していませんので、カバレージ取得はできません。
カバレージ情報を取得したい場合は、COBOL2002 Net Server Suite(64)などの開発・運用環境製品を購入してください。
なお、カバレージ情報の取得や情報出力のためのコンパイラオプションを指定すると、
実行時の処理速度が遅くなる可能性があります。
運用環境でカバレージを取得する場合、本特性をご理解の上、ご使用ください。