
三崎レイナ
社会人1年目。新卒でITコンサルティングファームに就職。初配属がSAPプロジェクトにアサインされる。SAPがわからないことだらけで悩んでいたところ、会社の先輩にSAPラボの所長を紹介され、毎週末に所長とSAPのお勉強中!

博士
SAPラボの所長。SAP大好き博士!SAP導入プロジェクトを構想策定~運用保守まであらゆるフェーズを数多く経験。
いまは優しきおじいちゃんだが、プロマネバリバリの時代はかなり怖かったらしい。現在は引退し、SAPの後進育成と啓蒙活動に従事中!
登場人物紹介
三崎レイナ
社会人1年目。新卒でITコンサルティングファームに就職。初配属がSAPプロジェクトにアサインされる。SAPがわからないことだらけで悩んでいたところ、会社の先輩にSAPラボの所長を紹介され、毎週末に所長とSAPのお勉強中!
博士
SAPラボの所長。SAP大好き博士!SAP導入プロジェクトを構想策定~運用保守まであらゆるフェーズを数多く経験。
いまは優しきおじいちゃんだが、プロマネバリバリの時代はかなり怖かったらしい。現在は引退し、SAPの後進育成と啓蒙活動に従事中!
この記事を読むメリット
汎用モジュールはどういうもので、どうやって作成したらいいんだろう?
SAPの汎用モジュール(Function Module)はABAPでコーディングされる共通機能です。
当記事では基本知識となる汎用モジュールの概要と汎用モジュールの作成方法について解説していきますね。
アドオン機能の設計や開発に関わるメンバーであれば必ず知っておくべき事項なので、もし知らない方は要チェックです!
新着のSAPフリーランス案件
【CO】
【FI】
ハードウエアリプレイスに伴うSAPシステム検証支援
【SD】
空調機メーカーS/4導入におけるFiori設計支援
【MM】
【PP】
製造業向けSAP基幹システム保守運用プロジェクト
SAP PPまたはMMモジュールでの業務経験
SAP保守運用の経験
顧客との円滑なコミュニケーション能力
本案件では製造業のエンドユーザー企業におけるSAP基幹システムの保守運用をご担当いただきます。
現在のベンダーからの引継ぎを行い、システム管理、保守運用、周辺システムとの連携などを実施していただきます。
具体的な作業内容としては以下が想定されます。
定常監視
障害対応
顧客報告
周辺システム連携
【MM】
【PP】
【その他】
製造業(自動車部品)のグローバルテンプレートロールイン
MM、PP、EWMいずれかのSAPモジュールにおけるコンサルティング経験
構想・先行検討フェーズの推進経験
グローバルプロジェクトでの業務経験
グローバルテンプレートの維持管理
テンプレートの拡張
業務要件の整理とFit&Gap分析
カスタマイズ設定
関係者との調整
【MM】
【PP】
製造業向けSAP PP領域の工場展開支援
【SD】
大手国内SIer関連会社に対するテンプレート展開PJの要件定義支援(SD)
SD領域における要件定義の対応経験
顧客折衝し業務を推進していける方
導入系プロジェクトの上流経験があり、ミドルクラス以上のスキルをお持ちの方
【FI】
大手国内SIer関連会社に対するテンプレート展開PJの要件定義支援(FI)
【FI】
輸送用機器企業様向けS/4導入案件支援
本案件では輸送用機器企業様の国内基幹システムをSAP S/4HANAへ移行するプロジェクトにおいて、上流工程の支援をご担当いただきます。
同社の海外向けS/4販売物流テンプレートを日本市場向けにロールインするプロジェクトであり、現在は基本設計フェーズに着手しており2027年1月のリリースを予定しています。
このプロジェクトではS/4HANAでの上流工程の業務経験を活かし、要件定義や設計などのフェーズに取り組んで頂きます。
【CO】
【FI】
S/4HANA Privateの導入支援(開発~単体テスト)
【PP】
生産領域(PP)でのテスト工程支援
S/4 HANA移行プロジェクトにおけるPPモジュールのテスト工程支援
結合テスト、システムテスト、ユーザテストの計画・推進・実施
ユーザ教育(業務変更点説明、オペレーション教育)
移行タスクの推進(業務切替、システム切替の周知や啓蒙活動)
【CO】
【FI】
ハードウエアリプレイスに伴うSAPシステム検証支援
【SD】
空調機メーカーS/4導入におけるFiori設計支援
【MM】
【PP】
製造業向けSAP基幹システム保守運用プロジェクト
SAP PPまたはMMモジュールでの業務経験
SAP保守運用の経験
顧客との円滑なコミュニケーション能力
本案件では製造業のエンドユーザー企業におけるSAP基幹システムの保守運用をご担当いただきます。
現在のベンダーからの引継ぎを行い、システム管理、保守運用、周辺システムとの連携などを実施していただきます。
具体的な作業内容としては以下が想定されます。
定常監視
障害対応
顧客報告
周辺システム連携
【MM】
【PP】
【その他】
製造業(自動車部品)のグローバルテンプレートロールイン
MM、PP、EWMいずれかのSAPモジュールにおけるコンサルティング経験
構想・先行検討フェーズの推進経験
グローバルプロジェクトでの業務経験
グローバルテンプレートの維持管理
テンプレートの拡張
業務要件の整理とFit&Gap分析
カスタマイズ設定
関係者との調整
汎用モジュールとは、複数の異なるプログラムから呼び出して使用できる共通部品(関数)です。
複数の機能にて、同じロジックの処理をしたいという要件が発生することがあります。そんな時に汎用モジュールを利用します。
汎用モジュールの基本的な機能としては、大きく分けて以下の3つとなります。
例えば、複数の機能で「単価」と「個数」から「合計金額」を計算したいという要件があったとします。その場合は
という汎用モジュールを作成することで、複数の機能から汎用モジュールを呼び出すことで同じ計算結果を利用することができます。
共通部品(関数)としては、汎用モジュールだけではなくT-CODE:SE24でクラスを定義・作成することも可能です。クラスについては別途解説します!
汎用グループとは一般的に、汎用モジュールを利用目的ごとに取りまとめるグループです。
汎用モジュールは必ず1つの汎用グループに紐付ける必要があります。
※1つの汎用モジュールには複数の汎用モジュールが紐付く構成となります。
汎用グループ内にある汎用モジュールは、変数や内部テーブルなどの定義を共通で利用することができます。
汎用モジュールを作成する際はT-CODE:SE37を使用します。
まずは汎用グループを登録します。
※既存の汎用グループに汎用モジュールを紐付ける場合は省略可能です。
T-CODE:SE37のヘッダメニューの「ジャンプ > 汎用グループ > グループ登録」を選択し、汎用グループIDと名称(内容説明)を入力して登録します。
T-CODE:SE37から登録したい汎用モジュールIDを入力し、「登録」ボタンを押下します。
ポップアップ画面にて紐付ける汎用グループと汎用モジュールの説明文を入力します。
次にインポートパラメータ/エクスポートパラメータを入力します。※いずれも仕様により不要な場合もあります。
インポートパラメータの「任意」にチェックをいれるとプログラムから汎用モジュールを呼び出す際にパラメータの指定は必須ではなくなります。
インポート/エクスポートパラメータ以外にも以下のパラメータを指定することもできます。
以下では例外パラメータで個数(kosu)が0だった場合は「KOSU_ERROR」という例外を出力する例となります。
次に、ソースコードタブにて処理したい内容をABAPで記述します。
以下の例では個数(kosu)が0だった場合は例外を返し、0以外だった場合は合計金額(goukei_kingaku)に単価(tanka)×個数(kosu)を設定する内容を記述しています。
以下は上図のプログラム部分をテキストで記載したものです。
FUNCTION ztest_satofn01. " 作成した汎用モジュール名
*"----------------------------------------------------------------------
*"*"ローカルインタフェース:
*" IMPORTING
*" REFERENCE(TANKA) TYPE PRICE
*" REFERENCE(KOSU) TYPE AMNT
*" EXPORTING
*" REFERENCE(GOUKEI_KINGAKU) TYPE TOTAL_KK
*" EXCEPTIONS
*" KOSU_ERROR
*"----------------------------------------------------------------------
* 個数が0の場合は例外を返す
IF kosu = 0.
RAISE kosu_error.
ENDIF.
* 合計金額を計算する
goukei_kingaku = tanka * kosu.
ENDFUNCTION.
構文チェックしてエラーが無ければ有効化をしてみましょう!
その際に汎用グループを登録した際に自動で登録されるプログラムも一緒に選択して有効化しましょう。
先ほど作った汎用モジュールをテストしてみましょう。
T-CODE:SE37から作成した汎用モジュールを指定し実行ボタンを押下します。
次にインポートパラメータを指定し実行します。
以下は個数(kosu)に0を入れて例外が返される確認です。
次に個数(kosu)に0以外を入れて合計金額(goukei_kingaku)が計算されるかの確認です。
プログラムから汎用モジュールを呼び出す方法も解説をします。
ここではT-CODE:SE38にてABAPプログラムの中から汎用モジュールを呼び出してみましょう。
T-CODE:SE38でプログラムを作成する方法は以下で確認できるぞい!
パターンボタンを押下し、CALL FUNCTIONにて先ほど作成した汎用モジュールを入力してENTERを押下してみましょう。
するとプログラム内に汎用モジュールと定義されたパラメータが記述されたソースコードのフォーマットが自動入力されます。
以下は上記のフォーマットを編集し、単価(tanka)が100・個数(kosu)が9を汎用モジュールに渡して合計金額(goukei_kingaku)を出力する例です。
以下は上図のプログラム部分をテキストで記載したものです。
REPORT ztest_sato18. " 作成したプログラム名
* 変数定義
DATA
g_goukei_kingaku TYPE total_kk. "合計金額
* 汎用モジュール
CALL FUNCTION 'ZTEST_SATOFN01' " 作成した汎用モジュール名
EXPORTING
tanka = 100
kosu = 9
IMPORTING
goukei_kingaku = g_goukei_kingaku
EXCEPTIONS
kosu_error = 1
OTHERS = 2.
* 例外処理
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
* 合計金額出力
write g_goukei_kingaku.
上記プログラムを実行すると、合計金額(goukei_kingaku)が900と正しく計算され出力されることが確認できます。
汎用モジュールは複数の機能で共通化した処理として使えるよう、設計者同士で認識の齟齬がないようにする必要があります。
正常系の処理だけではなく、異常系の処理への対処方法も認識合わせることが重要になります。
汎用モジュールの概要と作成方法についての解説は以上じゃ!
新着のSAPフリーランス案件
【CO】
【FI】
ハードウエアリプレイスに伴うSAPシステム検証支援
【SD】
空調機メーカーS/4導入におけるFiori設計支援
【MM】
【PP】
製造業向けSAP基幹システム保守運用プロジェクト
SAP PPまたはMMモジュールでの業務経験
SAP保守運用の経験
顧客との円滑なコミュニケーション能力
本案件では製造業のエンドユーザー企業におけるSAP基幹システムの保守運用をご担当いただきます。
現在のベンダーからの引継ぎを行い、システム管理、保守運用、周辺システムとの連携などを実施していただきます。
具体的な作業内容としては以下が想定されます。
定常監視
障害対応
顧客報告
周辺システム連携
【MM】
【PP】
【その他】
製造業(自動車部品)のグローバルテンプレートロールイン
MM、PP、EWMいずれかのSAPモジュールにおけるコンサルティング経験
構想・先行検討フェーズの推進経験
グローバルプロジェクトでの業務経験
グローバルテンプレートの維持管理
テンプレートの拡張
業務要件の整理とFit&Gap分析
カスタマイズ設定
関係者との調整
【MM】
【PP】
製造業向けSAP PP領域の工場展開支援
【SD】
大手国内SIer関連会社に対するテンプレート展開PJの要件定義支援(SD)
SD領域における要件定義の対応経験
顧客折衝し業務を推進していける方
導入系プロジェクトの上流経験があり、ミドルクラス以上のスキルをお持ちの方
【FI】
大手国内SIer関連会社に対するテンプレート展開PJの要件定義支援(FI)
【FI】
輸送用機器企業様向けS/4導入案件支援
本案件では輸送用機器企業様の国内基幹システムをSAP S/4HANAへ移行するプロジェクトにおいて、上流工程の支援をご担当いただきます。
同社の海外向けS/4販売物流テンプレートを日本市場向けにロールインするプロジェクトであり、現在は基本設計フェーズに着手しており2027年1月のリリースを予定しています。
このプロジェクトではS/4HANAでの上流工程の業務経験を活かし、要件定義や設計などのフェーズに取り組んで頂きます。
【CO】
【FI】
S/4HANA Privateの導入支援(開発~単体テスト)
【PP】
生産領域(PP)でのテスト工程支援
S/4 HANA移行プロジェクトにおけるPPモジュールのテスト工程支援
結合テスト、システムテスト、ユーザテストの計画・推進・実施
ユーザ教育(業務変更点説明、オペレーション教育)
移行タスクの推進(業務切替、システム切替の周知や啓蒙活動)
【CO】
【FI】
ハードウエアリプレイスに伴うSAPシステム検証支援
【SD】
空調機メーカーS/4導入におけるFiori設計支援
【MM】
【PP】
製造業向けSAP基幹システム保守運用プロジェクト
SAP PPまたはMMモジュールでの業務経験
SAP保守運用の経験
顧客との円滑なコミュニケーション能力
本案件では製造業のエンドユーザー企業におけるSAP基幹システムの保守運用をご担当いただきます。
現在のベンダーからの引継ぎを行い、システム管理、保守運用、周辺システムとの連携などを実施していただきます。
具体的な作業内容としては以下が想定されます。
定常監視
障害対応
顧客報告
周辺システム連携
【MM】
【PP】
【その他】
製造業(自動車部品)のグローバルテンプレートロールイン
MM、PP、EWMいずれかのSAPモジュールにおけるコンサルティング経験
構想・先行検討フェーズの推進経験
グローバルプロジェクトでの業務経験
グローバルテンプレートの維持管理
テンプレートの拡張
業務要件の整理とFit&Gap分析
カスタマイズ設定
関係者との調整
SAPラボでは、SAPの知識を活かして副業をしたい方を募集してるのじゃ!
SAPラボのライターの特徴
・ライティング初心者OK!
・報酬高単価!
・業務委託契約なので副業として最適!
SAP記事執筆者としての活動実績として利用可能なので、転職時や案件探しの際に企業へのアピール材料にもなります。
募集要項
・SAP導入や運用保守プロジェクトへの参画経験1年以上
ご応募/お問合せ先
info@sap-labo.com
少しでもご興味ある方、ぜひお気軽にご連絡下さい!