Security Issues with External Automatic Entries

You can use Glb.Status and Glb.Hubstatus to determine failure of security checks. Refer to the Agile Business Suite Developer Online Help for more information on built-in attributes.

There are two types of commitment available to external automatic entries: immediate commit or two-phase commit.

Immediate Commit

With immediate commitment, destination applications make (commit) all changes immediately, as follows:

  1. The originating application sends an external automatic entry.

  2. The destination application attempts to commit the changes.

  3. The originating application commits or aborts its changes as appropriate.

Note: If the originating application sends multiple automatic entries to the same destination application, each automatic entry is treated as a separate transaction.

Two-phase Commit

Two phase commitment ensures that all destination applications are able to commit all changes before any of these applications (including the originating application) commit.

With two-phase commitment:

  1. The originating application sends an external automatic entry.

  2. The destination application determines whether it is able to make (commit) the changes. It processes the transactions, but does not commit the changes to its database.

  3. The destination application sends a message to the originating application to commit the changes.

  4. If the destination application is able to commit, the originating application sends a message to the destination application to commit the changes.

    If the destination application is not able to commit, the originating application sends a message to the destination application to abort the changes.

  5. The originating application then commits or aborts its changes as appropriate.

Note: If the originating application sends multiple automatic entries to the same destination application, all of the automatic entries are treated as a single transaction.

Series of Automatic Entries

It is possible that an external automatic entry from the originating application causes another external Automatic Entry from the destination application.

To define the requirements for each application, consider the applications as originating and destination application pairs. Ensure that each application fulfills its role as an originating and destination application.

It is recommended that you use a two-phase commit in this situation. This ensures atomicity, that is, either all automatic entries succeed, or all fail.

Note: Closed cycles (where a destination is one of the originating applications) result in an error. Glb.Status is set to “*****” and Glb.Hubstatus is set to Cycle.Error.