809
J2S2-1420-02Z0(00) 20114Solaris NetCOBOL V10.2 使用手引書

NetCOBOL V10.2 使用手引書...第12章 システムプログラムを記述するための機能 システムプログラムを記述する場合に有効となる機能について説明しています。第13章

  • Upload
    others

  • View
    4

  • Download
    1

Embed Size (px)

Citation preview

  • J2S2-1420-02Z0(00)2011年4月

    Solaris

    NetCOBOL V10.2

    使用手引書

  • まえがき

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

    正式名称 略称

    Oracle Solaris 10 Solaris

    Microsoft(R) Windows(R) 2000 Professional

    Microsoft(R) Windows(R) 2000 Server

    Microsoft(R) Windows(R) 2000 Advanced Server

    Windows 2000

    Microsoft(R) Windows(R) XP Home Edition Operating System

    Microsoft(R) Windows(R) XP Professional Operating System

    Windows XP

    Windows Vista(R) Home Basic

    Windows Vista(R) Home Premium

    Windows Vista(R) Business

    Windows Vista(R) Enterprise

    Windows Vista(R) Ultimate

    Windows Vista

    Microsoft(R) Windows Server(R) 2003, Standard Edition

    Microsoft(R) Windows Server(R) 2003, Enterprise Edition

    Microsoft(R) Windows Server(R) 2003 R2, Standard Edition

    Microsoft(R) Windows Server(R) 2003 R2, Enterprise Edition

    Microsoft(R) Windows Server(R) 2003, Standard x64 Edition

    Microsoft(R) Windows Server(R) 2003, Enterprise x64 Edition

    Microsoft(R) Windows Server(R) 2003 R2, Standard x64 Edition

    Microsoft(R) Windows Server(R) 2003 R2, Enterprise x64 Edition

    Windows Server 2003

    Microsoft(R) Windows Server(R) 2008 Foundation

    Microsoft(R) Windows Server(R) 2008 Standard

    Microsoft(R) Windows Server(R) 2008 Standard without Hyper-V(TM)

    Microsoft(R) Windows Server(R) 2008 Enterprise

    Microsoft(R) Windows Server(R) 2008 Enterprise without Hyper-V(TM)

    Microsoft(R) Windows Server(R) 2008 Datacenter

    Microsoft(R) Windows Server(R) 2008 Datacenter without Hyper-V(TM)

    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

    Windows(R) 7 Home Premium

    Windows(R) 7 Professional

    Windows(R) 7 Enterprise

    Windows(R) 7 Ultimate

    Windows 7

    ・ Solaris上で動作する製品を「Solaris版の製品」と表記します。

    - i -

  • ・ 「Windows 2000」、「Windows XP」、「Windows Server 2003」、「Windows Vista」、「Windows Server 2008」および「Windows 7」をすべて指す場合は、「Windows」または「32ビットWindows」と表記します。

    本書の目的

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

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

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

    NetCOBOLが出力するメッセージについては、“メッセージ説明書”をお読みください。

    Sun日本語COBOLからの移行上の注意については、“リリース情報”の“互換情報”をお読みください。

    本書の読者

    本書は、NetCOBOLを使用してCOBOLプログラムを開発する方を対象に書かれています。本書を読むためには、以下の知識が必要です。

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

    ・ ご使用になるOSに関する基本的な知識

    本書の構成

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

    第1章 概要

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

    第2章 プログラムの書き方

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

    第3章 プログラムの翻訳とリンク

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

    第4章 プログラムの実行

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

    第5章 プログラムのデバッグ

    この製品のデバッグ機能について説明しています。

    第6章 ファイル処理

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

    第7章 印刷処理

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

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

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

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

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

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

    ACCEPT文およびDISPLAY文を使った機能として、小入出力機能、コマンド行引数の操作機能、および環境変数の操作機能の使い方について説明しています。

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

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

    - ii -

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

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

    第13章 オブジェクト指向プログラミングとは

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

    第14章 オブジェクト指向プログラミング機能~基本的な使い方~

    オブジェクト指向プログラミング機能の基本的な使い方について説明しています。

    第15章 オブジェクト指向プログラミング機能~さらに進んだ使い方~

    オブジェクト指向プログラミング機能のさらに進んだ使い方について説明しています。

    第16章 オブジェクト指向プログラムの開発と実行

    オブジェクト指向プログラムの開発方法および実行について説明しています。

    第17章 マルチスレッド

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

    第18章 Unicode

    Unicodeで動作するCOBOLアプリケーションの作成方法について説明しています。

    第19章 通信機能

    表示ファイルを使用した通信機能および簡易アプリ間通信機能の使い方について説明しています。

    第20章 Web連携

    COBOLが提供するWeb連携機能の概要について説明しています。

    第21章 CORBAアプリケーション

    COBOLインタフェースのCORBAのサーバ/クライアントアプリケーションの概要について説明しています。

    第22章 プロジェクトマネージャの使い方

    プロジェクトマネージャの使い方について説明しています。

    第23章 対話型デバッガの使い方

    対話型デバッガの使い方について説明しています。

    第24章 SCREEN-DESIGNERの使い方

    SCREEN-DESIGNERの使い方について説明しています。

    第25章 ファイルユーティリティ

    ファイルユーティリティの使い方について説明しています。

    第26章 分散開発支援機能

    Windows(R)版製品を使用してUNIX系システムのアプリケーションの開発を行う場合の分散開発について説明しています。

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

    CSV形式データの操作について説明しています。

    付録A 翻訳オプション

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

    付録B 入出力状態一覧

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

    付録C 広域最適化

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

    - iii -

  • 付録D 組込み関数の使用

    COBOLで使用できる組込み関数について説明しています。

    付録E 環境変数一覧

    この製品で使用する環境変数の一覧を記述しています。

    付録F 特殊な定数の書き方

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

    付録G COBOLが提供するサブルーチン

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

    付録H オブジェクト指向と従来機能の組合せ

    オブジェクト指向と従来機能の組合せについて説明しています。

    付録I データベース連携

    この製品をデータベースと連携して使用する場合の注意事項について説明しています。

    付録J 日本語コード系

    この製品で日本語処理を行う場合のコード系について説明しています。

    付録K SCCSの利用方法

    COBOL開発でSCCS(Source Code Control System)を利用する方法について説明しています。

    付録L ldコマンド

    COBOLコンパイラが生成した再配置可能プログラムを結合するときのldコマンドの入力形式および使い方について説明しています。

    付録M makeコマンドの活用

    COBOL開発でmakeコマンドを活用する方法について説明しています。

    付録N Windowsを利用したUNIX版COBOLアプリケーションの作成手順

    Windows(R)を利用してUNIX版COBOLアプリケーションを作成するための手順について説明します。

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

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

    付録P COBOL G移行支援オプション

    SX/GシリーズおよびKシリーズのCOBOL G資産を活用するための移行支援オプションについて説明しています。

    付録Q セキュリティ

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

    付録R COBOLプログラムの作成技法

    効率よいCOBOLプログラムの作成技法について説明しています。

    注意事項

    本書の情報は、プログラミングサービス情報です。COBOLを使用してプログラムを開発する際に使用することができます。

    表記上の規約

    本書は次の表記の規約で書かれています。

    書体および記号 意味

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

    → 操作結果を示します。

    $ Bourne shellのプロンプトを示します。

    - iv -

  • 書体および記号 意味

    % C shellのプロンプトを示します。

    … この記号の直前の項目を、繰り返して指定できることを示します。

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

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

    → PROGRAM-ID. SAMPLE1.

    または

    {あい |うえお}

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

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

    その他の注意事項

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

    ・ 本書では、“Interstage Application Server”を総称して、“Interstage”として記述しています。なお、本書で記述している“Interstage”は、V4以前では“INTERSTAGE”に置き換えてお読みください。

    ・ 本書では、“Interstage Charset Manager”の“標準コード変換”を、“標準コード変換”と記述しています。

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

    登録商標について

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

    X Window Systemは、オープン・グループの商標です。

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

    Microsoft、Windows、Windows ServerおよびWindows Vistaは、米国Microsoft Corporationの米国およびその他の国における商標または登録商標です。

    C-ISAMは、米国Informix Software,Inc.の米国での登録商標です。

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

    お願い

    ・ 本書を無断で他に転載しないようお願いします。

    ・ 本書は予告なしに変更されることがあります。

    本ドキュメントを輸出または提供する場合は、外国為替および外国貿易法および米国輸出管理関連法規等の規制をご確認の上、必要

    な手続きをおとり下さい。

    2011年4月

    Copyright 2000-2011 FUJITSU LIMITED

    - v -

  • 謝辞

    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章 概要................................................................................................................................................................................11.1 機能.....................................................................................................................................................................................................1

    1.1.1 COBOLの機能.............................................................................................................................................................................11.1.2 この製品が提供するプログラムおよびユーティリティ..................................................................................................................11.1.3 COBOLと連携機能......................................................................................................................................................................2

    1.2 開発環境.............................................................................................................................................................................................31.2.1 関連製品......................................................................................................................................................................................4

    1.3 資源一覧.............................................................................................................................................................................................5

    第2章 プログラムの書き方.........................................................................................................................................................72.1 プログラムの作成と編集......................................................................................................................................................................7

    2.1.1 ソースプログラムの作成...............................................................................................................................................................72.1.2 登録集原文の作成.......................................................................................................................................................................8

    2.2 プログラムの形式.................................................................................................................................................................................82.3 翻訳指示文.........................................................................................................................................................................................9

    第3章 プログラムの翻訳とリンク...............................................................................................................................................103.1 翻訳とリンク........................................................................................................................................................................................10

    3.1.1 翻訳時に設定する環境変数.....................................................................................................................................................103.1.1.1 COBOLOPTS(翻訳オプションの指定).............................................................................................................................103.1.1.2 COBCOPY(登録集ファイルの格納ディレクトリの指定)....................................................................................................103.1.1.3 COB_COPYNAME(登録集原文の検索条件の指定).....................................................................................................103.1.1.4 COB_LIBSUFFIX(登録集ファイル名の拡張子の指定)..................................................................................................113.1.1.5 SMED_SUFFIX(画面帳票定義体ファイル名の拡張子の指定)......................................................................................113.1.1.6 FORMLIB(画面帳票定義体ファイルの格納ディレクトリの指定).....................................................................................113.1.1.7 FFD_SUFFIX(ファイル定義体ファイル名の拡張子の指定)............................................................................................113.1.1.8 FILELIB(ファイル定義体ファイルの格納ディレクトリの指定)..........................................................................................113.1.1.9 COB_REPIN(リポジトリファイルの入力先ディレクトリの指定)..........................................................................................11

    3.1.2 基本操作....................................................................................................................................................................................113.1.3 登録集(COPY文)を使ったプログラムの翻訳方法...................................................................................................................123.1.4 副プログラムを呼び出すプログラムの翻訳・リンク方法............................................................................................................143.1.5 対話型デバッガを使う場合のプログラムの翻訳方法...............................................................................................................153.1.6 COBOLコンパイラが使用するファイル......................................................................................................................................153.1.7 COBOLコンパイラが出力する情報...........................................................................................................................................17

    3.1.7.1 診断メッセージ....................................................................................................................................................................183.1.7.2 オプション情報リスト、翻訳単位統計情報リスト..................................................................................................................183.1.7.3 相互参照リスト.....................................................................................................................................................................193.1.7.4 ソースプログラムリスト..........................................................................................................................................................203.1.7.5 目的プログラムリスト............................................................................................................................................................213.1.7.6 データエリアに関するリスト.................................................................................................................................................22

    3.2 実行可能プログラムの構造...............................................................................................................................................................283.2.1 概要............................................................................................................................................................................................283.2.2 結合の種類とプログラム構造.....................................................................................................................................................293.2.3 単純構造の実行可能プログラムの作成方法............................................................................................................................323.2.4 動的リンク構造の実行可能プログラムの作成方法...................................................................................................................333.2.5 動的プログラム構造の実行可能プログラムの作成方法...........................................................................................................34

    3.3 cobolコマンド.....................................................................................................................................................................................343.3.1 翻訳に関するオプション............................................................................................................................................................35

    3.3.1.1 -c (翻訳だけを行う指定)....................................................................................................................................................363.3.1.2 -Dc (COUNT機能 を使用する指定)................................................................................................................................363.3.1.3 -Dk (CHECK機能を使用する指定)..................................................................................................................................363.3.1.4 -Dr (TRACE機能を使用する指定)...................................................................................................................................373.3.1.5 -dr (リポジトリファイルの入出力先ディレクトリの指定)......................................................................................................373.3.1.6 -ds (ソース解析情報ファイルの出力ディレクトリの指定)..................................................................................................373.3.1.7 -Dt (対話型デバッガを使用する指定)..............................................................................................................................37

    - vii -

  • 3.3.1.8 -dd (デバッグ情報ファイルのディレクトリの指定)..............................................................................................................383.3.1.9 -do (オブジェクトファイルのディレクトリの指定).................................................................................................................383.3.1.10 -dp (翻訳リストファイルのディレクトリの指定)..................................................................................................................383.3.1.11 -f (ファイル定義体ファイルのディレクトリの指定)............................................................................................................393.3.1.12 -I (登録集ファイルのディレクトリの指定).........................................................................................................................393.3.1.13 -i (オプションファイルの指定)..........................................................................................................................................393.3.1.14 -M (主プログラムを翻訳するときの指定)........................................................................................................................393.3.1.15 -m (画面帳票定義体ファイルのディレクトリの指定).......................................................................................................393.3.1.16 -P (翻訳リストのファイル名の指定)..................................................................................................................................403.3.1.17 -R (リポジトリファイルの入力先ディレクトリの指定).........................................................................................................403.3.1.18 -Tm (マルチスレッドモデルのプログラムを翻訳するときの指定)...................................................................................403.3.1.19 -WC (翻訳オプションの指定)..........................................................................................................................................40

    3.3.2 リンクに関するオプション............................................................................................................................................................413.3.2.1 -dy/-dn (結合モードの指定).............................................................................................................................................413.3.2.2 -G (共用オブジェクトプログラムを生成する指定)............................................................................................................413.3.2.3 -L (ライブラリサーチパス名を追加する指定)...................................................................................................................413.3.2.4 -l (リンクする副プログラムまたはライブラリの指定)..........................................................................................................423.3.2.5 -Ns (C言語で記述したプログラムから呼び出されるプログラムの指定)..........................................................................423.3.2.6 -o (オブジェクトファイルの指定).......................................................................................................................................423.3.2.7 -pc (スクリーン操作機能を使うプログラムをリンクする指定)............................................................................................423.3.2.8 -pi (C-ISAMを使うプログラムをリンクする指定)...............................................................................................................423.3.2.9 -pm (画面定義体を使うプログラムをリンクする指定).......................................................................................................423.3.2.10 -Tm (マルチスレッドモデルのプログラムをリンクする指定)...........................................................................................423.3.2.11 -Wl (リンクオプションの指定)..........................................................................................................................................42

    3.3.3 cobolコマンドの復帰値...............................................................................................................................................................43

    第4章 プログラムの実行..........................................................................................................................................................444.1 実行環境の設定................................................................................................................................................................................44

    4.1.1 実行環境....................................................................................................................................................................................444.1.2 実行環境の設定方法.................................................................................................................................................................48

    4.1.2.1 シェルの初期化ファイルに設定する方法...........................................................................................................................494.1.2.2 環境変数設定コマンドで設定する方法.............................................................................................................................494.1.2.3 実行用の初期化ファイルに設定する方法.........................................................................................................................49

    4.1.2.3.1 実行用の初期化ファイルの内容.................................................................................................................................494.1.2.3.2 実行用の初期化ファイルの検索順序について..........................................................................................................504.1.2.3.3 ライブラリ格納ディレクトリの実行用の初期化ファイルの使用について.....................................................................514.1.2.3.4 実行用の初期化ファイルの情報を表示する方法.......................................................................................................52

    4.1.2.4 コマンド行で設定する方法.................................................................................................................................................524.1.3 環境変数による接続製品の指定...............................................................................................................................................524.1.4 副プログラムのエントリ情報........................................................................................................................................................54

    4.1.4.1 副プログラム名の指定形式.................................................................................................................................................544.1.4.2 二次入口点名の指定形式..................................................................................................................................................56

    4.2 実行操作...........................................................................................................................................................................................564.2.1 プログラムの実行形式................................................................................................................................................................574.2.2 実行時オプションを指定する.....................................................................................................................................................58

    4.2.2.1 [r個数 | nor] (トレース情報の個数の指定、およびTRACE機能の抑制指定).................................................................584.2.2.2 [c回数 | {noc | nocb | noci | nocn | nocp}] (エラー検出時の処理実行回数の指定、およびCHECK機能の抑制指定).....

    584.2.2.3 [s値] (外部スイッチの値の指定).......................................................................................................................................594.2.2.4 [smsize値k] (PowerSORTが使用するメモリ容量を指定).................................................................................................59

    4.2.3 実行用の初期化ファイルを指定する.........................................................................................................................................594.2.4 OSIV系形式の実行時パラメタを指定する................................................................................................................................59

    4.3 実行時メッセージの出力方法の指定...............................................................................................................................................604.3.1 実行時メッセージの重大度指定................................................................................................................................................604.3.2 実行時メッセージのファイル出力..............................................................................................................................................614.3.3 実行時メッセージのSyslog出力.................................................................................................................................................624.3.4 実行時メッセージのInterstage Business Application Serverの汎用ログへの出力...................................................................62

    - viii -

  • 4.4 終了ステータス..................................................................................................................................................................................634.5 注意事項...........................................................................................................................................................................................64

    4.5.1 COBOLプログラムの実行時にスタックオーバーフローが発生する場合.................................................................................644.5.2 COBOLプログラムの実行時に仮想メモリ不足が発生する場合..............................................................................................694.5.3 英語環境下でのフォントについて.............................................................................................................................................69

    第5章 プログラムのデバッグ.....................................................................................................................................................705.1 デバッグ機能の種類.........................................................................................................................................................................70

    5.1.1 ステートメント番号.......................................................................................................................................................................715.2 TRACE機能の使い方.......................................................................................................................................................................71

    5.2.1 デバッグ作業の流れ..................................................................................................................................................................725.2.2 トレース情報...............................................................................................................................................................................725.2.3 注意事項....................................................................................................................................................................................74

    5.3 CHECK機能の使い方......................................................................................................................................................................755.3.1 デバッグ作業の流れ..................................................................................................................................................................765.3.2 出力メッセージ...........................................................................................................................................................................765.3.3 CHECK機能の使用例...............................................................................................................................................................785.3.4 注意事項....................................................................................................................................................................................82

    5.4 COUNT機能の使い方......................................................................................................................................................................825.4.1 デバッグ作業の流れ..................................................................................................................................................................825.4.2 COUNT情報...............................................................................................................................................................................835.4.3 COUNT機能を使用したプログラムのデバッグ.........................................................................................................................875.4.4 注意事項....................................................................................................................................................................................88

    5.5 メモリチェック機能の使い方..............................................................................................................................................................885.5.1 デバッグ作業の流れ..................................................................................................................................................................885.5.2 出力メッセージ...........................................................................................................................................................................895.5.3 プログラムの特定........................................................................................................................................................................895.5.4 注意事項....................................................................................................................................................................................90

    5.6 異常終了時の障害発生箇所の特定方法........................................................................................................................................905.6.1 デバッグ作業の流れ..................................................................................................................................................................905.6.2 障害発生箇所の特定方法.........................................................................................................................................................91

    第6章 ファイル処理..................................................................................................................................................................956.1 ファイルの種類..................................................................................................................................................................................95

    6.1.1 ファイルの種類と特徴................................................................................................................................................................956.1.2 レコードの設計...........................................................................................................................................................................98

    6.1.2.1 レコード形式........................................................................................................................................................................986.1.2.2 索引ファイルのレコードキー...............................................................................................................................................98

    6.1.3 ファイルの処理方法...................................................................................................................................................................986.2 レコード順ファイルの使い方.............................................................................................................................................................99

    6.2.1 レコード順ファイルの定義........................................................................................................................................................1006.2.2 レコード順ファイルのレコードの定義.......................................................................................................................................1016.2.3 レコード順ファイルの処理........................................................................................................................................................102

    6.3 行順ファイルの使い方....................................................................................................................................................................1046.3.1 行順ファイルの定義.................................................................................................................................................................1046.3.2 行順ファイルのレコードの定義................................................................................................................................................1046.3.3 行順ファイルの処理.................................................................................................................................................................1056.3.4 注意事項..................................................................................................................................................................................108

    6.4 相対ファイルの使い方....................................................................................................................................................................1086.4.1 相対ファイルの定義.................................................................................................................................................................1096.4.2 相対ファイルのレコードの定義................................................................................................................................................1106.4.3 相対ファイルの処理.................................................................................................................................................................111

    6.5 索引ファイルの使い方....................................................................................................................................................................1156.5.1 索引ファイルの定義.................................................................................................................................................................1156.5.2 索引ファイルのレコードの定義................................................................................................................................................1176.5.3 索引ファイルの処理.................................................................................................................................................................118

    6.6 入出力エラー処理...........................................................................................................................................................................1236.6.1 AT END指定............................................................................................................................................................................123

    - ix -

  • 6.6.2 INVALID KEY指定.................................................................................................................................................................1246.6.3 FILE STATUS句......................................................................................................................................................................1246.6.4 誤り処理手続き.........................................................................................................................................................................1256.6.5 入出力エラーが発生したときの実行結果...............................................................................................................................125

    6.7 ファイル処理の実行........................................................................................................................................................................1266.7.1 ファイルの割当て......................................................................................................................................................................1266.7.2 ファイル処理の結果.................................................................................................................................................................1296.7.3 ファイルの排他制御.................................................................................................................................................................130

    6.7.3.1 ファイルを排他モードにする方法.....................................................................................................................................1306.7.3.2 レコードを排他状態にする方法........................................................................................................................................131

    6.8 その他のファイル機能.....................................................................................................................................................................1336.8.1 C-ISAMの使い方.....................................................................................................................................................................135

    6.8.1.1 C-ISAMの指定..................................................................................................................................................................1356.8.1.2 プログラムの翻訳・リンク....................................................................................................................................................1356.8.1.3 C-ISAMでの注意点..........................................................................................................................................................136

    6.8.2 大容量ファイル処理.................................................................................................................................................................1366.8.2.1 大容量ファイルアクセスの指定.........................................................................................................................................1376.8.2.2 一括指定...........................................................................................................................................................................137

    6.8.3 RDMファイル............................................................................................................................................................................1386.8.3.1 ファイル環境の指定..........................................................................................................................................................1386.8.3.2 注意事項...........................................................................................................................................................................139

    6.8.4 性能向上のための機構...........................................................................................................................................................1396.8.4.1 ファイル処理の性能改善..................................................................................................................................................1396.8.4.2 ファイルの高速処理..........................................................................................................................................................140

    6.8.5 ファイル書込みに関する機構..................................................................................................................................................1436.8.5.1 クローズ時の書込み内容の即時反映..............................................................................................................................1436.8.5.2 行順ファイルの後置空白に関する指定...........................................................................................................................144

    6.8.6 COBOLファイルアクセスルーチン...........................................................................................................................................1446.8.7 ファイル追加書き......................................................................................................................................................................1446.8.8 ファイルの連結.........................................................................................................................................................................1456.8.9 ダミーファイル...........................................................................................................................................................................1456.8.10 名前付きパイプ......................................................................................................................................................................1466.8.11 外部ファイルハンドラ..............................................................................................................................................................1476.8.12 注意事項................................................................................................................................................................................149

    第7章 印刷処理.....................................................................................................................................................................1527.1 印刷方法の種類..............................................................................................................................................................................152

    7.1.1 各印刷方法の概要...................................................................................................................................................................1527.1.2 印刷装置..................................................................................................................................................................................1547.1.3 印字文字..................................................................................................................................................................................1557.1.4 環境変数の設定.......................................................................................................................................................................1597.1.5 印刷情報ファイル.....................................................................................................................................................................1627.1.6 FCB...........................................................................................................................................................................................1687.1.7 フォームオーバレイパターン....................................................................................................................................................1707.1.8 帳票定義体..............................................................................................................................................................................1717.1.9 フォントテーブル.......................................................................................................................................................................1717.1.10 他社プリンタ装置での注意事項............................................................................................................................................1747.1.11 特殊レジスタ...........................................................................................................................................................................1767.1.12 印刷ファイル/表示ファイルの決定方法.................................................................................................................................1777.1.13 帳票設計について.................................................................................................................................................................1787.1.14 印刷不可能な領域について..................................................................................................................................................1797.1.15 I制御レコード/S制御レコード.................................................................................................................................................1807.1.16 Unicode(UTF-8)印刷について.............................................................................................................................................184

    7.2 行単位のデータを印刷する方法....................................................................................................................................................1857.2.1 概要..........................................................................................................................................................................................1857.2.2 プログラムの記述......................................................................................................................................................................1867.2.3 プログラムの翻訳・リンク...........................................................................................................................................................188

    - x -

  • 7.2.4 プログラムの実行......................................................................................................................................................................1887.3 フォームオーバレイおよびFCBを使う方法.....................................................................................................................................188

    7.3.1 概要..........................................................................................................................................................................................1887.3.2 プログラムの記述......................................................................................................................................................................1897.3.3 プログラムの翻訳・リンク...........................................................................................................................................................1917.3.4 プログラムの実行......................................................................................................................................................................191

    7.4 帳票定義体を使う印刷ファイルの使い方.......................................................................................................................................1927.4.1 概要..........................................................................................................................................................................................193

    7.4.1.1 帳票のパーティション........................................................................................................................................................1937.4.1.2 帳票の電子化....................................................................................................................................................................195

    7.4.2 プログラムの記述......................................................................................................................................................................1987.4.3 プログラムの翻訳・リンク...........................................................................................................................................................2017.4.4 プログラムの実行......................................................................................................................................................................201

    7.5 表示ファイル(帳票印刷)の使い方................................................................................................................................................2027.5.1 概要..........................................................................................................................................................................................2027.5.2 作業手順..................................................................................................................................................................................2047.5.3 帳票定義体の作成...................................................................................................................................................................2047.5.4 プログラムの記述......................................................................................................................................................................2057.5.5 プログラムの翻訳・リンク...........................................................................................................................................................2077.5.6 プリンタ情報ファイルの作成....................................................................................................................................................2077.5.7 プログラムの実行......................................................................................................................................................................208

    7.6 電子帳票出力機能を使う方法........................................................................................................................................................2097.6.1 電子帳票出力機能の概要.......................................................................................................................................................2097.6.2 帳票を電子化する方法............................................................................................................................................................209

    7.6.2.1 プログラムの記述...............................................................................................................................................................2097.6.2.2 印刷情報ファイルの定義..................................................................................................................................................2137.6.2.3 フォントの指定...................................................................................................................................................................2137.6.2.4 List Worksの準備・設定....................................................................................................................................................2147.6.2.5 既存の帳票アプリケーションを電子化する場合の指定例..............................................................................................214

    7.6.3 電子帳票の出力例...................................................................................................................................................................2157.6.4 プリンタ(紙)と電子帳票出力時の機能差(留意事項/制限事項)..........................................................................................215

    7.6.4.1 環境変数を利用する機能.................................................................................................................................................2157.6.4.2 印刷情報ファイルを利用する機能...................................................................................................................................2157.6.4.3 プログラムの指定関連.......................................................................................................................................................2167.6.4.4 その他(List Worksの制限事項)......................................................................................................................................217

    7.6.5 実行時エラーについて............................................................................................................................................................217

    第8章 画面を使った入出力....................................................................................................................................................2198.1 画面を使った入出力の種類...........................................................................................................................................................2198.2 表示ファイル機能(画面入出力)....................................................................................................................................................219

    8.2.1 概要..........................................................................................................................................................................................2198.2.2 動作環境..................................................................................................................................................................................2208.2.3 作業手順..................................................................................................................................................................................2218.2.4 画面定義体の作成...................................................................................................................................................................2228.2.5 プログラムの記述......................................................................................................................................................................2228.2.6 プログラムの翻訳・リンク...........................................................................................................................................................2258.2.7 ウィンドウ情報ファイルの作成..................................................................................................................................................2268.2.8 プログラムの実行......................................................................................................................................................................226

    8.3 スクリーン操作機能.........................................................................................................................................................................2268.3.1 概要..........................................................................................................................................................................................2278.3.2 画面項目..................................................................................................................................................................................2278.3.3 キー定義ファイルの利用..........................................................................................................................................................2288.3.4 プログラムの記述......................................................................................................................................................................2298.3.5 プログラムの翻訳・リンク...........................................................................................................................................................230

    第9章 サブプログラムを呼び出す~プログラム間連絡機能~..................................................................................................2329.1 呼出し関係の形態...........................................................................................................................................................................232

    9.1.1 COBOLの言語間の環境.........................................................................................................................................................232

    - xi -

  • 9.1.2 動的プログラム構造.................................................................................................................................................................2359.1.2.1 動的プログラム構造の特徴...............................................................................................................................................2359.1.2.2 副プログラムのエントリ情報...............................................................................................................................................2369.1.2.3 注意事項...........................................................................................................................................................................236

    9.2 COBOLプログラムからCOBOLプログラムを呼び出す..................................................................................................................2399.2.1 呼出し方法...............................................................................................................................................................................2409.2.2 二次入口..................................................................................................................................................................................2409.2.3 制御の復帰とプログラムの終了...............................................................................................................................................2409.2.4 パラメタの受渡し.......................................................................................................................................................................2409.2.5 データの共用............................................................................................................................................................................242

    9.2.5.1 外部データ使用時の注意事項.........................................................................................................................................2439.2.5.2 外部ファイル使用時の注意事項......................................................................................................................................243

    9.2.6 復帰コード................................................................................................................................................................................2439.2.7 内部プログラム.........................................................................................................................................................................2449.2.8 注意事項..................................................................................................................................................................................246

    9.3 C言語プログラムとのリンク..............................................................................................................................................................2469.3.1 COBOLプログラムからCプログラムを呼び出す方法..............................................................................................................246

    9.3.1.1 呼出し方法........................................................................................................................................................................2479.3.1.2 パラメタの受渡し方法........................................................................................................................................................2479.3.1.3 復帰コード(関数値).........................................................................................................................................................249

    9.3.2 CプログラムからCOBOLプログラムを呼び出す方法..............................................................................................................2509.3.2.1 呼出し方法........................................................................................................................................................................2519.3.2.2 パラメタの受渡し方法........................................................................................................................................................2519.3.2.3 復帰コード(関数値).........................................................................................................................................................251

    9.3.3 データ型の対応........................................................................................................................................................................2539.3.4 C言語プログラムとのデータの共用.........................................................................................................................................2549.3.5 翻訳・リンク方法........................................................................................................................................................................2569.3.6 注意事項..................................................................................................................................................................................258

    第10章 ACCEPT文およびDISPLAY文の使い方....................................................................................................................26110.1 小入出力.......................................................................................................................................................................................261

    10.1.1 概要........................................................................................................................................................................................26110.1.2 入出力先の種類と指定方法..................................................................................................................................................26110.1.3 システムの標準入出力(stdin/stdout)を使うプログラム.........................................................................................................262

    10.1.3.1 プログラムの記述.............................................................................................................................................................26310.1.3.2 プログラムの翻訳・リンク..................................................................................................................................................26310.1.3.3 プログラムの実行.............................................................................................................................................................26310.1.3.4 数字データの入力...........................................................................................................................................................263

    10.1.4 Systemwalkerのコンソールを使うプログラム..........................................................................................................................26410.1.4.1 プログラムの記述.............................................................................................................................................................26410.1.4.2 プログラムの翻訳・リンク..................................................................................................................................................26410.1.4.3 プログラムの実行.............................................................................................................................................................26410.1.4.4 数字データの入力...........................................................................................................................................................267

    10.1.5 Interstage Business Application Serverの汎用ログを使うプログラム.....................................................................................26710.1.5.1 プログラムの記述.............................................................................................................................................................26710.1.5.2 プログラムの翻訳・リンク..................................................................................................................................................26810.1.5.3 プログラムの実行.............................................................................................................................................................268

    10.1.6 システムの標準エラー出力(stderr)を使うプログラム............................................................................................................26810.1.6.1 プログラムの記述.............................................................................................................................................................26810.1.6.2 プログラムの翻訳・リンク..................................................................................................................................................26910.1.6.3 プログラムの実行.............................................................................................................................................................269

    10.1.7 ファイルを使うプログラム........................................................................................................................................................26910.1.7.1 プログラムの記述.............................................................................................................................................................26910.1.7.2 プログラムの翻訳・リンク..................................................................................................................................................27010.1.7.3 プログラムの実行.............................................................................................................................................................27110.1.7.4 DISPLAY文のファイル出力拡張機能...........................................................................................................................27110.1.7.5 ACCEPT文のファイル入力拡張機能.............................................................................................................................273

    - xii -

  • 10.1.8 現在の日付および時刻の入力..............................................................................................................................................27410.1.8.1 プログラムの記述.............................................................................................................................................................27410.1.8.2 プログラムの翻訳・リンク..................................................................................................................................................27510.1.8.3 プログラムの実行.............................................................................................................................................................275

    10.1.9 任意の日付の入力.................................................................................................................................................................27510.1.9.1 プログラムの記述.............................................................................................................................................................27510.1.9.2 プログラムの翻訳・リンク..................................................................................................................................................27610.1.9.3 プログラムの実行.............................................................................................................................................................276

    10.1.10 シスログを使うプログラム......................................................................................................................................................27610.1.10.1 プログラムの記述...........................................................................................................................................................27610.1.10.2 プログラムの翻訳・リンク................................................................................................................................................27710.1.10.3 プログラムの実行...........................................................................................................................................................277

    10.2 コマンド行引数の取出し...............................................................................................................................................................27810.2.1 概要........................................................................................................................................................................................27810.2.2 プログラムの記述....................................................................................................................................................................27810.2.3 プログラムの翻訳・リンク.........................................................................................................................................................28010.2.4 プログラムの実行....................................................................................................................................................................280

    10.3 環境変数の操作機能....................................................................................................................................................................28010.3.1 概要........................................................................................................................................................................................28010.3.2 プログラムの記述....................................................................................................................................................................28110.3.3 プログラムの翻訳・リンク.........................................................................................................................................................28210.3.4 プログラムの実行....................................................................................................................................................................282

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

    11.2.1 ソート処理の種類...................................................................................................................................................................28411.2.2 プログラムの記述....................................................................................................................................................................28411.2.3 プログラムの翻訳・リンク.........................................................................................................................................................28711.2.4 プログラムの実行....................................................................................................................................................................287

    11.3 マージの使い方.............................................................................................................................................................................28711.3.1 マージ処理の種類.................................................................................................................................................................28711.3.2 プログラムの記述....................................................................................................................................................................28811.3.3 プログラムの翻訳・リンク.........................................................................................................................................................29011.3.4 プログラムの実行....................................................................................................................................................................290

    第12章 システムプログラムを記述するための機能..................................................................................................................29112.1 SD機能の種類...............................................................................................................................................................................29112.2 ポインタ付けの使い方...................................................................................................................................................................291

    12.2.1 概要........................................................................................................................................................................................29112.2.2 プログラムの記述....................................................................................................................................................................29112.2.3 プログラムの翻訳・リンク.........................................................................................................................................................29212.2.4 プログラムの実行....................................................................................................................................................................292

    12.3 ADDR関数とLENG関数の使い方...............................................................................................................................................29212.3.1 概要........................................................................................................................................................................................29212.3.2 プログラムの記述....................................................................................................................................................................29212.3.3 プログラムの翻訳・リンク.........................................................................................................................................................29312.3.4 プログラムの実行....................................................................................................................................................................293

    12.4 終了条件なしのPERFORM文の使い方.......................................................................................................................................29312.4.1 概要........................................................................................................................................................................................29312.4.2 プログラムの記述....................................................................................................................................................................29312.4.3 プログラムの翻訳・リン�