PDA

Ver la Versión Completa : Alvs


jesus cervantes cabrera
27/09/07, 21:27:43
alguien tiene por ahi la estructura para formar un ALV a partir de un reporte normal?

gracias..

pafú
28/09/07, 08:45:43
Aqui te adjunto un ALV de un report normal. Mas sencillo imposible.

* Declaraciones para el alv
TYPE-POOLS slis.
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv,
ls_fieldcat TYPE slis_fieldcat_alv,
gs_layout TYPE slis_layout_alv,
g_repid LIKE sy-repid.
*&---------------------------------------------------------------------*
*& Form sacar_listado
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM sacar_listado.

g_repid = sy-repid.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = g_repid
i_internal_tabname = 'I_DATOS' ->(tu tabla interna)
* I_STRUCTURE_NAME =
* I_CLIENT_NEVER_DISPLAY = 'X'
i_inclname = g_repid
i_bypassing_buffer = 'X'
* I_BUFFER_ACTIVE =
CHANGING
ct_fieldcat = gt_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.

* Borramos las columnas que no hacen falta en el informe
DELETE gt_fieldcat WHERE fieldname = 'ZCODINT'.
DELETE gt_fieldcat WHERE fieldname = 'TRANSITORIO'.

* Ponemos los títulos de los campos
LOOP AT gt_fieldcat INTO ls_fieldcat
WHERE fieldname = 'CERTIF'.
* ls_fieldcat-col_pos = '9'.
ls_fieldcat-reptext_ddic = 'Certif. Neg.'.
* ls_fieldcat-seltext_l = 'Cl. Económica'.
* ls_fieldcat-seltext_m = 'Cl. Económica'.
ls_fieldcat-seltext_s = 'Certif. Neg.'.
MODIFY gt_fieldcat FROM ls_fieldcat.
ENDLOOP.


** Se informa el layout

gs_layout-zebra = 'X'.
gs_layout-colwidth_optimize = 'X'.
gs_layout-expand_all = 'X'.
* gs_layout-get_selinfos = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE = ' '
i_callback_program = g_repid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE =
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
is_layout = gs_layout
it_fieldcat = gt_fieldcat
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
i_save = 'A'
* IS_VARIANT =
* IT_EVENTS = gt_events[]
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* IT_ALV_GRAPHICS =
* IT_ADD_FIELDCAT =
* IT_HYPERLINK =
* I_HTML_HEIGHT_TOP =
* I_HTML_HEIGHT_END =
* IT_EXCEPT_QINFO =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = i_datos
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDIF.

jesus cervantes cabrera
28/09/07, 21:07:36
Gracias Me Sera De Ayuda...