Comando CONDENSE | ABAP Warrior

Comando CONDENSE

Comando CONDENSE
Se você tentou formar um texto juntando várias palavras, mas acabaram ficando várias espaços excedentes entre elas... Ou se você tentou formar uma palavra juntando vários caracteres, mas acabaram ficando espaços entre eles... Existe uma solução...

Conheça o comando CONDENSE, saiba o que ele pode fazer, e não se preocupe mais com espaços que atrapalham.



Um espaço pode parecer algo insignificante, mas se estiver no lugar errado ou em quantidade errada pode atrapalhar muito. Trabalhando com campos do tipo string, char ou qualquer outro alfanumérico inevitavelmente iremos nos deparar com essa situação. Mais uma postagem da série COMANDOS.




O que é um CONDENSE ?


É um comando usado para remover espaços existentes dentro de variáveis ou objetos com conteúdo alfanumérico. Essencial para se trabalhar com textos.

Como funciona o CONDENSE ?


O comando CONDENSE é muito simples de ser implementado. Existem duas formas diferentes de usá-lo. Uma que remove os espaços do início e do fim do texto, e os espaços existentes entre as palavras são reduzidos para apenas um entre cada uma delas. E outra que remove completamente qualquer espaço existente no texto.

Produzindo um cenário


Primeiramente vamos produzir um cenário para mostrar em que situação existe a necessidade de tratar espaços. Considere os seguintes trechos de código:

TYPES:
  BEGIN OF y_phrase,
    part1 TYPE c LENGTH 10,
    part2 TYPE c LENGTH 10,
    part3 TYPE c LENGTH 10,
  END OF y_phrase.


Declaração de um TYPE chamado Y_PHRASE com três campos. Os três do tipo CHAR e tamanho 10.

DATA: w_phrase TYPE y_phrase,
      l_phrase TYPE c LENGHT 30.


Declaração de uma estrutura chamada W_PHRASE do tipo Y_PHRASE. Declaração da variável L_PHRASE do tipo CHAR e tamanho 30.

w_phrase-part1 = 'Hello'.
w_phrase-part2 = 'World'.
w_phrase-part3 = '!'.


Preenchimento dos campos da estrutura W_PHRASE com os textos "Hello", "World" e "!".

l_phrase = w_phrase.

Transferir todo conteúdo da estrutura W_PHRASE para a variável L_PHRASE.

Esta última linha de código faz com que a variável L_PHRASE seja preenchida com o conteúdo dos três campos da estrutura W_PHRASE. Desta forma, o conteúdo dos três campos será transferido com os espaços completando o tamanho de cada campo. O conteúdo da variável L_PHRASE ficará assim:
Hello     World     !

Agora pintando cada espaço para que se possa ver onde estão.
Hello     World     !

No total são 10 espaços desnecessários que estão sobrando e/ou atrapalhando.
Então agora com o cenário montado, vamos ver como usar o comando CONDENSE para retirar esses espaços.

Reduzindo os espaços excedentes para apenas um espaço


Para fazer a chamada do comando CONDENSE basta colocá-lo à esquerda da variável que deseja aplicar o efeito. Exemplo de chamada com a variável L_PHRASE:

CONDENSE l_phrase.

Após a execução do comando acima, os espaços excedentes serão removidos ficando apenas um espaço entre as palavras. O conteúdo da variável L_PHRASE fica assim:
Hello World !

Agora pintando os espaços.
Hello World !

Removendo todos os espaços


Para remover todos os espaços basta acrescentar o parâmetro NO-GAPS à direita da variável. Exemplo de chamada:

CONDENSE l_phrase NO-GAPS.

Após a execução do comando acima, todos os espaços existentes serão removidos. O conteúdo da variável L_PHRASE fica assim:
HelloWorld!


O comando CONDENSE é muito simples, mas muito útil.
Faz parte do dia-a-dia de um ABAP.
Um grande abraço e até a próxima.
2017-04-28T00:10:00-03:00 2018-10-06T13:12:53Z
Nenhum comentário:
Related Posts Plugin for WordPress, Blogger...