MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Ayudaaaaaaaa Field-Symbols (foro/showthread.php?t=13937)

robert_milan 04/06/08 10:29:53

Ayudaaaaaaaa Field-Symbols
 
Pues bien, me gustaria saber si es posible cambiar el valor de un field symbol que esta en estado de solo lectura.


Saludos!!!

ibecerra 04/06/08 13:06:37

interesante, tienes el codigo para darle una revisada.
yo utilizo field symbol para modificar campos de una tabla interna en forma dinamica.. vale decir si tengo en una tabla interna
campo001 campo002 campo003 campo004.....
y para no estar poniendo case y tanto codigo, utilizo los field-symbols para q en forma dinamica me actualice los campos sin necesidad de colocarlos todos.
Saludos

robert_milan 04/06/08 13:44:29

Si claro, este es el codigo:

DATA aux LIKE sol_ped-zprocomp.
FIELD-SYMBOLS <eb> TYPE LINE OF MEREQ_T_EBAN.
LOOP AT im_t_eban_pers ASSIGNING <eb>.

IF sy-tabix EQ 1.
aux = <eb>-zprocomp.
ELSEIF aux NE <eb>-zprocomp.
MOVE aux TO <eb>-zprocomp.
ENDIF.

ENDLOOP.

Lo utilizo en la funcion EXIT_SAPLMEREQ_010. segun esto con los field symbols puedo modificarlo. pero no se como :S

ibecerra 04/06/08 13:51:53

a ver lo lo que deseas en cambias el contenido de la tabla interna mediante un
Ejemplo
FIELD-SYMBOLS : <MOVIPER> LIKE LINE OF T_MOVIPER.
LOOP AT T_MOVIPER ASSIGNING <MOVIPER>.
* Ya no necesitas hacer un modify ni nada por el estilo
* el valor se actualiza directamente en la tabla interna.
<MOVIPER>-CAMPO1 = 'VALOR CAMBIADO'.

ENDLOOP.

robert_milan 04/06/08 14:08:20

Correcto
 


si eso es correcto pero me dice que el campo es de solo lectura :s

ibecerra 04/06/08 14:10:37

solo es lectura siempre y cuando el campo sea una llave interna.
si es asi , no podras modificarlo

robert_milan 04/06/08 14:29:33

el problema es que en el user exist esta definido asi:
REFERENCE(IM_T_EBAN) TYPE MEREQ_T_EBAN

y en teoria no lo puedo modificar o si?'

si fuera Value (IM_T_EBAN) TYPE MEREQ_T_EBAN

se podria modificar.??

victoria 04/06/08 19:11:58

hola, ese user exit solo te sirve para verificar datos, que campo quieres modificar, es un campo Z?

robert_milan 04/06/08 20:53:46

Si es un campo Z que agregue con el append...

espero me puedas ayudar.

cubanito 08/08/08 14:55:33

Robert...
Se trata de una referencia dinámica, por lo tanto... si se puede!!!
Al fin y al cabo sólo son apuntadores... es posible que el que te "brinda" SAP en esa U.E. sólo "contenga" la dirección de memoria donde se encuentra el dato... o sea, apunta a la dirección física del mismo, mas no a su "contenido", por eso no puedes modificarlo. Si lo que tú necesitas es "entrar" al dato, te sugiero que generes tu propia "asignación dinámica" haciendo referencia al "contenido" del apuntador (o field-symbol)...

Saludos!!!


Husos Horarios son GMT. La hora en este momento es 07:09:35.

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