Developing your First ABAP Application

Objective

After completing this lesson, you will be able to 基本レベルでの ABAP 言語の説明

ABAP 開発ツールでの単純な ABAP コードの登録

Hello World アプリの作成

最新の ABAP プログラミングで使用する主なユーザインタフェーステクノロジーは SAP Fiori です。ただし、ABAP Development Tools (ADT) には、テストアプリケーションで出力を迅速かつ簡単に作成できるコンソールが用意されています。

SAP Fiori の詳細については、http://learning.sap.com で Learning Journey Learning the Basics of SAP Fiori を参照してください。
  1. ABAP コードをクラスに記述し、FileNewABAP Class を選択します。
  2. プロジェクトが正しいことを確認するダイアログボックスが表示されます。
  3. すでに登録したパッケージの名称を入力します。
  4. Z または Y で始まるクラスの名前を入力します。最大 30 文字と A ~ Z 文字、0 ~ 9 桁の数字、およびアンダースコア記号を使用できます。
  5. 追加オプションを選択してクラスにインタフェースを追加し (この例では IF_OO_ADT_CLASSRUN)、コンソールへの出力を許可します。
  6. フィルタ項目を使用して、一覧のエントリ数を制限します。
  7. インタフェース (IF_OO_ADT_CLASSRUN) をダブルクリックします。
  8. ABAP クラスダイアログボックスに戻ると、新しいインタフェースが表示されます。
  9. Next を選択します。
  10. 次に、クラスを移送依頼に割り当てます。
  11. 自分が関与している依頼から選択で、パッケージの登録に使用した依頼をマークします。
  12. Finish を選択します。
初期ソースコードを示す、新たに作成された ABAP クラスのスクリーンショット

インタフェース IF_OO_ADT_CLASSRUN により、ABAP Development Tools (ADT) で F9 キーを使用してクラスを実行することができます。これを行うと、METHOD if_oo_adt_classrun~main と ENDMETHOD の間のコードが実行されます。このコードブロックでは、ADT コンソールで情報を出力できます。

'Hello World' をコンソールに印刷する ABAP コードのスクリーンショット

コードブロックで、out->write( ) を使用してコンソールに情報を表示できます。ライン

Code Snippet
1
out->write( "Hello World" ).
"Hello World" をコンソールに出力します。重要なのは、この時点でどのように機能するかを把握しておく必要はありません。コードを入力するだけで、以下のことが保証されます。

  • 書込と開括弧の間にスペースがありません
  • 開括弧の後に少なくとも 1 つのスペースがあります
  • 閉じ括弧の前に少なくとも 1 つのスペースがあります
  • 行の末尾に期間があります
ソースコードエディタビューの構文エラーの横にあるエラーシンボルと Problems ビューのエラー説明のスクリーンショット

ABAP Development Tools によってコードがチェックされ、エディタの左側の余白にエラーに赤色の背景に白い十字マークが付けられます。

エディタの下の Problems ビューで、対応するエラーメッセージを確認することができます。また、ABAP Development Tools では、エディタでマウスをエラーシンボル上に移動すると、ポップアップと同じメッセージが表示されます。

有効化ボタンをクリックすると、ソースコードバージョンが無効から有効に変更されます。

ABAP オブジェクトを実行するには、有効化する必要があります。オブジェクトを有効化すると、構文がチェックされ、オブジェクトが保存され、オブジェクトの実行時バージョンが生成されます。構文エラーがある場合、オブジェクトは有効化されません。オブジェクトを有効化するには、ツールバーの Activate アイコンを選択するか、キーボードショートカット Ctrl + F3 (キーボード上) を使用します。プロパティビュー (通常は ABAP エディタの下のタブ) で、オブジェクトが有効かどうかを確認することができます。

コンソールビューで出力メッセージ 'Hello World' のスクリーンショットの横にあるソースコードをクリックした後に Run as ABAP Application ボタンが表示されたコンテキストメニューのスクリーンショット

クラスを実行するには、キーボードで F9 を選択するか、エディタを右クリックし、Run asABAP Application (Console) を選択します。出力である "Hello World" がコンソールに表示されます。コンソールビューが表示されない場合は、WindowShow ViewOther... を選択し、Console ビューを選択します。

Eclipse エディタの使用

以下に、ABAP エディタでコードを記述する際の重要なキー機能をいくつか示します。

ABAP エディタの主要機能

ボタンキーボードコマンド内容説明
CTRL + S保存
Ctrl + F2構文チェック
CTRL + F3有効化
F9ABAP アプリケーション (コンソール)

Hello World アプリケーションの作成

ビジネスシナリオ

あなたは SAP カスタマのプログラマであり、新しい ABAP 開発ツールを使用します。Eclipse で ABAP クラスを登録し、有効化して ABAP アプリケーションとして実行します。

このクラスを、以前に登録したパッケージに割り当てます。クラスにインタフェース IF_OO_ADT_CLASSRUN を実装して、クラスを Eclipse コンソールアプリのメインプログラムとして使用できるようにします。

注記

この演習問題では、XX は各自の番号を示します。

ステップ

  1. 前に登録したパッケージで、ZCL_XX_HELLO_WORLD という名称の新規 ABAP クラスを登録します。インタフェース IF_OO_ADT_CLASSRUN が使用されていることを確認します。クラスを移送依頼に割り当てるように求められたら、前の演習問題で登録した移送依頼を使用します。

    1. FileNewABAP Class を選択します。

    2. パッケージ ZS4D100_XX (XX は各自の番号) を入力します。 

    3. 名称 ZCL_XX_HELLO_WORLD (XX は各自の番号) を入力し、クラスの内容説明を入力します。

    4.  追加... を選択します。(インタフェースグループボックスの横)。

    5. フィルタテキスト IF_OO_ADT_CLASSRUN を入力します。該当対象一覧で一致するエントリをダブルクリックします。

    6. Next を選択します。

    7. 自分が関与している依頼および自分の移送依頼から選択を選択します。

    8. Finish を選択します。

  2. if_oo_adt_classrun~main( ) メソッドで、out->write( ) を使用してフレーズ Hello World を出力します。

    1. エディタで、METHOD if_oo_adt_classrun~mainENDMETHOD の間に以下のコーディングを入力します。out->write( | Hello World | ).

  3. クラスを有効化してテストします。

    1. Activate (Ctrl-F3) を押します。

    2. F9 を押して、クラスを実行します。

  4. Eclipse の Console ビューで出力を確認します。

    1. エディタビューの下の新しいタブとして開いた Console ビューを確認します。

    2. Console ビューが表示されない場合は、WindowShow viewOther を選択して開きます。該当対象一覧でコンソールをダブルクリックします。

      Code Snippet
      12345678910111213141516
      " Full Solution Code CLASS zcl_s4d100_hello_world_sol DEFINITION PUBLIC FINAL CREATE PUBLIC. PUBLIC SECTION. INTERFACES IF_OO_ADT_CLASSRUN. PROTECTED SECTION. PRIVATE SECTION. ENDCLASS. CLASS zcl_s4d100_hello_world_sol IMPLEMENTATION. METHOD if_oo_adt_classrun~main. out->write( | Hello World! | ). ENDMETHOD. ENDCLASS.

      実践する