
U3-L3
Catálogo de campos
Tabla interna donde se almacenan los campos que se visualizaran en la salida de un reporte ALV.
La tabla es del tipo LVC_T_FCAT con una estructura del tipo LVC_S_FACT, está compuesta por campos que determinan las propiedades configurables de cada columna.
Las definiciones de los campos a mostrar en ALV se pueden dar de dos maneras:
- Mediante las propiedades tomadas de una tabla Z, I_STRUCTURE_NAME del método SET_TABLE_FOR_FIRST_DISPLAY (i_structure_name = 'ZUSUARIOS').
- Configurar las propiedades de cada campo de la estructura LVC_S_FACT.
Principales propiedades de LVC_S_FCAT:
TABNAME: nombre de tabla interna de salida del ALV
FIELDNAME: nombre del campo de tabla de salida
REF_TABLE: tabla referencia del diccionario de datos ABAP
REF_FIELD: campo de la tabla referencia del diccionario de datos
CHECKBOX: muestra checkbox
COL_POS: posición de la columna en la lista de salida
HOTSPOT: columna sencible al hotspot (Si/No)
OUTPUTLEN: ancho de columna; es requerido si no se indica campo referencia del diccionario de datos, si se indica, la longitud la toma del dominio del campo referencia.
EMPHASIZE: destaca contenido de una columna. Para destacar con color estándar se asigna 'X'.
KEY: columna clave (Si/No)
LOWERCASE: Mayúscila o Minúscula (Si/No)
NO_OUT: (Si/No), se oculta la columna en lista (pantalla o impresora), pero aparece en campo de selección para funciones de clasificación y filtros.
SCRTEXT_S: descripción corta del campo
SCRTEXT_M: descripción mediana del campo
SCRTEXT_L: descripción larga del campo
JUST: alineación del contenido de columna, solo para tipos CHAR o NUMC
'R': derecha, 'L': Izquierda, 'C': Centrado
NO_ZERO: no muestra valor '0' (Si/No)
NO_SIGN: muestra signo (Si/No)
Para usar el tipo lvc_t_fcat, se debe declarar TYPE-POOLS SLIS, para agregar iconos ICON (lvc_s_fcat-icon = 'X').
cl_gui_alv_control->set_table_for_first_display
CHANGING
it_outtab = ti_usuarios "Tabla de salida
it_fieldcatalog = ti_catalogo[] "Propiedades de campos en tabla de salida
EXCEPTIONS
OTHERS = 4.
3 formas de completar catálogo de campos:
- Mediante tabla Z, i_structure_name = 'ZTABLA', la forma más sencilla
- Forma manual, it_fieldcatalog = ti_catalogo[], forma mas trabajosa
- Semi automática, función LVC_FIELDCATALOG_MERGE pasándole en i_structure_name la estructura de la cual generará el catálogo. Ya generada la tabla del catálogo, se puede loopear y así modificar las propiedades de los campos deseados.