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