この記事は TROCCO® Advent Calendar 2025 15日目 の記事を、12日遅れの12/27に投稿しています。
記載内容は個人の見解であり、所属する組織の公式見解ではありません。内容は検証・導入の中で得た知見に基づき記載していますが、誤り等が含まれていましたらご指摘ください。
はじめに
SAP、と言っても本記事で扱うのは、SMB向けの”SAP Business ByDesign”です。ECC6.0やS/4HANAOnPremise、S/4HANACloudではないので、日本では参考になる読者少なめのマニアック記事です。何卒ご容赦を。
そのSAP Business ByDesignからTROCCOを使ってデータを取得します。
またBlog初心者で、だらだらとしたものに仕上がっております。悪しからず。
そもそもSAP Business ByDesignって?
SMB向けのCloud型ERPソリューションです。通称”ByD”と呼びます。
https://www.sap.com/documents/2017/06/b4e1765d-c37c-0010-82c7-eda71af511fa.html
多くの方はSAP=S/4HANA(SAP=ECC6.0の方は移行頑張ってください)かと思いますが、SMB向けにコンパクトなCloudERPとして提供されています。(数年後にEOLのうわさもあったりなかったり、、、)
SAPユーザおなじみのSAPGUIの選択肢はなく、ほぼ100%ブラウザベースです。(機能によっては標準でExcelアドインが提供されているなど、ブラウザ以外のUIもちょこっとあります。でもGUIはなし。)
検証のきっかけ
2023年から在庫・売上管理などなど基幹システムとしてByDを利用してます。自社はSMBの中でも非エンジニアのITチームしかないのでIFの自社開発は難しくて、SIerさんに委託してIFなどを構築してもらってます。
ので改修や新規構築にはコストと時間が、、、、でも基幹システムのデータはデータレイクに貯めてもっと色々活用したい!と思いながら早2年、、、
そんな時にS/4HANA向けコネクターがリリースされたらしいと。
https://primenumber.com/blog/sap_erp_trocco
"S/4ではないけど、ByDも同じODataでデータは取得できるし、なんかいけそうじゃない?"
ということでCustomerSuccessの方にお願いして、AdvancedPlanではS/4コネクタは使えないので、ProfessionalPlanを期間を区切ってPoCさせてもらうことに。
https://primenumber.com/trocco/pricing
検証
まずはSAPコネクターから
結論、一応データ取れました。S/4でなくてもODataであればいけますね。
マニアックな設定もないし、1つつまずきポイントがありましたが、それ込みで実質3hくらいでデータ取得まで出来ました!
良かった良かった。でも実運用には乗れなかったんです。。。
設定フローは以下のpNさんのBLOGに詳細あるので、かい摘んでご説明しつつ、実運用には乗れなかったあたりを含めて解説です。
https://documents.trocco.io/docs/connection-configuration-sap-odata
https://documents.trocco.io/docs/data-source-sap-odata
1. 接続情報を設定
ホスト名、クライアント番号(ByDの場合は不要)、認証方式、ユーザ名+パスワード もしくは APIキー。
ここで迷うことは特になかったです。


2. データ転送設定
データ転送設定で、FROMにS/4を、ToにBQをセットします。
サービスパス、エンティティ名、選択フィールドをセットします。
迷うとしたらここかもしれません。でもODataはURIベースでデータ取得をしてくる仕組みなので、そこの前提が押さえられていれば、あとはデータ取得のためのURIを分解して、TROCCOの各設定項目にセットしていくだけという感じです。
S/4に合わせてTROCCOの方で丁寧に設定項目を用意してくれているので、SAP+ODataのナレッジがあればいけそうです。



ここまでは順調。BQ側の設定(https://documents.trocco.io/docs/data-destination-bigquery?highlight=BIGQUERY)
はサクッと済ませて、"まあ細かい設定はあとでやろう” ということではやる気持ちを押さえられずにTESTRUNしてみます。
が、ここでつまづき①
これはS/4、BYDともに起こりえそうですが、読込Timeoutのエラーが出ました。
エラーログを見ながら、接続/読込タイムアウトの時間などもちょこちょこ調整していきます。
BYDはパフォーマンスの問題もあり、以下の通り、かなり長めの設定にしました。

"ふー無事解決。今度こそ!”
再度TESTRUNしたら無事にデータ取得出来ました!
この瞬間結構好きなんです、取れたぜ!みたいな。

と思ったものの、
"あれ?なぜレコード数が50件?もっとあるでしょ?”
細かいところで落とし穴が、、、
これはSAP ByDesign側の仕様でデフォルトの取得件数が50件のようでした。
かつこれは私の力不足で原因不明のままですが、ページネーションによる取得がうまく動かず。
なので一回のリクエストで取得しないといけないようです。
ということでやむなく、明示的に取得件数を増やします。
上限値を思い切って10,000件くらいにしてしまおう!
と思ったものの、今度はTROCCO側の仕様で、1回のリクエストの取得上限値は1,000件までのよう。
と、この辺りで挫折しました。なかなかうまくいかないですね。
結果
SAP S/4HANAコネクターを使ってByDesignからデータ取得は出来た!
が、MAX1000レコードまで。。。。
件数のものすごい少ないマスタデータとかなら使えるかも。
もっとうまくやっている方いたらぜひご共有ください。
一周回ってHTTPSコネクターに
"他社さんはHTTTPコネクターでBasic認証させて取得しているみたいですよ?"
S/4HANAコネクターで壁にぶつかり、CSさんに助けを乞うたら、上記のアドバイス。たしかにODataでデータ取得しているならHTTPでいけるのか。
盲点でした。早速トライしてみます。
データ転送設定
URLはS/4HANAコネクターと同じなのでさくっとセット。
ユーザエージェントは当初空欄から始めて、TESTRUNでエラーに当たり、Geminiに助けてもらいながら値をセットしていきました。
AI様様。

ページング設定は基本デフォルト値をそのまま採用していきました。
HTTPSコネクタはリクエストごとに取得データ件数上限がないので10000件をセットしちゃいます。

パラメータやHTTPSヘッダーの項目は、ODataを扱えればそれほど難しくないですね。

認証周りはエンコードで凡ミスして少し苦戦したものの、
晴れてデータが取得出来ました!!
エンコードの凡ミスなんてしない方であれば、こちらも実質3hくらいでデータ取得まで出来るかと思います。
現在地
一度データが取れたらこちらのものです。
売上、在庫をはじめとしたトランザクションデータはもちろん、得意先、倉庫、予算などのマスターデータもどんどんTROCCOでBQに流して、同じくTROCCOのデータマート定義でどんどんJOBを回して、データ生成・集計が劇的に変わり始めております。さらば表計算ツール!
さいごに
長きにわたってテクニカルなサポートくださったCSのNさん、Kさん、トライアルの為にプランを調整してくださった営業のMさん本当にありがとうございました!
もしTROCCOユーザかつBYDユーザの方がいらしたら、ぜひぜひコメントお待ちしております。
マニアックなシステムなので情報交換させてください。