07.10.2014, 17:11 | #1 |
Участник
|
emeadaxsupport: AXRETAIL: How to control the Action flow
Источник: http://blogs.msdn.com/b/axsupport/ar...tion-flow.aspx
============== Applies to AX 2012 R2 Description: The purpose of this article is to provide an example, how to control the data flow concerning (preaction/action). Retailers might have to add new catalogs, Changing prices and barcodes during opening hours. If the number of changes are huge, the processing time increases and the locking behaviour on the store database is affected. 1. Change the code, so processed always is 2 when the data is changed/added by table methods \Classes\RetailConnActionManagement\insertAction preactionTable.action = _type; preactionTable.preactionDate = systemdateget(); preactionTable.preactionTime = timenow(); preactionTable.linkDown = _linkDown; preactionTable.userId = curuserid(); preactionTable.processed = 2; //Default: PreactionTable.processed = NoYES::No; 2. Change the default value of Processed to 2, then data inserted from a Insert_recordset will also get the value 2 in the processed field. Code path example Class/RetailAssortmentSchedulerTask/deltaSync method line 106 insert_recordset preactions (action, linkDown, locationFilter, preactionDate, preactionTime, RefRecId, RefTableId) select action, linkDown, filter, preactionDate, preactionTime, RecId, assortmentTableId from explodedInner where explodedInner.createdTransactionId == currentTransId && explodedInner.OMOperatingUnitId == omOperatingUnitRefRecId && explodedInner.AssortmentRecId == assortmentRefRecId; 3. Import the two SQL agent jobs attached. (the owner id is contoso\Administrator must be changed) The two jobs are releasing the data in two steps
4. The create action can utilize batch worker threads If the Create actions periodic job is run in batch processing mode, it will use the Microsoft Dynamics AX batch processing framework to scale out processing by using multi-threaded logic. For this to work, you need to update the Retail Scheduler Number of documents in the batch task parameter to a larger number. For example, the number must be in the thousands instead of 0 (zero). Hotfix needed Create Actions job performs daily cleanup during every batch task which slows the job down considerably KB Article Number (s) : 2995408 5. Add the CREATE ACTIONS to batch every 5-15 minutes 6. It is possible to control the A job flow when sending the data out of AX. In the case a table has very high number of changes, it can cause locking issue on the store database. By setting the number of Action Counter Interval, it will look only take the specified number of lines in the RetailConnActionTable Responsible class: \Classes\RetailConnReplicationAJob\processActions // There is no logging for this method as this is executed in a very tight loop. It affects the run time. [sourceCounter, upperCounter] = this.replicationCounter(_fromTableId, _schedulerSubjobTable.ActionCounterInterval); if (sourceCounter >= upperCounter) { return 0; } currentDeletedRecordCount = 0; currentReadRecordCount = 0; Author: Kim Truelsen Date...: 7/10-2014 Источник: http://blogs.msdn.com/b/axsupport/ar...tion-flow.aspx
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
|
|