2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TROCCOでSAPのデータをどうにか取得したい

Last updated at Posted at 2025-12-27

この記事は 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キー。
ここで迷うことは特になかったです。
スクリーンショット 2025-12-02 120551.png
スクリーンショット 2025-12-02 120605.png

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

ここまでは順調。BQ側の設定(https://documents.trocco.io/docs/data-destination-bigquery?highlight=BIGQUERY)
はサクッと済ませて、"まあ細かい設定はあとでやろう” ということではやる気持ちを押さえられずにTESTRUNしてみます。

が、ここでつまづき①
これはS/4、BYDともに起こりえそうですが、読込Timeoutのエラーが出ました。
エラーログを見ながら、接続/読込タイムアウトの時間などもちょこちょこ調整していきます。
BYDはパフォーマンスの問題もあり、以下の通り、かなり長めの設定にしました。
スクリーンショット 2025-11-11 152319.png

"ふー無事解決。今度こそ!”
再度TESTRUNしたら無事にデータ取得出来ました!
この瞬間結構好きなんです、取れたぜ!みたいな。
スクリーンショット 2025-12-02 124951.png

と思ったものの、
"あれ?なぜレコード数が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様様。
スクリーンショット 2025-12-26 174602.png

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

パラメータやHTTPSヘッダーの項目は、ODataを扱えればそれほど難しくないですね。
スクリーンショット 2025-12-26 174628.png

認証周りはエンコードで凡ミスして少し苦戦したものの、
晴れてデータが取得出来ました!!

エンコードの凡ミスなんてしない方であれば、こちらも実質3hくらいでデータ取得まで出来るかと思います。

現在地

一度データが取れたらこちらのものです。
売上、在庫をはじめとしたトランザクションデータはもちろん、得意先、倉庫、予算などのマスターデータもどんどんTROCCOでBQに流して、同じくTROCCOのデータマート定義でどんどんJOBを回して、データ生成・集計が劇的に変わり始めております。さらば表計算ツール!

さいごに

長きにわたってテクニカルなサポートくださったCSのNさん、Kさん、トライアルの為にプランを調整してくださった営業のMさん本当にありがとうございました!
もしTROCCOユーザかつBYDユーザの方がいらしたら、ぜひぜひコメントお待ちしております。
マニアックなシステムなので情報交換させてください。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?