Upgrading a Business Data Project That References Another Business Data Project Fails

Upgrading an already deployed Business Data project to a new minor version can sometimes fail if:
  • the project depends on another Business Data project, and
  • both projects have been initially deployed on an earlier version of ActiveMatrix BPM, and
  • the referenced Business Data project contains multiple Business Object Models (BOMs).

An error can occur because, in this scenario, the BPM runtime incorrectly detects incompatible changes, even though the project does not contain any such changes. For example, if business data project BDP-X contains a case class with an attribute ('attribute1') which is of type 'GlobalY' (which is a global class defined in business project BDP-Y), then deploying a new version of BDP-X may fail with an error like this:

...
Incompatible changes made during upgrade of version <number> of model <name>
Details:
The following unsupported changes were made:
   1. [Change] Reference eType in attribute1 changed from org.eclipse.emf.
      ecore.impl.EClassImpl@227b328a (eProxyURI: #//GlobalY) to org.eclipse.
      emf.ecore.impl.EClassImpl@69b15443 (name: GlobalY) (instanceClassName: 
      null) (abstract: false, interface: false)"
   ...

In this example, the error suggests that the type of the attribute has changed from 'GlobalY', even though it has not.

You can use the onlyCheckNameForReferenceTypesOnUpgrade property, in the CONFIG_HOME\bpm\bpm_app_name\configuration\bds.properties file, to temporarily disable the checking that produces this error and so successfully upgrade any affected Business Data project.

Procedure

  1. Add the onlyCheckNameForReferenceTypesOnUpgrade property to the bds.properties file (if the property does not already exist in the file).
  2. Set onlyCheckNameForReferenceTypesOnUpgrade to true.
  3. Upgrade every Business Data project that is affected by this problem.
  4. Change onlyCheckNameForReferenceTypesOnUpgrade back to false.