🚀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):

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

MODULE 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:

MODULE USER_COMMAND_0200 INPUT.
move OK_CODE to v_ucomm.
clear OK_CODE.

CASE v_ucomm.
WHEN 'MODIF'.
CLEAR v_cantidad.
LOOP AT ti_usuarios_fd38f INTO st_usuarios_fd38f WHERE marca = 'X'.
ADD 1 TO v_cantidad.
ENDLOOP.
IF v_cantidad IS INITIAL.
MESSAGE e003(z_prueba) WITH 'Debe seleccionar al menos un registro'.
ELSEIF v_cantidad = 1.
CALL SCREEN 0300.
ENDIF.
WHEN 'CANCEL'.
CALL SCREEN 0100.
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:

MODULE 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 Ninoska Marquez, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Master

Ninoska Marquez

Profesión: Ing. de Sistema - Honduras - Legajo: FU90M

✒️Autor de: 99 Publicaciones Académicas

🎓Egresado de los módulos:

Presentación:

Me llamo ninoska marquez tengo 44 anos, tengo varios años de trabajar para una empresa donde me desempeño con el cargo de programador junior, soy perseverante, amable, tranquila

Certificación Académica de Ninoska Marquez

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

Tablas de control una tabla de control es un control que se utiliza para modificacion y visualizacion de los datos de una tabla interna, tabla base de datos o otra estructura de datos SAP El aspecto de una tabla de control es similar un una hoja de calculo Creacion de una tabla de control Para crear una tabla de control en una dynpro tenemos dos posibilidades de forma manual o utilizar el asistente wizard. acontinuacion explicaremos como crear una tabla de control se crea un include de datos y declaramos tabla:_interna TI:_USUARIOS junto con la estructura ST_USUARIOS del mismo tipo que la tabla interna . dentro de la tabla internadeclaramos al comienzo de la misma, el capo marca de tipo caracter de 1 posicion, que utilizara para agregar una...

Acceder a esta publicación

Creado y Compartido por: Andres Felipe Escobar Lopez

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

SAP Master

Las tablas de control, son controles tipo tablas de excel, que pueden servir para entradas y salidas de datos. aunque puede ser creada de forma manual, tambien existe un asistente. en forma personal prefiero el asistente, ya que crea de forma automatica una enorme cantidad de codigo, reduciendo el trabajo de programacion que esto significa.

Acceder a esta publicación

Creado y Compartido por: Eduardo Vargas

*** 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 Master

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

TABLAS DE CONTROL. Es un control que se utiliza para la modificación y visualización de los datos de una tabla interna, tabla DB u otra estructura de datos de SAP. SM30: Transacción estándar de SAP que permite la visualización de los registros de una tabla base de datos para poder actualizar una tabla, esta debe tener una superficie de actualización creada. En el PBO el campo del sistema LOOPC contiene el número actual de lineas de la tabla de control en el PAI contiene el numero actual de lineas llenas.

Acceder a esta publicación

Creado y Compartido por: Juan Santamaria Borja

*** 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 Master

Lección: Tablas de Control [ 8º de 9 ] 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 unatabla interna, tabla base de datos u otra estructura de datos de SAP. Su aspecto es similar al de una hoja de excel. 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 y presionamos elbotón Visualizar, veremos en pantalla la tabla en modo visualizar. Creación de una tabla de control. Para crear una tabla de control en una dynpro, tenemos dos posibilidades:...

Acceder a esta publicación

Creado y Compartido por: Jose Angel Valles Bustos

 


 

👌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!