A service may consist of one or more program units. The structure of a service consisting of only one program unit and processing a single processing step (single-step service) is illustrated in the diagram on "Structure of a dialog program unit":
A single program unit processes the required task entirely in one step and subsequently terminates it using PEND FI.
For complex tasks which require multiple steps, you can structure a service or transaction into multiple parts. To do this, you have the following options:
multi-step services
multiple program units in one processing step
multiple processing steps in one program unit
subprogram calls issued by program units
chained services
stacked services
You may also use a combination of these options.
You have considerable freedom when designing your UTM program units: the only obligatory rules are that you use INIT and PEND to establish the program framework and MPUT for the processing steps.