✒️ABAP Los Field Symbols
ABAP Los Field Symbols
FIEL SYMBOLDS - LECCION 6-7
¿Qué son los 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 un objeto para hacer algo con él , los FIELD SYMBOL nos permite 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.
Flexibilidad de los FIELD SYMBOL.
Nota: la mayoría de los errores que se cometen en la utilización de FIELD SYMBOL se detectaran en el tiempo de ejecución. Esto hace que sea más difícil de detectar. Por lo tanto, solo se debe utilizar FIELD SYMBOL sino podemos llegar al mismo resultado con las sentencias ABAP convencionales
Declaración de un Field Symbol.
Para declarar in Field Symbol vamos a utilizar la siguiente sintaxis:
FIELD-SYMBOLS<FS>[<TYPE>│STRUCTURE<S>DEFAULT<WA>]
Nota: 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:
Tipo de especificación |
Objeto de datos |
TYPE ANY o Sin especificar |
Todos los tipos de objetos de datos son aceptados. El field symnol adopta los atributos del dato |
TYPE C,N,P, 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 en 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 en una tabla estándar. El field symbol hereda todos los atributos de la tabla. |
TYPE SORTED TABLE |
El sistema chequea si el campo en una tabla sorted. El field symbol hereda todos los atributos de la tabla. |
TYPE HASHED TABLE |
El sistema chequea si el campo en una tabla hashed. El field symbol hereda todos los atributos de la tabla. |
Nota: existe muchos tipos de tablas internas. ejemplo: ANY TABLE es posible utilizar ANY TABLES para definir el tipo de un parámetro de tabla genérico, las operaciones permitidas para las tablas ANY TABLES son todas las operaciones permitidas para STANDARD, SORTED y HASHED TABLE, hay que tener en cuenta que no es posible usar índices para acceder a las definidas por este tipo. Otro tipo de tabla interna es la INDEX TABLE, los tipos STANDARD 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 un fórum o en una funtion, el tipo HAHED no pertenece al tipo global INDEX por lo que no puede ser pasado a un parámetro definido INDEX TABLE. Otro tipo de tablas internas son las STANDARD TABLE, el acceso a una tabla STANDARD TABLE es a través de una búsqueda lineal, eso 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 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 ingresar a SORTED TABLE mediante operaciones de índice. Por ultimo tenemos la HASHED TABLE. Podemos entender una HASHED TABLE como un grupo a cuyos elementos se puede acceder utilizando su clave única a diferencia de los tipos de STANDARD y SORTED no podemos acceder a estas tablas mediante índices, 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 tales como sort o LOOP
Asignación de datos a un Field Symbol.
Para asignar datos a un Field Symbol utilizamos la sentencia ASSIGN. La asignación que utilizamos es estática ya que sabemos el nombre del campo que queremos asignar Field Symbol. Ejemplo: ASSIG<f>TO<FS>.
 
 
 
Sobre el autor
Publicación académica de Cristian Darwin Arteaga Diaz, en su ámbito de estudios para la Carrera Consultor ABAP.
Cristian Darwin Arteaga Diaz
Profesión: Abap Developer - Argentina - Legajo: GP81Q
✒️Autor de: 165 Publicaciones Académicas
🎓Cursando Actualmente: Master Funcional para Consultores ABAP
🎓Egresado de los módulos:
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Me considero una persona responsable, siempre estoy investigando y capacitandome para adquirir nuevos conocimientos, tengo el gusto de iniciarme en el mundo de abap como desarrollador, es genial.
Certificación Académica de Cristian Arteaga