Versão 7.4

STRING no ABAP – Novidades release 7.40

Tempo de leitura: 4 minutos.

‘Antigamente’ uma cadeia de caracteres ou string no ABAP era delimitado por ‘aspas simples’, a partir da versão 7.40 devemos podemos utilizar o chamado pipe ‘|’, mas com um diferencial, agora temos algumas funções agregadas para trabalhar com strings. Caso necessário podemos utilizar as chaves ‘{}’ para ignorar alguma lógica ou tratamento de dados que poderá ser…

  • Objeto de dados;
  • Expressões calculadas;
  • Expressões de construção;
  • Expressões de tabela; ou
  • Funções predefinidas;

Veja comparativos de utilização de string no ABAP.

DATA

it_mara TYPE TABLE OF mara,

wa_material LIKE LINE OF it_mara,            

output TYPE string.

SELECT UP TO 10 ROWS     

INTO TABLE it_mara    

FROM mara .

Antes da versão 7.40:

READ TABLE it_mara INTO wa_material WITH KEY matnr ‘000000000000066379’.

CONCATENATE ‘Material:’ wa_materialmatnr ‘Grupo de mercadoria:’ wa_materialmatkl INTO output SEPARATED BY space.

cl_demo_output=>displayoutput ).

String no ABAP depois da versão 7.40:

*”Não precisamos declarar a Work-Area nem a variável ‘output’ cl_demo_output=>display|Material: { it_mara[ matnr ‘000000000060000004’ ]matnr } Grupo de mercadorias: { it_mara[ matnr ‘000000000060000004’ ]matkl }| ).

“No caso acima não é permitido quebra de linha

*”Caso não conheça o READ TABLE utilizado no código acima veja este post

Concatenar – Antes da versão 7.40:

DATA vl_output TYPE string.

CONCATENATE ‘open’  ‘ABAP’ INTO vl_output.

Concatenar string no ABAP – Depois da versão 7.40:

DATA(vl_output2|open| & || & |ABAP|. “Caso não conheça a declaração em linha, veja esse post

Veja novidades de string no ABAP.

Tamanho, alinhamento e preenchimento em string no ABAP – Depois da versão 7.40:

WRITE |{ ‘Esquerda’ WIDTH 20 ALIGN LEFT       PAD = ‘0’ }|. “Resultado Esquerda000000000000

WRITE |{ ‘Centro’      WIDTH 20 ALIGN CENTER PAD = ‘0’ }|. “Resultado 0000000Centro0000000

WRITE |{ ‘Direita’      WIDTH 20 ALIGN RIGHT    PAD = ‘0’ }|. “Resultado 0000000000000Direita

Condição em string no ABAP – Depois da versão 7.40:

WRITE |{ ‘Fiél, sem alteraçÃO’ CASE (cl_abap_format=>c_raw)    }|.“Não altera a string

WRITE |{ ‘maiúsculo’ CASE (cl_abap_format=>c_upper}|.“Converte todas as letras em maiúsculas

WRITE |{ ‘MINÚSCULO’ CASE (cl_abap_format=>c_lower)  }|.“Converte todas as letras em minúsculas

Conversão em string no ABAP – Depois da versão 7.40:

DATA(vl_vbeln‘0000012345’.

WRITE |{ vl_vbeln  ALPHA OUT }|.

WRITE / |{ vl_vbeln  ALPHA IN }|.

Conversão de datas em string no ABAP – Depois da versão 7.40:

WRITE |{ systdatum DATE ISO }|“Formato YYYY-MM-DD

WRITE |{ systdatum DATE USER }|“Utiliza as configurações do usuário

WRITE |{ systdatum DATE ENVIRONMENT }|“Utiliza as config. do idioma de login/desenvolvimento

Se preferir estudar direto o código, baixe o report exemplo aqui, abra-o, copie, cole e já era. Ou se precisar ‘quebrar’ uma string com quantidade de caracteres definidos, veja esse post e aprenda a quebrar uma string a cada 10 caracteres por exemplo.

Por enquanto são essas as possibilidades que eu descobri, se você conhece mais alguma que não comentei ou quiser conhecer as funcionalidades da classe cl_demo_output deixe um comentário aqui embaixo.

Ouvindo: Território do conhecimento – Mario Sergio Cortella STRING NO ABAP

Abraços,

LNunes.

Ps. Você já visitou nosso Instagram? Vai lá… é @openabap

Não se esqueça de cadastrar seu e-mail para receber os posts sobre a versão 7.40 gratuitamente.

* Campo obrigatório