ページの先頭行へ戻る
NetCOBOL V12.0 ユーザーズガイド(UNIX分散開発編)
FUJITSU Software

A.2.2 NetCOBOL製品間の機能差の詳細

図A.1 NetCOBOL製品間の機能差”および“表A.2 各プラットフォーム向けのNetCOBOL製品の機能サポート状況”で示した各プラットフォーム向け製品間での機能差について、次のようなものについて、ここでは機能ごとに詳しく説明します。

日本語処理

NetCOBOLでは、COBOLのデータ項目で日本語データ(半角カナ文字を含む)を使用することができます。しかし、各プラットフォームでの文字コードの違いから、各プラットフォーム向けのNetCOBOL製品での日本語データの扱いに違いが生じています。したがって、日本語処理の結果の違いについて詳細を理解するためには、文字コード系について理解することが必要となります。ここでは概要レベルの説明に止め、詳細については“NetCOBOLユーザーズガイド”の“文字コード”を参照してください。

日本語処理に使用可能な文字コード系

以下に、各NetCOBOL製品で日本語処理に使用可能な文字コード系を示します。

表A.3 各NetCOBOL製品で日本語処理に利用可能な文字コード系の違い

文字コード系

Windows 32bit版 NetCOBOL

Solaris 32bit版 NetCOBOL

Linux 32bit版 NetCOBOL

Linux(Itanium) 64bit版 NetCOBOL

シフトJIS(SJIS)

×

×

日本語EUC(EUC)

×

Unicode

なお、Unicodeサポートについては、実際は更に詳細な違いがあります。“NetCOBOLユーザーズガイド”の“文字コード”を参照してください。

プログラム動作時の文字コード系の選択

COBOLプログラムが動作する場合の文字コードの選択と指定の方法が、Windows版NetCOBOL製品とUNIX系システムのNetCOBOL製品で根本的に異なります。

Windowsシステム

翻訳オプションRCSによって指定します(デフォルトはシフトJIS)。このため、同じCOBOLソースから異なるコード系を使用するプログラムを作成することができます。

図A.2 Windowsシステムでの文字コード系の選択

作成した実行可能プログラムは、Windowsシステムの言語の設定に依存することなく、翻訳時に指定した文字コード系を使用して動作します。

UNIX系システム

UNIX系システムの環境変数LANGの設定によって、翻訳時および実行時に使用される文字コード系が自動的に選択されます。このため、実行時に使用する文字コード系を使用して記述されたCOBOLソースが必要となります。

図A.3 UNIX系システムでの文字コード系の選択

作成した実行可能プログラムは、UNIXシステムの環境変数LANGの設定に従って動作します。このため、COBOLソースで使用している文字コード系と実行時の環境変数LANGの設定が食い違った場合、実行時エラーが発生します。

日本語処理結果の違いの概要

次のような操作で結果が異なる場合があります。詳細は、“NetCOBOLユーザーズガイド”の“文字コード”を参照してください。

日本語定数/日本語16進定数

使用を選択した文字コード系に含まれない値を指定した場合、翻訳エラーになります。

文字比較

半角カナ文字、日本語文字の大小順序の結果が異なる場合があります。

索引ファイルのキー順序

半角カナ文字、日本語文字の大小順序の結果が異なる場合があります。

ソートキーの順序

半角カナ文字、日本語文字の大小順序の結果が異なる場合があります。

日本語字類条件

コード系の違いにより、結果が異なる場合があります。

拡張日本語印刷

NetCOBOLでは、フォームオーバレイパターン、FCB、帳票定義体などの帳票資源を使用してきめ細かい帳票印刷を行うことができます。しかし、プラットフォームごとに提供される印刷環境の違いやプリンタに出力する印刷オーダーなどの違いから、プラットフォーム間での動作に違いが生じています。更に各プラットフォームで利用可能なフォント、プリンタおよび接続製品提供の違いがありますので、各プラットフォームで全く同じ印刷結果を得ることは困難です。このため、印刷機能を使用した帳票出力結果の確認は、運用するプラットフォーム上で実際の印刷環境を使用して確認することが必要となります。

印刷オーダー

各プラットフォームで出力できる印刷オーダーは以下のとおりです。

表A.4 各プラットフォームで出力できる印刷オーダー

Windows 32bit版 NetCOBOL

Solaris 32bit版 NetCOBOL

Linux 32bit版 NetCOBOL

Linux(Itanium)
64bit版 NetCOBOL

GDI

×

×

×

FM(UVPI)

×

×

×

FNP(UVPI)

×

PostScript

×

ESC/P

×

×

×

ESC/Page

×

×

×

LIPS

×

×

×

なお、MeFt経由で印刷する場合には、“MeFtユーザーズガイド”を参照してください。

フォームオーバレイパターン

フォームオーバレイパターンはWindows版のFORM/PowerFORMで作成します。

FORM/PowerFORMで作成したフォームオーバレイパターンは他のプラットフォームでも使用することができます。ただし、フォームオーバレイパターンの形式によっては、プラットフォームごとに利用可能な機能範囲が異なります。プラットフォーム間で共用する目的でフォームオーバレイパターンを作成する場合には、KOL5形式(システム間流通可能な形式)で作成することをお勧めします。

FCB

FCBは、印刷ファイルを使用して行レコードで構成された帳票を出力する場合に、1ページ分の論理的な構成(行数、行間隔、印字開始位置)を定義します。各プラットフォームで定義できる情報は以下のとおりです。

表A.5 各プラットフォームで定義できるFCB情報

Windows 32bit版 NetCOBOL

Solaris 32bit版 NetCOBOL

Linux 32bit版 NetCOBOL

Linux(Itanium) 64bit版 NetCOBOL

定義方法

FCB制御文

FCBファイル

FCBファイル

FCBファイル

LPI情報(行間隔)

LPI情報(行数)

CH情報(チャネル)

×

×

×

SIZE情報(用紙サイズ)

FORM情報(定型サイズ)

×

×

×

印字開始位置

△ 注

注  :  CH情報で定義したチャネル1が印字開始位置を識別するために使用されます。

帳票定義体

各プラットフォームのMeFtと連携することで、COBOLプログラムから帳票定義体に定義した帳票フォーマットにしたがって印刷することができます。帳票定義体はWindows版のFORM/PowerFORMで作成します。

FORM/PowerFORMで作成した帳票定義体は他のプラットフォームでも使用することができます。ただし、プラットフォームごとに利用可能な機能範囲が異なります。プラットフォーム間で共用する目的で帳票定義体を作成する場合には、FORMを使用してSMD形式(システム間流通可能な形式)で作成することをお勧めします。

また、出力するプリンタや印刷オーダーの違いによっても利用可能な機能範囲が異なります。詳細は、各プラットフォームの“MeFtユーザーズガイド”を参照してください。

外字

外字を使用する場合は、各プラットフォームで文字コードの扱いが異なりますので、外字はプラットフォームごとに使用する文字コード系にあわせて登録する必要があります。

表示ファイル(画面)

宛先DSPの表示ファイル機能を使用して画面入出力を行うためには、連携する製品が必要となります。この連携製品によって接続する画面の種類や機能のサポート状況が異なります。

Windows 32bit版 NetCOBOL

Solaris 32bit版 NetCOBOL

Linux 32bit版 NetCOBOL

Linux(Itanium) 64bit版 NetCOBOL

ローカル画面(MeFt)

×

×

×

Web画面(MeFt/Web)

×

画面入出力ではWindows版のFORMで作成した画面定義体を使用します。FORMで作成した画面定義体は他のプラットフォームでも使用することができます。ただし、プラットフォームごとに利用可能な機能範囲が異なります。

また、連携製品によっても利用可能な機能範囲が異なります。詳細は、各製品のマニュアルを参照してください。

表示ファイル(印刷)

宛先PRTの表示ファイル機能を使用して帳票出力を行うためには、連携する製品が必要となります。この連携製品によって機能のサポート状況が異なります。

Windows 32bit版 NetCOBOL

Solaris 32bit版 NetCOBOL

Linux 32bit版 NetCOBOL

Linux(Itanium) 64bit版 NetCOBOL

サーバ印刷(MeFt)

Web印刷(MeFt/Web)

×

電子帳票(MeFt + List WORKS)

×

PDF(MeFt + List Creator EE)

帳票管理サーバ(MeFt + List Manager)

×

×

分散印刷(MeFt + List Creator)

×

帳票出力ではWindows版のFORM/PowerFORMで作成した帳票定義体を使用します。FORM/PowerFORMで作成した帳票定義体は他のプラットフォームでも使用することができます。ただし、プラットフォームごとに利用可能な機能範囲が異なります。

また、連携製品によっても利用可能な機能範囲が異なります。詳細は、各製品のマニュアルを参照してください。

スクリーン操作

レイアウト指定を含むデータ項目(スクリーン項目)やレイアウト指定付きのACCEPT/DISPLAY文を使用して、COBOLで画面入出力を行うプログラムを簡単に記述する機能です。Linux 32bit版 NetCOBOLおよびLinux(Itanium) 64bit版NetCOBOL製品ではサポートされていません。

一方、Windows 32bit版 NetCOBOLとSolaris 32bit版 NetCOBOLでは、次のように異なります。

表A.6 スクリーン操作機能のNetCOBOL製品間での相違点

比較ポイント

Windows 32bit版 NetCOBOL

Solaris 32bit版 NetCOBOL

XPG仕様

Micro Focus互換仕様

○(MF COBOL/2相当 + α)

△(MF COBOL/2相当)

動作コード

SJIS、Unicode(UTF8/UCS2)

EUC

GUI設計ツール

×

○(X Windowシステム必須)

データベース操作

COBOLプログラムからデータベース操作を行うためには、埋め込みSQL文を使用する必要がありますが、使用可能な埋め込みSQL文の種類や埋め込みSQL文の詳細なふるまいは、次のような条件によって異なります。

  1. 接続するデータベース製品

  2. 接続方法(ODBCインタフェース/CALLインタフェース)

    図A.4 COBOLプログラムからのデータベースへの接続方式の違い

COBOLプログラム~データベースの接続インタフェースの違いは、開発時に埋め込みSQL文を含むCOBOLプログラムを翻訳する際の処理方式の違いとしても現れてきます。

a) パーザ方式

NetCOBOL製品組込みのSQLパーサを使用して埋め込みSQL文を含むプログムを直接翻訳します。ODBCインタフェースを使用する場合、この方式で処理する必要があります。

b) プリプロセッサ方式

接続するデータベース製品によって提供される埋め込みSQLプリプロセッサで埋め込みSQL文を含むプログムを処理し、プリプロセッサの出力したCOBOLプログラムを翻訳します。

CALLインタフェースを使用する場合、この方式で処理する必要があります。

各プラットフォーム用のNetCOBOL製品がサポートするSQL文の処理方式は次のとおりです。

表A.7 各NetCOBOL製品における埋め込みSQL文の処理方式のサポート状況

埋め込みSQL文の処理方式

Windows 32bit版 NetCOBOL

Solaris 32bit版 NetCOBOL

Linux 32bit版 NetCOBOL

Linux(Itanium) 64bit版 NetCOBOL

パーザ方式

×

×

プリプロセッサ方式

なお、各プラットフォームのNetCOBOL製品が接続をサポートするデータベース製品については、製品のバージョンにより違いがあることが多いため、ここでは述べません。各製品のインストールガイド、ソフトウェア説明書等を参照してください。

Web連携機能

Web連携機能を使用して、COBOLでインターネット/イントラネット環境の業務システムを構築するには、以下の2つの方法があります。

*1  :  ISAPI(Internet Server Application Programming Interface)。Windows標準のWebサーバであるIISの拡張インタフェースを使用します。


なお、COBOL Webサブルーチンを利用したアプリケーションを開発する場合、サポート状況の違いだけでなく、各システムにおけるファイルやパス名の規則の違いについても注意する必要があります。