Ver Mensaje Individual
  #3  
Viejo 06/08/10, 08:36:47
Avatar de Jonathan Barrio Rodriguez
Jonathan Barrio Rodriguez Jonathan Barrio Rodriguez is offline
Senior Member
 
Fecha de Ingreso: oct 2007
Localización: MADRID
Mensajes: 199
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
__________________
Barrio Rodriguez, Jonathan.
_____________________________________
"No sigas a quien haya encontrado la verdad sino a quien la busque"

Úlima edición por Jonathan Barrio Rodriguez fecha: 06/08/10 a las 08:41:52.
Responder Con Cita