ここでは、本製品で提供するサンプルプログラム-Sample05-について説明します。
Sample05では、主プログラムから、副プログラムを呼び出すプログラムの例を示します。なお、Sample05では、正書法の自由形式を使用して記述しています。
概要
商品コード、商品名および単価が格納されているマスタファイル(Sample02で作成した索引ファイル)の内容を印刷可能文字に変換して作業用のテキストファイル(*.TMP)に格納し、印刷します。なお、作業用のファイルの名前は、プログラム実行時にパラメタで指定します。
提供プログラム
Sample05_EXE\Sample5.cob
Sample05_EXE\COBOL85.CBR(実行用の初期化ファイル)
Sample05_DLL\Insatsu.cob(COBOLソースプログラム)
Sample05_LIB\S_rec.cbl(登録集原文)
Sample05\Makefile(メイクファイル)
使用しているCOBOLの機能
使用しているCOBOLの文
CALL文
DISPLAY文
EXIT文
GO TO文
MOVE文
OPEN文
READ文
WRITE文
プログラムの内容
正書法の自由形式を使用してCOBOLソースプログラムを記述する例を以下に示します。(C:\COBOL\Samples\COBOL\Sample05\Sample5.cob)
カラム 位置 1 --|-- 10 --|-- 20 --|-- 30 --|-- 40 --|-- 50 --|-- 60 --|-- 70 -------------------------------------------------------------------------- IDENTIFICATION DIVISION. PROGRAM-ID. Sample5. *> このサンプルプログラムは自由形式の正書法で記述されています。 *> 翻訳時には翻訳オプションSRFを使用して、正書法の形式として *> 自由形式(FREE)を指定してください。 ENVIRONMENT DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. SYSERR IS メッセージ出力先. : DATA DIVISION. FILE SECTION. FD マスタファイル. 01 マスタレコード. 02 商品レコード. 03 商品コード PIC X(4). 03 商品名 PIC N(20). 03 単価 PIC 9(4) BINARY. : PROCEDURE DIVISION USING パラメタ. *>(1)作業ファイル名を決定します。 IF パラメタ長 = 0 DISPLAY NC"パラメタが指定されていません。"- "パラメタを指定してください。" UPON メッセージ出力先 GO TO 処理終了. : 処理終了. EXIT PROGRAM. END PROGRAM Sample5. --------------------------------------------------------------------------
自由形式では、COBOLの文および注記は、行の任意の文字位置から書くことができます。行の最初の空白でない文字の並びが“*>”である場合、その行は注記行とみなされます。また、上記の例のような方法で文字定数や日本語文字定数などを複数の行に分けて書くことができます。
正書法の自由形式の詳細は、“COBOL文法書”を参照してください。
参考
翻訳時、COBOLソースプログラムおよび登録集の正書法の形式は、翻訳オプションSRFを用いて、それぞれ指定します。このため、1つのCOBOLソースプログラムに正書法の形式の異なる複数の登録集を取り込むことはできません。
また、画面帳票定義体を自由形式のCOBOLソースプログラムに取り込んで使用する場合、登録集の正書法の形式として可変形式を指定してください。[参照]“NetCOBOL ユーザーズガイド”の“SRF (正書法の種類)”
プログラムを実行する前に
Sample02で作成されるマスタファイルを使用します。
“6.3 行順ファイルと索引ファイルの操作(Sample02)”を実行しておきます。