ユーザーズガイド - Fujitsu...

873
B1WD-3463-01Z0(00) 201710Windows(64) FUJITSU Software NetCOBOL V12.0 ユーザーズガイド

Transcript of ユーザーズガイド - Fujitsu...

  • B1WD-3463-01Z0(00)2017年10月

    Windows(64)

    FUJITSU SoftwareNetCOBOL V12.0

    ユーザーズガイド

  • まえがきこのたびは、NetCOBOLをお買い上げいただき、誠にありがとうございます。NetCOBOLは、Windowsシステムで動作するアプリケーションを開発するCOBOL開発システムです。

    NetCOBOLシリーズについて

    NetCOBOLシリーズの最新情報については、富士通のサイトをご覧ください。

    http://www.fujitsu.com/jp/software/cobol/

    登録商標について

    ・ Microsoft、Windows、Windows Server、Visual C++、Visual Basic、SQL Server、ActiveXは、米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

    ・ UNIXは、米国およびその他の国におけるオープン・グループの登録商標です。

    ・ OracleとJavaは、Oracle Corporationおよびその子会社、関連会社の米国およびその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。

    ・ HP、HP-UXは、米国Hewlett-Packard Companyの商標です。

    ・ Micro Focus、Micro Focus COBOLおよびMicro Focus COBOL/2は、Micro Focus International Limitedの登録商標または商標です。

    ・ Linuxは、Linus Torvalds氏の米国およびその他の国における登録商標または商標です。

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

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

    製品の呼び名について

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

    正式名称 略称

    Microsoft(R) Windows Server(R) 2016 Datacenter

    Microsoft(R) Windows Server(R) 2016 Standard

    Microsoft(R) Windows Server(R) 2016 Essentials

    Windows Server 2016

    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 Datacenter

    Microsoft(R) Windows Server(R) 2008 R2 Enterprise

    Microsoft(R) Windows Server(R) 2008 R2 Standard

    Microsoft(R) Windows Server(R) 2008 R2 Foundation

    Windows Server 2008 R2

    または

    Windows Server 2008

    Windows(R) 10 Education

    Windows(R) 10 Home

    Windows(R) 10 Pro

    Windows 10

    または

    Windows 10 (x64)

    - i -

  • 正式名称 略称

    Windows(R) 10 Enterprise

    Windows(R) 8.1

    Windows(R) 8.1 Pro

    Windows(R) 8.1 Enterprise

    Windows 8.1

    または

    Windows 8.1 (x64)

    Windows(R) 7 Home Premium

    Windows(R) 7 Professional

    Windows(R) 7 Enterprise

    Windows(R) 7 Ultimate

    Windows 7

    または

    Windows 7(x64)

    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

    PowerSORT Server

    PowerSORT Workstation

    PowerSORT

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

    - Windows Server 2016

    - Windows Server 2012 R2

    - Windows Server 2012

    - Windows Server 2008 R2

    - Windows 10

    - Windows 8.1

    - Windows 7

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

    - Windows Server 2016

    - Windows Server 2012 R2

    - Windows Server 2012

    - Windows Server 2008 R2

    - Windows 10(x64)

    - Windows 8.1(x64)

    - Windows 7(x64)

    本書の目的

    本書は、NetCOBOLを利用したCOBOLプログラムの作成、そのプログラムの実行およびデバッグの方法について説明しています。

    また、NetCOBOLを使用したオブジェクト指向プログラミング機能についても説明しています。

    COBOLの文法規則については、“COBOL文法書”をお読みください。

    本書の対象読者

    本書は、NetCOBOLを利用してCOBOLプログラムを開発される方を対象としています。

    - ii -

  • 前提知識

    本書を読むにあたって、以下の知識が必要です。

    ・ COBOLの文法に関する基本的な知識

    ・ Windowsに関する基本的な知識

    本書の構成

    本書の構成と内容は、以下のとおりです。

    第1部 NetCOBOLとは

    第1章 NetCOBOLの概要

    NetCOBOLの機能および動作環境について説明しています。

    第2部 プログラムの編集から翻訳・リンク・実行まで

    第2章 プログラムを作成・編集する

    COBOLプログラムの書き方について説明しています。

    第3章 プログラムを翻訳する

    COBOLプログラムを翻訳する方法について説明しています。

    第4章 プログラムをリンクする

    COBOLプログラムをリンクする方法について説明しています。

    第5章 プログラムを実行する

    翻訳・リンクしたCOBOLプログラムを実行する方法について説明しています。

    第3部 アプリケーションの開発と運用

    第6章 文字コード

    NetCOBOLの文字コード系の扱いについて説明しています。

    第7章 ファイルの処理

    ファイルを使用する方法について説明しています。

    第8章 印刷処理

    データや帳票を印刷する方法について説明しています。

    第9章 画面を使った入出力

    画面を使ってデータのやりとりを行う方法について説明しています。

    第10章 サブプログラムを呼び出す~プログラム間連絡機能~

    プログラムからプログラムを呼び出す方法について説明しています。

    第11章 ACCEPT文およびDISPLAY文の使い方

    ACCEPT文およびDISPLAY文を使った機能について説明しています。

    第12章 SORT文およびMERGE文の使い方~整列併合機能~

    SORT文およびMERGE文を使って整列併合(ソート・マージ)を行う方法について説明しています。

    第13章 CSV形式データの操作

    CSV形式データを操作する方法について説明しています。

    第14章 システムプログラムを記述するための機能~SD機能~

    システムプログラムを記述する場合に有効となる機能について説明しています。

    第15章 リモートデータベースアクセス

    リモートデータベースアクセスについて説明しています。

    - iii -

  • 第16章 オブジェクト指向プログラミング機能

    オブジェクト指向プログラミングについて説明しています。

    第4部 サーバサイドアプリケーションの開発と運用

    第17章 サーバ・タイプのアプリケーション

    Web環境で動作可能なCOBOLアプリケーションの作成方法とバックグラウンドで動作させる際のCOBOLのGUIの抑止方法について説明しています。

    第18章 マルチスレッド

    マルチスレッドプログラムについて説明しています。

    第5部 テスト支援機能/デバッグ支援機能

    第19章 テスト支援機能

    NetCOBOLのテスト支援機能について説明しています。

    第20章 デバッグ支援機能

    NetCOBOLのデバッグ支援機能について説明しています。

    付録A 翻訳オプション

    COBOLコンパイラに与える翻訳オプションについて説明しています。

    付録B 翻訳リスト

    COBOLコンパイラが出力する翻訳リストについて説明しています。

    付録C 環境変数情報

    環境変数情報について説明しています。

    付録D 入出力状態一覧

    入出力文を実行したときに返却される入出力状態を示す値およびその意味について説明しています。

    付録E 定量制限

    NetCOBOLの定量制限について説明しています。

    付録F 広域最適化

    COBOLコンパイラが翻訳時に行う最適化の内容について説明しています。

    付録G 特殊な定数および利用者語の書き方

    システム固有の各種定数の書き方について説明しています。

    付録H 関数

    NetCOBOLで使用できる関数について説明しています。

    付録I サブルーチン

    NetCOBOLが提供するサブルーチンについて説明しています。

    付録J コマンド

    NetCOBOLが提供するコマンドついて説明しています。

    付録K OSIV系システムとの機能比較

    OSIV系システムのCOBOL85と本システムのNetCOBOLの機能比較について説明しています。

    付録L 文字コードの留意点

    文字コード系について概要を説明しています。

    付録M セキュリティ

    セキュリティについて概要を説明しています。

    - iv -

  • 付録N 浮動小数点の形式

    内部浮動小数点項目の内部表現形式および浮動小数点を使った演算の注意事項について説明します。

    本書の位置付け

    本書の説明に使用している関連製品について、詳細な情報を知りたい方は、以下のマニュアルまたはヘルプをお読みください。

    マニュアル名称 (注1) 製品名 使用目的

    FORM ユーザーズガイドFORMヘルプ (注2)PowerFORMヘルプ (注2)

    FORM FORMオーバレイオプション(オプション製品)

    画面帳票定義体およびフォームオーバレイパター

    ンの作成

    MeFt ユーザーズガイド MeFt 帳票定義体を使用したプログラムの実行

    MeFt/Web ユーザーズガイド MeFt/Web (コンポーネント) (注3) 画面帳票定義体を使用したプログラムのWeb環境でのリモート実行

    Jアダプタクラスジェネレータ ユーザーズガイド

    Jアダプタクラスジェネレータ(コンポーネント) (注3)

    COBOLプログラムからJavaのクラスを利用するためのアダプタクラスの生成

    NetCOBOL Studio ユーザーズガイド 64ビットWindowsで動作するNetCOBOLシリーズ製品

    NetCOBOL Studioを使用したCOBOLアプリケーションの開発

    PowerSORT Serverユーザーズガイド PowerSORT PowerSORTを使用した整列併合を行うプログラムの実行

    注1 : マニュアル名称は、製品の適応機種およびバージョンレベルによって異なります。なお、本文中では、バージョンレベルは記載されていません。

    注2 : ヘルプまたはオンラインマニュアルは、各製品の中にあります。

    注3 : NetCOBOLシリーズに同梱されています。

    注意

    各製品に含まれるマニュアル一覧は、“ソフトウェア説明書”を参照してください。

    “ソフトウェア説明書”で組合せが可能とされている旧バージョンレベル製品については、旧バージョンレベルのマニュアルをお読みください。

    本書で使用する書体と記号

    書体および記号 意味

    [参照] 参照先を示します。

    → 操作結果を示します。

    あいうえお プログラム例中で、可変文字列を示します。可変文字列は、実際には

    他の文字列に置き換えます。

    例: PROGRAM-ID. プログラム名.

    → PROGRAM-ID. SAMPLE1.

    または

    {あい|うえお}

    { }で囲まれた文字列の1つを選択することを示します。省略した場合、“_”(アンダーライン)の文字列が選択されたものとして扱われ

    ます。

    [ あいうえお ] [ ] で囲まれた文字列は省略できることを示します。

    - v -

  • その他の注意事項

    ・ 本書に記載されている画面は、使用されているシステムにより、実際の画面と異なる場合がありますので注意してください。

    ・ 本書では、“COBOL文法書”で“原始プログラム”と記述されている用語を“ソースプログラム”と記述しています。

    ・ OSIV/MSP、OSIV/XSPなどのOSIV系システムを総称して、“OSIV系システム”と記述しています。

    輸出管理について

    本ドキュメントを輸出または第三者へ提供する場合は、お客様が居住する国および米国輸出管理関連法規等の規制をご確認のうえ、必要

    な手続きをおとりください。

    2017年10月

    Copyright 2009-2017 FUJITSU LIMITED

    All Rights Reserved,Copyright(C) Microsoft Corporation. 2009-2017

    謝辞COBOLの言語仕様は,データシステムズ言語協議会(COnference on DAta SYstems Languages)の作業によって開発された原仕様に基づくものであり,本書で記述される仕様もまたそれに由来する.データシステムズ言語協議会の要求によって,以下の文章を掲げる.

    COBOLは産業界の言語であって,いかなる会社,組織,団体等の占有物でもない.COBOLの委員会は,このプログラミング方式及び言語の正確さと機能について,いかなる保証を与えるものでもなく,またそれに関連して,いかなる責任を負うものでもない.

    次に示す著作権者は,原仕様書の作成に当たって,それぞれの著作物の一部分を利用することを承認した.この承認は,原仕様書をほかのCOBOLの仕様書で利用する場合にまで拡張されるものである.

    ・ FLOW-MATIC(スペリランド社の商標),Programming for the Univac(R) I and II, Data Automation Systems,スペリランド社 1958年,1959年,著作権.

    ・ IBM Commercial Translator,図書番号 F28-8013,IBM社 1959年,著作権.

    ・ FACT,図書番号 27A5260-2760,ミネアポリスハニウェル社1960年,著作権.

    - vi -

  • 目 次第1部 NetCOBOLとは...............................................................................................................................................................1

    第1章 NetCOBOLの概要.......................................................................................................................................................... 21.1 NetCOBOLの機能.............................................................................................................................................................................. 2

    1.1.1 COBOLの機能............................................................................................................................................................................. 21.1.2 NetCOBOLが提供するプログラムおよびユーティリティ............................................................................................................. 2

    1.2 開発環境............................................................................................................................................................................................. 31.2.1 環境変数の設定...........................................................................................................................................................................41.2.2 関連製品...................................................................................................................................................................................... 71.2.3 資源一覧...................................................................................................................................................................................... 8

    1.3 プログラム開発.................................................................................................................................................................................... 91.3.1 NetCOBOL Studioを利用した開発..............................................................................................................................................91.3.2 開発環境を利用しない開発...................................................................................................................................................... 10

    1.4 リモート開発.......................................................................................................................................................................................10

    第2部 プログラムの編集から翻訳・リンク・実行まで...................................................................................................................12

    第2章 プログラムを作成・編集する........................................................................................................................................... 132.1 プログラムの作成...............................................................................................................................................................................13

    2.1.1 COBOLソースプログラムの作成/編集.......................................................................................................................................132.1.2 登録集原文の作成/編集............................................................................................................................................................142.1.3 プログラムの形式........................................................................................................................................................................142.1.4 翻訳指示文................................................................................................................................................................................ 15

    第3章 プログラムを翻訳する.................................................................................................................................................... 163.1 サンプルプログラムの翻訳................................................................................................................................................................163.2 翻訳に必要な資源............................................................................................................................................................................ 163.3 翻訳の手順........................................................................................................................................................................................193.4 翻訳コマンド...................................................................................................................................................................................... 19

    第4章 プログラムをリンクする...................................................................................................................................................204.1 サンプルプログラムのリンク...............................................................................................................................................................204.2 リンクに必要な資源........................................................................................................................................................................... 20

    4.2.1 リンクコマンドが使用するファイル.............................................................................................................................................. 204.2.2 実行可能ファイル....................................................................................................................................................................... 214.2.3 DLL(ダイナミックリンクライブラリ............................................................................................................................................... 214.2.4 インポートライブラリ.................................................................................................................................................................... 21

    4.3 プログラム構造.................................................................................................................................................................................. 214.3.1 静的構造.................................................................................................................................................................................... 224.3.2 動的構造.................................................................................................................................................................................... 224.3.3 プログラム構造とCALL文の書き方および翻訳オプションの関係........................................................................................... 234.3.4 プログラム構造とCANCEL文の関係.........................................................................................................................................23

    4.4 リンクコマンドを使ったリンク操作...................................................................................................................................................... 244.4.1 LINKコマンド..............................................................................................................................................................................244.4.2 リンクコマンドの使用例...............................................................................................................................................................244.4.3 インポートライブラリの結合.........................................................................................................................................................264.4.4 注意事項.................................................................................................................................................................................... 29

    4.4.4.1 目的プログラムの混在について......................................................................................................................................... 294.4.4.2 DLLの作成について...........................................................................................................................................................30

    第5章 プログラムを実行する.................................................................................................................................................... 315.1 サンプルプログラムの実行................................................................................................................................................................315.2 実行の手順........................................................................................................................................................................................325.3 実行環境情報の設定........................................................................................................................................................................32

    5.3.1 実行環境情報の種類.................................................................................................................................................................325.3.2 実行環境情報の設定方法.........................................................................................................................................................32

    5.4 プログラムの実行...............................................................................................................................................................................33

    - vii -

  • 5.4.1 コマンドラインから実行する........................................................................................................................................................345.4.2 バッチファイルを使用する..........................................................................................................................................................355.4.3 サービス配下での注意事項(実行時)...................................................................................................................................... 36

    5.5 実行用の初期化ファイル.................................................................................................................................................................. 375.5.1 実行用の初期化ファイルとは.....................................................................................................................................................375.5.2 実行用の初期化ファイルの内容............................................................................................................................................... 375.5.3 実行用の初期化ファイルの検索順序....................................................................................................................................... 395.5.4 DLL配下にある実行用の初期化ファイルを使用する.............................................................................................................. 405.5.5 主プログラムが他言語の場合の実行用の初期化ファイル名の指定方法............................................................................... 42

    5.5.5.1 主プログラムがCプログラムの場合..................................................................................................................................... 425.5.5.2 主プログラムがVisual Basicプログラムの場合....................................................................................................................42

    5.6 エントリ情報....................................................................................................................................................................................... 435.6.1 エントリ情報とは..........................................................................................................................................................................435.6.2 エントリ情報の指定方法.............................................................................................................................................................435.6.3 エントリ情報の形式.....................................................................................................................................................................44

    5.6.3.1 副プログラム名の指定形式.................................................................................................................................................445.6.3.2 二次入口点名の指定形式..................................................................................................................................................44

    5.6.4 エントリ情報ファイルの内容....................................................................................................................................................... 455.6.5 エントリ情報ファイル名の指定................................................................................................................................................... 455.6.6 実行用の初期化ファイルに含まれるエントリ情報の内容......................................................................................................... 455.6.7 エントリ情報の設定例.................................................................................................................................................................46

    5.7 実行環境設定ツール........................................................................................................................................................................ 505.7.1 環境変数情報の設定.................................................................................................................................................................51

    5.7.1.1 実行用の初期化ファイルのオープン................................................................................................................................. 515.7.1.2 環境変数情報の追加..........................................................................................................................................................525.7.1.3 環境変数情報の変更..........................................................................................................................................................525.7.1.4 環境変数情報の取消し.......................................................................................................................................................525.7.1.5 実行用の初期化ファイルのクローズ...................................................................................................................................52

    5.7.2 エントリ情報の設定.....................................................................................................................................................................535.7.3 実行用の初期化ファイルへの保存........................................................................................................................................... 535.7.4 プリンタの設定............................................................................................................................................................................535.7.5 実行環境設定ツールの終了..................................................................................................................................................... 53

    5.8 実行時オプション.............................................................................................................................................................................. 535.9 注意事項........................................................................................................................................................................................... 55

    5.9.1 COBOLプログラムの実行時にスタックオーバフローが発生する場合.....................................................................................555.9.2 COBOLプログラムの実行時に仮想メモリ不足が発生する場合.............................................................................................. 585.9.3 32ビットWindowsで動作するアプリケーションの呼び出しについて.........................................................................................59

    第3部 アプリケーションの開発と運用........................................................................................................................................ 60

    第6章 文字コード..................................................................................................................................................................... 616.1 文字コードの概念..............................................................................................................................................................................616.2 文字コードの指定..............................................................................................................................................................................63

    6.2.1 文字データのエンコード............................................................................................................................................................ 636.2.2 エンコードの指定....................................................................................................................................................................... 646.2.3 翻訳オプションによるエンコードの指定.................................................................................................................................... 656.2.4 実行時コード系.......................................................................................................................................................................... 656.2.5 資源............................................................................................................................................................................................ 66

    6.3 言語要素........................................................................................................................................................................................... 696.3.1 異なるエンコード間の比較.........................................................................................................................................................696.3.2 異なるエンコード間の転記.........................................................................................................................................................696.3.3 代替文字.................................................................................................................................................................................... 706.3.4 字類条件.................................................................................................................................................................................... 70

    6.4 UTF-32エンコードを使用できない機能............................................................................................................................................706.5 実行時の注意点................................................................................................................................................................................70

    6.5.1 フォントについて.........................................................................................................................................................................706.6 関連製品連携................................................................................................................................................................................... 71

    6.6.1 FORM、MeFt..............................................................................................................................................................................71

    - viii -

  • 6.6.2 他言語間結合............................................................................................................................................................................ 736.6.3 他のファイルシステム................................................................................................................................................................. 746.6.4 プリコンパイラ..............................................................................................................................................................................746.6.5 リモートデータベースアクセス(ODBC).....................................................................................................................................746.6.6 Interstage Business Application Server...................................................................................................................................... 746.6.7 Interstage Application Server..................................................................................................................................................... 756.6.8 Interstage Job Workload Server..................................................................................................................................................75

    第7章 ファイルの処理.............................................................................................................................................................. 767.1 ファイルの種類.................................................................................................................................................................................. 76

    7.1.1 ファイルの種類と特徴................................................................................................................................................................ 767.1.2 レコードの設計........................................................................................................................................................................... 79

    7.1.2.1 レコード形式........................................................................................................................................................................ 797.1.2.2 索引ファイルのレコードキー............................................................................................................................................... 79

    7.1.3 ファイルの処理方法................................................................................................................................................................... 797.1.4 Unicodeデータの扱い................................................................................................................................................................ 80

    7.2 レコード順ファイルの使い方............................................................................................................................................................. 817.2.1 レコード順ファイルの定義..........................................................................................................................................................817.2.2 レコード順ファイルのレコードの定義.........................................................................................................................................827.2.3 レコード順ファイルの処理..........................................................................................................................................................84

    7.3 行順ファイルの使い方...................................................................................................................................................................... 857.3.1 行順ファイルの定義................................................................................................................................................................... 857.3.2 行順ファイルのレコードの定義.................................................................................................................................................. 857.3.3 行順ファイルの処理................................................................................................................................................................... 86

    7.4 相対ファイルの使い方...................................................................................................................................................................... 897.4.1 相対ファイルの定義................................................................................................................................................................... 907.4.2 相対ファイルのレコードの定義.................................................................................................................................................. 917.4.3 相対ファイルの処理................................................................................................................................................................... 92

    7.5 索引ファイルの使い方...................................................................................................................................................................... 957.5.1 索引ファイルの定義................................................................................................................................................................... 957.5.2 索引ファイルのレコードの定義.................................................................................................................................................. 977.5.3 索引ファイルの処理................................................................................................................................................................... 98

    7.6 入出力エラー処理...........................................................................................................................................................................1027.6.1 AT END指定............................................................................................................................................................................1027.6.2 INVALID KEY指定.................................................................................................................................................................1027.6.3 FILE STATUS句......................................................................................................................................................................1037.6.4 誤り処理手続き.........................................................................................................................................................................1037.6.5 入出力エラーが発生したときの実行結果............................................................................................................................... 104

    7.7 ファイル処理の実行........................................................................................................................................................................ 1047.7.1 ファイルの割当て......................................................................................................................................................................1047.7.2 ファイルの排他制御................................................................................................................................................................. 109

    7.7.2.1 ファイルを排他モードにする方法..................................................................................................................................... 1097.7.2.2 レコードを排他状態にする方法........................................................................................................................................110

    7.7.3 ファイル処理の結果................................................................................................................................................................. 1127.7.4 ファイルの高速処理................................................................................................................................................................. 1127.7.5 ファイル追加書き......................................................................................................................................................................1167.7.6 ファイルの連結......................................................................................................................................................................... 1167.7.7 ダミーファイル........................................................................................................................................................................... 1177.7.8 注意事項.................................................................................................................................................................................. 118

    7.8 COBOLファイルユーティリティ........................................................................................................................................................1207.8.1 COBOLファイルユーティリティとは.......................................................................................................................................... 1207.8.2 COBOLファイルユーティリティの使い方................................................................................................................................. 1217.8.3 COBOLファイルユーティリティの機能.....................................................................................................................................123

    7.8.3.1 ファイルの創成.................................................................................................................................................................. 1237.8.3.2 ファイルの拡張.................................................................................................................................................................. 1237.8.3.3 レコードの表示.................................................................................................................................................................. 1257.8.3.4 レコードの編集.................................................................................................................................................................. 126

    - ix -

  • 7.8.3.5 レコードの整列.................................................................................................................................................................. 1287.8.3.6 ファイルの操作.................................................................................................................................................................. 1287.8.3.7 ファイルの印刷.................................................................................................................................................................. 1297.8.3.8 ファイルの構造の変換...................................................................................................................................................... 1297.8.3.9 索引ファイルの操作.......................................................................................................................................................... 129

    7.9 他のファイルシステムの使用法...................................................................................................................................................... 1317.9.1 Btrieveファイル......................................................................................................................................................................... 133

    7.9.1.1 ファイル環境の指定.......................................................................................................................................................... 1337.9.1.2 外部10進項目のデータ形式変換.....................................................................................................................................1347.9.1.3 注意事項........................................................................................................................................................................... 136

    7.9.2 外部ファイルハンドラ................................................................................................................................................................1367.10 索引ファイルの復旧...................................................................................................................................................................... 1387.11 COBOLファイルアクセスルーチン................................................................................................................................................138

    第8章 印刷処理.....................................................................................................................................................................1398.1 印刷方法の種類..............................................................................................................................................................................139

    8.1.1 各印刷方法の概要...................................................................................................................................................................1408.1.2 印刷ファイル/表示ファイルの決定方法...................................................................................................................................1428.1.3 印字文字.................................................................................................................................................................................. 1438.1.4 帳票設計について................................................................................................................................................................... 1478.1.5 印字文字の配置座標...............................................................................................................................................................1488.1.6 印刷不可能な領域について....................................................................................................................................................1488.1.7 フォームオーバレイパターン....................................................................................................................................................1498.1.8 FCB...........................................................................................................................................................................................1498.1.9 I制御レコード/S制御レコード................................................................................................................................................... 1518.1.10 帳票定義体............................................................................................................................................................................ 1598.1.11 特殊レジスタ........................................................................................................................................................................... 1608.1.12 印刷情報ファイル................................................................................................................................................................... 1618.1.13 フォントテーブル.....................................................................................................................................................................1658.1.14 Unicodeの印刷について........................................................................................................................................................1678.1.15 サービス配下の注意事項(印刷時)...................................................................................................................................... 168

    8.2 行単位のデータを印刷する方法....................................................................................................................................................1688.2.1 概要.......................................................................................................................................................................................... 1688.2.2 プログラムの記述......................................................................................................................................................................1688.2.3 プログラムの翻訳・リンク...........................................................................................................................................................1718.2.4 プログラムの実行......................................................................................................................................................................171

    8.3 フォームオーバレイおよびFCBを使う方法.....................................................................................................................................1778.3.1 概要.......................................................................................................................................................................................... 1778.3.2 プログラムの記述......................................................................................................................................................................1788.3.3 プログラムの翻訳・リンク...........................................................................................................................................................1808.3.4 プログラムの実行......................................................................................................................................................................180

    8.3.4.1 フォームオーバレイパターンを使うプログラム..................................................................................................................1808.3.4.2 FCBを使うプログラム......................................................................................................................................................... 181

    8.4 帳票定義体を使う印刷ファイルの使い方.......................................................................................................................................1818.4.1 概要.......................................................................................................................................................................................... 181

    8.4.1.1 帳票のパーティション........................................................................................................................................................ 1828.4.1.2 帳票の電子化....................................................................................................................................................................184

    8.4.2 プログラムの記述......................................................................................................................................................................1868.4.3 プログラムの翻訳・リンク...........................................................................................................................................................1898.4.4 プログラムの実行......................................................................................................................................................................190

    8.5 表示ファイル(帳票印刷)の使い方................................................................................................................................................ 1908.5.1 概要.......................................................................................................................................................................................... 1908.5.2 作業手順.................................................................................................................................................................................. 1928.5.3 帳票定義体の作成...................................................................................................................................................................1928.5.4 プログラムの記述......................................................................................................................................................................1928.5.5 プログラムの翻訳・リンク...........................................................................................................................................................1958.5.6 プリンタ情報ファイルの作成.................................................................................................................................................... 195

    - x -

  • 8.5.7 プログラムの実行......................................................................................................................................................................1968.6 電子帳票出力機能を使う方法........................................................................................................................................................196

    8.6.1 電子帳票出力機能の概要.......................................................................................................................................................1968.6.2 帳票を電子化する方法............................................................................................................................................................1978.6.3 電子帳票の出力例...................................................................................................................................................................2008.6.4 プリンタ(紙)出力時と電子帳票出力時の機能差(留意事項/制限事項)..............................................................................2008.6.5 実行時エラーについて............................................................................................................................................................ 203

    第9章 画面を使った入出力.................................................................................................................................................... 2059.1 画面を使った入出力の種類........................................................................................................................................................... 2059.2 表示ファイル(画面入出力)の使い方............................................................................................................................................ 205

    9.2.1 概要.......................................................................................................................................................................................... 2059.2.2 動作環境.................................................................................................................................................................................. 2069.2.3 作業手順.................................................................................................................................................................................. 2079.2.4 画面定義体の作成...................................................................................................................................................................2089.2.5 プログラムの記述......................................................................................................................................................................2089.2.6 プログラムの翻訳・リンク...........................................................................................................................................................2129.2.7 ウィンドウ情報ファイルの作成..................................................................................................................................................2129.2.8 プログラムの実行......................................................................................................................................................................213

    9.3 スクリーン操作機能の使い方..........................................................................................................................................................2139.3.1 概要.......................................................................................................................................................................................... 2139.3.2 スクリーンウィンドウ...................................................................................................................................................................2149.3.3 キー定義ファイルの利用..........................................................................................................................................................2149.3.4 プログラムの記述......................................................................................................................................................................2169.3.5 プログラムの翻訳・リンク...........................................................................................................................................................2189.3.6 プログラムの実行......................................................................................................................................................................2189.3.7 Unicodeデータの扱い.............................................................................................................................................................. 219

    第10章 サブプログラムを呼び出す~プログラム間連絡機能~................................................................................................ 22110.1 呼出し関係の概要.........................................................................................................................................................................221

    10.1.1 呼出し関係の形態..................................................................................................................................................................22110.1.2 COBOLの言語間の環境....................................................................................................................................................... 22110.1.3 動的プログラム構造............................................................................................................................................................... 223

    10.1.3.1 動的プログラム構造の特徴.............................................................................................................................................22410.1.3.2 副プログラムのエントリ情報.............................................................................................................................................22510.1.3.3 プログラムのデータ領域..................................................................................................................................................22510.1.3.4 注意事項......................................................................................................................................................................... 228

    10.2 COBOLプログラムからCOBOLプログラムを呼び出す................................................................................................................ 23110.2.1 呼出し方法............................................................................................................................................................................. 23110.2.2 二次入口点............................................................................................................................................................................ 23110.2.3 制御の復帰とプログラムの終了............................................................................................................................................. 23110.2.4 パラメタの受渡し方法.............................................................................................................................................................23110.2.5 データの共用..........................................................................................................................................................................233

    10.2.5.1 外部データ使用時の注意事項.......................................................................................................................................23410.2.5.2 外部ファイル使用時の注意事項.................................................................................................................................... 234

    10.2.6 復帰コード.............................................................................................................................................................................. 23510.2.7 内部プログラム....................................................................................................................................................................... 23610.2.8 注意事項................................................................................................................................................................................ 237

    10.3 C言語プログラムとの結合............................................................................................................................................................. 23810.3.1 COBOLプログラムからCプログラムを呼び出す方法............................................................................................................ 238

    10.3.1.1 呼出し方法...................................................................................................................................................................... 23910.3.1.2 パラメタの受渡し方法......................................................................................................................................................23910.3.1.3 復帰コード(関数値)....................................................................................................................................................... 240

    10.3.2 CプログラムからCOBOLプログラムを呼び出す方法............................................................................................................ 24310.3.2.1 呼出し方法...................................................................................................................................................................... 24410.3.2.2 パラメタの受渡し方法......................................................................................................................................................24410.3.2.3 復帰コード(関数値)....................................................................................................................................................... 244

    10.3.3 データ型の対応......................................................................................................................................................................245

    - xi -

  • 10.3.4 プログラムの翻訳....................................................................................................................................................................24810.3.5 プログラムのリンク...................................................................................................................................................................249

    10.3.5.1 COBOLプログラムを呼び出すCプログラムの結合方法................................................................................................ 24910.3.5.2 Cプログラムを呼び出すCOBOLプログラムの結合方法................................................................................................ 251

    10.3.6 プログラムの実行....................................................................................................................................................................252

    第11章 ACCEPT文およびDISPLAY文の使い方.................................................................................................................... 25311.1 小入出力機能............................................................................................................................................................................... 253

    11.1.1 概要........................................................................................................................................................................................ 25311.1.2 入出力先の種類と指定方法..................................................................................................................................................25311.1.3 Unicodeデータの扱い............................................................................................................................................................ 25411.1.4 コンソールウィンドウを使ったデータの入出力...................................................................................................................... 255

    11.1.4.1 COBOLのコンソールウィンドウ....................................................................................................................................... 25511.1.4.2 コマンドプロンプト............................................................................................................................................................25611.1.4.3 システムのコンソールウィンドウ.......................................................................................................................................25611.1.4.4 プログラムの記述.............................................................................................................................................................25711.1.4.5 プログラムの翻訳・リンク..................................................................................................................................................25711.1.4.6 プログラムの実行.............................................................................................................................................................258

    11.1.5 メッセージボックスにメッセージを出力する方法................................................................................................................... 25811.1.5.1 メッセージボックス............................................................................................................................................................25811.1.5.2 プログラムの記述.............................................................................................................................................................25811.1.5.3 プログラムの翻訳・リンク..................................................................................................................................................25911.1.5.4 プログラムの実行.............................................................................................................................................................259

    11.1.6 ファイルを使うプログラム........................................................................................................................................................ 25911.1.6.1 プログラムの記述.............................................................................................................................................................26011.1.6.2 プログラムの翻訳・リンク..................................................................................................................................................26111.1.6.3 プログラムの実行.............................................................................................................................................................26211.1.6.4 DISPLAY文のファイル出力拡張機能........................................................................................................................... 26211.1.6.5 ACCEPT文のファイル入力拡張機能.............................................................................................................................263

    11.1.7 現在の日付および時刻の入力..............................................................................................................................................26511.1.7.1 プログラムの記述.............................................................................................................................................................26511.1.7.2 プログラムの翻訳・リンク..................................................................................................................................................26611.1.7.3 プログラムの実行.............................................................................................................................................................266

    11.1.8 任意の日付の入力.................................................................................................................................................................26611.1.8.1 プログラムの記述.............................................................................................................................................................26611.1.8.2 プログラムの翻訳・リンク..................................................................................................................................................26711.1.8.3 プログラムの実行.............................................................................................................................................................267

    11.1.9 Interstage Business Application Serverの汎用ログを使うプログラム.....................................................................................26711.1.9.1 プログラムの記述.............................................................................................................................................................26811.1.9.2 プログラムの翻訳・リンク..................................................................................................................................................26811.1.9.3 プログラムの実行.............................................................................................................................................................268

    11.1.10 イベントログを使うプログラム................................................................................................................................................ 26911.1.10.1 プログラムの記述...........................................................................................................................................................26911.1.10.2 プログラムの翻訳・リンク................................................................................................................................................26911.1.10.3 プログラムの実行...........................................................................................................................................................269

    11.2 コマンド行引数の取出し............................................................................................................................................................... 27111.2.1 概要........................................................................................................................................................................................ 27111.2.2 プログラムの記述....................................................................................................................................................................27211.2.3 プログラムの翻訳・リンク.........................................................................................................................................................27311.2.4 プログラムの実行....................................................................................................................................................................274

    11.3 環境変数の操作機能....................................................................................................................................................................27411.3.1 概要........................................................................................................................................................................................ 27411.3.2 プログラムの記述....................................................................................................................................................................27411.3.3 プログラムの翻訳・リンク.........................................................................................................................................................27511.3.4 プログラムの実行....................................................................................................................................................................275

    第12章 SORT文およびMERGE文の使い方~整列併合機能~.............................................................................................. 27612.1 ソート・マージ処理の概要............................................................................................................................................................. 276

    - xii -

  • 12.2 ソートの使い方.............................................................................................................................................................................. 27712.2.1 ソート処理の種類................................................................................................................................................................... 27712.2.2 プログラムの記述....................................................................................................................................................................27712.2.3 プログラムの翻訳・リンク.........................................................................................................................................................28012.2.4 プログラムの実行....................................................................................................................................................................280

    12.3 マージの使い方.............................................................................................................................................................................28012.3.1 マージ処理の種類................................................................................................................................................................. 28012.3.2 プログラムの記述....................................................................................................................................................................28112.3.3 プログラムの翻訳・リンク.........................................................................................................................................................28312.3.4 プログラムの実行....................................................................................................................................................................283

    第13章 CSV形式データの操作.............................................................................................................................................. 28413.1 CSV形式データとは......................................................................................................................................................................28413.2 CSV形式データの作成(STRING文).......................................................................................................................................... 285

    13.2.1 基本操作................................................................................................................................................................................ 28513.2.2 処理異常の検出.....................................................................................................................................................................286

    13.3 CSV形式データの分解(UNSTRING文).....................................................................................................................................28613.3.1 基本操作................................................................................................................................................................................ 28613.3.2 処理異常の検出.....................................................................................................................................................................287

    13.4 CSV形式のバリエーション............................................................................................................................................................ 288

    第14章 システムプログラムを記述するための機能~SD機能~.............................................................................................. 29014.1 SD機能の種類...............................................................................................................................................................................29014.2 ポインタ付けの使い方...................................................................................................................................................................29014.3 ADDR関数およびLENG関数の使い方.......................................................................................................................................29114.4 終了条件なしのPERFORM文の使い方.......................................................................................................................................292

    第15章 リモートデータベースアクセス..................................................................................................................................... 29315.1 プリコンパイラを使用したアクセス.................................................................................................................................................29315.2 ODBC経由によるアクセス.............................................................................................................................................................293

    15.2.1 概要........................................................................................................................................................................................ 29315.2.1.1 COBOLプログラムの構成............................................................................................................................................... 29415.2.1.2 埋込みSQL文による操作................................................................................................................................................295

    15.2.2 コネクション操作..................................................................................................................................................................... 29615.2.2.1 コネクションを接続する....................................................................................................................................................29615.2.2.2 コネクションを切断する....................................................................................................................................................29715.2.2.3 コネクションを変更する....................................................................................................................................................297

    15.2.3 データ操作............................................................................................................................................................................. 29815.2.3.1 サンプルデータベース.................................................................................................................................................... 29815.2.3.2 データの参照...................................................................................................................................................................300

    15.2.3.2.1 表の全行を参照する................................................................................................................................................ 30015.2.3.2.2 条件を指定して参照する......................................................................................................................................... 30215.2.3.2.3 1つの行を参照する.................................................................................................................................................. 30215.2.3.2.4 表を関連付けてデータを参照する.......................................................................................................................... 303

    15.2.3.3 データの更新...................................................................................................................................................................30515.2.3.4 データの削除...................................................................................................................................................................30515.2.3.5 データの挿入...................................................................................................................................................................30515.2.3.6 動的SQL..........................................................................................................................................................................30615.2.3.7 可変長文字列の使用......................................................................................................................................................30915.2.3.8 複数コネクションでのカーソル操作..............................................................................................................