Validation of a Customization Project

A customization project must meet various technical requirements to integrate with and operate within the MYOB Advanced application.

Acumatica ERP Capabilities to Validate and Check Customization Project Items

To help to develop a customization project that complies with this technical requirements and to help to check the project for compliance with this requirements MYOB Advanced and Customization Project Editor provide the following functionality:
  1. Definition of a prefix for the project. All project item names must start with this prefix. You can define this prefix in the Customization Project Editor. For details on defining the project prefix, see To Manage Prefixes in a Customization Project.
  2. Validation of one customization project or multiple customization projects, causing the platform to check the following criteria:
    • The database schema changes included in a customization project are valid
    • The customization project doesn't replace or modify the files distributed as part of the standard MYOB Advanced application.
    • The data types of a custom database column correspond to all data access class (DAC) fields bound to it.
    Note: These types of validations should be applied to ISV solutions only.

    You can perform this type of validation on the Customization Projects (SM204505) form. On the More menu (under Validations), you click Validate Highlighted Project or Validate Multiple Projects, depending on whether you want to validate one project or multiple projects correspondingly.

  3. Validation of the data consistency in published customization projects, which verifies the correspondence between the data types of DAC fields and field states generated by field attributes at run time. To perform this validation, you invoke the menu commands (under Validations) on the More menu of the Customization Projects (SM204505) form as follows:
    • To verify that the data type of a DAC field matches with the field states generated at run time, select DAC Field Types (Runtime Validation).
    • To determine whether there are any PXAttributeFamilyAttribute violations on a DAC field, select DAC Attributes (Runtime Validation).
    • To verify that DAC fields with lookup boxes defined for a segmented key properly handle foreign key segments by means of PXDimensionAttribute, select Lookup Definitions (Runtime Validation).
  4. Analysis of custom files included in the customization project.

    You can analyze custom files (assemblies) included in the customization project to verify that the customization project doesn't replace or modify files that are distributed as part of the standard MYOB Advanced application. To do this, in the main menu of the Customization Project Editor, select Extension Library > Analyze Referenced Assemblies. A CSV is downloaded with all references made in the project's custom files.

  5. Generation of a Workbook with Project Items in Excel format. You can generate this workbook, which is in Excel format, in the Customization Project Editor by selecting File > Export Project Items Workbook.

    The generated workbook contains a list of solution objects and integration scenarios grouped by the following types:

    • Site map nodes
    • Mobile site map nodes
    • BLСs and BLC extensions
    • DACs and DAC extensions
    • Push notifications
    • Import or export scenarios

Customization as Part of an ISV Solution

The validation of a customization project is especially important when a customization project is part of an independent software vendor (ISV) solution.

To see technical requirements for a project in the ISV Software Certification Program guidelines, go to Acumatica Partner Portal, open the Partner Program section, and click the Acumatica ISV Solution Certification link in the left pane.

Format of the Validation Results

If any errors or warnings have been detected during project validation, the validation results have the following format:
  • <CustomizationProjectName>
    • <CustomizationRuleName>
      • <PathToTheDLL> | <ProjectItemType> | <NameOfTheProjectItem>
        List of rules broken by the specified item.
        Note: The <PathToTheDLL> field is optional. It appears only if a dll file included in the project is analyzed.