Вы находитесь на странице: 1из 4

Descripción

• En primer lugar creamos nuestro report ALV.

Herramientas / Workbench ABAP / Desarrollo / SE38 - Editor ABAP

• Definimos las variables que utilizaremos en nuestro report. Por regla general yo he
utlizado en los reports ALV que he escrito las siguientes variables:

*********************************************************
*Type pools
*********************************************************
type-pools: slis.
*********************************************************
*Variables globales
*********************************************************
data: xrepid like sy-repid
*********************************************************
*Declaración tablas internas
*********************************************************
data:
wa_fieldcat type slis_fieldcat_alv,
t_fieldcat type slis_t_fieldcat_alv,
e_layout type slis_layout_alv,
e_print type slis_print_alv.

data:
begin of i_nif occurs 0,
xxx
end of i_nif.

• Seguidamente buscamos la información y la cargamos en la tabla interna i_nif. Ésta


será nuestra tabla de output a mostrar.
• Definimos las parametrizaciones de impresión del ALV.

clear e_print.
e_print-no_print_selinfos = 'X'.
e_print-no_print_listinfos = 'X'.

• Definimos la denominación de cada uno de los campos y cómo se referenciarán.


wa_fieldcat-fieldname = 'NIF'.
wa_fieldcat-tabname = 'I_NIF'.
wa_fieldcat-seltext_m = 'NIF'.
append wa_fieldcat to t_fieldcat.
clear wa_fieldcat.

• Definimos el layout del ALV.

clear e_layout.
e_layout-zebra = 'X'.
e_layout-colwidth_optimize = 'X'.

• Llamamos a la función que genera el listado ALV


'REUSE_ALV_GRID_DISPLAY'. Aquí indicamos el nombre de nuestro report, el
layout (cómo se mostrarán las columnas), el catálogo de campos, si queremos que se
puedan o no grabar variantes de layout y la tabla de output que contiene la
información a mostrar. Por supuesto, esta función permite diversas parametrizaciones
del ALV que se pueden consultar directamente en la documentación de la función.

call function 'REUSE_ALV_GRID_DISPLAY'


exporting
i_callback_program = xrepid
is_layout = e_layout
it_fieldcat = t_fieldcat
i_save = 'A'
is_print = e_print
tables
t_outtab = i_nifnecesidad
exceptions
program_error =1
others = 2.
if sy-subrc <> 0.
endif.

• Añadimos los datos de cabecera. Estos datos de cabecera se entrarán en una rutina
que no se llamará formalmente ya que la llamada se realizará desde el módulo de
funciones 'REUSE_ALV_GRID_DISPLAY'.

* Cabecera grande
wa_heading-typ = 'H'.
wa_heading-info = 'Cabecera'.
append wa_heading to t_heading.
clear wa_heading.
* Cabecera pequeña
wa_heading-typ = 'S'.
wa_heading-info = 'Subcabecera'.
append wa_heading to t_heading.
clear wa_heading.

• Si además queremos añadir un logo a nuestro listado deberemos subir la imagen a


SAP (clase 'PICTURES', tipo clase 'OT'). Para ello utilizaremos la transacción
OAER. En el siguiente link encontraréis toda la información para hacerlo.
Seguidamente habrá que llamar al módulo de funciones
'REUSE_ALV_COMMENTARY_WRITE' con nuestro logo. El inconveniente de
este logo es que es visible en SAP, pero no es posible imprimirlo.

call function 'REUSE_ALV_COMMENTARY_WRITE'


exporting
it_list_commentary = t_heading
i_logo = 'LOGO'.

Ejemplo
El siguiente es un ejemplo de listado que nos permite validar números de NIF.

*&---------------------------------------------------------------------*
*& Report ZVALIDANIF
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

report zvalidanif.
*********************************************************
*Tablas
*********************************************************
tables: kna1.
*********************************************************
*Type pools
*********************************************************
type-pools: slis.
*********************************************************
*Constantes
*********************************************************
*constants:
*********************************************************
*Variables globales
*********************************************************
data:
g_contador(4) type n,
xrepid like sy-repid.
*********************************************************
*Declaración tablas internas
*********************************************************

data:
begin of i_nif occurs 0,
nif like kna1-stcd1,
error(10),
end of i_nif.

*********************************************************
*Estructuras
*********************************************************
data:
wa_fieldcat type slis_fieldcat_alv,
t_fieldcat type slis_t_fieldcat_alv,
e_layout type slis_layout_alv,
e_print type slis_print_alv,
wa_heading type slis_listheader,
t_heading type slis_t_listheader.

*********************************************************
*Includes
*********************************************************
include .
*********************************************************
*** SELECTION-SCREEN
*********************************************************

*********************************************************
* Pantalla de selección
*********************************************************
*
select-options s_stcd1 for kna1-stcd1.
*********************************************************
* At selection-screen
*********************************************************

Вам также может понравиться