SAP — Save file dialog
SAP — Save file dialog
Sección titulada «SAP — Save file dialog»Tipo: sap-save-file-dialog · Paquete: SAP Activities v1.0.5 · Salida: string
Completa el diálogo de guardado de SAP y lo confirma. Es el último paso de casi cualquier descarga desde SAP: después de la acción que abre el diálogo (exportar una grilla ALV, el botón de descarga propio de una transacción, la opción de menú para guardar la lista en un archivo local), esta actividad elige el formato, escribe la carpeta y el nombre, y genera el archivo. Devuelve la ruta completa del archivo.
Cómo funciona
Sección titulada «Cómo funciona»La actividad resuelve las dos pantallas que SAP suele mostrar al descargar:
- Formato. Si delante está el diálogo que pregunta el formato (sin convertir, texto con tabuladores, hoja de cálculo…), selecciona el de
formaty continúa. Si SAP no pregunta el formato, este paso se omite yformatno tiene efecto. - Guardar archivo. Escribe la carpeta (
path), el nombre (fileName) y, si lo indicas, la página de códigos (encoding). Luego pulsa Reemplazar sioverwrite = true(valor por defecto) o Generar sioverwrite = false.
Detalles importantes:
- Si
pathno termina en\, la actividad agrega la barra final (SAP concatena carpeta y nombre tal cual). - Si al llegar no encuentra el diálogo de guardado en la ventana
window(por defectownd[1]), falla con un mensaje que recuerda que esta actividad va después de la que abre el diálogo. - Si SAP responde con un error (tipo
E) o una cancelación (tipoA), la actividad falla con ese mensaje. - Al terminar comprueba que el archivo realmente exista en la ruta; que el diálogo se cierre no garantiza que se haya escrito.
- Como la descarga escribe en disco, SAP GUI puede mostrar su diálogo de seguridad pidiendo permiso. Mientras dura la descarga, la actividad vigila ese diálogo dentro de la ventana de SAP y lo acepta, dejando un aviso en el log. Lo reconoce por su forma y no por sus textos, así que funciona con SAP GUI en cualquier idioma.
A diferencia de otras actividades de SAP, esta no espera a que aparezca el diálogo: debe estar abierto cuando la actividad empieza.
Parámetros requeridos
Sección titulada «Parámetros requeridos»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
path | string | — | Carpeta de destino, que debe existir. Ej: "C:\salidas\". Si falta la barra final, se agrega. |
fileName | string | — | Nombre del archivo con extensión. Ej: "facturas.txt". |
Parámetros opcionales
Sección titulada «Parámetros opcionales»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
session | ZoanSapSession | — | Sesión de SAP. Omítela dentro del body de un SAP — Attach o SAP — Log on. |
format | string | "Text with Tabs" | Formato, cuando SAP lo pregunta primero: Unconverted · Text with Tabs · Spreadsheet · Rich Text · HTML. Text with Tabs es el que un playbook puede procesar después con facilidad. El formato Clipboard no se ofrece porque no genera archivo; un playbook anterior que lo tenga falla con un mensaje que lo explica. |
encoding | string | — | Página de códigos de SAP (por ejemplo "4110" para UTF-8), escrita en el campo ctxtDY_FILE_ENCODING. Vacío usa la predeterminada del sistema. |
overwrite | bool | true | Sobrescribir el archivo si ya existe (botón Reemplazar, btn[11]). Con false usa Generar (btn[0]): si el archivo existe, SAP se niega (“already exists”) y la actividad falla. También acepta una expresión que devuelva true o false. |
window | string | "wnd[1]" | Ventana del diálogo. |
Devuelve un string con la ruta del archivo generado: carpeta + nombre, tal como los indicaste (con la barra final agregada si faltaba). Solo lo devuelve después de comprobar que el archivo existe.
Errores comunes
Sección titulada «Errores comunes»| Mensaje | Causa y solución |
|---|---|
El formato Clipboard no está soportado: SAP copia la lista al portapapeles y nunca abre el diálogo de guardar, así que no hay archivo que escribir. … | Un playbook anterior trae format = Clipboard. Elige otro formato. |
Formato desconocido '…'. Válidos: Unconverted, Text with Tabs, Spreadsheet, Rich Text, HTML. | format no es uno de la lista (se compara sin distinguir mayúsculas). |
No hay diálogo de guardar en wnd[1]. Esta actividad va DESPUÉS de la que lo abre (sap-export-list, sap-grid-export o el botón propio de la transacción). | El campo de carpeta (ctxtDY_PATH) no está en la ventana del diálogo. La actividad no espera a que aparezca. |
El diálogo no tiene el botón btn[11]. (o btn[0]) | El diálogo que hay delante no es el “Save File” estándar de SAP. Condúcelo a mano con SAP — Press button. |
SAP rechazó la descarga [E …]: … | SAP respondió con un error, por ejemplo una carpeta que no existe o, con overwrite = false, un archivo que ya existe. |
SAP no dejó ningún error pero el archivo no se escribió. … | El diálogo se cerró pero el archivo no está en la ruta. Si el mensaje añade Si el equipo pide permiso de escritura y nadie responde, la descarga nunca ocurre, revisa el diálogo de seguridad de SAP GUI (Options → Security). |
Además, los errores comunes a todas las actividades.
Ejemplo
Sección titulada «Ejemplo»Descargar como texto con tabuladores el resultado de un informe que se muestra en una grilla ALV:
SAP — Run transaction code = "ZREPORTE01"SAP — Send key key = F8SAP — 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: archivoLog message = "Descargado en " + archivoActividades relacionadas
Sección titulada «Actividades relacionadas»- SAP — Export ALV grid — abrir la descarga de una grilla ALV; se completa con esta actividad.
- SAP — Export list — descargar una lista clásica de principio a fin (ya incluye este diálogo).
- SAP — Select menu — llegar al diálogo por la barra de menús.
- SAP — Screenshot — guardar una imagen de la pantalla.