quarta-feira, 27 de agosto de 2014

Função - LVC_TRANSFER_FROM_SLIS


*  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.



*  Essa função é muito simples de executar, e economiza um bom tempo.
* Percebam que além de catalogo de campos( IT_FIELDCAT_ALV ), e possivel
* a realização da conversao da tabela de ordenacao ( IT_SORT_ALV ),
* da tabela de filtro ( IT_FILTER_ALV ) e da estrutura do layout
* ( IT_LAYOUT_ALV ) também.
*&---------------------------------------------------------------------*
CALL FUNCTION 'LVC_TRANSFER_FROM_SLIS'
  
EXPORTING
    it_fieldcat_alv 
t_fcat
*   IT_SORT_ALV     =
*   IT_FILTER_ALV   =
*   IS_LAYOUT_ALV   =
  
IMPORTING
    et_fieldcat_lvc 
t_fcat_lvc
*   ET_SORT_LVC     =
*   ET_FILTER_LVC   =
*   ES_LAYOUT_LVC   =
  
TABLES
    it_data         
t_sflight
  
EXCEPTIONS
    it_data_missing 
1
    
OTHERS          2.

* t+
Comentários
0 Comentários

Nenhum comentário:

Postar um comentário