次の方法で共有


計画最適化のトラブルシューティング

この記事では、計画の最適化を実行する際に発生する可能性がある一般的な問題の修正方法について説明します。

計画の最適化アドインのインストールが完了しない、またはエラーで失敗する

計画の最適化アドインのインストールで問題が発生した場合は、次のサブセクションで提供されるアドバイスを検討してください。

環境が前提条件を満たしていることを確認してください

計画の最適化には、Dynamics 365 Supply Chain Management バージョン 10.0.23 以降で、Lifecycle Services (LCS) が有効な高可用性環境、Tier 2 以上(OneBox 環境ではありません)が必要です。 アドインを OneBox 環境にインストールしようとしても、インストールが完了しない。

修正: キャンセルをインストールして、高い可用性データ、層2、または上位 (OneBox環境 ではなく) を使用環境。

ユーザー アカウントが前提条件を満たしていることを確認してください

計画の最適化アドインには、Power Platform 環境に正常にリンクされている必要があります。 アドインのインストールをするには、管理者特権とアクセス モードで 読み取り/書き込みモードを使用して、 Microsoft Power Platform 環境にログイン する必要があります。 アクセス許可が不足しているアカウントを使用してアドインをインストールしようとする場合、次のいずれかのエラー メッセージが表示される場合があります:

Power Platform 環境で、プランニング最適化のためのインストールを完了するための現在のユーザーに十分な権限がありません。 Power Platform 管理センターでユーザー アクセス モードを読み取り/書き込みモードに変更してください。

現在のユーザーが、Power Platform 環境に存在しません。 Power Platform 管理者センター経由でユーザーを割り当てるには、管理者に問い合わせてください。

現在のユーザーには、計画の最適化のインストールを完了するためのライセンスが割り当てられていません。 マイクロソフト管理センターでライセンスを割り当てることを検討してください。

修正: "前提条件 説明に従ってユーザー アカウントを設定します マスター プランを開始する

エラー詳細のレビュー

計画の最適化アドインは、Power Platform 環境上のエラーによりインストールに失敗する可能性があります。

[修正: エラーの詳細を確認し、 Power Platform に応じて変更します。 一時的なエラーである可能性がありますので、しばらくしてから再度インストールしてください。 問題が解消しない場合は、マイクロソフト サポート にお問い合わせください。

計画の最適化ジョブのタイムアウト

計画の最適化では、60 分のタイムアウトが設定されています。 したがって、60 分以上実行された場合は、タイム アウトにより計画ジョブが停止されます。

計画の最適化ジョブのタイム アウトが頻繁に発生する場合は、次のサブセクションで説明されているオプションを 1 つ以上実装してください。

タイム フェンスや、不要なオプションを削除する設定を確認します

次の手順に従って、設定を確認し、不要なタイム フェンスなどのオプションを削除します:

  1. 業務上の必要を満たしながら、タイム フェンスをできる限り小さく調整します。

    1. 補充グループ ページの各補充グループについて、次の設定を確認します。

      • 補充タイム フェンス (日数)
      • BOM展開タイム フェンス (日数)
      • 能力スケジューリング タイム フェンス (日数)
      • 予測計画タイム フェンス
      • アクション タイム フェンス
      • 計算済遅延タイム フェンス
    2. マスター プラン ページで、タイム フェンスが上書きされているか確認し、各種タイム フェンスについて、業務上の必要を満たしながら値をより小さくできるか考慮します。 各計画について次の設定を確認します。

      • カバレッジ
      • 爆発
      • 予測計画
      • 能力
      • アクション メッセージ
      • 計算された遅延
      • 承認済要求タイム フェンス (日数)

    重要

    補充タイム フェンスは、計画の実行時間に対して最大の影響を与えます。 業務要件を満たす最小値に調整します。

  2. マスター プラン ページで、各計画について次の設定を確認します。 マスター プランに適用しない限り、これらの各オプションは いいえ に設定します。 業務プロセスに必要ない場合は、すべてのオプションを はい に設定してください。

    • 有効期限日付を使用
    • 有限能力
    • [在庫] を選択します。
    • 在庫トランザクションを含める
    • 見積依頼を含める
    • 販売見積を含める
    • 供給予測を含める
    • 需要予測を含める
    • 要求を含める
  3. 有限の容量を必要なときだけ使用します。 その必要がない計画の場合は、マスター プラン ページで 有限の容量いいえ に設定します。

スケジュール時間の削減

実行時間を最適化するために、スケジューリングの構成を確認すると便利です。 スケジューリングが計画の最適化がタイミングを合う主な理由かどうかを確認するには、計画の設定で有限能力を無効にしてから、計画を再実行して、問題が解決したかどうかを確認します。

スケジューリング時間を削減する方法の詳細については、スケジューリング エンジンのパフォーマンスの向上を参照してください。

必要な製品のみを計画する

次の設定を確認して、必要な製品のみを計画します:

  • 製品ライフサイクルの状態 フィールドを使用して、マスター プランが履行する必要のない製品またはバリアントを指定します。 そのような製品ごとに、計画に対して有効 オプションが いいえ に設定されている製品ライフサイクルの状態を選択します。 古い製品のライフサイクル状態の変更 ページでは、しばらくトランザクションで使用されていない製品を特定することができます。 これらの製品は使用されなっている可能性があります。 したがって、計画から削除することができます。
  • 特定の品目セットにのみ適用する計画の場合は、計画フィルターを設定して、それらの品目にだけ実行を制限します。 品目のサブセットの計画を実行するも参照してください。
  • マスター プランで提供する必要がない各倉庫に対しては、品目補充を手動に設定します。 倉庫ページに一覧表示されている倉庫ごとに、マスター プラン クイックタブを展開し、品目補充フィールド グループにおいて、手動はいに設定します。

大規模な計画ジョブを複数の小規模なジョブに分割する

大規模な計画ジョブが頻繁にタイムアウトする場合、そのジョブをいくつかの小さなジョブに分割することでタイムアウトを防止できる可能性があります。

オプション 1 : 同じマスタ プランを実行するが、製品のサブセットに対してだけ実行する

たとえば、PlanA という名前のマスタ プランがあります。 品目番号が A0001 ~ A1000 の品目に対するバッチ ジョブとして夜間に実行されます。 このジョブが 60 分後にタイム アウトする場合は、3 つのジョブに分割し、それぞれのジョブが 3 分の 1 のジョブに対して実行されます。 PlanAを最初の 3 分の 1 (A0001 から A0333 まで)、次に 2 番目の 3 分の 1 (A0334 から A0666)、そして最後の 3 分の 1 (A0667 から A1000) で実行します。 これにより、各小規模なジョブには 60 分の完全なタイム アウト期間が設定されます。 同じ 60 分を使用して、1,000 項目すべての計画を立てようとしているわけではありません。

大規模なジョブを複数のジョブに分割するには、次の手順に従います。

  1. システム管理 > 照会 > バッチ ジョブ の順に移動します。

  2. グリッドで、タイムアウトしている定期的な計画ジョブを見つけます。次に、ジョブ ID 列の値を選択すると、ジョブの詳細が表示されます。

  3. アクション ウィンドウで、ステータスの変更 を選択します。

  4. 新しい状態の選択 ダイアログ ボックスで 保留 を選択し、OK を選択します。

  5. バッチ タスク クイック タブでは、グリッドに計画の最適化のための単一の行を含める必要があります。この場合、クラス名 フィールドは MpsMasterPlanningRunnerRegen に設定されます。 このタスクを選択し、クイック タブ ツール バーの パラメーター を選択します。

  6. ダイアログボックスが表示され、タスクの値を設定することができます。 含めるレコード クイックタブで、フィルター を選択して標準のクエリ エディタ ダイアログボックスを開きます。

  7. 範囲 タブで、新しい行を追加してそれに対して次のフィールドを設定します:

    • [テーブル ] 選択 品目
    • 派生テーブル – 選択 品目
    • [ ] : 選択 番号
    • [基準 ] : 最初のジョブに含める品目番号の範囲もっと小さくします。 範囲の最初の品目番号と最後の品目番号を 3 つの期間に分割します。 たとえば、A0001...A0333 と入力します。
  8. OK を選択してクエリ エディターを閉じます。 OK を選択して、タスクの設定ダイアログを閉じます。

  9. バッチ タスク クイック タブで、ツール バーの 追加 を選択してタスクを追加します。

  10. 新しいロケーション用に次のタスクを設定します:

    • タスク説明 : 計画値の説明を入力タスク (たとえば、PlanA 2など)、
    • クラス名 -MpsPlanningRunnerRegen選択 の名前
    • 会社 : 選択の会社に対して選択された会社と同じタスク。
  11. 新しいタスクのフィルターを設定し、項目の 3 分の 2 を検索します (A0334 から A0666 の範囲の項目番号など)。

  12. 前述の 3 つの手順を繰り返して 3 番目のタスクを追加し、フィルタを設定して、品目の最後の 3 番目 (A0667 から A1000 の範囲の品目番号など) を検索します。

  13. 最初のタスクの タスク ID の値を選択し、クリップボードに (Ctrl + C を押して) コピーします。

  14. 2 番目のタスクを選択します。 次に、バッチ タスクの詳細 クイックタブの 制約 タブで、ツールバーの 新規 を選択し、グリッドに行を追加します。

  15. 新しい行に次のフィールドを設定します。 これらの設定により、最初のタスクの実行が完了した後、またはエラーが発生した後に 2 番目のタスクが実行されます。

    • タスクID : クリップボードにコピーした値を貼り付けます。
    • "予期される " 選択 " 選択 "送信済" または "エラー"
  16. 2 番目のタスクの実行終了後、またはエラー発生後に 3 番目のタスクが実行されるように、前の 3 つのステップを繰り返します。

  17. アクション ウィンドウで、ステータスの変更 を選択します。

  18. 新しい状態の選択 ダイアログ ボックスで 待機中 を選択し、OK を選択します。

  19. アクション ウィンドウで、保存を選択します。

ヒント

この手順は、大規模なジョブを複数の小さなジョブに分割し、それらをシリーズで実行する方法の 1 つを示しています。 必要に応じて、これらのジョブを複数のジョブに分割したり、さまざまな基準でフィルタ処理したりすることもできます。

オプション 2 : 製品のサブセットに対してそれぞれ異なるマスタ プラン

製品の計画に関して特性が異なる場合は、製品のサブセットについてそれぞれ異なるマスタ プランを実行してください。

たとえば、リード タイムが長く (1年など)、製造リード タイムが短い製品 (1週間など) の製造に使用される品目の購買に関するマスタ プランがあります。 この場合、補充タイム フェンスが 365 日の購買製品に対して 1 つのマスタ プラン (PlanPurch) を作成できます。 その後、補充タイム フェンスが 30 日の製造品目 (PlanManuf) に対して別の計画を作成します。 製品の各セットは異なるマスター プラン内にあるため、両方のマスター プラン ジョブを並列で実行できます。 異なるバッチ タスクで異なる計画を実行する場合、各バッチ タスクを並列で実行できます。 これらは、順番に実行する必要があります。

この戦略を実行するには、以下のステップを踏んでください。

  1. 既存のマスター プランを開き、元の品目のサブセット (購入品目など) のみを対象として修正します。 この変更は、計画フィルタの適用 の説明に従ってフィルターを追加して行います。

  2. 残りの品目をカバーする別のマスター プランを作成します。 この場合も、計画に含める品目 (製造品目など) のみを含む 計画フィルター を設定します。 このプランは、異なる品目のセットをフィルター処理をするために変更した元の計画のコピーになる場合があります。

  3. システム管理 > 照会 > バッチ ジョブ の順に移動します。

  4. グリッドで、タイムアウトしている定期的な計画ジョブを見つけます。次に、ジョブ ID 列の値を選択すると、ジョブの詳細が表示されます。

  5. アクション ウィンドウで、ステータスの変更 を選択します。

  6. 新しい状態の選択 ダイアログ ボックスで 保留 を選択し、OK を選択します。

  7. バッチ タスク クイック タブでは、グリッドに計画の最適化のための単一の行を含める必要があります。この場合、クラス名 フィールドは MpsMasterPlanningRunnerRegen に設定されます。 クイック タブのツールバーで、追加 を選択してタスクを追加します。

  8. 新しいロケーション用に次のタスクを設定します:

    • タスク説明 する: 新しいフィールドの説明を入力タスク。
    • クラス名 -MpsPlanningRunnerRegen選択 の名前
    • 会社 : 選択の会社に対して選択された会社と同じタスク。
  9. この新規タスクを選択し、クイック タブ ツール バーの パラメーター を選択します。

  10. ダイアログボックスが表示され、タスクの値を設定することができます。 パラメータ クイック タブで 、作成した新しい計画の名前を マスター プラン フィールドに設定します。

  11. アクション ウィンドウで、ステータスの変更 を選択します。

  12. 新しい状態の選択 ダイアログ ボックスで 待機中 を選択し、OK を選択します。

  13. アクション ウィンドウで、保存を選択します。

各バッチ タスクが異なるマスター プランを実行するために設定した結果、両方のバッチ タスクが並列して実行されます。

品目補充設定を確認する

  • 品目補充設定を確認します。 複数の品目補充明細行を使用して同じサイトにあるすべての倉庫に対して同じ設定を適用する品目については、それらの明細行をそのサイトの単一の明細行で置換します (倉庫列は空白にする)。 設定は、そのサイトのすべての倉庫に適用されます。

リソース グループのサイズの削減を検討する

大規模なリソース グループ (多数のリソースを含む) を複数の小さなグループ (それぞれのグループにリソースが少ない) に分割できるかどうかを検討します。 たとえば、AssemblyStations という大きなリソースグループ (20個のリソースを含む) を、場所に基づいて 2 つの小さなリソースグループ (AssemblyStationsNorthAssemblyStationsSouth など) に分割し、それぞれに 10 個のアセンブリ ステーションだけを含ませることも可能です。 グループを分割した後、ある製品が工場の北側エリアと南側エリアのどちらで生産されているかに基づいて、新しいリソース グループをそれぞれ正しいルートに割り当て直します。

データ エクスポートのタイムアウト

計画の最適化のデータ エクスポートがタイムアウトになった場合は、次のメッセージが表示されます。

計算を実行するデータをエクスポートするときは、マスター プラン ジョブがタイムアウトになります。 これは一時的な問題であることがあります - 後でジョブをやり直してください。 このメッセージが頻繁に表示される場合は、(このページ) に示されているように、計画に使用されるデータの量が制限されるように設定を確認してください。

このメッセージが表示される場合は、次のサブセクションで説明されているアプローチの 1 つ、または両方をお試しいただくことをお勧めします。

タイム フェンスや、不要なオプションの設定を確認します

以下の手順で、タイムフェンスや不要なオプションがないか、設定を確認します。

  1. マスター プラン > 設定 > 補充 > 補充グループの順に移動します。

  2. 補充グループ ページで、各補充グループの以下の設定を確認します。 値の一部またはすべてが小さくすることができますが、それでも異なるタイム フェンスに対する業務ニーズを満たすことができます。

    • 補充タイム フェンス (日数)
    • BOM展開タイム フェンス (日数)
    • 能力スケジューリング タイム フェンス (日数)
    • 予測計画タイム フェンス
    • アクション タイム フェンス
    • 計算済遅延タイム フェンス
  3. マスター プラン > 設定 > プラン > マスター プラン の順に移動します。

  4. マスター プラン ページで、タイムフェンスが上書きされていないかどうかを確認し、値を小さくしても、異なるタイムフェンスに対する業務要件を満たせるかどうかを検討します。 各計画について次の設定を確認します:

    • カバレッジ
    • 爆発
    • 予測計画
    • 能力
    • アクション メッセージ
    • 計算された遅延
    • 承認済要求タイム フェンス (日数)
  5. 大量の注文が生成されるため計画がタイミングを合う場合は、品目の補充に関する業務戦略を変更してください。 次にいくつか例を挙げます。

    • 補充コード フィールドが 要求 に設定されている補充グループを使用する場合、需要がある場合は、その補充ごとに特定の供給が作成されます。 期間補充コード 値が業務で機能するかどうかを検討します。 この場合、選択した日数のすべての需要が、その期間をカバーする 1 つの供給注文にグループ化されます。 この方法によって、計画オーダーを管理しやすくなります。 補充コード の値が 最小/最大 の場合は使用を検討してください。 この場合、計画オーダーは、在庫が最小値を下回った場合にのみ作成されます。 そして、手持ちの在庫は最大値まで補充されます。
    • 品目を大量に購入する、または生産できるかどうかを検討します。 可能な場合は、注文する各品目の 既定の注文設定 ページで 最大注文数量 の値を増加します。 値が大きいほど、その品目に対して生成される可能性の高い注文が少なくなります。

必要な製品だけを計画する

データ エクスポートは、各計画実行時に考慮する製品数を減らすことで、より迅速に完了できる場合があります。 以下の戦略のひとつ、または両方を使用することを検討してください:

  • マスター プランで満たす必要のない製品とバリアントを特定し、その 製品ライフサイクル状態 の値を 計画に対して有効 オプションが いいえ に設定された状態にします。 (詳細については、特定の製品ライフサイクルの状態を持つ製品の除外 を参照してください)。 古い製品のライフサイクル状態の変更 ページでは、しばらくトランザクションで使用されていない製品を特定しやすくなります。 これらの製品は使用されなっている可能性があります。 したがって、計画から削除することができます。
  • 計画フィルター を使用して、不要な品目を計画から削除します。

計画オーダーは作成されません

注文を作成せずにマスター プランを実行した場合は、次の設定を確認します。

  • 供給を生成する予定の品目が、マスター プランから除外いいえに設定されているライフサイクルの状態を使用して設定されているかを確認します。
  • フィルター処理された計画を実行している場合は、フィルター値に入力ミスがないことを確認してください (品目のサブセットの計画を実行するも参照してください)。
  • マスター プランによって供給を生成する予定の品目の需要があることを確認します。

計画の最適化を有効にすると、バッチジョブの計画が失敗する

計画の最適化を有効にすると、非推奨のマスター プラン エンジンが自動的に無効になります。 非推奨のマスター プラン エンジン用に作成されたマスター プラン バッチ ジョブは、計画の最適化が有効な状態でトリガーされると失敗します。 この操作は、計画の最適化が有効な場合に対応していないマスター計画をトリガーしました のようなメッセージが表示される場合があります。

修正: キャンセル推奨されないマスタ プラン エンジン用に作成されたマスタ プラン バッチ ジョブを修正します。

計画の最適化の結果が、以前の結果とは異なる

計画の最適化は、一部の領域における非推奨のマスター プラン エンジンのデザインとは異なります。 また、保留されている機能が原因で発生することもあります。

修正 : 計画最適化適合分析を実行し、関連ドキュメントを参照して影響を理解するために結果を分析します。 詳細については、計画の最適化フィット分析 を参照してください。

計画の最適化を有効化できない

計画の最適化を使用する設定を はい にする前に、接続ステータス接続済 とする必要があります。 詳細については、計画の最適化を開始する を参照してください。

修正: 計画最適化が正常にインストールされたことを確認します。

CTP の実行中にエラーメッセージが表示される

計画の最適化が有効化されているときに、販売注文から生産可能在庫量 (CTP) を実行しようとすると、次のようなエラーメッセージが表示されます: この操作は、計画の最適化が有効な場合に対応していないマスター プランをトリガーしました

これは、製造オーダー サポートの一環として計画されている保留機能に関連しています。

修正 : CTP されるまで 計画最適化 が有効な場合に、避けられないCTP計算を実行します。

有効な計画分析コードが一致しないというエラー メッセージ

マスター プランを実行した後に、次のエラーが表示される場合があります:

製品 <ProductID> のMinMaxに対する id: <SettingID> のサプライ設定は、この製品のアクティブなプランニング属性と一致しないため、無視されました。

このエラーが表示された場合は、指定された製品の追跡分析コードと補充分析コードを確認します。 たとえば、製品をシリアル番号で追跡している場合は、どのシリアル番号を指定する必要があるのかはシステムに不明なため、シリアル番号分析コードを補充分析コードとして使用できません。 補充分析コードとしてシリアル番号の選択を解除するか、品目補充グループを、指定した製品に対してシリアル番号の追跡が必要ない場合は、シリアル番号の追跡を使用しないグループに変更します。

その他のリソース