✒️ABAP Los Field Symbols
ABAP Los Field Symbols
1- Qué son los Field Symbols?
Es un tipo de sentencia ABAP que permite trabajar con los datos en forma dinámica en tiempo de ejecución.
Los Field Symbol permiten acceder y pasar datos cuyos nombres y atributos no conocemos hasta el momento de la ejecución. Los podemos considerar como nombres simbólicos de los datos, ya que el sistema trabaja con el contenido de los datos asignados y no con el contenido de los Field Symbol.
Proveen gran flexibilidad porque:
- Si se quiere 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 para que tome diferentes atributos técnicos que los del campo asignado a él.
2- Declaración de un Field Symbol
FIELD-SYMBOLS <FS> [<type> STRUCTURE <s> DEFAULT <wa>].
Si no se especifica un Tipo a un Field Symbol, éste puede contener cualquier dato.
Cuando asignamos un dato a un Field Symbol, éste hereda los atributos técnicos del dato.
Los Tipos de datos genéricos posibles para un Field Symbol son:
TYPE ANY: Todos los Tipos de Objetos de Datos son aceptados. El FS adopta los atributos del dato.
TYPE C, N, P o X: Sólo los Tipos C, N, P y X son aceptados. El FS 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 FS hereda los atributos de la tabla. Las operaciones permitidas son las mismas que para las Standard, Sorted y Hashed. Tablas con Indice no son permitidas.
TYPE INDEX TABLE: El sistema chequea si el campo es una Tabla Indexada. El FS hereda los atributos de la tabla. Una tabla Hashed no está permitido su uso.
TYPE STANDARD TABLE: El sistema chequea si el campo es una Tabla Estándard. El FS hereda los atributos de la tabla. La búsqueda es Lineal y su tiempo dependerá de la magnitud total de la Tabla.
TYPE SORTED TABLE: El sistema chequea si el campo es una Tabla Sorted. El FS hereda los atributos de la tabla. La búsqueda es Binaria lo que reduce sensiblemente el tiempo de búsqueda. Se puede acceder a través de Indices.
TYPE HASHED TABLE: El sistema chequea si el campo es una Tabla Hashed. El FS hereda los atributos de la tabla. Estas tienen una Clave Unica. No se puede acceder a través de Indices. Todos los registros deben tener una Clave Unica y el tiempo de acceso es constante sin tener en cuenta el número de registros de la Tabla. Se pueden acceder con operaciones genéricas de clave o con Sort o Loop.
REPORT zprueba_abap_6_5.
DATA: v_valor(3) VALUE 'ABC'.
FIELD-SYMBOLS <f> TYPE any.
ASSIGN v_valor TO <f>.
WRITE: / 'Contenido de v_valor:', <f>. "Imprime Contenido de v_valor: ABC
<f> = 'XYZ'.
WRITE: / 'Variable v_valor:', v_valor. "Imprime Variable v_valor: XYZ
3- Asignación de Datos a un Field Symbol
Se utiliza la sentencia ASSIGN y es una asignación estática ya que sabemos el nombre del campo que queremos asignarle al FS.
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 Victor Norberto Levi, en su ámbito de estudios para la Carrera Consultor ABAP.
Victor Norberto Levi
Profesión: Analista Programador - Argentina - Legajo: VT17H
✒️Autor de: 111 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Victor Levi