Using CCLSROTO for Updating Roto file with proper Class Ids for Sage 300 Custom Modules

By | August 4, 2022

Sage 300 is very compact and very flexible ERP on the other hand, for implementing various day to day business processes followed by the organization. To handle some specific functioning or business process, we may require supporting information to be stored in the database custom tables with provided supportive user interface. This can be easily achieved by creating Sage 300 custom modules with no requirement of additional SQL connection.

With this custom module creation, we have to maintain it’s Roto.dat and Grp.dat files same as there in standard modules. These files are important for custom module to be visible and for its internal menu structure.

In this blog we are going to discuss regarding the possible cause of the custom module screens not getting opened in the test/production environment and resolution for the same.

New Stuff : How to use Data Sources in project

As a Sage 300 developer, we must be knowing the use of Roto.dat file. It has an entry for each user interface of the module. On the similar lines, our custom module roto.dat file must also have entries for all the extra user interfaces or screens we have added. Normally, when we follow the standard Sage 300 module building process it will create our custom module specific roto.dat file for us with all the screens maintained in it. Most of the times, with this roto file we are able to work on the development system but it gives error on test or production systems as there is issue with ClassIDs specified in the Roto.dat file for the custom screens. You can see the example of roto.dat file that have been generated by building custom module. It has entries for each user interfaces as displayed in the screenshot below:


As you can see in the above screenshot, there should be a registry class id entry should be there for UIs under “Module” column.

Due to this in the test/production environment screens aren’t getting opened when Sage 300 is open in the non-administrative mode. We can resolve this issue with specifying the class ids for the screen controls from registry. But, checking registry for each control taking its class id and mentioning it manually is time consuming as well error prone as possibility of incorrect entry.

To avoid this, we can use CCLSROTO command provided by Sage 300 SDK. It will get all the class ids for the screens mentioned in the roto file and creates new roto as per name specified.

This command can be used as below:

  • Open the command prompt with administrative rights.
  • Change the directory to SDK folder i.e. “C:\Plusdev\BIN”
  • Use Command CCLSROTO.EXE as demonstrated in the screenshot above to modify the Roto.dat file.
  • The new Roto1.dat file get generated at the location specified in the second argument for the command.

Please see the screenshot for newly created roto file, it has class ids specified in for all the user interfaces:


Now, we can rename this Roto1.dat file as Roto.dat file and can reopen the sage and you will find now the screens for the custom module will now gets open in the non-administrative mode also.


  • The CCLSROTO command is commonly used to modify the custom module Roto.dat file only to register all the screens class ids.

About Us

Greytrix – a globally recognized and one of the oldest Sage Development Partner is a one-stop solution provider for Sage ERP and Sage CRM organizational needs. Being acknowledged 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 competence.

Greytrix offers unique GUMU™ integrated solutions of  Sage 300 with Sage CRM, (listed on Salesforce Appexchange), Dynamics 365 CRM and Magento eCommerce along with Sage 300 Migration from Sage 50 US, Sage 50 CA, Sage PRO, QuickBooks, Sage Business Vision and Sage Business Works. We also offer best-in-class Sage 300 customization and development services and integration services for applications such as POS | WMS | Payroll | Shipping System | Business Intelligence | eCommerce for Sage 300 ERP and for Sage 300c development services we offer, upgrades of older codes and screens to new web screens, latest integrations using sData and web services  to Sage business partners, end users and Sage PSG worldwide.

Greytrix offers 20+ addons for Sage 300 to enhance productivity such as GreyMatrixDocument AttachmentDocument NumberingAuto-Bank ReconciliationPurchase Approval SystemThree way PO matchingBill of Lading and VAT for Middle East. The GUMU™ integration for Dynamics 365 CRM – Sage ERP is listed on Microsoft Appsource with easy implementation package.

The GUMU™ Cloud framework by Greytrix forms the backbone of cloud integrations that are managed in real-time for processing and execution of application programs at the click of a button.

For more details on Sage 300 and Sage 300c Services, please contact us at, We will like to hear from you.