Dado un campo símbolo que apunta a una tabla, ¿cómo puedo asignar a un campo de estructura del símbolo?

Tengo un campo símbolo <lt_something> que apunta a una tabla. Esta tabla tiene una sola línea como de contenido. ¿Cómo puedo asignar esa línea en la tabla a un campo nuevo símbolo, decir <ls_something> ?

He intentado :

READ TABLE <lt_something> INDEX 1 REFERENCE INTO <ls_something>.

Pero el código anterior vertederos, ¿cuál es el enfoque correcto para este problema?

OriginalEl autor Amal Antony | 2013-04-23

3 Kommentare

  1. 3

    Estás mezclando campo de símbolos y referencias de datos. El uso de cualquiera de

    DATA lr_foo TYPE REF TO something.
    READ TABLE lt_something INDEX 1 REFERENCE INTO lr_foo.
    lr_foo->bar = 'baz'.
    

    o

    FIELD-SYMBOLS <ls_foo> TYPE something.
    READ TABLE lt_something INDEX 1 ASSIGNING <ls_foo>.
    <ls_foo>-bar = 'baz'.
    

    pero no combinar las dos formas.

    OriginalEl autor vwegert

  2. 0

    Está seguro de que su campo a la tabla de símbolos se asigna antes de realizar su lectura? La estructura general de su lectura de la tabla se ve bien, pero usted debe usar la ASIGNACIÓN en su instrucción de lectura:

    FIELD-SYMBOLS: <lt_something> TYPE ANY TABLE,
                   <ls_something> TYPE ANY.
    
    " ... blah blah presume you did some work on <lt_something>...
    
    IF <lt_something> IS ASSIGNED.
    
      READ TABLE <lt_something> INDEX 1 ASSIGNING <ls_something>.
    
      " Check sy-subrc or <ls_something> IS ASSIGNED.
      " Do work.
    
    ENDIF.
    
    Usted no puede utilizar explícita o implícita de las operaciones de índice en las tablas con tipos de «HASH TABLE» o «TABLA». «<TAB>» es de tipo «TABLA». Es posible que la «MESA», además de que no se ha especificado antes «<TAB>».

    OriginalEl autor Matthew

  3. 0

    El campo del símbolo debe ser el tipo de línea de la tabla, no de la misma tabla.

    DATA:  
         i_vbak            type standard table of vbak.
    
    FIELD-SYMBOLS:  
         <i_vbak> type vbak.
    
    READ TABLE i_vbak ASSIGNING <i_vbak>.
    
    campo-símbolos: <i_vbak> tipo de vbak.

    OriginalEl autor user2341316

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea