Ir al contenido

SAP — Export ALV grid

Tipo: sap-grid-export  ·  Paquete: SAP Activities v1.0.5  ·  Salida: boolean

Dispara la exportación de un ALV: abre su menú de exportación y elige la opción que indiques, por ejemplo “archivo local”. Es la forma rápida de sacar todo el contenido de una rejilla ALV a un archivo, en lugar de leerla celda por celda. Normalmente la sigue un SAP — Save file dialog, que elige el formato, pone la ruta y el nombre del archivo, y confirma.

  1. Espera a que SAP termine de procesar y busca el ALV por su selector, esperando a que aparezca hasta timeout.
  2. Pulsa el botón de menú de la barra del ALV indicado en toolbarButton (por defecto &MB_EXPORT, el de exportar). Si el ALV no tiene ese botón, falla con un mensaje que lo explica.
  3. Elige en ese menú la opción menuItem (por defecto &PC, archivo local). Si el menú no la tiene, falla.
  4. Comprueba si quedó abierto el diálogo “Save File”, lo registra en el log y lo devuelve en la salida.

Lo que aparezca después depende de la opción y del sistema. Con &PC, SAP suele preguntar primero el formato y luego muestra el diálogo “Save File”: SAP — Save file dialog resuelve los dos.

ParámetroTipoPor defectoDescripción
selectorselector—El ALV (GuiGridView). Ej: "wnd[0]/usr/cntlGRID1/shellcont/shell".
ParámetroTipoPor defectoDescripción
sessionZoanSapSession—Sesión de SAP. Omítela dentro del body de un SAP — Attach o SAP — Log on.
menuItemstring"&PC"Código de la opción del menú de exportación. &PC = archivo local, &XXL = hoja de cálculo, &XXL_TXT = texto. Depende de lo que tenga instalado el sistema.
toolbarButtonstring"&MB_EXPORT"Botón de menú de la barra del ALV que abre el menú de exportación.
timeoutnumber—Segundos que se espera a que aparezca el ALV. Manda sobre el elementTimeout del ámbito. Vacío usa el del ámbito (30 por defecto); 0 falla al primer intento. Admite decimales.

Devuelve un boolean: true si, al terminar, el diálogo “Save File” ya está abierto (su campo wnd[1]/usr/ctxtDY_PATH existe); false si la siguiente pantalla es otra (por ejemplo, la pregunta del formato, que SAP — Save file dialog también resuelve, o una opción que no escribe archivo).

MensajeCausa y solución
Este ALV no respondió al botón de contexto '…'. No todos los programas ponen la exportación en su barra de herramientas; lista los botones que sí tiene con sap-grid-toolbar o exporta la lista con sap-export-list. (…)El ALV no tiene el botón de toolbarButton. Revísalo con SAP — ALV toolbar.
El menú de exportación no tiene la entrada '…'. Cada sistema publica solo los formatos que tiene instalados. (…)menuItem no existe en ese sistema. Prueba con &PC.
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.

SAP Export ALV Grid selector = "wnd[0]/usr/cntlGRID1/shellcont/shell" menuItem = "&PC"
SAP Save File Dialog path = "C:\salidas\" fileName = "reporte.txt" format = Text with Tabs → output: archivo
Log message = "Reporte descargado en " + archivo

Usar la salida cuando la opción elegida puede no terminar en el diálogo de guardado:

SAP Export ALV Grid selector = "wnd[0]/usr/cntlGRID1/shellcont/shell" menuItem = "&XXL" → output: hayDialogo
If condition = hayDialogo
├─ then:
│ SAP Save File Dialog path = "C:\salidas\" fileName = "reporte.xlsx" → output: archivo
└─ else:
Log level = warning message = "La exportación no abrió el diálogo de guardado"