Returns the name of the program at a specified program level, the name of the currently executing program, the current program level, or the name of the program executing when an error occurred.
PROGRAM([nLevel]) |
Parameters
- nLevel
-
Specifies the number of program levels to search for the program name. The nLevel parameter can range from 0 to the program nesting depth. For more information about program nesting levels, see maximum number of DO calls in Visual FoxPro System Capacities.
When nLevel is omitted, PROGRAM(В ) returns the name of the currently executing program. If you specify 0 or 1 for nLevel, PROGRAM(В ) returns the name of the master program, or the highest-level program.
If you specify –1 for nLevel, PROGRAM( ) returns the current program level as a numeric value. However, using
PROGRAM(–1)
in the Command window always returns zero (0). If nLevel exceeds the program nesting depth, PROGRAM(В ) returns an empty string ("").
Return Value
Character or Numeric. PROGRAM(В ) returns a program name, the number of the current program level, or an empty string.
Remarks
You can use PROGRAM(В ) to help your program recover from errors. The PROGRAM(В ) function is similar to SYS(16) - Executing Program File Name.
Example
В | Copy Code |
---|---|
ON ERROR DO errhand WITH PROGRAM( ) *** The next line should generate an error *** USE nodatabase ON ERROR && Returns to system default error-handling routine PROCEDURE errhand PARAMETERS gcProgram WAIT 'An error occurred in the program ' + gcProgram WINDOW |