validacion de Cedula, Pasaporte o NIT

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • SapAbapMVO
    Junior Member
    • mar
    • 16

    #1

    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
    Senior Member
    • oct
    • 199

    #2
    Hola MVO.

    Recuerdame, please, ¿Cómo se llama el campo o elemento del diccionario destinado al nº de documento ?
    Barrio Rodriguez, Jonathan.
    _____________________________________
    "No sigas a quien haya encontrado la verdad sino a quien la busque"

    Comentario

    • Jonathan Barrio Rodriguez
      Senior Member
      • oct
      • 199

      #3
      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
      Editado por última vez por Jonathan Barrio Rodriguez; 06/08/2010, 08:41:52.
      Barrio Rodriguez, Jonathan.
      _____________________________________
      "No sigas a quien haya encontrado la verdad sino a quien la busque"

      Comentario

      Trabajando...