# **FenceContainer**

*miscellaneous-functions FenceContainer*

## syntax

- FenceContainer(
*container*,*string message*)

## description

FenceContainer calculates all subitems in the specified *container* that are made available to consumers as subitems of the resulting container and posts the configured *string message* in the EventLog when finished before any of the resulting subitems can be used. This forces the scheduler to first complete a set of calculations before commencing on a subsequent set.

Starting from version 14.4.0, any calculation task that is scheduled after the calculation of a fenced container will only start after the calculation of all fenced tasks is completed, thus enabling a modeller to synchronize memory-intensive sub-tasks and limit simultaneous memory allocation for such separated sub-tasks.

Note that this operator is especially effective when using it to denote a ‘calculation block’ of which all preparatory steps can be removed from memory when finished calculating. Then, only the result (in the FenceContainer) is kept in memory and ready for use in the next step in the model.

## example

```
container Results := FenceContainer(Results0, 'Results for '+Context/ThisIterName+' are finished calculating');
```

## since version

14.4.0