SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

COBOLプログラミング

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

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

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

ダウンロード サンプルコード (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

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
サンプルプログラムの作成 2

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
COBOLプログラミング連載記事一覧

もっと読む

この記事の著者

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

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2654 2008/07/10 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング