Difference between revisions of "DO"

From Recital Documentation Wiki
Jump to: navigation, search
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Class==
 
Applications
 
 
 
 
==Purpose==
 
==Purpose==
 
Execute a Recital procedure, program or stored procedure
 
Execute a Recital procedure, program or stored procedure
Line 16: Line 12:
  
 
==See Also==
 
==See Also==
[[ALIAS]], [[COMPILE]], [[DB_MAXLEV]], [[DEBUG]], [[DO CASE]], [[DO WHILE]], [[LINK]], [[MODIFY COMMAND]], [[PARAMETERS]], [[PCOUNT()]], [[PROCEDURE]], [[SET CLIPPER]], [[SET COMPATIBLE]], [[SET MAXDBO]], [[SET PATH]], [[SET PSHARE]]
+
[[ALIAS]], [[CERROR()]], [[COMPILE]], [[DEBUG]], [[DO CASE]], [[DO WHILE]], [[LINK]], [[MODIFY COMMAND]], [[PARAMETERS]], [[PCOUNT()]], [[PROCEDURE]], [[Recital Linker]], [[SET CLIPPER]], [[SET COMPATIBLE]], [[SET PATH]], [[SET PSHARE]]
  
  
Line 22: Line 18:
 
The DO command is used to execute the Recital/4GL program <.prg filename> or procedure <procedure-name>.  The filename or procedure name can be substituted with a <expC>, enclosed in round brackets, which returns a valid filename.  If no file extension is specified then '.prg' is used.  If the full path is not given, the file is assumed to be in the current directory.  The path (SET PATH) will also be searched it the file is not found in the current directory.  When a program encounters an end of file or a RETURN statement, control returns back to the calling program.  Control returns back to the keyboard if the <.prg filename> was called from interactive command mode.
 
The DO command is used to execute the Recital/4GL program <.prg filename> or procedure <procedure-name>.  The filename or procedure name can be substituted with a <expC>, enclosed in round brackets, which returns a valid filename.  If no file extension is specified then '.prg' is used.  If the full path is not given, the file is assumed to be in the current directory.  The path (SET PATH) will also be searched it the file is not found in the current directory.  When a program encounters an end of file or a RETURN statement, control returns back to the calling program.  Control returns back to the keyboard if the <.prg filename> was called from interactive command mode.
  
The Recital/4GL supports 20 DO levels unless the environment symbol DB_MAXLEV (maximum 40) is set higher.  This is also dependent on Operating System limits controlling the number of open files.  Program files can be linked together if required, using the LINK command or the 'dbl' Recital linker utility (Recital Terminal Developer).
+
Program files can be linked together if required, using the LINK command or the 'dbl' Recital linker utility.
  
 
====WITH <parameter> | <array>====
 
====WITH <parameter> | <array>====
Line 33: Line 29:
 
<code lang="recital">
 
<code lang="recital">
 
procedure name
 
procedure name
 
+
  parameters a,b,c
parameters a,b,c
+
  a = b*c
a = b*c
+
 
+
 
return
 
return
 
//
 
//
Line 46: Line 40:
  
 
==Products==
 
==Products==
Recital Database Server, Recital Mirage Server, Recital Terminal Developer
+
Recital Server, Recital  
 
[[Category:Documentation]]
 
[[Category:Documentation]]
 
[[Category:Commands]]
 
[[Category:Commands]]
 +
[[Category:Applications]]
 +
[[Category:Applications Commands]]

Latest revision as of 14:12, 1 December 2009

Purpose

Execute a Recital procedure, program or stored procedure


Syntax

DO <.prg filename> | <procedure-name> | (<expC>)

[WITH <parameter> [,<parameter>]...]

[WITH <array> [,<array>]...]


See Also

ALIAS, CERROR(), COMPILE, DEBUG, DO CASE, DO WHILE, LINK, MODIFY COMMAND, PARAMETERS, PCOUNT(), PROCEDURE, Recital Linker, SET CLIPPER, SET COMPATIBLE, SET PATH, SET PSHARE


Description

The DO command is used to execute the Recital/4GL program <.prg filename> or procedure <procedure-name>. The filename or procedure name can be substituted with a <expC>, enclosed in round brackets, which returns a valid filename. If no file extension is specified then '.prg' is used. If the full path is not given, the file is assumed to be in the current directory. The path (SET PATH) will also be searched it the file is not found in the current directory. When a program encounters an end of file or a RETURN statement, control returns back to the calling program. Control returns back to the keyboard if the <.prg filename> was called from interactive command mode.

Program files can be linked together if required, using the LINK command or the 'dbl' Recital linker utility.

WITH <parameter> | <array>

You may optionally pass parameters including arrays to the called program. Parameters passed using the DO WITH <parameters> syntax are passed by reference and can be changed by the called procedure. Procedures can also be called using function syntax procedure(parameter1,parameter2…), in which case the parameters are passed by value and cannot be changed by the called procedure.

Procedures expecting parameters should have a PARAMETERS statement as the first executable statement after the procedure declaration. The number of parameters passed to a procedure can be checked using the PCOUNT() function. If CLIPPER is set ON and not all parameters are passed, the variables in the PARAMETERS command not passed will be defined as undefined, type "U" instead of logical .F..


Example

procedure name
  parameters a,b,c
  a = b*c
return
//
name(a,10,20)
// is equivalent to
do name with a,10,20


Products

Recital Server, Recital