![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Los Field Symbols
ABAP Los Field Symbols
![ABAP Los Field Symbols ABAP Los Field Symbols](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/299.jpg)
El field symbol. 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 , se trata de un puntero cuyo contenido es la dirección de un objeto, sin reservar espacio en memoria, para el sistema no hay diferenciaentre operar con el objeto con el field symbol sin embargo resulta mas eficiente operar con punteros que con objetos, ya que estos ocupan menos espacio en memoria (cuatro Bytes).
Todas las instrucciones con field symbol se ejecutan el los campos asignados, por ejemplo una sentencia MOVE de un field symbol se ejecuta haciendo que el segundo apunte al mismo objeto que el primero, si no se especifica el field symbol este hereda las características técnicas del campo asignado, si se le asigna un tipo este debe ser igual o compatible con el objeto que apunta.
Para utilizar un Field Symbol en nuestros programas debemos:
- Definir el field symbol
- Asignar al field symbol el objeto de datos
Los Field Symbols aumentan las posibilidades de error o de incorrectas asignaciones de datos durante la ejecución de un programa, dado que los campos se asignan recién en el momento de ejecución del programa y las verificaciones de sintaxis y chequeos de seguridad son muy limitados.
Es por ello que se recomienda el uso de los field symbols sólo si no se pueden alcanzar los mismos resultados usando otras sentencias ABAP.
Veamos a continuación un ejemplo sencillo de su uso:
data var(3) value 'ABC'.
field-symbols <f>.
assign var to <f>. " <f> puede ser usado ahora en lugar de var
write: / 'Contenido de var:', <f>. " Escribimos el contenido de var
<f> = 'XYZ'. " Asignamos un nuevo valor var
write: / 'Variable var:', var.
Existen diferentes tipos de tablas internas por ejemplo any table, una any table se utiliza para definir el tipo de un parametro de una tabla generico, las operaciones permitidas para este tipo de tabla any table son todas las operaciones para los estandar sort y hashed table. Hay que tener en cuenta que no podemos utilizar indices (index) para acceder a las tablas definidas de este tipo, Otro tipo de tabla interna utilizada es la de index table los tipos estandar y sort pertenecen a las tablas generica de tipo index table, esta es una tabla indexada que es aquella que podemos acceder por medio de un indice. Es posible utilizar el tipo index table para especificar el tipo de un parametro generico, en un form o en una function.
El tipo Hashed no pertenece al tipo global index, por lo que no puede ser pasado a un parametro definido index table. Otro tipo de tabla interna es la de Estandar Table el acceso a este tipo de tabla es mediante a una busqueda lineal esto significa que el tiempo requerido para la busqueda esta relacionado linealmente al numero de registro de la tabla. Otro tipo de tabla interna es la SORT Table este tipo de tabla se guarda en el orden correcto ela acceso a una sort table es mediante una busqueda binaria o binary search, si la clave no es unica el sistema obtiene la busqueda con el indice mas bajo, el tiempo requerido para el acceso esta logaritmicamente relacionado al numero de registro de la tabla. Tambien es posible acceder a la tabla SORT Table mediante operaciones de indices. Por ultimo tenemos las Hashed Table es un grupo por el cual se puede acceder a traves de su clave unica a diferencia de los tipos estandar y sort no podemos acceder a estas tablas a traves de los indices, todos los registros deben tener una clave unica y el tiempo de acceso es constante sin tener en cuenta el numero de registro de la tabla solo es posible acceder a estas tablas usando las operaciones genericas de clave u otras operaciones genericas tales como SORT o LOOP.
Como conclusion de los FiedSymbol podemos decir que son una herramienta que nos proporciona ABAP para trabajar en forma dinamica y que puede ser aplicada en determinadas situaciones en donde con las sentencias convencionales que nos presenta ABAP no encontramos una solucion al problema que se nos presenta. Si bien el uso de los FieldSymbol resulta mas eficiente que el metodo convencional en donde utilizamos una cabecera o area de trabajo.
 
 
 
Sobre el autor
Publicación académica de Jose Medina, en su ámbito de estudios para la Carrera Consultor ABAP.
Jose Medina
Profesión: Ing. en Informatica - Venezuela - Legajo: LX87H
✒️Autor de: 109 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Profesional con experiencia en el ámbito del desarrollo de software, con conocimientos sólidos en diversos lenguajes de programación (para la creación de apps desktop / web / android / ios).
Certificación Académica de Jose Medina