現役ABAPエンジニアが教える!! ABAP言語について①

フラッターブログの住人Hikkeyです!!

先日ですが自分の仕事で使用しているABAPという言語を取り上げたところ想像以上の反響がありました!

この言語はマイナーな言語のため学習のための書籍やサイトも非常に少なく自分も学習するうえで非常に苦労しました…

そのためこれからこの言語に興味を持って学びたいと思っている人たちにも手助けになれば思いこの記事を書きました!!

またこの記事を書くことで自分のアウトプットに繋がればと思っています!!

今回は基本の文法を中心に取り上げたいと思います。

是非読んでこの言語に興味を持っていただけると嬉しいです!!

前回記事のURLになります。

あわせて読みたい
プログラミング言語のハテナ?!  〜ABAPとはどんな言語?〜
プログラミング言語のハテナ?! 〜ABAPとはどんな言語?〜フラッターブログの住人Hikkeyです!メンバーのmasakiによって連載されている本シリーズですが今回はHikkeyが担当します!!今回はABAPというプログラミング言語について紹...
にほんブログ村 にほんブログ村へ
クリックいただけると嬉しいです!
PVアクセスランキング にほんブログ村
クリックいただけると嬉しいです
目次

はじめに

この記事を見てくださっている皆さんは今後ABAPを学んでいきたいと思っている皆さんだと思います。

プログラム言語を学ぶには書いて動かすのが一番です!!

しかしABAPはSAPで使用されている専用の開発環境(ABAPワークベンチ)でしか動かすことができません…

なので実際に仕事として業務に携わっている人でなければ動かすことができませんしそもそもこの言語に触れたこともないという人が多いかと思います。

しかし以前の記事で述べたようにこのABAPという言語は今後非常に需要が高まることが期待されている言語です!!

それでいて開発できる人員がかなり少ないため今1つの仕事としての単価も非常に高くなっています!!

本記事では動かすことが出来なくても皆さんに理解していただけるようにできるだけわかりやすい解説に務めますのでよろしくお願いします!!

ABAPで作成するプログラムの種類!

ABAPに限らずすべてぼプログラム言語はプログラムと呼ばれる処理の一つのまとまりを作成するために用いられます。

ABAPにおいて作成できるプログラムには主に以下のようなものがあります!

1.レポートプログラム

ABAPにおいて1番開発されることが多いのがこのレポートプログラムになります!

プログラム内で取得したデータを処理・編集し、最終的にそれらのデータを出力することを目的としたプログラムです。

ABAPによって動くSAPというシステムは会社の基幹システムで用いられており多くの社内データを持ったテーブルを持っています。

それらを必要に応じて取得したり、照会できるようにしたり、不要になったデータを削除するような機能を実現することがレポートプログラムの大きな役割になります!!

またレポートプログラムは実行可能プログラムINCLUDEプログラムの2つに分類されます。

実行可能プログラムはそれ自体が直接実行可能なプログラムです。

それに対してINCLUDEプログラムは直接実行することができないのでレポートプログラムなどから呼び出してあげる必要があります。

2.汎用モジュール

INCLUDEプログラムのようにレポートプログラム等から呼び出してあげる必要があるプログラムになります。

主にレポートプログラム内で多く行われる処理をまとめ一つの部品としてすべてのレポートプログラムで使用できるようにしたものになります!!

名前のの通りに様々なプログラムで汎用的に用いることができるのでレポートプログラム同様に非常重要なプログラムの一つになります。

3.Dynpro(ディンプロ)

Dynamic programming」の略称です。そのまま日本語に訳すと「動的プログラミング」という意味になります。

SAPでは対話型の画面入力に関するプログラムのことを指します。

画面を作成しユーザの操作内容に応じて処理の内容を変えるような画面遷移を実現することが可能で、この処理を実現するのが、Dynproプログラムです。

主にABAPではなくSAP自体のシステムを利用して作成するので今回は紹介程度になりますがプログラムの種類の一つとして覚えてもらえれば幸いです。

これらのプログラムを作成していくことがABAPの主な目的となります!!

ABAPの基本の文法ルール!

1.命令文は全て半角で記載

命令文は全て半角で記載する必要があります。文字の間についてのスペースも同様です。

全角文字が混じるとエディターでエラーとなりプログラムが作動しません。

これはABAPに限った話ではなくプログラミング全般のルールなのでプログラミングをする際には常に心がけましょう!!

2.文は “ABAPキーワード” で始め “ピリオド” で終わる

ABAPキーワードABAPにおける命令を意味する言葉のことです(ABAPキーワードについては次回以降詳しく解説します!)

文末に .(ピリオド)を打つことで一つのABAP命令を締めくくります。

初心者にはこのピリオドの付け忘れによりエラーを発生させてしまうことが非常に多いです!!(自分もそうでした…)

命令の最後には .(ピリオド)を打つことをABAP開発においては徹底しましょう!!!

3.大文字と小文字は区別されない

ABAPにおいては大文字と小文字は特に区別されず同様に判断されます。

どちらで書いてもいいので開発者の好みでどちらで記載すると統一性のないプログラムになってしまうことがあります。

基本的にプロジェクトによってどちらで記載するかのルールが定められているので実際のABAP業務にあたることになった際にはそうしたルールを守るようにしましょう!!

4.チェーン命令を利用することで同一の命令をまとめて記述する。

  DATA GW_SCREEN1 TYPE  IT_TBL001.
  DATA GW_SCREEN2 TYPE IT_TBL002.

上記の文章はABAPにおける変数定義の方法を示したものです。

詳しい定義の内容については次回以降の記事で詳しく紹介するので今は「DATAという命令を使って変数を定義するんだ!」というくらいの認識で大丈夫です!!

この変数の定義ですがこれくらいの数なら問題ないですがさらに数が増えてくると毎回DATA命令を使って定義するのは中々手間ですよね…

そこで以下のようにチェーン命令を使って簡略化できます!

DATA:
  GW_SCREEN1
TYPE  IT_TBL001,
  GW_SCREEN2
TYPE  IT_TBL002.

ABAP命令の後に:を記載し、一つ命令が終わるごとに ,(カンマ)を記載します。

このように記載することで全体としての文字数を減らし可読性を向上できるのでチェーン命令を組むことが推奨されています!!

5.コメントアウトしたい場合は「*」を行頭に記述する

説明などを記載するためにコメントを挿入する際は文頭にを付けることでその文全体をコメント行とすることができます。

また文の途中からコメントを挿入する際には(ダブルクォーテーション)を付けるとそこから先の文章をすべてコメントにすることができます!!

コメントを正しく記載することはきれいなプログラムを記載するうえで極めて重要なのでこの方法は覚えておきましょう!

プログラムの有効化について

プログラムをある程度完成した際には以下の手順でプログラムを有効化する必要があります。

1.チェックボタンを押してプログラムのエラーがないか確認する。(エラーがある場合にはエディタの下部にエラーの箇所と内容が表示される)

2.保存ボタンを押してプログラムを保存する。

3.有効化ボタンを押してプログラムを有効化する。

4.プログラムを実行して異常な終了をしないか確認する(必須ではない)

プログラムを保存するだけでなく有効化という作業をしなければプログラムを動かすことができないので注意が必要です。

まとめ

いかがでしたでしょうか。

今回はABAPの超基本的な知識についてお伝えしてきました。

こんな書き方をするのかなというイメージに繋がれば幸いです。

次回以降は今回少し話に出たABAP命令について紹介させていただきます!!

次回以降も一緒にABAPについて学んでいきましょう!!

ここで今回個人的にプログラムやる際に読んでためになった本を紹介いたします!

こちらは独学でプログラミングを覚えるというテーマで書かれた本でかなり人気のある本になります。

独学で覚えている自分としてはかなり助かりました。
一回は読んでみることをお勧めします!

この本はPython言語を題材に書かれた本になりますがプログラミングの考え方を書いている本になるので
勉強中の方は読んだ方が良いと思ってます!

お家の近くの本屋さんとかで普通にあると思います!
また、URL貼っておくので是非読んでみてください!

⬇️⬇️⬇️商品URL⬇️⬇️⬇️

【中古】【全品10倍!5/5限定】独学プログラマー / AlthoffCory

価格:1,990円
(2021/5/4 17:49時点)
感想(0件)

それではまた次の記事で✋

ブログ日記始めました!

日記

あの日書いたコードの作り方を僕たちは知らないという日記を始めたのでよかったら読んで欲しいです!

なるべく多く更新できるようにブログより更新していきます!

それでは次回の記事で!

にほんブログ村 にほんブログ村へ
クリックしてもらえると嬉しいです!

個人的オススメ記事になります!

あわせて読みたい
フラッターラジオ flutter-radio 〜競馬とは?〜
フラッターラジオ flutter-radio 〜競馬とは?〜 (adsbygoogle = window.adsbygoogle || []).push({});フラッター ブログ合同ブログの登場人物!!フラッターブログの管理人お会計時での逃げる速さで彼の右に出る...
あわせて読みたい
看護師が教える?!医療関係者のおしごと 〜臨床工学技士とはどんな仕事なの?〜
看護師が教える?!医療関係者のおしごと 〜臨床工学技士とはどんな仕事なの?〜みなさんこんにちわ、koukiです。今回のテーマは「臨床工学技士」です。これまた、なじみがない方が多いと思います。ただ、病院ではとても大切な職業です。イメージとし...
あわせて読みたい
プログラミング言語のハテナ?!  〜Rubyとはどんな言語?〜
プログラミング言語のハテナ?! 〜Rubyとはどんな言語?〜どうも!フラッターブログ管理人のmasakiです!プログラミングの記事を作ることが多くなってきました。今回はRubyについて書いて参ります!記事途中で出るかもしれませ...

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!

コメント

コメントする

CAPTCHA


目次
閉じる