Share via


PROGRAM( ) (Función)

Devuelve el nombre del programa que se está ejecutando actualmente, el nivel del programa actual o el nombre del programa que se estaba ejecutando cuando se produjo un error.

PROGRAM([nLevel])

Valores devueltos

Character o Numeric

Parámetros

  • nLevel
    Especifica en cuántos niveles de programa anteriores se debe buscar el nombre del programa. Este parámetro puede estar comprendido entre 0 y el nivel de anidamiento del programa. Un programa puede ejecutar otro programa, que a su vez puede ejecutar otro programa, y así sucesivamente. Los programas pueden anidarse hasta 128 niveles.

    Si especifica 0 ó 1 para nLevel, PROGRAM( ) devolverá el nombre del programa maestro (el programa de nivel más alto). Si nLevel excede la profundidad de anidamiento del programa, PROGRAM( ) devolverá una cadena vacía.

    Si especifica – 1 para nLevel, PROGRAM( ) devuelve como valor numérico el nivel del programa actual. PROGRAM(-1) siempre devuelve cero cuando se ejecuta desde la ventana Comandos.

Observaciones

PROGRAM( ) ayuda al programa en la recuperación de errores. Es similar SYS(16).

Si se utiliza sin ningún argumento, PROGRAM( ) devuelve el nombre del programa que se está ejecutando actualmente.

Ejemplo

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

Vea también

DO | LINENO( ) | MESSAGE( ) | SYS(16) - Nombre de archivo del programa en ejecución | ASTACKINFO( )