OTX ProcedureCall

From emotive
Jump to: navigation, search

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.

Icons Note.png 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