アドオン開発とは
4.1 アドオン開発とは
はじめに
SAP S/4HANA には、前章でも触れてきたような販売・購買・会計などの業務で利用できる標準機能が多く用意されています。
しかし、企業ごとに業務ルールや必要な帳票の形式、入力チェックの条件などが異なるため、標準機能や設定だけでは対応できないケースもあります。
そのような場合に、SAPを拡張して必要な機能を追加する開発を行います。
本章では、SAPの拡張開発に利用されるプログラミング言語、ABAP(アバップ:Advanced Business Application Programming) と、代表的な拡張方法であるアドオン開発 について説明します。
アドオン開発とは
アドオン開発とは、SAPが標準で提供している機能に対して、企業の要件に合わせて機能を追加・変更する開発のことです。
SAPではまず「標準機能」と「設定(パラメータ設定)」で対応できるかを確認し、それでも不足する部分をアドオン(追加機能) として補います。
アドオン開発では主に、ABAPを用いて次のような機能を作成します。
- 業務ユーザーが操作する画面の追加・変更
- 業務結果を見やすく出力する「帳票」の作成
- 入力ミスを防ぐための入力チェックの追加
- 他システムとデータをやり取りする連携(I/F:インターフェース)
- 大量処理・定期処理のためのバッチ処理
以降では、具体例を通してアドオン開発が必要となる場面を確認します。
開発対象の決め方
SAPのERPパッケージには各業務で利用する標準的な機能(標準機能)が、
たくさん用意されています。
また、ERPパッケージにおける開発の基本的な考えとしては、
システムの複雑化※をさける為、なるべく標準機能を用いて、
「アドオン開発(追加開発)を極力抑える」事としています。
※バージョンアップする際に、新しいバージョンに合わせるために
改修などが必要となります。
しかし、各企業には用意された標準機能では実現できないような企業固有の業務があり、
それらは、企業独自の強みにもつながっています。
商習慣を維持し、これまでと極力変わらない環境でERPパッケージを構築する事は
企業にとって非常に重要であり、そのためにもアドオン開発は欠かせない存在ということです。
開発対象の決め方の例
アドオン開発は要件に応じて必要な内容をカスタマイズできるためとても便利ですが、作りすぎると次のような負担が増える可能性があります。
- 開発・テストの工数が増える
- 変更箇所が増え、保守が難しくなる
- S/4HANAのアップグレードやパッチ適用の際に、影響確認や調整が必要になる場合がある
そのため、SAP導入・移行では一般的に 「標準機能・設定を優先し、必要な部分のみアドオンで対応する」 方針が採られます。
この検討の進め方としてよく使われるのが Fit & Gap(フィット&ギャップ) です。
Fit & Gap とは、要件を整理しながら「標準で対応できる部分(Fit)」と「標準では不足する部分(Gap)」を区別する作業です。
Gapに対しては、業務の見直しで対応するのか、アドオン開発で対応するのかを判断します。
開発対象の決め方の例
例として、○○会社がSAPのERPパッケージを導入することになり、伝票転記の業務フローでどのようにシステムを利用するかを検討している状況を想定します。 要件をまとめるために、以下の項目を確認します。
- 1. 既存業務フローの確認
- 2. Fit & Gapの実施(帳票要件の確認)
- 3. 新業務フローの定義と対応方針の決定
現状の業務を手順ごとに分解し、必要な入力項目、承認条件、帳票要件を整理する。
従来利用していた承認用帳票と、SAP標準で用意されている帳票を比較したところ、必要な出力項目や形式が一致せず、そのままでは運用できないと判断した。
承認業務に必要な項目・形式を満たすため、承認用帳票をアドオン帳票として新規作成する方針とした。
このように、業務の整理 → Fit & Gap → 新業務フロー定義の流れで、アドオン開発する対象を決めていきます。
既存業務フローの確認
まず現状の業務がどのような手順で行われているか(既存業務フロー)を整理します。
既存業務フローでは、業務の手順(申請→承認→登録→照会など)と、各手順で扱う情報(伝票、マスタ、帳票)を整理します。
あわせて、入力必須項目や承認条件、帳票に必要な出力項目など、業務上の要件を洗い出します。
SAPのERPパッケージを利用するにあたりFit & Gapの実施
既存業務フローと要件が整理できたら、次に Fit & Gap(フィット&ギャップ) を実施します。
Fit & Gapとは、要件に対してSAPの標準機能・設定で対応できるかを確認し、以下のように分類する作業です。
●Fit:標準機能・設定で対応できる(そのまま使える/運用で吸収できる)
●Gap:標準だけでは不足する(追加対応が必要)
Gapが見つかった場合は、一般に次の優先順で対応方法を検討します。
- 運用の見直し(標準に合わせられないか)
- 設定での調整(追加開発なしで実現できないか)
- アドオン開発(ABAPで追加機能を作成する)
今回は、これまで利用していた承認用帳票と、SAP標準で用意されている帳票とを比べて出力項目や形式が一致しないため、アドオンにて新規で帳票を作成することとなりました。
新業務フローの定義
Fit & Gapの結果をもとに、SAP導入後の新しい業務フローを定義します。
このとき、どの部分を標準で行い、どの部分を設定で調整し、どの部分をアドオンで補うのかを業務手順に落とし込みます。
図の例では、従来の業務フローに対して、「アドオン帳票出力」の新規工程が追加されました。
これにより、伝票を転記する前に、承認に必要な情報を帳票として出力し、内容を確認・承認してから本登録(会計伝票として正式に記録すること)を行う流れになります。
つまり、新業務フローでは、
① SAP標準:未転記伝票の作成・登録、および最終的な伝票転記
② アドオン:承認に必要な形式で帳票を出力する処理(標準帳票では不足する部分を補う)
③ 業務運用:承認者による内容確認(承認プロセス)
という形で、役割分担が明確になります。
このように、Fit & Gap で不足点(Gap)を特定したうえで業務手順に組み込み、「業務として実行できる形」 まで具体化した段階で、アドオン開発の対象と範囲を確定します。
よくある開発
アドオンプログラムは業務ユーザーが直接利用するものだけでなく、さまざまな目的で開発されます。
ここでは代表例を確認します。
本書では、業務ユーザーが直接利用する 画面/帳票 を中心に扱いますが、補足として、大量データを処理するバッチ処理や、他システムとデータを連携するインターフェース(I/F) があることも押さえておきます。
アドオン開発の種類
業務ユーザーが直接利用するアドオンプログラム(画面・帳票・チェック)
主に日常業務の中で、ユーザーが画面を操作するときに使うアドオンです。
- 標準機能へのチェック:入力ミスを防ぐ
- 登録/照会画面、帳票出力:欲しい形で見たい・出したい
SAPの標準画面に対して、会社独自のルールに基づくチェックを追加します。
例:伝票登録のとき、取引先によって「転記金額の上限」を超えないようにチェックする。
標準機能では入力できない情報を登録する画面や、必要な情報を見やすく表示する照会画面を作ります。また、会社の運用に合わせた項目・並び順・形式で帳票(一覧・印刷物)を出力できるようにします。
バックグラウンドにて利用するアドオンプログラム(連携・大量処理)
業務影響の少ない時間帯(夜間)に、ユーザーが画面を操作しなくても、サーバ側で自動的に動く処理です。
- 他システムへのインターフェース(I/F) を追加開発
- バッチ処理(大量データ一括処理) を追加開発
多くの企業では、SAP以外にも会計・人事・販売など複数のシステムを利用しています。
そのため、SAPと他システムの間でデータをやり取りするためのプログラム(I/F)を作成します。
例:SAPのデータを他システムに渡す/他システムのデータをSAPに取り込む。
大量のデータをまとめて処理する方式をバッチ処理と呼びます。 たとえば、日中に入力されたデータを夜間に自動実行するように登録しておき、集計や一括更新を行います。 翌日には、処理済みの結果を業務ユーザーが利用できる状態になります。
ツールとしてのアドオンプログラム(運用・監視・移行)
- 運用/監視ツール
- 移行ツール
SAP導入後、システムを安定して運用するために、 マスタデータのメンテナンスを支援する画面や、処理状況・エラーを確認する監視ツールを作成することがあります。
運用開始前に、旧システムからSAPへデータを移す必要があります。 そのため、データを取り込み・変換・登録するための移行ツールを作成する場合があります。
このように、アドオンプログラムは「画面で使うもの」「自動で動くもの」「運用や移行を支えるもの」など、さまざまな目的で作成されます。