Search the GP Tables
Search by TABLE NAME
Search by FIELD NAME
These are our SOP scripts. All of our scripts for Dynamics GP can be found here

Table Edits Forum Articles
Table Edits 0 Table Edits 0 Table Edits 0
Sign Up Now!Log In
NaomiP 4/30/2007 10:36:00 AM


Microsoft has published a dll called RETRIEVEGLOBALS.DLL that can be used to access user data from inside of Dynamics GP. I'm posting the file here, along with their documentation, so that I don't have to go looking for it. You'll find a link to the file at the very bottom of this post.

Database Connections for Modifier with VBA or Integration Manager in Microsoft Dynamics GP




The RetrieveGlobals9.dll is an ActiveX dll that will return the current

User ID, the current company logged in to, the current SQL data source as well as the current user date in Microsoft Dynamics GP.  The RetrieveGlobals9.dll will also return an ADO connection object that will allow you to connect to Microsoft Dynamics GP Data.    The RetrieveGlobals9.dll will work only with version 9.0 Microsoft Dynamics GP and will only work if one session of Microsoft Dynamics GP is running and logged into.  The RetrieveGlobals9.dll is only for use in Modifier with VBA or Integration Manager that also require Microsoft Dynamics GP to be open and running. 


Installation Instructions


1.   Copy the RetrieveGlobals9.dll to a folder on your machine.


2.   Register the RetrieveGlobals9.dll using regsvr32.exe. Go to Start-Run and enter the path to the regsvr32.exe, followed by the path and name of the DLL. For example:


            C:\WINDOWS\system32\regsvr32.exe “c:\GP 90\RetrieveGlobals9.dll”


If the DLL registers successfully, you should get a message box indicating so.


3.  Write your application code to call the RetrieveGlobals9.dll

Using the RetrieveGlobals9.dll


The retrieveuserinfo class of RetrieveGlobals9 contains the following properties and functions:




The intercompany_id method retrieves the Company ID that is currently logged into Microsoft Dynamics GP.  This will match with the database name in MSSQL. 

Example: “TWO”. 


Syntax: intercompany_id () as String




The retrieve_user method retrieves the User ID that is currently logged into Microsoft Dynamics GP. 


Syntax: retrieve_user() as String




The sql_datasourcename method retrieves the current SQL Datasource name that is being utilized by Microsoft Dynamics GP. 


Syntax: sql_datasourcename () as String




The user_date method retrieves the User Date from the Toolbar in Microsoft Dynamics GP. 


Syntax: user_date () as Date




The status property indicates whether or not a valid connection object can be obtained from the connection property.


Syntax: status As Long


The status property could contain the possible values:


Value                           Description

0                                  A Microsoft Dynamics session is not open

1                                  A connection can be created

2                                  A connection could not be created

3                                  The current Microsoft Dynamics session is not Version 9

131072 (&H20000)     A COM exception occurred during the connection attempt

262144 (&H40000)     The account is locked

65536 (&H10000)       The user’s password has expired




The connection property contains an ADODB.Connection to the Microsoft Dynamics GP SQL Server.  This connection uses the SQL Datasource, User ID and Password credentials of the user currently logged into Microsoft Dynamics GP. This connection does not have a default database specified.


Syntax:  connection As Object


* The connection property will only contain a valid connection object if a Microsoft Dynamics GP 9.0 session is open and running. It should be verified that the status property has a value of 1 prior to attempting to use the connection property.



 Dim cn
Dim cmd As ADODB.Command
Dim rst As adodb.Recordset
dim prm as adodb.parameter

Set userinfo = CreateObject("RetrieveGlobals9.retrieveuserinfo")

If userinfo.Status = 1 Then
    Set cn = userinfo.connection

    luserid = userinfo.retrieve_user()
    lintercompanyid = userinfo.intercompany_id()
    lsqldatasourcename = userinfo.sql_datasourcename()
    ldate = userinfo.user_date()

    'Use the connection property to get a connection object.
    Set cn = userinfo.connection

    'set the database to the currently logged in db.
    cn.DefaultDatabase = lintercompanyid

    cmd.CommandType = 4 'stored proc
    cmd.ActiveConnection = cn
    cmd.commantText = "myStoredProc"

    'add params
    cmd.parameters.add cmd.CreateParameter ("@paramname",adVarchar,adInput,21,"")
    Set rst = cmd.Execute

    while not rst.eof
        'do something


end if

set cn = nothing


Version: Unknown or N/A
Section: Dynamics GP

Table Definition Quick Links
All Tables
SOP Tables
RM Tables
GL Tables
POP Tables
HR Tables
PM Tables
UPR Tables
IV Tables
Olympic Tables