• 検索結果がありません。

ユーザーズガイド

N/A
N/A
Protected

Academic year: 2021

シェア "ユーザーズガイド"

Copied!
29
0
0

読み込み中.... (全文を見る)

全文

(1)

B1WD-3340-01Z0(00)

2015年6月

Windows

FUJITSU Software

NetCOBOL JEF

オプション 

V7.1

ユーザーズガイド

(2)

まえがき

このたびは、NetCOBOL JEFオプション(以下、JEFオプションと略します)をお買い上げいただき、誠にありがとうございます。NetCOBOL

JEFオプションは、Windowsシステムの32ビットモードで動作するNetCOBOL(以下、Windows 32bit版 NetCOBOLと略します) に追加

インストールすることによって、EBCDIC/JEFコード系を使用する機能を提供するオプション製品です。

NetCOBOL

シリーズについて

NetCOBOLシリーズの最新情報については、富士通のサイトをご覧ください。 http://software.fujitsu.com/jp/cobol/

商標について

Microsoft、Windows、Windows Server、Visual C++、またはその他のマイクロソフト製品の名称および製品名は、米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

Adobe、Acrobat、およびReaderは、Adobe Systems(アドビ システムズ社)の米国ならびに他の国における商標または登録商標で

す。

その他の会社名および製品名は、それぞれ各社の商標または登録商標です。

Microsoft Corporationのガイドラインに従って画面写真を使用しています。

Btrieve および Pervasive は Actian Corporation の登録商標です。Pervasive Software、Pervasive.SQL、Pervasive PSQL はActian Corporation の商標です。

略語表記について

本書では、各製品を以下のように略記しています。あらかじめご了承ください。

正式名称 略称

Microsoft(R) Windows Server(R) 2012 R2 Datacenter Microsoft(R) Windows Server(R) 2012 R2 Standard Microsoft(R) Windows Server(R) 2012 R2 Essentials Microsoft(R) Windows Server(R) 2012 R2 Foundation

Windows Server 2012 R2

Microsoft(R) Windows Server(R) 2012 Datacenter Microsoft(R) Windows Server(R) 2012 Standard Microsoft(R) Windows Server(R) 2012 Essentials Microsoft(R) Windows Server(R) 2012 Foundation

Windows Server 2012

Microsoft(R) Windows Server(R) 2008 R2 Foundation Microsoft(R) Windows Server(R) 2008 R2 Standard Microsoft(R) Windows Server(R) 2008 R2 Enterprise Microsoft(R) Windows Server(R) 2008 R2 Datacenter

Windows Server 2008 R2 Windows(R) 8.1 Windows(R) 8.1 Pro Windows(R) 8.1 Enterprise Windows 8.1 Windows(R) 8 Windows(R) 8 Pro Windows(R) 8 Enterprise Windows 8

(3)

正式名称 略称

Windows(R) 7 Enterprise Windows(R) 7 Ultimate

Microsoft(R) Visual C++(R) development system Visual C++ Microsoft(R) Visual Basic(R) programming system Visual Basic Oracle Solaris 10 Oracle Solaris 11 Solaris PowerSORT Server PowerSORT Workstation PowerSORT

NetCOBOL JEFオプション JEFオプション

以下をすべて指す場合は、「Windows」と表記します。

Windows Server 2012 R2

Windows Server 2012

Windows Server 2008 R2

Windows 8.1

Windows 8

Windows 7

Windowsシステムで動作し、32ビットCOBOLアプリケーションを開発するCOBOL開発システムを、「Windows 32bit版 NetCOBOL」

または「NetCOBOL」と表記します。

NetCOBOL COBOL文法書を「COBOL文法書」と表記します。

Windows 32bit版 NetCOBOL ユーザーズガイドを「NetCOBOL ユーザーズガイド」と表記します。

本書の目的

本書は、JEFオプションを利用したCOBOLプログラムの作成、そのプログラムの実行およびデバッグの方法について説明しています。 ただし、本書ではJEFオプションが提供する機能のうち、Windows 32bit版 NetCOBOL(ASCII/シフトJISコード系) と内容が異なる場合 (動作の違い、注意事項の違い、使用方法の違いなど)の説明だけを記述しています。本書に記述がない場合は、Windows 32bit版 NetCOBOL(ASCII/シフトJISコード系)と同じ内容になるため、“NetCOBOL ユーザーズガイド”を参照してください。 COBOLの文法規則については、“COBOL文法書”をお読みください。

関連マニュアル

この製品のマニュアルには、本書のほかに以下のマニュアルがあります。

“NetCOBOL JEFオプション リリース情報”

Windows 32bit版 NetCOBOL V11以降で提供されるマニュアルのうち、本製品に関連するマニュアルは以下です。

リリース情報

COBOL文法書

ユーザーズガイド

ユーザーズガイド(OSIV分散開発 プロジェクトマネージャ編)

ユーザーズガイド(OSIV分散開発 NetCOBOL Studio編)

(4)

メッセージ集 これらのマニュアルを指して「本体製品のマニュアル」と表記します。

輸出管理について

本ドキュメントを輸出または第三者へ提供する場合は、お客様が居住する国および米国輸出管理関連法規等の規制をご確認のうえ、 必要な手続きをおとりください。 2015年6月

(5)

目 次

第1章 JEFオプションの概要... 1 1.1 JEFオプションの利用法... 1 1.1.1 メリット... 1 1.1.2 デメリット... 1 1.2 JEFオプションの開発環境... 1 1.3 JEFオプションの運用環境... 2 1.4 JEFオプションで利用できる機能... 2 1.4.1 制限となる機能... 3 第2章プログラムを作成する... 6 2.1 プログラムの作成...6 第3章翻訳・リンク・実行する... 8 3.1 翻訳する... 8 3.1.1 翻訳時に使用するファイルのコード系... 8 3.1.2 開発環境利用時の文字コードの切換え方法... 8 3.1.3 翻訳コマンド... 9 3.1.4 注意事項... 9 3.2 リンクする... 11 3.3 プログラムを実行する... 11 3.3.1 GS形式の実行時パラメータ...12 第4章 COBOLの機能を利用する... 13 4.1 入出力処理... 13 4.2 印刷処理... 13 4.3 言語間結合... 13 4.4 小入出力機能... 13 4.5 ソート・マージ...14 4.6 デバッグ機能(TRACE,CHECK,COUNT)...14 4.7 デバッガ... 14 4.8 簡易アプリ間通信機能...15 4.9 データベースアクセス機能(SQL)... 16 4.9.1 概要... 16 4.9.2 実行時の変更点および注意点...16 4.10 イベントログ出力サブルーチン... 17 付録A 翻訳オプション...18 A.1 指定が無効になるオプション... 18

A.2 省略値がWindows 32bit版 NetCOBOLと異なるオプション... 18

A.3 使用できないオプション... 18 付録B メッセージ...19 B.1 翻訳時メッセージ...19 B.2 実行時メッセージ...19 B.3 追加される項目...20 付録C サンプルプログラム... 21

C.1 JEF オプションで使用できるWindows 32bit版 NetCOBOLのサンプル... 21

(6)

1

JEF

オプションの概要

JEFオプションは、Windows 32bit版 NetCOBOL に対して、EBCDIC/JEFコード系を使用する機能を提供するオプション製品です。

1.1 JEF

オプションの利用法

JEFオプションの導入によるメリット、デメリットを以下に示します。

1.1.1

メリット

EBCDIC/JEFコード系では、ASCII/シフトJIS コード系の1880文字の外字(第1水準、第2水準、JIS 非漢字を除く文字)に対して、 利用者定義文字3102文字、JEF 拡張漢字4039文字、JEF 拡張非漢字1010文字を使用できます。

コード系がGS/K/Gシリーズと同じEBCDIC/JEFコード系であるため、プログラムのコード系に依存する処理は、GS/K/Gシリーズか ら変更する必要がなく、プログラムの移植性が高くなります。

GS/K/Gシリーズから資産を移行するときに、従来ではデータが外字を含む場合、移行の方法が困難であったり不可能であったり したものが、コード系がGS/K/Gシリーズと同じEBCDIC/JEFコード系であるために移行が容易になります。

1.1.2

デメリット

コード系がWindowsシステムのコード系と異なるため、資産をNetCOBOL と他のアプリケーションの間で共有できなくなります。

オブジェクト指向機能等のCOBOLの先進的な機能が使用できなくなります。

Btrieve などのファイルシステムが利用できなくなります。

1.2 JEF

オプションの開発環境

JEF オプションの開発環境は、ASCII/シフトJIS コード系です。JEF オプションの開発環境がASCII/シフトJIS コード系であるのは、プロ

グラム資産に外字が含まれる可能性は小さく、使い慣れたエディタを利用する利点の方が大きいからです。開発環境がASCII/シフト

JIS コード系であるため、外字はプログラム中には16進定数で記述する必要がありますが、Interstage Charset Managerを使用すれば、 1880文字の範囲でプログラムが外字を利用することが可能になります。

なお、EBCDIC/JEFコード系プログラムの開発を行う場合であっても、コンパイラが生成する翻訳リスト、翻訳時メッセージなどはASCII/ シフトJISコード系です。

(7)

*1: 外字に割り当てられた文字を使用する場合、Interstage Charset Managerが必要となります。 *2: EBCDIC/JEFも可能(第1水準漢字、第2水準漢字、基本非漢字のみ使用可能)です。

1.3 JEF

オプションの運用環境

JEF オプションの運用環境では文字コードとしてはEBCDIC/JEFコード系が用いられます。画面、帳票機能などでは、EBCDIC/JEF文 字をすべてWindowsシステムの画面に表示でき、またプリンタに印刷できますが、そのためにはJEF 拡張漢字サポートがインストール されている必要があります。 以下に、JEF オプションの運用環境の概要図を示します。 なお、データベースに関する運用環境については、“4.9 データベースアクセス機能(SQL)”を参照してください。

1.4 JEF

オプションで利用できる機能

JEFオプションで利用できる機能は、COBOL85 の機能範囲と富士通拡張仕様の一部です。

(8)

**:共通機能範囲

1.4.1

制限となる機能

JEFオプションは、Windows 32bit版 NetCOBOL V11以降と組み合わせて使用することができます。ただし、Windows 32bit版 NetCOBOL V11より新しいバージョンで追加された機能は使用できません。

Windows 32bit版 NetCOBOL V11以前でサポートされた機能の中で、JEFオプションで制限となる機能を以下に示します。

なお、以下のマニュアルの対象箇所は、Windows 32bit版 NetCOBOL V11のマニュアルの項番を表しています。

制限となる機能 マニュアルの対象箇所 浮動小数点 COBOL文法書 2.1.11 浮動小数点数の操作 集団項目に対する SYNCHRONIZED句 COBOL文法書 5.4.14 SYNCHRONIZED句 利用者定義型 COBOL文法書 5.4.15 TYPE句 5.4.16 TYPEDEF句 付録G 型を使用したデータ項目の定義

(9)

制限となる機能 マニュアルの対象箇所 国際規格COBOL2002の新デー タ型 (BINARY-CHAR/BINARY-SHORT/ BINARY-LONG/BINARY-DOUBLE) COBOL文法書 5.4.17 USAGE句 EXIT文の PARAGRAPH/SECTION指定 COBOL文法書 6.4.18 EXIT文(中核) 特殊レジスタ EDIT-OPTION2/EDIT-OPTION3 COBOL文法書 2.6.6 特殊レジスタ NetCOBOLユーザーズガイ ド 8.1.11 特殊レジスタ Unicodeサポート NetCOBOLユーザーズガイ ド 第6章 文字コード 行順編成のファイル COBOL文法書 2.2.1 ファイルの編成 COBOL文法書 4.3.1.17 ORGANIZATION句(順ファイル) NetCOBOLユーザーズガイ ド 7.3 行順ファイルの使い方 他のファイルシステム NetCOBOL ユーザーズガ イド 7.9 他のファイルシステムの使用方法

List Works連携 NetCOBOLユーザーズガイ

ド 8.6 電子帳票出力機能を使う方法 組込み関数機能(*1) COBOL文法書 2.7 組込み関数機能 スクリーン操作機能 COBOL文法書 2.8 スクリーン操作機能 コマンド行引数の操作 COBOL文法書 2.9 コマンド行引数と環境変数の操作機能 環境変数の操作 COBOL文法書 2.9 コマンド行引数と環境変数の操作機能 NetCOBOLユーザーズガイ ド 11.3 環境変数の操作機能

Interstage Business Application Server汎用ログ

NetCOBOLユーザーズガイ

11.1.9 Interstage Business Application Serverの

汎用ログを使うプログラム

Micro Focus固有機能 COBOL文法書 第10章 Micro Focus 固有機能

オブジェクト指向機能 COBOL文法書 第11章 オブジェクト指向プログラミング機能 NetCOBOLユーザーズガイ ド 第17章 オブジェクト指向プログラミング機能 第27章 オブジェクト指向プログラミングの開発 CSV形式データの操作 COBOL文法書 6.4.45 STRING文(中核) 6.4.50 UNSTRING文(中核) NetCOBOLユーザーズガイ ド 第13章 CSV形式データの操作

デッドロック出口機能 COBOL文法書 6.4.53 USE FOR DEAD-LOCK文 NetCOBOLユーザーズガイ ド 15.2.14 デッドロック出口 I.2.2 COB_DEADLOCK_EXIT(デッドロック出口 スケジュールサブルーチン) Webサブルーチン NetCOBOL ユーザーズガ イド 第19章 Web連携

(10)

制限となる機能 マニュアルの対象箇所 マルチスレッド対応 NetCOBOLユーザーズガイ ド 第20章 マルチスレッド COM連携機能 NetCOBOLユーザーズガイ ド 第28章 COM機能 CORBAアプリケーション NetCOBOLユーザーズガイ ド (OSIV分散開発 プロジェ クトマネージャ編) 第6章 CORBAアプリケーションの分散開発 表示ファイル単体テスト機能 NetCOBOL ユーザーズガ イド(OSIV分散開発編) 第4章 単体テスト リモートデバッグ NetCOBOLユーザーズガイ ド 24.9 対話型リモートデバッガの使い方 データエリアに関するリスト出力 NetCOBOLユーザーズガイ ド A.3.30 MAP(データマップリスト、プログラム制御 情報リストおよびセクションサイズリストの出力の 可否) B.6 データエリアに関するリスト *1:ADDR関数、CURRENT-DATE関数およびLENG関数はサポート

注意

Windows 32bit版 NetCOBOL V11.0.0以外のマニュアルでは、上記の項番と異なる場合があります。

利用できる機能であっても、以降に述べる事項についてはWindows 32bit版 NetCOBOL (ASCII/シフトJIS)と異なるため、それらにつ いては本書を参照してください。本書で述べていない事項については、Windows 32bit版 NetCOBOL (ASCII/シフトJIS)と同じである ため、“NetCOBOL ユーザーズガイド”の各章を参照してください。

(11)

2

プログラムを作成する

ここでは、JEFオプションを利用したCOBOLプログラムの作成方法について説明しています。

2.1

プログラムの作成

プログラムは、Windows 32bit版 NetCOBOL (ASCII/シフトJIS)と同じようにNetCOBOL Studioまたはプロジェクトマネージャのエディタ または各種エディタを使って作成します。

プログラムを作成する上での注意事項

以下に、プログラムを記述する上での注意事項を示します。

JEF オプションは、JIS8単位/シフトJISコードで記述されたプログラムをEBCDIC(カナ)/JEFコードに変換し、翻訳処理を行います。 したがって、JIS8単位文字の中でEBCDIC(カナ)に対応する文字がないものをソースプログラムまたは登録集原文に使用すること はできません。

プログラムの記述に使用できない文字 : 英小文字、アンダースコア

ALPHABET句の指定がNATIVEかまたは指定がない場合、EBCDICコードが指定された場合と同様に動作します。

文字の大小順序 ASCII/シフトJISとEBCDIC/JEFでは、コード系の違いにより、文字の大小順序が異なります。

英字、数字、カナの大小順序が逆転します。

外字と外字以外の日本語の大小順序が逆転します。

例1: EBCDIC/JEFコード系ではTHEN側のDISPLAY文が動作し、ASCII/シフトJISコード系ではELSE側のDISPLAY文が動作します。

01 英数字 PIC X VALUE "A". 01 数字 PIC 9 VALUE 1. : IF 英数字 < 数字 THEN DISPLAY "EBCDIC/JEF" ELSE DISPLAY "ASCII/SJIS" END-IF.

空白コードの違い 日本語文字の空白コード(2バイト空白)と、英数字の空白コード(1バイト空白)がEBCDIC/JEFのときは同じ値(X'4040'とX'40')です が、ASCII/シフトJISのときは、異なる値(X'8140'とX'20')になります。

例2: EBCDIC/JEFコード系ではTHEN側のDISPLAY文が動作し、ASCII/シフトJISコード系ではELSE側のDISPLAY文が動作します。 01 集団. 02 FILLER PIC N(2) VALUE NC"日本". 02 FILLER PIC X(2) VALUE SPACE. 01 日本語 PIC N(3) VALUE NC"日本". IF 集団 = 日本語 THEN

(12)

DISPLAY "EBCDIC/JEF" ELSE DISPLAY "ASCII/SJIS" END-IF.

プログラム中の16進定数 プログラム中の16進定数はEBCDIC/JEFの値(コード値)を指定します。

例3: EBCDIC/JEFコード系ではTHEN側のDISPLAY文が動作し、ASCII/シフトJISコード系ではELSE側のDISPLAY文が動作します。 01 英数字 PIC X VALUE X"C1". IF 英数字 = "A" THEN DISPLAY "EBCDIC/JEF" ELSE DISPLAY "ASCII/SJIS" END-IF.

型の異なる項目の再定義 外部10進項目や日本語項目を異なる型のデータで再定義(REDEFINES) しているプログラムは、コード系の違いに注意する必要 があります。

例4: EBCDIC/JEFコード系ではTHEN側のDISPLAY文が動作し、ASCII/シフトJISコード系ではELSE側のDISPLAY文が動作します。 01 英数字 PIC X(3) VALUE "12L". 01 数字 REDEFINES 英数字 PIC S9(3). IF 数字 = -123 THEN DISPLAY "EBCDIC/JEF" ELSE DISPLAY "ASCII/SJIS" END-IF.

CODE-SET句を記述したプログラムについて

Windows 32bit版 NetCOBOLでは、CODE-SET句をサポートしていません。このため、CODE-SET句の動作を前提としたプログラ

ムについての動作を保証していません。CODE-SET句を使用していた場合、CODE-SET句を注釈として、プログラムを再度翻訳 し、動作を確認してください。

(13)

3

翻訳・リンク・実行する

ここでは、JEFオプションを利用したCOBOLプログラムを翻訳・リンク・実行する方法について説明しています。

3.1

翻訳する

詳細は、“NetCOBOL ユーザーズガイド”の“第3章 プログラムを翻訳する”を参照してください。

3.1.1

翻訳時に使用するファイルのコード系

コンパイラが使用するファイルのコード系を下表に示します。 コンパイラが使用するファイル コード系

ASCII/シフトJIS EBCDIC/JEF

ソースファイル ○ - 登録集ファイル ○ - 画面帳票定義体ファイル ○ ○ ファイル定義体ファイル ○ ○ オプションファイル(DEFAULT.CBI) ○ - 翻訳リストファイル ○ - 翻訳時メッセージ ○ -

3.1.2

開発環境利用時の文字コードの切換え方法

この設定は以下の操作を行う場合に意味を持ちます。 プロジェクトマネージャを使用する場合

プロジェクト管理機能を使用した翻訳

WINCOBウィンドウを使用した翻訳

対話型デバッガによるデバッグ NetCOBOL Studioを使用する場合 NetCOBOL Studioを使用したビルド、実行、デバッグ。 以下に切換え方法を示します。 プロジェクトマネージャを使用する場合

1.

プロジェクトマネージャの[環境]メニューから[文字コード]を選択します。

2.

サブメニューが表示されるので、文字コードを選択します。 JEF を選択すると、以下に示すメッセージを持つメッセージボックスが表示されます。 動作中のすべてのプロジェクトマネージャがEBCDIC/JEFモードで動作します。 よろしいですか ? 「はい」を選択すると、サブメニュー上のチェックが JEFに移り、文字コードがEBCDIC/JEFモードに切り替わります。

3.

選択した文字コードの情報は、プロジェクトマネージャおよびプロジェクトの情報に残されます。これは[環境]メニューから[文 字コード]を選択して、文字コードの設定を再度行うか、異なる文字コードの設定を持つプロジェクトファイルを開くまで有効 になります。

(14)

注意

異なる文字コードの設定を持つプロジェクトを同時に複数開くことはできません。最後に開いたプロジェクトの文字コードの設定 が有効になります。

複数のプロジェクトを開いた状態で、文字コードの設定を変更してはいけません。

誤って上記のような操作を行った場合、プロジェクトマネージャと各プロジェクトの文字コードの設定に矛盾が生じ、そのプロジェ クトの管理するプログラムの翻訳・デバッグを正しく行うことができなくなります。 そのような事態が生じた場合、一度すべてのプロジェクトを閉じた上で、各プロジェクトを1つずつ開くことで元に戻すことができ ます。 NetCOBOL Studioを使用する場合 “NetCOBOL Studioユーザーズガイド”の“4.6 新規プロジェクトのデフォルト値”を参照してください。

3.1.3

翻訳コマンド

JEF オプションでは、以下に示すコマンド名となります。 COBOL32.EXE → COBOL32J.EXE COBOL32Jコマンドの形式は、COBOL32コマンドの形式と同じです。詳細については、“NetCOBOLユーザーズガイド”の“J.1 COBOL32 コマンド”を参照してください。

注意

以下に示すオプションはJEFオプションでは指定できません。

-v(各種情報を出力する指定)

3.1.4

注意事項

ソースプログラム中の1バイトコード文字において、ASCII/シフトJIS のソースプログラムをコンパイラが内部的にEBCDIC(カナ)/JEF コードに変換する場合に、別の文字に変換されるものがあります。

3.1

コード変換対応表

ASCII EBCDIC(カナ) ! (0x21) | (0x4F) [ (0x5B) £ (0x4A) ] (0x5D) ! (0x5A) ^ (0x5E) (0x5F) | (0x7C) (0x6A)

(15)

日本語利用者語を使用している場合、診断メッセージJMN1008I-Sが出力されることがあります。これは、以下の要因が重なること で発生します。

日本語利用者語として使用可能な文字の範囲 利用可能な日本語文字のすべてがCOBOLの日本語利用者語に使用できるわけではなく、次のような3つの集合に分けられ ます。 NetCOBOL JEFオプションの省略値はNCW(STD)であるため、(a)で示した集合に含まれない文字を日本語利用者語に使用 した場合、診断メッセージJMN1008I-Sを出力します。

文字コード変換 NetCOBOL JEFオプションでは次のように一度ソースプログラムをEBCDIC/JEFに変換してから、翻訳処理を行います。 このSJIS→JEFの変換方法は、使用可能文字数が「SJIS < JEF」(JEFの方でより多くの文字が使用できる)であることから1通り ではありません。

Interstage Charset Manageがインストールされている場合、変換方法(*1)を変更できますが、NetCOBOL JEFオプションのみの

場合は、SJIS(R90)→JEF、字形重視の変換になります。 変換方法の選択によっては、JIS第1/第2水準に含まれる文字が(b)の領域に含まれる文字に変換されるため、この問題の要 因になります。 例えば、83年JIS変更文字(246字)の変換では、SJIS(R90)→JEF、字形重視の場合は、246字のうち42字が(b)の領域に変換さ れ、SJIS(MS)→JEF、字形重視の場合は、246字すべてが(b)の領域に変換されます。また、領域重視の場合は、246字すべて が(a)の領域に変換されます。

(16)

この問題が発生した場合、利用可能な日本語利用者語の範囲を広げるか、文字コード変換の変換方法を変更することで解決 できます。

どちらを選択するかは文字データをどう扱いたいかによって決まります。次のような要件がある場合は、Interstage Charset Manager をインストールして、文字コード変換の変換方法を変更することで対応してください。

-

ホストシステムとの煩雑なデータ交換が必要である。

-

複数のシステム(OS)で運用するプログラムの開発をしている。

上記の要件がない場合、ソースプログラムを翻訳する際に翻訳オプションにNCW(SYS)を追加してください。

*1: 変換方法の詳細については、Interstage Charset Managerのマニュアルを参照してください。

3.2

リンクする

詳細は、“NetCOBOLユーザーズガイド”の“第4章 プログラムをリンクする”を参照してください。

リンクでは、特にJEF オプションを意識する必要はありません。

リンク時に使用するファイルのコード系を下表に示します。

リンカが使用するファイル コード系

ASCII/シフトJIS EBCDIC/JEF

モジュール定義ファイル ○ -

外から指定するファイルのファイル名は、すべてASCIIとなります。

外部名はASCIIになります。

3.3

プログラムを実行する

JEFオプションで作成したアプリケーションを実行するには、JEF 拡張漢字サポート がインストールされている必要があります。 詳細は、“NetCOBOLユーザーズガイド”の“第5章 プログラムを実行する”を参照してください。 なお、アプリケーションに外から(例えばACCEPT文などで)データを渡す場合の注意事項については、次章以降で説明します。

(17)

注意

実行単位内では、シフトJISを扱うアプリケーションおよびUnicodeを扱うアプリケーションとJEFアプリケーションを混在させて動作さ せることはできません。 以下の図のように、コード系が異なるDLLを呼び出した場合、実行時エラーになります。 また、JEFアプリケーションから異なるコード系のCOBOLファイルをアクセスした場合、実行結果は保障しません。

EBCDIC(カナ)/JEFコード対応のアプリケーションを実行する場合、データの入力では、拡張漢字や利用者定義文字などのJEF コードのみに存在する文字を指定することはできません。これらの文字をデータの代入や比較に使用したい場合には、対応する JEFコードを16進文字定数または日本語16進文字定数で指定してください。

3.3.1 GS

形式の実行時パラメータ

GS形式の実行時パラメータはコード系変換されます。

GS形式の実行時パラメータに英小文字が指定された場合、英大文字に自動的に変換されます。

(18)

4

COBOL

の機能を利用する

ここでは、JEFオプションでCOBOLの機能を利用する場合の注意事項について説明します。

4.1

入出力処理

詳細は、“NetCOBOLユーザーズガイド”の“第7章 ファイルの処理”を参照してください。

ファイルには、データがEBCDIC/JEFコード系で格納されます。 なお、ファイルユーティリティを使用することで、ファイルの内容を参照することができます。詳細については、ファイルユーティリティ のヘルプを参照してください。

行順ファイルは使用できません。

ASCII/シフトJIS コード系で作成したファイルをEBCDIC/JEFコード系のモードで読んだり、EBCDIC/JEFコード系で作成したファイ ルをASCII/シフトJIS コード系のモードで読んだりすることはできません。

COBOLファイル以外のファイルシステムは使用できません。

ファイルユーティリティの注意事項

ファイルユーティリティにおいて、選択したEBCDICコード系にない文字(EBCDIC(ASCII) における半角カタカナなど)をデータとして使 用しているASCIIコード系のファイルをコード変換した場合、EBCDICコード系にない文字はハイフン「-」に置き換えられます。

4.2

印刷処理

詳細は、“NetCOBOLユーザーズガイド”の“第8章 印刷処理”を参照してください。

英小文字を除くすべてのEBCDIC/JEFコード系の文字を印刷することができます。

表示/印刷のフォントは、JEFフォントが使用されるため、フォントの選択はできません。

印刷ファイル機能で使用できるJEFフォントは、明朝体とゴシック体です。

印刷データ中にバイナリコードが含まれないように注意してください。

印刷ファイルのレコード中に直接、デバイス制御コードを含んでいるプログラムの流通は保証されません。

印刷データをファイルに出力することはできません。指定されたプリンタに直接出力されます。

4.3

言語間結合

詳細は、“NetCOBOLユーザーズガイド”の“第10章 サブプログラムを呼び出す~プログラム間連絡機能~”を参照してください。

注意

C言語と言語間結合する上での注意 外部名は、ASCIIのため使用できます。ただし、パラメタとして引き渡されるデータの内容はEBCDIC/JEFコード系なので、必要ならば、 C言語側でコード系を変換してください。

4.4

小入出力機能

詳細は、“NetCOBOLユーザーズガイド”の“第11章 ACCEPT文およびDISPLAY文の使い方”を参照してください。

DISPLAY/ACCEPT文では、EBCDIC/JEFコード系の文字を入力したり、表示したりすることができます。ただし、JEF拡張文字は入

(19)

ACCEPT文に英小文字が入力された場合、対応する英大文字に変換されます。

フォントサイズを指定しない場合、画面上へのDISPLAY/ACCEPTは16ポイント文字となります。

DISPLAY 文におけるUPON CONSOLE指定

COBOL G のDISPLAY 文におけるUPON CONSOLE指定の機能は、NetCOBOL ではUPON SYSOUT に相当します。したがっ

て、ソースを移行する際には、CONSOLEをSYSOUTに書き換える必要があります。

翻訳オプションSSIN/SSOUTを指定し、入出力先をファイルとして、入出力を行うことはできません。

ACCEPT文の入力にシステムのコンソール(コマンドプロンプトウィンドウ)は使用できません。

4.5

ソート・マージ

詳細は、“NetCOBOLユーザーズガイド”の“第12章 SORT文およびMERGE文の使い方”を参照してください。 ソート・マージおよびファイルユーティリティで〔整列〕コマンドを使用する場合、PowerSORTが必要となります。

4.6

デバッグ機能(

TRACE,CHECK,COUNT

詳細は、“NetCOBOLユーザーズガイド”の“第21章 テスト支援機能”を参照してください。 TRACE情報ファイルおよびCOUNT 情報ファイルは、ASCII/シフトJIS コード系で格納されます。ファイルの内容は、エディタを使って 参照できます。

注意

COUNT機能を使用した場合、プログラム中に記述されている手続き名の文字がCOUNT情報に正しく出力されません。

CHECK機能では、以下の問題を検出することはできません。 CHECK(PRM) 外部プログラムを呼び出すCALL文に対するパラメタ不整合 CHECK(NUMERIC) 英数字項目または集団項目から、外部10進項目または内部10進項目へ転記される場合のデータ例外検査

4.7

デバッガ

詳細は、以下を参照してください。

NetCOBOL Studioのデバッグ機能:“NetCOBOL Studioユーザーズガイド”の“第7章 デバッグ機能”

対話型デバッガ:“NetCOBOLユーザーズガイド”の“第24章 対話型デバッガの使い方”

注意

対話型デバッガを使用する前に、プロジェクトマネージャの[環境]メニューの[文字コード]が、デバッグ対象であるプログラムを翻 訳した時の文字コードと同じであることを確認してください。文字コード選択方法は、“3.1.2 開発環境利用時の文字コードの切換 え方法”を参照してください

参考

「開始プログラムに到達する前に実行が終了しました。」というメッセージが表示された場合、デバッガ使用時の文字コードが対象 プログラムの翻訳時の文字コードと異なっている可能性があります。

(20)

対話型デバッガを利用した場合、デバッグ中のCOBOLの文の中に日本語が含まれていると、日本語を含む言語要素より後ろで、 中断位置や中断点を示すマークがソース表示とずれて見えます。

外字の扱いについて 操作履歴ファイルはASCII/シフトJIS コード系で格納されます。結果をエディタで参照できますが、外字は“□”となります。

[ラインコマンド入力]ウィンドウ、[条件監視の追加]ダイアログ、または[中断点]ダイアログで文字定数または日本語文字定数を入 力する場合に、JEF 拡張文字を指定することはできません。JEF 拡張文字を入力したい場合には、16進文字定数または日本語16 進文字定数で指定してください。

対話型デバッガの[データの表示/変更]ダイアログまたは[監視]ウィンドウでデータの値を変更する場合に、JEF拡張文字を入力 してもJEFシフトコードは自動的に挿入されません。必要な箇所にJEFシフトコードを挿入するようにしてください。

4.8

簡易アプリ間通信機能

詳細は、“NetCOBOLユーザーズガイド”の“第16章 通信機能”を参照してください。

実行環境情報の指定

JEF オプションのCOBOL コンパイラで生成されたオブジェクトで、簡易アプリ間通信機能を使用する場合は、実行環境情報に以下の 情報を必ず指定してください。

@CBR_CI_CODETYPE(オブジェクトのコード系の指定) @CBR_CI_CODETYPE=EBCDIC-KANA 実行環境情報に“@CBR_CI_CODETYPE”が指定されていないか、“EBCDIC-KANA”が省略されている場合、オブジェクトのコー ド系はASCII コードと見なされ、実行時エラーが発生します。

エラーコード

JEF オプションでは、以下のエラーコードが追加されます。 [対象関数の記号の意味]

O:COBCI_OPEN関数 C:COBCI_CLOSE関数 R:COBCI_READ関数 W:COBCI_WRITE関数

エラー コード 詳細 コード 意味 処置 対象関数 O C R W 9 XXXX EBCDIC→ASCII 変換エラー 詳細コードXXXXは、JEF拡張漢字 サポートのコード変換関数のエラー コードを示しています。 コードの詳細は、JEF拡張漢 字サポートのエラーコードを 参照してください。 ○ ○ ○ - 13 XXXX システム間通信異常が発生しまし た。詳細コードXXXXは、Windows Sockets関数のエラーコードを示し ています。(注) コンパイラの生成したオブ ジェクトのコード系と "@CBR_CI_CODETYPE" の指定が異なっていないか 確認してください。コードの詳 細は、Sockets関数のエラー コードを参照してください。 ○ - - - 15 3845 JEF変換モジュールのロードに失敗 しました。 JEF 拡張漢字サポートがイン ストールされているか確認し てください。 ○ ○ ○ - 3846 @CBR_CI_CODETYPEの指定に 誤りがあります。 "EBCDIC-KANA"が指定さ れているか確認してください。 ○ - - - ○:通知される

(21)

注)詳細コードについては、“NetCOBOL ユーザーズガイド”の“I.7.2 簡易アプリ間通信のサブルーチンのエラーコード”を参照してく ださい。

4.9

データベースアクセス機能

(SQL)

詳細は、“NetCOBOLユーザーズガイド”の “第15章 リモートデータベースアクセス”を参照してください。

4.9.1

概要

データベースに関する運用環境の概要について、以下に示します。

4.1

運用環境

*1: 動作を確認しているデータベースについては、本体製品の“ソフトウェア説明書”を参照してください。

4.9.2

実行時の変更点および注意点

コネクション情報に指定するユーザID/パスワードは、英数字項目です。この項目に対して、英小文字の情報を設定することはで きません。

ODBC経由のリモートデータベースアクセス(SQL) 機能の場合には、データベースアクセスのためにODBC情報ファイルを使用し ていました。

JEF オプションでは、DP/CライブラリのRDA 機能を経由してアクセスします。また、データベースアクセスのためにDPCLIB情報ファ

イルを使用します。 DPCLIB情報ファイルは、ODBC情報ファイルと同じ形式です。ただし、次の情報のみが、DPCLIB情報ファイルに指定できます。

データソース名

ユーザID

パスワード

サーバ名 また、次の情報は、ODBC環境の場合のデータソースが、DP/CライブラリのRDA 環境のサーバ名となるため、意味が変更となりま す。

データソース名 => サーバ名

実行環境情報の指定方法 ODBC経由のリモートデータベースアクセス(SQL) 機能の場合には、次の実行環境情報にODBC情報ファイルの名前を指定して いました。 @ODBC_Inf=ODBC情報ファイル名

(22)

@CBR_DPCLIB_Inf=DPCLIB情報ファイル名

以下は使用できません。

ストアドプロシージャの呼び出し(CALL文)

複数列指定ホスト変数、複数行指定ホスト変数および表指定ホスト変数

ホスト変数に対するREDEFINES句指定

SQLERRD、ならびにSQLCAに含まれるSQLSTATE、SQLCODE

FOR句

FETCH FIRST/LAST/NEXT/PRIOR文

データベース(SQL)機能のリモートデータベースアクセス(DP/Cライブラリ RDA 機能経由)の場合においては次の点に注意してく ださい。 更新系カーソルをOPEN文によりオープンした後、FETCH文によるデータ処理を行わないままUPDATE文(位置づけ)を使用した 場合、サーバ側でカーソルを閉じる処理が行われます。このため、このような場合に、CLOSE文によりカーソルをクローズしようとす るとエラーが発生します。

4.10

イベントログ出力サブルーチン

詳細は、“NetCOBOLユーザーズガイド”の“I.2.9 COB_REPORT_EVENT(イベントログ出力サブルーチン)”を参照してください。 RETURNING句は記述できません。サブルーチンからの復帰コードは特殊レジスタ PROGRAM-STATUSで参照できます。

(23)

付録

A

翻訳オプション

詳細は、“NetCOBOLユーザーズガイド”の“付録A 翻訳オプション”を参照してください。

A.1

指定が無効になるオプション

以下に示す翻訳オプションを指定すると、WまたはEレベルのメッセージが出力され、指定が無効になります。 オプション 指定した場合の扱い ALPHAL NOALPHALが指定されたものとみなされます。 ASCOMP5 JEFオプションでは意味を持ちません。 BINARY BINARY(WORD,MLBON)が指定されたものとみなされます。 CHECK サプオペランドを同時に複数指定することはできません。 CONVCHAR JEFオプションでは意味を持ちません。 DNTB JEFオプションでは意味を持ちません。 DUPCHAR JEFオプションでは意味を持ちません。 ENCODE JEFオプションでは意味を持ちません。 INITVALUE JEFオプションでは意味を持ちません。 NSP JEFオプションでは意味を持ちません。 NSPCOMP NSPCOMP(NSP)が指定されたものとみなされます。 RCS JEFオプションでは意味を持ちません。 REP/REPIN JEFオプションでは意味を持ちません。 SCS JEFオプションでは意味を持ちません。 SHREXT NOSHREXTが指定されたものとみなされます。 SQLGRP NOSQLGRPが指定されたものとみなされます。 THREAD THREAD(SINGLE)が指定されたものとみなされます。

A.2

省略値が

Windows 32bit

NetCOBOL

と異なるオプション

以下に示す翻訳オプションは省略値がWindows 32bit版 NetCOBOLと異なります。

オプション 省略値 RSV RSV(V125): COBOL85 V12L50用 なお、RSV(V125)以降の予約語集合名は指定しないでください。

A.3

使用できないオプション

以下に示す翻訳オプションはJEFオプションではサポートしていないため、使用しないでください。

MAP

(24)

付録

B

メッセージ

JEFオプションが出力するメッセージは、本体製品の“NetCOBOL メッセージ集”を参照してください。 また、JEFオプションでは以下のメッセージが追加されています。

B.1

翻訳時メッセージ

LANパック環境において異常が発生しました. 'NOUSFILE'.

システムの処理

翻訳処理を終了させます。

プログラマーの処置

製品のインストール環境に誤りがあります。以下を確認してください。

JEFオプションが正しくインストールされているか。

JEFオプションとNetCOBOL本体製品のVLの組合せが正しいか。

B.2

実行時メッセージ

JMP0080I-U JEF拡張漢字サポートが使用できません.'$1'. CODE=$2.

システムの処置

プログラムを異常終了させます。

プログラマーの処置

拡張漢字サポートのDLL名($1) を参考に環境を確認してください。または、$2に設定されたエラーコードを参考にエラーの原因を 取り除き、再度実行してください。 エラーコードの詳細は、“NetCOBOL メッセージ集”の“付録A システムのエラーコードの説明”を参照してください。

JMP0081I-U

実行環境内に異なるコード系のプログラムが存在します.

'$1'.

メッセージ説明の見出しを書きます。

本文を書きます。

システムの処置

プログラムを異常終了させます。

プログラマーの処置

プログラム($1)の動作コード系を確認し、実行環境内で動作するプログラムのコード系を統一してください。

JMP0082I-U 文字コードの変換に失敗しました.STM='$1'. FUNC='$2'. CODE='$3'.

システムの処置

プログラムを異常終了させます。

プログラマーの処置

表示された文字列を参考にエラーの原因を取り除き、再度実行してください。 なお、$1~$3には以下の情報が設定されます。

$1: エラーが発生したCOBOLの文を示す文字列

$2: JEF 拡張漢字サポートのコード変換関数の種別

(25)

$3: JEF 拡張漢字サポートからのエラーコード $1 エラーの内容 プログラマーの処置 CALL 動的プログラム構造でのCALL文または CANCEL文に指定されたプログラム名のコード 変換でエラーが発生しました。 JEF拡張漢字サポートのユーザーズマ ニュアルの説明から原因を調査してく ださい。 DISPLAY DISPLAY文に指定された文字のコード変換で エラーが発生しました。 EXPRM GS形式の実行時パラメータのコード変換でエ ラーが発生しました。 STOP STOP文に指定された定数のコード変換でエラー が発生しました。

JMP0083I-U NetCOBOL JEFオプションがインストールされていません.

システムの処置

プログラムを異常終了させます。

プログラマーの処置

製品のインストール環境に誤りがあります。以下を確認してください。

JEFオプションまたは JEF オプション運用パッケージが正しくインストールされているか。

JEFオプションとNetCOBOL本体製品のVLの組合せが正しいか。

B.3

追加される項目

実行時メッセージの“ JMP0310I-I/Uの$3の内容”および“JMP0320I-I/Uの$3の内容”に以下が追加されます。 $3 (文字列) エラーの内容 プログラマーの処置 CNVER=xxxx JEF 拡張漢字サポートからのエラーコードを示しま す。 JEF拡張漢字サポートのユーザーズマ ニュアルの説明から原因を調査し対処し てください。

実行時メッセージの“JMP0613I-I/U”の“プログラマーの処置”に、以下の項目が追加されます。

$2にエラーコードが出力されていない場合、PowerSORT が正しくインストールされているか確認してください。

(26)

付録

C

サンプルプログラム

JEFオプションでは、JEFコードを使用して文字を表示・印刷するサンプルプログラムを提供しています。

SAMPLEJ1(例題J1 JEFコードを使用しての表示/印刷) 詳細は、SAMPLEJ1.TXTを参照してください。

SAMPLEJ2(例題J2 MeFt経由でのJEFコードによる文字の表示/印刷) 詳細は、SAMPLEJ2.TXTを参照してください

C.1 JEF

オプションで使用できる

Windows 32bit

NetCOBOL

のサンプ

サンプルの詳細は、Windows 32bit版 NetCOBOLの“入門ガイド”の“第6章 サンプルプログラム”を参照してください。

Sample08 印刷ファイルを使ったプログラム そのまま使用できます。

Sample09 印刷ファイルを使ったプログラム(応用編) 出力フォントにゴシック体を使用する場合は、JEFゴシックフォントがインストールされている必要があります。詳細は、本製品に同 梱される“ソフトウェア説明書”を参照してください。

Sample11 データベース機能を使ったプログラム 以下の設定が必要となります。詳細は、本書の“4.9 データベースアクセス機能(SQL)”を参照してください。 @CBR_DPCLIB_Inf=DPCLIB情報ファイル名 また、以下のようにホスト変数の定義およびFETCH文に対して、プログラムの変更が必要となります。 [変更前] 01 在庫表. 02 製品番号 PIC S9(4) COMP-5. 02 製品名 PIC X(20). 02 在庫数量 PIC S9(9) COMP-5. 02 倉庫番号 PIC S9(4) COMP-5. :

EXEC SQL FETCH CUR1 INTO :在庫表 END-EXEC :

EXEC SQL FETCH CUR1 INTO :在庫表 END-EXEC [変更後] 01 製品番号 PIC S9(4) COMP-5. 01 製品名 PIC X(20). 01 在庫数量 PIC S9(9) COMP-5. 01 倉庫番号 PIC S9(4) COMP-5. : EXEC SQL FETCH CUR1 INTO :製品番号,:製品名,:在庫数量,:倉庫番号 END-EXEC. : EXEC SQL FETCH CUR1 INTO :製品番号,:製品名,:在庫数量,:倉庫番号 END-EXEC.

(27)

Sample29 簡易アプリ間通信機能を使ったメッセージ通信

以下の設定が必要となります。詳細は、本書の“4.8 簡易アプリ間通信機能”を参照してください。

(28)

索 引

[] C言語と言語間結合する...13 [数字] 16進定数...7 [記号] @CBR_CI_CODETYPE...15,22 @CBR_DPCLIB_Inf...17,21 @ODBC_Inf...16 [A] ACCEPT文...14 ALPHABET句...6 ALPHAL...18 ASCII/シフトJIS コード系...1 [B] BINARY...18 Btrieve...1 [C] CHECK機能...14 COBOL32Jコマンド...9 CODE-SET句...7 COUNT機能...14 [D] DPCLIB情報ファイル...16 DISPLAY 文...14 DP/Cライブラリ...16 [E] EBCDIC-KANA...15 EBCDIC(カナ)/JEF...6 [F] FOR句...17 [G] GS/K/Gシリーズ...1 GS形式の実行時パラメータ...12 [I] Interstage Charset Manager...1

[J] JEF 拡張漢字サポート...2,11 JIS8単位/シフトJISコード...6 [N] NSPCOMP...18 [O] ODBC経由のリモートデータベースアクセス(SQL) 機能...16 ODBC情報ファイル...16 [P] PROGRAM-STATUS...17 [R] RCS...18 RDA 機能...16 REP...18 REPIN...18 RSV...18 [S] SHREXT...18 Sockets関数...15 SQLERRD...17 SQLGRP...18 SSIN...14 SSOUT...14 [T] THREAD...18 TRACE機能...14 [あ] イベントログ出力サブルーチン...17 印刷処理...13 エラーコード...15 オブジェクト指向機能...1 [か] 外字...1 外字の扱い...15 開発環境...1 開発環境利用時の文字コードの切換え方法...8 外部名...13 型の異なる項目の再定義...7 画面、帳票機能...2 簡易アプリ間通信機能...15 行順ファイル...13 空白コード...6 言語間結合...13 コネクション情報...16 [さ] サンプルプログラム...21 実行...11 指定が無効になるオプション...18 小入出力機能...13 省略値がNetCOBOLと異なるオプション...18 ストアドプロシージャの呼び出し...17 制限となる機能...3 ソート...14 [た] デバッガ...14 デバイス制御コード...13 デバッグ機能...14 データベースアクセス機能(SQL)...16

(29)

[な] 入出力処理...13 [は] 表示/印刷のフォント...13 表指定ホスト変数...17 ファイル識別名定数...7 ファイルユーティリティ...13 複数行指定ホスト変数...17 複数列指定ホスト変数...17 プログラムの記述に使用できない文字...6 プロジェクトマネージャ...6 翻訳...8 翻訳オプション...18 翻訳コマンド...9 翻訳時に使用するファイルのコード系...8 [ま] マージ...14 メッセージ...19 文字の大小順序...6 [ら] リンク...11 リンク時に使用するファイルのコード系...11

参照

関連したドキュメント

In the special case of a Boolean algebra, the resulting SJB is orthogonal with respect to the standard inner product and, moreover, we can write down an explicit formula for the

The structure of a Hopf operad is defined on the vector spaces spanned by forests of leaf-labeled, rooted, binary trees.. An explicit formula for the coproduct and its dual product

It is evident from the results that all the measures of association considered in this study and their test procedures provide almost similar results, but the generalized linear

It is easy to prove that B X (D) is a semigroup with respect to the operation of multiplication of binary relations, which is called a complete semigroup of

We see that simple ordered graphs without isolated vertices, with the ordered subgraph relation and with size being measured by the number of edges, form a binary class of

Our experimental setting consists of (i) a simpler, more intuitive format for storing binary trees in files; (ii) save/load routines for generating binary trees to files and

A nonempty binary tree can also be regarded as a rooted directed tree graph (arborescence) where the outgoing arcs of each node are labeled by distinct labels from the set { L, R

→ in bijection with Binary trees through the binary search tree insertion algorithm. Viviane Pons A lattice on decreasing trees: the