PDA

Ver la Versión Completa : Eventos en reportes


zonanet
22/10/08, 15:41:08
Saludos a todos!!

Alguien sabe si se puede simular el evento "ENTER" en una pantalla de selección???, me explico mejor, tengo una serie de Search Help en una pantalla de selección que dependen del anterior para obtener el valor requerido, esto lo hago ingresando el dato por decir "Compañía" le doy enter para que el search help del campo "Proveedor" me de sólo los de la compañía ingresada anteriormente.

Lo que se prentende es que cuando ingrese la Compañía no tenga que dar "ENTER" para filtrar los Proveederos de dicha compañía, sino que de forma automática se haga el filtro.

Se podrá??????

Ante todo Gracias!!!

Hikari
22/10/08, 16:55:58
Usa AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_parametro en el reporte para que
despues de hacer la seleccion de Compañia se vaya el flujo para alla y desde ahi podrias armar la funcion F4IF_INT_TABLE_VALUE_REQUEST con una tabla interna para el campo de proveedor con los filtros que necesites.

ej. de la fn
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'Proveedor'
WINDOW_TITLE = 'Proveedores'
VALUE_ORG = 'S'
tables
value_tab = GT_PROV
RETURN_TAB = GT_MATCH
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3

Donde GT_PROV seria la tabla que mandas con los datos a mostrar
y GT_MATCH la estructura del valor seleccionado...

zonanet
22/10/08, 17:22:45
Hola Hikari!!!

Eso ya lo controlo, el Search Help funciona correctamente con la función que me comentas y lo hago en el At Selection-Screen on Value Request, sólo que si no le doy enter cuando ingreso el primer parámetro el searh help no me arroja resultados, mi duda es si se puede "simular el ENTER" para que el usuario no lo este dando cada vez que pulsa el botón de la ayuda.


Gracias por la respuesta y el tiempo dedicado!!

Hikari
22/10/08, 17:35:03
ok.. esta fn te genera un enter automatico... espero que funcione

CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE'
EXPORTING
functioncode = '=00'
EXCEPTIONS
function_not_supported = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

zonanet
22/10/08, 17:48:25
PERFECTO!!!

funciona de maravilla, te agradezco mucho.

Saludos.