毛利 亜紀子(もうり あきこ)
SAPジャパン フィールドサービス統括本部 エデュケーションサービス事業本部コンサルタント。SAP NetWeaver,エンタープライズSOA関連のトレーニングデリバリーを担当。

 前回は,ABAPプログラムの開発と実行に必要な試用版プラットフォームのインストールについて説明しました。今回は,この環境を使用して最も簡単なプログラムを開発してみます。ABAPプログラムの開発には「ABAPワークベンチ」と呼ぶプラットフォーム上の開発環境を使用します。

 では,前回と同じ手順でSAPシステム「NSP」にログオンしてください。ログオン画面の「Language」項目で,JA(日本語),EN(英語)などのログオン言語を指定することができます。しかし,この試用版プラットフォームでは日本語環境を使用できないため,デフォルト言語(英語)を使用してください。

 画面左側のメニュー・ツリーから「Tools→ABAP Workbench→Overview」とパスをたどり,「SE80 Object Navigator」をダブルクリックして(図1),「オブジェクトナビゲータ」を起動します(図2)。

図1●SAPシステムにログオン後,左側メニューツリーで「SE80 Object Navigator」をダブルクリック
図1●SAPシステムにログオン後,左側メニューツリーで「SE80 Object Navigator」をダブルクリック
[画像のクリックで拡大表示]

図2●オブジェクトナビゲータ起動直後の画面
図2●オブジェクトナビゲータ起動直後の画面
[画像のクリックで拡大表示]

 このツールは,ABAPワークベンチの各種ツールにアクセスするエントリ・ポイントになります。対象のオブジェクト・タイプに応じて,ソースコード編集を行う「ABAPエディタ」,「Dynpro」と呼ぶ画面設計ツールのスクリーン・ペインタ,メタデータ管理ツールの「ABAPディクショナリ」などが自動的に起動されるので,効率的に開発を進めることができます。

 オブジェクトナビゲータが表示されたら,画面左側のエリアで「Local Objects:BCUSER」が選択済みであることを確認してください。

 プログラムは「パッケージ」と呼ばれるグループに分類されます。「ローカルオブジェクト($TMP)」は各ユーザーのローカル開発で利用できるパッケージの一種です。もし各自のローカルオブジェクト領域が選択されていない場合,ドロップダウンリストから「Local Objects」を選択し,各自のユーザー(BCUSER)が表示されるのを確認して検索ボタンボタンを押します。

 新しいプログラムを登録するには「$TMP BCUSER」エントリで右クリックし,「Create→Program」とパスをたどります(図3)。

図3●「$TMP BCUSER」を右クリックし,「Create→Program」で新規プログラムを追加
図3●「$TMP BCUSER」を右クリックし,「Create→Program」で新規プログラムを追加
[画像のクリックで拡大表示]

 表示されたポップアップにプログラム名を入力します(図4)。任意の名前で構いませんが,カスタマ・プログラムはZまたはYの接頭辞を使用するという名称領域のルールがあるので,これに従います。また「With TOP INCL」のチェックボックスをオフにしてください。これによりインクルードなしのシンプルなプログラムを登録します。

図4●プログラム名を入力するダイアログ
図4●プログラム名を入力するダイアログ

 次に表示される二つのポップアップは,プログラムの属性設定です。最初のポップアップでは,プログラムの表題やタイプを設定できます。デフォルトのプログラム・タイプは「実行可能プログラム(Executable Program)」です。

 次に表示されるポップアップでは,パッケージを指定できます。ローカルオブジェクト領域でプログラムを登録したため,「$TMP」が選択されています。今回はどちらのポップアップもデフォルト設定のまま「Save」ボタンを押します。これで,新しいABAPプログラムが登録されました!

 画面右側に表示されたのがABAPエディタです(図5)。ソースコードの*で始まる行は,コメント行です。その下の「REPORT …」はプログラム宣言命令です。この下位にABAP命令をコーディングしていきます。

図5●画面右に,ソースコードを記述するABAPエディタが表示されたところ
図5●画面右に,ソースコードを記述するABAPエディタが表示されたところ
[画像のクリックで拡大表示]