BOI extensibility

A user override to the XML definitions can now be specified in system defined BOIs. When specified, the user XML definition overrides the complete system XML definition.

When saving the BOI with a user override, the user XML definition is syntactically verified to be a valid XML, but no other validation checks are applied. However, the ERP specific checks continue to be applied by the individual SCV programs that use the BOI definitions.

For example, new M3 API or a new staging table cannot be used through BOI overrides. A new user defined BOI must be created for this purpose. M3 import and export programs check that the user definition must contain the same values for the following tags as in the system definition when overriding a system defined M3 BOI:

  • PROGRAM
  • TRANSACTION
  • STAGING_TABLE

The SCV M3 import and export programs and Planner import and export programs are updated to work with user definitions. These programs now check the existence of a user override and use the user definition of the XML. Else, the system definition is used.

When loading a template that includes BOI definitions, the user XML definition in the SCP instance is updated only if the user definition tag is populated in the template.

A new UPDATE_USER_OVERRIDES SCV template setting is introduced to force update the user definition in SCP, even if the tag in the template is empty. Similar to other SCV template setting, UPDATE_USER_OVERRIDES is activated by adding the template setting to the beginning of the template.
<scvTemplateSettings>
   <ScvTemplateSetting>
      <name>UPDATE_USER_OVERRIDES</name>
      <value>True</value>
   </ScvTemplateSetting>
</scvTemplateSettings>

By default, this feature is enabled. No additional role or privilege is required to access this feature.