sacar estructura tabla interna en tiempo ejecucion

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Skadeour
    Member
    • abr
    • 55

    #1

    sacar estructura tabla interna en tiempo ejecucion

    sacar estructura tabla interna en tiempo ejecucion

    --------------------------------------------------------------------------------

    Yo le paso una tabla interna a una funcion, y esa funcion me imprime el nombre de los campos de la estructura de la tabla, como saco la estructura de la tabla en tiempo de ejecución?
  • Mauricio Hidalgo
    Senior Member
    • may
    • 481

    #2


    Aquí encuentras lo que andas buscando.

    Saludos

    Comentario

    • Skadeour
      Member
      • abr
      • 55

      #3
      muy bien

      he usado esa funcion, y debugeando, la clase
      me sale un atributo con nombre key, en el cual se guarda la tabla con los valores de los nombres de los campos de la estructura de la tabla pasado, pero no se como acceder a esos valores, dentro del metodo, se te ocurre algun modo?

      Comentario

      • Mauricio Hidalgo
        Senior Member
        • may
        • 481

        #4
        Tomando el código del ejemplo, sería algo como esto.
        .
        .
        .
        data campo(20).

        loop at l_ref->key ASSIGNING <KEY_COMP_WA>.
        IF <KEY_COMP_WA>-NAME NE 'ZEILI'.
        L_TYP ?= CL_ABAP_TYPEDESCR=>DESCRIBE_BY_NAME( <KEY_COMP_WA>-NAME ).
        write: / campo, l_typ->type_kind, l_typ->length.
        ENDIF.
        endloop.

        OBS. SE CAE LA EXPRESI&#211;N L_TYP ?=CL_ABAP..... AL EVALUAR EL CAMPO ZEILI....CORREGIRLO TE LO DEJO A TI.....

        ESPERO TE SIRVA,

        SALUDOS
        Editado por última vez por Mauricio Hidalgo; 09/06/2006, 13:52:57.

        Comentario

        • carlosalcala
          Member
          • may
          • 46

          #5
          Asignación de estructura

          Quizas te sea más facil asi
          DATA n TYPE i VALUE 0.
          FIELD-SYMBOLS <f>.

          DO.
          ADD 1 TO n.

          ASSIGN COMPONENT n OF STRUCTURE tabla TO <f>.
          * Donde n es el nº de elemento , tabla (no lo comento) y <f> el puntero
          * a el elemento.

          IF sy-subrc NE 0.
          EXIT.
          ENDIF.

          IF <f> IS INITIAL.
          MOVE '/' TO <f>.
          ENDIF.

          ENDDO.
          Salu2

          Carlos!

          Comentario

          Trabajando...