✒️ABAP / Las tablas de control Por Jaime Gomez Arango

Selector Alummnos / Empresas

ABAP Las tablas de control

ABAP Las tablas de control

Control tables

Control tables in SAP are fundamental tools for visualizing and modifying data in internal tables, databases, or SAP data structures. They are similar to spreadsheets that can be found in transaction SM30 when viewing a database table.

To create a control table, there are two methods: manually or using the WIZARD assistant. Below is the creation process using the wizard:

Preparation

  • Create a data Include where you declare an internal table named TI_USERS, containing all the fields of the database table plus a 'mark' field as the first field.

DATA: BEGIN OF ti_users OCCURS 0,
mark(1) TYPE c,
dni TYPE z_dni,
civil_status TYPE z_civil_status,
END OF ti_users.

  • Declare a structure named ST_USERS of the same type as the internal table TI_USERS.

DATA: st_users LIKE LINE OF ti_users.

Design in Screen Painter

  • Select the 'Table Control' icon using the wizard and drag it onto the screen, adjusting its size.

Configuration with the Wizard Assistant

  • Start the wizard and provide the name of the control table, for example, TC_USERS.
  • Specify the program's internal table (TI_USERS) and the work area table (ST_USERS).
  • Select the fields from the table that will be displayed in the control table, excluding the 'mark' field.
  • Configure the attributes of the control table, such as whether it will be for display only or also for updating, whether it will have column headers, and the type of row selection.
  • Choose additional functions, such as the option to navigate pages to add keys below the control table.
  • Specify the Includes where the control table code will be generated. If these Includes do not exist, the wizard will create them automatically.

Completion

  • Press the Finish key to generate all the necessary objects for the control table according to the specified attributes. At this point, you can adjust the width of the columns and modify the titles if necessary.

Within the generated code in the program, the declaration of the control table can be found, for example:

CONTROLS: tc_users TYPE TABLEVIEW USING SCREEN 0200.

The TABLEVIEW type corresponds to the CXTAB_CONTROL structure and has the following fields:

  • FIXED_COLS TYPE I: Number of fixed columns
  • LINEZ TYPE I: Number of lines for vertical scrolling
  • TOP_LINE TYPE I: First line on the next PBO
  • CURRENT_LINE TYPE I: Current line (in a LOOP...ENDLOOP)
  • LEFT_COL TYPE I: First displayed and movable column
  • LINE_SEL_MODE TYPE I: Line selection (0=none, 1=single, 2=multiple)
  • LINE_SELECTOR: Indicator of selected line
  • V_SCROLL: Indicator of vertical scroll bar
  • H_GRID: Indicator of horizontal grid line
  • V_GRID: Indicator of vertical grid line

The COLS type CXTAB_COLUMN consists of the following fields:

  • SCREEN LIKE SCREEN: Attributes of the SCREEN structure
  • INDEX TYPE I: Column position (display sequence)
  • SELECTED: Indicator of selected column
  • VISIBLE LIKE ICON-OLENG: Visible width of the column
  • INVISIBLE: Indicator of invisible column.

This structure stores the data defining the control table, such as the number of fixed columns, the number of lines for vertical scrolling, etc. Additionally, it contains a table of columns (cols) that defines the characteristics of each column, such as its position, visibility, and selection.

In the PBO (Process Before Output) event of the dynpro processing logic, we have the following code generated:

PROCESS BEFORE OUTPUT.

MODULE status_0200.
MODULE cargar_tc_0200.

*&spwizard: pbo flow logic FOR tablecontrol 'TC_USERS'
MODULE tc_users_change_tc_attr.
*&spwizard: MODULE tc_users_change_col_attr.

LOOP AT ti_users_tc INTO st_users_tc WITH CONTROL tc_users CURSOR tc_users-current_line.
MODULE tc_users_get_lines.
*&spwizard: MODULE tc_users_change_field_attr
ENDLOOP.

And in the PAI (Process After Input) event:

PROCESS AFTER INPUT.
*&SPWIZARD: PAI FLOW LOGIC FOR TABLECONTROL 'TC_USERS'

LOOP AT ti_users_tc.
CHAIN.
FIELD st_users_tc-dni.
FIELD st_users_tc-name.
FIELD st_users_tc-age.
FIELD st_users_tc-address.
FIELD st_users_tc-birth_date.
FIELD st_users_tc-marital_status.
FIELD st_users_tc-postal_code.
ENDCHAIN.

FIELD st_users_tc-mark MODULE tc_users_mark ON REQUEST.
ENDLOOP.

MODULE tc_users_user_command.

We use the LOOP-ENDLOOP statement to iterate through each element of the control table. Within this statement, there may be other statements like FIELD, MODULE, SELECT, VALUES, and CHAIN-ENDCHAIN.

It's essential to have a LOOP-ENDLOOP statement both in the PBO and PAI for each control table of the screen. This is because this statement is responsible for copying fields between the ABAP program and the screen, and vice versa.

In the PBO, the system field SY-LOOPC contains the current number of lines of the control table. In the PAI, it contains the number of currently filled lines.

Finally, to populate the control table with data, we perform the loading of it in the PBO:

PROCESS BEFORE OUTPUT.

MODULE cargar_tc_200.
*&SPWIZARD: PBO FLOW LOGIC FOR TABLECONTROL 'TC_USERS'
MODULE tc_users_change_tc_attr.
*&SPWIZARD: MODULE TC_USERS_CHANGE_COL_ATTR.

LOOP AT ti_users_tc INTO st_users_tc WITH CONTROL tc_users CURSOR tc_users-current_line.
MODULE tc_users_get_lines.
*&SPWIZARD: MODULE TC_USERS_CHANGE_FIELD_ATTR
ENDLOOP.

And within the cargar_tc_200 module, we introduce the following code:

MODULE cargar_tc_200 OUTPUT.
CLEAR: ti_users, st_users_tc, ti_users_tc.
REFRESH: ti_users, ti_users_tc.

IF NOT wa_screen_0100-dni IS INITIAL.
SELECT * FROM zcvs_users INTO TABLE ti_users WHERE dni EQ wa_screen_0100-dni.
ELSE.
SELECT * FROM zcvs_users INTO TABLE ti_users.
ENDIF.

LOOP AT ti_users INTO st_users.
CLEAR st_users_tc.
st_users_tc-dni = st_users-dni.
st_users_tc-name = st_users-name.
st_users_tc-age = st_users-age.
st_users_tc-address = st_users-address.
st_users_tc-birth_date = st_users-birth_date.
st_users_tc-marital_status = st_users-marital_status.
st_users_tc-postal_code = st_users-postal_code.
APPEND st_users_tc TO ti_users_tc.
ENDLOOP.
ENDMODULE.

This module is responsible for loading data into the control table. It clears and refreshes the necessary internal tables, then retrieves data from the database based on certain conditions (such as the entered ID). Finally, it transfers the retrieved data into the control table for display on the screen.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.

SAP Expert


Jaime Eduardo Gomez Arango

Profesión: Ingeniero de Sistemas y Computación - España - Legajo: SW34C

✒️Autor de: 149 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Ingeniero de sistemas y computación con 8 años de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.

Certificación Académica de Jaime Gomez

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Las tablas de control" de la mano de nuestros alumnos.

SAP Expert


1. Concepto y Características Las Tablas de Control son objetos de la dynpro que permiten la visualización y modificación de datos procedentes de una tabla interna, una tabla de base de datos o cualquier otra estructura de SAP,. Su aspecto visual es similar al de una hoja de cálculo. Entre sus funciones principales destacan: • Columnas fijas y variables: Las variables incluyen barras de desplazamiento horizontal. • Interactividad: Permiten redimensionar columnas, recolocarlas mediante "arrastrar y soltar" y parametrizar un ancho óptimo,. • Iconos estándar: En la parte inferior suelen incluir funciones para seleccionar detalles, crear/borrar líneas y marcar/desmarcar...

Acceder a esta publicación

Creado y Compartido por: Gabriel José Luces González

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master


Las Tablas de control en ABAP Definición y características de las tablas de control Las tablas de control se utilizan para modificar y visualizar datos de una tabla interna, base de datos u otra estructura de datos de SAP en pantalla. Su aspecto es similar al de una hoja de cálculo. Un ejemplo práctico es la utilización de la transacción SM30 para visualizar y editar registros de una tabla de base de datos. Creación de una tabla de control Se pueden crear manualmente o utilizando el asistente en una Dimpro. El uso del asistente facilita la creación y ahorra tiempo al automatizar la lógica necesaria. Es necesario...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Introducción Las Tablas de Control son controles en dynpros que permiten visualizar y modificar datos tabulares (desde tablas internas o de BD) de forma interactiva, similar a una hoja de cálculo. Son ideales para interfaces de mantenimiento masivo o consultas. 1. Creación con Asistente (Recomendado) Pasos clave: Declarar tabla interna con campo de selección: En el Screen Painter: Usar el ícono Control Tabla (med. Wizard). Arrastrar y ajustar el tamaño en la dynpro. Configurar en el asistente: Nombre del control: Ej: TC_USUARIOS. Tabla interna:...

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert



Las tablas de control (también llamadas tablas de customizing) son el corazón de la configuración de SAP. En ellas se almacenan los parámetros que “enseñan” al sistema cómo debe comportarse frente a distintos escenarios de negocio: tipos de documento, reglas de contabilización, secuencias de determinación, calendarios, tolerancias, estrategias de liberación, entre muchos otros. A diferencia de las tablas maestras o transaccionales —que registran datos de negocio (clientes, materiales, pedidos, asientos)—, las tablas de control contienen reglas y opciones que gobiernan el funcionamiento del sistema. Características clave Dependencia de mandante...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

lección "Las tablas de control": • ¿Qué es una Tabla de control y cuáles son sus características? â—¦ Una Tabla de control es un control integral utilizado para la modificación y visualización de datos dentro de una dynpro en SAP. Su diseño intuitivo, similar al de una hoja de cálculo, permite a los usuarios interactuar directamente con datos de tablas internas, tablas de base de datos u otras estructuras SAP. Este tipo de control facilita la edición, inserción y eliminación de registros de manera visual, lo que lo convierte en una herramienta fundamental para las aplicaciones de diálogo. Por ejemplo, la transacción SM30 es un...

Acceder a esta publicación

Creado y Compartido por: Roberto Fluder Ahumada

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Un error comun que sucede en la creacion de programas de dialogo tiene que ver con el orden en el que declaramos los INCLUDE en el programa principal, supongamos que creamos un include para las declaraciones de datos TOP, un INCLUDE para la declaracion de sub rutinas del PBO y un INCLUDE para las declaraciones de sub rutina del PAI si no declaramos primero de los tres al INCLUIDE TOP nuestro programa no va activar ya que el sistema nos informara de errores de sintaxis, que tienen que ver con la declaracion de datos que estan declarados en el TOP pero al estar declarados posteriormente a la utilizacion de los mismos en los includes del PBO y el PAI generan inconsistencias en la sitaxis.

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Tabla de control: es un control que se utiliza para la modificación y visualización de los datos en una tabla interna, de una tabla base de datos u otras estructuras de datos de SAP en la pantalla. El aspecto de una Tabla de control es similar al de una hoja de cálculo. Un ejemplo claro de una tabla de control lo tenemos cuando introducimos datos a través de la vista de una tabla. Si ejecutamos la transacción SM30, introducimos el nombre de una tabla cualquiera. La creación de una tabla de control. Lo primero que hacemos es crear un include de datos y declaramos la tabla interna TI_USUARIOS junto con la estructura WA_USUARIOS del mismo tipo que la tabla interna. Dentro de la tabla interna declaramos...

Acceder a esta publicación

Creado y Compartido por: Javier Miguel Angel Barcelo / Disponibilidad Laboral: PartTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Control tables Control tables in SAP are fundamental tools for visualizing and modifying data in internal tables, databases, or SAP data structures. They are similar to spreadsheets that can be found in transaction SM30 when viewing a database table. To create a control table, there are two methods: manually or using the WIZARD assistant. Below is the creation process using the wizard: Preparation Create a data Include where you declare an internal table named TI_USERS, containing all the fields of the database table plus a 'mark' field as the first field. DATA: BEGIN OF ti_users OCCURS 0, mark(1) TYPE c, dni TYPE z_dni, civil_status TYPE z_civil_status, END OF ti_users. Declare a structure...

Acceder a esta publicación

Creado y Compartido por: Jaime Eduardo Gomez Arango / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Las tablas de control 1 - Tabla de control y sus caracteristicas. Tablas de control: se usa para la modificacion y visualizacion de los datos de una tabla interna, base de dato o de un aestructura. Con la SM30 podemos visualizar o modificar una tabla por ejemplo. 2 - Creacion de una tabla de control. se puede crear de forma: - manual - con asistente : screen painter --> icono control tabla. - se abre el asistente, primera pantalla se le da continuar - ingresar el nombre de la tabla. - ingresar nombre tabla interna y la estructura (wa). - seleccionar los campos de la tabla de control que se mostraran - en atributos de E/S se tiene que determinar si la tabla de control sera de salida de datos o E/S- - chequear...

Acceder a esta publicación

Creado y Compartido por: Pablo Adrian Oggero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Las tablas de control ¿Que es una tabla de control y cuáles son sus características? Es un control que se usa para la modificación y visualización de los datos de un tabla interna, de una tabla BD u otra estructura de datos de SAP en la pantalla. El aspecto de una tabla de control es similar al de una hoja de cálculo. Un ejemplo de una Tabla de control lo tenemos cuando introducimos datos a través de la vista de una tabla. Si ejecutamos la transacción SM30, introducimos el nombre de una tabla cualquiera, por ejemplo la tabla BD ZTABLA_USUARIOS y hacemos clic en el botón Visualizar veremos la siguiente pantalla: Este es un ejemplo de una Tabla de Control. La creación de una...

Acceder a esta publicación

Creado y Compartido por: Lisimaco Prieto Herrera

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!