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

 X 

✒️ABAP Las tablas de control

ABAP Las tablas de control

ABAP Las tablas de control

9. Tablas de Control

9.1. Características del Control de Tabla

Con el control de tabla, puedes mostrar o introducir lineas y/o datos en forma tabular.

Alcance de Función:

  • - Cambiar de tamaño la tabla para desplegar y editar dato.
  • - El ancho y posición de columna puede ser modificado por el usuario.
  • - La selección de columna y/o línea selección con color-intenso.
  • - Selección de línea(s), múltiple, total y de-seleccionar.
  • - Encabezados de columna son mostrados como botones para selección de columna.
  • - Desplazamiento horizontal y vertical con barras de desplazamiento.
  • - Compuesto de algún número de columnas clave (columnas fixed lead).
  • - Los atributos de celda modificables.

El usuario puede almacenar diferente características variables y colocar alguno de estos o el las características básicas como el actual.

9.2. Principios para el control de Tabla.

9.2.1. Llenado.

Por razones de optimización, lees los datos para la tabla de control una vez y los almacenas en una tabla interna. Las líneas de la tabla de control son entonces tomadas de esta tabla interna.

Hay solo un área de trabajo para editar líneas dentro de la tabla de control. Por esta razón, necesitas una instrucción LOOP ... ENDLOOP para cada tabla de control en los módulos PBO y PAI del flujo lógico.

En el módulo PBO, una línea de la tabla de control debe estar llenada con una línea de la tabla interna cada vez que el ciclo es procesado.

Similarmente, el módulo PAI debe copiar los cambios en una línea de tabla de control dentro de la línea de tabla interna correspondiente.

Cuando manejas funciones, debes diferenciar entre las que se aplican solo en una línea en una tabla de control y las relacionadas con la pantalla completa.

9.2.2. Creación en modo Gráfico

En el editor fullscreen gráfico, elige Table para crear una tabla de control y usa el botón izquierdo del ratón para posicionarlo en la pantalla.

Entonces, define los campos en la tabla de control, por ejem: usando estos en ABAP/4 Dictionary.

9.2.3. Creando Tablas de control (Fullscreen Alfanumérico)

Puedes definir una tabla de control en el editor alfanumérico fullscreen.

En el menú Edit, elige Create element y entonces Table control.

Obtienes un cuadro de diálogo donde introduces el nombre de la tabla de control e inicializas los atributos.

Vas al modo de selección y determinas el tamaño de una tabla de control posicionando el control. Entonces, defines los campos de la tabla de control.

Puedes usar también campos de ABAP/4 Dictionary o crear nuevos en el programa.

9.2.4. Definición de una tabla de control en "Module Pool"

CONTROLS ctrl TYPE TABLEVIEW USING SCREEN scr.

El tipo TABLEVIEW corresponde a la estructura CXTAB_CONTROL con los siguientes campos:

FIXED_COLS TYPE I "Número de columnas fijas

LINES TYPE I "Número de líneas para el desplazamiento vertical

TOP_LINE TYPE I "Primera línea en el siguiente PBO

CURRENT_LINE TYPE I "Línea actual (en un LOOP … ENDLOOP)

LEFT_COL TYPE I "Primera columna desplegada y movible

LINE_SEL_MODE TYPE I "Selección de línea (0=ninguna, 1=simple, 2=múltiple)

COL_SEL_MODE TYPE I "Selección de columna (0=ninguna, 1=simple, 2=múltiple)

LINE_SELECTOR "Indicador de línea seleccionada

V_SCROLL "Indicador de barra de desplazamiento vertical

H_GRID "Indicador de línea de grid horizontal

V_GRID "Indicador de línea de grid vertical

COLS TYPE CXTAB_COLLUMN OCCURS 10

El tipo CXTAB_COLLUMN consta de los siguientes campos:

SCREEN LIKE SCREEN "Atributos de la estructura SCREEN

INDEX TYPE I "Posición de columna (secuencia de despliegue)

SELECTED "Indicador de columna seleccionada

VISLENGTH LIKE ICON-OLENG "Ancho visible de columna

INVISIBLE "Indicador de columna invisible

La instrucción CONTROLS define un objeto de dato complejo de el tipo TABLEVIEW el cual corresponde a el tipo CXTAB_CONTROL definido en el ABAP/4 Dictionary (ver grupo tipo CXTAB).

Mantienes los valores iniciales en el Screen Painter. Con la adición USING SCREEN, determinas la pantalla de la cual quieres obtener los valores iniciales para la tabla de control.

Puedes usar la instrucción REFRESH CONTROL ctrl FROM SCREEN scr alguna vez para inicializar una pantalla con valores iniciales de la pantalla screen.

9.2.5. Flujo lógico de la tabla de control.

En el flujo lógico, puedes leer una tabla interna usando la instrucción LOOP. Defines la referencia a la tabla de control especificando WITH CONTROL <ctrl>.

Determinas cual entrada de tabla es leída especificando CURSOR<ctrl>-CURRENT_LINE. El sistema calcula <ctrl>-CURRENT_LINE de <ctrl>-TOP_LINE + SY-STEPL, el cual es el ciclo especial indexado por LOOPs en el flujo lógico.

El sistema calcula <ctrl>-TOP_LINE cuando el usuario desplaza scrolls con la scroll bar, pero no hace lo mismo para desplazar una página. Tú tienes que programarlo.

Después de leer la operación, el contenido del campo es colocado en la linea de encabezado de la tabla interna. Si los campos en la tabla de control tienen los mismos nombres que los campos de la tabla interna, enseguida son llenados.

Debes reflejar algunos cambios que el usuario hace a los campos de una tabla de control en la tabla interna. De otra manera, no aparecerán cuando la pantalla se vuelve a mostrar después de que PBO es ejecutado otra vez, por ejem. Cuando el usuario presiona ENTER o scrolls.

Sin embargo, este procesamiento se debe ejecutar solo si los cambios han sido hechos a la línea de la tabla de control.

Si usas una instrucción LOOP sin una tabla interna en el flujo lógico, debes leer el dato en un módulo PBO el cual es llamado cada vez que el ciclo es procesado.

Ya que, el sistema no puede determinar el número de entradas de tabla interna, se debe usar la instrucción EXIT FROM STEP-LOOP para asegurar que no hay líneas vacías blank desplegadas en la tabla de control si no hay más entradas de tablas interna correspondientes.

También debes determinar el número de líneas para desplazamiento vertical como punto conveniente. <ctrl>-LINES = número de entradas.

9.2.6. Modificación

Puedes cambiar los atributos de la tabla de control por los contenidos de campos.

Para modificar los atributos de celdas individuales temporalmente (!), cambias la tabla SCREEN en un módulo PBO que es procesado entre LOOP y ENDLOOP en el flujo lógico. (Use LOOP AT SCREEN, MODIFY SCREEN).

Ejemplo 1 muestra como puedes reaccionar al requerir el componente de una columna. Si el usuario requiere el componente de una columna, la tabla de control es por consiguiente cambiada(CONNECTIONS-FIXED_COLS = FIXED_COLS). Los componentes de columnas son remarcados en color. Este es almacenado cambiando la tabla de control.

Ejemplo 2 muestra una posible reacción de una línea seleccionada. Durante PAI, el campo ayuda itab-FLAG es llenado con ´X´. En PBO, el procesamiento reacciona a esto remarcando el color todos los campos en una línea donde el itab-FLAG es colocado a ´X´ (todos ellos tienen el grupo atributo ´SEL´ ). Esto es almacenado cambiando la tabla SCREEN.

9.2.7. Control de páginas

Para implementar desplazamiento de página, calculas usando el atributo de tabla de control <ctrl>-TOP_LINE.

Para esto (en PAI), necesitas conocer el número actual de líneas en la tabla de control.

En PBO, el campo de sistema SY-LOOPC contiene el número actual de líneas de tabla de control. En PAI, contiene el número de líneas actualmente llenas.

SY-LOOPC solo contiene un valor entre LOOP y ENDLOOP porque cuenta el número de ciclos.

Note por favor que debes estas preparado para repartir algún overflow

DATA: LOOPLINES LIKE SY-LOOPC

...

MODULE GET_LOOPLINES OUTPUT.

LOOPLINES = SY-LOOPC.

ENDMODULE.

MODULE USER_COMMAND_0200 INPUT.

...

WHEN ´F21´.

FLIGHTS-TOP_LINE = 1.

WHEN ´F22´.

FLIGHTS-TOP_LINES =

FLIGHTS-TOP_LINES - LOOPLINES.

IF FLIGHTS-TOP_LINES < 1.

FLIGHTS-TOP_LINES = 1.

...

WHEN ´F24´.

FLIGHTS-TOP_LINE =

FLIGHTS_ITAB_LINES

- LOOPLINES + 1.


ENDMODULE.

PROCESS BEFORE OUTPUT.

LOOP ... .

MODULE GET_LOOPLINES.

ENDLOOP.

PROCESS AFTER INPUT.

LOOP ... .

...

ENDLOOP.

MODULE USER_COMMAND_0200.

9.2.8. Posición del cursor

El parámetro LINE en la instrucción GET o SET se refiere a el campo de sistema SY-STEPL, el cual es el ciclo de flujo lógico especial indexado.

Para determinar la entrada de tabla interna que corresponde a la línea de tabla de control seleccionada, se calcula como sigue:

Línea requerida = <ctrl>-TOP_LINE + linea de posición del cursor determinada -1.

La instrucción GET CURSOR es apoyada por el código de regreso encontrado en el campo de sistema SY-SUBRC. Si el valor es 0, el cursor es posicionado en un campo. Si el valor es 4, el cursor no está en un campo.


 

 

 


Sobre el autor

Publicación académica de Carlos Piles Rosell, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Senior

Carlos Piles Rosell

Profesión: Analista de Sistemas y Programador - España - Legajo: GZ57B

✒️Autor de: 24 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: PartTime

Certificación Académica de Carlos Piles

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