ABAP versão 7.40 SP02 - Declaração Inline
Este artigo resume o recurso Inline Declaration da linguagem ABAP para a versão 7.40. Neste artigo vou usar exemplos antes da versão 7.40 e na versão 7.40.
Não explico a funcionalidade dos comandos abaixo, só a diferença e novidades entre as versões, para entendimento é preciso conhecimento básico na linguagem ABAP.
Declaração Inline
DATA
Antes da versão 7.40
DATA variavel TYPE string.
variavel = 'Texto'.
DATA numero TYPE i.
numero = 1.
Na versão 7.40
//Não é preciso especificar o tipo da variável
DATA(variavel) = 'Texto'.
//Variavel do tipo Inteiro
DATA(numero) = 1.
LOOP AT INTO
Antes da versão 7.40
DATA linha LIKE LINE OF tabela.
LOOP tabela INTO linha
...
ENDLOOP.
Na versão 7.40
//agora poderá ser criada no comando LOOP
LOOP tabela INTO DATA(linha)
...
ENDLOOP.
LOOP AT ASSIGNING
Antes da versão 7.40
FIELD-SYMBOL <linha> TYPE tabela.
LOOP tabela ASSIGNING <linha>
...
ENDLOOP.
Na versão 7.40
//agora poderá ser criada no comando LOOP
LOOP tabela ASSIGNING FIELD-SYMBOL(<linha>)
...
ENDLOOP.
READ TABLE INTO
Antes da versão 7.40
Recomendados pelo LinkedIn
DATA linha LIKE LINE OF tabela
READ TABLE tabela INTO linha WITH KEY field = 'VALOR'.
Na versão 7.40 ( existe outros modos de usar o READ TABLE no 7.40, irei mostrar em outro artigo )
//agora poderá ser criada no comando READ TABLE
READ TABLE tabela INTO DATA(linha) WITH KEY field = 'VALOR'.
SELECT INTO TABLE
Antes da versão 7.40
DATA tabela TYPE TABLE OF tabelabd.
SELECT *
FROM tabelabd
INTO TABLE tabela
WHERE campo1 = variavel.
Na versão 7.40
//A declaração é feita no proprio comando SELECT no comando
//INTO TABLE @DATA()
SELECT *
FROM tabelabd
INTO TABLE @DATA(tabela)
WHERE campo1 = @variavel.
SELECT SINGLE INTO
Antes da versão 7.40
DATA linha LIKE LINE OF tabelabd.
SELECT SINGLE *
FROM tabelabd
INTO linha
WHERE campo1 = variavel.
Na versão 7.40
//A declaração é feita no proprio comando SELECT no comando INTO @DATA()
SELECT *
FROM tabelabd
INTO @DATA(tabela)
WHERE campo1 = @variavel.
REFERÊNCIAS