Delen via


Problemen met batchtaken met de functie voor het bijhouden van prijswijziging

Dit artikel bevat een oplossing voor de veelvoorkomende problemen met batchtaken voor het bijhouden van prijswijziging in Microsoft Dynamics 365 Commerce.

Symptomen

De functie voor het bijhouden van prijswijziging in Microsoft Dynamics 365 Commerce activeert batchtaken die op de achtergrond worden uitgevoerd. Hier volgen veelvoorkomende problemen met de batchtaken:

  • Een batchtaak voor het bijhouden van prijswijziging duurt lang.
  • Er worden te veel batchtaken voor het bijhouden van prijswijziging geactiveerd en in de wachtrij gewacht.

Oplossing

Voer de volgende stappen uit om de problemen op te lossen:

Stap 1: Stoppen met het maken van meer batchtaken

Volg deze stappen om te stoppen met het maken van meer batchtaken:

  1. Ga in het hoofdkantoor van Commerce naar Retail and Commerce>Headquarters setup>Parameters>Commerce gedeelde parameters>Prijzen en kortingen.
  2. Verwijder onder Wijzigingen bijhouden van prijzen alle juridische entiteiten uit het raster en selecteer Opslaan.
  3. Start de toepassingsobjectserver (AOS) opnieuw op.

Over het algemeen raadt Microsoft u aan een batchgroep op te geven voor batchtaken voor het bijhouden van prijswijziging voordat u de functie voor het bijhouden van prijswijziging inschakelt. Met deze actie wordt de impact van de batchtaken voor het bijhouden van prijswijziging beperkt tot AOS-exemplaren, in plaats van de standaard batchtaakgroep te blokkeren.

Stap 2: Bestaande batchtaken stoppen en wissen

Als u bestaande batchtaken wilt stoppen en wissen, voert u het volgende SQL-script uit in de commerce-hoofdkantoordatabase.

-- 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