SYS(16) - Nombre de archivo del programa en ejecución

Devuelve el nombre de archivo del programa que se está ejecutando.

SYS(16 [, nProgramLevel])

Valores devueltos

Character

Parámetros

  • nProgramLevel
    Indica de cuántos niveles anteriores se ha cargado el nombre del programa. Este argumento puede valer entre 1 y la profundidad de anidación de los programas.

    Si nProgramLevel es 0 ó 1, SYS(16) devuelve el nombre del programa principal (el programa que se ejecutó primero). Si se omite nProgramLevel, se devolverá el nombre del programa que se esté ejecutando actualmente. Si nProgramLevel es mayor que la profundidad de anidación del programa, se devolverá la cadena vacía.

Observaciones

Esta opción es útil cuando se recuperan errores. SYS(16) es similar a PROGRAM( ). Sin embargo, SYS(16) devuelve la ruta de acceso con el nombre del programa; PROGRAM( ) devuelve solamente el nombre del programa.

Si se está ejecutando un procedimiento o una función, SYS(16) devolverá también el nombre del archivo que contiene el procedimiento o la función después del nombre de éstos.

Cuando el programa en ejecución forma parte de una aplicación (.app), SYS(16) devuelve únicamente el nombre del programa; no se devuelve la ruta de acceso con el nombre del programa.

Ejemplo

Puede devolverse el anidamiento del programa con el pequeño programa de ejemplo siguiente:

STORE 1 TO gnX
DO WHILE LEN(SYS(16,gnX)) != 0
   ? SYS(16,gnX)
   STORE gnX+1 TO gnX
ENDDO

Vea también

LINENO( ) | ON ERROR | PROGRAM( ) | SYS( ) Introducción a las funciones