12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
- <sect1 id="Workflow_Overview">
- <title>Workflow Overview</title>
- <para>Workflow control within ECL is generally handled automatically by the
- system. It spots which processes can happen in parallel, when
- synchronization is required, and when processes must happen in series. These
- workflow services allow exceptions to the normal flow of execution to be
- specified by the programmer to give extra control (such as the FAILURE
- clause).</para>
- <para>Workflow operations are implicitly evaluated in a separate global
- scope from the code to which it is attached. Therefore, any values from the
- code to which it is attached (such as loop counters) are unavailable to the
- workflow service.</para>
- <para>It should also be noted that when a workflow operation is present within
- multiple SEQUENTIAL statements only the first instance will be evaluated.</para>
- <para>Example:</para>
- <programlisting>
- Chesney := OUTPUT('"I am the one and only!" said Chesney')
- : SUCCESS(OUTPUT('"Oh yeah, prove it?"'));
- SEQUENTIAL(
- OUTPUT('"I am Spartacus" said one from the mob'),
- Chesney
- );
- SEQUENTIAL(
- OUTPUT('"No, I am Spartacus" confessed another'),
- Chesney,
- OUTPUT('"Ok, so you are!"')
- );
- </programlisting>
- <para>yields:</para>
- <programlisting>
- "I am Spartacus" said one from the mob
- "I am the one and only!" said Chesney
- "Oh yeah, prove it?"
- "No, I am Spartacus" confessed another
- "Ok, so you are!"
- </programlisting>
- <para>See Also: <link linkend="SEQUENTIAL">SEQUENTIAL</link></para>
- </sect1>
|