Manejo De Variable De Tabla Glt0

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • charlycris
    Junior Member
    • ago
    • 4

    #1

    Manejo De Variable De Tabla Glt0

    Hola a cada uno de Uds. mi duda es el siguiente...

    en la tabla GLT0 existen variable como HSL01, HSL02,.... , HSL16.

    tengo mi TI que tiene la misma estructura que GLT0: TI_TABLA.

    consulto..

    Es posible llamar dentro de un loop a esos campos como sigue?: TI_TABLA-HSL##.

    Donde ##. es 01, 02,...,16.

    Agradecido estare por sus respuestas...
  • caralbgro
    Senior Member
    • sep
    • 478

    #2
    tengo el mismo problema

    Tengo el mismo problema pudiste encontrar la solucion???
    Consultor FI-CO

    Comentario

    • ballan
      Senior Member
      • oct
      • 671

      #3
      No se si es exactamente esto lo que quereis, lo que hace es recorrer solo los campos que comienzan por HSL de la tabla GLT0, aqui os pongo una manera pero hay muchas formas diferentes de hacerlo

      Código:
        DATA:  go_strref TYPE REF TO cl_abap_structdescr,
               gt_glt0 TYPE TABLE OF glt0,
               gt_components TYPE abap_compdescr_tab,
               gs_components LIKE LINE OF gt_components.
      
        FIELD-SYMBOLS: <glt0> LIKE LINE OF gt_glt0,
                       <campo> TYPE ANY.
      
        go_strref ?= cl_abap_typedescr=>describe_by_name('GLT0').
        gt_components = go_strref->components.
        DELETE gt_components WHERE name NP 'HSL*'.
      
        SELECT *
        INTO TABLE gt_glt0 UP TO 10 ROWS
        FROM glt0.
      
        LOOP AT gt_glt0 ASSIGNING <glt0>.
      
          LOOP AT gt_components INTO gs_components.
      
            ASSIGN COMPONENT gs_components-name OF STRUCTURE <glt0> TO <campo>.
      
            CHECK sy-subrc IS INITIAL.
      
            WRITE: <campo>.
      
          ENDLOOP.
      
        ENDLOOP.

      Comentario

      Trabajando...