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

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. Ou se precisar ‘quebrar’ uma string com quantidade de caracteres definidos, veja esse post. 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