Ir al contenido

SAP — Select tree node

Tipo: sap-tree-select  ·  Paquete: SAP Activities v1.0.5

Selecciona un nodo de un árbol de SAP y, por defecto, le hace doble clic para ejecutar su acción: abrir una transacción desde el menú de SAP Easy Access, mostrar un documento, entrar en una carpeta.

Espera a que SAP termine lo que esté procesando, busca el árbol por su selector y selecciona el nodo cuya clave es nodeKey. Si doubleClick está activado (valor por defecto), además le hace doble clic.

El doble clic viene activado porque en casi todos los árboles de SAP seleccionar un nodo no hace nada por sí solo: la acción está en el doble clic. Desactívalo si solo quieres dejar el nodo seleccionado, por ejemplo antes de pulsar un botón que actúa sobre el nodo elegido.

Después espera a que SAP responda y lee la barra de estado: un error (tipo E) o una cancelación (tipo A) hacen fallar la actividad; cualquier otro mensaje queda registrado en el log.

El nodo se indica por su clave, no por su texto; tómala de la salida de SAP — Read tree. Si el árbol todavía no está en pantalla, la actividad lo espera hasta el plazo configurado (timeout o el elementTimeout del ámbito, 30 segundos por defecto).

ParámetroTipoPor defectoDescripción
selectorselector—El árbol. Selector capturado o id de SAP, por ejemplo wnd[0]/usr/cntlTREE/shellcont/shell.
nodeKeystring—Clave del nodo, obtenida con SAP — Read tree.
ParámetroTipoPor defectoDescripción
sessionZoanSapSession—Sesión de SAP. Omítela dentro del body de un SAP — Attach o SAP — Log on.
doubleClickbooltrueHacer doble clic para disparar la acción del nodo; seleccionar solamente no suele hacer nada. También acepta una expresión que devuelva true o false.
timeoutnumber—Segundos que se espera a que aparezca el árbol. 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
Error de SAP GUI al seleccionar el nodoLa clave no existe en el árbol (o su rama está plegada). Tómala de SAP — Read tree y expande antes la rama con SAP — Expand tree node.
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.

Abrir el nodo “Informes mensuales” de un árbol de navegación:

SAP — Read tree selector = "wnd[0]/usr/cntlTREE/shellcont/shell" → output: nodos
For Each items = nodos itemVariable = nodo
└─ activities:
If condition = nodo["text"] == "Informes mensuales"
└─ then:
SAP — Select tree node selector = "wnd[0]/usr/cntlTREE/shellcont/shell" nodeKey = nodo["key"]