Outbound mapping define how the data are synchronized from the user to accounts or, in other words, when the data out of midPoint. See Synchronization Examples for a generic explanation of the synchronization mechanism.
Outbound expressions are defined in the schema handling section of resource definition. The expression definition is inside attribute definition which is inside account type definition:
<resource> ... <schemaHandling> ... <accountType> ... <attribute> ... <outbound> <initial>true</initial> <expression> <code> concat('uid=', $c:user/c:name, ',ou=people,dc=example,dc=com') </code> </expression> </outbound> ... </attribute> ... </accountType> ... </schemaHandling> ... </resource>
Outbound expressions are in fact value constructions therefore there are many options to use. One of the expressions (scripting) languages may be used, the source value can be referenced directly, it may generated, etc. See Value Construction page for more detail how to construct them.
Outbound expressions usually take variables from the system variables provided by midPoint when the expression is evaluated. Following table summarizes the variables available to outbound expressions.
User associated with the account. This is the most common source of data for outbound expressions.
Numeric value describing the current iteration. It starts with
String value describing the current iteration. It is usually suffix that is appended to the username or a similar "extension" of the value. It should have different value for every iteration. The actual value is determined by the iteration settings.