6.7. - Field Symbols
6.7.1. - ¿Qué son los Field Symbols?
Es un tipo de sentencia ABAP que permite trabajar con los datos de los programas en forma dinámica en tiempo de ejecución. Son como los punteros del lenguaje C, ya que sirven para asignar el contenido de una variable al field symbol. No reservan espacio físicamente para un campo, sino que apuntan a su contenido.
Permiten acceder y pasar datos cuyos nombres y atributos no se conocen hasta el momento de la ejecución. Los field symbols proveen de gran flexibilidad, ya que:
1. Permite especificar el offset y el desplazamiento de un campo en forma dinámica.
2. Se puede forzar a n Field Symbol para que tome diferentes atributos técnicos que los del campo asignado a él.
Solo se debe utilizar el Field Symbol si no se puede llegar al mismo resultado con las sentencias ABAP convencionales.
6.7.2. - Declaración de un Field Symbol
Para declarar un Field Symbol, se utiliza la siguiente sintaxis:
Si no se especifica un tipo a un Field Symbol, éste puede contener cualquier dato. Cuando se asigna un dato al Field Symbol, éste hereda los atributos técnicos del dato.
Los tipos de datos genéricos posibles para un Field Symbol son:
Este sería un ejemplo de utilización de un Field Symbol.
6.7.3. - Asignación de datos a un Field Symbol
Para asignar datos a un Field Symbol, se utiliza la sentencia “ASSIGN”. La asignación es estática, ya que se sabe el nombre del campo que se quiere asignar al Field Symbol.