Ir al contenido

SAP — Expand tree node

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

Expande un nodo de un árbol de SAP para que se vean sus hijos, o lo pliega si activas collapse. Úsala para llegar a un nodo que está dentro de una rama cerrada, o antes de leer el árbol con SAP — Read tree para que la lectura incluya esos hijos.

Espera a que SAP termine lo que esté procesando, busca el árbol por su selector y expande el nodo cuya clave es nodeKey (o lo pliega, con collapse = true). Luego espera a que SAP cargue el contenido.

El nodo se indica por su clave, no por su texto. La clave la asigna el programa de SAP y suele llevar espacios significativos; por eso conviene tomarla de la salida de SAP — Read tree en lugar de escribirla a mano. Si el árbol no acepta la clave, la actividad falla con un mensaje que lo recuerda.

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 (GuiTree). Selector capturado o id de SAP, por ejemplo wnd[0]/usr/cntlTREE/shellcont/shell.
nodeKeystring—Clave del nodo. Obtenla con SAP — Read tree: no es el texto visible. Ej: " 1".
ParámetroTipoPor defectoDescripción
sessionZoanSapSession—Sesión de SAP. Omítela dentro del body de un SAP — Attach o SAP — Log on.
collapseboolfalsePlegar el nodo en lugar de expandirlo. 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
El árbol no aceptó la clave '…'. Las claves las asigna el programa ABAP y llevan espacios significativos; obtenlas con sap-tree-read en vez de escribirlas a mano. (…)La clave no existe en el árbol, o le faltan o sobran espacios. Tómala de la salida de SAP — Read tree.
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.

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

Expandir una carpeta y leer el árbol con sus hijos ya visibles:

SAP — Read tree selector = "wnd[0]/usr/cntlTREE/shellcont/shell" → output: nodos
SAP — Expand tree node selector = "wnd[0]/usr/cntlTREE/shellcont/shell" nodeKey = nodos[0]["key"]
SAP — Read tree selector = "wnd[0]/usr/cntlTREE/shellcont/shell" → output: nodos