Tuesday, March 29, 2011

What is DMT?

DMT stands for Data Management Tool.

Basically, it is a tool which allows the import of information into Epicor in the form of a text file.

We really only use DMT when first setting up a new Epicor implementation. The thing about DMT is, it is limited.

For some tables, you still must populate the data manually, or write custom code to populate it for you.

Here are some of the tables we populate using C# and .dll files in the Epicor Software/Client folder:
SalesRep, SalesTerritory, RefCategory, AnalysisCode

In you project, add references to:

  • Epicor.Mfg.Common.BOExceptions
  • Epicor.Mfg.Core.BLConnectionPool
  • Epicor.MFG.Core.CallContext
  • Epicor.Mfg.UI.EpiClientLib
  • Epicor.Mfg.Lib.ISessionMod
  • Epicor.Mfg.Lib.SessionMod

And then, for the business objects you want to use, add two references like this:

  • Epicor.Mfg.BO.(business object name)
  • Epcior.Mfg.IF.I(business object name)

Here is some sample code on how you can connect directly to Epicor:

public BOFactory(string company)
this.company = company;
string user = "manager";
string password = "manager";

m_cnVantage = new BLConnectionPool(user, password, "AppServerDC://"
+ ConfigurationSettings.AppSettings[m_strKeyVantageServer] + ":"
+ ConfigurationSettings.AppSettings[m_strKeyVantagePort]);

public Epicor.Mfg.BO.SalesTer GetSalesTerBO()
Epicor.Mfg.BO.SalesTer saleTer = new Epicor.Mfg.BO.SalesTer(m_cnVantage);
return saleTer;

And then, once you have your business object:

dataSet = new SalesTerDataSet();

Also note that you can change the company you working with using this code:

public void SetCompany(string company)
this.company = company;
Epicor.Mfg.Lib.SessionMod sessionMod = new Epicor.Mfg.Lib.SessionMod(m_cnVantage);

out companyName, out plantID, out plantName, out workstationID, out workstationDescription,
out employeeID, out countryGroupCode, out countryCode);


  1. As a newcomer of Epicor, I appreciate your blog here.

  2. I would add and I might be wrong here but it would appear that the DMT actually only allows files with a .CSV extension!

  3. DMT accepts .csv and Excel files (.xls).

  4. Hello Neil,
    Our co, just purchased a DMT tool. I am fairly new to Epicor but fam with SQL and OOP. How could I find more on Epicor customization and development. Appreciate all your Blog.
    Thank you.

  5. Epicor customization is in bits and pieces. What I mean is, using DMT, versus calling web services, versus Service Connect workflows, versus BAQs, etc. are all separate things.

    DMT is pretty straight forward. I would suggest learning how to either copy or backup/restore Epicor databases, and then use a test database for debugging DMT. The error logs DMT generates should be enough to figure out if something isn't working properly.

    Available Epicor Manuals

    For learning Service Connect, refer to the Epicor Service Connect User Guide. I use a printed one.

    For learning BAQ, Dashboards, BPMS, refer to the Epicor ICE Tools User Guide.

    For Epicor Client styles, personlizations and customizations, refer to the Epicor ICE User Experience and Customization Guide.

    For WSE or WCF development, find the documentation on the server you installed Epicor:
    \Epicor905\WCF Services\*.pdf

    For Service Connect samples, look for *.scs files on your server:
    \Epicor905\ESC\*.scs (recursive)

  6. Acetech have many years of experience in custom software development. Find out more about custom software development at http://www.acetechindia.com