このページではINCLUDE命令「インクルードプログラムの意味と使い方」を初心者向けに解説します。
INCLUDEプログラムは、それ単体で実行することはできないプログラムのことで、基本的には他のプログラムに組み込まれることによって、はじめて実行することができるプログラムです。
このページでは、INCLUDE命令とインクルードプログラムの意味と使い方、利用するメリットを簡単に説明します。
SAPエンジニア/ABAPerを目指す方であれば知らないと恥ずかしい基本知識ばかりです。是非最後までご覧ください。
参考 ABAPの基本構文ルール
INCLUDE(インクルード)プログラムとは何か?
ABAPのINCLUDE(インクルード)プログラムとは、共有可能なコードブロック:つまり一連のソースコードをひとまとめにしたプログラムで、他のメインプログラムや他のインクルードプログラムから呼び出される形で利用されます。
イメージとしては、プログラムの一部を外出しして、他のプログラムからでも使えるようにしたようなものです。
インクルードプログラムを利用することで、コードの再利用性が向上し、複数のプログラムで同じコードをコピー&ペーストする必要がなくなります。コードのメンテナンスが容易になるため、大規模な開発現場では利用必須の仕組みの1つです。
このページでは、インクルードプログラムの作成方法と利用方法(INCLUDE命令の使い方)をご説明。
まずは、INCLUDE命令の使い方から解説します。
ABAP:INCLUDE命令
ABAPで他のプログラムをインクルードするためには INCLUDE
文を使用します。これにより、別のプログラム(一般に「インクルード」と呼ばれる)を現在のプログラムに挿入することができます。
INCLUDE <program_name>. * <program_name> はインクルードしたいプログラムの名前
構文ルールは非常に簡易的。INCLUDEの後に、インクルードプログラム名称を記述するだけでOK。
大抵の場合、インクルードするプログラムは基本的に複数あることが多いので、ソースコードの冒頭にチェーン形式で記載します。
INCLUDE: YINCLUDE_D, " データ定義 YINCLUDE_S, " 選択画面 YINCLUDE_F. " サブルーチン
インクルードプログラムの作成
インクルードプログラムの作成方法はとっても簡単。ABAP Workbench(または最新のABAP Development Tools)を使用して、新しいINCLUDEプログラムを作成することができます。
以下に基本的な手順を示します。
- ABAP Workbenchを開く: SAP GUIからトランザクションコードSE38またはSE80を入力し、ABAP Workbenchを開きます。
- 新しいプログラムの作成: 「プログラム」→「作成」を選択します。新しいウィンドウが開きます。
- プログラム名の指定: プログラム名を指定します。プログラムの種類として「Include program」を選択します。
- プログラムの記述: ソースコードエディターでプログラムを記述します。
- 保存とアクティベート: プログラムを保存し、アクティベート(有効化)します。
インクルード(INCLUDE)プログラムを利用するメリット
ここからは、インクルードプログラムを利点するメリットについて補足しておきます。
実際、インクルードプログラム(INCLUDE)を使わなくてもシステム全体を完成させることは可能です。インクルードプログラムを利用せず、メインプログラムにゴリゴリ、ロジックを記載していくことで目的とするプログラム開発を行うことは可能。
ですが、インクルードプログラムには様々な利点があるため、使い方を覚えれば結構便利な代物ですし、実際の開発現場では当たり前のように利用される技術でもあります。
インクルードプログラムのメリット1:開発効率の向上
インクルードプログラムは、複数のプログラムから呼び出し可能。
例えば、プログラムAでインクルード(INCLUDE)しているプログラムでも、また別のプログラムBでもインクルード(INCLUDE)することが可能です。
"プログラムA" INCLUDE: YINCLUDE_D, " データ定義 YINCLUDE_S, " 選択画面 YINCLUDE_F. " サブルーチン
"プログラムB" INCLUDE: YINCLUDE_S, " 選択画面 YINCLUDE_FUNCTION. " サブルーチン
この仕組みをうまく利用することで、開発効率を向上させることが可能。同じような処理を別の機能でも利用したい場合に、1から開発しようとすると、設計・コーディングに加えてテスト工数などが膨らんでしまうこともしばしば。
インクルードプログラムであれば、その部分についてはそれらの開発工数が不要となります。
汎用モジュールもインクルードプログラム同様、複数のプログラムから呼び出し可能です。ただし、汎用モジュールの方が用途が限定されており、例えば選択画面だけのプログラムを汎用モジュールとしてコーディングすることはできません。
一方で、インクルードプログラムではインターフェースとしてのパラメータ受け渡しができません。
汎用モジュールとインクルードプログラムの違いは以下の記事でもご確認ください。
インクルードプログラムのメリット2:可読性の向上
データ宣言部、サブルーチン定義部、選択画面、、、等、プログラム全体をある程度の部品に分解・区分けしまとめておくことで可読性が向上します。
実際、プログラムを読んでいく作業は大変で、10000行のソースコードを目で見て追っていくことは大変な重労働です。
例えば調査対象がプログラムの「選択画面」であることが分かっている場合、ソースコードを頭からスクロールして見るよりも、INCLUDEプログラムを探して、ピンポイントで調査したほうがはるかに効率的ですよね。
バグが発生したときの原因分析も容易になりますし、同時にプログラムを修正したときの影響範囲も限定させることができます。
ABAP:INCLUDEのまとめ
初めてABAPを勉強するのは結構難しいですよね。
でもその悩みを抱えているのは一人じゃありません。全てのABAP使いが同じ道を進んできました。
ABAPをはじめとするプログラミングスキルを武器に、時間と場所に捉われない自由な生き方を目指してみませんか?
読者料典 【完全無料】ABAP:学習カリキュラム ←こちらから!