QAD Adaptive ERP連携ガイド SkyPlanner APSで生産スケジューリングを行うには
このガイドでは、パートナー企業やIT部門に向けて、QAD Adaptive ERPをSkyPlanner APSに接続する方法を説明します。従来のQAD Enterprise EditionやMFG/PROの環境も対象です。SkyPlannerはQAD標準のインターフェースを使い、QAD Adaptive ERPと双方向で連携します。
- 製造指図とその工程、品目、製品構成、工順、作業区、工場カレンダー、在庫、購買発注を取り込みます。
- スケジューリングで決まったリリース日と納期を、Work Order Maintenance (16.1)に書き戻します。
- 作業者の時間記録はLabor Feedback by Work Order (16.20.1)として、完成数量はWork Order Receipt (16.11)として書き戻します。
- SkyPlannerのWebhookが、スケジュールの変更を発生時に通知します。
SkyPlannerチームは、導入支援の段階でお客様のQAD環境に合わせて連携を設定し、本稼働後もサポートします。このガイドは、連携作業に参加するパートナーや開発者、またはドキュメントが公開されているSkyPlannerのREST API(APIリファレンス)を使って自ら開発する方を対象としています。
QADの連携インターフェース
QADには、外部のスケジューラと連携するための三つの方法があります。
- QAD QXtend Inbound (QXI)。QADはこれを “a Web services-based, SOAP-compliant, XML framework, enabling complete platform-independent access to QAD Enterprise Applications business functionality.”(Webサービスを基盤とするSOAP準拠のXMLフレームワークで、プラットフォームに依存せずQAD Enterprise Applicationsの業務機能にアクセスできるもの)と説明しています。各リクエストはQDocとしてQADのプログラムを実行し、画面操作時と同じ検証を受けます。各リクエストには応答QDocが返されます。公開済みのQDocには、
maintainItemMaster、maintainRouting、maintainPurchaseOrderなどがあります。QDocが公開されていないプログラムは、QADのQGenツールでメニュープログラムをマッピングします。”QGen is used to map custom programs or QAD Enterprise Applications programs that do not have released QDoc schemas and events files.”(QGenは、QDocスキーマとイベントファイルが公開されていないカスタムプログラムやQAD Enterprise Applicationsのプログラムのマッピングに使用します。)QAD自身もこの方法を使用しています。”QAD Production Scheduler uses QAD QXtend to update work orders.”(QAD Production Schedulerは、QAD QXtendを使って製造指図を更新します。)(QXtendガイド) - QAD QXtend Outbound (QXO)。QXOは、”exports user-configurable business objects as XML QDocs out of QAD products.”(ユーザーが設定可能なビジネスオブジェクトを、QAD製品からXML QDocとしてエクスポートする)という仕組みです。標準のビジネスオブジェクトには、Item、Product Structure、Routing、Work Center、Department、Inventory Transaction、Inventory Statusがあります。
- 業務伝票用のREST API。Adaptive ERP 2022.1から、”Query REST APIs are now available for business documents,”(業務伝票を照会するREST APIが利用可能になりました)とあるように、業務伝票用の照会REST APIが利用できます。絞り込み、並べ替え、ページング、データの部分取得に対応しており、各環境のSwaggerで仕様を確認できます(リリースノート)。
書き込みにはQXtendを使います。読み取りにはQXOとREST照会APIを使います。
認証とライセンス
- QXtend Inbound。受信側でRequire Authenticationを有効にすると、すべてのQDocにSession IDまたはQADのユーザー名とパスワードを付与します。QXIはプログラムの実行前に、ユーザーのメニューアクセス権を確認します。
- 連携用ユーザー。連携専用のQADユーザーを作成し、連携で呼び出すメニュープログラムに限ってアクセス権を付与します。対象はWork Order Maintenance、Labor Feedback by Work Order、Work Order Receipt、およびマスタデータのプログラムです。
- QXtendのライセンス。QXtendのライセンスはエージェントとレシーバーを単位としています。QADのガイドでは、外部アプリケーションとのWebサービス通信は無料ではないとされているため、プロジェクト開始前にQXtendのライセンスを確認してください。
SkyPlanner側のREST APIは、Authorization-TokenヘッダーのAPIトークンで認証します(SkyPlanner Settings > API)。仕様はSwagger/OpenAPIで公開されています。最初のAPI呼び出しの手順は、連携チュートリアルで確認できます。
イベントと変更データ
QXtend Outboundは、QADでデータの変更を通知する仕組みです。”A change occurs to watched data in QAD Enterprise Applications. Change notifications are written out to the qxevents database.”(QAD Enterprise Applicationsで監視対象のデータが変更されると、変更通知がqxeventsデータベースに書き込まれます。)その後、QXOはQDocを生成し、”to a directory location where the subscriber polls for and picks up new QDocs,”(サブスクライバーがポーリングして新しいQDocを取得するディレクトリに)、またはURLで待ち受けるWebサービスに配信します。
SkyPlannerはWebサービスとしてQXOの配信を受け取り、QXOが対応していないデータはREST照会APIをポーリングして取得します。Work OrderはQXOの標準ビジネスオブジェクトに含まれません。そのため、連携では製造指図テーブル(wo_mstr、wr_route)を対象とするQXOビジネスオブジェクトを追加するか、REST照会APIで製造指図を数分おきにポーリングします。
SkyPlannerは状態やスケジュールが変わるとWebhookを送信するため、書き戻しはイベント駆動で行われます。
データのマッピング
| QADオブジェクト(プログラム、インターフェース) | SkyPlannerのオブジェクト | 連携方向 | 連携頻度 |
|---|---|---|---|
| 品目(Item Master Maintenance 1.4.1、QXO Item) | 製品と材料 | QAD → SkyPlanner | 初回取り込み後、変更時にQXO経由で同期 |
| 製品構成(13.5、QXO Product Structure) | 製品構成、子製品、製品ごとの材料 | QAD → SkyPlanner | 初回取り込み後、変更時にQXO経由で同期 |
| 工順(14.13.1、QXO Routing):工程待ち、段取り、加工、加工後待ち、運搬 | 工程とその所要時間、段取り時間、後片付け時間 | QAD → SkyPlanner | 初回取り込み後、変更時にQXO経由で同期 |
| 作業区(14.5)と部門(14.1、QXO Work Center、Department) | リソース、リソースグループ、稼働効率 | QAD → SkyPlanner | 初回取り込み後は、まれに更新 |
| 工場カレンダーと作業区カレンダー | シフトと非稼働日 | QAD → SkyPlanner | 毎日、またはSkyPlannerで独自にシフトを管理 |
| 製造指図(16.1)、製造指図の工順(16.13.13)、構成部品 | 納期と所要資材を含むオーダーおよび作業 | QAD → SkyPlanner | カスタムQXOオブジェクト、または数分おきのRESTポーリング |
| 在庫(QXO Inventory Status、Inventory Transaction) | 在庫残高 | QAD → SkyPlanner | 変更時、または毎時 |
| 納期を含む購買発注 | 購買発注、納入日ごとの入荷予定資材 | QAD → SkyPlanner | 一時間ごと、またはスケジューリング実行時にポーリング |
| 製造指図のリリース日と納期(Work Order Maintenance 16.1、QXtend Inbound QDoc) | 指図ごとの開始予定日時と終了予定日時 | SkyPlanner → QAD | スケジュール変更時にSkyPlannerのWebhook経由で連携 |
| Labor Feedback by Work Order (16.20.1):工程ごとの段取り時間と加工時間 | 時間記録と作業者による実績報告 | SkyPlanner → QAD | 連携する場合、実績報告ごと、またはシフトごと |
| Work Order Receipt (16.11) | 完成数量 | SkyPlanner → QAD | 連携する場合、実績報告ごと |
| QADには該当なし | 段取り時間マトリクス、数量に制約のあるリソースとしての工具、代替の機械と人員 | SkyPlannerで管理 | 導入支援時に設定 |
連携パターン
1. マスタデータの初回取り込み。QXOまたはREST照会APIで、品目、製品構成、工順、作業区、カレンダーを読み取ります。作業区のマッピングは、運用に合わせて決めます。例えば、機械が四台ある作業区は、一つのリソースグループ、または四つのリソースとして扱います。Production Line Maintenanceに登録された繰返生産ラインも、リソースとして扱えます。
2. 製造指図の同期。確定計画済みおよびリリース済みの製造指図を、工順、構成部品とともに読み取ります。未完了の購買発注も読み取ります。SkyPlannerは、発注済みの資材を購買発注の納入日に使用可能とみなし、購買発注がDeliveredになると在庫を更新します。
スケジューリングの対象は製造指図であり、MRPの計画オーダーではありません。計画オーダーは、まずQADで確定計画済みまたはリリース済みの製造指図に変換します。
3. スケジュールの書き戻し。エンジンが指図を配置または移動すると、SkyPlannerのWebhookをきっかけに、Work Order Maintenance (16.1)を実行するQXtend Inbound QDocが送信されます。リリース日にはスケジュール上の最初の工程の日付を、納期には最後の工程の日付を設定します。QXtendはQAD標準の検証を行ってプログラムを実行し、応答QDocを返します。連携処理はその応答を確認します。
各機械での工程の実行順序はSkyPlannerで保持し、Mobile Confirmationsを通じて作業者に伝えます。これにより、QADでリリース済み指図の工順が凍結される制約を受けずに連携できます。
4. 現場からの実績報告。作業者はSkyPlanner Mobile ConfirmationsまたはProduction Timerで作業を記録します。その時間記録により、スケジュールが最新の状態に保たれます。実績時間をQADに書き戻すかどうかは選択できます。書き戻す場合は、工程ごとの段取り時間と加工時間をLabor Feedback by Work Orderに、完成数量をWork Order Receiptに送信します。書き戻さない場合は、従来どおりQADで工数を入力します。
5. データの管理主体と競合時のルール。本稼働前に、以下を文書化してください。
| データ | 管理主体 |
|---|---|
| 品目、製品構成、工順、数量、製造指図のステータス | QAD |
| 工程の実行順序、開始・終了日時、使用機械の割り当て | SkyPlanner |
| 製造指図のリリース日と納期 | SkyPlannerが書き込み、QADが保持 |
| 段取り時間マトリックス、工具と作業者の要件、代替リソース | SkyPlanner |
| シフトと非稼働日 | 要件定義で選んだ一つのシステム |
| 工数、構成部品の出庫、入庫 | QADで管理し、QADへの直接入力またはSkyPlannerの時間記録からの転記で登録 |
製造指図の日付を書き込むシステムは一つに決めてください。SkyPlannerはQADのスケジューリングモジュールを必要としません。そのため、SkyPlannerがスケジューリングする指図については、スケジューリング用ワークベンチや他のスケジューラに代わってSkyPlannerが日付を書き込みます。
標準的な導入手順
通常、導入支援の開始から数週間以内に実装が完了します。その前に、QADからCSVまたはExcelでエクスポートした作業区、工順、未完了の製造指図を使い、30日間の無料トライアルでスケジュールを検証してください。
- マッピング。マッピング表、データの管理ルール、対象サイトとドメイン、同期頻度、工数を書き戻すかどうかを確定します。
- QADへのアクセス。連携用ユーザーを作成し、QXtendのライセンスを確認します。QXtendのレシーバーとQXOのサブスクライバーを設定し、まずテスト用ドメインで検証します。
- QDocの設定。公開済みのQDocがあれば使用します。Work Order Maintenance、Labor Feedback by Work Order、Work Order Receiptについては、必要に応じてQGenでQDocを生成します。
- 初回取り込み。品目、製品構成、工順、作業区、カレンダーを取り込みます。
- 製造指図と購買発注の同期。QXOイベント、または絞り込み、ページング、再試行を組み込んだRESTポーリングを使います。
- SkyPlannerでの制約設定。段取り時間マトリックス、工具、作業ごとの作業者数、代替可能な機械や人員を設定します。
- スケジュールの書き戻しと並行テスト。SkyPlannerのWebhookを起点に日付を書き戻し、現行計画と並行して運用します。日付を比較し、マスタデータを修正します。
- 本稼働。データの整合が確認できたら、書き戻しを有効にします。
QAD Adaptive ERP連携で事前に検討すべきこと
- CRPの再実行。CRPは、選択した製造指図の未完了工程をすべて再スケジュールします。QADが手動で設定した日付を保持するのは、”you also adjusted the work order release and due date to match,”(製造指図のリリース日と納期も、それに合わせて調整した場合)に限られます。これは、SkyPlannerが書き戻す内容そのものです。CRPは書き戻しの後に実行するか、SkyPlannerがスケジュールする指図を対象から除外してください。
- リリース後の工順は変更できません。“Once the work order status is Exploded, Allocated, or Released, no more changes can be made to the routing.”(製造指図のステータスがExploded、Allocated、Releasedのいずれかになると、工順は変更できなくなります。)リリース時に工順を読み取り、工順の変更は計画指図または確定計画指図に対してのみ行ってください。
- 工順の時間単位。段取時間と加工時間は負荷に含まれますが、”queue, wait, and move times are excluded from load calculations.”(滞留時間、待機時間、移動時間は負荷計算から除外されます。)SkyPlannerでは、滞留、待機、移動を時間のみの工程としてモデル化し、加工時間が単位数量当たりか、指図当たりかを確認してください。
- QXtendの処理能力。QADは、”UI API adapter performance may be unacceptable when processing high volumes of data or real-time transactions.”(大量のデータやリアルタイムのトランザクションを処理する場合、UI APIアダプターの性能が許容範囲に達しない可能性があります。)と注意を促しています。変更された指図だけをバッチで送信し、ネイティブのQDocsが用意されている場合はそれを使用してください。
- ドメインとサイト。複数のドメインを持つQAD環境では、作業区と製造指図をドメインおよびサイトごとに管理します。連携対象の各サイトを、それぞれ専用のリソースグループに対応付けてください。
- 繰返生産と個別生産の混在。Advanced Repetitiveのラインでは、製造指図ではなく繰返生産スケジュールを使用します。SkyPlannerでスケジュールするラインは、要件定義で決めてください。
QAD連携の設定とサポートの担当
- SkyPlannerチームが導入時の設定と稼働開始後のサポートを担当します。対象は、合意したQDocs、QXOサブスクリプション、RESTクエリです。QADの運用方法は工場ごとに異なります。その違いに対応するためのノウハウを、ここで活かします。
- ご利用のQADパートナーも参加できます。パートナーは、お客様のドメイン、カスタマイズ、ライセンスを把握しており、SkyPlannerチームとともにQXtend、QGen QDocs、連携用ユーザーを設定できます。
- 自社の開発者による追加開発も可能です。APIトークンを使ってSkyPlannerのREST APIを利用できます。開発を始めるにはAPIトークンがあれば十分で、必要に応じてSkyPlannerチームが支援します。連携の技術資料は、SkyPlanner連携ドキュメントをご覧ください。
SkyPlannerは5リソース込みで月額199 €から、月払いでご利用いただけます。連携費用は、お客様の業務プロセスと要件に合わせて、ご利用プランとともに事前にお見積もりします。料金、QAD Adaptive ERPで設備と人員の能力を考慮した生産スケジューリング、QAD Adaptive ERPのページ、ERP連携の総合案内をご覧ください。
製造業のお客様によるSkyPlannerの評価
2時間毎週削減
「SkyPlannerによって、当社の生産計画はExcelの表計算から、リアルタイムで生産を最適化する仕組みへと変わりました。」
Kalle Kalliomäki、サプライチェーンスペシャリスト
UTU · 配電盤・開閉装置
生産計画の業務時間を毎週2時間削減。新しい作業キューは数秒でラインに届きます。
+90%生産効率
「生産効率が90%向上しました。」
Abdul Rucyinga、IT部門責任者
Laboratory & Allied · 医薬品製造
生産効率が90%向上。全リソースを対象とした三か月分の最適化計画を、30分未満で作成できます。
1,000件単位製造指図を自動スケジュール
「これまでとは違う形で生産を管理できるようになり、生産能力の把握もまったく別の水準に達しました。」
Hannu Ryynänen、CEO
Mamec · 産業用ミキサー・ポンプ・ハイテク製品の受託製造
数千件の製造指図を自動でスケジュールし、組織全体で生産状況をリアルタイムに把握できます。
99.2%納期遵守率
「SkyPlannerによってボトルネックを見つけられるようになり、生産管理の状況が明確になりました。」
Toni Tuori、生産マネージャー
Piristeel · 屋根用安全設備・雨水排水システム
今年の納期遵守率は99.2%に達しました。スケジューリングにより、一日当たり最大四時間の業務時間を削減しています。
よくある質問
QAD Adaptive ERPには製造指図用のAPIがありますか?
はい。QXtend Inboundは、SOAPとXML QDocsを通じてWork Order Maintenanceや製造現場向けのプログラムを実行します。公開済みのQDocがない場合は、QGenで生成します。業務ドキュメント用のREST APIでは、フィルタリングとページングを使ったクエリアクセスも可能です。
QADはWebhookに対応していますか?
QADは、QXtend Outboundでデータの変更を通知します。テーブルトリガーが変更を記録し、QXOがWebサービスのURL、またはポーリング対象のディレクトリにQDocsを配信します。SkyPlanner独自のWebhookは、スケジュールの変更を発生時にプッシュ通知します。
スケジュールした日付は、どのようにQADに書き戻されますか?
Work Order Maintenance (16.1)に対するQXtend InboundのQDocを通じて、SkyPlannerのスケジュールに基づく製造指図のリリース日と納期を設定します。QADは画面入力と同じルールでQDocを検証し、応答QDocを返します。
作業者が報告した実績は、どのようにQADに送られますか?
段取時間と加工時間はLabor Feedback by Work Order (16.20.1)、完成数量はWork Order Receipt (16.11)を通じて登録します。いずれもQXtend InboundのQDocsを使用します。実績を書き戻すかどうかは、要件定義で決定します。
QADパートナーは、QAD Advanced SchedulingとSkyPlannerのどちらを提案すべきですか?
お客様が個別生産の製造指図を運用しており、設備や人員の能力を考慮した実用的なスケジュールを数週間で稼働させたい場合は、SkyPlannerです。QADはAdvanced Schedulingを工場ごとのライン別スケジュールとして説明し、DSCP Production PlanningおよびRedzoneとともに紹介しています(QAD)。SkyPlannerはQXtendを通じて接続し、すべての機械、作業者、工具、資材をスケジュールに組み込み、自動で再計画します。ユーザー数は無制限で、月額199 €から利用できます。