Os modelos de cadeia são expressões ABAP do tipo de resultado Cadeia. Você pode utilizar modelos de cadeia em qualquer posição de operando de leitura, por exemplo, no lado direito de uma avaliação.
Um modelo de string começa e termina com um símbolo de barra vertical ( | ). O modelo de cadeia mais simples possível contém nada além de texto literal. Neste formulário, um modelo de cadeia de caracteres não é realmente diferente de um literal de cadeia.
O que distingue um modelo de cadeia de caracteres de um literal de cadeia é a capacidade de incorporar expressões. Uma expressão integrada é uma expressão ABAP cercada por um par de chaves ( { e } ). No momento da execução, o ABAP avalia a expressão incorporada e converte o resultado em uma cadeia. No resultado final, essa string substitui a expressão incorporada (junto com as chaves circundantes).
Nota
A sintaxe ABAP requer pelo menos um espaço em branco após o parêntese de abertura e pelo menos um espaço em branco antes do parêntese de fechamento.
É claro que um modelo de cadeia pode conter mais de uma expressão incorporada.
Dentro das chaves, você pode colocar qualquer tipo de expressão ABAP: expressões aritméticas, como no exemplo acima, mas variáveis individuais ou mesmo literais podem servir como expressões incorporadas.
Um caso de utilização importante para modelos de cadeia é a formatação controlada de dados para saída.
No primeiro exemplo, a variável the_date é do tipo d e contém uma data no formato interno (bruto) AAAAMMDD (onde AAAA representa o ano, MM para o mês de dois dígitos e DD para a data de dois dígitos). Quando você usa a variável the_date como expressão incorporada em um modelo de cadeia, o resultado será o mesmo que o formato interno. Mas quando você adiciona a opção de formato DATE = <date_format> entre chaves, o sistema formatará o valor como uma data. Se você adicionar DATE = ISO, a saída estará no formato ISO. Com DATE = USER, o formato de saída depende das configurações do usuário atual.
O segundo exemplo ilustra algumas das opções que você pode usar para formatar números. Utilizando NUMBER, você controla a formatação geral de números, por exemplo, se é usado um ponto decimal ou uma vírgula decimal. Utilizando SIGN, você controla a posição do sinal e se um sinal positivo (+) é exibido ou não. Usando STYLE você pode escolher entre vários estilos predefinidos, como um estilo científico ou um estilo de engenharia.
Você pode unir campos usando o operador de concatenação &&. Você pode unir qualquer combinação de objetos de dados e expressões de string.
As partes integrantes da expressão são unidas sem espaço ou outro separador entre elas. Se precisar de espaços ou outro caractere separador, precisará lembrar de inseri-los você mesmo como parte da expressão, conforme mostrado no segundo exemplo.