汎用グループの登録
Project Explorer でパッケージを右クリック、New > Other ABAP Repository Object を選択し、

ABAP Repository Object ウィンドウで Source Code Library > ABAP Function Group を選択して、Next ボタンをクリックする。

ABAP Function Group ウィンドウが表示されたら、Name 項目に汎用グループ名(この例では、ZADT001)、Description 項目に汎用グループ名称(この例では、「ADT 動作検証用汎用グループ」)を指定して、

Next ボタンをクリックする。

汎用グループが登録されて、ファンクションプールのソースコードが表示されたら、有効化ボタンをクリックする。

移送依頼を選択した後、Activate ウィンドウが表示される。登録した汎用グループ(この例では、ZADT001)が選択されていることを確認して Activate ボタンをクリックする。

Project Explorer の Favorite Packages に登録した汎用グループが表示される。

汎用モジュールの登録
Project Explorer で汎用グループを右クリックして、New > ABAP Function Module を選択する。

ABAP Function Module ウィンドウが表示される。Name 項目に汎用モジュール名(この例では、Z_ADT001_CALCULATE_AREA)、Description 項目に内容説明(この例では「三角形の面積を計算する。」)を入力し、Function Goup 項目に選択した汎用グループ(この例では、ZAT001)が設定されていることを確認し、

Next ボタンをクリックする。

移送依頼を選択後、汎用モジュールのソースコードエディタが表示される。

パラメータの定義
ADT には、SAP GUI の汎用モジュールビルダ(Tr-Cd: se37)のように、パラメータを定義するための画面が存在しない。ソースコードエディタで、FUNCTION ステートメントに IMPORTING、EXPORTING 等のオプションをコードして、パラメータを定義する必要がある。
なお、FUNCTION ステートメントのコメントの通り、汎用モジュールのパラメーターを定義するためのテンプレート functionModuleParameter が用意されている。

コメント行の位置にカーソルを置き、画面下部の Templates タブにある functionModuleParameter をクリックすると、

テンプレート functionModuleParameter のソースコードがカーソル位置にコピーされる。

テンプレートを上書きしてパラメータを定義する。この例では、インポートパラメータに IM_BASE(底辺)と IM_HEIGHT(高さ)、エクスポートパラメータに EX_AREA(面積)をデータ型 i で定義している。

汎用モジュールの有効化
FUNCTION と END FUNCTION の間にロジックをコードし終えたら、

最後に、Activate ボタンをクリックして汎用モジュールを有効化する。

有効化した汎用モジュールを SAP GUI の汎用モジュールビルダで照会すると、

ソースコードエディタで定義したインポートパラメータや、

エクスポートパラメータ、

ソースコードを確認できる。

例外について
例外は、FUNCTION ステートメントの RAISING オプションで定義する。
但し、SAP GUI の汎用モジュールビルダーとは異なり、ADT では任意の名前で例外を定義できない。この例では、コードした例外名 BASE_ZERO_EXCEPTION で構文エラーが発生している。

ADT で汎用モジュールの例外を指定する場合は、予め ABAP のグローバルクラスとして例外を登録しておく必要がある。
なお、グローバルクラスで例外を登録する方法については、「クラス」の章で改めて解説したい。
