SHOEISHA iD

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

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

COBOLプログラミング

COBOL言語をLinux環境で動かす その2

OpenCOBOLを他のプログラムと連携させる方法

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

ダウンロード samplesource.zip (760.0 B)

複雑な処理を行わせる場合、1つのプログラムで行うことは少なく多数のモジュールを結合するのが一般的です。本稿では、複数のOpenCOBOLソースの連携について解説します。

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

はじめに

 前回および前々回は、OpenCOBOLが標準で用意している機能を使い機能の確認をしました。通常の事務処理計算を行う程度は、COBOL標準で用意されている機能によりコーディングすることが可能なのですが、プラグインなどの外部機能を利用したり、ミドルウェア連携については、プログラム間連携によりパラメータの受け渡しが必要になります(商用のCOBOLでは、独自の拡張機能や連携機能が強化されている場合があります)。

 OpenCOBOLでは独自の拡張機能や連携機能が強化されていることはありませんが、COBOL言語仕様による連携機能を利用して外部プラグインや他言語との連携を行うことができます。本稿では、OpenCOBOLのCOBOL言語仕様を使った、複数のOpenCOBOLソースの連携について解説します。

前回までの記事

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

対象読者

 OpenCOBOLと連携するプログラムをC言語で解説するので、基本的なC言語について分かる読者を対象とします。また、Linux環境を前提として解説しているので、Linuxコマンドが多少分かる読者を対象とします。

必要な環境

  • Linux動作環境
  • OpenCOBOL開発環境

 LinuxにおけるOpenCOBOL開発環境の構築は、COBOL言語をLinux環境で動かすを参照ください。

複数プログラム連携のしくみ

 異なるプログラムで処理を継続させるためには、実行の制御とデータの引渡しについて考慮する必要があります。COBOLでは処理部の中に、他プログラムに制御を引き渡す命令文として、CALL文が規定されています。CALL文は、プログラムで使用しているデータ項目を他プログラムに引き渡すことができます。また、他プログラムからデータの引渡しを受け、処理を継続して呼び出し、元のプログラムに制御を返す機能も備えています。これらの仕組みは次の図のとおりです。

複数プログラム連携のしくみ
複数プログラム連携のしくみ

 以後、本稿ではコンパイル後、コマンドラインから実行されるOpenCOBOLプログラムを「メイン処理プログラム」、メイン処理プログラムからCALL文により実行されるOpenCOBOLプログラムを「連携先プログラム」と呼ぶことにします。

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

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

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

メールバックナンバー

次のページ
コンパイル方法

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

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

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング