Controles de flujo
Conjunto de comandos del grupo Básicos relativos al control de flujo de los procesos.
Else
Comando de instrucción del grupo Básicos que permite ejecutar un grupo de comandos de instrucción en caso de no cumplirse una condición previa establecida por un comando If o Else if.
Origen de la instrucción: cualquiera.
Destino del subproceso: el mismo que el origen.
Parámetros
No tiene.
Funcionalidad
Este comando genera un subproceso y permite ejecutar las líneas contenidas en el mismo en caso de no cumplirse una condición previa establecida por un comando If o Else if.
Comentarios
El comando de instrucción Else siempre ha de estar inmediatamente precedido de un comando If o de un comando Else if, ambas líneas han de estar situadas al mismo nivel y no puede haber ninguna otra línea al mismo nivel entre ambas, salvo que esté comentada, en cuyo caso será como si no existiese.
Ejemplo
Comprobamos si el número 777 asignado a la variable NUMERO es menor que 1000, de lo contrarío sería igual o mayor que 1000. Mostramos un mensaje según cada caso.
Un else debe ir inmediatamente detrás de un if, no puede haber ninguna línea entre ellos:
Correcto:
Incorrecto:
Else if
Comando de instrucción del grupo Básicos que permite evaluar una condición si no se cumple una condición previa establecida mediante un comando de instrucción If u otro Else if.
Origen de la instrucción: cualquiera.
Destino del subproceso: el mismo que el origen.
Parámetros
Fórmula de condición
Expresión fórmula algebraica o booleana (lógica binaria) a evaluar.
Funcionalidad
Permite evaluar una condición si no se cumple una condición previa establecida mediante un comando de instrucción If u otro Else if.
Este comando genera un subproceso que será ejecutado si se cumple la condición establecida. Si no se cumple, se ejecutará el comando de la siguiente línea del proceso situada al mismo nivel que el Else if.
Comentarios
Para facilitar la escritura de la condición podemos hacer uso del asistente para edición de fórmulas.
El comando de instrucción Else if siempre ha de estar inmediatamente precedido de un comando If o de otro Else if, ambas líneas han de estar situadas al mismo nivel y no puede haber ninguna otra línea al mismo nivel entre ambas, salvo que esté comentada, en cuyo caso será como si no existiese.
Ejemplo
Comprobamos en el caso de que la variable LIMITE no sea cero, si el LIMITE es menor o igual o mayor que 50000 mostrando el mensaje correspondiente.
Un else if debe ir inmediatamente detrás de un if o de un else, no puede haber ninguna línea entre ellos:
Correcto:
Incorrecto:
Esperar
Comando de instrucción del grupo Procesos que pausa la ejecución de un proceso.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Fórmula de tiempo de espera en milisegundos
Expresión de tipo fórmula con el tiempo, en milisegundos, durante el cual se desea pausar el proceso.
Funcionalidad
Este comando permite pausar la ejecución de un proceso. El proceso se pausará en el punto en el que se incluya este comando el tiempo indicado en sus parámetros. Una vez transcurrido ese tiempo, el proceso continuará su ejecución.
Comentarios
No recomendamos esperar tiempos muy largos. Si se quiere detener la ejecución de un proceso un tiempo largo, es preferible crear un bucle for e incluir dentro de éste el comando esperar con un tiempo corto en lugar de un único esperar con un tiempo más largo, para que el proceso libere.
Este comando de instrucción de proceso no garantiza la precisión. El proceso puede dormir más tiempo del configurado en condiciones de carga pesada. Algunos sistemas operativos pueden redondear milisegundos hasta 10 o 15 ms.
Ejemplo
Esperamos 50 segundos antes de mostrar un mensaje de bienvenida.
Finalizar proceso
Comando de instrucción del grupo Procesos que permite al programador abortar la ejecución del proceso en un punto determinado.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
No tiene.
Funcionalidad
Este comando permite abortar la ejecución de un proceso en un punto determinado. El proceso finalizará al ejecutarse la línea en la que se incluya este comando de instrucción, y no ejecutará las líneas posteriores a la misma.
Ejemplo
Si el número de registros de la tabla TMP_LST no es mayor de 100 salimos del proceso, de lo contrario eliminamos todos los registros.
For
Comando de instrucción del grupo Básicos que genera un bucle mientras se cumpla una condición.
Origen de la instrucción: cualquiera.
Destino del subproceso: el mismo de la entrada.
Parámetros
Identificador de variable numérica para bucle
En este parámetro indicaremos la Variable local que se usará como contador de las iteraciones del bucle.
Fórmula de valor inicial
Expresión fórmula que contendrá el valor inicial de la variable local especificada en el parámetro anterior.
Fórmula de condición
Expresión fórmula que contendrá la condición que se ha de cumplir para continuar con las iteraciones del bucle.
Fórmula de valor de incremento
Expresión fórmula que contendrá el valor en el que se incrementará la variable del bucle en cada iteración.
Funcionalidad
Esta función genera un subproceso. Repite las líneas contenidas en dicho subproceso mientras se cumpla la condición declarada, usando como contador del bucle la variable local especificada en el primer parámetro, incrementándose ésta en tantas unidades por iteración según el valor especificado en la fórmula de valor de incremento.
Comentarios
Para facilitar la especificación de las expresiones fórmula podremos hacer uso del asistente para edición de fórmulas. Si comentemos algún error en la declaración de la condición podremos hacer que el proceso entre en un bucle infinito al ejecutar el for.
Ejemplo
Partimos de una serie de números separados por una coma dentro de una variable a evaluar y necesitamos conocer el número mayor.
Usamos countString para conocer cuántas veces existe la coma dentro de la cadena.
Empleamos un bucle For y vamos extrayendo con la función stringSection cada número para compararlo con el valor de la variable local y, el valor de la variable NUM_MAYOR será actualizado en caso de que el número leído en el bucle sea mayor.
If
Comando de instrucción del grupo Básicos que permite crear una sentencia condicional.
Origen de la instrucción: cualquiera.
Destino del subproceso: el mismo que el origen.
Parámetros
Fórmula de condición
Expresión fórmula algebraica o booleana (lógica binaria) a evaluar.
Funcionalidad
Este comando de instrucción permite evaluar una condición.
Comentarios
Este comando de instrucción genera un subproceso que se será ejecutado solamente en el caso de cumplirse la condición establecida en el parámetro. Si no se cumple, se ejecutará el comando de la siguiente línea del proceso situada al mismo nivel que el if.
Para facilitar la escritura de la condición podemos hacer uso del asistente para edición de fórmulas.
Ejemplo
Comprobamos si el usuario en curso es administrador.
Libre
Comando de instrucción del grupo Básicos que permite convertir la línea seleccionada en una línea libre.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
No tiene.
Funcionalidad
Convierte la línea seleccionada en el editor de procesos en una línea libre.
Comentarios
Las líneas libres en un proceso nunca son ejecutadas.
Ejemplo
Creamos líneas libres entre instrucciones.
Recorrer buffer
Comando de instrucción de proceso que recorre el contenido de una cadena y ejecuta un subproceso por cada carácter de la misma.
Origen de la instrucción: cualquiera.
Destino del subproceso: el mismo que el origen.
Parámetros
Fórmula de cadena
Expresión de tipo fórmula con la cadena que se desea recorrer. Para facilitar su introducción podrá hacer uso del asistente para edición de fórmulas.
Identificador de variable local alfabética
Variable local del proceso de tipo alfabético donde se retorna el carácter de la cadena que está siendo procesado.
Funcionalidad
Este comando de instrucción recorre el contenido de una cadena y ejecuta un subproceso por cada carácter de la misma. Guarda en una variable local del proceso el carácter en curso. Dicho subproceso no será ejecutado si el buffer está vacío.
Comentarios
Este comando de instrucción, por tanto, genera un bucle que se repetirá por cada carácter de la cadena y que terminará una vez finalice el contenido de la misma. En el subproceso que genera tendemos que incluir los comandos a ejecutar por cada carácter extraído de la cadena.
La variable local de retorno podrá ser tanto una variable local ya declarada en el proceso o una nueva que declaremos.
Ejemplo
Recorremos los caracteres de la cadena extrayendo el valor ascii de cada carácter.
Rem
Comando de instrucción del grupo Básicos que permite incluir comentarios en un proceso.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Comentario
Texto descriptivo del comentario a incluir en esa línea del proceso.
Funcionalidad
Incluye un comentario en una línea de proceso. Será de utilidad para documentar nuestros procesos y así facilitar su revisión.
Comentarios
El comentario no tiene que estar entrecomillado, pues no se trata de una fórmula. Estas instrucciones no son procesadas al ejecutar el proceso.
Ejemplo
Incluimos comentarios en los procesos para documentarlos.
Última actualización