【初心者向け】ABAPプログラム開発の基本3つの知識ABAPTwitterFacebookはてブPocketLINEコピー2020.02.14このページでは、ABAPのプログラミングに関する前提となる予備知識を解説しています。ABAPのプログラムにもいろいろな種類があることは知っているでしょうか。同じABAPプログラムでも、レポート・バッチインプットなど、異なる呼び方で区別されます。このページでは、プログラムを大きく分類した場合の機能的な側面からの区分と、システム的な側面からの区分「プログラムタイプ」について解説していきます。ABAPのコードルールについての初心者向けのまとめはこちらでおこなっております。【初心者向け】9つのABAP構文ルール(文法)ABAPのコードルールを1つのページにまとめました。基本の書き方や、コメントアウトの方法、チェーン命令の理解など。ABAPのプログラミング入門はこのページから。ABAPの"文法"を完全解説!it-biz.online2020.01.08目次ABAPプログラムの種類レポート:REPORTレポートプログラムはさらに3つに分類されるバッチインプットDynpro(ディンプロ)プログラムタイププログラムタイプとは?実行可能プログラムINCLUDEプログラムモジュールプールプログラムこの知識はどこで役立つか?ABAPを1から勉強したい方はABAPプログラムの種類ABAPと一口に言っても、処理の内容や対象の機能によって大きく3つに分けられます。基本的な「レポート」、同様に使用頻度の高い「バッチインプット」、そして画面を作成していく「Dynpro」です。他にも何種類かプログラムが存在しますが、上記3つの開発が9割以上を占めるので、ここでは上記3つについて解説しています。※上記3つを知っていれば、大体の開発現場で生きていけます。初めに、もっとも基本的な「レポート」について説明していきます。レポート:REPORTレポートは日本語に直すと「報告書」となりますが、ABAPにおける意味は微妙に異なります。ABAPでレポートと言われるものは「データを出力することを目的としたプログラム」を指します。レポートプログラムと言われたら、そのプログラムはデータを取得して一覧表示するプログラムのことだ、と理解しておけば問題ないでしょう。業務側から考えるとわかりやすいですが、普段行っている業務の約半数ぐらいはデータの取得や照会に基づいたものです。予算に対する実績値の照会や、他の人が入力した値のチェック。会計業務で言えば、財務諸表の作成も「データを照会・取得して」報告書にまとめる業務と言えます。これらを実現しているのが「レポート(REPORT)」と呼ばれるプログラムです。レポートプログラムはさらに3つに分類されるここら辺は応用知識ですが、レポートプログラム(REPORT)は、その実行方式の観点からさらに3つに分けることができます。1つが、プログラムの実行条件をユーザーに選択させた後にプログラムを実行させるもの。2つ目が、実行条件などの入力なしにいきなり「プログラム」が実行されるもの。3つ目が、データを出力・表示した後にデータの更新などを行うことができる「インタラクティブレポート」と呼ばれるものです。1つ目と2つ目の違いは「選択画面」の存在です。プログラムの処理に進む形です。3つ目のインタラクティブレポートは、選択画面はもちろん、ユーザとの対話形式で処理が進むプログラムです。これらの種別はイベントブロックの重要性につながる部分なので、あまり重要視しなくてもよいでしょう。この章では「レポートプログラム」というものの知識が重要です。レポートは主にデータ出力を目的としたプログラムで、動作によって大きく3つに分類される、ことを理解しておきましょう。バッチインプットバッチインプットとは、いわゆるバッチ処理を実現するプログラムのことを指し示します。バッチ処理というのは、超簡単に説明すると「まとめて処理すること」です。例として、伝票の登録で考えてみましょう。普通、伝票は取引の発生都度入力を行いますね。「売り上げがあった」「鉛筆を買った」「給料を払った」など、そのタイミングごとにシステムにデータを入力していくのがもともとの形です。このもともとの形を、バッチ処理に対してリアルタイム処理と言います。リアルタイム処理では、その名の通り一つひとつリアルタイムにシステムにデータが反映されていきます。デメリットはなさそうに見えるリアルタイム処理ですが、1利便性と2システム性能の観点から限界があります。「口座への入金情報」に関する伝票を入力する場合、A商店に対する伝票を1件、B商社に対する伝票を1件、C株式会社に対する伝票を1件・・・・というように、大量に伝票を登録しないといけない場合。100件単位で入力が必要な場合もありますし、10000件・100000件などの処理もあります。バッチ処理では、この大量のデータをまとめて一度に処理します。だれもシステムを利用していない夜中3時頃に、その日に行われた取引データを一気に連携したりするのです。バッチ処理は、1一度で大量のデータをさばけるという利点に加え、2作業自体を自動化できること、3処理自体を夜中などのユーザが利用していないタイミングで実施することでシステム負荷を下げることができるなど様々な利点が存在します。バッチ処理は、旧システムからの移行データを新システムに登録するときや、外部システムから連携されたデータ登録などを行う際に利用されること主な利用シーンになります。TRANSACTION-バッチインプットをマスターする【初心者向け】ABAPでバッチインプットを実装する方法を解説します。TRANSACTION命令」を1から解説しています。そもそもバッチインプットって何?という方にも理解できるよう各種前提知識も散りばめて説明します。programming」の略称です。そのまま日本語に訳すと「動的プログラミング」となりますが、SAPでは対話型の画面入力に関するプログラムのことを指し示します。対話型というのは、ユーザの入力に応じて画面が遷移していくような画面制御のことを指します。「こっちがこうすれば」「画面がこうなる」、つまり画面と人と対話するようなイメージで次々に変わっていくような画面制御を「対話型の画面入力」と呼んでいます。Googleも、検索スペースに「SAP」と入れれば、画面にキーワード:SAPを含む検索結果を出し、ユーザが表示されたリンクを押せばそのページを、戻るボタンを押せば前画面を表示するなど、対話型の画面を備えていると言えます。SAPも同様に、画面を作成しユーザの操作内容に応じて処理の内容を変えるような画面遷移を実現することが可能で、この処理を実現するのが、Dynproプログラムです。Dynproについては、レポート・バッチインプットと比較して開発数は多くありません。基本は、レポート・バッチインプットの開発が主です。開発数は少ない一方で、難易度は他の2つに比べて高くとっつきにくいプログラムなので、Dynproが自由自在に書ける人材はかなり重宝されます。これまで解説してきたように、ABAPのプログラムは主にこの3つに分類され、それぞれのプログラムで必要とされる知識も微妙に異なってきます。基本的な思想は同じですが、細かい部分が異なるため、トライ&エラー、そしてグーグル先生に助けられながら、ノウハウを付けていくことになります。前提知識がある状態で開発していくのと、そうでないのとではスキルの向上という観点で大幅に異なります。上記で解説した内容については最低限、会話についていけるレベルの知識を身につけておきましょう。次の章で、上記分類とは別に技術的な観点からプログラムを分類する「プログラムタイプ」の解説に移ります。プログラムタイプこれまでの分類してきたABAPの分類はあくまでも「機能的な観点」からの大分類です。ここから解説するプログラムタイプというのは、よりシステム的な分類となります。プログラムタイプとは?プログラムタイプとは、プログラムを作成する際に選択が必須となる項目です。プログラムを登録しようとすると下記のようなポップアップが表示され「タイプ」という選択肢に、プログラムタイプを埋める必要があります。プログラムタイプ選択画面このプログラムタイプによって、直接実行の可否など「プログラムが実行されるときの処理」を制御しています。最終的に行いたい処理を正しく理解し、それに応じた正しいプログラムタイプを選択する必要があります。以下では、「これだけ覚えていればOK」なプログラムタイプを説明しています。実行可能プログラム前の章で解説した「レポート」「バッチインプット」プログラムがこれに該当します。作成したいプログラムが、レポート・バッチインプットであれば「実行可能プログラム」に該当します。実行可能プログラムの名前からもわかる通り、トランザクションコード:SE38、もしくはSE80にてプログラム名を入力すればその画面から直接実行することができます。INCLUDEプログラムインクルードプログラムを作成する場合に用います。インクルードを知っていればなんとなく想像がつくかもしれませんが、直接実行ができません。他のプログラムで展開できるプログラムを作成する場合は、このプログラムタイプが該当します。※「インクルード」については下記のページで解説しています。【ABAP】INCLUDE命令―3分で分かるインクルードプログラム【初心者向け】ABAPにおけるインクルードプログラム:INCLUDE命令についてサンプルコード付きで解説します。INCLUDE命令を利用することで、ソース全体の可読性向上/開発効率の向上が期待できます。ABAP初心者でも知っておきたい重要知識ですので、是非最後までご覧ください。it-biz.online2020.02.12モジュールプールプログラムDynproを作成する際に選択するプログラムタイプです。このプログラムタイプは、トランザクションコードを利用して実行することが可能です。この知識はどこで役立つか?ここまで解説してきた知識は、ABAPerの超・前提知識です。コードの内容もそうですが、まずこの前提知識がないとチームメンバーの話の輪に入ることができません。ある日いきなり、インクルードプログラムを作成してください、なんて言われても焦りますよね?焦らないために、前提知識としてここで解説した内容については頭に入れておくことが必須です。1つのページにまとめました。【ABAP入門】SAPを構成するプログラミング言語―ABAP(あばっぷ)の勉強方法を初心者向けに1つのページにまとめました。基本的な構文ルールから、内部テーブルの利用、システム項目まで!このページを理解すれば、簡単な機能の実装が可能になります。伝票タイプの目的、コンフィグレーション(カスタマイズ)の手順、設定例を画面付きで解説しています。2019.08.23ABAP【ABAP】内部テーブルの宣言―理解しておきたい3つのポイント内部テーブルの宣言方法を解説しています。イメージ画像付きで、初心者でも簡単に理解することができます。SINGLESELECT分の入門編。第3回に分けて、ABAPにおけるSELECT文の使い方を説明していす。普通のSQLとの違い、ABAPerしか気づけない「落とし穴」を解説します。2020.01.14ABAP【ABAP】3分でわかるAUTHORITY-CHECK―権限チェックアドオン開発で用いられる「AUTHORITY-CHECK」について解説します。前提となる「権限オブジェクト」「権限項目」なども本ページにリンクがあります。サンプルコード付きで解説しています。2020.01.14ABAP【ABAP】5分で学ぶ―デバッグ(DEBUG)の手順ABAPのデバッグの仕方を簡単に整理しました。デバッグ画面の見方や、ブレイクポイントの設置方法などを画像付きで解説しています。「/h」実行など、Tipsも整理していますので、ぜひご覧ください。FUNCTION】これを知らないとやっていけない!ABAPの汎用モジュールの作り方・注意点、IMPORTING、EXPORTINGなど全手順を本ページで記載しています。ビズドットオンライン.HOMESAPWEBデザインIT-SkillsLifeHackVBAタイトルとURLをコピーしました。