Contenido

Ejecutar proceso

Interfaz: Ejecutar manejador de evento

Ejecución

Conjunto de comandos del grupo Básicos relativos a la ejecución procesos.

Ejecutar proceso

Comando de instrucción del grupo ejecución que ejecuta el proceso especificado en el parámetro.

Origen de la instrucción: Cualquiera.

Destino del subproceso: La salida de subproceso llamado; si éste no tiene salida, el destino será el del origen de la línea de proceso donde se ha usado este comando.

Parámetros

Identificador del proceso

Proceso a ejecutar. Podremos elegir entre los procesos cuyo origen coincida con el origen de la línea y aquellos que no tengan origen.

Modo de ejecución

En este parámetro seleccionaremos en qué plano será ejecutado el proceso a ejecutar. Las opciones posibles son:

1º plano: Local: El subproceso será ejecutando en la misma máquina y en el mismo plano que el proceso principal. Es decir, si el proceso llamador es en 1º plano, el subproceso será ejecutado también en 1º plano, si el proceso principal es multitarea, el subproceso será también ejecutado en multitarea. El proceso principal se detendrá mientras el que subproceso no haya terminado, no continuará el proceso principal.

2º plano: Local multitarea (no espera retorno): El subproceso será ejecutando en multitarea, es decir, el subproceso será lanzado y su ejecución será paralela a la del proceso principal pues éste no esperará a que el subproceso finalice.

3º plano: Servidor. El subproceso será ejecutando en el servidor. El proceso principal se detendrá mientras el que subproceso no haya terminado, no continuará el proceso principal.

4º plano: Servidor (no espera retorno). El subproceso será ejecutando en el servidor y su ejecución será paralela a la del proceso principal pues éste no esperará a que el subproceso finalice. Los procesos disparados en 4º plano son ejecutados en una cola secuencialmente.

Identificador de variable local booleana de retorno de Ok (opcional)

En este parámetro declararemos una variable local de tipo booleano que recogerá si el proceso llamado ha terminado ok (1) o no. Si en un proceso ejecutado con este comando se ejecuta el comando set retorno proceso = NO, esta variable local de retorno valdrá 0.

Identificador de variable local de retorno (opcional)

No es funcional en la versión actual. En el caso de que queramos llamar un proceso desde otro y obtener desde el llamador un dato, entonces lo recomendable es ejecutarlo usando comandos de objetos.

Con el comando crear manejador de objeto crearemos una instancia del proceso a llamar.

Si el proceso a ejecutar tiene origen ficha o lista, le pasaremos la ficha o lista a procesar con los comandos añadir ficha al objeto o añadir lista al objeto, respectivamente.

Si queremos asignar algún valor a una variable local del proceso a ejecutar, lo asignaremos con el comando set variable local del objeto.

Para ejecutar el proceso usaremos el comando disparar objeto.

Para leer el valor de una variable local del proceso ejecutado una vez lanzado, usaremos el comando get variable local de objeto.

Identificador de cola

Para procesos ejecutados en multitarea (2º plano). Si en nuestro proyecto hemos definido cola de proceso, en este parámetro podremos indicar en qué cola será lanzado.

Funcionalidad

Comando de instrucción del grupo ejecución que ejecuta el proceso especificado en el parámetro. Si no vamos a necesitar procesar nada de lo realizado por el subproceso entonces éste podrá ser llamado en cualquiera de los modos que no esperan retorno.

Comentarios

Este comando de instrucción genera un subproceso. El origen de dicho subproceso de la salida definida en el proceso ejecutado. En el caso de que el proceso ejecutado no tenga declarada salida alguna, el origen del subproceso será el mismo que el de la línea donde se ha usado este comando.

Si en el proceso llamado se ejecuta el comando de instrucción de proceso Set retorno proceso = NO, dicho subproceso no será ejecutado.

Nota
Debemos tener en cuenta que, si en un proceso ejecutado en tercer plano, una instrucción del mismo dura más de 10 minutos, hará que el proceso no pueda reportar al llamador que continúa ejecutándose, por lo que se desenganchará y se deshará.

Ejemplo

Ejecutamos desde un proceso un proceso en cuarto plano para borrar los registros de la tabla.

Rem ( Ejecutar proceso de borrado de la tabla temporal en cuarto plano )
Ejecutar proceso ( PRO_BORR_TMP_TMP_SRV@ejemplo_dat, 4º plano: Servidor (asíncrono), , ,  )
    Libre

Interfaz: Ejecutar manejador de evento

Comando de instrucción del grupo ejecución que desde un evento de interfaz de un objeto permite ejecutar otro evento declarado en el mismo.

Origen de la instrucción: Cualquiera.

Destino del subproceso: Ninguno.

Parámetros

Identificador de evento-slot

En este parámetro seleccionaremos el evento a ejecutar.

Identificador de variable local booleana de retorno de ok (Opcional)

Declaración de una variable local al objeto, de tipo booleana, donde se retornará si el evento ha sido ejecutado (1) o no (0). Si en un manejador de evento ejecutado con este comando se ejecuta el comando set retorno proceso = NO, esta variable local de retorno valdrá 0.

Funcionalidad

Este comando permite disparar desde un evento de interfaz de un objeto otro evento declarado en el mismo.

Este comando solamente puede ser usado en manejadores de evento de objetos de tipo vista (formularios y objetos de lista), pero no del marco principal del proyecto (AUTOEXEC),

Solamente permite disparar eventos del objeto en curso, no siendo posible disparar eventos incluidos en sus sub-objetos.

Ejemplo

Desde un manejador de eventos de un formulario ejecutamos otro manejador de eventos REF.

Rem ( Ejecutamos el manejador de carga de datos de datos en la rejilla )
Interfaz: Ejecutar manejador de evento ( REF,  )

results matching ""

    No results matching ""