MSDW Podcast: B2B E-Commerce trends in the Microsoft Dynamics channel
X++ code to retrieve contact information on customer Address in AX2012
Workflow hierarchy limit checker for D365FO
A couple of years back I wrote a post on a workflow hierarchy limit checker job. It was a simple job that took a starting worker and traversed up the hierarchy. It printed the userid/worker/position/manager/spending limit/approval limit in an info log.
Today I rewrote it slightly to use a dialog for D365FO. Since it is not possible to change the code that easily in D365. This currently only works for Expenses. Its not pretty at the moment but it works.
I intentionally left the error in there. This will print the same error as what the workflow engine would. Hopefully this would give you a clue on where it stops.
Hopefully I can come back and extend it to the other document types such as purchase requisition and purchase orders.
Code is available on GitHub. I gave it a generic name like “Workflow plus”. I hope to add a few other nice commonly used workflow enhancements to it.
Another common enhancement I can think of is - Purchase order spending and approval limit; currently you don’t have this on the document. It is not possible to create a stop condition based on approval/spending limits
You can run the job via the url. Later hopefully I can add a menu item and security to it.
Process upload jobs encountered ProcessSourceRequestHeaderException Dynamics Ax 2012 R3.
After completing VAT patch in Dynamics Ax 2012 R3, We got error in Retail Process job.
Process upload jobs encountered ProcessSourceRequestHeaderException. Error Details: Microsoft.Dynamics.Retail.StoreConnect.Request.SQLHandler.ProcessSourceRequestHeaderException: ProcessSourceRequestHeader failed to execute all delete requests —> Microsoft.Dynamics.Retail.StoreConnect.Request.SQLHandler.ProcessReadRequestsException: Read request num: 1 on table:[ax].[RETAILFISCALDOCUMENT_BR] failed to execute. —> Microsoft.Dynamics.Retail.StoreConnect.Request.SQLHandler.RunException: Query: SELECT [ACCESSKEY],[AUTHORITYCODE],[CHANNEL],[CONSUMEREFDOCINQUIRYURL],[CONTINGENCYDATETIME],[CONTING FROM [ax].[RETAILFISCALDOCUMENT_BR] WHERE [ReplicationCounterFromOrigin]>@__scSqlFilterParam0 AND [ReplicationCounterFromOrigin]<=@__scSqlFilterParam1;;
ParamNameList: ;
ParamValueList: —> System.Data.SqlClient.SqlException: Invalid column name ‘EFRREGISTERNUMBER’.
Invalid column name ‘FISCALESTABLISHMENTTRADENAME’.
Invalid column name ‘ORIGINALDISCOUNTAMOUNT’.
Invalid column name ‘SENDBYEMAIL’.
Invalid column name ‘SOFTWAREHOUSECNPJ’.
Invalid column name ‘TAXAUTHORITYINFO’.
Invalid column name ‘THIRDPARTYFORMATTEDADDRESS’.
Invalid column name ‘THIRDPARTYICMSCONTRIBUTOR’.
Invalid column name ‘THIRDPARTYIE’
Yes one thing is clear that some fields in missing In Retail store database. On opening in AX, The same table has more fields then retail store db, these fields came with Patch. Some Sync problem. So I have to follow these steps to complete the sync
Retails==> setup ==> Scheduler subjobs.
Scheduler Sub jobs select the required table and click on Transfer folder list
Functions => mapping.
Click on Yes
Run the process job, error is gone.
Let's Talk UAE VAT | Reverse Charge Mechanism | Part II
Install deployable packages by using command line instead of LCS in D365
Management Reporter 2012 compatibility with Microsoft SQL Server 2017
Management Reporter 2012 is currently not compatible with Microsoft SQL Server 2017. When you try to install Management Reporter 2012 on SQL Server 2017, you receive this error:
The database deployment failed. Additional information: Microsoft.SqlServer.Dac.DacServicesException: Could not deploy package. —> Microsoft.Data.Tools.Schema.Sql.Deployment.DeploymentFailedException: Unable to connect to target server.
There are no plans to support Microsoft SQL Server 2017 with AX 2012 R3. As such, Management Reporter 2012 is also not supported with Microsoft SQL Server 2017. MR 2012 is supported with a minimum of SQL Server 2012 Standard Edition and the recommend being SQL Server 2016.
Database index analysis
I use the following to break down the current avg fragmentation for a specific table
SELECT a.index_id, name, avg_fragmentation_in_percent
FROM sys.dm_db_index_physical_stats (DB_ID(N',<database name>'),
OBJECT_ID(N'dbo.<table name>'), NULL, NULL, NULL) AS a
JOIN sys.indexes AS b
ON a.object_id = b.object_id AND a.index_id = b.index_id;
I also use the following script to look at overall indexes which may need attention. The below will generate the commands to rebuild or reorganize a fragmented index along with updating a specific tables index instead of relaying on the dba scripts.
DECLARE @fragmentPercent int = 30;
SELECT OBJECT_NAME(ind.OBJECT_ID) AS Tablename,
ind.name AS IndexName, indexstats.index_type_desc AS IndexType,
indexstats.avg_fragmentation_in_percent,
'ALTER INDEX ' + ind.name + ' ON ' + OBJECT_NAME(ind.OBJECT_ID) + ' REBUILD;' as RebuildIndex,
'ALTER INDEX ' + ind.name + ' ON ' + OBJECT_NAME(ind.OBJECT_ID) + ' REORGANIZE;' as ReorganizeIndex,
'UPDATE STATISTICS ' + OBJECT_NAME(ind.OBJECT_ID) + ' WITH FULLSCAN;' as UpdateStatics
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, NULL) indexstats
INNER JOIN sys.indexes ind
ON ind.object_id = indexstats.object_id
AND ind.index_id = indexstats.index_id
WHERE indexstats.avg_fragmentation_in_percent >= @fragmentPercent and indexstats.index_type_desc <> 'HEAP'
ORDER BY indexstats.avg_fragmentation_in_percent DESC
Get all users missing a worker relationship assignment or retail channel
static void CheckUserSetup(Args _args)
{
UserInfo userNames;
DirPersonUser userRelations;
MCRChannelUser retailChannelUsers;
//find any users that are missing either a user relation or retail channel setup
while select * from userNames
outer join userRelations
where userRelations.User == userNames.id
outer join retailChannelUsers
where retailChannelUsers.User == userNames.id
{
//check to see if there is a user relation
if(!userRelations)
{
info(strFmt("No User Relation: %1 (%2)", userNames.id, userNames.name));
}
//check to see if the user is in a retail channel
if(!retailChannelUsers)
{
info(strFmt("No Retail Channel: %1 (%2)", userNames.id, userNames.name));
}
}
}
Reset tts level - An unbalanced x++ ttsbegin/ttscommit pair has been detected
Dynamics 365 CRM and ERP interaction
Extend a class or implement an interface using D365FO Ninja DevTools
From the Microsoft Dynamics 365/AX Blogs: Reconciling; ADFS server; Purchase order charges; Label control tools
Implementing SysOperationFramework in Ax2012 - Introducing controller class
Implementing SysOperationFramework in Ax2012- Through service class and contract class
Creation of Job, Position and Worker in AX 2012 R3 a Video by Asif Rabbani
Hi every one, My fellow colleague and friend Asif Rabbani post a small video on HR Module of Dynamics Ax 2012 R3.
Simple and excellent video worth to share.
Compliance Check to Design & Architecture Guidelines
Compliance Check to Design & Architecture Guidelines for Dynamics AX | |
Dynamics AX Test Objective | Ensure adherence to design concepts and standards prescribed in the Axapta Developer’s Guide, Axapta Developer’s Best Practice Handbook and Axapta User Assistance Best Practice Handbook |
Dynamics AX Testing Technique: | The application objects should be reviewed for checking the compliance to the guidelines and design patterns. |
Completion Criteria: | All Objects found compliant to prescribed standards and guidelines. |
Special Considerations: | This testing can be combined with Dynamics AX GUI Testing |
Responsibility: | UI / Test Engineer |
Dynamics AX Help Navigation (User Assistance) Testing
Help Navigation (User Assistance) Testing | |
Dynamics AX Test Objective | To ensure that every form has corresponding help and it is accessible through F1 key. |
Dynamics AX TestingTechnique: | Verification for each form by pressing F1 key. The help text displayed should be as per the stated requirement. While defining the help requirements, the following should be taken into consideration :
|
Testing Completion Criteria: | All forms in the requirement under test have been tested okay. |
Special Considerations: |
|
Responsibility | Dynamics AX Test / QA Engineer |
Dynamics AX User Experience and Usability Testing
Dynamics AX User Experience and Usability Testing |
Dynamics AX Test Objective | To ensure the following ¨ Proper aesthetics and consistency in the user interface ¨ Adherence to Windows user interface guidelines ¨ Adherence to Axapta UI guidelines |
Dynamics AX Technique: |
|
Completion Criteria: | All forms in the requirement under test have verified. |
Special Considerations: | This testing must be conducted on an SVGA display with specified resolution. |
Responsibility: | Dynamics AX Test Engineer |