MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   validacion de Cedula, Pasaporte o NIT (foro/showthread.php?t=38076)

SapAbapMVO 05/08/10 20:06:41

validacion de Cedula, Pasaporte o NIT
 
Hola amigos de mundo SAP.

Por favor alguien me puede indicar cual es la mejor practica para validar en la XK02 cuando el usuario digite su NIT, cedula o pasaporte?
Siempre lo he realizado por Exit de campo CMOD.
Tengo entendido que hay otros metodos mejores... necesito esa documentacion :)

Gracias

Jonathan Barrio Rodriguez 06/08/10 08:05:19

Hola MVO.

Recuerdame, please, ¿Cómo se llama el campo o elemento del diccionario destinado al nº de documento ?

Jonathan Barrio Rodriguez 06/08/10 08:36:47

Según País.
 
ok, creo que ya lo encontré.

Lo primero, comentarte que la validación depende del país. Por ejemplo, aquí en España es la combinación de 9 dígitos seguido de una letra que se obtiene mediante una regla aplicada a los 9 dígitos nombrados anteriormente.

Normalmente tenemos 8 dígitos, sin embargo en el campo hay que rellenarlo con ceros a la izquierda.

Para validar:

*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM validar_ident USING c.
CLEAR p_texto.
READ TABLE t_t005 WITH KEY land1 = t_file-pais.
IF sy-subrc = 0.
* IF t_file-ktokk <> 'SOEX'.
IF t_file-IDENTna IS INITIAL.
p_texto = '||--> Nº ident. oblig <--||'.
ELSE.
IF t_file-pais = 'ES'.
CALL FUNCTION 'TAX_NUMBER_CHECK'
EXPORTING
country = t_file-pais
natural_person_flag = 'X'
tax_code_1 = t_file-IDENTna
EXCEPTIONS
not_valid = 1
different_fprcd = 2
OTHERS = 3.

IF sy-subrc <> 0.
p_texto = '||--> Nº ident. incorrecto <--||'.
ENDIF.
ELSE.
CONCATENATE t_file-pais t_file-IDENTna INTO t_file-IDENTco.
CALL FUNCTION 'EU_TAX_NUMBER_CHECK'
EXPORTING
country = t_file-pais
eu_tax_number = t_file-IDENTco
EXCEPTIONS
not_valid = 1
OTHERS = 2.
IF sy-subrc <> 0.

p_texto = '||--> Nº ident. erroneo: <--||'.
ENDIF.

ENDIF.

ENDIF.
* ENDIF.
ENDIF.
IF p_texto IS NOT INITIAL.
linea = c.
campo = 'Nº Identificación'.
valor = t_file-IDENTna.
PERFORM trata_error USING p_texto sw_err mensaje1 linea mensaje2 campo valor.
ENDIF.
CLEAR: t_error, p_texto.
ENDFORM. " validar_nif


Husos Horarios son GMT. La hora en este momento es 19:37:17.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web