The system automatically ends an activation-group-level commitment definition when an activation group ends.
If pending changes exist for an activation-group-level commitment definition and the activation group is ending normally, the system performs an implicit commit operation for the commitment definition before it is ended. Otherwise, an implicit rollback operation is performed for the activation-group-level commitment definition before being ended if the activation group is ending abnormally, or if errors were encountered by the system when closing any files opened under commitment control scoped to the activation group.
The system automatically closes any files scoped to the activation group when the activation group ends. This includes any database files scoped to the activation group opened under commitment control. The close for any such file occurs before any implicit commit operation that might be performed for the activation-group-level commitment definition. Therefore, any records that reside in an I/O buffer are first forced to the database before any implicit commit operation is performed.
As part of the implicit commit or rollback operation that might be performed, a call is made to the API commit and rollback exit program for each API commitment resource associated with the activation-group-level commitment definition. The exit program must complete its processing within 5 minutes. After the API commit and rollback exit program is called, the system automatically removes the API commitment resource.
If an implicit rollback operation is performed for a commitment definition that is being ended due to an activation group being ended, then the notify object, if one is defined for the commitment definition, might be updated.