* Vamos mudar tudo para Orientação a Objeto', é o que a SAP fala sobre o
* ABAP no futuro, o problema vai ser dar manutenção nos ALV's antigos
* mudando para o ALV Orientado, para dar uma mãozinha nisso, existem duas
* funções que fazem a conversão do formato das tabelas usadas entre a
* função 'reuse_alv_gri_display' e a classe cl_gui_alv_grid, como sou
* defensor da Orientacao a objeto estarei mostrando a função que
* converte de Estrutural para Orientado, mas para não ficarem revoltados
* comigo a funcao q faz inverso é a 'LVC_TRANSFER_TO_SLIS'.
*&---------------------------------------------------------------------*
REPORT z_from_estrut_to_orient.
DATA :
t_fcat TYPE TABLE OF slis_fieldcat_alv,
t_fcat_lvc TYPE TABLE OF lvc_s_fcat,
t_sflight TYPE TABLE OF sflight
.
* Selecao de dados
SELECT *
FROM sflight
INTO TABLE t_sflight
UP TO 10 ROWS
.
BREAK-POINT.
* Criação do catalogo de campos da função
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
* I_INTERNAL_TABNAME =
i_structure_name = 'SFLIGHT'
* I_CLIENT_NEVER_DISPLAY = 'X'
* I_INCLNAME =
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE =
CHANGING
ct_fieldcat = t_fcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
BREAK-POINT.
* ABAP no futuro, o problema vai ser dar manutenção nos ALV's antigos
* mudando para o ALV Orientado, para dar uma mãozinha nisso, existem duas
* funções que fazem a conversão do formato das tabelas usadas entre a
* função 'reuse_alv_gri_display' e a classe cl_gui_alv_grid, como sou
* defensor da Orientacao a objeto estarei mostrando a função que
* converte de Estrutural para Orientado, mas para não ficarem revoltados
* comigo a funcao q faz inverso é a 'LVC_TRANSFER_TO_SLIS'.
*&---------------------------------------------------------------------*
REPORT z_from_estrut_to_orient.
DATA :
t_fcat TYPE TABLE OF slis_fieldcat_alv,
t_fcat_lvc TYPE TABLE OF lvc_s_fcat,
t_sflight TYPE TABLE OF sflight
.
* Selecao de dados
SELECT *
FROM sflight
INTO TABLE t_sflight
UP TO 10 ROWS
.
BREAK-POINT.
* Criação do catalogo de campos da função
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
* I_INTERNAL_TABNAME =
i_structure_name = 'SFLIGHT'
* I_CLIENT_NEVER_DISPLAY = 'X'
* I_INCLNAME =
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE =
CHANGING
ct_fieldcat = t_fcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
BREAK-POINT.