PDA

Ver la Versión Completa : validacion de mail


Edd_401
13/05/08, 14:18:52
HOLA QUE TAL AMIGO DE MUNDOSAP....


PUES AQUI CON UNA DUDA..... VOY A HACER LA CARGA DEL CORREO ELECTRONICO PARA LOS CLIENTES, YA TENGO EL PROGRAMA..... SOLO QUE, YA VEN COMO SON LOS USUARIOS ....

DEPUES DE HACER EL WS_UPLOAD TENGON UNA TABLA INTERNA CON VARIOS DATOS, LOS QUE IMPORTAN SON EL KUNNR (NUMERO) Y EL KNURL(MAIL) .....

EL PROBLEMA ES QUE EL CAMPO DE MAIL ME PERMITE PONER CUALQUIER COSAS ........ QUIERO VALIDAD QUE EL CAMPO DEL E-MAIL... CONTENGA UNA @ Y AL MENOS UN . (PUNTO).....

Alguien sabe ???......


De antemano gracias

ballan
13/05/08, 16:26:49
Utiliza el operador CA (Contiene alguna), por ejemplo

Cadena CA '@' and cadena CA '.'

Edd_401
14/05/08, 15:53:01
Muchas gracias por tu ayuda BALLAN, me fue de mucha ayuda.


La solucion:

LOOP AT IT_MAIL.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = IT_MAIL-KUNNR
IMPORTING
OUTPUT = IT_MAIL-KUNNR.

SELECT KUNNR KNURL
INTO CORRESPONDING FIELDS OF TABLE IT_KNA1
FROM KNA1
WHERE KUNNR = IT_MAIL-KUNNR.

IF SY-SUBRC = 0.

* Validar campo de E-MAIL

IF NOT IT_MAIL-KNURL CA '@' OR NOT IT_MAIL-KNURL CA '.'.

CONCATENATE 'E-mail con formato incorrecto, cliente:'
IT_MAIL-KUNNR INTO MENSAJE.

MESSAGE ID '00' TYPE 'I' NUMBER 001 WITH MENSAJE.
LEAVE PROGRAM.

*<<RUTINA PARA VALIDAR SI EXISTE EL CORREO.

* LOOP AT IT_KNA1.
* IF NOT IT_KNA1-KNURL IS INITIAL AND
* IT_KNA1-KNURL <> IT_MAIL-KNURL.
*
* MESSAGE ID '00' TYPE 'I' NUMBER 001 WITH
* 'E-mail ya existe y son diferentes, CHECAR'.
* ENDIF.
* ENDLOOP.

* ELSE
*>>RUTINA PARA VALIDAR SI EXISTE EL CORREO.