Geralmente quando temos uma tabela interna e queremos saber quantas linhas tenho em uma tabela, vc utiliza a função
DESCRIBE TABLE <inttab> LINES <var>.
Procurando no google achei uma forma alternativa.
Parece a mesma coisa só que tem um detalhe..
Exemplo: gostaria de fazer uma rotina apenas se tiver mais de 1 linha na tabela interna.
Forma normal.
DATA t_teste TYPE TABLE OF tp_teste WITH HEADER LINE.
DATA: l_lines.
DESCRIBE TABLE t_teste LINES l_lines.
IF l_lines > 1.
ENDIF.
Forma alternativa.
DATA t_teste TYPE TABLE OF tp_teste WITH HEADER LINE.
IF LINES( t_teste ) > 1.
ENDIF.
sexta-feira, 28 de fevereiro de 2014
Conversor de mensagens de retorno de Batch input( bdcmsgcoll) para estrutura retorno de BAPI (bapiret2)
Este conversor é interessante, já que atualmente utilizamos mais BAPI do que batch input, com esse conversor vc acaba padronizando a saída das mensagens de erro.
CALL FUNCTION 'CONVERT_BDCMSGCOLL_TO_BAPIRET2'
TABLES
imt_bdcmsgcoll = gt_messtab
ext_return = gw_log-rettab.
Depois da conversão vc pode utilizar uma dessas funções q já mostra uma tela de mensagens utilizando a tabela BAPIRET2. Em exemplo uma que usei.
CALL FUNCTION 'RSCRMBW_DISPLAY_BAPIRET2'
TABLES
it_return = gw_log-rettab.
CALL FUNCTION 'CONVERT_BDCMSGCOLL_TO_BAPIRET2'
TABLES
imt_bdcmsgcoll = gt_messtab
ext_return = gw_log-rettab.
Depois da conversão vc pode utilizar uma dessas funções q já mostra uma tela de mensagens utilizando a tabela BAPIRET2. Em exemplo uma que usei.
CALL FUNCTION 'RSCRMBW_DISPLAY_BAPIRET2'
TABLES
it_return = gw_log-rettab.
Assinar:
Postagens (Atom)