🚀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

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

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

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

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

SAP Master

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 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 el botón Visualizar, veremos en pantalla la tabla en modo visualizar. 2.- 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: Calixto Gutiérrez

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

SAP Senior

Una tabla de control es un rejilla de datos a través de la cual se pueden visualizar y/o modificador de los datos de una tabla (interna, base de datos o estructura). * TRANSACCIONES SM30 --> Se emplea para la actualización de las tablas de base de datos.

Acceder a esta publicación

Creado y Compartido por: Francisco Javier López Andreu

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

SAP Master

Tabla de control Se utiliza para visualización y modificación de datos de una tabla interna o de base de datos,.. Los proceso necesarios para crear un table cotrol se especifican a la izquierda del wizard y tienen un indicador de estado que indica: rojo(No tratado), Amarillo(Tratando actualmente), verde(ya tratado) y son los siguientes: * Inicio Se muestra info general del proceso de creación del table control. * Nombre del table control Se rellenan el nombre del programa, la dynpro y el nombre del table control. * Nombre de la tabla (interna o de base de datos): Se indica si es tabla de la base de datos o interna del programa, además se especifica también de manera opcional ...

Acceder a esta publicación

Creado y Compartido por: Helen Silva Ruiz

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

SAP Master

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 SAP. Creación de una tabla de control:Para crear una tabla de control dentro de una dynpro lo podemos hacer de forma manual o utilizar un asistente (wizard)

Acceder a esta publicación

Creado y Compartido por: Maria Ysabel Colina De Magdaleno

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

SAP Master

Tabla de control: control que se usa para la modificacion y visualizacion de los datos de una tabla interna, tabla BD u otra estructura de datos de SAP. Por ejemplo si ejecutamos la trx SM30, intoducimos una tabla cualquiera veremos una tabla de control. Creacion de una tabla de control: hay dos formas: manual o con el wizard. Wizard: crear un include de datos y declarar la tabla interna junto con la estructura del mismo tipo de la tabla interna. Dentro de la TI se declara al comienzo el campo marca de tipo de caracter de 1 posicion, utilizado para agregar una columna de seleccion a la tabla de control. Luego desde el screen painter agregamos el control table control with wizard. Luego CONTINUAR, cargar el nombre de la tabla de control, agregar...

Acceder a esta publicación

Creado y Compartido por: Jose Ignacio Rodini

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

SAP Expert


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 base de datos u otra estructura de datos de SAP. Por medio de la transacción SM30 se visualizaran las tablas bases de datos. Creación de una tabla de control. Se puede hacer manualmente o por medio de Wizard. Por medio de Wizard lo primero es crear un include de datos y se declara la tabla TI_USUARIOS con la estructura ST_USUARIOS junto al comienzo de la misma el campo marca de tipo carácter 1 que se utiliza para agregar una columna de selección a la tabla de control. Luego en el screen painter de la dynpro selecciona control tabla,...

Acceder a esta publicación

Creado y Compartido por: David De Jesùs Restrepo Cañas

 


 

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