🚀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

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!