MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   GET CURSOR FIELD para expertos (foro/showthread.php?t=26609)

Hikari 03/12/08 22:34:39

GET CURSOR FIELD para expertos
 
Hola a todos.. me pasa algo raro
estoy tratando de implementar el GET CURSOR FIELd en el PAI dentro
del USER_COMMAND pero no me trae nada en la variable para el nombre
del campo, no se q esta pasando lo implemento en otro prog y si funciona..

ah me trae 4 en el sy-subrc...

HELP

francesc 04/12/08 06:51:38

Prueba a forzar en PBO la posición del cursor y ver si te la devuelve ( debería obviamente ). El sy-subrc = 4 indica que no tienes el cursor posicionado en ningún campo de pantalla

DavidXD_XD 04/12/08 14:28:37

Hola, dale una mirada a este post ...


Hikari 04/12/08 17:28:11

Hola.. gracias por sus comentarios, sigo con el trouble,...
se me hace bien raro, no se si influye en algo si los campos
estan en la pestaña de un tabstrip...

Les agradezco de antemano su ayuda.

francesc 05/12/08 07:09:49

Creo que no se puede, en la ayuda sap pone:
"Otherwise, GET CURSOR FIELD returns only names of global fields, regardless of whether they are addressed directly (i.e. by "WRITE"), by field symbols or by reference parameters."
Es decir que probablemente al estar en un tabstrip ya es lógico que no devuelva nada.

Podrias probar con alguna de las funciones que lee campos de dynpros: del estilo de 'DYNPRO_FIELD_GET' u otras. Pueba a buscar en la se37 por *dynpro* si esta no te funciona, alguna debe haber, seguro

gugutin 05/12/08 16:05:59

Hola Hikari
Prueba con esto, es posible que te ayude, yo no le he usado con tabscript, pero si en table controls.


DATA: lv_dynpvalue LIKE dynpread-fieldvalue.
DATA: lv_repid LIKE sy-repid.
DATA: lv_dynnr LIKE sy-dynnr.

*-- Obtenemos el valor del campo de pantalla deseado
lv_repid = sy-repid.
lv_dynnr = sy-dynnr.

CALL FUNCTION 'GET_DYNP_VALUE'
EXPORTING
i_field = 'I_TABCONTROL-DESCC'
i_repid = lv_repid
i_dynnr = sy-dynnr
CHANGING
o_value = lv_dynpvalue
EXCEPTIONS
OTHERS = 1.

* Modificamos el Valor del campo
if lv_dynpvalue = '?'.
lv_dynpvalue = 'XXXXXXXXXXXXXXXXXXXXX'.
endif.

* Enviamos el valor del campo a pantalla
CALL FUNCTION 'SET_DYNP_VALUE'
EXPORTING
i_field = 'I_TABCONTROL-DESCC'
i_repid = lv_repid
i_dynnr = lv_dynnr
i_value = lv_dynpvalue.

Saludos

Hikari 05/12/08 20:51:53

Si, creo q no se puede hacer lo que yo queria,, lo ultimo
que me postearon creo q sirve para actualizar campos en una dynpro,
lo que queria era usar get cursor field para obtener el campo
donde estuviera posicionado el cursor con el evento Enter...

Comoquiera les agradezco bastante a todos los que me comentaron
algo....

Saludos.. aqui andamos..

tuma 21/10/14 10:37:55

Tenía el mismo problema, el GET CURSOR FIELD me traía siempre blanco.

El problema es que al ser una SUBSCREEN el user_command lo hacía en la SCREEN principal.
La solución para mi caso, es hacer el GET CURSOR FIELD en el PAI de la SUBSCREEN guardándolo en un campo global y ya después lo tienes para utilizarlo en el user_command de la SCREEN principal.


Husos Horarios son GMT. La hora en este momento es 23:20:27.

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