✒️ABAP / Las tablas de control Por Oscar Perez

Selector Alummnos / Empresas

ABAP Las tablas de control

ABAP Las tablas de control

Unidad-2-Lección-8: Tablas de Control 1) Características de una Tabla de Control

Tabla de control: Es un control que se utiliza para la modificación y visualización de los datos de una tabla interna, tabla de base de datos u otra estructura de datos de SAP.

El aspecto de una tabla de control es similar al de una hoja de cálculo. Un ejemplo de tabla de control es cuando se introducen datos a través de la vista de una tabla. Desde la transacción SM30, se puede ver cualquier tabla.
Este es un ejemplo de una Tabla de Control.

2) Creación de una tabla de control

Tenemos dos posibilidades para crear una tabla de control en una dynpro: hacerlo de forma manual o a través del asistente o “Wizard”. Los pasos para crearlos a través del Wizard son los siguientes:

Primero habrá que crear un include de datos y declarar la tabla interna junto con una estructura del mismo tipo que la tabla interna. Dentro de la tabla interna, habrá que declarar al comienzo el campo “marca” de tipo carácter de 1 posición, que se utilizará para añadir una columna de selección a la tabla de control.
Seguidamente, en el Screen Painter de la dynpro, seleccionamos el ícono Control tabla (med. Wizard), lo ponemos en la pantalla y aumentamos el tamaño manteniendo el botón del mouse presionando las dimensiones de control, después de lo cual aparece el asistente que guiará la construcción del control.
En la primera pantalla hacemos click en continuar, y luego habrá que indicar un nombre para la tabla de control, en este caso, TC_USUARIOS (Continuar)

En la siguiente pantalla, se deberá especificar el nombre de la tabla interna y de la estructura que se utilizará. (Continuar)
Después habrá que marcar los campos de la tabla que se mostrarán en la tabla de control, sin tener en cuenta al campo de selección. (Continuar)
En la siguiente ventana, en la opción Atributos entrada/salida, se determinará si la tabla de control será de salida de datos, es decir, de visualización o de entrada de datos.

Si marcamos Con cabeceras de columnas, se visualizarán los títulos de cada columna.

Si marcamos Con columna de selección, se creará en la tabla de control la columna de selección, en cuyo caso se deberá indicar el nombre del campo MARCA en Campo columna selec. (Continuar)
Luego podemos seleccionar algunas funciones estándar de la tabla de control, las cuales dependerán de que la tabla sea de entrada o de salida. En este caso, se seleccionará PasarPag, que agregará cuatro botones debajo de la tabla de control con los cuales nos podremos desplazar a lo largo y ancho de la tabla. (Continuar)
Ahora nos toca indicar los includes en donde se creará el código de la tabla de control. En caso que no exista alguno de ellos, se crearán. (Continuar)

Nota (Audio tip): 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 subrutinas del PBO y un include para las declaraciones de subrutinas del PAI. Si no declaramos primero de los tres al include TOP nuestro programa no 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 declarados posteriormente a la utilización de los mismo en los include del PBO y el PAI generan inconsistencias en la sintaxis.

Una vez creada la tabla de control, se creará en el programa una enorme cantidad de código entre lo que se encontrará la declaración de la tabla de control. (Finalizar)
Ahora podremos ver la tabla de control creada en nuestro dynpro.

Automáticamente se ha creado en nuestro programa una gran cantidad de código, entre el cual tenemos la declaración de la Tabla de Control (en el Include de Datos):

*&SPWIZARD: DECLARATION OF TABLECONTROL 'TC_USUARIOS' ITSELF
CONTROLS: TC_USUARIOS TYPE TABLEVIEW USING SCREEN 0200.

En el PBO de la lógica de procesamiento de la dynpro, encontramos creado el siguiente código:

PROCESS BEFORE OUTPUT.
*&SPWIZARD: PBO FLOW LOGIC FOR TABLECONTROL 'TC_USUARIOS'
MODULE TC_USUARIOS_CHANGE_TC_ATTR.
*&SPWIZARD: MODULE TC_USUARIOS_CHANGE_COL_ATTR.
LOOP AT TI_USUARIOS_FD38F
INTO ST_USUARIOS_FD38F
WITH CONTROL TC_USUARIOS
CURSOR TC_USUARIOS-CURRENT_LINE.
MODULE TC_USUARIOS_GET_LINES.
*&SPWIZARD: MODULE TC_USUARIOS_CHANGE_FIELD_ATTR
ENDLOOP.

En el PAI de la lógica de procesamiento de la dynpro, encontramos creado el siguiente código:

PROCESS AFTER INPUT.
*&SPWIZARD: PAI FLOW LOGIC FOR TABLECONTROL 'TC_USUARIOS'
LOOP AT TI_USUARIOS_FD38F.
CHAIN.
FIELD ST_USUARIOS_FD38F-DNI.
FIELD ST_USUARIOS_FD38F-NOMBRE_APE.
FIELD ST_USUARIOS_FD38F-ESTADO_USU.
FIELD ST_USUARIOS_FD38F-DIRECCION.
FIELD ST_USUARIOS_FD38F-F_NACIMIENTO.
FIELD ST_USUARIOS_FD38F-ESTADO_CIVIL.
ENDCHAIN.
FIELD ST_USUARIOS_FD38F-MARCA
MODULE TC_USUARIOS_MARK ON REQUEST.
ENDLOOP.

Se utilizará la sentencia LOOP-ENDLOOP, para recorrer cada elemento de la tabla de control. Dentro de esta sentencia, puede 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.

3) Lógica para el llenado de la tabla de control

Para llenar la tabla de control con datos, en el PBO de la dynpro se realizará la carga de la misma. Añadimos la línea de código

cargar_tc_200.

Y en el módulo cargar_tc_200 que se crea, introducimos el siguiente código:

MODULE CARGAR_TC_200 OUTPUT.

CLEAR: ti_usuarios_fd38f_aux, st_usuarios_fd38f, ti_usuarios_fd38f.
REFRESH: ti_usuarios_fd38f_aux, ti_usuarios_fd38f.
IF NOT wa_screen_0100-dni IS INITIAL.
SELECT dni nombre_ape estado_usu direccion f_nacimiento estado_civil
FROM ztabla_usu_fd38f
INTO TABLE ti_usuarios_fd38f_aux
WHERE dni EQ wa_screen_0100-dni.
ELSE.
SELECT dni nombre_ape estado_usu direccion f_nacimiento estado_civil
FROM ztabla_usu_fd38f
INTO TABLE ti_usuarios_fd38f_aux.
ENDIF.
LOOP AT ti_usuarios_fd38f_aux INTO st_usuarios_fd38f_aux.
CLEAR st_usuarios_fd38f.
st_usuarios_fd38f-dni = st_usuarios_fd38f_aux-dni.
st_usuarios_fd38f-nombre_ape = st_usuarios_fd38f_aux-nombre_ape.
st_usuarios_fd38f-estado_usu = st_usuarios_fd38f_aux-estado_usu.
st_usuarios_fd38f-direccion = st_usuarios_fd38f_aux-direccion.
st_usuarios_fd38f-f_nacimiento = st_usuarios_fd38f_aux-f_nacimiento.
st_usuarios_fd38f-estado_civil = st_usuarios_fd38f_aux-estado_civil.
APPEND st_usuarios_fd38f TO ti_usuarios_fd38f.
ENDLOOP.
ENDMODULE. " CARGAR_TC_200 OUTPUT

Nota (Audio Tip): Un error común que sucede en la creación de programas de dialogo, tiene que ver con el orden en el que declaramos los includes en el programa principal. Supongamos que creamos un include para la declaración de datos TOP, un include para las declaraciones de subrutinas del PBO y un include para las declaraciones de subrutinas del PAI. Si no declaramos primero de los tres al include top, nuestro programa no va a activar ya que el sistema nos informara de errores de sintaxis que tienen que ver con la declaración de datos que están declarados en el TOP pero al estar declarados posteriormente en la utilización de los mismos en los include del PBO y el PAI generan inconsistencias en la sintaxis.

Si el usuario hace click en el botón de Modificar o el de Cancelar, se ejecuta el código del módulo USER_COMMAND_0200. Aquí se trata el OK_CODE y, si el usuario hizo click en Modificar se determina si el usuario selecciono algún registro:

USER_COMMAND_0200 INPUT.
OK_CODE v_ucomm.
OK_CODE.

v_ucomm.
.
v_cantidad.
ti_usuarios_fd38f st_usuarios_fd38f marca = .
v_cantidad.
ENDLOOP.
v_cantidad INITIAL.
e003(z_prueba) .
v_cantidad =

ENDIF.
.

ENDCASE.
ENDMODULE.

Si el usuario hizo click en Cancelar el control se devuelve a la dynpro 0100.

Si el usuario no seleccionó registro y presionó Modificar se emite un mensaje de error. Si el usuario seleccionó registro y hace click en Modificar se llama a la dynpro 0300.

4) Lógica para la carga de los campos para visualizar/modificar

Al llamarse la dynpro 0300 debemos asignar los valores del registro seleccionado a los campos de la dynpro 0300. Para ello añadimos la línea de código en su lógica de procesamiento:

cargar_campos_0300.

Luego, en el módulo del PBO cargar_campos_0300 agregamos el código siguiente

MODULE CARGAR_CAMPOS_0300 OUTPUT.
READ TABLE ti_usuarios_fd38f into st_usuarios_fd38f WITH KEY marca = 'X'.

If sy-subrc = 0.
clear wa_screen_0300.

IF sy-subrc EQ 0.
CLEAR wa_screen_0300.
wa_screen_0300-dni = st_usuarios_fd38f-dni.
wa_screen_0300-nombre_ape = st_usuarios_fd38f-nombre_ape.
wa_screen_0300-estado_usu = st_usuarios_fd38f-estado_usu.
wa_screen_0300-direccion = st_usuarios_fd38f-direccion.
wa_screen_0300-f_nacimiento = st_usuarios_fd38f-f_nacimiento.
wa_screen_0300-estado_civil = st_usuarios_fd38f-estado_civil.
ENDIF.
endif.
ENDMODULE. " CARGAR_CAMPOS_0300 OUTPUT

Luego se muestra la dynpro 0300 con los datos, listos para ser modificados.
Aquí, si el usuario hace click en Cancelar, se llama al dynpro 0100, el inicial. Si hace click en Confirmar Modificación, se muestra una ventana “pop up” de confirmación.

Si el usuario hace click en No se llama a la dynpro 0100. Si lo hace en Si, se graban los datos y se llama a la dynpro-0100. Todo este proceso se lleva


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Oscar Perez, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.

SAP Master

Oscar Perez

Profesión: Ingeniero de Sistemas. Consultor y Desarrollador en Peoplesoft - Canada - Legajo: FD38F

✒️Autor de: 105 Publicaciones Académicas

🎓Cursando Actualmente: Master ABAP Orientado a Objetos

🎓Egresado de los módulos:

Certificación Académica de Oscar Perez

✒️+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!