martes, 1 de noviembre de 2011

Utilización de < Field-Symbols >

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 " &lt; " y " &gt; " van sin espacios alrededor del nombre de la variable.


Declaración:
FIELD-SYMBOLS: &lt; fs &gt;.


FIELD-SYMBOLS &lt; fs1 &gt; TYPE ANY. 

FIELD-SYMBOLS &lt; fs2 &gt; TYPE ANY.













p_idx = 1.
 

ASSIGN COMPONENT p_idx OF STRUCTURE P0002 TO &lt; fs1 &gt; .
   IF sy-subrc EQ 0.
      ASSIGN COMPONENT p_idx OF STRUCTURE P0001 TO &lt; fs2 &gt;.
         IF sy-subrc EQ 0.
            CONDENSE &lt; fs1 &gt;.
            MOVE &lt; fs1 &gt; TO &lt; fs2 &gt; .
            UNASSIGN: &lt; fs1 &gt; ,   &lt; fs2 &gt;.
         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: