1. はじめに
SAP Public Cloudに携わるようになり、必然的に“クリーンコア”という概念に直面することになりました。
クリーンコアとは、SAPの標準コアを改修せずに保ち続ける考え方・思想を指します。
クリーンコアを実現するため、拡張開発をしたい場合は 「In-App拡張」 と 「Side-by-Side拡張」の二つのアプローチが基本になります。しかし、上記の開発手段の中であれば何をしてもいいのか?という些細な疑問が発生しました。
結論から言うと、In-App拡張やSide-by-Side拡張を使っていれば必ずしもクリーンコアが守られるわけではありません。
では、結局どこまで拡張すれば“クリーンコア”を守っていると言えるのか。この点について、自分の視点でまとめてみました。
2. なぜクリーンコアが必要なのか
結論として、クリーンコアの本質は “SAP標準のデータモデルを維持すること” にあると私は考えています。
SAP自身も「Intelligent ERP」を掲げていて、そのベースにあるのがまさに標準データモデルです。
※「Intelligent ERP」とは、AIや機械学習、リアルタイム分析などの最新技術を組み込み、継続的に進化する“次世代型のERP” を指します。
もし会社ごとに好き勝手にデータ構造を変えてしまったら、せっかくSAPが提供してくれる最新機能や、AIを使った高度な分析をうまく活かせなくなってしまいます。
AIが正しく学習して判断するには、まずデータが一貫していて「AIでも理解できる状態」になっていないといけません。
だからこそ、標準データモデルを壊さずに維持することは、AI時代にERPを進化させるための大前提だと考えています。
3. データモデルを壊すとは何か
「クリーンコアを守る」とは、突き詰めると SAP標準のデータモデルを壊さないこと です。
では、実際に“壊す”とはどんなことを指すのか?を整理してみます。
壊している例
標準フィールドの意味を変えて使う
人間の現場担当は「これはXXXXだ」と理解できても、標準アプリやAIは標準項目の意味として解釈してしまうため、分析も処理も破綻します。
標準マスタをコピーしてカスタムのマスタを作る
マスタに限らず、標準が提供するベストプラクティスを無視して独自の業務フローをカスタムで作ってしまうと、標準との整合性が崩れてしまいます。
その結果、人間には区別できても、AIや分析ツールから見ると「どのデータが本物か」判断できず、正しく理解されないデータを生み出してしまいます。
以上2つの例を挙げてみました。
4. データモデルを壊さない拡張とは
ここまで「壊してしまう例」を挙げましたが、実際の業務要件に合わせて拡張をしなければならない場面は必ずあります。
大事なのは、標準データモデルを壊さずに拡張することです。
例えば下記があります。
カスタム項目を追加する
不足している情報があれば、標準の項目を流用するのではなく「拡張項目」として追加します。
公開APIを経由して更新する
標準テーブルを直接更新せず、必ずAPIやRAP BOを経由してデータを更新します。
標準のチェックロジックや後続処理が正しく実行され、データの一貫性を守れます。
5. まとめ
クリーンコアを守る上で大切なのは、どの拡張手段を使ったかではなく、標準のデータモデルを壊さずに維持できているかどうかです。
一方で、拡張がたくさんあっても、標準のキーや構造を尊重してデータモデルを守って設計できていれば、それはクリーンコアを守っていると言えます。
この視点を持つことで、アップデートに強く、AIにも理解されやすいシステムに近づけるのだと思います。
最後に、この内容はあくまで私の視点でまとめたもので、公式ドキュメントの解説ではありません。読んでくださった方の現場での工夫や意見もぜひコメントで教えていただけると嬉しいです!