Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。実際に簡単なプログラムを作成し、プログラム連携の機能について確認します。サンプルプログラムの内容メイン処理プログラムでメイン処理開始の表示を行います。メイン処理プログラムの中に連携先プログラムで使用するデータを設定し、連携先プログラムにおいて表示および更新を行います。連携先プログラムの処理終了後にメイン処理で、連携先プログラムで更新されたデータとメイン処理終了の表示を行います。PROD(COBOL)を表示し連携先プログラムで表示する内容を設定して表示します。連携先プログラムの実行終了後に、連携先プログラムで更新された内容を表示します。プログラムの開始時と終了時にそれぞれMAIN-STARTとMAIN-STOPをあわせて表示します。ソースの内容は次のとおりです。RUN.本例では、連携先プログラムに引き渡すデータを、01レベルで定義した複数のデータ項目を束ねるSUB-SNDにしています。それぞれのデータ項目を個別に引き渡すこともできます。CALL文で個別にデータ項目を引き渡す例は、次のとおりです。PROD(COBOL)と数値を表示させるようにします。数値のみ、1減算しプログラムを終了します。ソースの内容は次のとおりです。PROGRAM.順序番号000300で指定するPROGRAM-IDは、メイン処理プログラムのCALL文で指定される連携先プログラム名と合わせる必要があります。メイン処理で「データ項目を個別に引き渡すCALL文」とした場合は、処理部のUSING句の内容を変更してください。変更例は次のとおりです。PROGRAM文」とします。RUN文」にすると、メイン処理プログラムではなく、メイン処理プログラムを実行したシェルなどに制御が渡るので、注意が必要です。PROGRAM文」は省略することができます。PROGRAM文」が指定された事と同じになります。サンプルプログラムのコンパイル今回、サンプルコードを用意したので、必要があればご利用ください。サンプルコードを適当なディレクトリ、ファイルに格納し、前述したコンパイルコマンドでメイン処理プログラムと連携先プログラムをコンパイルします。以下は、メイン処理プログラム名を「cobmaincob.cob」、連携先プログラム名を「cobsubcob.cob」とした例です。cobsubcob.o問題が無ければ、直接実行型ファイルを作成するコンパイル例では「cobmaincobexe」が、分割コンパイルによる実行型ファイルを作成するコンパイル例では、それぞれ「cobmaincob.o」「cobsubcob.o」「cobmaincobbin」が作成されるはずです。cobsubcob.o[e-fuse@]$環境構築の方法によっては、オブジェクトサイズが異なる場合があります。通常は上記コマンドをコマンドラインで毎回打鍵することなく、makeコマンドによりコンパイルを行うことが多いと思います。今回のコンパイルをMakefileに記述する場合は、次のようになります。cobsubcob.o上記のMakefileを格納したディレクトリで、引数なしのmakeコマンドを実行することにより、コンパイルが必要なモジュールのみコンパイルされることになります。前項で作成した実行型ファイルを実行します。実行例は次のとおりです。shared...”と、エラーが出た場合は、適宜環境を整えて再度実行してください(COBOL言語をLinux環境で動かす)。10SUB-END09MAIN-STOP[e-fuse@]$意図した内容で表示される事が、確認できました。まとめ今回は、OpenCOBOL同士によるプログラム連携について、機能の確認を行いました。複数のOpenCOBOLプログラムの連携方法への理解が進んだかと思います。次回は、OpenCOBOLとCによるプログラム連携について、稿を進めたいと思います。何しているとこなの??実はIT屋さんだったりします(笑)Linux基盤各種サービスの設計構築およびコンサルティングをやっています。ブログもちょこちょこっと書いてます。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。12:00法務担当者、6割超が今後業務で「生成AIを使用したい」と回答。12:00オルツ、日本語RAGでは軽量型LLMとして世界最高の精度と推論速度を達成した「LHTM-OPT2」をリリース新着記事一覧を見るイベント今後の予定を見るCodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。