Back in the distant past when Great Plains Dynamics only ran on Ctree and Btrieve (which became Pervasive.SQL), accessing raw data was extremely difficult. There were ODBC drivers, but they were difficult to use (Btrieve required DDF files generated and Ctree was read-only).
Then a tool call DBrowser was created. This tool used DDE (Dynamic Data Exchange) to log into a running Dynamics application session and read the list of tables from the Dexterity dictionary and then make the contents of each table visible. It was read-only but at least we could now see the contents of the data files. This was a huge advance for developers, who previously had not been able to easily confirm their code was writing the data they expected.
Then in 1998, a developer working for Great Plains Software in Poland, created a tool call DDB or Dynamic Data Browser. This tool took the concept of DBrowser and extended it to the next level:
It had the little "ambulance" button on the login window which helped to get the login information correct.
It could display the tables contents using any of the indexes on the table using Technical or Physical field names.
It could display a selected range of records from the table using any of the indexes on the table.
It could edit data and commit the changes back (Uncheck the menu option Records >> Read Only to activate).
It could dump out the entire table's contents into a text file (tab, comma or period delimited).
It also allows a user to browse the table definitions and structure.
Below is a screenshot showing the tool in action, reading data from Microsoft Dynamics GP v10.0:
So why do I bring this tool back into the light of day?
Well, I recently used it to help a site upgrade from Great Plains Dynamics 5.5 (ctree). They had a table which was corrupted and was stopping the upgrade and data conversion from working. After using some "old school" techniques that I had almost forgotten, we managed to re-index the ctree table. However, it was still failing to upgrade. So using DDB and its Dump Data feature, we exported all the data to a text file. We then deleted the DAT and IDX files of the damaged table and used Table Import to read all the data back in. The corruption was fixed and the upgrade could continue. DDB has saved the day.
Maybe one day, DDB can save the day for you....
The code and documentation for the DDB tool is attached at the bottom of the article.
Please note that this tool is not supported.