Returns the signature of the internal procedure or user-defined function whose name you supply. Specifically:
If you provide the name of an internal procedure, GET-SIGNATURE returns the type and mode of each parameter.
If you provide the name of a user-defined function, GET-SIGNATURE returns the return type, and the type and mode of each parameter.
If you provide the nil procedure name (""), GET-SIGNATURE returns the signature of the procedure whose handle you supply.
If you provide a name that does not match any of the internal procedures or user-defined functions in the procedure, GET-SIGNATURE returns the empty string ("").
If you provide a remote (proxy) procedure handle or the name of a Web service procedure, GET-SIGNATURE returns the empty string ("").
If you provide the name of a DLL entry point, GET-SIGNATURE returns the ABL equivalent of the C data type of each parameter of the entry point. For more information, see OpenEdge Development: Programming Interfaces.
Note: GET-SIGNATURE does not return the signature of any internal procedure defined using the PROCEDURE statement's PRIVATE option. Similarly, GET-SIGNATURE does not return the signature of any user-defined function defined using the FUNCTION statement's PRIVATE option.
The name of an internal procedure or user-defined function.
GET-SIGNATURE returns a string with the following format:
type , return-type , [modenamep-type[ , modenamep-type]...]
type
The type of the internal procedure. Types include:
PROCEDURE — An ABL internal procedure
FUNCTION — An ABL user-defined function whose definition resides in the procedure
EXTERN — An ABL user-defined function whose definition resides in another procedure
DLL-ENTRY — A DLL entry point
MAIN — The main procedure
return-type
(User-defined functions only) The ABL data type that a user-defined function returns.
modenamep-type
A parameter description where mode is the mode of the parameter, name is the name of the parameter, and p-type is the type of parameter. The parameter type is either a data type (scalar or array) or, for a buffer parameter, the name of the table associated with the buffer.
The modes are:
INPUT
OUTPUT
INPUT-OUTPUT
BUFFER
INPUT TABLE
OUTPUT TABLE
INPUT-OUTPUT TABLE
The data types are:
CHARACTER
DATE
DATETIME
DATETIME-TZ
DECIMAL
HANDLE
INT64
INTEGER
LOGICAL
MEMPTR
RAW
RECID
ROWID
When you define the parameter type as a determinate array with a constant extent value, the GET-SIGNATURE( ) method returns the constant extent value specified as part of the signature (for example, EXTENT 100). When you define the parameter type as a determinate array with a variable extent value, or as an indeterminate array, the GET-SIGNATURE( ) method returns only the extent keyword (that is, EXTENT, with no extent value).