Alv Abap
Alv Abap
Alv Abap
1-45
Leccin 1 Introduccin
El ALV Grid control (ABAP List Viewer) es una herramienta flexible para mostrar listas. La herramienta tiene operaciones comunes de las listas como funciones genricas y pueden ser redefinidas. Esto permite que el uso de la ALV sirva para una gran variedad de programas.
La ALV consta de una barra de herramientas (toolbar), un ttulo y la tabla de salida. Si el programador as lo desea, se puede ocultar el ttulo y toda o parte de la toolbar.
1.1 Implementacin
Como todos los controles wrap, la ALV ofrece mtodos globales de clase que pueden ser usados desde los programas.
2-45
1.2 Integracin
Los controles son componentes software que pueden ser instanciados localmente. Para poder comunicarse con ese componente todos los controles wrap usan mtodos control Framework. En este contexto, las ALV son un caso especial. La ALV usa controles del men de SAP para integrarlas en sus funciones estndar. Ese men puede ser customizado para los requerimientos individuales de cada programa.
1.3 Rasgos
Esto es un vistazo a la funcionalidad que la ALV ofrece. Se puede... Mostrar listados no jerrquicos con un aspecto visual. Usar funciones tpicas como ordenar o filtrar automticamente si aadir ni una lnea de cdigo ms. Adaptar las funciones predefinidas y sus acciones Programar acciones habituales por el usuario como el presionar botn derecho o doble clic en una lnea de forma masiva o individual
1.4 Limitaciones
La ALV Grid control no puede mostrar bloques o listas jerrquicas. Las listas han de ser mostradas en lneas individuales. Permite poder ordenarlas al gusto del usuario e imprimirlas con ese formato.
3-45
2.1 Definicin
La instancia ha de referirse a la clase cl_gui_alv_grid. DATA: nonmbre_variable TYPE REF TO cl_gui_alv_grid. Una instancia de la ALV muestra toda la informacin en forma de lista en la pantalla. Se puede llamar a mtodos de esa instancia para redefinir propiedades del control.
2.3 Integracin
La Clase cl_gui_alv_grid contiene tambin mtodos de control especficos y mtodos para el control de la Framework.
4-45
Como mnimo se tiene que proveer de los siguientes dos tipos de informacin para mostrar los datos. Una tabla interna con los datos a mostrar, llamada Output table Una descripcin de la estructura de esos datos que han sido declarados en la ALV, bien con el field catalog o bien con la correspondiente estructura del diccionario de datos. Generalmente, la tabla de salida contiene datos que previamente se han seleccionado de la base de datos. La referencia de la Output table que se le pasa a la ALV tiene que ser vlida mientras la ALV est operativa. sta puede ser local en el programa o referenciarse a una estructura global. El field catalog es una tabla que contiene informacin referente a los campos que se van a mostrar en la ALV. Por ejemplo, la ALV usa la tabla para identificar el tipo
5-45
de campo. Se puede usar tambin para dar un formato especial para una columna como hacer que se muestren iconos o botones check.
6-45
2. Crear una pantalla estndar y marcar un rea para al contenedor ( Asignar a esa rea el nombre del container.
3. En el mdulo PBO de la misma screen, se debe instanciar el container control de la ALV Grid control. Usar el parmetro parent para hacer el link entre el container y la pantalla IF grf_ccontainer IS INITIAL. CREATE OBJECT grf_ccontainer EXPORTING
ALV Grid Control 7-45
CONTAINER_NAME = 'CCCONTAINER'. CREATE OBJECT GRF_GRID EXPORTING I_PARENT = grf_ccontainer. ENDIF. Normalmente, se usa el mtodo cl_gui_cfw=>flush para pasar los mtodos llamados en el frontend, pero desde que el Control Framework manda un flush automtico al final del PBO, esto ya no es necesario. Cuando se inicia el programa, aunque las dos instancias (el contenedor y la ALV) se generan estas no son visibles.
8-45
Definir y crear funciones propias por aplicacin, aadirlas a la botonera estndar o redefinir las funciones estndar para sus necesidades u ocultar aquellas que no se deseen. Se pueden programar funciones Drag & Drop. La ALV Grid permite por medio de la programacin usar funciones Drag & Drop para implementarlas en aplicaciones gracias a las ALV Grid y otros custom controles. El formato de la salida y el control de opciones vienen de tres estructuras: o o o Field catalog Layout Print Estructura
Modo
Resultado
Cambiar la La ALV Grid muestra el icono de la variante variante ( ) pero no el men en la toolbar. Leer variantes
IS_VARIANT = <estructura La ALV Grid muestra el icono de variantes en variante> la toolbar. El men contiene slo funciones I_SAVE = SPACE. (o para seleccionar y cambiar la variante. IS_VARIANT es SPACE y I_SAVE No SPACE) La ALV Grid muestra los iconos de las variantes en el men de la toolbar. Se puede seleccionar las variantes existentes, se pueden cambiar y grabar. IS_VARIANT = <estructura variante> I_SAVE = <'X', 'U' o 'A'>
Requisitos previos Con los parmetros por defecto, los usuarios pueden grabar variables como sus variables por defecto. Si existe ya una variable por defecto, sta es la que se lee cuando el mtodo set_table_for_first_display se instancia. Si no se quiere permitir que los usuarios creen variables por defecto, el parmetro I_DEFAULT = SPACE. Si el parmetro I_DEFAULT = SPACE se puede hacer que se cargue una variante usando el mdulo de funciones LVC_VARIANT_DEFAULT_GET. Pasos a seguir 1. Declarar la variable para determinar las opciones de grabar que estn disponibles para el usuario y una estructura para identificar la variante. DATA: X_SAVE GV_VARIANT TYPE c, " Parmetro I_SAVE TYPE DISVARIANT. " Parmetro IS_VARIANT 2. La estructura tipo DISVARIANT debe contener como mnimo el report ID. GV_REPID = SY-REPID. GV_VARIANT-REPORT = GV_REPID. 3. Determinar las opciones de grabado disponibles para el usuario X_SAVE = 'U'. " Las variantes slo pueden ser grabadas para su usuario 4. Pasar las variables en la llamada al mtodo
set_table_for_first_display: CALL MTODO GRID1->set_table_for_first_display EXPORTING I_ESTRUCTURA_NAME = 'SFLIGHT' IS_VARIANT I_SAVE CHANGING IT_OUTTAB = GV_VARIANT = X_SAVE = GT_SFLIGHT.
10-45
Si se pasa slo el actual parmetro IS_VARIANT, los usuarios slo pueden leer variantes pero no grabar nuevas. Si se usa el parmetro I_SAVE se necesita pasar una variante con la estructura IS_VARIANT. Resultado La toolbar ahora incluye en el men la opcin de que los usuarios lean y graben variantes. Dependiendo del valor del parmetro I_SAVE se puede: Opciones para el parmetro I_SAVE I_SAVE = SPACE I_SAVE = 'U' I_SAVE = 'X' I_SAVE = 'A' Las variantes no pueden ser grabadas. Slo se pueden acceder a las variantes del usuario. Slo se pueden grabar variables globales. Tanto las variantes globales como las de usuario pueden ser grabadas.
2 1
Se puede lanzar una excepcin como un led. Los desarrolladores son los que deben determinar el rango de valores y el valor para dicha excepcin. Pasos a seguir 1. Definir el layout del tipo LVC_S_LAYO: DATA gs_layout TYPE LVC_S_LAYO. 2. Aadir una variable de tipo c a la Output table como se muestra en el ejemplo. DATA: BEGIN OF GT_OUTTAB OCCURS 0. INCLUDE ESTRUCTURA <DDIC-Struktur>. DATA: light TYPE C. "Muestra exceptions DATA: END OF GT_OUTTAB. 3. Asignar al campo EXCP_FNAME el nombre de la excepcin. 4. Si se desea mostrar la excepcin como un led debe asignar el campo EXCP_LED al layout. 5. Haga un loop y compruebe el valor de la excepcin, dependiendo de l asigne los valores 1, 2, 3 para mostrar los semforos. 6. Pasar el layout y la Output table usando el mtodo set_table_for_first_display. Para actualizar los datos en caso de que hayan cambiado, usar el mtodo refresh_table_display.
12-45
Resultado La ALV Grid muestra una columna de excepcin como se muestra en el grfico.
1. Declarar la longitud interna y externa del campo de la ALV Grid. o Para campos con referencia al Data Dictionary la ALV Grid usa automticamente la longitud interna y externa. o Para campos no referenciados, se debe especificar usando los campos INTLEN para la longitud interna y DD_OUTLEN para la longitud externa en el field catalog. 2. Especificar la conversin usando el campo EDIT_MASK del field catalog. 3. Llamar al mtodo set_table_for_first_display pasndole el field catalog. Resultado Los valores de las columnas son convertidas antes de que se muestren.
14-45
Aplicacin
15-45
Coge ndices de las filas que no han sido mostradas debido a un filtro Coge las propiedades del filtro activo Pone filtro en las columnas Coge la ordenacin actual Aplica una ordenacin Coge la variante actual Cambia la funcin para el user_command
4.05 CONSTRUCTOR
Este mtodo se llama automticamente si se crea un objeto de la clase CL_GUI_ALV_GRID. Definicin del mtodo CREATE OBJECT <nb_alv CL_GUI_ALV_GRID> EXPORTING i_shellstyle = <var. de tipo I> i_lifetime = <var. de tipo I> i_parent = <ref. var. CL_GUI_CONTAINER> i_appl_events = <var. de tipo CHAR01>. Parmetro I_appl_events Significado Si este parmetro est activo, la ALV Grid registra los eventos como eventos de aplicacin, si no est activo, todos los eventos se registran en el sistema.
4.06 GET_CURRENT_CELL
Se utiliza este mtodo para coger el valor y las propiedades de la celda en la que el cursor est posado. Si es una columna es seleccionada y no una celda, la ALV indica que la fila es 0 y devuelve slo la informacin especfica de la columna. La ALV Grid devuelve dos filas y columnas ndices: una que referencia en la Output table y otra referente a la posicin que muestra la ALV. Definicin del mtodo CALL MTODO <ref.var. CL_GUI_ALV_GRID>->get_current_cell
ALV Grid Control 16-45
IMPORTING E_ROW = <var. de tipo I> E_VALUE = <var. de tipo C> E_COL = <var. de tipo I> ES_ROW_ID = <estructura de tipo LVC_S_ROW> ES_COL_ID = <estructura de tipo LVC_S_COL>. Parmetro E_ROW E_VALUE E_COL ES_ROW_ID ES_COL_ID Significado Fila ndice de la celda seleccionada en la ALV Valor de la celda seleccionada ndice de la columna seleccionada en la ALV Estructura con la informacin de la fila ndice seleccionada de la Output table en la ALV Estructura con la informacin de la columna ndice seleccionada de la Output table en la ALV
4.08 GET_FRONTEND_LAYOUT
Coge el actual layout. Definicin del mtodo CALL MTODO <ref.var.CL_GUI_ALV_GRID>->get_frontend_layout IMPORTING
ALV Grid Control 17-45
ES_LAYOUT = <estructura de tipo LVC_S_LAYO>. Parmetro ES_layout Significado Contiene campos para hacer totales, excepciones, colores, Drag & Drop e interactuar con otros elementos.
4.09 GET_SELECTED_CELLS
Coge las celdas seleccionadas. Devuelve el nombre de la columna y el ndice de la fila. La ALV Grid devuelve los ndices slo en caso de que sea una celda individual la que est seleccionada. En caso de ser una fila o columna entera lo que est seleccionado se devuelve un valor vaco. Requisitos previos Se debe activar el modo cell selection para permitir al usuario seleccionar celdas sueltas (y celdas mltiples usando la tecla Ctrl). Para conseguir esto, en la llamada al mtodo set_table_for_first_display se le debe pasar la layout. Definicin del mtodo CALL MTODO <ref.var.CL_GUI_ALV_GRID>->get_selected_cells IMPORTING ET_CELL = <tabla interna de tipo LVC_T_CELL>. Parmetro ET_CELL Significado Tabla con informacin de la celda seleccionada
4.10 GET_SELECTED_ROWS
Devuelve el ndice de las filas seleccionadas La primera fila es la 1. Si slo se ha seleccionado columnas la ALV Grid devuelve una tabla vaca. Si se han seleccionado filas mltiples la tabla normalmente viene ordenada por el ndice en orden ascendente y no por orden de seleccin.
ALV Grid Control 18-45
Requisitos previos Para permitir a los usuarios seleccionar filas mltiples, el campo sel_mode de la layout debe contener el valor 'A', 'C' o 'D' Definicin del mtodo CALL MTODO <ref.var.CL_GUI_ALV_GRID>->get_selected_rows IMPORTING ET_INDEX_ROWS = <tabla interna de tipo LVC_T_ROW>. Parmetro ET_INDEX_ROWS Significado Tabla con los ndices de las filas seleccionadas
4.11 GET_VARIANT
Devuelve la variante actual. Requisitos previos La variante actual ha debido ser grabada antes de llamar al mtodo. Para ello, en la llamada al mtodo set_table_for_first_display los parmetros I_SAVE y IS_VARIANT deben contener los valores correctos. Definicin del mtodo CALL MTODO <ref.var.CL_GUI_ALV_GRID>->get_variant IMPORTING ES_VARIANT = <estructura de tipo DISVARIANT>. Parmetro ES_VARIANT Significado Estructura con informacin de la variante actual.
4.12 REFRESH_TABLE_DISPLAY
El siguiente mtodo se usa para refrescar los datos de la ALV y poder mostrar los cambios efectuados. Definicin del mtodo
ALV Grid Control 19-45
CALL MTODO <ref.var.CL_GUI_ALV_GRID>->refresh_table_display EXPORTING IS_STABLE = <estructura de tipo LVC_S_STBL> I_SOFT_REFRESH = <variable de tipo CHAR01>. Parmetro IS_STABLE Significado Si se indica los valores de la fila y columna el scrool se posiciona sobre ellos. I_SOFT_REFRESH Este parmetro se usa en casos excepcionales. Si se activa este parmetro la ordenacin, filtros y dems cambios hechos por el usuario desaparecern. IT_FILTER Tabla con las caractersticas del filtro
EXPORTING IT_field catalog = <tabla interna de tipo LVC_T_FCAT>. Parmetro IT_field catalog Restricciones En este mtodo la ALV Grid no tiene acceso al Data Dictionary, por ello no es posible crear referencias del diccionario, por ejemplo para copiar literales de campos guardados en el diccionario como texto de columnas. Significado Descripcin de los atributos de las columnas de la Output table
20-45
4.14 SET_FRONTEND_LAYOUT
Fija un layout para el ALV actual. Despus de usarse, se debe usar el mtodo refresh_table_display para que los cambios se reflejen. En la layout se determinan las propiedades de la ALV. Usando en el mtodo set_table_for_first_display resultados. Definicin del mtodo CALL MTODO <ref.var.CL_GUI_ALV_GRID>->set_frontend_layout EXPORTING IS_LAYOUT = <estructura de tipo LVC_S_LAYO>. Parmetro IS_LAYOUT Significado Estructura con propiedades de los campos como excepciones, Drag & Drop y otras interacciones con elementos. el parmetro IS_LAYOUT se obtiene idnticos
4.15 SET_SELECTED_CELLS
Marca como seleccionas celdas de la ALV. Cualquier otra seleccin que se hubiera hecho con anterioridad desaparece al ser llamado este mtodo. Definicin del mtodo CALL MTODO <ref.var.CL_GUI_ALV_GRID>->set_selected_cells EXPORTING IT_CELLS = <Tabla de tipo LVC_T_CELL>. Parmetro IT_CELLS Significado Tabla con las celdas que son seleccionadas. Las filas se rellenan con una estructura tipo LVC_S_COL, en la que se le indica la columna y la fila de la celda.
4.16 SET_SELECTED_COLUMNS
Marca como seleccionadas columnas de la ALV. Cualquier otra seleccin que se hubiera hecho con anterioridad desaparece al ser llamado este mtodo. Definicin del mtodo
ALV Grid Control 21-45
CALL MTODO <ref.var.CL_GUI_ALV_GRID>->set_selected_columns EXPORTING IT_COL_TABLE = <table de tipo LVC_T_COL>. Parmetro IT_COL_TABLE Significado Tabla con el nombre de las columnas que son seleccionadas.
4.17 SET_SELECTED_ROWS
Marca como seleccionadas filas de la ALV. La primera fila es la fila 1. Cualquier otra seleccin que se hubiera hecho con anterioridad desaparece al ser llamado este mtodo. Definicin del mtodo CALL MTODO <ref.var.CL_GUI_ALV_GRID>->set_selected_rows EXPORTING IT_INDEX_ROWS = <tabla interna de tipo LVC_T_ROW>. Parmetro Significado
4.18 SET_SORT_CRITERIA
Fija el criterio de ordenacin por columnas. Para que surta efecto se ha de llamar despus al mtodo refresh_table_display. Definicin del mtodo CALL MTODO <ref.var.CL_GUI_ALV_GRID>->set_sort_criteria EXPORTING IT_SORT = <tabla interna de tipo LVC_T_SORT>. Parmetro IT_SORT Significado Se define una columna por registro.
4.19 SET_TABLE_FOR_FIRST_DISPLAY
22-45
Muestra una Output table en la ALV. En la llamada se puede especificar cualquier referencia del Data Dictionary o field catalog. Antes de su ejecucin se pueden usar parmetros opcionales para leer por ejemplo variantes, criterios de ordenacin, filtros y definir propiedades del ALV. Si se desea refrescar los valores mostrados en la Output table, se usa el mtodo refresh_table_display. El mtodo set_table_for_first_display slo se debe volver a llamar en caso de que la estructura del Output table haya cambiado. Requisitos previos La Output table debe estar definida globalmente o ser un atributo pblico de la clase. Definicin del mtodo
CALL MTODO <ref.var.CL_GUI_ALV_GRID>->set_table_for_first_display
EXPORTING I_ESTRUCTURA_NAME = <string de tipo DD02L-TABNAME> IS_VARIANT = <estructura de tipo DISVARIANT> I_SAVE = <var. de tipo CHAR01> I_DEFAULT = <var. de tipo CHAR01> IS_LAYOUT = <estructura de tipo LVC_S_LAYO> IS_PRINT = <estructura de tipo LVC_S_PRNT> IT_SPECIAL_GROUPS = <tabla interna de tipo LVC_T_SGRP>
IT_TOOLBAR_EXCLUDING = <tabla interna de tipo UI_FUNCTIONS>
CHANGING IT_OUTTAB = <tabla interna> IT_field catalog = <tabla interna de tipo LVC_T_FCAT> IT_SORT = <tabla interna de tipo LVC_T_SORT> IT_FILTER = <tabla interna de tipo LVC_T_FILT> Parmetro I_ESTRUCTURA_NAME Significado Nombre del Data Dictionary para la Output table. Si se especifica este parmetro la field catalog se genera automticamente.
23-45
IS_VARIANT
Determina la variante para mostrar la Output table. Si se usa este parmetro se debe rellenar por lo menos el campo REPORT.
I_SAVE
Determina las opciones disponibles para que el usuario guarde variantes. o o o o X: slo globales U: slo especfico del usuario A: opciones X U a la vez. : no se puede grabar.
I_DEFAULT
Determina si un usuario puede determinar variantes por defecto. o o X : Est permitido. : No est permitido. si
existe alguna definida, si no se indica lo contrario en el parmetro IS_VARIANT se muestra la variante por defecto de forma automtica. IS_LAYOUT IS_PRINT IT_SPECIAL_GROUPS Determina las propiedades de la ALV. Parmetro para imprimir en backend Si en la field catalog las columnas que se agrupan por el campo SP_GROUP se le deben de pasar la tabla con los textos de ese grupo. En la pantalla de variantes, es posible usar un list box para restringir columnas en la seleccin de esos grupos.
IT_TOOLBAR_EXCLUDING
Contiene el cdigo de los botones y funciones que se quieren excluir en la toolbar. Los cdigos de las funciones son atributos constantes y empiezan por MC_FC_.
Output table con datos a mostrar Determina la estructura de la Output table y el formato de los datos que van a ser mostrados Tabla con las propiedades de ordenacin inicial. Tabla con las propiedades del filtro que se aplica inicialmente.
24-45
La seccin trabajando con la ALV Grid control describe puntos especiales que se deben considerar para trabajar con los eventos de la clase.
5.03 DOUBLE_CLICK
Se activa el evento con el doble-click encima de una celda Evento E_ROW TYPE REF TO LVC_S_ROW Significado Estructura con el ndice de la fila
5.04 HOTSPOT_CLICK
Se activa cuando en una celda hotspot (aparece una mano en el puntero del ratn al pasar sobre ella) se hace click.
25-45
Requisitos previos Para habilitar a los usuarios una columna con hotspot, hay que hacer lo siguiente: Campo hotspot del field catalog para columnas solas Campo keyhot del layout para todos los key fields del Output table Parmetro E_ROW_ID TYPE REF TO LVC_S_ROW E_COLUMN_ID TYPE REF TO LVC_S_COL Significado Estructura con ndice de fila Estructura con el nombre de la columna
5.05 PRINT_END_OF_LIST
Evento que imprime un texto al final del listado.
5.06 PRINT_END_OF_PAGE
Evento que imprime un texto al final de cada pgina (Pie de pgina). Requisitos previos Para que exista pie de pgina se ha de reservar lneas de la pgina para ello usando el campo reservelns de la estructura lvc_s_prnt que se le pasa al mtodo set_table_for_first_display.
5.07 PRINT_TOP_OF_LIST
Evento que imprime un texto en la cabecera. Evento que se ejecuta slo una vez y es antes del print_top_of_page. El campo usado es el gris_title del layout.
5.08 PRINT_TOP_OF_PAGE
Evento que imprime un texto en la cabecera de cada pgina de la impresin.
5.09 SUBTOTAL_TEXT
26-45
Evento que muestra un texto para los subtotales de columnas. Parmetro ES_SUBTOTTXT_INFO Type LVC_S_STXT EP_SUBTOT_LINE Type Ref To DATA Variable de referencia para insertar un subtotal en la grid. Las columnas para las que la suma no fue calculada se quedan con el valor inicial. E_EVENT_DATA Type Ref To CL_ALV_EVENT_DATA Ejemplo Mostrar una tabla con la estructura SFLIGHT subtotales. 1. Definir e implementar un evento handler para el evento subtotal_text. Registrar el evento con SET HANDLER 2. Llamar a la subrutina con este mtodo y pasar los parmetros 3. Los parmetros ep_subtot_line y e_event_data contienen referencia a variables tipo DATA, por eso se deben usar field symbols. FORM Mtodo_subtotal_text USING es_subtottxt_info TYPE lvc_s_stxt ep_subtot_line e_event_data DATA ls_sflight LIKE sflight. FIELD-SYMBOLS: <fs1> STRUCTURE sflight DEFAULT ls_sflight, <fs2>. IF es_subtottxt_info-criteria = 'PLANETYPE'. ASSIGN ep_subtot_line->* TO <fs1>. ASSIGN e_event_data->m_data->* TO <fs2>. CONCATENATE es_subtottxt_info-keyword ': ' TYPE REF TO data TYPE REF TO cl_alv_event_data. en una ALV, y que aparezcan los El atributo M_DATA de este objeto hace referencia al texto del subtotal. Estructura con informacin del criterio para hacer el subtotal. Significado
27-45
5.10 TOOLBAR
Evento que la ALV provoca cada vez que el control toolbar tiene que ser regenerado. Para aadir funciones propias, se debe instanciar el mtodo set_toolbar_interactive y escribir un mtodo handler. Se puede ocultar la toolbar en su totalidad rellenado el campo no_toolbar del layout. Parmetro E_OBJECT Type Ref To CL_ALV_EVENT_T OOLBAR_SET E_INTERACTIVE Type CHAR01 Si la bandera est activa, se provoca el mtodo usando set_toolbar_interactive. Sino, el evento es provocado por ALV Grid. El objeto contiene slo un atributo con la tabla de funciones de la toolbar. Significado
28-45
6.01 Definicin
El Field Catalog es una tabla del tipo LVC_T_FCAT que contiene informacin de los campos que van a ser mostrados. La ALV usa la tabla para, por ejemplo, saber el tipo de campo a mostrar. Se usan los campos del field catalog para determinar el formato y las propiedades de las columnas de la lista que se va a mostrar en la ALV. En casos excepcionales, no es necesario pasar el field catalog (en la generacin del field catalog automtica).
6.02 Estructura
El field catalog contiene ms de 60 campos, algunos de ellos slo son usados de forma interna.
6.03 Integracin
Generalmente, se recomienda rellenar los campos del field catalog antes de mostrar la ALV por primera vez y utilizar despus el mtodo set_table_for_first_display. Para ajustar el field catalog generado por el ALV para un requerimiento especial antes de mostrarlo se usa el mdulo de funciones VC_field catalog_MERGE. Los mtodos get_fronted_field catalog y set_fronted_field catalog se usan para cambiar el field catalog despus de haber sido mostrado.
29-45
30-45
31-45
Pasos a seguir Para generar el field catalog de forma semi-automticamente: 1. Declarar una tabla interna de tipo LVC_T_FCAT. 2. Llamar al mdulo de funciones LVC_field catalog_MERGE y pasarle la estructura del Data Dictionary de la estructura del Output table y tabla interna que hace de field catalog. La funcin genera el field catalog. 3. Leer las filas que se deseen cambiar y adaptarlas a los requerimientos especficos. Si la Output table contiene ms campos que estn en el Data Dictionary se pueden aadir usando una fila nueva por cada campo en el field catalog.
32-45
Para mostrar el Output table hay que llamar al mtodo set_table_for_first_display pasndole el field catalog.
Formato de la columna Campo COL_POS DO_SUM EMPHASIZE HOTSPOT KEY NO_OUT NO_SUM OUTPUTLEN Texto Campo COLDDICTXT COLTEXT REPTEXT SCRTEXT_L SCRTEXT_M SCRTEXT_S SELDDICTXT SELTEXT TIPDDICTXT
ALV Grid Control
Descripcin Posicin de una columna Clculo del total Color de la columna Aparece una mano y hace que reaccione con un solo clic Columna clave No se muestra la columna. No se permite un sumatorio. Anchura de la columna en caracteres.
Descripcin Definicin del Data Dictionary. Etiqueta de la columna para las funciones. Texto de la cabecera correspondiente al Data Dictionary. Texto largo del elemento del Data Dictionary. Texto mediano del elemento del Data Dictionary. Texto corto del elemento del Data Dictionary. Texto definido en referencia al Data Dictionary. Etiqueta de la columna. Texto de referencia del Data Dictionary.
33-45
Parmetros para los campos sin referencia al Data Dictionary Campo DD_OUTLEN INTLEN INTTYPE Descripcin Anchura en caracteres del campo. Longitud interna en bytes Tipo ABAP (C,D,N,...)
Formato de la columna (Contenido) Campo DECIMALS_O DECMLFIELD EDIT_MASK EXPONENT NO_SIGN NO_ZERO ROUND ROUNDFIELD SYMBOL Otros campos Campo REPREP SP_GROUP TXT_FIELD Descripcin Valores para el criterio de seleccin. Grupo de teclas. Nombre de la tabla interna. Descripcin Nmero de decimales. Campo con especificacin de decimales. Mscara para la salida de datos (conversin) Exponente para la representacin con coma flotante Mostrar sin signo Suprimir los ceros. Redondear valores Campo con especificacin para el redondeo de valores Mostrar como un smbolo
Referencia de la Output table Campo FIELDNAME Descripcin Nombre del campo de la tabla interna.
34-45
Data Dictionary Descripcin Referencia al nombre del campo de la tabla interna Referencia al nombre de la tabla interna.
Referencia al Output table Campo FIELDNAME Descripcin Se le asigna el nombre de la Output table. Todas las opciones que se generan en esta fila se refieren a la columna de la Output table. Referencia del Data Dictionary Campo REF_FIELD Descripcin Se debe rellenar este campo si La Output table descrita en el campo catalog corresponde con un campo del Data D.Dictionary y el nombre en la Output table no es idntico al que aparece en el Data D.Dictionary. Si el campo se llama igual es suficiente para especificar la estructura del Data Dictionary la tabla en el campo. REF_TABLE Se debe rellenar este campo slo si el campo tiene una correspondencia directa en el Data Dictionary. La ALV puede usarlo para copiar los textos de la cabecera.
35-45
36-45
Si el campo no hace referencia al Data D.Dictionary se le debe especificar cul es el ancho de la columna. TECH Si se marca este campo el campo relevante no se muestra y no se puede ver de forma interactiva. El campo slo es conocido por field catalog.
Define la escala de salida. Se puede usar un campo adicional en la Output table para determinar cul es el campo que indica la escala para cada fila.
38-45
SYMBOL
Si se marca este campo, en la columna se muestran los datos como smbolos. Es posible que estos smbolos no se representen correctamente en una impresin.
6.16 Textos
Se utilizan estos campos para determinar los textos que se usan en la ALV Grid: Como cabecera de columnas Como tool tip (texto informativo que aparece remarcado cuando se posiciona el ratn sobre un objeto) Como columna de seleccin. Slo Afecta en caso campos con referencia al Data Dictionary. Los valores 'L', 'M', 'S' o 'R' se usan para determinar que campo COLTEXT entre SCRTEXT_L, SCRTEXT_M, SCRTEXT_S o REPTEXT es usado para el texto de la cabecera. Si el campo no tiene referencia con el Data Dictionary el contenido de este campo es el que se muestra en la cabecera de la columna. REPTEXT Slo Afecta en caso de campos con referencia al Data Dictionary. Para estos campos, la ALV Grid copia la descripcin para la cabecera del elemento de datos en este campo. SCRTEXT_L Slo Afecta en caso de campos con referencia al Data Dictionary. Para estos campos, la ALV Grid copia la descripcin larga para la cabecera del elemento de datos en este campo. SCRTEXT_M Slo Afecta en caso de campos con referencia al Data Dictionary. Para estos campos, la ALV Grid copia la descripcin mediana para la cabecera del elemento de datos en este campo. SCRTEXT_S Slo Afecta en caso de campos con referencia al Data Dictionary. Para estos campos, la ALV Grid copia la descripcin corta para la cabecera del elemento de datos en este campo. SELDDICTXT Slo Afecta en caso de campos con referencia al Data Dictionary. Los valores 'L', 'M', 'S' o 'R' se usan para determinar que campo entre SCRTEXT_L, SCRTEXT_M,
ALV Grid Control 39-45
COLDDICTXT
SCRTEXT_S o REPTEXT es usado para el texto de la seleccin. SELTEXT Si el campo no tiene referencia con el Data Dictionary el contenido de este campo es el que se muestra en la seleccin de la columna. TIPDDICTXT Slo Afecta en caso de campos con referencia al Data Dictionary. Los valores 'L', 'M', 'S' o 'R' se usan para determinar que campo entre SCRTEXT_L, SCRTEXT_M, SCRTEXT_S o REPTEXT es usado para el tool tip.
de
campos
con
referencia
del
Data
Este campo indica el ancho que ocupar al ser mostrado en la pantalla. Slo afecta a los campos sin referencia del Data Dictionary o si se va ha modificar el campo por medio de una exit. No tiene porqu coincidir este campo con el OUTPUTLEN.
INTLEN
Especifica la longitud interna del campo. Slo afecta si no se tiene referencia al Data Dictionary o si se va ha modificar el campo por medio de una exit.
INTTYPE
40-45
41-45
Leccin 7 El layout
7.1 Definicin
El layout es de tipo LVC_S_LAYO. Consta de campos para asignacin grfica de propiedades de la ALV como mostrar excepciones, calcular totales y deshabilitar ciertas opciones.
7.2 Estructura
Colores Campo ZEBRA Breve descripcin Genera el ALV con un aspecto cebrado (lneas de distintos colores alternados). Propiedades del Grid Control Campo GRID_TITLE NO_HEADERS NO_ROWMARK NO_TOOLBAR SEL_MODE SMALLTITLE Breve descripcin Texto de la title bar. Oculta las cabeceras Oculta las marcas de las filas Oculta la toolbar Modo de seleccin Tamao del ttulo
Interaccin Campo DETAILINIT DETAILTITL SGL_CLK_HD Breve descripcin Muestra valores iniciales en la pantalla de detalle. Title bar de la pantalla de detalle Un solo clic en la columna cabecera
42-45
Excepciones Campo EXCP_CONDS EXCP_FNAME EXCP_LED EXCP_ROLLN Breve descripcin Herencia de exceptions Campo con el cdigo de la excepcin Excepcin como LEDs Data element para la documentacin de la excepcin
Opciones de totales Campo NUMC_TOTAL NO_TOTLINE TOTALS_BEF Integracin Generalmente, se rellenan los campos antes de la llamada al mtodo set_table_for_first_display. Los mtodos get_frontend_layout y set_frontend_layout permiten modificar los resultados en el layout despus de haberse lanzado el mtodo set_table_for_first_display. Breve descripcin Permite hacer totales para los campos NUMC No muestra la lnea de totales Mostrar totales antes de un registro.
NO_MERGING NO_ROWMARK
Si se marca este campo, las celdas no son unidas cuando las columnas se ordenan. Valores: SPACE, 'X' Si se marca este campo, el botn de la izquierda que permite seleccionar una lnea desaparece (SEL_MODE = 'D') y (SEL_MODE = 'A'). Valores: SPACE, 'X'
Si se marca este campo, no se muestra la toolbar. Valores: SPACE, 'X' Si se marca este campo, las columnas se muestran sin lnea vertical. Valores: SPACE, 'X' Fija el mtodo de seleccin. Valores: SPACE, 'A', 'B', 'C', 'D'
Descripcin Si se marca este campo, muestra una excepcin en la fila de (sub)totales. Los colores de las excepciones son, dependiendo de las mismas '1': rojo, '2': amarillo, '3' verde. Valores: SPACE, 'X'.
EXCP_FNAME EXCP_LED
Campo de la Output table para mostrar la excepcin. La excepcin no es mostrada como un semforo sino como un LED. Valores: SPACE, 'X'
Colores Campo ZEBRA Descripcin Si se marca este campo, el listado muestra, jugando con dos colores una lnea de cada color. Valores: SPACE, 'X' Opciones de totales Campo NO_TOTLINE NUMC_TOTAL TOTALS_BEF Descripcin Si se marca este campo, se pueden hacer subtotales pero no totales. Valores: SPACE, 'X' Si se marca este Si se marca este Valores: SPACE, 'X' campo, los campos de tipo NUMC pueden campo, la ALV muestra los totales en la usarse para hacer totales. Valores: SPACE, 'X' primera fila y los subtotales antes de cada nuevo valor.
44-45
Interaction Control Campo DETAILINIT Descripcin Si se marca este SPACE, 'X' DETAILTITL Ttulo de la title bar para la pantalla de detalle. campo, la pantalla de detalle se habilita tambin para los campos con valores iniciales. Valores:
Estructura de impresin Contiene campos para la configuracin de la impresin Estructura Campo RESERVELNS Descripcin Nmero de lneas reservadas para el evento print_end_of_page Si no se indica nmero, el texto especificado como pie de pgina es sobrescrito por la lista. GRPCHGEDIT Habilita las opciones del usuario. Si se marca este campo el usuario en la preview puede modificar cosas como las ordenaciones, salto de pginas... de forma grfica. Valores: SPACE, 'X'. PRNTLSTINF Si se marca este campo, la informacin de la ordenacin subtotales y filtros definidos como elementos estadsticos son impresos. Valores: SPACE, 'X' Integracin La lista que se muestra en la ALV Grid es impresa en la ABAP List Viewer. El modo de print preview deja que el usuario interactu y dichos cambios slo afectan a la impresin. Se puede deshabilitar con el campo PRINT).
45-45