Manipulação de dados


 O abap é uma fonte rica, contendo ferramentas para trabalhar com manipulação de dados, existe diversa ferramentas, para manipulação, será descritos algumas  funcionalidades e suas sintaxes: 

Trocando palavras, textos ou frases:

Para exemplificar, iremos fazer a troca de um (.) ponto por uma (,) vírgula, onde pode-se usar o comando TRANSLATE, ficando sua sintaxe:

TRASNLATE VARIAVEL USING   . ,’, a troca é feita através da ordem….

Devido o ponto (.), estar antes da vrigula (,) o comando entende que é para fazer a troca do ponto pela vírgula.

O comando translate faz diversos tipos de trocas de textos dentro de um texto, este texto não necessita ser uma variável do tipo c ou string pode ser qualquer tipo de dado, desde que a troca seja feita com valores reais dos tipos. (Exemplo um tipo i somente aceita trocas por valores numericos)

Uma outra opção é o comando replace, que tem como finalidade a mesma do comando translate, sua sintaxe:

 TRANSLATE abap TO UPPER CASE. Transforma a palavra abap para MAIUSCULO “ABAP” 

REPLACE ‘texto a ser alterado no texto’ IN variável WITH ‘texto que irá substituir’.

Ex.:

 data: v_valor type string value ‘50.0000’. replace ‘.’ in v_valor with ‘,’. 

Trocando o ponto pela vírgula, observe que está sintaxe somente troca a primeira ocorrência, neste exemplo se tivéssemos mais de uma virgula somente a primeira virgula seria trocada.

Para que todas as ocorrências encontradas no textos seja trocanda é necesario utilizar a seguinte sintaxe do replace:

REPLACE ALL OCCORRENCES OF ‘texto a ser alterado no texto’ IN variável WITH ‘texto que irá substituir’.

DATA: v_string type string value ‘Abap é uma linguagem muito facil’. 

DATA: text TYPE STRING.text = ‘abcdefgh’. REPLACE ‘d’ IN text WITH ‘XXXX’.

REPLACE ALL OCCURRENCES OF ‘a’ IN v_string WITH ‘-‘. 

Retirando caracteres de um texto.

Para retira zeros (00000), a esquerda pode-se usar os comandos PACK juntamente do comando CONDENSE, ou o comando SHITF.

Sintaxe do comando SHIFT:

 DATA: variável type p value ‘0000202030’,             vari_zero type c value ‘0’. SHITF variável LEFT DELEATING LEADIND  vari_zero. 

Onde a variável “vari_zero”, pode ser trocada para qualquer caracter, inclusice o espaço, lembrando que o caractere espaço pode ser trocado pelo comando SPACE.

O comando SHIFT permite retirar os zeros a direita, onde é somente trocar a posição LEFT por RIGHT, com este comando é possível retirar qualquer dado das extremidades.

O camando  SHIFT, permite fazer  a troca de txto em forma circular,

 DATA: ALPHA1(11) TYPE C VALUE ‘ABCDEFGHIJ’,     ALPHA2     TYPE STRING.

ALPHA2 = ALPHA1.    

DO. 

     IF SY-INDEX = 12.  

         EXIT.     

     ENDIF. 

       SHIFT ALPHA1 CIRCULAR. 

      SHIFT ALPHA2 CIRCULAR.

    ENDDO.

O comando Pack serve para retira os 0 (zeros) a esquerda de uma variável, porem existe um problema, ele troca os 0s (zeros ou zero), por espaços, isso faz com que uma variável, por exemplo: data: v_esp_zero(10) type c value ‘0000095678’. Caso o comando seja usado nesta variável, ela ficará assim “      95768”, para resolver este problema existe o comando CONDENSE ou o comando SHIFT que retira todos os espaços de uma variável.

Sintaxe do Pack

PACK variavel_com_zeros TO variavel_sem_zero.

Sintaxe do condense:

CONDENSE variavel_retira_espaço.

  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        95678’

         condense v_esp_sem_sero.  >> ficando  ‘95678’.

  Pesquisa em Strings (Textos) 

O comando  SEARCH , procura determinadas ocorrências dentro de um textos.

Existe diversa sintaxe, vejamos as mais utilizadas:

SEARCH   TEXTO FOR ‘PALAVRA/SILABA/FRASE’ AND MARK.

Esta sintaxe retorna a variável de sistema sy-subrc igual a 0 (zero), caso o texto foi encontrado, e no texto transfere para maiúsculo a parte procurada estiver em minúsculo ou transfere para minúsculo caso a parte procurada estiver em maiúsculo.

 Exemplo:Data: v_texto type string value ‘Uderson Luis é o autor deste tutorial’. 

SEARCH v_texto for ‘fato’ AND MARK.      

if sy-subrc = 0. 

    write: ‘Encontrou’, v_texto.    

 else.         

      write: ‘não encontrou’. 

 endif. 

Como a palavra procurada existe no texto será impresso a FRASE: Encontrou UDERSON Luis é o autor deste tutorial   

SEARCH   TEXTO FOR ‘palavra-abraviada’ ABBREVIATED.

Esta sintaxe retorna a variável de sistema sy-subrc igual a 0 (zero), caso o texto foi encontrado,  ela verificará se existe uma palavra que tenha está abraviação.

  Data: frase(50) type c value ‘Alaska Texas e California’.

 SEARCH FRASE FOR ‘CLFRN’ ABBREVIATED.

if sy-subrc = 0. 

    write: ‘Encontrou’, v_textoelse.   

  write: ‘não encontrou’.

endif.

Operadores Lógicos


Operadores Lógicos 

Operadores lógicos são usados, para fazer condições, tais condições podem ser:

 

While  …. EndWhile,  If  ….  EndIf,   Do  ….  EndDo. Loop …. EndLoop.

 Operadores                                                               Operador 

EQ                              Igual                                        =

NE                              Diferente                                 <>      ><

GT                              Maior que                               >         

GE                              Maior igual a                           >=      =>

LT                               Menor que                               <                    

LE                               Menor igual a                           <=      =<

BEETWEN                 Intervalo                                 

IS INITIAL                 É vazio

 

Exemplo:

 

IF 3 < 4.

    Write: ‘3 é menor que 4’.

END

 

IF 4 > 3.

    Write: ‘4 é maior que 4’.

END  IF 4 = 4.    Write: ‘4 igual a 4’.END  While cont <> 10.          Add 1 to cont.

EndWhile.

Criando uma Tabela Z Com elementos de Dados


Este artigo tem como finalidade exemplificar o Maximo o entendimento e criação de uma tabela z. Este artigo é voltado a abap iniciantes e abap que algum tempo não faz a criação de tabelas. 

Tipo Arquivo: PFD  

Baixar:                     Criando uma tabela Z com elementos de dados

Design a site like this with WordPress.com
Iniciar