外部連携 / ERP / SAP Business ByDesign
SAP Business ByDesign連携ガイド SkyPlanner APSで生産スケジューリングを行うには
このSAP Business ByDesign連携ガイドでは、パートナーやITチームに向けて、ByDesignとSkyPlanner APSを接続する方法を解説します。SkyPlannerは、SAPが公開しているWebサービスを使い、ByDesignと次のデータを双方向で連携します。
- リリース済み製造指図とその工程、Production Models、Bills of Material、Bills of Operations、設備・作業者リソース、品目、在庫、購買発注を取り込みます。
- 各製造指図の計画開始日時と、各工程の主リソースをByDesignに書き戻します。
- 実績数量、スクラップ、完了したタスクを生産ロットに書き戻すこともできます。
- SkyPlannerのWebhookが、スケジュールの変更を発生時に通知します。
SkyPlannerチームは、導入支援の際にREST APIを使ってお客様のByDesignテナントとの連携を設定し、本稼働後もサポートします。このガイドは、連携作業に参加するパートナーや開発者、またはSkyPlannerの公開REST API(APIリファレンス)を使って独自に開発する方を対象としています。
SAP ByDesignの連携インターフェース
ByDesignで公開されているA2X SOAP Webサービスは、リリースごとにWebサービスAPI一覧で確認できます。スケジューリング連携では、次のサービスを使います。
- Manage Production Orders (ManageProductionOrderIn). READ_PROD_ORDERは、要求開始・終了日時、最早および最遅の開始・終了日時、計画所要時間と実績所要時間を含むリソース情報、優先度、実行ステータス、スケジューリングステータスを返します。MAINTAIN_BUNDLE_V2は、EarliestStartPeriodまたはLatestEndPeriodと、工程のMainResourceIDを更新します(SAPヘルプ)。
- Manage Production Lots (ManageProductionLotsIn). MaintainBundleは生産タスクを作成・更新します。報告ポイントごとの実績数量、スクラップ、実績報告完了フラグを登録し、担当従業員と実行時間を記録してタスクを完了させ、リソースの使用実績も登録します(SAPヘルプ)。
- 照会サービス。 Query Production Orders、Query Production Lots、Query Production Model、Query Production Bill of Materials、Query Production Bill of Operations(リソース別の照会も可能)、Query Materials、Read Equipment Resources、Query Labour Resource、Query Purchase Orders、Query Identified Stocks、Determine Availability of Productsを使います。
- OData. ビジネスオブジェクト用のカスタムODataサービスに加え、データソースや分析レポート用のODataも利用できます。SAPは、公開するビジネスオブジェクトについて “companies are fully empowered to decide which business objects”(どのビジネスオブジェクトを公開するかは企業が全面的に決定できる)と説明しています(SAPの連携シナリオ)。
読み取りには照会サービスまたはODataを使い、書き込みには必ず二つのManageサービスを使います。
認証とライセンス
ByDesign側でSkyPlanner用の通信システムを作成し、利用するサービスの通信設定を作成します。各通信設定には専用の技術ユーザーがあります。SAPのセキュリティガイドでは、アプリケーション連携の認証に “user ID plus password, and the X.509 client certificate”(ユーザーIDとパスワード、および同規格のクライアント証明書)を使用すると説明しています(セキュリティガイド)。ODataにはOAuth 2.0を設定できます。各サービスのWSDLは、通信設定またはService Explorerからダウンロードします。
SkyPlanner側では、すべての呼び出しでAuthorization-TokenヘッダーにAPIトークンを指定します。トークンはSkyPlannerのSettings > APIで作成します。APIトークンがあれば開発を始められます。
イベントとポーリング
SkyPlannerはスケジュールが変わるたびにWebhookを送信するため、計画の変更に合わせてByDesignへの書き戻しが行われます。
ByDesign側の変更は、照会サービスをポーリングして取得します。リリース済み製造指図と生産ロットは数分おきに読み取り、品目、在庫、購買発注はそれより長い間隔で読み取ります。照会結果はQueryHitsMaximumNumberValueとLastReturnedObjectIDを使ってページ分割します。既定のページサイズは、SAPのWebサービスのページに記載されています。
データの対応付け
| ByDesignのオブジェクト(インターフェース) | SkyPlannerのオブジェクト | 連携方向 | 頻度 |
|---|---|---|---|
| 品目(Query Materials) | 製品と資材 | ByDesign → SkyPlanner | 初回取り込み後、ポーリング |
| Production Bill of Material(Query Production Bill of Materials) | 製品構成、製品ごとの所要資材 | ByDesign → SkyPlanner | 初回取り込み後は変更時 |
| Production Bill of Operations:工程とSetup、Produce、Tear downの各活動(Query Production Bill of Operations) | 工程とその所要時間、段取り時間、後片付け時間 | ByDesign → SkyPlanner | 初回取り込み後、変更時 |
| Production Model(Query Production Model) | 拠点ごとの製品の工順 | ByDesign → SkyPlanner | 初回取り込み後、変更時 |
| 設備リソースとリソースグループ(Read Equipment Resources) | リソース、リソースグループ、工具 | ByDesign → SkyPlanner | 初回取り込み後はまれに更新 |
| 作業者リソース、稼働時間(Query Labour Resource) | 人員とシフト | ByDesign → SkyPlanner | 毎日、またはSkyPlannerで独自にシフトを管理 |
| リリース済み製造指図と工程(Query Production Orders、READ_PROD_ORDER) | 納期と資材所要量を含む指図・作業 | ByDesign → SkyPlanner | 数分おきにポーリング |
| 生産ロットとタスク(Query Production Lots) | 作業の進捗 | ByDesign → SkyPlanner | 数分おきにポーリング |
| 識別在庫、製品の利用可能数量(Query Identified Stocks、Determine Availability of Products) | 在庫残高 | ByDesign → SkyPlanner | 毎時またはスケジューリング実行時にポーリング |
| 購買発注(Query Purchase Orders) | 購買発注、納入日別の入荷予定資材 | ByDesign → SkyPlanner | 毎時またはスケジューリング実行時にポーリング |
| EarliestStartPeriod、工程のMainResourceID(Manage Production Orders、MAINTAIN_BUNDLE_V2) | 計画開始日時、割り当てたリソース | SkyPlanner → ByDesign | スケジュール変更時にSkyPlannerのWebhook経由で連携 |
| 実績数量、スクラップ、タスク完了(Manage Production Lots、MaintainBundle) | 作業時間の記録と作業者の実績報告 | SkyPlanner → ByDesign | 書き戻す場合は実績報告ごと、またはシフトごと |
| ByDesignには存在しないデータ | 段取り時間マトリクス、複数作業者の配置要件、代替設備・人員 | SkyPlannerで管理 | 導入支援時に設定 |
連携の基本パターン
1. マスタデータの初回取り込み。 品目、Production Models、Bills of Material、Bills of Operations、設備・作業者リソースを読み取ります。リソースの対応付けは意図を明確にして行います。たとえば、四台の設備を含むリソースグループは、一つのリソースグループとして扱うか、四つのリソースとして扱うかを決めます。工具に該当する設備リソースは、SkyPlannerでは利用可能数に制約のある工具として扱います。
2. 製造指図の同期。 リリース済み製造指図とその工程・資材に加え、未完了の購買発注を読み取ります。SkyPlannerは、発注済み資材を購買発注の納入日から利用可能として扱い、購買発注がDeliveredになると在庫を更新します。生産提案は、製造指図になるまでByDesignのSupply Planningに残ります。
3. スケジュールの書き戻し。 エンジンが指図を配置または移動すると、SkyPlannerのWebhookを起点にManage Production OrdersのMAINTAIN_BUNDLE_V2を呼び出します。これにより、EarliestStartPeriodと、SkyPlannerが選択した工程のMainResourceIDを設定します。
4. 製造現場からの実績報告。 作業者はSkyPlanner Mobile ConfirmationsまたはProduction Timerで作業を記録します。その作業時間の記録を基に、スケジュールを最新に保ちます。実績を書き戻すかどうかは選択できます。書き戻す場合は、Manage Production LotsのMaintainBundleで実績数量、スクラップ、完了したタスクと担当従業員を登録します。書き戻さない場合は、従来どおりByDesignで実績を入力します。
5. 管理元と競合時のルール。本番稼働前に、次の内容を文書化してください。
| データ | 管理元 |
|---|---|
| 品目、Production Models、数量、指図・ロットのステータス | ByDesign |
| 工程の順序、開始・終了日時、リソースの割り当て | SkyPlanner |
| 段取り・切替時間マトリクス、工具と作業者の要件、代替リソース | SkyPlanner |
| シフトと非稼働日 | 要件定義で選んだ一方のシステム |
| 実績報告、入出庫、原価計算 | ByDesignで管理。直接入力するか、SkyPlannerの作業時間記録から登録 |
指図の日程を書き込むシステムは一つに決めてください。SkyPlannerがスケジューリングするリソースではLoad Levelingを実行しないでください。また、計画実行によって、SkyPlannerが管理するリリース済み指図の日程が変更されないことを確認してください。
一般的な導入手順
通常、連携の導入は導入支援の開始から数週間以内に完了します。その前に、ByDesignからCSVまたはExcelで出力したリソース、Bills of Operations、未完了の製造指図を使い、30日間の無料トライアルでスケジュールを検証してください。
- マッピング。 データの対応表、管理責任のルール、同期頻度、実績を書き戻すかどうかを確定します。
- ByDesignへのアクセス。 通信システムと通信設定を作成し、WSDLをダウンロードします。まずByDesignのテストテナントで検証してください。
- 初回取り込み。 品目、Production Models、Bills of Material、Bills of Operations、リソース、稼働時間を取り込みます。
- 製造指図と購買発注の同期。 ページ分割、フィルター、再試行を組み込んだポーリングを設定します。
- SkyPlannerでの制約条件の設定。段取り・切替時間マトリクス、工具、作業ごとの必要作業者数、代替可能な機械や人員を設定します。
- スケジュールの書き戻し。 SkyPlannerのWebhookからMAINTAIN_BUNDLE_V2を呼び出します。必要に応じてロットの実績報告も書き戻します。
- 並行テスト。 現行計画と並行してSkyPlannerを動かし、日程を比較してマスタデータを修正します。
- 本稼働。データの一致を確認してから、書き戻しを有効にします。
SAP ByDesign連携で事前に考慮すべき点
- 一回の呼び出しで更新できる日付は一つです。 “The EarliestStartPeriod and the LatestEndPeriod cannot be updated together.”(EarliestStartPeriodとLatestEndPeriodは同時に更新できません。)書き戻しでは開始日を基準にしてください。
- ロックは利用できません。 A2Xサービスはステートレスであるため、SAPはトランザクションロックも論理ロックも適用できないと説明しています。書き込みのたびに指図を再読み込みし、競合に対処してください。
- 完了は取り消せません。 “Confirmation Finished Indicator cannot be unchecked once it is set.”(Confirmation Finished Indicatorは、一度設定するとチェックを外せません。)作業者がタスクを終了した場合にのみ、完了を登録してください。
- 主リソースと追加リソース。 ByDesignのスケジューリングでは主リソースが考慮されます。追加リソースに含まれる作業者や工具もスケジューリング時のチェック対象となるよう、SkyPlannerでは能力に上限のあるリソースとして定義してください。
- 段取りと後片付け。 Bills of Operationsでは、段取りと後片付けをアクティビティとして保持しています。作業順序によって変わる段取り替え時間は、段取り時間マトリクスに移してください。
SAP ByDesign連携の設定とサポートの担当
- SkyPlannerチームが導入時の設定と本番稼働後のサポートを担当します。対象は、合意したWebサービスとODataクエリです。ByDesignの運用方法は企業ごとに異なり、その運用ノウハウを連携設定に反映します。
- ご契約のSAP ByDesignパートナーも参加できます。 パートナーはお客様のテナント、要件定義、拡張機能を把握しているため、SkyPlannerチームと協力して通信設定を作成できます。
- 自社の開発者による追加開発も可能です。 SkyPlannerのREST APIを利用し、
Authorization-TokenヘッダーにAPIトークンを指定して認証します。必要に応じてSkyPlannerチームが支援します。技術資料はSkyPlanner連携ドキュメントをご覧ください。
SkyPlannerは5リソース込みで月額199 €から利用でき、月ごとの請求となります。連携費用は、お客様の業務プロセスと要件に合わせて、ご利用プランとともに事前にお見積もりします。料金、SAP ByDesignの生産スケジューリング、SAP Business ByDesignのページ、ERP連携の総合案内をご覧ください。他のSAPシステムについては、SAP Business OneとSAP S/4HANAの専用ガイドを用意しています。
製造業のお客様によるSkyPlannerの評価
2時間毎週の業務時間を削減
「SkyPlannerによって、Excelのスプレッドシートで行っていた生産計画から、リアルタイムでの生産最適化へと移行できました。」
Kalle Kalliomäki、サプライチェーンスペシャリスト
UTU · 配電盤・開閉装置
生産計画業務で毎週2時間を削減し、新しい作業キューも数秒で生産ラインに届くようになりました。
+90%生産効率が向上
「生産効率が90%向上しました。」
Abdul Rucyinga、IT責任者
Laboratory & Allied · 医薬品製造
生産効率が90%向上し、全リソースを対象に最適化した三か月分の計画を30分未満で作成できるようになりました。
100%2021年以降の納期遵守率
「SkyPlannerによって生産能力が見えるようになり、見通しを持って計画を立てられるようになりました。」
Dan Berglund、COO/CFO
Opes Corporation · 化学品・食品製造
SkyPlannerを導入した2021年から現在まで、納期遵守率100%を維持しています。
停止が減少材料不足による生産停止
「SkyPlannerの価値は、日々の業務で実際に役立つことです。特に納期の設定で力を発揮しています。」
Tommi Männistö、生産計画マネージャー
Eskomatic · 受託機械加工
負荷に応じた自動スケジューリングにより納期の精度が向上し、材料不足による生産停止も大幅に減少しました。
よくある質問
SkyPlannerはSAP ByDesignのどのAPIを使用しますか?
SAPが公開しているA2X Webサービスを使用します。読み取りには、Query Production OrdersやQuery Purchase OrdersなどのQueryサービス、またはカスタムODataを使用します。書き込みにはManage Production OrdersとManage Production Lotsを使用します。
SkyPlannerはByDesignに何を書き戻しますか?
各製造指図のEarliestStartPeriodと、工程のMainResourceIDを書き戻します。必要に応じて、確認済み数量、スクラップ、完了したタスクも製造ロットに登録できます。
ByDesignからSkyPlannerにイベントが送信されますか?
SkyPlannerは数分ごとにByDesignのQueryサービスをポーリングし、指図とロットを取得します。一方、SkyPlannerはスケジュールが変更されるたびにWebhookを送信し、それをトリガーに書き戻しを行います。
SkyPlannerはByDesignへの接続時にどのように認証を行いますか?
SAPのセキュリティガイドに従い、技術ユーザーを用いた通信システムと通信契約を通じて認証します。SkyPlanner自体のAPIでは、Authorization-TokenヘッダーにAPIトークンを指定します。
生産提案もSkyPlannerに送られますか?
SkyPlannerがスケジューリングするのは、リリース済みの製造指図です。生産提案は製造指図になるまでByDesign Supply Planningに保持されます。
連携は誰が構築しますか?
SkyPlannerチームが導入時に設定し、本番稼働後もサポートします。SAP ByDesignパートナーや自社の開発者が、APIトークンを使ってSkyPlannerのREST APIで連携を構築することもできます。