✒️ABAP Los Field Symbols
ABAP Los Field Symbols
FIELD SYMBOLS
Es un tipo de sentencia ABAP que nos permite trabajar con los datos de los programas en forma dinamica en tiempo de ejecucion.
Los field symbols nos permiten acceder y pasar datos cuyos nombres y atributos noconocemos hasta el momento de la ejecucion.
Se puede considerar a los Field Symbols como nombres simbolicos 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 Field Symbol nos proveen de gran flexibilidad debido a que:
Si queremos procesar partes de campos, nos permiten especificar el offset y el desplazamiento de un campo en forma dinamica.
Se puede forzar a un Field Symbol para que tome diferentes atributos tecnicos que los del campo asignado a el.
La mayoria de los errores que cometamos en la utilizacion de field symbols los detectaremos recien en tiempo de ejecucion. Esto hace que sean bastante mas dificiles de detectar.
Por lo tanto, solo debemos utilizar los field symbols si no podemos llegar al mismo resultado con las sentencias ABAP convencionales.
Declaracion de un Field Symbol.
Para declarar un Field Symbol utilizamos la siguiente sintaxis.
FIELD-SYMBOLS<FS>[<type> STRUCTURE <s>DEFAULT<way>].
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 tecnicos del dato.
TIPOS DE ESPECIFICACIONES Y OBJETO DE DATOS.
TYPE ANY o sin especificacion. todos los tipos de objetos de datos son aceptados. El field sumbol adopta los atributos del dato.
TYPE C,N,P O X . Solo los tipos de datos 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 estandar.
TYPE ANY TABLE. el sistema chequea si el campo es una tabla interna. El field symbol hereda todos los atributos de la tabla.
para definir el tipo de un parametro de tabla generico, no es posible usar indices.
TYPE INDEX TABLE. el sistema chequea si el campo es una tabla indexada . el field symbol hereda todos los atributos de la tabla.es aquella ala que podemos acceder mediante un indice.
TYPE STANDARD TABLE. el sistema chequea si el campo es una tabla estandar . el field symbol hereda todos los atributos de la tabla.acceso mediante buqueda lineal, el tiempo relacionado con la busqueda esta relacionado linealmente al numero de registros de la tabla.
TYPE SORTED TABLE El sistema chequea si el campo es una tabla sorted. el field symbol hereda todos lo atributos de la tabla.
siempre se guarda con el orden correcto, el acceso se hace mediante una binary search, el tiempo esta logaritmicamente relacionado al numero de registros 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. grupo a cuyos elementos se pueden acceder mediante su clave unica,todos los registros deben tener una clave unica,
ejemplo.
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.
----------------------------------------------
ASIGNACION DE DATOS A UN FIELD SYMBOL
Para asignar datos a un field symbol utilizamos la sentencia ASSIGN.
La asignacion que utilizamos es estatica ya que sabemos el nombre del campo que queremos asignar al field symbol.
la sintaxis seria la siguiente.
ASSIGN<f>TO<FS>.
 
 
 
Sobre el autor
Publicación académica de Marco Antonio Vazquez Gonzalez, en su ámbito de estudios para la Carrera Consultor ABAP.
Marco Antonio Vazquez Gonzalez
Mexico - Legajo: RB98L
✒️Autor de: 60 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Marco Vazquez