✒️ABAP Los Field Symbols
ABAP Los Field Symbols
1. Qué son los 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.
Al contrario de lo que sucede con el acceso estático de los datos, donde necesitamos especificar el nombre de un objeto para poder hacer algo con el, los Field Symbol nos permiten acceder y pasar datos cuyos nombres y atributos no conocemos hasta el momento de la ejecución.
NO reservan espacio fisicamente para un campo sino que "apuntan" a su contenido. un fiel symbol puede apuntar a cualquier objeto de datos.
Los field symbol proveen gran flexibilidad debido a:
- si queremos procesar partes de campos, permiten especificar el offset y el desplazamiento de un campo en forma dinámica.
- se puede forzar a un field symbol pra que tome diferentes atributos técnicos que los del campo asignado a él.
para utilizar el fiel symbol se debe:
- definir el field symbol
- asignar al field symbol el objeto de datos
Los field symbol aumentan la posibilidad de errores o incorrectas asignaciones de datos durante la ejecución, ya que los campos se asignan recien en momento de ejecución y las verificaciones de sintaxis y chequeos de seguridad son muy limitados.
Se recomienda que los field symbol sean usados sólo si no se puede alcanzar los mismos resultados usando otras sentencias ABAP.
Su sintaxis es FIELD-SYMBOLS <FS> [<type>|STRUCTURE <s> DEFAULT <wa>].
Ejemplo:
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>.
<f> = 'XYZ'. "asignamos nuevo valor de var
write: / 'Variable var: ', var.
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 sield symbol son:
- TYPE ANY o sin especificación. Todos los tipos de objetos de datos son aceptados. El field symbol adopta los atributo del dato
- TYPE C, N, P o X. Sólo los tipos de datos C, N, P y X son ceptados. El field symbol adopta la longitud y decimales del dato.
- TYPE TABLE. El sistema chequea si la tabla es estandar.
- 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 STANDAR 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
3. Asignación de datos a un field symbol
Para asignar datos a un field symbol utilizamos la sentencia ASSIGN. La asignación que se utilzia es estática ya que sabemos el nombre del campo que queremos asignar al fiel symbol. Su sintaxis es:
ASSIGN <f> TO <FS>.
Ejemplo:
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 Jose Hernando Donado Cervantes, en su ámbito de estudios para la Carrera Consultor ABAP.
Jose Hernando Donado Cervantes
Profesión: Ingeniero de Sistemas - Colombia - Legajo: KU74P
✒️Autor de: 55 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Jose Donado