Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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
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