Programación dinámica <fs_wa>-matrnr

@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.

2 Me gusta