STRING no ABAP – Novidades release 7.40

‘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 agregas 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.

DATAit_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 }| ). “Neste caso 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.

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