🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP Las tablas de control

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


 

 

 


Sobre el autor

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

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 en Programación 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 Master

Una Tabla de control es un control que permite la visualización de los datos de una tabla y con la posibilidad de poder movernos por esos datos.En estas podemos insertar así cualquier cosa, desde variables de programas, hasta tablas del diccionario de datos pasando por las tablas internas. El aspecto de una tabla de control es similar al de una hoja de calculo, podemos consultarla por la transacción SM30.

Acceder a esta publicación

Creado y Compartido por: William Alejandro Lemus

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

SAP Master

Las tablas de control son controles utilizados para modificar y visualizar los datos de una tabla interna, tabla base de datos o otra estructura de datos de SAP. Con la sentencia LOOP-ENDLOOP podemos recorrer cada elemento de la tabla de control.

Acceder a esta publicación

Creado y Compartido por: Mónica Robles

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

SAP Expert


Tablas de control Características de una tabla de control Una 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 SAP. Creación de una tabla de control Para crear una tabla de control en una dynpro tenemos 2 posibilidades: Hacerlo en forma manual o utilizar el asistente Wizard. OJO: En el PBO, el campo del sistema SY-LOOPC contiene el número actual de líneas de la tabla de control. ene el PAI, contiene el número de líneas actualmente llenas.

Acceder a esta publicación

Creado y Compartido por: José Luis Zevallos Mamani

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

SAP Master


Tablas de Control Podemos decir que una Tabla de control o Table Control es un control que se utiliza para la modificación y visualización de los datos de una tabla interna, tabla base de datos u otra estructura de datos de SAP. La tablas de control son objetos sumamente útiles ya que nos permiten mostrar en pantalla mucha información sin ocupar toda 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. Para crear una Tabla de control en una dynpro tenemos dos posibilidades: hacerlo en forma manual o utilizar el asistente Wizard. En el PBO, el campo del sistema...

Acceder a esta publicación

Creado y Compartido por: Cesar Armando Gutierrez Gomez / Disponibilidad Laboral: FullTime

*** 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 1. Que es una tabla de control y cuáles son sus características Tabla de control es un control que se usa para la modificación y visualización de los datos de una tabla interna, de una tabla base de datos 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. La visualización o modificación de una vista en la SM30 es un ejemplo de tabla de control. 2. La creación de una tabla de control Se puede crear manualmente o a través de una asistente Un error común que sucede en programas de diálogo tiene que ver con el orden en el que declaramos los includes en el programa...

Acceder a esta publicación

Creado y Compartido por: David Brito Melado

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

SAP Expert


TABLAS DE CONTROL – LECCION 2-8 CARACTERISTICAS DE UNA TABLA DE CONTROL TABLA DE CONTROL, es un control que se utiliza para modificar y visualizar datos de una tabla interna, tablas de base de datos o estructura de datos SAP TRANSACCION SM30, actualizar vista de tabla INCLUDE DE DATOS, es un objeto de ABAP que se crea para agrupar en él, todas las declaraciones de datos que se utilizan en un programa o grupo de programa CREACION DE UNA TABLA DE CONTROL - Include de datos - Tabla interna - Screen painter – Dynpro (SE51 o SE80) - Icono control table WIDZAR - Continuar - Llenar campo, nombre tabla de control - Llenar campo, nombre tabla interna - Marcar...

Acceder a esta publicación

Creado y Compartido por: Cristian Darwin Arteaga Diaz / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


TABLAS DE CONTROL: Control que se utiliza para la modificación y visualización de los datos de una tabla interna, tabla B.D u otra estructura de datos de SAP. Apecto similar a una hoja de cálculo. CREACION: Puedes hacerse de forma Manual ó con el wizard Creación mediante el Wizard > 1º- Include de datos y declaración de tabla interna junto con estructura del mismo tuipo que la tabla interna. Dentro de la tabla interna campo marca de tiopo carácter de 1 posición, para agregar una columna de selección a la tabla de control. > 2º- Screen Painter de la dynpro: icono Control Tabla (med. Wizard) y después de ponerlo en la pantalla, se lanza el asistente para la...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio De Tejada Santiago / Disponibilidad Laboral: FullTime

*** 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 de una tabla interna, tabla base de datos o otra estructura de datos de SAP. Las tablas de control o table control se utilizan en muchas de las transacciones estándar de SAP. Podemos crear una tabla de control en forma manual o también utilizando el Wizard o Asistente. El aspecto de estas es similar a una hoja de calculo. En la dynpro correspondiente al table control debe haber un loop-endloop en el PBO y la PAI.

Acceder a esta publicación

Creado y Compartido por: Andres Gomez / Disponibilidad Laboral: FullTime

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

SAP Master


TABLAS DE CONTROL Una tabla de control es un control que se usa para la modificación y visualización de los datos de una tabla interna, tabla base de datos u otra estructura de datos de SAP. Creación de una tabla de control: Para crear una tabla de control en una dynpro podemos hacerlo manualmente o con el asistente. Con el asistente -> Crearemos un include de datos y declaremos una tabla interna y una estructura con el mismo tipo que la tabla interna. En la declaración de la tabla interna el primer campo se llamará siempre "marca" de tipo c de 1 posición, que usaremos para agregar una columna de selección a la tabla de control. No meteremos el campo MANDT. Lo siguiente será,...

Acceder a esta publicación

Creado y Compartido por: Ignacio Martín Bolumar

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.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!