SAPマイグレーションによるabap の改修ポイント

SAPマイグレーションによって、現行システムで動いていたアドオンプログラムはそのまま継続して使用できるのかどうかは気になる所だとおもいます。もちろんそのまま使用できるアドオンプログラムもありますが中には改修が必要なケースも存在します。その理由の一つがSAPのプログラム言語である「abap (アバップ)」によるものです。今回はSAPのプログラム言語「abap の改修ポイント」について解説します。

SAPマイグレーションとアドオンプログラム

SAPマイグレーションによって、これまで使用していたアドオンプログラムにどのような影響があるのでしょうか?もちろん最初に述べたとおりまったく改修せずに従来どおりそのまま使用できるアドオンプログラムはあります。

では、改修が必要なプログラムはどのようなプログラムなのか説明したいとおもいます。

それはS/4HANAでは廃止となった機能を使用しているものや、廃止となったデータベースを使用しているプログラムです。

廃止となった機能とはどのような機能があるか、例えば「BPマスタ」です。従来は個別のマスタとして「仕入先マスタ」、「得意先マスタ」それぞれで管理されていましたがS/4HANAでは「BPマスタ」として一元管理されるようになりました。よって「仕入先マスタ」「得意先マスタ」を使用しているアドオンプログラムはそのままではS/4HANAでは使用することができません。使用している場合はどちらもS/4HANAの新機能である「BPマスタ」を使用するように改修する必要があります。また機能として「仕入先マスタ」「得意先マスタ」を使用していなくても、データベースを使用している場合は改修が発生する可能性があります。「BPマスタ」では従来の「仕入先マスタ」「得意先マスタ」で紐づいていたデータベースを基本的にはそのまま利用しています。しかし、一部のデータベースは新しく設定されています。そのため「仕入先マスタ」「得意先マスタ」の機能を使用していなくても、データベースを使用している場合は改修しないといけません。

また機能は廃止されていなくても、一部変更がある機能もあります。画面の項目が追加されたり、削除されたり、出力されている位置が変更している機能です。機能が廃止されず従来どおり存在するので、一見改修の必要はないように思いますが、このような変更のあった機能を「バッチインプット」で使用していた場合には改修する必要があります。変更のあった項目を使用していない場合は、特に改修の必要がないかもしれません。しかし変更のあった項目を使用している場合は、改修しないとまず正常には動きません。その場合は、変更のあった項目の「バッチインプット」を改修するか、変更対象が複数ある場合は、BAPIなどに変更する必要があるかもしれません。

SAPマイグレーション すべての選択肢 大全集

SAPマイグレーションで使用できないabap(アバップ)

それではS/4HANAにマイグレーションされたことにより、機能やデータベースの影響を受けなかったアドオンプログラムはどうでしょうか?

繰り返しになりますが、基本的にはabapプログラムを改修することなく従来のまま使用できるアドオンプログラムはあります。しかしここで問題が一つあります。従来のアドオンプログラムのまま使用した場合、せっかくマイグレーションしてもS/4HANAの特性の高速化されたデータベースとして利用することができないのです。S/4HANAにマイグレーションしたのに高速処理を使用しないなんてもったいなくないですか?それではどうすれば高速データ処理を利用できるのでしょうか?

まず一つ目はselect文によるデータベースの操作です。改修するポイントは「,(カンマ)」と「@(アットマーク)」です。「,(カンマ)」の改修箇所はとても簡単です。これまでは取得したい項目のプログラムは「select 項目名」と記載していましたが「select 項目名」の後ろに「,(カンマ)」を付けるだけです。「select 項目名,」となるのです。複数の項目を取得する場合は同様に、「select 項目名,項目名,項目名,項目名,項目名」となります。注意点としては最後の「項目名」の後ろには「,(カンマ)」を付けないという点です。

次に「@(アットマーク)」です。こちらも「,(カンマ)」同様とても簡単です。「into句」や「where句」などに記載する「変数名」「内部テーブル名」の前に「@(アットマーク)」を付けるだけです。例えば、「into句」の場合は、これまで「into table 内部テーブル名」でしたが、S/4HANAでは「into table @内部テーブル名」となります。同様に「where句」の場合は、これまで「where 項目名 = 変数名」となっていたのが、S/4HANAでは「where 項目名 = @変数名」となります。「,(カンマ)」の時もそうでしたが、「@(アットマーク)」も同様に複数の記載がある場合にはそれぞれの「内部テーブル名」「変数名」の前に「@(アットマーク)」を付ける必要があります。「where 項目名A = @変数名A AND 項目名B = @変数名B 項目名C = @変数名C」といった記載となります。以上の2つの改修をすることで高速データ処理を利用できるようになります。

さらに、上記の改修によって次のような利点もあります。それは一度に多くのデータベースを利用できることです。従来までだと一度に多くのデータベースを利用するために、select文で結合を使って多くのデータベースを指定すると指定したデータベースの数に応じて処理は遅くなりました。そのため、従来はselect文で結合するデータベースを制限して、select文を複数回実施することで利用したいすべてのデータベースからのデータ取得処理を行う必要がありました。しかし、S/4HANAではその心配がなくなりました。一度に多くのデータベースを利用しても処理が遅くなることはないのです。これまでのようにselect文を何度も実施することなく、利用したいデータベースを結合することで一度にデータベースからのデータ取得が可能です。また従来はデータベースからデータ取得してローカルでデータの編集をしていましたが、S/4HANAによる高速データ処理が実現できたため、データベース操作時に一緒にデータ編集をしても問題ありません。

さらにもうひとつ変化した点があります。それはselect文で使用できる関数です。もちろんこれまでも使用できる関数はありましたが、従来はデータベースにアクセスするだけで処理に時間を要していたため必要なデータを取得してからローカルで関数を使って編集していました。しかし、S/4HANAの高速データ処理によりデータベースアクセス時の関数の使用でも高速処理を実現します。またそれに伴い使用できる関数の量も増えております。

SAPマイグレーションによるabapの改修ポイント まとめ

ここまで説明したとおり従来のままアドオンプログラムを利用できるという選択肢も、工数などのコスト面から考えると利点かもしれません。しかしS/4HANAに対応した改修をすることでより便利な利用が可能となるの、SAPマイグレーションの選択肢も検討されてはいかがでしょうか。これまで説明した以外にも新しい技術である(AMDP、Fiori等)が使用できる利点があります。これらの新しい技術によりさらなる処理の高速化やモバイル対応といったことも可能となるのです。

パソナテックではSAP S/4HANAマイグレーションを検討する際に欠かせない、考慮すべきポイントをまとめた入門資料「SAP S/4HANAへの道知っておくべきこと、今からやれること、とは?」をご用意しました。本資料は、SAP S/4HANAマイグレーションへ進む方へ必見の資料です。ぜひダウンロードいただき、ご覧ください。

SAP S/4HANA マイグレーションで知っておくべきこと、今からやれること、とは?
SAPマイグレーション すべての選択肢 大全集