Datos personales

Mi foto
Soy programador/analista. Mis fuertes es el mundo de sap(como abaper), programador php con gran experiencia en el mundo Wordpress y Joomla.

martes, 12 de agosto de 2008

Reporte ALV-Grid con fieldcat por funcion

*-- Declaración de Tablas
TABLES: usr01," Maestro de usuarios (datos de tiempo de ejecución)
usr21.

*-- Declaración de Tablas Internas
DATA: BEGIN OF ti_salida OCCURS 0,
bname LIKE usr01-bname,
spld LIKE usr01-spld,
spdb LIKE usr01-spdb,
addrnumber LIKE usr21-addrnumber,
END OF ti_salida.

TYPE-POOLS: slis.

* Tablas internas para ALV
DATA: ti_fieldcat TYPE slis_t_fieldcat_alv.
DATA: wa_layout TYPE slis_layout_alv.
DATA: wa_fieldcat TYPE LINE OF slis_t_fieldcat_alv .

*--Parámetros de Seleción
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_bname LIKE usr01-bname.
SELECTION-SCREEN END OF BLOCK b1.

START-OF-SELECTION.
PERFORM busqueda_datos.
PERFORM preparar_salida.
PERFORM mostrar_datos.

*&---------------------------------------------------------------------*
*& Form busqueda_datos
*&---------------------------------------------------------------------*

FORM busqueda_datos .

SELECT a~bname a~spld a~spdb b~addrnumber
FROM usr01 AS a INNER JOIN usr21 AS b
ON a~bname EQ b~bname
INTO TABLE ti_salida
WHERE a~bname EQ p_bname.

ENDFORM. " busqueda_datos
*&---------------------------------------------------------------------*
*& Form Mostrar_pedidos
*&---------------------------------------------------------------------*

FORM mostrar_datos .

DATA c_repid LIKE sy-repid VALUE sy-repid.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* i_callback_program = c_repid
* i_callback_pf_status_set = 'PF_STATUS'
* i_callback_user_command = 'USER_COMMAND'
* i_structure_name = 'TI_ALV'
is_layout = wa_layout
it_fieldcat = ti_fieldcat[]
* i_save = 'A'
TABLES
t_outtab = ti_salida
EXCEPTIONS
program_error = 1
OTHERS = 2.

ENDFORM. " Mostrar_datos
*&---------------------------------------------------------------------*
*& Form preparar_salida
*&---------------------------------------------------------------------*

FORM preparar_salida .

DATA c_repid LIKE sy-repid VALUE sy-repid.


CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = c_repid
i_internal_tabname = 'TI_SALIDA'
* I_STRUCTURE_NAME = 'SIMLISTRUC'
* i_client_never_display = 'X'
i_inclname = c_repid
CHANGING
ct_fieldcat = ti_fieldcat.

wa_layout-zebra = 'X'.

ENDFORM. " preparar_salida

No hay comentarios:

 
Free counter and web stats