🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP Los Field Symbols

ABAP Los Field Symbols

ABAP Los Field Symbols
Field symbols.

Un 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. Los field symbols nos permiten acceder y pasar datos cuyos nombres y atributos no conocemos hasta el momento de la ejecución.

Se los puede considerar como nombres simbólicos de los datos, ya que cuando se usan el sistema trabaja con el contenido de datos asignado y no con el contenido del FieldSymbol, estos apuntan hacía un contenido.

Estos field symbols nos ofrece los siguientes 2 atributos:
1. La posibilidad de elegir que parte de una cadena de caracteres tomar, como de una variable que guarda el un nombre completo, ejegir el nombre o algún apellido.
2. La posibilidad de forzar a un field symbol para que tome diferentes atributos técnicos del campo asignado a él.

Declaración de un field symbol.
Este será el primer paso para usa un fs, usando la siguiente sintaxis:
FIELD-SYMBOLS <FS> [<type>|STRUCTURE<s>DEFAULT<wa>].

Se recomienda asignar el tipo de variable que se le asignará al fiel symbol.
Sin especificar el tipo se ve así:
REPORT ztest_field_symbols.
DATA: v_variable TYPE i VALUE 2.
FIELD-SYMBOLS: <fs_num>.

Especificando el tipo se ve así:
REPORT ztest_field_symbols.
DATA: v_variable TYPE i VALUE 2.
FIELD-SYMBOLS: <fs_num> TYPE i.

Los tipos de datos genéricos son los siguientes:
*Type ANY o sin especificación: Toma todos los tipos de datos. Se usa para definir tablas genéricos, permitiendo cualquier operación, pero no es posible usar índices aquí.
*Type C, I, N, P o X: Adopta la longitud y decimales del dato.
*Type table: El sistema verifica si es una tabla estándar.
*Type any table: El sistema verifica si es una tabla interna, heredando todos los atributos de la tabla.
*Type standar table: El sistema verifica si es una tabla estándar, heredando todos los atributos de la tabla. Tablas indexadas.
*Type sorted table: El sistema verifica si es una tabla sorted, heredando todos los atributos de la tabla. Tablas indexadas. Se puede acceder mediante operaciones de índices y se ingresa mediante búsqueda binaria.
*Type any hashed: El sistema verifica si es una tabla hashed, heredando todos los atributos de la tabla. No es una tabla con índices o intex table. Se ingresa usando las claves únicas. Tiempo de acceso constante, usando operaciones genéricas de clave, sorte o loop.

Asignación de datos a un field symbol.
Este segundo paso se puede, que es la asignación de uno o diversos OBJETOS de datos al field campo, puede ocurrir en cualquier momento, para realizar esto usamos la sentencia ASSING, esta asignación es estática, puesto que ya se conocer el nombre del campo que se asignará al field symbol. La sintaxis de esta asignación es la siguiente:
ASSIGN <f> TO <fs>.
Dónde F es el campo asignado al field symbol y fs el field symbol.

REPORT ztest_field_symbols.
DATA: v_variable TYPE i VALUE 2.
FIELD-SYMBOLS: <fs_num> TYPE i.
ASSIGN v_variable TO <fs_num>.
WRITE:/ 'Field symbol', <fs_num>.
<fs_num> = 4.
WRITE:/ 'Variable', v_variable.

Uso de un field symbol en estructuras.
Es posible leer un registro de una tabla interna utilizando un field symbol en lugar de utilizar una estructura o área de trabajo, así:
REPORT ztest_field_symbols_wa.
DATA: ti_mara TYPE STANDAD TABLE OF mara.
FIELD-SYMBOLS: <fs_mara> TYPE mara.
READ TABLE ti_mara ASSIGN <fs_mara> WITH KEY matnr= 'MATI'.
IF sy-subrc EQ 0.
ENDIF

También es posible declarar un field symbol para recorrer una tabla interna en lugar de declarar una estructura o área de trabajo y a su vez utilizarla para actualizar la tabla interna, así:
REPORT ztest_field_symbols_wa.
DATA: ti_mara TYPE STANDAD TABLE OF mara.
FIELD-SYMBOLS: <fs_mara> TYPE mara.
SELECT *FROM mara INTO TABLE ti_mara
TABLE ti_mara ASSIGN
<fs_mara>
<fs_matnr>-mtkl= 'DEMO'.
ENLOOP

En este caso cualquier modificación en el campo de la estructura se generará en la tabla interna y no será necesario escribir la sentencia Modify.

Uso de un field symbol en SELECT dinámicos.
Adicional a lo ya mencionado los field symbols también pueden ser utilizados para realizar SELECT dinámicos a tablas de la base de datos de SAP. Es decir un programa ABAP que ofrezca un parámetro de selección dónde se solicite con el nombre una tabla de base de datos y luego dentro del programa se pueda descargar los registros o dónde se puedan ingresar registros a la memoria para ser procesados.

Para ello se seguirían los siguientes pasos:
1. Se declara el parámetro p_tabla para introducir el nombre de la tabla base de datos.
2. Se declara el parámetro p_fname para introducir el directorio y el nombre del archivo de salida.
3. Se declara el parámetro p_down para seleccionar una descarga de registros.
4. Se declara el parámetro p_up para subir registros a la memorio de la tabla para la cual se realiza el SELECT.

Así:
REPORT ztest_field_symbols_sel_din.
SELECT-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITTLE text-t01.
PARAMETERS: p_tabla TYPE tabname OBLIGATORY MATCHCODE OBJECT DD_TABL.
SELECT-SCREEN END OF BLOCK b1.

SELECT-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITTLE text-t02.
PARAMETERS: p_fname LIKE rlgrap-filename OBLIGATORY.
PARAMETERS: p_down RADIOBUTTON GROUP rad1,
PARAMETERS: p_up RADIOBUTTON GROUP rad2.
SELECT-SCREEN END OF BLOCK b2.

5. Se declara dos fueld symbols, fs_tbla para la tabla interna dinámica y fs_cab para la estructura o cabecera dinámica.

DATA: v1_file TYPE string.
DATA: ti_tabla_dinamica TYPE REF TO data.
FIELD-SYMBOLS: <fs_tabla> TYPE STANDAR TABLE.

DATA: wa_cab_dinamica TYPE REF TO data.
FIELD-SYMBOLS: <fs_cab> TYPE STANDAR TABLE.

6. Se crea el tipo de datos y se asignan los field symbols.

CREAT DATA ti_tabla_dinamica TYPE STANDARD TABLE OF (p_tabla).
ASSIGN ti_tabla_dinamica TO <fs_tabla>.
CREAT DATA wa_cab_dinamica TYPE STANDARD TABLE OF (p_tabla).
ASSIGN wa_cab_dinamica TO <fs_cab>.

7. Dentro del evento SART-OF-SELECTION será necesario asignar los métodos de cargar y descargar archivos para los parámetros que se registraron de down y up, todo esto en un IF encadenado.

Para la descarga y el parámetro p_down se ejecuta el método GUI_DOWNLOAD de la clase CL_GUI_FRONTEND_SERVICES.

Para la carga y el parámetro p_up se ejecuta el método GUI_UPLOAD de la clase CL_GUI_FRONTEND_SERVICES.

SART-OF-SELECTION.

IF NOT p_down IN INITIAL

SELECT FROM (p_tabla) INTO TABLA <fs_tabla>.

v1_file=p_fname.
CALL METHOD cl_gui_frontend_services gui_download

ELSE

v1_file=p_fname.

CALL METHOD cl_gui_frontend_services


 

 

 


Sobre el autor

Publicación académica de Linda Carolina Zambrano León, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Senior

Linda Carolina Zambrano León

Profesión: Agente - Peru - Legajo: XR55P

✒️Autor de: 63 Publicaciones Académicas

🎓Egresado del módulo:

Certificación Académica de Linda Zambrano

✒️+Comunidad Académica CVOSOFT

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

SAP Senior

1. Field Symbols Tipo de sentencia ABAP que se usar para trabajar datos de forma dinamica en tiempo de ejecuciòn. Pero no son muy flexibles por lo siguiente: - Si quieres procesar te permite especificar el offset y desplazarlo de forma dinàmica. - Se puede usar el Field Symbol para tomar atributos tecnicos. Solo se debe usar los Field Symbols cuando no se pueda llegar a los resultado usando las sentencias convencionales de ABAP. 2. Declaraciòn de un Field Symbol la sintaxis es: FIELD-SYMBOLS <FS> [<type>|STRUCTURE <s> DEFAULT <wa>]. 3. Asignaciòn de datos a un Field Symbols Se usa la sentencia ASSIGN de siguiente manera: ASSIGN <f> TO <FS>.

Acceder a esta publicación

Creado y Compartido por: Daniel Arias Sarmiento

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

SAP Master

Tratamiento de Archivos y Field Symbols Que son los Field Symbols: Field Symbol, 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 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. Declaracion de un Field Symbol: Usaremos la siguiente sintaxis: FIELD-SYMBOLS <FS>[<type>|STRUCTURE <s> DEFAULT <wa>]. Asignacion de dato a un Field Symbol: Para asignarle datos usaremos la sentencia ASSIGN.

Acceder a esta publicación

Creado y Compartido por: Juan Fernando Guerra Mata / Disponibilidad Laboral: FullTime

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

SAP Master

que son los 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. al contrario de lo que sucede con el acceso estatico de los datos, donde necesitamos especificar el nombre de un objeto para poder hacer algo con el, los Field Symbols nos permite acceder y pasar datos cuyos nombres y atributos no conocemos 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 symbols nos proveen de gran flexibilidad debido a que: si queremos procesar partes de campos, nos permite especificar...

Acceder a esta publicación

Creado y Compartido por: Oscar Sebastian Caicedo Carlier / Disponibilidad Laboral: PartTime + Carta Presentación

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

SAP Senior

1|QUE SON LOS FIELD SYMBOLS ES UN TIPO DE SENTENCIA ABAP QUE NOS PERMITE TRABAJAR CON LOS DATOS DE LOS PROGRAMAS EN UNA FORMA DINAMICA DE TIEMPO DE EJECUCION. LOS FIELD SYMBOL NOS PERMITEN ACCEDER Y PASAR DATOS CUYOS NOMBRES Y ATRIBUTO NO CONOCEMOS HASTA EL MOMENTO DE LA EJECUCION. LOS FIELD SYMBOL NOS PROVEEN DE GRAN FLEXIBILIDAD DEBIDO A QUE : SI QUEREMOS PROCESAR PARTES DE CAMPOS, NOS PERMITE ESPECIFICAR EL OFFSET Y EL DESPLAZAMIENTO DE UN CAMPO EN FORMA DINAMICA SE PUEDE FORZAR A UN FIEL SYMBOL PARA QUE TOME DIFERENTES ATRIBUTOS TECNICOS QUE LOS DEL CAMPOS ASIGNADO 2| DECLARACION DE UN FIELD SYMBOL SINTAXIS FIELD-SYMBOLS <FS> [<TYPE>|STRUCTURE <S> DEFAULT <WA>] SI NO ESPECIFICAMOS UN TIPO A UN FIELD SYMBOL ESTE PUEDE...

Acceder a esta publicación

Creado y Compartido por: Luis Eugenio Leyva Orozco

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

SAP Senior

FIELD SYMBOLS Es un tipode sentencia ABAP que nos permite trabajar con los datos de los programas en forma dinamica en tiempo de ejecucion. 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 campos asignados a el. La mayoria de los errores que comentamos en su utilizacion, lo detectaremos recien en tiempo de ejecucion. Lo cual lo hace mas dificil de detectar. Declaracion de un FIELDSYMBOL. FIELD-SYMBOLS nombre TYPE estructura. Si no especificamos un tipo de un FIELD SYMBOLS este puede contener cualquier dato. Cuando le asignamos un dato, este hereda los atributos...

Acceder a esta publicación

Creado y Compartido por: Jessica Daiana Garcete Paez / Disponibilidad Laboral: PartTime + Carta Presentación

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

SAP Expert


Field Symbols: Es una sentencia ABAP que nos permite trabajar con los datos de los programas en forma dinámica en tiempo de ejecución. Los Field Symbols nos permiten acceder y pasar datos cuyos nombre y atributos no conocemos hasta el momento de la ejecución. Si no se especifica un tipo a un Field Symbol, entonces este puede contener cualquier dato.

Acceder a esta publicación

Creado y Compartido por: José Luis Zevallos Mamani

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

SAP Master

FIELD SYMBOLS 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. Los Field Symbol nos permiten acceder y pasar datos cuyos nombres y atributos no conocemos hasta el momento de la ejecución. Cuando se utilizan los Field Symbol el sistema trabaja con el contenido de los datos asignados y no con el contenido del field symbol. Ventajas: Si queremos procesar partes de campos, nos permiten especificar el offset y el desplazamiento de un campo en forma dinámica. Se puede forzar un Field Symbol para que tome diferentes atributos técnicos que los del campo asignado a él. Solo debemos usar Field Symbols si no podemos llegar al mismo resultado...

Acceder a esta publicación

Creado y Compartido por: Walter Giovanny Montoya García

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

SAP Master


¿QUÉ SON LOS FIELD SYMBOLS? 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. Algunas de las propiedades y características de los Field Symbols son las siguientes: 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...

Acceder a esta publicación

Creado y Compartido por: Gianfranco Pasqua Indiano / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Master

FIELD SYMBOLS Es una sentencia abap que permite trabajar con datos de forma dinamica en tiempo de ejecución. El sistema trabaja con el contenido de los datos asignados y no con el contenido del field symbol. Con los field symbols podemos: Procesar partes de un campo especificando un offset Asignar atributos tecnicos diferentes al del campo asignado Para declarar un field symbol utiliamos la sentencia: FIELD-SYMBOLS <fs> [<type>|STRUCTURE <s> DEFAULT <wa>] Si no especificamos un tipo, podría contener cualquier dato. Cuando le asignamos un dato, hereda los atributos tecnicos de él. (ASSIGN <dato> TO <fs>) Los tipos de datos genericos son: TYPE ANY (o sin especificar) TYPE...

Acceder a esta publicación

Creado y Compartido por: Jonatan Richioni

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

SAP Master

Qué es un field symbol Es un tipo de sentencia ABAP, un puntero Field symbol son nombres simbólicos de los datos No reservan espacio, apuntan a su contenido Apuntar a cualquier objeto de datos Solo debemos usarlos cuando no podemos hacerlo como código convencional La declaración de un field symbol En dos pasos: declararlo y asignarlo al objeto de datos Declaración mediante FIELD-SYMBOLS <FS> [<type>|STRUCTURE <s> DEFAULT <wa>] Hay muchos tipos de datos genéricos posibles para un field-symbol La asignación de datos a un field symbol Para asignar datos a un field symbol usamos la sentencia ASSIGN. Después de asignar un objeto...

Acceder a esta publicación

Creado y Compartido por: David Brito Melado

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.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:

 


 

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