Descripción General #
El comando IBMi Espera pertenece a la categoría de automatización para terminales de tipo IBM i / AS/400. Su propósito principal es detener de forma controlada la ejecución del robot hasta que ocurra una condición específica en la terminal o en la posición del cursor.
Este comando actúa como un mecanismo inteligente de sincronización. En lugar de configurar pausas fijas de tiempo que vuelven ineficiente o frágil al robot, permite que la automatización espere de manera dinámica la respuesta del servidor central, continuando con el flujo en el milisegundo exacto en que la interfaz se encuentra lista.
Ejemplo de Uso Rápido #
Imagina que estás automatizando la confirmación de un pedido en una pantalla verde de AS/400. Al presionar la tecla para procesar, el sistema puede demorar unos segundos en guardar los cambios.
- Con IBMi Espera, puedes configurar al robot para que aguarde un máximo de 10 segundos a que aparezca el texto
OPERACION EXITOSAen la terminal antes de intentar leer el número de comprobante generado.
Parámetros y Opciones #
Para configurar el comportamiento de la espera, debes especificar los siguientes parámetros en la línea del comando:

- Condición (obligatorio): Determina la situación exacta del emulador que el robot debe monitorear. Los valores habituales que acepta el sistema son:
Esperar texto aparezca: Aguarda a que un fragmento de texto específico se vuelva visible en la terminal.Esperar texto desaparezca: Útil para esperar que mensajes de carga o advertencias temporales se quiten de la pantalla.Cursor en posición: Detiene el flujo hasta que el cursor del sistema se posicione en las coordenadas indicadas.Cursor fuera de posición: Aguarda a que el cursor se mueva de una celda o coordenada de la pantalla.Pantalla en blanco: Espera a que la terminal se limpie por completo.Pantalla no vacía: Monitorea que la pantalla reciba datos o cambie su estado vacío inicial.
- Dato (opcional): El valor complementario que requiere la condición seleccionada.
- Si elegiste una condición basada en texto, ingresa aquí la palabra o frase exacta que esperas (ej:
OPERACION EXITOSA). - Si seleccionaste una condición basada en el cursor, define la posición exacta utilizando el formato
fila,columnaofila/columna(ej:6,32).
- Si elegiste una condición basada en texto, ingresa aquí la palabra o frase exacta que esperas (ej:
- Tiempo de espera (opcional): Define la cantidad máxima de segundos que el robot tolerará buscando la condición antes de arrojar un error por tiempo de expiración (Timeout). Si no ingresas un valor, STELA aplicará el tiempo de espera configurado por defecto para el proyecto.
Ejemplos de Uso Avanzado #
- Sincronización en Cambios de Pantalla Pesados: Al invocar la apertura de un módulo maestro con gran volumen de datos, configura la condición
Esperar texto aparezcaapuntando a una palabra clave del encabezado de la nueva sección (ej:MAESTRO DE CLIENTES). Esto garantiza que los comandos de escritura posteriores no intenten ejecutarse sobre la pantalla anterior. - Control de Procesamiento en Lote: Si tu robot dispara un proceso batch interno dentro de la terminal que bloquea la interacción del cursor, puedes aplicar la condición
Cursor en posiciónapuntando al campo de comandos de la línea inicial. El flujo se reanudará únicamente cuando la terminal devuelva el control y libere el cursor para el usuario. - Validación de Limpieza de Terminal: Al enviar un comando del sistema como
CLEARo atajoz de teclado para vaciar el lienzo, aplica la condiciónPantalla en blancopara asegurar que no queden residuos de texto previos antes de comenzar a transcribir un nuevo formulario.
Errores Comunes y Soluciones #
- Error: Timeout esperando la aparición del texto / posición del cursor.
- Solución: Verifica si el tiempo asignado en el parámetro Tiempo de espera es insuficiente para la velocidad de respuesta del servidor en horas pico. Si el tiempo es correcto, comprueba que el texto en el parámetro Dato coincida de forma exacta con lo que muestra la terminal, respetando caracteres especiales o espacios si los hubiera.
- Error: Formato de coordenadas del cursor inválido.
- Solución: Asegúrate de que al utilizar las condiciones de cursor (
Cursor en posiciónoCursor fuera de posición), el parámetro Dato esté estructurado únicamente separado por comas o barras (ej:6,32o6/32) sin añadir letras, espacios adicionales ni caracteres especiales.
- Solución: Asegúrate de que al utilizar las condiciones de cursor (