FUNCTION z_check_nif_nie.
*"----------------------------------------------------------------------
*"*"Interfase local
*" IMPORTING
*" REFERENCE(I_NUM_DOCUMENTO) TYPE ISH_PASSNR
*" REFERENCE(I_TIPO_DOCUMENTO) TYPE ISH_PASSTY
*" EXPORTING
*" REFERENCE(E_CORRECTO) TYPE FLAG
*"----------------------------------------------------------------------
data: l_documento type codim.
data: l_tipo type char3,
l_subrc type sysubrc.
"No se validaran los tipos de documento: 02 Pasaporte
" 03 Tarj.Resid.Com.
" 04 Perm.Resid.Trab
if i_tipo_documento = '02' or
i_tipo_documento = '03' or
i_tipo_documento = '04'.
e_correcto = 'X'.
else.
"Sólo validaran los tipos de documento: 01 NIF.
" 06 NIE.
l_documento = i_num_documento.
call function 'HR_ES_CHECK_NIF_CIF'
exporting
p_valor = l_documento
p_check_nif = 'X'
* P_CHECK_CIF = ' '
p_check_nie = 'X'
importing
* P_SYMSG =
p_subrc = l_subrc
p_tipo = l_tipo
exceptions
program_error = 1
others = 2.
" Si el tipo de documento es un NIF
if i_tipo_documento = '01' and l_subrc = 0 and l_tipo = 'NIF'.
e_correcto = 'X'.
endif.
" Si el tipo de documento es un NIE
if i_tipo_documento = '06' and l_subrc = 0 and l_tipo = 'NIE'.
e_correcto = 'X'.
endif.
endif.
endfunction.