Manipulando Strings – Translate, Pack, Condense, Compute Strlen e Substring – Abap

Publicado: 19 de fevereiro de 2014 em Abap

A declaração TRANSLATE converte caracteres em maiúsculas ou minúsculas, ou usa regras de substituição para converter todas as ocorrências de um caractere para outro  caractere.

Sintaxe:

TRANSLATE <c> TO UPPER CASE.
TRANSLATE <c> TO LOWER CASE.
TRANSLATE <c> USING <r>.

O comando PACK serve para retirar os 0 (zeros) a esquerda de uma variável, trocando por espaços em branco.

Sintaxe: PACK variável TO variável.

A declaração CONDENSE exclui espaços redundantes de uma string.

Sintaxe: CONDENSE variável.

STRLEN retorna o comprimento de uma string até o último caractere que não é um espaço.

Sintaxe: COMPUTE  n  = STRLEN( c ).

SUBSTRING é um instrução usada em varias linguagens de programação, o método extrai os caracteres de uma cadeia, entre dois índices especificados, e retorna o novo sub string. Em ABAP a palavra chave SUBSTRING não é necessária, usa se direto a variável literal.

Sintaxe: LITERAL+posição_inicial(posição_final).

Exemplo:

Neste exemplo usamos vários métodos para a manipulação de strings:

Abap

*&---------------------------------------------------------------------*
*& Report  ZTRADUCAO
*&
*&---------------------------------------------------------------------*
*& Desenvolvimento Aberto
*& Manipulação de Strin
*& Translate, Pack, Condense, Compute Strlen, Substring
*&---------------------------------------------------------------------*

REPORT  ZTRADUCAO.

DATA : variavel TYPE c LENGTH 50,
       numeros  TYPE c LENGTH 30 VALUE '0000446577',
       tamanho  TYPE i.

variavel = 'desenvolvimento aberto'.

TRANSLATE variavel TO UPPER CASE.
WRITE : / 'Caixa Alta: ',variavel.

TRANSLATE variavel TO LOWER CASE.
WRITE : / 'Caixa Baixa:',variavel.

variavel = 'Abab-BaAa X bababa Y bdba Z bAbaB'.
WRITE : / , / 'Troca: ', variavel.

* troca B-A, b-a, A-b, a-b
TRANSLATE variavel USING 'BAbaABab'.
WRITE : / 'Troca: ', variavel.

* Retira os zeros de uma variavel
WRITE : / , / 'Numeros: ', numeros.
PACK numeros TO numeros.

* Retira os espaços em branco que ficou no lugar do zeros
CONDENSE numeros.
COMPUTE tamanho =  STRLEN( numeros ).
WRITE : / 'Numeros: ', numeros, 'Contém:',tamanho,'caracteres'.

* Recorta pedaço de uma variavel
*AbertoDesenvolvimento
*012345678901234567890 = 21 caracteres
variavel = 'AbertoDesenvolvimento'.

WRITE : / , / 'Substring de ', variavel, ':'.
WRITE:  /  variavel+6(15) , variavel+0(6).
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s