On a current project, we were going into the store DB, searching for the RetailLog and finding the call and XML that caused the issue. This is ok to do when working primarily with one store DB. There is some complexity when it comes to working with multiple store DBs though. The user would have to go from store DB to store DB to find the XMLs. That can be a lot of work. Note: For those not familiar, each store needs its own DB and can have multiple terminals. The implementation of each terminal with its own store DB is no longer supported in 2012.
One day, a colleague stumbled upon a second alternative. We all looked into it to figure out WTF was going on. There is a way to turn on tracking for calls coming into AX so you can track multiple calls from all the POS's instead of needing to go to all the individual databases. There is something that needs to be setup in a setup file and install some software but I'll discuss those points.
To note, this log file can get very large. I'd recommend not doing this in PROD unless you absolutely have to. It's a good tool in DEV and TEST environments though.
- Set the RetailTransactionService XML config file to allow tracing. I've highlighted the change that needs to be set below.
- Install (or confirm its installed) the Microsoft SDK
- [Run a bunch of RTS transations]
- Locate the RTS log .svclog (the RTS service user's AppData\Roaming folder)
- Open it with the Microsoft Service Trace Viewer from the Microsoft SDK
- Enter filter criteria to see the transactions
Step 1 - Set the RetailTransactionService XML config file to allow tracing. I've highlighted the change that needs to be set below.
Set the switchValue node value to 'All' in the 'RetailTransactionService.exe.config' file in the C:\Program Files (x86)\Microsoft Dynamics AX\60\Retail Transaction Service folder.
Step 2 - Install (or confirm its installed) the Microsoft SDK.
The image below shows the 'SvcTraceViewer.exe' file in the C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin folder location.