22. Using 3GL Procedures : Callframe, Callproc
 
Share this page                  
Callframe, Callproc
Call 4GL.
Syntax
exec 4gl callframe framename ({ param =
  [byref(]variable[:ind][)] }) [into :variable:ind]
exec 4gl callproc procname ({ [param =]
  [byref(]variable[:ind][)] }) [into :variable:ind]
The parentheses enclosing the parameter list are optional if there are no parameters.
procname
Specifies the name of the procedure to call. String.
framename
Specifies the name of the frame to call. String.
param
Specifies the name of the parameter. The parameter must be in the called frame or procedure's parameter list.
variable
Specifies a variable in the calling 3GL procedure
ind
Specifies a null indicator variable
Description
This allows a 3GL procedure, which is part of a 4GL application, to call back into 4GL, using almost exact 4GL syntax. You can call:
4GL frames
4GL procedures
The parameter name is required for 4GL procedures.
3GL procedures
3GL procedures must be registered as part of the 4GL application. The parameter name is illegal for 3GL procedures.
Database procedures
Database procedures must be registered as part of the 4GL application. The parameter name is required for DBMS procedures.
You cannot pass queries to called components.
These statements are similar to the corresponding 4GL statements:
callproc procedure( );
callframe frame;