Tipos de dados complexos podem ser definidos para criar variáveis estruturadas (também chamados de estruturas). Declarações TYPES com as adições dos comandos BEGIN OF e END OF, criam tipos de variáveis estruturadas. Componentes de uma estrutura são referenciados usando um hífen, as estruturas podem ser aninhadas e podem ser copiadas da estrutura da variável A para a estrutura da variável B.
Sintaxe:
TYPES:
BEGIN OF nome_da_estrutura,
nome do campo TYPE type,
nome do campo TYPE type, […]
END OF nome_da_estrutura.
Exemplo:
Neste exemplo criamos uma simples estrutura de endereço:
Abap
*&---------------------------------------------------------------------* *& Report ZESTRUTURAS *& *&---------------------------------------------------------------------* *& Desenvolvimento Aberto *& Estruturas *&---------------------------------------------------------------------* REPORT ZESTRUTURAS. * Declarando uma estrutura TYPES: BEGIN OF endereco_struct, endereco1 TYPE c LENGTH 60, endereco2 TYPE c LENGTH 60, bairro TYPE c LENGTH 50, cidade TYPE c LENGTH 60, estado TYPE c LENGTH 2, cep TYPE n LENGTH 9, END OF endereco_struct. * Declarando variaveis para a estrutura DATA postal TYPE endereco_struct. postal-endereco1 = 'Avenida São João, 500'. postal-endereco2 = 'Avenida Ipiranga, 458'. postal-bairro = 'Centro'. postal-cidade = 'São Paulo.'. postal-estado = 'SP'. postal-cep = 01035100. WRITE : / postal-endereco1, / postal-endereco2, / postal-bairro, / postal-cep, / postal-cidade, / postal-estado.