Core.Actions.ProcedureCall
Classification
Name | ProcedureCall |
Short Description | OTX procedure call |
Class | Action |
Extension | OTX Core library |
Group | Core related actions |
Exceptions | InvalidReferenceException AmbiguousCallException |
Checker Rules | Core_Chk053 Core_Chk028 Core_Chk024 Core_Chk025 Core_Chk018 Core_Chk029 Core_Chk030 |
Standard Compliant | Yes |
OTL Syntax
ProcedureCalledName({Argument1 = Term, Argument2 = Term, ...}, BooleanTerm);
Description
With the help of the OTX ProcedureCall activity is another OTX Procedure, either directly or indirectly through a Signature. Has the called procedure information, out, or in/out parameters, can these here used as arguments or bind variables, see Parameter.
OTX procedures have no fixed return value. To return values, the procedure to be invoked must define out parameter.
Procedures within the (local) can it or outside (global) of the document to be called. The external document previously must be imported to calling procedures outside of the current document, see Import. The external procedure do have public Visibility.
A procedure can be called indirectly via a Procedure Signature, see Signature Concept. In this case, all of the procedures that implement this signature are determined at runtime and in alphabetically ascending order whose ValidFor property is checked. The first procedure where ValidFor property returns a value of true is executed. All other procedures are ignored. The order is determined by the name of "Package.Document.Procedure". If no procedure is found, nothing is running and all the parameters remain at their default values.
Properties
Name | Data Type | Class | Default | Cardinality | Description |
Procedure | - | Name | - | [1] | Selectable to invoke procedure name |
Argument | - | Name | - | [1] | List of arguments according to the parameters of the procedure to invoke. The arguments can be set depending on the type of the parameters, bind variables or even blank. |
OTL Examples
public procedure Procedure1(ref Integer InOutParameterDeclaration1, out String OutParameterDeclaration2)
{
...
}
public procedure Procedure2()
{
Integer Integer1;
String String1;
Procedure1({InOutParameterDeclaration1 = Integer1, OutParameterDeclaration2 = String1}, true);
}
See also
Assignment
ShiftRight
ShiftLeft
SetBit
ReplaceSubByteField
AppendByteField
ListConcatenate
ListAppendItems
ListInsertItems
ListRemoveItems
ListClear
MapUnion
MapPutItems
MapRemoveItems
MapClear