MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 25/10/10, 15:53:56
Leonel Espitia Torres Leonel Espitia Torres is offline
Member
 
Fecha de Ingreso: ago 2009
Mensajes: 78
Arrow Que son y para que se usan los field-simbos

Quisiera saber que son los field-simbols y para que se utilizan
Responder Con Cita
  #2  
Viejo 25/10/10, 19:40:06
Crismol Crismol is offline
Junior Member
 
Fecha de Ingreso: jul 2010
Mensajes: 19
Hola, bueno yo los Field-symbols los asocio a punteros, es decir, para mi son un puntero que apunta a una tabla interna y te sirven para acceder a ella, leer e insertar registros.

Espero t sirva ^.^
Responder Con Cita
  #3  
Viejo 26/10/10, 14:36:16
mitosap mitosap is offline
Member
 
Fecha de Ingreso: sep 2009
Mensajes: 57
Hola Leonel.

Complementando a Crismol, con un workarea (WA) tienes que hacer un modify a la tabla si quieres cambiar datos, con un field-symbols (FS) es directo porque es un "puntero" a ese registro.
Fijate en este ejm. que ubique en este foro, el cual explica lo anterior.

EJEMPLO 1.

REPORT ZRFI_PRUEBA_VARIAS_JOA.

DATA: BEGIN OF LINE,
COL1 TYPE I,
COL2 TYPE I,
END OF LINE.

DATA ITAB LIKE SORTED TABLE OF LINE WITH UNIQUE KEY COL1.

FIELD-SYMBOLS <FS> LIKE LINE OF ITAB.
* Elevamos al cuadrado
DO 4 TIMES.
LINE-COL1 = SY-INDEX.
LINE-COL2 = SY-INDEX ** 2.
APPEND LINE TO ITAB.
ENDDO.

WRITE: 'Tabla Inicial'.
LOOP AT ITAB ASSIGNING <FS>.
WRITE: / <FS>-COL1, <FS>-COL2.
ENDLOOP.

* Ahora usaremos los FS (punteros de registro) para asignar a 2 el valor de
* 100
READ TABLE ITAB WITH TABLE KEY COL1 = 2 ASSIGNING <FS>.
<FS>-COL2 = 100.

* Ahora usaremos los FS (punteros de registro) para eliminar la fila 3
READ TABLE ITAB WITH TABLE KEY COL1 = 3 ASSIGNING <FS>.
DELETE ITAB INDEX 3.

* Aqui volvemos a escribir la tabla ya modificada.
SKIP.
WRITE: 'Tabla Alterada'.
LOOP AT ITAB ASSIGNING <FS>.
WRITE: / <FS>-COL1, <FS>-COL2.
ENDLOOP.



Otra ventaja de los field-symbols es el performance, para ello hay otro ejm. posteado en algun foro que se explica por si solo. Se compara la velocidad usando WA y FS.

EJEMPLO 2.

REPORT ZRFI_PRUEBA_VARIAS_JOA.

TYPES: BEGIN OF ty_data,
value TYPE string,
END OF ty_data.

DATA: t_data TYPE STANDARD TABLE OF ty_data,
w_data TYPE ty_data.

FIELD-SYMBOLS: <fs_data> LIKE LINE OF t_data.

DATA: rt_str TYPE i,
rt_end TYPE i,
run_time1 TYPE p DECIMALS 2,
run_time2 TYPE p DECIMALS 2.

DO 500000 TIMES.
w_data-value = sy-index.
APPEND w_data TO t_data.
ENDDO.

GET RUN TIME FIELD rt_str.
LOOP AT t_data INTO w_data.

ENDLOOP.

GET RUN TIME FIELD rt_end.
run_time1 = ( rt_end - rt_str ) / 1000000 .

WRITE: 'Runtime WORKAREA', run_time1.

*------------------------------------------------

GET RUN TIME FIELD rt_str.
LOOP AT t_data ASSIGNING <fs_data>.

ENDLOOP.
GET RUN TIME FIELD rt_end.
run_time2 = ( rt_end - rt_str ) / 1000000 .

WRITE: 'Runtime FIELD-SYMBOL', run_time2.

Este último ejemplo esta en este link



Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 03:04:34.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web