Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

COBOLプログラミング ファイル処理編その1

OpenCOBOLを使用したファイル処理の基本プログラミング

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/07/10 14:00

ダウンロード サンプルコード (769.0 B)

INPUTファイルを1行ずつ読み込んで内容を加工して出力する、DISK to DISKプログラムを作成し、OpenCOBOLの動作を確認します。

目次

はじめに

 前回は基本的なCOBOLの文法を解説しました。今回はCOBOLプログラミングでは最初に研修でやるというお決まりの「DISK to DISK」プログラムをコーディングし、実際にOpenCOBOLでコンパイルして動作を確認してみます。

前回の記事

対象読者

 前回前々回の解説記事をご覧になり、ぜひOpenCOBOLを動かしてみたいと考えられた方、また当稿ではLinux環境を前提として解説しているので、Linuxコマンドが多少分かる方を対象といたします。

必要な環境

 OpenCOBOL開発環境が必要です。LinuxにおけるOpenCOBOL開発環境の構築は、COBOL言語をLinux環境で動かす を参照してください。COBOLソースを開発環境のマシンに作成します。プログラムソースは使い慣れたローカルマシンでも作成できますので、お好みの入力環境を用意してください。

サンプルプログラムの作成 1

今回作成するプログラム機能の概要(入出力構成)

 今回作成するプログラムの入出力構成を以下の図に示します。

 入力ファイル、出力ファイルを1つずつ使用します。処理の概要は、入力ファイルを1レコードずつ読み込み、内容を若干更新して、出力ファイルに書き込みます。入力1レコードに対して、出力も1レコードとします。

DISK to DISKプログラムについて
 図に示すとおり、ディスクからディスクにデータが移動するので、この形態をDISK to DISKプログラムと言っています。Linuxでは、かなり複雑なDISK to DISKプログラムもシェルで記述できてしまうのですが、後々の保守性を考慮して、あえてプログラミング言語で作成する方法を選択する企業もあります。

今回作成するプログラム機能の概要(処理概要)

 今回作成するプログラムは、コーディングしたCOBOLソースの順序番号を成形する処理としました。初期値と増分値をプログラム中に記述しておき、入力したデータの6桁をこの値で置き換え、出力レコードに書き込みます。

 以下、入力レコードと処理後の出力レコードの例を示します。

入力レコードの例
       IDENTIFICATION DIVISION.
001100 PROGRAM-ID.        test-cob01.
000500 ENVIRONMENT DIVISION.
0 0000 INPUT-OUTPUT SECTION.
001300 FILE-CONTROL.
000611 SELECT I-FILE
処理後の出力レコード
000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID.        test-cob01.
000300 ENVIRONMENT DIVISION.
000400 INPUT-OUTPUT SECTION.
000500 FILE-CONTROL.
000600 SELECT I-FILE

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 布施 榮一(ふせえいいち)

    布施加工有限会社 代表取締役 布施加工って何しているとこなの?? 実はIT屋さんだったりします(笑) Linux基盤各種サービスの設計構築およびコンサルティングをやっています。 ブログもちょこちょこっと書いてます。 Alinous-Core 正規販売代理店

バックナンバー

連載:COBOLプログラミング
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5