Batchauftragsprobleme mit der Preisänderungsnachverfolgungsfunktion
Dieser Artikel enthält eine Lösung für häufige Probleme mit Batchaufträgen zur Preisänderungsnachverfolgung in Microsoft Dynamics 365 Commerce.
Symptome
Das feature Microsoft Dynamics 365 Commerce Preisänderungsnachverfolgung löst Batchaufträge aus, die im Hintergrund ausgeführt werden. Im Folgenden finden Sie häufige Probleme mit den Batchaufträgen:
- Ein Batchauftrag zur Preisänderungsnachverfolgung dauert sehr lange.
- Zu viele Batchaufträge zur Preisänderungsnachverfolgung werden ausgelöst und warten in der Warteschlange.
Lösung
Führen Sie die folgenden Schritte aus, um die Probleme zu beheben:
Schritt 1: Beenden der Erstellung weiterer Batchaufträge
Führen Sie die folgenden Schritte aus, um die Erstellung weiterer Batchaufträge zu beenden:
- Wechseln Sie in der Commerce-Zentrale zu Einzelhandel und Handelsstandort>Einrichtung>Parameter>Gemeinsame Parameter Handel Gemeinsame Parameter>Preise und Rabatte.
- Entfernen Sie unter Preisänderungsnachverfolgung alle juristischen Personen aus dem Raster, und wählen Sie dann Speichern aus.
- Starten Sie den Application Object Server (AOS) neu.
Im Allgemeinen empfiehlt Microsoft, dass Sie eine Batchgruppe für Batchaufträge zur Preisänderungsnachverfolgung angeben , bevor Sie das Feature zur Preisänderungsnachverfolgung aktivieren. Diese Aktion beschränkt die Auswirkungen der Batchaufträge zur Preisänderungsnachverfolgung auf AOS-Instanzen, anstatt den Standardmäßigen Batchauftragspool zu blockieren.
Schritt 2: Beenden und Löschen vorhandener Batchaufträge
Führen Sie das folgende SQL-Skript in der Commerce-Hauptdatenbank aus, um vorhandene Batchaufträge zu beenden und zu löschen.
-- find the existing executing jobs
select count(*) from BATCH where CAPTION like '%Price change%' and status = 2 --executing
select count(*) from BATCHJOB where CAPTION like '%Price change%' and status = 2 --executing
-- update the job status (DO NOT update to 0-Hold status; when the batch service restarts, they will be picked up again.)
update BATCH set STATUS = 3 where CAPTION like '%Price change%' and STATUS = 2 --set to error
Update BATCHJOB set STATUS = 3 where CAPTION like '%Price change%' and STATUS = 2 --set to error
-- clear the jobs
delete from BATCH where CAPTION like '%Price change%' and status = 3 --error
delete from BATCHJOB where CAPTION like '%Price change%' and status = 3 --error