Inline declarations – Declarações em linha ou OnLine

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