Microsoft Product Support

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Monday, 30 August 2010

Enabling DEXSQL logs with Support Debugging Tool

Posted on 16:32 by Unknown
It must be the Support Debugging Tool week. After the fabulous security article by David Musgrave explaining the inner works of the Resource Information and the Security Information windows and how they aid in finding those pesky security tasks and roles, I thought it would be a good idea to pickup on an old subject that often gets lost in the archives of support: DEXSQL logs.

It still surprises me how many questions are posted on the various community forums asking for guidance on troubleshooting errors in stored procedures, table access errors, and even database connectivity errors. Likewise, it's often forgotten that the main purpose of the DEXSQL.LOG is to capture all interactions between the Microsoft Dynamics GP client and the Microsoft SQL Server database. These interactions can be tailored to the actual ODBC messaging and/or the SQL statements that are executed against the database.

KB article 850996 explains how to setup a DEXSQL.LOG the old fashioned way, this is by editing the DEX.INI. This approach has an inherent problem: it requires that the user exit the Microsoft Dynamics GP system and re-enter to have the settings take place. After all, the DEX.INI is also known as the parameters file and parameters are loaded upon startup of the application. In addition, as the application loads and up to the point of recreating the error, the DEXSQL.LOG file would have already recorded a set of events totally unrelated to the issue at hand.

Note: the DEXSQL.LOG can be edited with Notepad to remove the entries recorded up to the point of an error. The empty file can be saved to proceed with the logging activity.

Support Debugging Tool allows you to create a DEXSQL.LOG without ever having to leave the application.



Furthermore, one of the capabilities I appreciate from the Support Debugging Tool feature is to be able to create logs based on date and time, this is, the log file name will include the date and time the log was initiated. I can even setup my own file name if needed. The following is a sample DEXSQL.LOG:


/* Date: 08/11/2010 Time: 22:53:01
stmt(597399424):*/
{ CALL DYNAMICS.dbo.zDP_SY10000SS_1 ( 'sa', -1, 949, 22190, 2 ) }

/* Date: 08/11/2010 Time: 22:53:01
stmt(597400232):*/
{ CALL DYNAMICS.dbo.zDP_SY10550SS_1 ( 'sa', -1 ) }

/* Date: 08/11/2010 Time: 22:53:01
stmt(597401040):*/
{ CALL DYNAMICS.dbo.zDP_SY10800SS_1 ( 'DEFAULTUSER', 949, 22190, 2 ) }

/* Date: 08/11/2010 Time: 22:53:01
stmt(12407424):*/
{ CALL DYNAMICS.dbo.zDP_SY02100SS_1 ( 0, 0, 7, 0 ) }

/* Date: 08/11/2010 Time: 22:53:01
stmt(12407424):*/
{ CALL DYNAMICS.dbo.zDP_SY02100SS_1 ( 0, 0, 7, 0 ) }

/* Date: 08/11/2010 Time: 22:53:01
stmt(12407424):*/
{ CALL DYNAMICS.dbo.zDP_SY02100SS_1 ( -1, 949, 6, 0 ) }

/* Date: 08/11/2010 Time: 22:53:01
stmt(597450192):*/
{ CALL TWO.dbo.zDP_SVC00998SS_1 ( 0.00000 ) }

/* Date: 08/11/2010 Time: 22:53:01
stmt(597450192):*/
{CALL TWO.dbo.zDP_SVC00998F_1(NULL,NULL)}

/* Date: 08/11/2010 Time: 22:53:01
stmt(12407424):*/
{ CALL DYNAMICS.dbo.zDP_SY02100SS_1 ( -1, 949, 6, 0 ) }

/* Date: 08/11/2010 Time: 22:53:01
stmt(597446960):*/
{ CALL TWO.dbo.zDP_SVC05501SS_1 ( 'SVC' ) }

/* Date: 08/11/2010 Time: 22:53:03
stmt(12353984):*/
{ CALL TWO.dbo.zDP_RM00101SS_1 ( 'AARONFIT0001' ) }

/* Date: 08/11/2010 Time: 22:53:05
stmt(597399424):*/
{ CALL DYNAMICS.dbo.zDP_SY10000SS_1 ( 'sa', -1, 949, 22218, 2 ) }

/* Date: 08/11/2010 Time: 22:53:05
stmt(597400232):*/
{ CALL DYNAMICS.dbo.zDP_SY10550SS_1 ( 'sa', -1 ) }

/* Date: 08/11/2010 Time: 22:53:05
stmt(597401040):*/
{ CALL DYNAMICS.dbo.zDP_SY10800SS_1 ( 'DEFAULTUSER', 949, 22218, 2 ) }

/* Date: 08/11/2010 Time: 22:53:05
stmt(12407424):*/
{ CALL DYNAMICS.dbo.zDP_SY02100SS_1 ( 0, 0, 7, 0 ) }

/* Date: 08/11/2010 Time: 22:53:05
stmt(12407424):*/
{ CALL DYNAMICS.dbo.zDP_SY02100SS_1 ( 0, 0, 7, 0 ) }

/* Date: 08/11/2010 Time: 22:53:05
stmt(597443728):*/
SELECT COUNT(RETTYPE) FROM TWO.dbo.SVC05501

/* Date: 08/11/2010 Time: 22:53:05
stmt(597446960):*/
{CALL TWO.dbo.zDP_SVC05501F_1(NULL,NULL)}

/* Date: 08/11/2010 Time: 22:53:05
stmt(597446960):*/
SELECT TOP 25 RETTYPE,DSCRIPTN,RETSTAT,Received_Status,Shipping_Status,Close_Status,RETPATH,VNDWARRTYPE,RTV_Type,DEPOTTYPE,ORDDOCID,CRDOCID,INVDOCID,LOCNCODE,ITLOCN,ITEMNMBR,SVC_Discrepancy_Status,SVC_RMA_Invoice_Batch_ID,SVC_RMA_Credit_Batch_ID,SVC_RMA_Order_Batch_ID,SVC_Sales_Return_Index,SVC_COGS_Index,SVC_Scrap_Index,SVC_Repair_Sales_Index,SVC_Partial_Received_Sta,SVC_Ready_To_Close_Statu,SVCSCRAPCOGREV,DEX_ROW_ID FROM TWO.dbo.SVC05501 WHERE RETTYPE = 'CREDIT' ORDER BY RETTYPE ASC

/* Date: 08/11/2010 Time: 22:53:07
stmt(597446960):*/
{ CALL TWO.dbo.zDP_SVC05501SS_1 ( 'CREDIT' ) }

/* Date: 08/11/2010 Time: 22:53:07
stmt(12407424):*/
{ CALL DYNAMICS.dbo.zDP_SY02100SS_1 ( 0, 0, 7, 0 ) }

/* Date: 08/11/2010 Time: 22:53:07
stmt(12407424):*/
{ CALL DYNAMICS.dbo.zDP_SY02100SS_1 ( 0, 0, 7, 0 ) }

/* Date: 08/11/2010 Time: 22:53:12
stmt(597399424):*/
{ CALL DYNAMICS.dbo.zDP_SY10000SS_1 ( 'sa', -1, 949, 22244, 2 ) }

/* Date: 08/11/2010 Time: 22:53:12
stmt(597400232):*/
{ CALL DYNAMICS.dbo.zDP_SY10550SS_1 ( 'sa', -1 ) }

/* Date: 08/11/2010 Time: 22:53:12
stmt(597401040):*/
{ CALL DYNAMICS.dbo.zDP_SY10800SS_1 ( 'DEFAULTUSER', 949, 22244, 2 ) }

/* Date: 08/11/2010 Time: 22:53:12
stmt(12407424):*/
{ CALL DYNAMICS.dbo.zDP_SY02100SS_1 ( 0, 0, 7, 0 ) }

/* Date: 08/11/2010 Time: 22:53:12
stmt(12407424):*/
{ CALL DYNAMICS.dbo.zDP_SY02100SS_1 ( 0, 0, 7, 0 ) }

/* Date: 08/11/2010 Time: 22:53:12
stmt(12407424):*/
{ CALL DYNAMICS.dbo.zDP_SY02100SS_1 ( -1, 949, 6, 0 ) }

/* Date: 08/11/2010 Time: 22:53:12
stmt(597445344):*/
SELECT COUNT(CUSTNMBR) FROM TWO.dbo.SVC3020V WHERE CUSTNMBR >= 'AARONFIT0001' AND CUSTNMBR <= 'AARONFIT0001' AND SOPTYPE = 3 /* Date: 08/11/2010 Time: 22:53:12 stmt(597443728):*/ SELECT TOP 25 SOPTYPE,SOPNUMBE,DOCID,DOCDATE,LOCNCODE,CUSTNMBR,CUSTNAME,CSTPONBR,DEX_ROW_ID FROM TWO.dbo.SVC3020V WHERE CUSTNMBR >= 'AARONFIT0001' AND CUSTNMBR <= 'AARONFIT0001' AND SOPTYPE = 3 ORDER BY CUSTNMBR ASC ,SOPTYPE ASC ,SOPNUMBE ASC /* Date: 08/11/2010 Time: 22:53:13 stmt(597443728):*/ SELECT TOP 25 SOPTYPE,SOPNUMBE,DOCID,DOCDATE,LOCNCODE,CUSTNMBR,CUSTNAME,CSTPONBR,DEX_ROW_ID FROM TWO.dbo.SVC3020V WHERE CUSTNMBR >= 'AARONFIT0001' AND CUSTNMBR <= 'AARONFIT0001' AND SOPTYPE = 3 AND CUSTNMBR = 'AARONFIT0001' AND SOPTYPE = 3 AND SOPNUMBE = 'STDINV2002' ORDER BY CUSTNMBR ASC ,SOPTYPE ASC ,SOPNUMBE ASC /* Date: 08/11/2010 Time: 22:53:14 stmt(597399424):*/ { CALL DYNAMICS.dbo.zDP_SY10000SS_1 ( 'sa', -1, 949, 22239, 2 ) } /* Date: 08/11/2010 Time: 22:53:14 stmt(597400232):*/ { CALL DYNAMICS.dbo.zDP_SY10550SS_1 ( 'sa', -1 ) } /* Date: 08/11/2010 Time: 22:53:14 stmt(597401040):*/ { CALL DYNAMICS.dbo.zDP_SY10800SS_1 ( 'DEFAULTUSER', 949, 22239, 2 ) } /* Date: 08/11/2010 Time: 22:53:14 stmt(12407424):*/ { CALL DYNAMICS.dbo.zDP_SY02100SS_1 ( 0, 0, 7, 0 ) } /* Date: 08/11/2010 Time: 22:53:14 stmt(12407424):*/ { CALL DYNAMICS.dbo.zDP_SY02100SS_1 ( 0, 0, 7, 0 ) } /* Date: 08/11/2010 Time: 22:53:14 stmt(12387752):*/ { CALL TWO.dbo.zDP_IV40100SS_1 ( 1 ) } /* Date: 08/11/2010 Time: 22:53:14 stmt(12407424):*/ { CALL DYNAMICS.dbo.zDP_SY02100SS_1 ( -1, 949, 6, 0 ) } /* Date: 08/11/2010 Time: 22:53:14 stmt(597445344):*/ BEGIN DECLARE @stored_proc_name char(29) DECLARE @retstat int set nocount on SELECT @stored_proc_name = 'TWO.dbo.SVC_Check_Dupe_Return' EXEC @retstat = @stored_proc_name 'STDINV2002', 0, '' SELECT @retstat set nocount on END /* Date: 08/11/2010 Time: 22:53:14 stmt(597445344):*/ {CALL TWO.dbo.zDP_SOP30300F_1('STDINV2002',3,-2147483648,-2147483648,'STDINV2002',3,2147483647,2147483647)} /* Date: 08/11/2010 Time: 22:53:14 stmt(12354792):*/ { CALL DYNAMICS.dbo.zDP_MC40200SS_1 ( 'Z-US$' ) } /* Date: 08/11/2010 Time: 22:53:14 stmt(12407424):*/ { CALL DYNAMICS.dbo.zDP_SY02100SS_1 ( 0, 0, 7, 0 ) } /* Date: 08/11/2010 Time: 22:53:14 stmt(12407424):*/ { CALL DYNAMICS.dbo.zDP_SY02100SS_1 ( 0, 0, 7, 0 ) } /* Date: 08/11/2010 Time: 22:53:16 stmt(12354792):*/ { CALL DYNAMICS.dbo.zDP_MC40200SS_1 ( 'Z-US$' ) } /* Date: 08/11/2010 Time: 22:53:17 stmt(12364488):*/ { CALL TWO.dbo.zDP_IV00101SS_1 ( 'PHON-ATT-53WH' ) } /* Date: 08/11/2010 Time: 22:53:17 stmt(12407424):*/ { CALL DYNAMICS.dbo.zDP_SY02100SS_1 ( -1, 949, 6, 0 ) } /* Date: 08/11/2010 Time: 22:53:17 stmt(597443728):*/ BEGIN DECLARE @stored_proc_name char(29) DECLARE @retstat int set nocount on SELECT @stored_proc_name = 'TWO.dbo.SVC_Check_Dupe_Return' EXEC @retstat = @stored_proc_name 'STDINV2002', 32768, '' SELECT @retstat set nocount on END


A DEXSQL.LOG is a powerful troubleshooting tool and should be the first line of defense before contacting Support. You can take the thinking out of setting up DEXSQL.LOGs when you use Support Debugging Tool.



To obtain the Support Debugging Tool be sure to contact your Microsoft partner for a free copy. Be sure to check the the Learning Resources page on this blog to learn more about Support Debugging Tool and other capabilities. Also, the Microsoft Dynamics GP 2010 Cookbook has an entire chapter dedicated to the tool.


Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in DEXSQL, Support Debugging Tool, Troubleshooting | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Vote for your 2012 GPUG All Star
    The time has come again to vote for the next year's GPUG All Star awards. Surprisingly, I have been nominated to this award along with f...
  • Web Client Wednesday - Browser Support
    Last week MVP Mark Polino started a series called Web Client Wednesdays, which is actually a Microsoft Dynamics GP community outreach to st...
  • Year-to-year Inventory Margin Report using the PIVOT operator in T-SQL
    As of late I have been camping out at the SQL Developer Center's   Transact-SQL Forum  and I have to say, I have learned a great deal fr...
  • Extender Auto Open and Auto Close options not working in GP 2010
    Just recently, I came across an issue reported by a partner on Extender Auto Open and Auto Close options not working. Extender Auto Open a...
  • The Dynamics GP Blogster's best articles of 2012
    It's that time of the year again! Time to say goodbye to the outgoing year, 2012, and receive the new one, 2013, making all sort of reso...
  • New Article on MSDynamicsWorld: Do's and Don'ts of Microsoft Dynamics GP Forums
    Many of you know me as an avid forum contributor - I can usually be found on the Microsoft Dynamics GP Partner Online Technical Community ...
  • What's new in Microsoft Dexterity 11.0
    The excitement around Microsoft Dynamics GP 2010 could not be any higher. Traffic on my site has doubled since I began releasing informatio...
  • Rejecting duplicate checks during Bank Transactions import with Integration Manager
    One of the interesting things about checkbooks setup in Microsoft Dynamics GP is that you have the ability to prevent duplicate checks from ...
  • How to add a "Cover Letter" page to a Microsoft Dynamics GP Word Template document
    I wrote an article almost a year ago showing a simple technique to add a  Terms and Conditions page to a Microsoft Dynamics GP Word Templat...
  • VBA - Suppressing CTRL+Break or CTRL+C in VBA Customizations
    VBA is by far one of the best customization tools available to Microsoft Dynamics GP developers and as such it is widely used across a numbe...

Categories

  • Ad Campaigns
  • ADO
  • Adobe Acrobat
  • Analytical Accounting
  • Architecture
  • Around the Blogosphere
  • Article
  • Azure
  • Bank Reconciliation
  • Best of 2009
  • Best of Series
  • Best Practices
  • Bing Maps Enterprise
  • Books
  • Business Alerts
  • Business Analyzer
  • C#
  • Code
  • COM
  • Community
  • Compliance
  • Connect
  • Continuum
  • Convergence
  • Corporate Performance Management
  • CRM
  • Database Maintenance Utility
  • Decisions Conference
  • DEX.INI
  • DEXSQL
  • Dexterity
  • Discussions
  • Drill-Down Builder
  • Dynamics GP 10
  • Dynamics GP 11
  • Dynamics GP 12
  • Dynamics GP 2010
  • Dynamics GP 2010 R2
  • Dynamics GP 2013
  • eConnect
  • EFT
  • Electronic Banking
  • Encumbrance
  • Events
  • Extender
  • Field Services
  • Fixed Assets
  • Forecaster
  • From the Newsgroups
  • FRx
  • Functionality
  • General Ledger
  • GPUG
  • Home Page
  • Human Resources
  • Humor
  • IMHO
  • Installation
  • Integration
  • Integration Manager
  • Internet Explorer
  • Inventory
  • Kinnect
  • Maintenance
  • Management Reporter
  • Manufacturing
  • Menus for Visual Studio Tools
  • Microsoft Office
  • Modifier
  • Multicurrency Management
  • Multitenancy
  • MVP Summit
  • MVPs
  • Named Printers
  • Navigation Pane
  • Notes
  • ODBC
  • Office Web Components
  • OLE Container
  • Online Services
  • OpenXML
  • Partner Connections
  • Payables Management
  • Payroll
  • Performance
  • PO Commitments
  • Printer Compatibility
  • Product Feedback
  • Project Accounting
  • Purchasing
  • Receivables Management
  • RemoteApp
  • Report Writer
  • Reporting
  • Roadmap
  • SafePay
  • Sales Order Processing
  • Season Greetings
  • Security
  • Service Call Management
  • SharePoint
  • SmartList and SmartList Builder
  • SQL Reporting Services
  • SQL Scripting
  • SQL Server
  • Support Debugging Tool
  • Tax Updates
  • Technical Conference
  • The Partner Event
  • The Technology Corner
  • Training
  • Translation
  • Troubleshooting
  • Upgrades
  • VAT
  • VB.NET
  • VBA
  • VBScript
  • Visual Studio 2008
  • Visual Studio Tools
  • Web Client
  • Web Services
  • Windows 7
  • Windows 8
  • Word Templates
  • XBox
  • XBRL

Blog Archive

  • ►  2013 (68)
    • ►  December (2)
    • ►  November (8)
    • ►  October (5)
    • ►  September (5)
    • ►  August (3)
    • ►  July (8)
    • ►  June (5)
    • ►  May (5)
    • ►  April (2)
    • ►  March (11)
    • ►  February (6)
    • ►  January (8)
  • ►  2012 (101)
    • ►  December (8)
    • ►  November (6)
    • ►  October (15)
    • ►  September (16)
    • ►  August (9)
    • ►  July (4)
    • ►  June (4)
    • ►  May (6)
    • ►  April (4)
    • ►  March (11)
    • ►  February (4)
    • ►  January (14)
  • ►  2011 (158)
    • ►  December (7)
    • ►  November (17)
    • ►  October (7)
    • ►  September (8)
    • ►  August (8)
    • ►  July (12)
    • ►  June (12)
    • ►  May (13)
    • ►  April (23)
    • ►  March (21)
    • ►  February (10)
    • ►  January (20)
  • ▼  2010 (168)
    • ►  December (15)
    • ►  November (11)
    • ►  October (12)
    • ►  September (24)
    • ▼  August (13)
      • Enabling DEXSQL logs with Support Debugging Tool
      • Using T-SQL and recursive CTE to find related sale...
      • Top 10 Microsoft Dynamics GP freebies
      • The Dynamics GP Blogster now has a new look
      • Jivtesh Singh disects the Microsoft Dynamics GP Co...
      • Using SQL Server CLR stored procedures to integrat...
      • Microsoft Dynamics GP 10.0 Service Pack 5 now avai...
      • Using SQL CLR stored procedures to integrate Micro...
      • Learning Resources page updated to include tutorials
      • Using SQL CLR stored procedures to integrate Micro...
      • Microsoft Dynamics GP 2010 Connect feature and IE ...
      • All About Dexterity OLE Container - Follow Up
      • DexSense: IntelliSense for Microsoft Dexterity
    • ►  July (12)
    • ►  June (8)
    • ►  May (17)
    • ►  April (14)
    • ►  March (9)
    • ►  February (16)
    • ►  January (17)
  • ►  2009 (5)
    • ►  December (5)
Powered by Blogger.

About Me

Unknown
View my complete profile