✒️ABAP Los Field Symbols
ABAP Los Field Symbols
FIELD SYMBOLS
1. QUE SON LOS FIELD SYMBOLS?
Es un tipo de sentencia ABAP q nos permite trabajar con los datos de los programas en forma dinámica en tiempo de ejecución.
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.
Los Filed Symbol nos proveen de gran flexibilidad debido a q:
- 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 q tome diferentes atributos técnicos q los del campo asignado a él.
IMPORTANTE: La mayoría de los errores q cometamos en la utilización de Field Symbols los detectaremos recién en tiempo de ejecución. Esto hace q 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.
2. DECLARACION DE UN FIELD SYMBOL
Ej: Sintaxis para la declaración de un Field Symbol.
FIELD-SYMBOLS <FS> [<type>|STRUCTURE <s> DEFAULT <wap>.
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.
Existen distintos tipos de tablas internas por ejemplo ANY TABLE, es posible usarla para definir el tipo de un parámetro de tabla genérico. Las operaciones permitidas para tablas de tipo ANY TABLE son todas las operaciones permitidas para STANDARD, SORTED y HASHED TABLE, hay q tener en cuenta q no es posible usar índices para acceder a las tablas definidas con este tipo.
Otra 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 q podemos acceder mediante un índice, es posible usar el tipo index tabla para especificar el tipo de un parámetro genérico en un FORM o en una FUNCTION el tipo HASHED no pertenece al tipo global index por lo q no puede ser pasado un parámetro definido index table.
Otra tipo de tablas internas son las STANDARD TABLE, el acceso es mediante una búsqueda lineal, esto significa q el tiempo requerido para la búsqueda esta relacionado linealmente al número de registro de la tabla.
Otro tipo de tabla interna es la SORTED TABLE, esta tabla 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 mas bajo, el tiempo requerido para el acceso esta logarítmicamente relacionado al número de registro de la tabla, Tambien es posible acceder al SORTED TABLE mediante operaciones de indices.
Por ultimo tenemos la HASHED TABLE, como un grupo a cuyos elementos se puede acceder usando su clave única a diferencia de los tipos STANDARD y SORTED no podemos acceder a esta tabla 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 de tipo HASHED usando las operaciones genéricas de clave u otras operaciones genérica tales como SORT o LOOK.
Ej: Utilización de Field Symbol
REPORT zprueba_abap_6_5.
DATA: v_valor(3) VALUE 'ABC'.
FIELD-SYMBOLS <f>.
ASSIGN v_valor TO <f>.
WRITE: / 'Contenido de v_valor:', <f>.
<f> = 'XYZ'.
WRITE: / 'Variable v_valor:', v_valor.
3. ASIGNACION DE DATOS A UN FIELD SYMBOLS
Para asignar datos a un Field Symbol utilizamos la sentencia ASSIGN.
La asignación q utilizamos es estática ya q sabemos el nombre del campo q queremos asignar al Field Symbol.
Ej: Sintaxis de la sentencia ASSIGN
ASSIGN <f> TO <FS>.
Ej:
REPORT zprueba_abap_6_7.
DATA: BEGIN OF st_line,
col1(1) TYPE c,
col2 VALUE 'X',
END OF st_line.
FIELD-SYMBOLS <fs> LIKE st_line.
ASSIGN st_line TO <fs>.
MOVE <fs>-col2 TO <fs>-col1.
 
 
 
Sobre el autor
Publicación académica de Mayra Maria Pino Rodriguez, en su ámbito de estudios para la Carrera Consultor ABAP.
Mayra Maria Pino Rodriguez
Profesión: Licenciada Cibernética Matemática - Republica Dominicana - Legajo: RA62Z
✒️Autor de: 56 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Mayra Pino