Salida/retornos

Contenido

Añadir ficha a la salida

Añadir lista a la salida

Set dato de retorno

Ser retorno proceso = NO

Salida/retornos

Conjunto de comandos de proceso cuya ejecución implica una devolución o retorno de información.

El retorno de un comando de este tipo no se produce en el momento en el que esa línea del proceso es procesada sino que es almacenado en memoria y es retornado una vez el proceso ha finalizado.

Algunos de los comando de retornos requieren un origen concreto, otros no.

Añadir ficha a la salida

Comando de instrucción del grupo Retornos que retorna una ficha. Este tipo de proceso se utiliza para alimentar la entrada de otros objetos o sub-objetos.

Origen de la instrucción: ficha de la tabla en curso.

Destino del subproceso: ninguno.

Parámetros

No tiene.

Funcionalidad

Cuando en un proceso indicamos que tiene una tabla de destino con destino ficha estamos indicando que ese proceso retornará una ficha. Este comando de instrucción envía a la salida del proceso una ficha de una tabla. La tabla deberá ser la declarada como salida del proceso.

El proceso que use este comando de instrucción podrá lanzarse siempre que coincida su tabla y origen de entrada (ficha, lista o ninguno) y su salida podrá enlazarse con cualquier objeto cuyo origen coincida con la tabla de destino y destino (ficha) del proceso.

Este tipo de procesos es usado, por tanto, como entrada de otros objetos o como elemento sincronizador entre objetos que compongan un objeto multivista o una acción.

Comentarios

Si en un mismo proceso se ejecuta varias veces este comando, el proceso devolverá únicamente la última ficha añadida.

Ejemplo

Leemos el primer registro de la tabla SLI_W y la añadimos a la salida.

Cargar lista ( SLI_W@ejemplo_dat, ID, 1, , ,  )
    Seleccionar ficha por posición ( 1 )
    Leer ficha seleccionada
        Añadir ficha a la salida

Añadir lista a la salida

Comando de instrucción del grupo Retornos que retorna una lista de registros de una misma tabla. Este tipo de proceso se utiliza para alimentar la entrada de otros objetos o sub-objetos.

Origen de la instrucción: lista de la tabla en curso.

Destino del subproceso: ninguno.

Parámetros

No tiene.

Funcionalidad

Cuando en un proceso indicamos que tiene una tabla de destino con destino lista estamos indicando que ese proceso retornará una lista de registros de esa tabla. Este comando de instrucción envía a la salida del proceso una lista de una tabla. La tabla deberá ser la declarada como salida del proceso.

El proceso que use este comando de instrucción podrá lanzarse siempre que coincida su tabla y origen de entrada (ficha, lista o ninguno) y su salida podrá enlazarse con cualquier objeto cuyo origen coincida con la tabla de destino y destino (lista) del proceso.

Este tipo de procesos es usado, por tanto, como entrada de otros objetos o como elemento sincronizador entre objetos que compongan un objeto multivista o una acción.

Ejemplo

Buscamos los Slides ejecutando la búsqueda añadiendo la lista de registros devuelta por la búsqueda a la salida.

Búsqueda ( SLI_GRP_ORD_ALL@ejemplo_app )
    Añadir lista a la salida

Set dato de retorno

Comando de instrucción del grupo Retornos que retorna un valor desde una función. Este valor será recogido por el objeto desde el que la función haya sido llamada.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Fórmula de dato

Expresión de tipo fórmula con el dato a retornar.

Funcionalidad

Cuando desde un objeto o un sub-objeto hacemos una llamada a una función podremos retornar el valor que especifiquemos en el parámetro al objeto/sub-objeto llamador.

Comentarios

Este comando de instrucción de proceso es únicamente válido para funciones.

Para facilitar la creación de la fórmula podremos hacer uso del asistente para edición de fórmulas.

Ejemplo

Buscamos el nombre del cliente del código pasado en el parámetro BUSCAR de la función retornando el nombre del cliente si lo encuentra. En el caso de no encontrarlo devuelve el texto xError.

Cargar lista ( CLT_M@ejemplo_dat, ID, BUSCAR, , ,  )
    If ( sysListSize )
        Seleccionar ficha por posición ( 1 )
        Leer ficha seleccionada
            Set dato de retorno ( #NAME )
    Else
        Set dato de retorno ( "Error" )

Set retorno proceso = NO

Comando de instrucción del grupo Retornos que permite cambiar el valor de retorno de un proceso (por defecto será True). Cuando se ejecuta este comando el objeto llamador recibe un FALSE.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

No tiene.

Funcionalidad

Un proceso por defecto tiene el valor True como valor de retorno. Este comando de instrucción permite cambiar dicho valor de retorno por False.

Comentarios

Si desde un proceso llamamos a otro mediante el comando Ejecutar proceso, el retorno True o False del sub-proceso ejecutado será recogido en el parámetro Identificador de variable local booleana de retorno de OK.

Si retornamos no en un evento de tabla previo a un alta, baja o modificación de ficha, se cancelará el alta, baja o modificación, respectivamente. Por tanto, este comando de instrucción nos será de gran utilidad para cancelar modificaciones en las tabla si se cumplen las condiciones que estimemos oportunas.

Si el proceso es el origen de otro objeto o de un subobjeto, este comando cancelará su creación.

A partir de la versión 7.12, podemos usar este comando en un manejador de evento disparado desde la señal de pre-inicialización de una vista (marco, formulario, etc.) para cancelar su creación.

En el caso del marco AUTOEXEC, si en los manejadores de pre-inicializando y post-inicializado del marco se ejecuta este comando de instrucción de proceso, se cierra la aplicación sin llegar a abrirse y además se devuelve el código de retorno (return code) correspondiente a la ejecución del vClient, que podremos recoger si el vClient ha sido lanzado desde otra aplicación, por ejemplo.

Ejemplo

Comprobamos al dar de alta un cliente si no es vacío el campo #NAME. Si es vacío retornamos Set retorno =No para continuar en el formulario. En caso contrario aceptamos el registro.

If ( isEmpty(#NAME) )
    Mensaje ( "Especifique el nombre del cliente", Información, ,  )
    Set retorno proceso = NO
Else
    Interfaz: aceptar

Última actualización