Ir al contenido

SAP — Press button

Tipo: sap-press-button  ·  Paquete: SAP Activities v1.0.5

Pulsa un botón de una pantalla de SAP, como lo haría una persona con el mouse. Sirve para cualquier botón de la pantalla o de un diálogo: Ejecutar, Guardar, Sí, No, Continuar. Además revisa la barra de estado después de pulsar, así que si SAP responde con un error, el flujo se entera.

  1. Espera a que SAP termine de procesar y busca el botón por su selector, esperando a que aparezca hasta timeout.
  2. Lo pulsa y espera a que SAP termine de responder.
  3. Lee la barra de estado: si hay un mensaje de tipo E (error) o A (cancelación), la actividad falla con el texto de SAP. Los demás mensajes (S, W, I) se registran en el log y el flujo sigue.
ParámetroTipoPor defectoDescripción
selectorselector—Botón a pulsar. Ej: "wnd[1]/usr/btnBUTTON_1".
ParámetroTipoPor defectoDescripción
sessionZoanSapSession—Sesión de SAP. Omítela dentro del body de un SAP — Attach o SAP — Log on.
timeoutnumber—Segundos que se espera a que aparezca el botón. Manda sobre el elementTimeout del ámbito. Vacío usa el del ámbito (30 por defecto); 0 falla al primer intento. Admite decimales.

Esta actividad no devuelve ningún valor.

MensajeCausa y solución
El componente '…' no existe en la sesión de SAP. Se esperó … s a que apareciera. La pantalla actual es … dynpro … (transacción …). …El elemento no apareció en el plazo. El mensaje dice en qué pantalla está la sesión: casi siempre es otra distinta de la esperada (un diálogo delante, un paso que no se dio). Si la pantalla tarda, sube timeout.
SAP respondió [E …]: …Tras la acción, SAP mostró un error (E) o una cancelación (A) en la barra de estado. El texto es el de SAP.

Además, los errores comunes a todas las actividades.

Confirmar un diálogo de pregunta con el botón “Sí”:

SAP Element Exists selector = "wnd[1]/usr/btnBUTTON_1" → output: pregunta
If condition = pregunta
└─ then:
SAP Press Button selector = "wnd[1]/usr/btnBUTTON_1"