Close

febrero 24, 2014

Dynpros: Trabajando con el Control Tabla de ABAP Parte I

El Control Tabla de ABAP es un objeto que nos permite mostrar dentro de un dynpro información en formato de tabla (filas y columnas), es realmente útil para crear mantenimientos de tablas y agregarles validaciones complejas.

Para utilizar este control necesitamos tener definida una tabla interna en nuestro programa de dynpro, la tabla debe estar definida en el top include.

Luego en dentro del layout de un dynpro agregamos un objeto Control Tabla (med.Wizard), esto iniciará un asistente que nos guiará por una serie de pasos para crear un Control Tabla. En la primera pantalla solo hacemos clic en Continuar.

asistente-control-tabla-01

En la segunda pantalla asignamos un nombre para nuestro control, en la tercera pantalla indicamos cual será la tabla interna que tendrá los datos a desplegar, si tuviéramos un work area podríamos especificarlo también aquí.

asistente-control-tabla-03

En la cuarta pantalla se nos mostrarán todos los campos de nuestra tabla interna, aquí debemos marcar los campos que deseemos desplegar en el dynpro.

asistente-control-tabla-04

En la quinta pantalla podemos definir si queremos mostrar una tabla con encabezados, si deseamos que los datos de la tabla podrán ser modificados o de solo lectura y si permitiremos seleccionar filas. En este caso solo deseamos desplegar los datos de la tabla asi que dejaremos todas las opciones predeterminadas en esta pantalla.

En la sexta pantalla se puede agregar botones para desplazarse entre paginas, insertar/borrar filas y marcar/des marcar todas las filas.

En la séptima pantalla nos pregunta por los include en los que deseamos guardar el código que genere este asistente.

Finalmente en la octava pantalla nos informa que ya tiene toda la información para generar el código y al presionar el botón Finalizar se termina el asistente y se genera el código dentro de los include definidos.

El resultado final será una pantalla como esta

asistente-control-tabla-09

Podemos cambiar las descripciones y tamaño de las columnas que se generaron. Dentro de nuestro programa antes de desplegar el dynpro tendremos que cargar algunos datos en la tabla interna que declaramos, podemos hacer esto cargando datos desde la base de datos con las sentencia SELECT, un bueno momento para hacer esto es justo antes usar la instrucción SET SCREEN.