How to add a UDF to a custom Crystal Report form or report


How to enable a UDF (User-Defined Field) to be added to a custom Crystal Report form code or report setting in Sage 100


Sage Customer Support does not provide assistance for issues related to third party products or enhancements, hardware, report customizations, state or federal tax-related questions, or specific accounting questions. 


Note: This procedure assumes that the user knows how to create UDFs. It also assumes familiarity with Crystal Reports Designer. Sage 100 Customer Support cannot assist in customizing Crystal Report forms or reports, nor in troubleshooting errors or issues encountered with customized forms or reports.

  1. Open Custom OfficeMain menu, User-Defined Field and Table Maintenance
  2. Select the application module
  3. Create a UDF in the main data table from which the report will derive data and create a UDF in the Crystal Work table used to generate report, setting the latter UDF to map from the former UDF in the main data table.
    • Example: For a UDF to be available for use on a General LedgerChart of Accounts report setting, you need a UDF in GL_Accounts.m4t, as well as a UDF in GL_ChartofAccountsWrk.m4t, with the latter UDF set to map from the former.
    • Example: For a UDF to be available for use on a Sales OrderInvoice Printing form code, you may need a UDF in SO_InvoiceHeader.m4t, as well as a UDF in SO_InvoiceWrk.m4t, with the latter UF set to map from the former
    • Note: For more information, see the Related Resources section on how to map a UDF to flow or update from one table to another.
  4. Access the form or report, create or select the form code or report setting (for the form or report, respectively).
  5. Click on the Designer button to launch Crystal Reports Designer.
    • Example: Open General LedgerReports menu, Chart of Accounts. For Report SettingSave As a new report setting. Click Designer button.
    • Example: Open Sales OrderMain menu, Invoice Printing. For Form Code, enter a new form code. Click Designer button.
    • Note: For more information on creating new form codes or report settings and accessing the Designer button, see the Related Resources section.
  6. In Crystal Reports Designer, to update the fields and tables, select Database menu, Verify Database.
  7. Click OK to a message that should appear, indicating that the database has changed
  8. If Field Explorer not already open as a panel, select ViewField Explorer to open it.
  9. In Crystal ReportsField Explorer, open Database Fields
  10. Expand the desired Crystal Work table
    • Example: For the General LedgerChart of Accounts report setting, the table would be GL_ChartofAccountsWrk
    • Example: For the Sales OrderInvoice Printing form code, the table would be SO_InvoiceWrk
  11. Drag the desired UDF to the location on the report or form as desired.
  12. Customize the report as desired.
    • Note: Sage 100 Customer Support cannot assist in customizing Crystal Report forms or reports, nor in troubleshooting errors or issues encountered with customized forms or reports. For more information, see the Related Resources section.
  13. To save the report or form, select FileSave.
    • Note: Custom report settings or form codes are saved to the following location: “..\MAS90\MAS_XXX\Reports\\\.rpt” on the server where Sage 100 is installed, and where XXX is the company code
      • Example: “..\MAS90\MAS_ABC\Reports\GL_CHARTOFACCOUNTS\TEST\GL_ChartOfAccounts.RPT
      • Example: “..\MAS90\MAS_ABC\Reports\SO_INVOICEPRINTING\LOGO\SO_Invoice1.rpt
  14. To exit Crystal Reports Designer, select File, Exit.


If necessary, seek the assistance of Acute Data Systems to help provide assistance with this process.