Verificando erro em ALV

11, agosto 2009 às 10:54 pm | Publicado em ABAP-SAP | 1 Comentário
Tags: , ,

Existe uma sequencia que nos mostra erros em ALV, no começo achei meio estranho mas realmente funciona,

– Clique na tela do seu ALV.

– Segure SHIFT, CONTROL, ALT.

– De 2 clique com o botão direito do mouse em uma parte vazia do seu ALV.

Ira aparecer um popup com o log do seu ALV, muito doido, rs.

Quem me passou essa foi meu amigo Rodolfo Mião.

Abraço  Rodolfo e abraço a todos,

Mauro Cesar Silva Laranjeira

Anúncios

Exibindo dados em Grid ou List

13, fevereiro 2008 às 7:17 pm | Publicado em ABAP-SAP | Deixe um comentário
Tags: , , , ,

Exemplo mostrando dados da tabela marc em um Grid ou List, usando as funções REUSE_ALV_LIST_DISPLAY para mostrar em List e REUSE_ALV_GRID_DISPLAY para mostrar em Grid.

Segue o Código:

 REPORT  yteste_mauro.
TYPE-POOLS: slis.

*Criando tabela interma t_marc com header line
DATA: t_marc TYPE table of marc with header line.

*criando a tabela interna de fieldcat, usada para as configuraçõe de saida
DATA: t_fcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.

*Criação do filtro na tela
INITIALIZATION.
  SELECTION-SCREEN BEGIN OF BLOCK 001
                      WITH FRAME TITLE text-001.
  PARAMETERS: p_matnr TYPE marc-matnr OBLIGATORY,
              p_werks TYPE marc-werks.
  SELECTION-SCREEN END OF BLOCK 001.

*criação da opção de saida, o usuário escolhe LIST ou Grid
SELECTION-SCREEN BEGIN OF BLOCK 002
                      WITH frame title text-002.
 parameters: r_list type c radiobutton group 123,
             r_grid type c radiobutton group 123.
selection-screen end of block 002.
START-OF-SELECTION.

*Faz o select no banco, usei a condição OR apenas para trazer + resultados, exemplo nada usual, rssrssr
  SELECT *
  INTO TABLE t_marc
  FROM marc
  WHERE matnr EQ p_matnr OR werks EQ p_werks.

* se o select obteve sucesso o sy-subrc será igual a 0, então executa o resto do programa
  IF sy-subrc = 0.

*criando a tabela de fieldcast, e a tabela de configuração de saida
  t_fcat-fieldname     = ‘MATNR’.
  T_FCAT-REF_FIELDNAME = ‘MATNR’.
  T_FCAT-REF_TABNAME   = ‘marc’.
  APPEND t_fcat.
  CLEAR t_fcat.

  t_fcat-fieldname     = ‘WERKS’.
  T_FCAT-REF_FIELDNAME = ‘WERKS’.
  T_FCAT-REF_TABNAME   = ‘marc’.
  APPEND t_fcat.
  CLEAR t_fcat.

    t_fcat-fieldname     = ‘MMSTD’.
  T_FCAT-REF_FIELDNAME = ‘MMSTD’.
  T_FCAT-REF_TABNAME   = ‘marc’.
  APPEND t_fcat.
  CLEAR t_fcat.
* verifica se o usuario pediu LIST ou Grid

     if r_list eq ‘X’.

* executa a função para saida do LIST
    CALL FUNCTION ‘REUSE_ALV_LIST_DISPLAY’
 EXPORTING
   i_callback_program             = sy-cprog
     it_fieldcat                    = t_fcat[]
   TABLES
        t_outtab                       = t_marc[].
    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

    else.

* executa a função para saida do GRID
    CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
 EXPORTING
   i_callback_program             = sy-cprog
     it_fieldcat                    = t_fcat[]
   TABLES
        t_outtab                       = t_marc[].
    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

* fecha o IF da escolha do LIST ou GRID
  ENDIF.

* Fecha o IF do sy-subrc
 ENDIF.
Qualquel duvida maurocesarsl@uol.com.br

Blog no WordPress.com.
Entries e comentários feeds.