The EstablishConnections implementation shall abort processing if one of the issued commands fails; see the individual command behaviour descriptions in Clauses 6.2.4.3.2 to 6.2.4.3.10. No further commands requested for this Method Call shall be executed. The result of the commands executed with this Method Call shall be rolled back according to Table 21.

Table 21 – Rollback actions

Command

Rollback action

VerifyAssetCmd

None

VerifyFunctionalEntityCmd

None

ReserveCommunicationIdsCmd

None

CreateConnectionEndpointCmd

All ConnectionEndpoints in the context of this Method Call shall be deleted.

EstablishControlCmd

All requested ControlGroups requested in the context of this Method Call shall be released by calling ReleaseControl. All Control References created shall be deleted.

SetConfigurationDataCmd

None

Note:   Any settings that have been applied will remain.

ReassignControlCmd

None

SetCommunicationConfigurationCmd

All communication configuration and References created in the context of this Method Call shall be deleted.

EnableCommunicationCmd

All communication configuration Objects that were enabled in the context of this Method Call shall be disabled.

The Method shall set the appropriate StatusCodes for not executed commands to Bad_NothingToDo and return with an Uncertain result.

There is no rollback provided by the Method over multiple Method calls; such a rollback is the responsibility of the caller of the Method (e.g., the ConnectionManager). The caller of the Method may use the CloseConnections Method for issuing a complete rollback.