✒️ABAP Los Field Symbols
ABAP Los Field Symbols
Lección 7: Field Symbols
1. Qué son field symbols?
Un tipo de sentencia ABAP que nos permite trabajar con los datos en forma dinámica, en tiempo de ejecución.
Hasta ahora, nosotros tenemos que especificar directa y estáticamente, los nombres de los objetos. Los Field Symbols nos permiten acceder y pasar datos cuyos nombres y atributos no conocemos hasta el momento de ejecución.
Los Field Symbols son como nombres simbólicos de los datos, ya que cuando se utilizan, el sistema trabaja con el contenido de los datos y no con el contenido del field symbol.
Los Field Symbols nos proveen gran flexibilidad, de la siguiente manera:
· Si queremos procesar partes de campos, nos permiten especificar “offset” (trabajo con sub-strings, posición en un string, numero de caracteres a la derecha, etc.) en forma dinámica.
· Se puede forzar al Field Symbol a que tome diferentes atributos técnicos que los del campo asignado a él.
Debido a que errores cometidos en la utilización de Field Symbols, son más difíciles de detectar, ya que solo es posible detectarlos en tiempo de ejecución, es recomendable utilizar Field Symbols si no podemos llegar al mismo resultado con las sentencias ABAP convencionales.
2. Declaración de un Field Symbol.
FI FIELD-SYMBOLS <fs>[<type> STRUCTURE <s> DEFAULT <wa>]
Si no le especificamos un tipo específico al Field Symbol, este puede contener cualquier dato. Cuando le asignamos un dato el Field Symbol, este adquiere los atributos técnicos del dato.
Los tipos de datos genéricos para un Field Symbol son:
Tipo de especificación |
Objeto de datos |
Notas |
TYPE ANY o sin especificación |
Todos los tipos de los objetos son aceptados. El Field Symbol adopta los atributos del dato. |
|
TYPE C, N, P o X |
Solo los tipos 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. |
Las operaciones permitidas para una tabla ANY TABLE si las mismas que las permitidas para tablas tipo STANDARD, SORTED y HASHED. No se pueden usar índices con las tablas definidas con este tipo
|
TYPE INDEX TABLE |
El sistema chequea si el campo es una tabla indexada. El Field Symbol hereda todos los atributos de la tabla. |
· Sus datos se acceden mediante un índice. · Se puede utilizar para definir un parámetro genérico en un FORM o un FUNCTION. |
TYPE STANDARD TABLE |
El sistema chequea si el campo es una tabla estándar. El Field Symbol hereda todos los atributos de la tabla. |
· Pertenece al tipo de tabla genérico INDEX TABLE. · Acceso mediante una búsqueda lineal. · Tiempo requerido de búsqueda está relacionado linealmente al número de registros 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. |
· Pertenece al tipo de tabla genérico INDEX TABLE. · Al definir una tabla de este tipo, siempre se guarda con el orden correcto. · El acceso es mediante una búsqueda binaria. Si la clave no es única, el sistema obtiene la entrada con el índice más bajo. · Tiempo requerido de búsqueda está relacionado logarítmicamente al número de registros de la tabla. · También es posible a SORTED TABLES mediante operaciones de índices. |
TYPE HASHED TABLE |
El sistema chequea si el campo es una tabla hashed. El Field Symbol hereda todos los atributos de la tabla. |
· No pertenece al tipo global INDEX. No puede ser pasada a un parámetro definido INDEX TABLE. · Sus elementos pueden accederse usando su clave única. No se accede a estas tablas mediante índices. · Todos los registros deben tener una clave única. · El tiempo de acceso es constante, sin tener en cuenta el número de registros. · Solo se puede acceder a este tipo de tablas mediante operaciones de clave. También con operaciones tipo SORT o LOOP. |
3. Asignación de datos a un Field Symbol.
Se utiliza la sentencia ASSIGN. Es una asignación estática, ya que sabemos el nombre del campo que queremos asignar al Field Symbol.
ASSIGN<f> TO <FS>.
 
 
 
Sobre el autor
Publicación académica de Oscar Perez, en su ámbito de estudios para la Carrera Consultor ABAP.
Oscar Perez
Profesión: Ingeniero de Sistemas. Consultor y Desarrollador en Peoplesoft - Canada - Legajo: FD38F
✒️Autor de: 105 Publicaciones Académicas
🎓Cursando Actualmente: Master en Programación ABAP Orientado a Objetos
🎓Egresado de los módulos:
Certificación Académica de Oscar Perez