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

 X 

✒️ABAP POO El catálogo de campos del ALV GRID CONTROL

ABAP POO El catálogo de campos del ALV GRID CONTROL

ABAP POO El catálogo de campos del ALV GRID CONTROL

EL CATALOG DE CAMPOS DEL ALV_GRID_CONTROL

Es una tabla interna donde se almacenan los campos que se visualizaran en la salida de un reporte ALV

Las columnas que mostramos en un reporte son especificadas por el programador.

La tabla interna del catálogo son del tipo estándar LVC_T_FCAT.

Cada una de las líneas que componen esta tabla son del tipo LVC_S_FCAT, está compuesta por los campos que determinan las propiedades que se pueden configurar de cada una de las columnas que se mostrarán en el reporte ALV GRID.

En el ejercicio de la lección anterior, todas las definiciones de los campos y propiedades de los mismos se tomaron en el reporte ALV fueron tomadas de la tabla ZTABLA_USUARIOS mediante la asignación del parámetro I_STRUCTURE_NAME = ‘ZTABLA_USUARIO’ en la llamada al método SET_TABLE_FOR_FIRST_DISPLAY.

Nota: es posible configurar las propiedades de cada uno de los campos de la estructura LVC_S_FCAT de modo que dichas configuraciones se apliquen en la salida del reporte ALV.

Las principales propiedades de la estructura LVC_S_FCAT:

TABNAME: contiene el nombre de la tabla interna de salida del ALV.

FIELDNAME: contiene el nombre del campo de la tabla interna del ALV.

REF_TABLE: tabla de referencia del diccionario de datos ABAP.

REF_FIELD: campo perteneciente a la tabla de ref. del dic. De datos ABAP.

CHECKBOX: muestra un checbox

COL_POS: contiene la posición de la columna. Solo es relevante si las posiciones relativas de las columnas no son idénticas a la secuencia de los campos en el catalgo de campos cuando se muestran por primera vez el listado. El parámetro determina la posición relativa del campo dentro de la lista de salida. Se puede modificar el orden de las columnas de manera dinámica, el orden de las columnas corresponderá a la secuencia de campos en el catálogo de campos.

DO_SUM: totales para la columna (SI/NO)

HOTSPOT: columna sensible al hotspot (SI/NO)

OUTPUTLEN: determina el ancho de una columna. Si el campo de la ALV tiene una referencia al diccionario de datos, se puede dejar este campo con el valor inicial y tomara el valor de longitud de salida del dominio del campo del diccionario de datos. Si no tiene una referencia a un diccionario de datos debemos especificar aquí la longitud de salida del campo que deseamos.

EMPHASIZE: destaca el contenido de una columna. Para destacar con el color estándar se debe asignar una ‘X’.

KEY: la columna es clave (SI/NO)

LOWERCASE: Mayúscula o Minúscula (SI/NO)

NO_OUT: no se muestra la columna (SI/NO). La columna está oculta en la lista (pantalla o impresora), pero aparece en el campo de selección de cuadros de di´logo de las funciones estándar (clasificación y filtros).

SCRTEXT_S: descripción corta del campo.

SCRTEXT_M: descripción media del campo

SCRTEXT_L: descripción larga del campo.

JUST: alineación del contendio de la columna. ‘R’ para derecha ‘L’ para izquierda ‘C’ centrado, siempre que los tipos sean CHAR o NUMC.

NO_ZERO: no muestra el valor ‘0’ (SI/NO)

NO_SIGN: no muestra el signo (SI/NO).

AGREGAR O CAMBIAR LAS PROPIEDADES DE LAS COLUMNAS DEL CATÁLOGO

Tomando como ejemplo el report ALV que realizamos en la lección anterior, veremos cómo hacer para agregar columnas o cambiar las propiedades de las columnas ya existentes en el report.

Lo primero es definir la tabla interna y la estructura que utilizaremos para trabajar con el catálogo tal como vemos a continuación:

TYPE-POOLS: slis, icon.

DATA: BEGIN OF wa_usuarios,

………dni TYPE z_dni,

……..nombre_ape TYPE z_nombre_ape,

……..estado_usu TYPE z_estado_usu,

……..icono_estado_usu TYPE icon-id,

……...direccion TYPE z_dirección,

………fecha_nac TYPE z_fecha_nac,

………estado-civil TYPE z_estado_civil,

END OF wa_usuarios.

DATA: ti_usuarios LIKE TABLE OF wa_usuarios,

………st_usuarios LIKE LINE OF ti_usuadios.

DATA: ti_catalog TYPE lvc_t_fcat,

………st_catalogo LIKE LINE OF ti_catalogo,

……..ok_code TYPE sy-ucomm,

……..obj_grilla TYPE REF TO cl_gui_alv_grid,

……..obj_contenedor TYPE REF TO cl_gui_custom_container.

Como vamos a usar un campo que será un icono agregamos en la declaración TYPE-POOLS a icon.

Creamos la subrutina ARMAR_CATALOGO, en esta se definen las propiedades de cada una de las columnas:

MODULE crear_objetos_0100 OUTPUT.

…IF obj_contenedor IS INITIAL.

……CREATE OBJECT obj_contenedor EXPORTING container_name = ‘CONTENEDOR’.

……CREATE OBJECT obj_grilla EXPORTING i_parent = o_contenedor.

……PERFORM armar_catalogo.

……CALL METHOD obj_grilla->set_table_for_first_display

………CHANGING

…………it_outtab = ti_usuarios

…………it_fieldcatalgo = ti_catalogo[ ]

………EXCEPTIONS

…………OTHERS = 4.

…ELSE.

……CALL METHOD obj_grilla->refresh_table_display

………EXPORTING

…………i_soft_refresh = ‘X’

………EXCEPTIONS

…………finished = 1

…………OTHERS = .

…ENDIF

ENDMODULE

Dentro de la subrutina ARMAR_CATALOGO definimos las propiedades de cada una de las columnas del listado.

CLEAR ti_catalogo.

REFRESH ti_cataldo.

CLEAR st_catalogo.

St_catalogo-fieldname = ‘DNI’.

St_catalog-tabname = ‘TI_USUARIOS’.

St_catalogo-col-pos = 1.

St_catalgoo_outputlen = 10.

St_catalogo_scrtext_s = ‘DNI’.

St_catalogo_scrtext_m = ‘DNI’.

St_catalogo_scrtext_l = ‘DNI’.

APPEND st_catalogo TO ti_catalgo.

CLEAR st_catalogo.

St_catalogo-fieldname = ‘NOMBRE_APE’.

St_catalog-tabname = ‘TI_USUARIOS’.

St_catalogo-col-pos = 2.

St_catalgoo_outputlen = 25.

St_catalogo_scrtext_s = ‘nombre y apellidos’.

St_catalogo_scrtext_m = ‘nombre y apellidos’.

St_catalogo_scrtext_l = ‘nombre y apellidos’.

St_catalogo-just = ‘L’.

APPEND st_catalogo TO ti_catalgo.

Agregamos una nueva columna que sería un icono

CLEAR st_catalogo.

St_catalogo-fieldname = ‘ICONO_ESTADO_USU’.

St_catalog-tabname = ‘TI_USUARIOS’.

St_catalogo-col-pos = 4.

St_catalogo-icon =’X’.

St_catalogo-coltext = ‘Estado’.

APPEND st_catalogo TO ti_catalgo.

Hay 3 formas de completar el catálogo de campos:

La simple: Si la estructura de salida del report es idéntica a la estructura o tabla base de datos del diccionario de datos en el método SET_TABLE_FOR_FIRST_DIPLAY en el parámetro i_structure_name pasamos el nombre de la tabla.

la forma manual: a mano añadimos los campos.

La semiautomática: ejecutamos el módulo de funciones LBC_FILL_CATALOG_MERGE pasando como parámetro el nombre de la estructura que utilizara la función para generar el catalogo por nosotros en el parámetro i_estructura_name. Luego mediante un loop podemos modificar campos.


 

 

 

Agradecimiento:

Ha agradecido este aporte: Juan Carro


Sobre el autor

Publicación académica de Josep Antoni Lopez Moyano, en su ámbito de estudios para el Máster ABAP POO.

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "El catálogo de campos del ALV GRID CONTROL" de la mano de nuestros alumnos.

SAP SemiSenior

Catálogo de campos: Es una tabla interna en donde se almacenan los campos que se visualizarán en la salida de un reporte ALV. LVC_T_FCAT: Tabla interna catálogo LVC_S_FCAT: Estructura de la tabla interna catálogo. Contiene los campos que determinan las propiedades de las columnas de un ALV. I_STRUCTURE_NAME: Parámetro de la función SET_TABLE_FOR_FIRST_DISPLAY, para almacenar definición de campos.

Acceder a esta publicación

Creado y Compartido por: Hector Alberto Castillo Brevis

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

SAP Expert


Catálogo de Campos: es una tabla interna donde están los campos que mostrará un ALV, es del tipo LVC_T_FCAT y sus líneas de tipo LVC_S_FCAT que tienen las configuraciones de cada columna. TBNAME tiene el nombre de la tabla interna de salida del ALV, FIELDNAME el nombre del campo, REF_TABLE la tabla de referencia del diccionario de datos, REF_FIELD el campo de la tabla de referencia, CHECKBOX muestra un checkbox, COL_POS la posición de la columna, DO_SUM si muestra o no totales, HOTSPOT si es sensible al hotspot, OUTPUTLEN ancho de la columna, EMPHASIZE si destaca el contenido, KEY si es clave, LOWERCASE si admite minúsculas, NO_OUT si no se muestra la coulmna, SCRTEXT_S descripción corta / _M...

Acceder a esta publicación

Creado y Compartido por: Daniel Alejandro Monteros Segura

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

SAP Senior

CATALOGO DE CAMPOS: table interna en donde se almacenan los campos que se visualizaran en la salida de un reporte ALV. La tabla interna es del tipo LVC_T_FCAT. Cada una de las lineas es del tipo LVC_S_FCAT. Esta posee cada una de las caracteristicas configurables de cada campo. CALL METHOD o_grilla->set_table_for_first_display use changing parameter it_fieldcatalog to send the new internal table with customized fields.

Acceder a esta publicación

Creado y Compartido por: Regulo Argotte

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

SAP Senior

CATALOGOS DE CAMPOS Es una tabla interna donde se almacenan los campos que se visualizaran en el reporte ALV. Esta tabla interna es del tipo LVC_T_FCAT y cada línea que la compone es del tipo LVC_S_FCAT las cueles tienen las propiedades que se pueden configurar. Principales propiedades: TABNAME: nombre tabla interna FIELDNAME: nombre campo tabla interna REF_TABLE: tabla de referencia del diccionario REF_FIELD: campo que pertenece a la tabla del diccionario CHECKBOX: muestra un checkbox COL_POS: posición de la columna DO_SUM: totales de columna HOTSPOT: sensible al hotspot (clic) OUTPUTLEN: ancho de la columna EMPHASIZE: destaca contenido de la columna KEY: columna clave LOWERCASE: mayúscula o minúscula NO_OUT: no...

Acceder a esta publicación

Creado y Compartido por: Julio Villalta / Disponibilidad Laboral: FullTime

 


 

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