✒️ABAP Los Field Symbols
ABAP Los Field Symbols
Field Symbols
1. ¿Qué son los Field Symbols ?
- Tipo de sentencia ABAP que permite trabajar con datos de programas de forma dinámica en tiempo de ejecución.
Nombre simbólico de datos, ya que al ser usados, sistema trabaja con contenido de datos asignados y no con el
Field Symbol propiamente.
- Escenarios:
-> En acceso estático de datos se requiere especificar nombre de objeto para alguna acción. Field Symbols permite
acceder y pasar datos datos a nombres y atributos que no conocemos hasta la ejecución del programa.
- Flexibles, ya que:
-> si se quiere procesar partes de campos, permite especificar offset y desplazamiento de campo en forma dinámica.
-> Puede forzar a que tome distintos atributos técnicos que los del campo asignado a él.
- Errores cometidos en el uso de field Symbols se detectan en tiempo de ejecución. Facilita su identificación.
- Sólo usarlos cuando no se pueda llegar al mismo resultado con las sentencias ABAP convencionales.
2. Declaración de Field Symbol
- Sintaxis: FIELD-SYMBOLS <FS> [<type>|STRUCTURE <s> DEFAULT <wa>].
- Si no se especifica tipo, este puede contener cualquier dato.
- Cuando se asigna dato a Field Symbol, este hereda los atributos técnicos del dato.
Tipos de datos genéricos posibles para un Field Symbol
- TYPE ANY o sin especificación: Todos los tipos de objetos de datos son aceptados.
- TYPE C, N, P o X: Sólo los tipos de datos son aceptados (los descritos). El Field Symbol adopta la longitud y
decimales del dato.
- TYPE TABLE: Sistema chequea si tabla es estándar.
- TYPE ANY TABLE: Sistema chequea si campo es una tabla interna. Field symbol hereda atributos de tabla.
- TYPE INDEX TABLE: Sistema chequea si campo es tabla indexada. Field Symbol hereda atributos de tabla.
- TYPE STANDARD TABLE: Sistema chequea si campo es tabla estándar. Field Symbol hereda atributos de tabla.
- TYPE SORTED TABLE: Sistema chequea si campo es tabla sorted. Field Symbol hereda atributos de tabla.
- TYPE HASHED TABLE: Sistema chequea si campo es tabla hashed. Field Symbol hereda atributos de tabla.
Tipos de tablas internas:
- ANY TABLE: Usada para definir tipo de tabla genérico. Todas operaciones permitidas para standard sorted y hashed. No es posible usar índices para acceder a tablas definidas con este tipo.
- INDEX TABLE: Standard y Sorted pertenecen a este tipo. Es aquella a la que podemos acceder a través de índice.
Es posible usarla tipo para especificar tipo de parámetro genérico en FORM genérico o en una FUNCTION.
- HASHED TABLE: No pertenece a tipo global INDEX, por lo que no puede ser pasado parámetro definido
INDEX TABLE.
- STANDARD TABLE: Acceso a esta es mediante búsqueda lineal (tiempo de búsqueda relacionado linealmente al
número de registros de tabla).
- SORTED TABLE: Definir una de este tipo, siempre se guarda con orden correcto. Su búsqueda es mediante búsqueda binaria (BINARY SEARCH). Si clave no es única, sistema obtiene la entrada con tiempo más bajo. Tiempo requerido para acceso está logarítmicamente relacionado al número de registros de la tabla. Su acceso también puede ser
mediante operaciones de índices.
- HASHED TABLE: Considerada como Grupo a cuyos registros son accedidos por clave única. No podemos acceder
por medio de índices ( a diferencia de sorted y standard). Tiempo de acceso es constante, sin tener en cuenta el
número de registros de tabla. Su acceso es por operaciones genéricas de clave u otras operaciones genéricas tales
como SORT o LOOP.
- Ejm.:
REPORT z_prueba_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: / 'Contenido de v_valor: ', v_valor.
3. Asignación de datos a Field Symbols
- Uso de sentencia ASSIGN.
- Asignación es estática (sabemos el nombre del campo que queremos asignar al Field Symbol).
- Sintaxis: ASSIGN <f> TO <FS>.
- Ejm.:
REPORT z_prueba_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.
 
 
 
Agradecimiento:
Ha agradecido este aporte: Octavio Davila Durazo
Favorito:
Está publicación ha sido agregada a sus favoritos por: Octavio Davila Durazo
Sobre el autor
Publicación académica de Darwin Enrique Terraza Berdugo, en su ámbito de estudios para la Carrera Consultor ABAP.
Darwin Enrique Terraza Berdugo
Colombia - Legajo: MM57E
✒️Autor de: 60 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor Basis NetWeaver Nivel Avanzado
- Carrera Consultor Basis NetWeaver Nivel Inicial
Disponibilidad Laboral: PartTime
Certificación Académica de Darwin Terraza