Skip to content
EN FR

Actions and result contracts

Documentation status: guide — see Maturity and evidence.

functionalP is commonly used as the body of a declared action. The action declaration remains the contract; the script is only one operationalization of that contract.

Keep the declaration authoritative

A public action should define its owner, name, parameter direction/types, publication state, and return convention in metadata. The script reads the provided inputs and writes the declared outputs.

if Amount < 0 then
begin
  Message := 'Amount must be non-negative';
  Result := false;
end
else
begin
  Result := true;
end;

This example deliberately avoids any implementation class identifier.

Object action vs process

Use an object action when one conceptual object owns the behavior. Introduce a process when the operation crosses several objects, waits for external work, emits several significant events, or must be resumed.

Published actions

A script does not make an action public. Publication is declared by the model and remains subject to authentication, authorization, validation, and process state.