SAP — Set cell
SAP — Set cell
Sección titulada «SAP — Set cell»Tipo: sap-set-cell · Paquete: SAP Activities v1.0.5
Escribe un valor en una celda de una tabla de SAP: una cantidad en una posición de pedido, un precio, un indicador. Funciona con los dos tipos de tabla que tiene SAP: las grillas ALV y las tablas clásicas (table control).
Cómo funciona
Sección titulada «Cómo funciona»Espera a que SAP termine lo que esté procesando, busca la tabla por su selector y escribe value en la celda indicada por row y column:
- Grilla ALV: la columna se indica por su nombre técnico (por ejemplo
MENGE), y la fila desde 0. La grilla debe estar en modo editable. - Tabla clásica (table control): la columna se indica por su posición, empezando en 0, y la fila también desde 0. Si pasas un nombre de columna, la actividad falla con un mensaje que lo explica: los nombres solo sirven en una grilla ALV.
Luego espera a que SAP responda y lee la barra de estado: si SAP muestra un error (tipo E) o una cancelación (tipo A), la actividad falla con ese mensaje; cualquier otro mensaje queda registrado en el log.
Si la tabla todavía no está en pantalla, la actividad la espera hasta el plazo configurado (timeout o el elementTimeout del ámbito, 30 segundos por defecto).
Parámetros requeridos
Sección titulada «Parámetros requeridos»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
selector | selector | — | La grilla ALV o la tabla clásica. Selector capturado o id de SAP. |
row | int | — | Fila, empezando en 0. En una tabla clásica, fila visible. |
column | string | — | Nombre técnico de la columna (ALV) o su posición empezando en 0 (tabla clásica), por ejemplo "MENGE" o "2". |
value | string | — | Valor a escribir. |
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. |
timeout | number | — | Segundos que se espera a que aparezca la tabla. 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.
Errores comunes
Sección titulada «Errores comunes»| Mensaje | Causa y solución |
|---|---|
'…' no es un índice de columna. En un table control clásico la columna es su posición empezando en 0 (0, 1, 2...), no su nombre; los nombres de columna solo funcionan en un ALV. | Pasaste un nombre de columna a una tabla clásica. Usa la posición. |
No existe la celda [fila,columna]. | En la tabla clásica no hay celda en esa fila visible y columna. Desplaza la tabla o maximiza la ventana. |
| Error de SAP GUI al modificar la celda | En un ALV: la columna no existe, la fila está fuera de rango o la grilla no es editable en esa pantalla. |
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.
Ejemplo
Sección titulada «Ejemplo»En una grilla ALV editable, cambiar la cantidad de la primera fila:
SAP — Set cell selector = "wnd[0]/usr/cntlGRID1/shellcont/shell" row = 0 column = "MENGE" value = "10"En una tabla clásica, escribir en la tercera columna de la segunda fila:
SAP — Set cell selector = "wnd[0]/usr/tblZPROGTC_ITEMS" row = 1 column = "2" value = "10"Actividades relacionadas
Sección titulada «Actividades relacionadas»- SAP — Read table — leer los valores de la tabla.
- SAP — Select rows — seleccionar filas de una grilla ALV.
- SAP — Maximize — agrandar la ventana para que se vean más filas.
- SAP — Send key — confirmar los cambios con Enter.