@ivanchodelat, yo tenía una estructura cualquiera y lo que me interesaba es que para los campos de esa estructura que fueran de tipo C o string quitara los blancos de los campos.
Lo que hice fue, crear una clase con la SE24 y un método que fuera quitar blancos. Yo le pasé una estructura pero para tu caso le puedes pasar una tabla.
La llamada es así:
CALL METHOD zutilidades=>quita_blancos
CHANGING
c_estructura = ls_recibos.
A ese método le puedo pasar cualquier estructura, porque en la clase defino el parámetro con type any:
METHOD QUITA_BLANCOS.
FIELD-SYMBOLS: <campo> TYPE ANY.
DATA:
descr_ref TYPE REF TO cl_abap_typedescr,
lv_subrc TYPE sysubrc.
lv_subrc = 0.
WHILE lv_subrc = 0.
ASSIGN COMPONENT sy-index OF STRUCTURE c_estructura TO <campo>.
lv_subrc = sy-subrc.
descr_ref = cl_abap_typedescr=>describe_by_data( <campo> ).
IF ( descr_ref->type_kind = gc_c OR " char
descr_ref->type_kind = gc_g ). "STRING
CONDENSE <campo>.
ENDIF.
ENDWHILE.
ENDMETHOD.
Lo que debes hacer es usar DESCRIBE_BY_NAME así ya sabes que el nombre del componente es MATNR para detectar las variables origen y destino.