ABAP の概要: データ型、 Operaトールとエディタ – チュートリアル
⚡ スマートサマリー
ABAP入門では、言語について説明します。 SAP R/3システム上でアプリケーションを構築するために作成された資料です。この資料では、データ型、演算子、制御文、内部テーブル、およびすべてのABAPプログラムの開始点となるSE38エディタについて解説しています。
ABAPとは何ですか?
ABAPはAdvanced Business Application Programmingの略です。これは、開発のためのプログラミング言語です。ping アプリケーション SAP R/3 システム。
ABAPの最新バージョンはABAP Objectsと呼ばれ、オブジェクト指向プログラミングをサポートしています。 SAP ABAP/4、以前の ABAP バージョン、および ABAP オブジェクトを使用するアプリケーションを使用して作成されたアプリケーションを実行します。
この序文は、すべてを文書化しようとするものではありません。 ABAP言語 本書は、重要な概念を素早く紹介することで、実際に動作するプログラムの作成を開始し、その後、より高度なトピックへと進むことができるように設計されています。
データ型
すべてのABAPプログラムは、まず扱うデータを宣言することから始まります。
ABAP で変数を宣言するための構文 –
DATA Variable_Name TYPE Variable_Type.
例:
DATA employee_number TYPE I.
以下は、ABAPでサポートされているデータ型の一覧です。
| Data Type | 初期フィールド長 | 有効なフィールド長 | 初期値 | 意味 |
|---|---|---|---|---|
| 数値型 | ||||
| I | 4 | 4 | 0 | 整数(整数) |
| F | 8 | 8 | 0 | 浮動小数点数 |
| P | 8 | 1 – 16 | 0 | パック数 |
| 文字の種類 | ||||
| C | 1 | 1 – 65535 | 「…」 | テキストフィールド(英数字) |
| D | 8 | 8 | '00000000' | 日付フィールド(形式:YYYYMMDD) |
| N | 1 | 1 – 65535 | 「0…0」 | 数値テキストフィールド(数字文字) |
| T | 6 | 6 | '000000' | 時刻フィールド(形式:HHMMSS) |
| XNUMX進数タイプ | ||||
| X | 1 | 1 – 65535 | X'0 … 0' | XNUMX 進フィールド |
上記の8種類は、古典的な固定長タイプです。ABAPには、初心者がすぐに遭遇する2種類の可変長タイプもあります。 STRING 任意の長さのテキストに対して、 XSTRING 任意の長さのバイナリデータに対応。
ABAP Operaトー
データが宣言されると、それを変更したり比較したりするのは演算子です。
値の割り当て
a = 16. MOVE 16 TO a. WRITE a TO b.
これら3つのステートメントはすべて値を移動します。等号は現代的な形式であり、MOVEとWRITE TOは古い形式の同等物で、レガシープログラムで今でも見かけることがあります。
算術演算
COMPUTE a = a * 100.
ABAPはADD、SUBもサポートしていますTRACT、MULTIPLY、DIVIDEは単独のキーワードとして使用できますが、上記に示したCOMPUTE形式が最もよく使用されます。
論理演算子
論理演算子は真または偽を返し、次のセクションのすべての制御文はこれらをテストします。それぞれに単語形式と記号形式があり、両者は互換性があります。
| ワードフォーム | 記号形式 | 意味 |
|---|---|---|
EQ |
= |
に等しい |
NE |
<> |
等しくない |
GT |
> |
越える |
GE |
>= |
以上 |
LT |
< |
Less より |
LE |
<= |
Less 以上 |
制御ステートメント
制御文は、上記の論理演算子を使用して、どのコード行を実行するか、またどのくらいの頻度で実行するかを決定します。
IF … ENDIF
IF [NOT] exp [ AND / OR [NOT] exp ]. ........ [ELSEIF exp. .......] [ELSE. .......] ENDIF.
CASE文
CASE variable. WHEN value1. ......... WHEN value2. ......... [WHEN OTHERS. .........] ENDCASE.
WHILEループ
WHILE <logical expression>. ..... ENDWHILE.
DOループ
DO <n> TIMES. ..... ENDDO.
WHILEループは、条件が満たされている間実行されます。DOループは、一定回数実行されるか、EXIT文によって停止されるまで無限に実行されます。
ABAPにおける内部テーブル
単一の変数だけでは不十分な場合がほとんどです。ビジネスプログラムは一度に多数の行を読み込み、内部テーブルはそれらをメモリ内に保持するための構造体です。
内部テーブルは動的配列です。固定サイズはなく、プログラムの実行期間中のみ存在し、データベースと画面間で行をやり取りする標準的な方法です。
" Declare an internal table and a work area DATA: lt_employees TYPE TABLE OF pa0001, ls_employee TYPE pa0001. " Fill it from the database SELECT * FROM pa0001 INTO TABLE lt_employees UP TO 10 ROWS. " Read it row by row LOOP AT lt_employees INTO ls_employee. WRITE: / ls_employee-pernr, ls_employee-ename. ENDLOOP.
上記の3つの操作は、日常業務のほとんどをカバーします。テーブルの宣言、SELECT文によるデータの挿入、そしてLOOP ATによるテーブル内のデータの走査です。APPENDは行を追加し、READ TABLEは行を検索し、DELETEは条件に一致する行を削除します。
ABAP/4 エディター
上記の構文はすべて一箇所に入力されます。
トランザクション SE38 ABAPエディタが開きます。開発者として、プログラムの作成や修正にほとんどの時間を費やすことになります。
ABAP/4エディタ、トランザクションSE38
初めてのABAPプログラムの書き方
上記の画面は、以下の手順を実行する場所です。以下の手順を実行すると、数分で実用的なレポートが作成されます。
- エディターを開きます。 トランザクションコードを入力してください SE38 に選出しました。 SAP GUIコマンドフィールドに入力し、Enterキーを押してください。
- プログラム名を挙げてください。 で始まる名前を入力してください Z or Y例えば、
ZHELLO_WORLDそれらの2文字は顧客ネームスペースであり、 SAP アップグレード中にそれらを上書きしないことを保証します。 - 作成する。 詳しくはこちら 創造する短い説明を入力し、 実行可能プログラム タイプとしては。
- パッケージを割り当てます。 選択する ローカルオブジェクト 練習用です。ローカルオブジェクトはシステム内に保持され、転送リクエストは不要です。
- コードを書いてください。
REPORT zhello_world. DATA employee_name TYPE string. employee_name = 'Guru99'. WRITE: / 'Hello, ABAP!', / 'Welcome', employee_name.
- 構文を確認してください。 メディア掲載 Ctrlキー+ F2ステータスバーには、エラーとその原因となった行番号が表示されます。
- プログラムを有効化してください。 メディア掲載 Ctrlキー+ F3非アクティブなプログラムは実行できません。
- 実行します。 メディア掲載 F8出力リストが開き、両方のWRITE行が表示されます。
WRITE文のスラッシュは改行を強制します。これを削除すると、すべてが1行に表示されます。これは、初心者が最初に身につける書式設定の習慣です。
共通ABAPトランザクション Codes
少数のトランザクションコードで、新規ABAP開発者が必要とするほぼすべての機能を網羅できます。
| トランザクション | 目的 |
|---|---|
SE38 |
ABAPエディタ。プログラムの作成、編集、チェック、実行が可能です。 |
SE80 |
オブジェクトナビゲーター。プログラム、クラス、パッケージ、画面をまとめて操作できる単一のワークベンチ。 |
SE11 |
ABAPディクショナリ。データベーステーブル、データ要素、ドメインを定義および検査します。 |
SE16N |
データブラウザ。SELECT文を書かずに、任意のテーブルの内容を表示できます。 |
SE37 |
関数ビルダー。関数モジュールを作成してテストします。 |
SE24 |
クラスビルダー。ABAPオブジェクト用のグローバルクラスを作成します。 |
ST22 |
ダンプ解析。プログラム終了時に発生する実行時エラーを読み取ります。 |
SE38とSE11があれば、最初のレポートを作成するのに十分です。ST22は、プログラムがクラッシュした瞬間に、このグループの中で最も価値の高いものとなります。


