How to upgrade Sage 300 custom module from Data Activation using DataLevel

By | February 27, 2020

Sage 300 development partner over the years have developed custom modules in Sage 300. Based on the requirement changes development partner makes the necessary changes to module, but sometimes these changes are made after the module is already deployed in the live environment and the user has started using the module. So to deploy the changes if at the database level we cannot deactivate and activate the module. This will cause data lose.

New Stuff: How to make NFR Copy or Trial Copy of Sage 300 custom module

When custom modules require changes at the database level such as (Adding new column/ Changing the existing column length, etc.). Here we have 2 options to apply the changes to the company by either providing an upgrade screen or once the latest files are installed the module re-appears in Sage 300 Data Activation screen.

Upgrade with separate screen:

Below is an example of “Greytrix Document Attachment  Upgrade/Deactivate UI” screen with “Upgrade” button that allow to apply the changes.

In this case, if the user skips the step to click the Upgrade button, the screens using the data source of the changed view will crash.

Upgrade using Data Activation screen:

Data Activation provides the guarantee that the custom module cannot be used unless the new changes are applied. Using this method, we ensure that the module is first activated and then available for use. When the module appears in the Data Activation screen, it disappears from the sage 300 desktop until reactivated.

Technically, Sage 300 SDK provides module visibility with the “DataLevel” mentioned in the “.ini” file of the project folder and the Data Level entry present in the CSAPP table for the particular module. When a mismatch is found, the module moves from the sage 300 desktop to the activation screen.

A snippet of code of our custom module “Greytrix Document Attachment” which may help the developer to make use of this functionality:

Step 1: Locating the INI file of the module

Generally, custom module is created at path “C:\Dev\GD\…” as per the manual provided from the Sage.

Developer will be able to locate the INI file “GD.INI” file under “C:\Dev\GD\source\project\”.

Step 2: Adding the code for changing the DataLevel

  1. Open GD.ini file in edit mode and search for section “[General]”.
  2. Increment the Data Level value. If current value is 0, then make it 1.
Data level 1
  1. Open GDINIT1.c in edit mode and search for “App.wDataLevel”.
  2. Increment the value. If App.wDataLevel = 0 then make it App.wDataLevel = 1.

Step 3: Adding the files to the ERP.

  1. After the code is added, to the INI file, make the project and INIT view. The newly generated file can be found at path “C:\Dev\GD\build32\runtime\”
  2. Copy the all the recently updated files from the runtime folder and paste it in the Sage 300 Programs directory under GD67A folder.
  3. When Sage 300 company is logged in, below message is displayed.
Sage pop up

4. The message pops every time the company is login until the module is reactivated.

Upgrade from Data Activation reduces the changes of crashing when there are changes in the custom module which are not yet applied for the selected company.

About Us

Greytrix a globally recognized Premier Sage Gold Development Partner is a one stop solution provider for Sage ERP and Sage CRM needs. Being recognized and rewarded for multi-man years of experience, we bring complete end-to-end assistance for your technical consultations, product customizations, data migration, system integrations, third party add-on development and implementation expertise.

Greytrix helps in Sage ERP and CRM upgrades to the latest version and migration for Sage Intacct from Sage 300, Sage 100, Sage 50 and QuickBooks; for Sage 100, Sage 300 (Sage Accpac), Sage Enterprise Management (Sage X3) from Sage Pro, Sage 50 US, Sage 50 CA, Sage 50 Usage Business Works, Sage Business Vision and QuickBooks; for Sage CRM from Salesforce | ACT! | SalesLogix | Goldmine | Sugar CRM | Maximizer

For more information on Sage ERP – CRM migration solutions, please contact us at We will be glad to assist you.