Validação de Números e Letras

3 July, 2008 (09:14) | Receita ABAP, Tecnica de Programação | By: furlan

Problema

Criar um programa ABAP que receba o valor da placa do veículo e imprima na tela qual o dia do rodízio na cidade de São Paulo. Se a placa não for no formato AAANNNN, deverá ser impresso uma mensagem de erro.

Solução

Veja a listagem na seção Anexos.

No primeiro passo eu vou extrair separar as partes das letras e números, e ai testá-las separadamente.

Na seqüência eu uso o operado CA (contains any) para verificar cada umas das partes em separado.

Execução e Teste

Execute o programa e entre com a placa do veículo.

Discussão

Com esse programa quero mostrar como fazer a validação do formato da placa entrada pelo usuário usando o operado CA (contains any).

O teste de letras e números está no trecho abaixo:

IF NOT ( v_letras CA sy-abcde AND v_numeros CA '0123456789' ).

Se você verificar no modo debug, a variável sy-abcde, contém todas as letras do alfabeto. Assim, quando usamos o operador CA, queremos saber “se os caracteres da variável v_letras estão todos contidos na variável sy-abcde”. Como sy-abcde contém todas as letras, o sistema retorna se v_letras contém somente letras.

Da mesma maneira fazemos com a parte numérica, mudando somente a string que estamos comparando.

Fácil né?

Anexos

Programa ZRODIZIO.

Veja Também

Comparing Strings (SAP Library – ABAP Programming)

Write a comment