Versão 7.4

Inline declarations – Declarações em linha ou OnLine

Tempo de leitura: 4 minutos.

Definição InLine Declarations

Inline declarations permite que você instancie uma variável que assume como tipo a referência do valor que está sendo atribuído naquele momento. Isso tornará a criação do seu código mais ágil, mais funcional e com menos linhas de código já que não serão mais necessárias declarações estáticas.

Como usar Inline declarations.

Aqui seguem alguns exemplos que pude testar, sempre comparando as duas versões, o antes e o depois.

*”Declaração de variável
DATA vl_mensagem TYPE string.
MOVE ‘Olá mundo!’ TO vl_mensagem.
*”7.40
DATA(vl_mensagem‘Olá mundo!’. “Nesse caso não é possível utilizar o comando MOVE
*”LOOP com work-area
DATA wl_material LIKE LINE OF tl_mara.
LOOP AT tl_mara INTO wl_material.
*”   …
ENDLOOP.
*”7.40
LOOP AT tl_mara INTO DATA(wl_material).
*”   …
ENDLOOP.
*”LOOP com field-symbol
FIELD-SYMBOLS<fs_material> LIKE LINE OF tl_mara.
LOOP AT tl_mara ASSIGNING <fs_material>.
*”   …
ENDLOOP.
*”7.40
LOOP AT tl_mara ASSIGNING FIELDSYMBOL(<fs_material>).
*”   …
ENDLOOP.
*”READ TABLE com work-area
DATA wl_material LIKE LINE OF tl_mara.
READ TABLE tl_mara INTO wl_material...
*”7.40
READ TABLE tl_mara INTO DATA(wl_material)…
*”READ TABLE com field-symbol
FIELD-SYMBOLS<fs_material> LIKE LINE OF tl_mara.
READ TABLE tl_mara ASSIGNING <fs_material>…
*”7.40
READ TABLE tl_mara ASSIGNING FIELDSYMBOL(<fs_material>)…
*”SELECT INTO com tabela e variáveis
DATA tl_mara TYPE TABLE OF mara.
SELECT 
  FROM mara
    INTO TABLE tl_mara
WHERE matnr ‘000000000000000001’.

DATA vl_matnr TYPE matnr.
SELECT SINGLE matnr
    INTO (vl_matnr)
  FROM mara
WHERE matnr ‘000000000000000001’.
*”7.40
SELECT 
  FROM mara
    INTO TABLE DATA(tl_mara)
WHERE matnr ‘000000000000000001’.

SELECT SINGLE matnr
    INTO DATA(vl_matnr“Ou poderia ser uma estrutura se fossem selecionados vários campos
  FROM mara
WHERE matnr ‘000000000000000001’.

Ainda existem outras opções, mas não pude testar até fechar esse post. *NOTA Use essa técnica aliada ao READ TABLE e veja como torna-se mais prática a codificação.

Pontos positivos e negativos.

Sinceramente não vi, até agora, nenhum ponto negativo em usar Inline declarations, muito pelo contrário penso que ela veio para aumentar a performance e organização do ABAP ao criar uma solução. Chega de variáveis e de tabelas internas globais que podem ser acidentalmente limpas por uma nova rotina ou ajuste. rsrs

O mais importante é você saber que essa funcionalidade existe e como ela pode melhorar sua codificação, quando tiver dúvidas de como usar ou da sintaxe, use esse post como um guia de consulta rápida.

Inline declarations

Abraços,

LNunes.

Ps. Siga o @openabap no Instagram.

Quer receber todas os posts sobre a versão 7.40 gratuitamente no seu e-mail? Inscreva-se em nossa lista de novidades

* Campo obrigatório