Platform: Support of Multiselect Fields in Integration Scenarios

MYOB Acumatica 2024.2.1 introduces the support of multiselect fields in integration scenarios.

Multiselect fields are fields in MYOB Acumatica for which a user can select multiple values at the same time. The most common example is the attributes of the Multiselect Combo type that a system administrator creates on the Attributes (CS205000) form. On the Attributes tab of the appropriate form, the user can then select these values. See the following screenshot, which shows the selection of multiple values for an attribute on the Vendors (AP303000) form.

Figure 1. Selection of multiple attribute values


In previous versions of MYOB Acumatica, during the import or export of records with multiselect fields, the system correctly imported or exported the user-friendly names of the values (the Description column on the Attributes form) if only one value was selected. If multiple values were selected, the system imported or exported only the internal IDs of the fields (the Value ID column on the Attributes form). To import or export records correctly, the administrator had to create substitution lists that contained all possible combinations of values.

In MYOB Acumatica 2024.2.1, the administrator can use the new MultiselectSubstituteAll and MultiselectSubstituteListed functions in the scenario mapping to import or export these records.

Attention:
The functions are available in the Formula Editor on multiple forms but are supported for only import and export scenarios.

New Functions

Each of the new MultiselectSubstituteAll and MultiselectSubstituteListed functions has three parameters, which are described in the following table.

Parameter Description
sourceField

The name of the MYOB Acumatica field for export scenarios. For import scenarios, this is the name of the field from which the values are imported (for example, the name of the column in an Excel file).

substitutionList

The name of the substitution list that is used for the attributes.

externalDelimiter

The external delimiter. For export scenarios, this is the delimiter in the downloaded file or in the external system. For import scenarios, this is the delimiter in the file for import or in the external system.

The new functions work as follows:

  • MultiselectSubstituteAll: Replaces all values of the sourceField field with the values from the substitutionList substitution list, and uses the externalDelimiter as a delimiter.
  • MultiselectSubstituteListed: Replaces the values of the sourceField field with the values from the substitutionList substitution list if a substitution value is defined for a particular value of the field, and uses the externalDelimiter as a delimiter.

System Preparation

Before the use of the new functions, the administrator needs to copy the list of attribute values to a substitution list. The administrator can do this by clicking Export to Excel on the table toolbar of the Attributes (CS205000) form for the needed attribute, and then clicking Load Records from File on the table toolbar of the Substitution Lists (SM206026) form.

Use of New Functions in Integration Scenarios

In an export scenario, each of the functions works as follows:

  1. Parses the values from the source fields by using the , (comma) character as a delimiter.
  2. Substitutes every found value according to the substitution list.

    For the MultiselectSubstituteAll function, if the system cannot find at least one value for a record, the system does not process this record (that is, it does not substitute any values for it) and displays an error.

    For the MultiselectSubstituteListed function, the system substitutes only the values that it has found. If a value is not found, the system does not substitute it. No error is displayed in this case.

  3. Exports the results to a file. The system uses the delimiter specified as the externalDelimiter parameter.

In an import scenario, each of the functions works as follows:

  1. Parses the values from the source file with the delimiter specified as the externalDelimiter parameter.
  2. Substitutes every found value according to the substitution list.

    For the MultiselectSubstituteAll function, if the system cannot find at least one value for a record, the system does not process this record (that is, it does not substitute any values for it) and displays an error.

    For the MultiselectSubstituteListed function, the system substitutes only the values that it has found. If a value is not found, the system does not substitute this value. No error is displayed in this case.

  3. Imports the records by using the , (comma) character as a delimiter.