Escolar Documentos
Profissional Documentos
Cultura Documentos
Strings
Strings
Sumario:
Email:
Uderson@gmail.com
Pgina 1
Para exemplificar, iremos fazer a troca de um (.) ponto por uma (,)
vrgula, onde pode-se usar o comando TRANSLATE, ficando sua sintaxe:
TRASNLATE VARIAVEL USING
. ,, a troca feita atravs da
ordem....
Devido o ponto (.), estar antes da vrigula (,) o comando entende que
para fazer a troca do ponto pela vrgula.
O comando translate faz diversos tipos de trocas de textos dentro de um
texto, este texto no necessita ser uma varivel do tipo c ou string pode ser
qualquer tipo de dado
Exemplo.:
Troca & por caractere SPAO.
DATA: TEXTOS TYPE STRING,
TEXTOT TYPE STRING.
TEXTOT = 'COMANDO&TRANSLATE&ABAP'.
TEXTOS = TEXTOT.
TRANSLATE TEXTOT USING '& '.
WRITE: / 'PALAVRA ANTIGA: ', TEXTOS, ' TEXTO NOVO: ', TEXTOT.
Pgina 2
Pgina 3
Pgina 4
Parmetros adicionais
REPLACEMENT COUNT {variavel do tipo i}
Grava em uma varivel do tipo i a quantidade de ocorrncias alteradas.
REPLACEMENT OFFSET
Grava em uma varivel do tipo i a ultima ou nica ocorrncia trocada, em caso
do um caractere armazenar a posio do caractere e em caso de uma palavra
ou frase armazenar a posio do primeiro caractere.
Pgina 5
WRITE: / V_TEXTOR, ' ', CNT, ' ', OFF, ' ', LEN.
SHIFT
Este comando serve para realizar retirada de caracteres de um texto, com este
comando pode-se retira caractere da esquerda ou da direita, de uma substring.
Sintaxe:
Retirar um determinado caractere da esquerda do texto:
SHITF {texto} LEFT DELEATING LEADIND {character a ser retirado}.
Retirar um determinado caractere da direita do texto
SHITF {texto} RIGHT DELETING TRAILING {character a ser retirado}.
Exemplo.:
Pgina 6
BY ... PLACES
Pgina 7
UP TO
Pgina 8
Exe.:
data: v_esp_zero(10) type c value 0000095678
v_esp_sem_sero(10) type c.
pack v_esp_zero to v_esp_sem_sero. >> ficando
condense v_esp_sem_sero. >> ficando 95678.
95678
Pgina 9
SEARCH
Pesquisa em Strings (Textos), o comando SEARCH , procura determinadas
ocorrncias dentro de um textos.
abreviao
Pgina 10
FIND
Pesquisa em Strings (Textos), o comando FIND , procura determinadas
ocorrncias dentro de um textos.
Existe diversa sintaxe, vejamos as mais utilizadas:
FIND
{TEXTO A SER PESQUISADO}
IN
{VARIAVEL DO TIPO STRING OU CHAR}
MATCH OFFSET
{VARIAVEL DO TIPO I }.
Est sintaxe pesquisa em texto literal um determinado caractere, substring
(palavra, frase) e retorna a posio atual do literal pesquisado, se o literal for
um caractere ser retornada a posio atual do caractere, caso seja uma
substring (palavra ou frase), ser retornado a posio do primeiro caractere da
substring.
Exemplo.:
DATA: ON TYPE I.
FIND 'STRING' IN TEXTO MATCH OFFSET ON.
WRITE / ON.
Pgina 11
DATA: ON TYPE I.
FIND 'MUITO' IN 'ABAP MUITO FACIL' RESPECTING CASE MATCH
OFFSET ON.
WRITE: / 'POSIO: ', ON.
Parmetros adicionais
MATCH COUNT {varivel do tipo i}
Grava em uma varivel do tipo i a quantidade de ocorrncias alteradas.
MATCH OFFSET {varivel do tipo i}
Grava em uma varivel do tipo i a ultima ou nica ocorrncia trocada, em
caso do um caractere armazenar a posio do caractere e em caso de uma
palavra ou frase armazenar a posio do primeiro caractere.
Pgina 12
Pgina 13
ABAP
Uma
LINGUAGEM
Observe que cada literal contm espaos antes, ao concatenar estas literais a
impresso ser:
ABAP
Uma
LINGUAGEM
Exemplo:
CONCATENATE '
TEXTO04.
ABAP'
'
'
'
Uma'
'
LINGUAGEM' INTO
WRITE / TEXTO04.
ABAP
Uma
LINGUAGEM
A sada ser:
ABAPUmaLINGUAGEM
Pgina 14
'
'
'
'Uma '
WRITE / TEXTO04.
Para resolver este problema na verso 6.0 existe um novo argumento que :
RESPECTING BLANKS
Exemplo 1.:
DATA: TEXTOA TYPE C LENGTH 20 VALUE 'UDERSON',
TEXTOB TYPE C LENGTH 20 VALUE 'LUIZ',
TEXTOC TYPE C LENGTH 20 VALUE 'FERMINO',
TEXTOD TYPE C LENGTH 80.
CONCATENATE TEXTOA TEXTOB TEXTOC INTO TEXTOD RESPECTING
BLANKS.
WRITE / TEXTOD.
Pgina 15
LITERAL
onde a literal
STRING e SUBSTRING
U D E R S O N
L U I S
Pedao inicial:
LITERAL({posio_final})
NOMEC(7) pega os caracteres de 1 at 7, informando o numero ser
coletados os caracteres iniciais at uma determinada posio.
Exemplo:
DATA NOMEC TYPE C LENGTH 15 VALUE 'UDERSON LUIS'.
WRITE: NOMEC(7).
Pedao Dinmico:
LITERAL+{posio_inicial}({posio_final})
Pgina 16
Pedao Final
LITERAL+{posio_inicial}
Esta comando coleta um pedao da literal onde informado a posio
inicial , e ser coletado da posio inicial passada at o final da literal.
Observao:
Deve-se tomar cuidado para no ultrapassar o tamanho da literal.
STRLEN
Este comando retorna o tamanho de uma string ou de um vetor de
caractere, no caso de vetor de caractere no importa o tamanho fixo que foi
definido, este comando retornar o tamanho de caractere existente no vetor.
Exemplo:
DATA: TEXTOTAM TYPE STRING VALUE 'ABAP UMA LINGUAGEM
FACIL',
TAMANHO TYPE I.
TAMANHO = STRLEN( TEXTOTAM ).
WRITE: TAMANHO.
Pgina 17