Skip to main content

PARALLEL

[definitionname := ] PARALLEL( actionlist )

definitionnameOptional. The action name, which turns the action into a definition, therefore not executed until the definitionname is used as an action.
actionlistA comma-delimited list of the actions to execute simultaneously. These may be ECL actions or external actions.

The PARALLEL action allows the items in the actionlist to execute simultaneously. It does not force parallel execution, only allows it -- the compiler determines the actual execution order. This is already the default operative mode, so PARALLEL is only useful within the action list of a SEQUENTIAL set of actions.

Example:

Act1 :=
OUTPUT(A_People,OutputFormat1,'//hold01/fred.out');
Act2 :=
OUTPUT(Person,{Person.per_first_name,Person.per_last_name});

Act2 := OUTPUT(Person,{Person.per_last_name});

//by naming these actions, they become inactive definitions
//that only execute when the definition names are called as actions

SEQUENTIAL(Act1,PARALLEL(Act2,Act3));

//executes Act1 alone, and only when it's finished, 
// executes Act2 and Act3 together

See Also: ORDERED , SEQUENTIAL