#1
|
|||
|
|||
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 |
#2
|
|||
|
|||
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
|
#3
|
||||
|
||||
Hola, dale una mirada a este post ...
__________________
David Carballido Córdova |
#4
|
|||
|
|||
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. |
#5
|
|||
|
|||
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 |
#6
|
|||
|
|||
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 |
#7
|
|||
|
|||
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.. |
#8
|
|||
|
|||
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. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|