✒️ABAP / Los Field Symbols Por Ezequiel Hurtado Benitez

ABAP Los Field Symbols

ABAP Los Field Symbols

Apuntes ING Ezequiel Hurtado Benitez.

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 él, los Field Symbols nos permiten acceder y pasar datos cuyos nombres y atributos no conocemos hasta el momento de la ejecución. Se puede considerar a los Field Symbols como nombres simbólicos 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 Symbols no reservan espacio físicamente para un campo sino que "apuntan" a su contenido. Un Field Symbol puede apuntar a cualquier objeto de datos. Los Field Symbols nos proveen de gran flexibilidad debido a que: Si queremos procesar partes de campos, nos permiten especificar el offser y el desplazamiento de un campo en forma dinámica; Se puede forzar a un Field Symbol para que tome diferentes atributos técnicos del campo asignado a él. (La mayoría de los errores que cometamos en la utilización de Field Symbols los detectaremos recién en tiempo de ejecución. Esto hace que sean bastante más difíciles de detectar. Por lo tanto, solo debemos utilizar Field Symbos si no podemos llegar al mismo resultado con las sentencias ABAP convencionales.)

La declaración de un Field Symbol, para poder utilizar un Field Symbol en un programa ABAP debemos realizar dos simples pasos: Declarar el Field Symbol; Asignar al Field Symbol el objeto de datos. Analicemos a continuación cada uno de estos pasos. Para declarar un Field Symbol vamos a utilizar la siguiente sintaxis: FIELD-SIMBOLS<FS>[<type>/STRUCTURE<s>DEFAULT<wa>]. (Si no especificamos un tipo de Field Symbol, este puede contener cualquier dato, es decir el Field Symbol asume todos los atributos técnicos del campo. Si se especifica un tipo, el sistema controla la compatibilidad del Field Symbol y el campo al que se está asociando en el momento de la ejecución de la sentencia de asignación.) Veamos un ejemplo de la declaración de un Field Symbol en donde no se especifica el tipo. Veamos un ejemplo de la declaración de un Field Symbol en donde sí se especifica el tipo. Los tipos de datos genéricos posibles para un Field Symbol son: TYPE ANY o sin especificación, Todos los tipos de objetos de datos son aceptados, el Field Symbol adopta los atributos de datos; TYPE C, I, N, P o X, Solo los tipos de datos C, I, N, P y X aceptados. El Field Symbol 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 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 STANDARD 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 chuequea si el campo es una tabla hashed. El Field Symbol hereda los atributos de la tabla.

Asignación de datos a un Field Symbol, en un programa ABAP se puede asignar objetos de datos a Field Symbol en cualquier momento, como también asignamos una serie de diferentes objetos de datos a un Field Symbol. Para asignar datos a un Field Symbol utilizamos la sentencia ASSIGN. La asignación que utilizamos es estática ya que sabemos el nombre del campo que deseamos asignar al Field Symbol. La sintaxis de la sentencia ASSIGN es: ASSIGN<F>TO<FS>. Siendo F el campo asignado al Field Symbol y FS el nombre del Field Symbol. Para comprender como funcionan los Field Symbols analicemos paso a paso la ejecución del código anterior y el resultado de la impresión por pantalla. Para ello colocamos un breakpoint en la sentencia ASSIGN y ejecutamos paro a paso. Tal como vemos en el código v_variable tiene asignado el valor 2. Luego de ejecutarse la sentencia ASSIGN vamos a ver que el Field Symbol fs_num va a tener asignado el mismo valor de v_variable es decir 2. Si ahora asignamos al Field Symbol fs_num el valor 4. Entonces automáticamente también se asigna el valor 4 a v_variable. El resultado de la impresión por pantalla es El texto expresado como lo solicitamos. (Después de asignar un objeto de datos a un Field Symbol, si realizamos cambios en el valor del Field Symbol entonces se actualiza el valor del objeto de datos correspondiente.)

Utilización de Field Symbol cuando trabajamos con estructuras, Podemos leer un registro de una tabla interna utilizando un Field Symbol en lugar de utilizar una estructura o área de trabajo. También podemos declarar un Field Symbol para recorrer una tabla interna, en lugar de declarar una estructura o área de trabajo y utilizamos para recorrer la tabla interna. A su vez el mismo Field Symbol lo podemos utilizar para actualizar la tabla interna. Veamos cómo sería el código ABAP utilizando de ejemplo la tabla de datos MARA. Debemos tener en cuenta los siguientes puntos: Si modificamos cualquier campo de la estructura en el Fiel Symbol, el campo correspondiente en la tabla interna se actualizará; No necesitamos escribir la sentencia MODIFY que habríamos escrito si hubiéramos usando el área de trabajo o estructura. Esto se debe a que el área de trabajo almacena una copia de la fila de la tabla interna, mientras que el Field Symbol hace referencia a que el área de trabajo almacena una copia de la fila de la tabla interna, mientras que el Field Symbol en más rápido que el procesamiento de la tabla interna con el área de trabajo o estructura.

Utilización de Field Symbol para realizar SELECT dinámicos, Podemos utilizar Field Symbol para realizar SELECT dinámicos a tablas de la base de datos de SAP, es decir podríamos crear un programa ABAP que cuenta que un parámetro en la pantalla de selección en donde se introduzca el nombre de la tabla base de datos que se desea seleccionar y que luego dentro del programa, dependiendo de lo que desee, se realice el download de los registros de la base de datos a un archivo o que se realice el upload de los registros de la tabla base de datos a memoria para ser procesados. El código ABAP correspondiente a esta lógica que acabamos de mencionar sería así: Primero en la pantalla de selección declaramos el parámetro P_TABLA para introducir el nombre de la tabla base de datos, el parámetro P_FNAME para introducir el directorio y nombre del archivo de salida, el parámetro P_DOWN para seleccionar en caso que deseemos realizar la descarga de los registros de la tabla base de datos al archivo de salida y el parámetro P_UP para subir a memoria los registros de la tabla base de datos a la cual le realizamos el SELECT. Luego declaramos dos Field Symbol, FS_TABLA para la tabla interna dinámica y FS_CAB para la estructura o cabecera dinámica. A continuación creamos el tipo de datos y asignamos los Field Symbol. Dentro del evento STAR-OF-SELECTION, si seleccionamos el parámetro download entonces realizamos el SELECT dinámico a la tabla base de datos introducida por parámetros el método GUI_DOWNLOAD de la clase CL_GUI_FRONTEND_SERVICES para descargar los registros de la tabla base de datos al archivo de salida. Y si seleccionamos el parámetro de upload entonces ejecutamos el método GUI_UPLOAD de la clase CL_GUI_FRONTEND_SERVICES para subir a memoria los registros de la tabla base de datos. Si ejecutamos el programa y completamos la pantalla de selección con la tabla base de datos MARA. Verificamos que luego de ejecutado el SELECT dinámico, el Fiels Symbol fs_tabla contiene los registros seleccionados de la tabla base de datos MARA. Si ejecutamos hasta el final del programa verificamos que se genera correctamente el archivo de salida. Y si abrimos el archivo de salida C:Usersi0604226DesktopMARA.txt verificamos su contenido.


 

 

 


Sobre el autor

Publicación académica de Ezequiel Hurtado Benitez, en su ámbito de estudios para el Curso ABAP.

SAP Senior

Ezequiel Hurtado Benitez

Profesión: Ingeniero Mecatrónico - Colombia - Legajo: FD18B

✒️Autor de: 45 Publicaciones Académicas

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Ingeniero mecatrónico bilingüe con maestría en dirección de ventas y marketing empresarial, con conocimientos y experiencia en programación, diseño, elaboración y pruebas en proyectos de automatizació

Certificación Académica de Ezequiel Hurtado

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Los Field Symbols" de la mano de nuestros alumnos.

SAP Expert


El resumen de "Los Field Symbols" se centra en su papel como una herramienta de programación avanzada en ABAP que permite el manejo de datos de forma dinámica en tiempo de ejecución. Concepto y Propósito Los Field Symbols son un tipo de sentencia ABAP que permite trabajar con datos de los programas de manera dinámica en tiempo de ejecución. A diferencia del acceso estático a los datos, los Field Symbols permiten acceder y transferir información cuyos nombres y atributos solo se conocen en el momento de la ejecución. Características clave de los Field Symbols: Nombres Simbólicos: Se consideran nombres simbólicos de los datos. Punteros (Pointers):...

Acceder a esta publicación

Creado y Compartido por: Gabriel José Luces González

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master


Los Field Symbols. Definición y propósito de los field symbols. Los field symbols son sentencias ABAP que permiten trabajar con datos de manera dinámica en tiempo de ejecución. A diferencia del acceso estático, los field symbols pueden acceder y manipular datos cuyos nombres y atributos se desconocen hasta el momento de ejecución. Funcionan como nombres simbólicos, apuntando al contenido de los datos sin reservar espacio físico para un campo específico. Permiten manejar distintos objetos de datos y otorgan gran flexibilidad al programador al poder especificar dinámicamente el offset y el desplazamiento de un campo. Es importante usarlos solo cuando no...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Conceptos Clave: · Qué son: Punteros o alias que "apuntan" al contenido de una variable o campo en memoria, sin ocupar espacio extra. · Para qué sirven: Para trabajar con datos de forma dinámica cuando no se conocen los nombres o estructuras de los datos hasta el runtime. · Declaración: FIELD-SYMBOLS: <fs_name> [TYPE <type>]. · Si no se especifica tipo, adopta el tipo del campo asignado. · Asignación: ASSIGN <campo> TO <fs_name>. · Una vez asignado, usar <fs_name> es como usar la variable original. Modificar <fs_name> modifica la variable original. · Uso común con tablas internas: · READ TABLE...

Acceder a esta publicación

Creado y Compartido por: Mara Fadua Romero Hernandez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Introducción: Los Field Symbols son punteros dinámicos que permiten acceder y manipular datos sin conocer su estructura en tiempo de diseño. ¡Clave para operaciones avanzadas y optimización de rendimiento en ABAP! 1 ¿Qué son los Field Symbols? Definición clave: "Placeholders que apuntan a datos en memoria, permitiendo manipulación dinámica sin reservar espacio físico." Características principales: Flexibilidad: Trabajan con datos cuyos atributos se determinan en runtime. Eficiencia: Acceso directo a memoria (más rápido que work areas). Riesgo: Errores detectados en runtime (¡validar siempre...

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert



Los Field Symbols en SAP ABAP son una poderosa característica del lenguaje que permite manejar variables de forma dinámica durante la ejecución de un programa. Se utilizan como referencias simbólicas a datos que aún no están definidos completamente en el momento de declarar el símbolo. Esta flexibilidad los convierte en una herramienta esencial en la programación avanzada con ABAP. Un Field Symbol (símbolo de campo) es un tipo de puntero que no reserva espacio en memoria al ser declarado, sino que actúa como un alias temporal para otros datos. Es decir, hace referencia a datos existentes sin duplicarlos. Ventajas de usar Field Symbols Eficiencia: Evita la copia de datos...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Los Field Symbols 1 Qué es un Field Symbol? En esta sección se introduce el concepto de Field Symbol en ABAP. Un Field Symbol actúa como un puntero o alias que no contiene datos por sí mismo, sino que hace referencia temporal a un área de memoria que puede cambiar dinámicamente durante la ejecución del programa. Características de los Field Symbol Apunta a una posición en la memoria sin copiar datos. Permite manipular datos de manera indirecta y eficiente. Su comportamiento es similar a un puntero en otros lenguajes como C. 2 La declaración de un Field Symbol En esta sección se explica cómo se declara un Field Symbol...

Acceder a esta publicación

Creado y Compartido por: Geovanny Martínez Campoverde

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Field Symbol Es una sentencia ABAP que nos permite trabajar con datos de programas de forma dinamica en tiempo de ejecucion. A diferencia del acceso estatico de los datos en donde especificamos el nombre de un objeto, los field symbols nos permiten pasar datos cuyos nombres y atributos no se tengan hasta el momento de la ejecucion. Son como nombres simbolicos de los datos ya que el sistema trabaja con el contenidos de los datos asignados y no con el contenido de un field symbol. No reservan espacio fisico para un campo, si no que apunta a su contenido, puede apuntar a cualquier objeto de datos. Proveen gran flexibilidad porque: si se quiere procesar partes de campos, podemos especificar el offset y el desplazamiento de forma dinamica; tambien...

Acceder a esta publicación

Creado y Compartido por: Luciano Martinez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


El 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 , se trata de un puntero cuyo contenido es la dirección de un objeto, sin reservar espacio en memoria, para el sistema no hay diferenciaentre operar con el objeto con el field symbol sin embargo resulta mas eficiente operar con punteros que con objetos, ya que estos ocupan menos espacio en memoria (cuatro Bytes). Todas las instrucciones con field symbol se ejecutan el los campos asignados, por ejemplo una sentencia MOVE de un field symbol se ejecuta haciendo que el segundo apunte al mismo objeto que el primero, si no se especifica el field symbol este hereda las características...

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Que es un Field Symbol: es un tipo de sentencia ABAP que nos permite trabajar con los datos programa de forma dinámica en tiempo de ejecución. Los Field Symbols como nombres simbólicos de los datos, ya que cuando se utiliza, el sistema trabaja con el contenido de los datos asignados y con el contenido del Field Symbol. Los Field Symbols no reservan espacio ficicamente para un campo sino que "apuntan" a su contenido. Un Field Symbols puede apuntar a cualquir objeto de datos. Los Field Symbols nos proveen de gran flexibilidad debido a que: Si queremos procesar partes de campos, nos permite especificar el offset y el desplasamiento de un campo en forma sinámica. Se puede formar un Field Symbols para...

Acceder a esta publicación

Creado y Compartido por: Javier Miguel Angel Barcelo / Disponibilidad Laboral: PartTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

FIELD SIMBOL: 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 él, los Field Symbols nos permiten acceder y pasar datos cuyos nombres y atributos no conocemos hasta el momento de la ejecución, se puede considerar a los Field Symbols como nombres simbólicos 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 Symbols. Los Field Symbols no reservan espacio físicamente para un campo, sino que “apuntan”...

Acceder a esta publicación

Creado y Compartido por: Jean Carlos Lopez / Disponibilidad Laboral: FullTime

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:


🔎Googlear en CVOSOFT:
Googlear: "ABAP - Los Field Symbols"

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!