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.
Return
type: CHARACTER
Applies to:
Procedure object handle
Syntax
GET-SIGNATURE ( int-proc-name )
|
-
int-proc-name
- 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.
-
mode
name
p-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).