✒️ABAP / Los Field Symbols Por Jean Lopez Uzcategui
ABAP Los Field Symbols

FIELD SYMBOLS
Es un tipo de sentencia ABAP que nos permite trabajar con los datos de los programas en forma dinámica en tiempo de ejecución. Al contrario de lo que sucede con el acceso estático de los datos, donde necesitamos especificar el nombre de u objeto para poder hacer algo con él, los FILED SYMBOL nos permiten acceder y pasar datos cuyos nombres y atributos no conocemos hasta el momento de la ejecución.
Se puede considerar a los FIELD SYMBOL como nombres simbólicos de los datos, ya que cuando se utilizan, el sistema trabaja con el contenido de los datos asignados y no con el contenido del Field Symbol.
Los Field Symbol nos proveen de gran flexibilidad debido a que:
· Si queremos procesar partes de campos, nos permiten especificar el offset y el desplazamiento de un campo en forma dinámica.
· Se puede forzar a un Field Symbol para que tome diferentes atributos técnicos que los del campo asignado a él.
La mayoría de los errores que cometamos en la utilización de Field Symbols los detectaremos recién en tiempo de ejecución. Esto hace que sean bastantes más difíciles de detectar. Por lo tanto solo debemos utilizar Field Symbol si no podemos llegar al mismo resultado con las sentencias ABAP convencionales.
DECLARCION DE UN FIELD SYMBOL
Para declarar un Field Symbol vamos a utilizar la siguiente sintaxis:
FIELD-SYMBOLS <FS> [<type> STRUCTURE <s> DEFAUL <wa>].
Si no especificamos un tipo a un Field Symbol, este puede contener cualquier dato. Cuando asignamos un dato al Field Symbol, este hereda los atributos técnicos del dato.
Los tipos de datos genéricos posibles para un Field Symbol son:
· TYPE ANY o sin especificación: todos los tipos de objetos de datos son aceptados. el field symbol adopta adopta los atributos del campo.
· TYPE C, N, P O X: solo los tipos de datos C, N, P y X son aceptados. El field symbol adopta la longitud y decimales del dato.
· TYPE TABLE: el sistema chequea si la tabla es estándar
· TYPE ANY TABLE: el sistema chequea si el campo es una tabla interna. El field symbol hereda todos los atributos de la tabla.
· TYPE INDEX TABLE: el sistema chequea si el campo es una tabla indexada. El field symbol hereda todos los atributos de la tabla
· TYPE STANDARD TABLE: el sistema chequea si el campo es una tabla estándar. El field symbol hereda todos los atributos de la tabla.
· TYPE SORTED TABLE: el sistema chequea si el campo es una tabla sorted. El field symbol hereda todos los atributos de la tabla.
· TYPE HASHED TABLE: el sistema chequea si el campo es una tabla hashed. El field symbol hereda todos los atributos de la tabla.
Existen distintos tipos de tablas internas por ejemplo ANY TABLE, es posible usar una ANY TABLE para definir el tipo de un parámetro de tabla genérico las operaciones permitidas para tipos de talas ANY TABLE son todas las operaciones permitidas para estándar, sorted y hashed table, hay que tomar en cuenta que no es posible usar índice para acceder a las tablas definidas con este tipo.
Otro tipo de tabla interna es la index table, los tipos standar y sorted pertenecen al tipo de tabla genérico index table, una tabla indexada es aquella a la que podemos acceder mediante un índice. Es posible usar el tipo index tabla para especificar el tipo de un parámetro genérico en una form o en una función, el tipo hashed no pertenece al tipo global index por lo que no puede ser pasado un parámetro definido index table.
Otro tipo de tablas internas son las standar table el acceso a una standar table es mediante a una búsqueda lineal, esto significa que el tiempo requerido para la búsqueda está relacionado linealmente al número de registro de la tabla.
Otro tipo de tabla interna es la sorted table, al definir una tabla como sorted table esta tabla siempre se guarda con el orden correcto el acceso a una sorted table es mediante a una búsqueda binaria, si la clave no es única el sistema obtiene la entrada con el índice más bajo, el tiempo requerido para el acceso esta logarítmicamente relacionado al número de registro de la tabla, también es posible acceder a sorted table mediante operaciones de índice.
Y por último tenemos la hashed table, podemos entender una hashed table como un grupo a cuyos elementos se pueden acceder usando su clave única a diferencia de los tipos standar y sorted no podemos acceder a estas tablas mediante índice, todos los registros deben tener una clave única y el tiempo de acceso es constante sin tener en cuenta el número de registro de la tabla, solo es posible acceder a estas tablas tipo hashed usando las operaciones genéricas de clave u otras operaciones genéricas
ASIGNACION DE DATOS A UN FIELD SYMBOLS
Para asignar datos a un Field Symbol utilizaremos la sentencia ASSIGN. La asignación que utilizaremos es la estatica ya que sabemos el nombre del campo que queremos asignar al Fields Symbol.
La sintaxis utilizada seria la siguiente:
ASSIGN <f> TO <FS>
 
 
 
Sobre el autor
Publicación académica de Jean Carlos Lopez Uzcategui, en su ámbito de estudios para el Curso SAP ABAP.
Jean Carlos Lopez Uzcategui
Profesión: Sistemas - Venezuela - Legajo: HS82J
✒️Autor de: 53 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
























