Tu problema esta en que aunque veas una # no significa que el caracter sea ese, la # la utiliza para indicar que ese caracter no lo puede interpretar, por ejemplo cuando hay un retorno de carro tambien te muestra la #
Yo lo que hice para solucionar estas cosas es un poco rudimentario pero efectivo, seria un algoritmo mas o menos asi
*Aqui pondrias todos los caracteres que consideras validos, letras, numeros, *signos de puntuacion, etc
data: lc_valores_validos type char100 value 'abcd..ABC..012..+-.,'
data: lv_in type char20,
lv_out type char20,
lv_len type i,
lv_index type syindex.
lv_len = strlen( lv_in ).
do lv_len times
lv_index = sy-index.
subtract 1 from lv_index.
if lv_in+lv_index(1) co lc_valores_validos.
concatenate lv_out lv_in+lv_index(1) into lv_out.
endif.
enddo.
El caso es ir recorriendo la cadena caracter a caracter e ir copiandolos en otra variable, si encuentras alguna valor no valido te lo saltas
|