✒️ABAP Los Field Symbols
ABAP Los Field Symbols
Qué son los field symbols?
Es un tipo de sentencia Abap que nos permite trabajar con los datos de los programas de forma dinámica en tiempo de ejecución. Es al contrario de lo que sucede con el acceso estático de los datos, necesitamos especificar el nombre del objeto para poder hacer algo con él. Los FIELD SYMBOL nos permiten acceder y pasar datos cuyos nombre y atributos no conocemos hasta el momento de la ejecución.
Son considerados como nombres simbólicos de los datos, ya que cuando se utilizan el sistema trabaja con el contenido asignado y con el contenido de FIELD SYMBOL.
Los FIELD SYMBOL nos da una gran flexibilidad
- Si queremos procesar partes de campos, nos permiten especar 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.
- La mayoría de los errores los detectamos recién en tiempo de ejecución esto hace que se bastante más difícil de detectar., debemos utilizar FIELD SYMBOL si no podemos llegar al mismo resultado con las sentencias ABAP.
Declaración de un FIield Symbol
Declaración
FIELD-SYMBOLS <FS> [<type> STRUCTURE <s> DEFAULT <wa>].
sino especifica un tipo de fiel symbols este puede contener cualquier dato. cuando lo asignamos 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 objetos de datos son aceptados, adopta los atributos del dato.
- TYPE C, N, Po X:son aceptados solo estos tipos C, N, P y X. Adopta la longuitud y decimales del dato.
- TYPE TABLE: El sistema cheque si la tabla es éstandar.
- TYPE ANY TABLE: El sistema chequea si el campo es una tabla interna, hereda todos los atributos de la tabla.
- TYPE INDEX TABLE: el sistema chequea si el campo es una tabla indexada, hereda todos los atributos de la tabla.
- TYPE STANDARD TABLE: chequea si el campo de la tabla es éstandar, hereda todos los atributos de la tabla.
- TYPE SORTED: el sistema chequea sie el campo es una tabla sorted.
- TYPE HASHED TABLE: chequea sie el campo es una tabla hashed, hereda todo los atributos de la tabla.
Ej:
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>. <f> = 'XYZ'. WRITE: / 'Variable v_valor:', v_valor.Asignación de datos a un FIELD SYMBOL
Para la asignar datos a un Field symbol utilizamos la sentencia ASSIGN, la asignación que utilizamos es estática ya que sabemos el nombre que queremos asignar al Field symbol.
ASSIGN <f> TO <FS>
EPORT 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 Juan Carlos Pavicich, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Carlos Pavicich
Profesión: Técnico Informático - Argentina - Legajo: VR91L
✒️Autor de: 116 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Tengo el agrado de dirigirme a ud/s con el objeto de mencionar mi experiencia y conocimientos técnicos necesarios para desarrollar actividades en el rubro de su empresa.
Certificación Académica de Juan Pavicich