SAP S/4HANA連携ガイド SkyPlanner APSで生産スケジューリング
このガイドでは、SAPパートナー、IT部門、技術面から導入を検討する担当者に向けて、SkyPlanner APSとSAP S/4HANAの接続方法を解説します。SkyPlannerは、SAPが公開しているOData APIを通じて、S/4HANAと双方向に連携します。
- 製造指図、作業、作業区の能力、在庫、未入庫の購買発注を取り込みます。
- 各製造指図の作業に、計画開始日を書き戻して割り付けます。
- 作業者の作業時間記録を、製造指図の作業実績として転記します。
- SkyPlannerのWebhookが、スケジュールの変更を発生時に通知します。
品目、BOM、工順、製造指図、在庫、原価計算は、引き続きS/4HANAで管理します。SkyPlannerチームが導入支援の段階で、お客様のS/4HANA環境に合わせて連携を設定し、本稼働後もサポートします。導入効果については、SAP S/4HANAの生産スケジューリングのページをご覧ください。S/4HANA単独でのスケジューリング機能については、「SAP S/4HANAは設備や人員の実際の能力を考慮した生産スケジューリングに対応しているか?」で解説しています。
SAP S/4HANAとの連携方法
S/4HANAは、外部連携用にODataサービスを公開しています。サービスの一覧はSAP Business Accelerator Hub(api.sap.com)に掲載されています。スケジューリングの連携にはOData V2サービスを使用します。IDocやBAPIも引き続き利用できますが、このガイドでは公開済みのOData APIを使用します。
エディション別の認証方法
- オンプレミスおよびPrivate Edition。 SAP Gatewayでトランザクション
/IWFND/MAINT_SERVICEを使い、サービスを有効化します。連携ユーザーには、対象に応じた権限オブジェクトが必要です。たとえば、作業実績確認にはC_AFRU_AWK、それに伴って転記する入出庫明細にはC_AFKO_AWK、計画手配にはM_PLAF_ORGが必要です。 - Public Edition。 サービスは通信契約を通じてのみ公開されます。SAPのインバウンド通信設定手順に従い、Communication Arrangementsアプリで、SAPの通信シナリオ(
SAP_COM_xxxx)に基づいて通信ユーザー、通信システム、通信契約を作成します。公開するサービスと利用可能な認証方式は、このシナリオで定義されます。
– トークンベース:OAuth、SAML、OpenID ConnectのBearerフローを使用し、ビジネスユーザーへのプリンシパル伝播に対応 – クライアント証明書 – 技術通信用ユーザーによる基本認証
SAPは、トークンまたは証明書による認証を推奨しています。
SkyPlanner側はJWT認証を使用するREST APIで接続します。仕様はSwagger/OpenAPIで公開しています(APIリファレンス)。そのため、ミドルウェアはSAP側の認証とSkyPlanner側のJWTをそれぞれ処理します。
生産スケジューリング用のAPI
| サービス | 使用するエンティティとアクション | 用途 |
|---|---|---|
API_PRODUCTION_ORDER_2_SRV(Production Order, Version 2) | A_ProductionOrder_2、A_ProductionOrderItem_2、A_ProductionOrderOperation_2、A_ProductionOrderComponent_2、A_ProductionOrderStatus_2、A_ProductionRsceTools_2。アクション:ReleaseOrder、ReleaseOperation、ScheduleProductionOrderOperation | 製造指図、工程、構成品目、PRT、ステータス、スケジュールの書き戻し |
API_WORK_CENTERS | A_WorkCenters, A_WorkCenterAllCapacity_2, A_WorkCenterCapacity, A_WorkCenterCapacityInterval_2, A_WorkCenterCapacityShift_2, A_WorkCenterCapPerBucket | 作業区、能力カテゴリ、期間、シフト |
API_PRODUCTION_ROUTING | ProductionRoutingHeader, ProductionRoutingSequence, ProductionRoutingOperation, ProductionRoutingSubOperation, ProductionRoutingMatlAssgmt, ProductionRoutingOpCompAlloc | 指図作成前の計画に使う標準工順 |
API_BILL_OF_MATERIAL_SRV;v=2 | MaterialBOM, MaterialBOMItem, MaterialBOMSubItem | 多階層の製品構成 |
API_PRODUCT_SRV(Product Master A2X) | A_Product | 品目(APIではProduct)。現在、SAPはほとんどの製品エンティティにProduct (Version 2) APIを推奨 |
API_PLANNED_ORDERS | A_PlannedOrder, A_PlannedOrderComponent, A_PlannedOrderCapacity | 変換前のMRP Liveの出力 |
API_MATERIAL_STOCK_SRV | A_MaterialStock, A_MatlStkInAcctMod | 資材の利用可否を確認するための、プラント別・保管場所別在庫 |
API_PURCHASEORDER_PROCESS_SRV | A_PurchaseOrder, A_PurchaseOrderItem | 入荷予定資材の未完了購買発注 |
API_PROD_ORDER_CONFIRMATION_2_SRV | ProdnOrdConf2、ProdnOrdConfMatlDocItm。アクション:GetConfProposal、GetGdsMvtProposal、CancelProdnOrdConf | 製造現場からの作業実績確認と入出庫 |
製造指図APIでは、工程のキーはOrderInternalBillOfOperationsとOrderIntBillOfOperationsItemの組み合わせです。計画担当者の画面に表示される工程番号ではありません。一方、作業実績確認APIのGetConfProposalでは、同じ工程をOrderIDとOrderOperationで指定します。初回のデータ取り込み時から、内部キーと工程番号の両方をSkyPlannerに保存してください。
イベント
S/4HANAは、Production Order CreatedおよびProduction Order Changedのビジネスイベントを発行します。ペイロードにはManufacturingOrder、ProductionOrder、ProductionOrderType、ProductionPlantが含まれます。ペイロードにはキーしか含まれないため、連携処理で指図とその工程を再取得します。Changedイベントは指図が変更されるたびに発生するため、デバウンス処理を入れてください。逆方向では、スケジュールや作業の状態が変わると、SkyPlannerのWebhookがリアルタイムで通知します。
まずはファイル連携で試す
トライアルでは、S/4HANAの一覧レポートから製造指図と作業区をExcelまたはCSVに出力し、SkyPlannerに取り込みます。Gatewayや通信契約の設定に着手する前に、スケジュールを検証できます。
SAP S/4HANAからSkyPlannerへのデータマッピング
| S/4HANAのエンティティ/エンドポイント | SkyPlannerのオブジェクト | 連携方向 | 連携頻度 |
|---|---|---|---|
A_Product(品目) | 製品または資材 | S/4HANA → SkyPlanner | 初回取り込み後、定期的に差分を取得 |
MaterialBOM, MaterialBOMItem | 製品構成、下位製品 | S/4HANA → SkyPlanner | 初回取り込み後、定期実行 |
A_WorkCenters | リソース | S/4HANA → SkyPlanner | 初回取り込み時および変更時 |
A_WorkCenterCapacity, A_WorkCenterCapacityInterval_2, A_WorkCenterCapacityShift_2 | 能力とシフト | S/4HANA → SkyPlanner | 初回取り込み後、定期実行 |
ProductionRoutingHeader, ProductionRoutingOperation | 工程と標準時間 | S/4HANA → SkyPlanner | 初回取り込み後、定期実行 |
A_ProductionOrder_2(リリース済みまたは作成済み) | 納期付きの指図 | S/4HANA → SkyPlanner | Created/Changedイベントでほぼリアルタイムに連携、または定期ポーリング |
A_ProductionOrderOperation_2 | 作業(リソースで実行する工程) | S/4HANA → SkyPlanner | 指図と同時 |
A_ProductionRsceTools_2(生産資源/治工具) | 治工具(利用可能数に制約のある共有リソースとしてスケジューリング) | S/4HANA → SkyPlanner | 指図と同時 |
A_ProductionOrderComponent_2, A_MaterialStock | 資材所要量と在庫 | S/4HANA → SkyPlanner | 定期実行。間隔は要件定義で合意 |
A_PurchaseOrder、A_PurchaseOrderItem(API_PURCHASEORDER_PROCESS_SRV):未入荷数量と納入日程行の納入日 | 購買発注/入荷予定日付きの資材 | S/4HANA → SkyPlanner | 定期実行。間隔は要件定義で合意 |
A_PlannedOrder(任意) | 変換前にスケジューリングする計画手配 | S/4HANA → SkyPlanner | MRP Liveの実行後、毎回 |
ScheduleProductionOrderOperation(工程開始日時、順方向モード) | スケジュール | SkyPlanner → S/4HANA | スケジュール変更時にWebhook経由で連携 |
ProdnOrdConf2(良品数量、不良数量、活動) | 作業時間記録と数量 | SkyPlanner → S/4HANA | 記録イベントごと、またはバッチ処理 |
連携パターン
1. マスタデータの取り込み。品目、BOM、能力の有効期間とシフトを含む作業区、工順を取り込みます。この段階で、どちらのシステムでシフトを管理するかを決めます。実用的な分担は、工場カレンダをS/4HANAで管理し、詳細なシフトパターン、欠勤、残業をSkyPlannerで管理する方法です。計画担当者はSkyPlannerで日々の変更を行います。
2. 指図の同期。 Production Order Created/Changedを購読します。ビジネスイベントが設定されていない場合は、変更タイムスタンプを基にA_ProductionOrder_2をポーリングします。プラント、指図タイプ、ステータスで絞り込んでください。SkyPlannerで先行して計画できるよう、指図は作成時に送信します。SkyPlannerでスケジュールを組んだ後、S/4HANAでリリースします(ReleaseOrderまたはReleaseOperation)。
3. スケジュールの書き戻し。 SkyPlannerのWebhookからスケジュール変更の通知を受けると、連携処理は変更された工程ごとに、API_PRODUCTION_ORDER_2_SRVのScheduleProductionOrderOperationを呼び出します。送信する内容は次のとおりです。
- キーとして
ManufacturingOrder、OrderInternalBillOfOperations、OrderIntBillOfOperationsItem OpSchedulingModeにF(順方向)を指定し、OpSchedldStartDateとOpSchedldStartTimeにSkyPlannerの開始日時を設定OpSchedulingStatusにDISP(ディスパッチ)を、必須のOpSchedulingStrategyにMを設定if-matchにETagを設定
一つの指図に含まれるすべての作業を、SkyPlannerの作業順序に従って一つの変更セットにまとめます。これにより、S/4HANAは一回の呼び出しで指図全体の計画を割り付けます。Mode Kは使用しません。元の作業日付を維持し、送信した日付を無視するためです。
SkyPlannerは、S/4HANAと同じ工順の標準値と作業区の能力計算式から、作業所要時間を算出します。そのため、割り付けた開始日からS/4HANAが計算する終了日は、SkyPlannerの計画と一致します。連携処理では、変更セットごとに作業を再取得し、日付に相違があればフラグを付けます。計画担当者は次のシフトが始まる前に、その相違を確認できます。
4. 製造現場の作業実績確認。 Mobile ConfirmationsまたはProduction Timerの各作業時間記録を、S/4HANAの作業実績確認として登録します。SkyPlannerのWebhookを契機に、良品数量、不良数量、活動時間を含むProdnOrdConf2をPOSTします。連携処理では先にGetConfProposalを呼び出し、S/4HANAから数量、活動、日付、作業者データの提案を取得します。入出庫の提案はGetGdsMvtProposalで取得します。
入荷予定の資材。未入庫の購買発注も取り込み同期の対象です。SkyPlannerは、発注済みの資材を購買発注の納入予定日から利用可能と見なします。購入部品の入荷を待つ作業は、現在の在庫数によって計画が止まるのではなく、資材が入荷する日に割り付けられます。
入庫の正となるデータは、引き続きS/4HANAで管理します。入庫が転記されると、在庫が増え、購買発注明細の未入庫数量が減ります。次の同期でSkyPlannerの在庫が更新され、全量入庫済みの購買発注はDeliveredになります。一部入庫の場合、残りの未入庫数量は、納入日程行の日付で入荷予定として残ります。SkyPlannerでの購買発注の扱いは、SkyPlannerのドキュメントで解説しています。
5. データ管理の分担ルール。S/4HANAは数量、BOM、工順、原価計算、ステータスを管理します。SkyPlannerは作業順序、リソースの割り当て、作業日付を管理します。同じフィールドを両方から更新してはいけません。計画担当者が引き続きCapacity Scheduling Boardで作業を移動する場合は、どちらを優先するかを決めてください。次の指図同期で変更をSkyPlannerに取り込むか、その作業区をSkyPlannerの対象外にするかのいずれかです。
プロジェクトの作業内容
導入は通常、大企業でも導入支援の開始から数週間で完了します。多くの工場では、CSVやExcelの出力データを使って30日間の無料トライアルから始め、API連携の作業に入る前に自社のデータでスケジュールを検証しています。その後、S/4HANA連携プロジェクトで次の作業を行います。
- 要件定義:対象プラント、指図タイプ、エディション、認証方式、および各フィールドを管理するシステムを決定します。
- SAPへのアクセス:Gatewayサービスの有効化または通信契約の設定に加え、技術ユーザーと権限オブジェクトを設定します。
- マスタデータのマッピング:作業区の能力カテゴリ、有効期間、シフト、工順の標準値とSkyPlannerの所要時間の対応、数量単位を設定します。
- 初期データの取り込み:品目、BOM、工順、能力情報を含む作業区を取り込みます。
- 製造指図と購買発注の同期:製造指図と作業はCreated/Changedイベントまたはポーリングで同期し、在庫と未入庫の購買発注は定期的に同期します。
- スケジュールの書き戻し:ETag処理と再試行キューを備えた
ScheduleProductionOrderOperationの呼び出し。 - 製造現場の作業実績確認:作業時間記録を
ProdnOrdConf2の作業実績確認として転記。 - 現行計画と並行して検証:計画担当者が信頼できると判断するまで、既存の負荷平準化とSkyPlannerのスケジュールを並行して運用します。
- 本稼働。
SAP S/4HANA連携の注意点
- 書き戻しにはETag付きのアクション呼び出しを使います。 文書化されている工程のスケジューリング方法は、
ScheduleProductionOrderOperationです。A_ProductionOrderOperation_2へのPATCHではありません。モードFは開始日時から順方向に、Bは終了日時から逆方向にスケジュールを組みます。一方、KとSは既存の日時を維持し、送信した日時を無視します。if-matchに指定するETagは、指図のLastChangeDateTime(YYYYMMDDHHMMSS)から生成するため、指図に何らかの変更があると無効になります。書き込み前の再取得処理と再試行キューを実装してください。 - 能力は作業区のヘッダにはありません。 利用可能能力は、能力カテゴリ(001:機械、002:労務)、稼働日カレンダ、およびその設定を上書きする期間とシフトで決まります。能力計算式は、工順の標準値を段取り、加工、後片付けの所要能力に変換します。
A_WorkCenterCapacityInterval_2とシフトのエンティティを取得し、計算式からSkyPlannerの所要時間への換算方法を合意してください。 - 標準値の整備が必要です。原価計算用に管理している工順では、段取り時間が平均値になっていたり、段取りが誤った能力カテゴリに登録されていたりすることがよくあります。
- 作業実績確認には厳格なルールがあります。 SAPは大量転記にバッチ呼び出しを推奨しています。変更セットは全件成功か全件失敗のいずれかとなるため、時間実績票に不備が一件でもあると、そのセットの残りも転記できません。バッチ内での取消は、
ConfirmationCountの逆順で実行する必要があります。同じ指図で異なる実績確認タイプを混在させること、実績確認なしで入出庫を転記すること、トリガーポイントでダイアログボックスを必要とする工程の実績確認はできません。 - PP/DSが有効か確認してください。組み込みのPP/DSには、CustomizingアクティビティのActivate Advanced Planning and Schedulingと、SAP HANAに統合されたliveCacheが必要です。SAPはこれを別製品のSAP S/4HANA Manufacturing for planning and schedulingとして販売しています。有効になっている場合は、品目ごとにどちらがスケジューリングを担うかを決めてください。高度な計画の対象フラグが付いた品目はPP/DSが担当します。また、SAPは計画手配APIについて、”Automatic integration to PP/DS is not enabled from this API.”(このAPIからの自動連携は有効になっていません)と明記しています。
- 数量単位。作業数量、工順の基準数量、作業実績の数量単位は異なる場合があります。品目の基本単位ではなく、作業の数量単位を使って明示的に換算してください。
- エディションによる違い。SAP Learningでは、従来のCM21/CM22計画テーブルがManage Work Center Capacity、Capacity Scheduling Table、Capacity Scheduling Boardに置き換えられることが示されています。Public Editionでは、APIは通信シナリオを通じてのみ公開され、利用できるサービスのバージョンがオンプレミス版と異なる場合があります。工順APIでは、工順の削除や品目割り当ての更新はできません。SkyPlannerチームは要件定義の際、該当リリースのAPI Business Accelerator Hubの情報を基に、お客様のシステムごとに使用するサービスのバージョンを固定します。
- 工順では表せない制約。作業順序に依存する段取り替え、工具の競合、複数の作業者が必要な作業は、工順の標準値ではなくSkyPlannerで管理します。段取り時間マトリックスでは、製品の組み合わせごとに段取り替え時間を保持します。指図のPRTに登録された工具は有限の資源として扱い、同時には一つのリソースでしか使用できません。また、一つの作業に複数人を同時に必要とする条件も設定できます。
連携の設定を担当するのは誰か
ここまでに挙げた注意点があるため、連携では設定作業が要になります。S/4HANAの運用は工場ごとに異なります。指図タイプ、能力カテゴリ、工順の標準値、ユーザーExit、エディションの違いが、いずれもマッピングに影響します。
- SkyPlannerチームが設定を担当します。導入支援の段階で、公開済みのS/4HANA APIとSkyPlannerのREST APIおよびWebhookを使い、お客様のS/4HANA環境に合わせて設定します。本稼働後も連携をサポートします。これが標準の進め方で、スケジューラとS/4HANA連携の窓口を一本化できます。
- 代わりに、お客様のSAPパートナーが構築することもできます。指図タイプやBasis環境を把握したパートナーが、SkyPlannerのSwagger/OpenAPIドキュメントを基に進めます。
- 自社の開発者が、公開ドキュメントに記載されたREST API、JWT認証、Webhookを使い、直接、またはSAP Integration SuiteやSAP BTP上で構築することもできます(連携チュートリアル)。APIキーがあれば着手でき、支援が必要なときはSkyPlannerチームがサポートします。
SkyPlannerは、すでにSAPと連携して稼働しています。Laboratory & Alliedの社内ITチームは、SkyPlannerの支援を受けて、SAP Business One on HANAとSkyPlannerを接続しました。機能のドキュメントは、SkyPlannerのドキュメントで公開しています。
どの方法を選ぶ場合も、まず30日間の無料トライアルでスケジュールを検証してください。最大20リソースまで利用でき、クレジットカードは不要です。その後、計画担当者がすでに信頼できると判断した計画を基に、連携を構築します。トライアル後の料金は5リソース込みで月額199 €から、月ごとの請求です。連携費用は、お客様の業務プロセスと要件に合わせて、ご利用プランとともに事前にお見積もりします。開始前に総費用を確認できます。
SkyPlannerを利用する製造業のお客様の声
2 h毎週の作業時間を削減
「SkyPlannerによって、当社の生産計画はExcelの表計算から、リアルタイムでの生産最適化へと変わりました。」
Kalle Kalliomäki、サプライチェーンスペシャリスト
UTU · 配電盤・開閉装置
生産計画にかかる作業時間を毎週2時間削減し、新しい作業順序を数秒で生産ラインに伝えられるようになりました。
+90%生産効率が向上
「生産効率が90%向上しました。」
Abdul Rucyinga、IT部門責任者
Laboratory & Allied · 医薬品製造
生産効率が90%向上し、全リソースを対象とする三か月分の最適化された計画を30分未満で作成できるようになりました。
99.2%納期遵守率
「SkyPlannerでボトルネックを見つけやすくなり、生産管理の見通しがよくなりました。」
Toni Tuori、生産部門責任者
Piristeel · 屋根用安全設備・雨水排水システム
今年の納期遵守率は99.2%に達しました。スケジューリングにかかる作業時間も、一日あたり最大四時間短縮できています。
98%納期遵守率が約50%から向上
「SkyPlannerは、当社の納期遵守率を維持するうえで決定的な役割を果たしています。」
Hannu Lahtinen、代表取締役
KJH-Comp · 板金加工・受託製造
納期遵守率は約50%から最大98%まで向上しました。以前は二人の管理者が必要だったスケジューリングも、今は一人で対応できています。
よくある質問
SkyPlanner APSはSAP S/4HANAとどのように接続しますか?
SkyPlanner APSはSAP S/4HANAと双方向に連携します。製造指図、工程、工順、作業区、在庫、購買発注を、SAPが公開しているOData API経由で取り込みます。SkyPlannerのWebhookを契機に、工程日時はScheduleProductionOrderOperationで、記録した作業時間はProdnOrdConf2の作業実績確認として書き戻します。
連携の構築と保守は誰が担当しますか?
SkyPlannerチームが導入支援の際に、お客様のS/4HANA環境に合わせて連携を設定し、本稼働後もサポートします。連携費用は、お客様の業務プロセスと要件に基づいて事前にお見積もりします。SAPパートナーや社内の開発者がREST APIを使って構築する場合は、その担当者が連携の管理責任を持ち、SkyPlannerチームが必要に応じて支援します。
工程の日程はどのように書き戻されますか? S/4HANAでも順序は維持されますか?
ScheduleProductionOrderOperationアクション(API_PRODUCTION_ORDER_2_SRV)を使います。順方向モードとディスパッチステータスを指定し、SkyPlannerの開始日時を送信します。指図ごとの工程をSkyPlannerの順序で一つの変更セットにまとめます。所要時間はS/4HANAと同じ工順標準値から求め、連携処理で全工程を再取得して差異があればフラグを立てます。
作業実績はどのようにS/4HANAへ送られますか?
作業者がSkyPlannerに作業を記録すると、Webhookが発行されます。連携処理はそれを受けて、良品数量、不良数量、活動時間を含む作業実績確認をAPI_PROD_ORDER_CONFIRMATION_2_SRV経由で転記します。
S/4HANA Cloud Public Editionでも利用できますか?
はい。該当する通信シナリオの通信契約を通じてアクセスします。SkyPlannerチームが要件定義の段階で、お客様のPublic Editionのリリースに合う製造指図APIのバージョンを選定します。オンプレミスおよびPrivate Editionでは、代わりにGatewayサービスを有効化します。
すでにPP/DSを使っていますが、SkyPlannerは必要ですか?
SkyPlannerは、PP/DSのライセンスがない工場や拠点、または運用担当者を配置していない工場や拠点をカバーします。Customizingスイッチ、liveCache、最適化サーバーは不要で、SAP側で必要なのはリリース済みのOData APIだけです。Arcturusエンジンが設備や人員の実際の能力を考慮した生産スケジューリングを数秒で行い、生産状況が変わるとAutopilotが自動で再スケジューリングします。
連携作業を始める前に試せますか? また、導入にはどのくらいかかりますか?
はい。30日間の無料トライアル中に、S/4HANAからエクスポートした製造指図と作業区を取り込み、スケジュールが機能することを確認してからAPI連携を構築できます。通常、導入支援の開始から数週間で導入が完了します。お客様のシステム環境に合わせた要件定義については、営業に相談するか、無料トライアルを開始してください。