EXPRESS-X functions and procedures

EDMexpressX provides many built-in functions in addition to the standard Express built-in functions and procedures. The names of these functions are not reserved keywords in EDMexpressX. Hence it is legal to overload these functions by using the function names for other identifiers in the mapping schema, although this is not a recommended practice.
There are two main classes of EDMexpressX built in functions:

  1. Built in functions that can be invoked both as a function and as a procedure.

All the EDMexpressX built-in functions that can be invoked as a function as well as a procedure have the prefix xpx. An integer completion code, i.e., error code will always be returned when such an EDMexpressX built-in function is invoked as a function. If the error code is zero, the function has been executed successfully. If the error code is unequal to zero, an error has occurred during execution of the function. The error text that corresponds to the returned error code, can be obtained by invoking the xpxGetErrorText function.
NOTE: All these functions will return values through arguments and not as function value independently of being invoked by a function call or by a procedure call.

  1. Built in functions that can only be invoked by a function call.

All the EDMexpressX built-in functions that are true functions and hence, can only be invoked as a function have the prefix xpf. The xpf functions will not return any completion code (error code). The EDMexpressX exception handling should be used to catch errors that are detected during the execution of an xpf function.
Some of the xpf functions provides exactly the same operation as a corresponding xpx function except that the xpf function returns the "real function value" instead of a completion code.
All built in functions are described in the following sections. For built in functions that have a corresponding EDMinterface function, the document EDMassist Volume IV should be consulted for a full documentation of the actual function.
The functions are listed in alphabetical order within each grouping of functions.
Example of invoking an EDMexpressX function both as a function and as a procedure:
STATEMENTS example;
 LOCAL
  Status    : INTEGER;
  aLineInstance  : GENERIC;
  errText    : STRING;
 END_LOCAL;
 
 -- Invoking xpxCreateInstanceBN as a procedure
 xpxCreateInstanceBN(xpxTargetModelId, 'LINE', aLineInstance);
 -- Invoking xpxCreateInstanceBN as a function
 status:=xpxCreateInstanceBN(xpxTargetModelId,'LINE',aLineInstance);
 IF (status <> 0) THEN
  xpxPrintf('\nError in xpxCreateInstanceBN: ');
  xpxGetErrorText(status,errText);
  xpxPrintf('%s',errText);
 END_IF;
....
END_STATEMENTS;

Alphabethical list of functions