![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Las tablas de control
ABAP Las tablas de control
![ABAP Las tablas de control ABAP Las tablas de control](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/379.jpg)
LAS TABLAS DE CONTROL
LAS CARACTERISTICAS DE UNA TABLA DE CONTROL
La tabla de control es un control que se utiliza para la modificacion y visualizacion de los datos de una tabla interna, tabla base de datos o otra estructura de datos de SAP.
El aspecto de una tabla de control es similar al de una hoja de calculo. Un ejemplo claro de una tabla de control lo tenemos cuando instroducimos datos a traves de la vista de una tabla.
Si ejecutamos la transaccion SM30, introducimos el nombre de una tabla cualquiera, por ejemplo la tabla ZTABLA_USUARIOS y presionamos el boton Visualizar, veremos una pantalla. Este es un ejemplo de una tabla de control.
LA CREACION DE UNA TABLA DE CONTROL
Para crear una tabla de control en una dynpro tenemos dos posibilidades: hacerlo en forma manual o utilizar el asistente Wizard. A continuacion explicaremos como crear una tabla de control con el Wizard (Asistente).
Lo primero que haremos sera crear un include de datos y declararemos la tabla interna TI_USUARIOS junto con la estructura ST_USUARIOS del mismo tipo que la tabla interna. Dentro de la tabla interna declaramos al comienzo de la misma, el campo marca de tipo caracter de 1 posicion, que se utilizara para agregar una columna de seleccion a la tabla de control.
Luego en el Screenn Painter de la dynpro seleccionamos el icono Control Tabla (med.wizard), lo arrojamos a la pantalla y aumentamos manteniendo el boton del mouse presionando las dimensiones del control.
A continuacion se ejecutara el asistente que nos guiara en la contruccion del control. En la primer pantalla presionamos el boton continuar.
Luego ingresamos un nombre para la Tabla de Control que sera TC_USUARIOS.
Ahora especificaremos el nombre de la tabla interna y de la estructura que utilizaremos.
Marcamos los campos de la tabla que se mostraran en la Tabla de Control sin tener en cuenta al campo de seleccion.
Ahora en la opcion Atributos de entrada/salida determinamos si la tabla de control sera de salida de datos, es decir visualizacion o de entrada de datos.
Si marcamos el check Con cabecera de columnas, se visualizaran los titulos de cada columna.
Si marcamos el check con columnas de seleccion se creara en la tabla de control la columna de seleccion, en cuyo caso ingresamos el nombre del campo MARCA en campo columna seleccion.
Luego podemos seleccionar algunas funciones estandar de la tabla de control, las cuales dependeran de que la tabla sea de entrada o salida.
En este caso seleccionamos el check PASARPAG que agregara cuatro botones debajo de la tabla de control con los cuales nos podremos desplazar a lo largo y ancho de la tabla.
Ahora especificamos los includes en donde se creara el codigo de la tabla de control.
En caso de que alguno de los includes no exista, se crearan.
Un error común que sucede en la creación de programas de diálogo tiene que ver con el orden en el que declaramos los Includes en el programa principal. Supongamos que creamos un include para las declaraciones de datos TOP, un include para las declaraciones de subrutina del PBO y un include para las declaraciones de subrutina del PAI.
Sino declaramos primero de los tres al include TOP nuestro programa no se va a activar, ya que el sistema nos informará de errores de sintaxis que tienen que ver con la declaración de datos que están declarados en el TOP. Pero al estar declaradas posteriormente a la utilización de los mismos en los includes del PBO y el PAI generan inconsistencia en la sintaxis.
Finalmente veremos la tabla creada en la dynpro.
Modificamos el ancho de las columnas y las descripciones de los títulos para que se visualicen de otra manera.
Automáticamente se ha creado en nuestro programa una enorme cantidad de código entre lo que encontraremos la declaración de la tabla de control.
El tipo TABLEVIEW corresponde a la estructura CXTAB_CONTROL.
En el PBO y el en PAI de la lógica de procesamiento de la dynpro veremos creado otros códigos.
Utilizaremos la sentencia LOOP-ENDLOOP para recorrer cada elemento de la tabla de control. Dentro de esta sentencia pueden haber otras sentencias como FIELD, MODULE, SELECT , VALUES y CHAIN-ENDCHAIN.
Debe existir una sentencia LOOP-ENDLOOP tanto en el PBO como en el PAI para cada tabla de control de la pantalla. Esto se debe a que mediante esta sentencia se copian los campos entre el programa ABAP y la pantalla y viceversa.
En el PBO, el campo del sistema SY-LOOPC contiene el número actual de líneas de la tabla de control.
En el PAI, contiene el número de líneas actualmente llenas.
Finalmente para llenar la tabla de control con datos, en el PBO de la dynpro realizaremos la carga de la misma.
 
 
 
Sobre el autor
Publicación académica de Ducelvis Lolimar Arcia Cova, en su ámbito de estudios para la Carrera Consultor ABAP.
Ducelvis Lolimar Arcia Cova
Profesión: Tsu Relaciones Industriales (rrii) - Argentina - Legajo: WX74T
✒️Autor de: 125 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP FI Nivel Inicial
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Mi principal objetivo al comenzar esta gran experiencia educativa en programación abap es adquirir los conocimientos y competencias necesarias para incorporarme en el ámbito laboral en esta área.
Certificación Académica de Ducelvis Arcia