Los FIELD-SYMBOLS son punteros en ABAP. Estos pueden estar creados con un estructura definida o con un tipo genérico para que dinamicamente tome una estructura. Esto es bastante útil si deseas darle algún tipo de dinamismo a un REPORT.
Si se asigna una variable con una estructura definida a un FIELD-SYMBOL dicha variable se modificara inmediatamente se modifique el FIELD-SYMBOL. Por esto hay que tener cuidado al momento de limpiar los FS y es mejor desasignar el FS que hacerle un clear.
Los signos de " < " y " > " van sin espacios alrededor del nombre de la variable.
Declaración:
FIELD-SYMBOLS: < fs >
.
FIELD-SYMBOLS < fs1 > TYPE ANY. 
FIELD-SYMBOLS < fs2 > TYPE ANY.
p_idx = 1.
 
ASSIGN COMPONENT p_idx OF STRUCTURE P0002 TO < fs1 > .
   IF sy-subrc EQ 0.
      ASSIGN COMPONENT p_idx OF STRUCTURE P0001 TO < fs2 >.
         IF sy-subrc EQ 0.
            CONDENSE < fs1 >.
            MOVE < fs1 > TO < fs2 > .
            UNASSIGN: < fs1 > ,   < fs2 >.
         ENDIF.
     ENDIF.
 
Este es un pequeño ejemplo de como utilizar los field-symbols. Este mismo caso se puede hacer mas complejo si definimos P0002 como un tabla dinámica que su estructura se determina en medio de la ejecución del REPORT.
No hay comentarios:
Publicar un comentario