Ver Mensaje Individual
  #3  
Viejo 28/06/12, 16:59:03
romyggar romyggar is offline
Junior Member
 
Fecha de Ingreso: jun 2011
Mensajes: 14
Post Crear una ayuda de búsqueda en Tiempo de ejecución

Segundo objetivo: Crear una ayuda de búsqueda en Tiempo de ejecución

Supongo que ya hay algun hilo con etsa función, pero pienso que no sobra hacer el aporte, puede que resuelva alguna duda que en otros hilos no se resolvió....

--------------------------------------------------------------------------------------------------------------------------------------------------
El Evento en donde se debe poner los módulos a desarrollar es:

PROCESS ON VALUE-REQUEST.
FIELD P9900-MARCA MODULE F4_tabla_int.

--------------------------------------------------------------------------------------------------------------------------------------------------
El código del módulo es el siguiente:

MODULE F4_tabla_int.

Declaración de Datos -----------------------------------------------------------------------------------------------------------------------
Asi se debería declarar it_return1, y itab (la cual puede ser como se requiera).
DATA : it_return1 LIKE ddshretval OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF itab OCCURS 0,
marca LIKE tka01-kokrs,
bezei LIKE tka01-bezei,
END OF itab.

Función: ------------------------------------------------------------------------------------------------------------------------------------
Esta funcion sirve para generar una ayuda de búsqueda en tiempo de ejecución, además también permite indicar a que campo, dynpro y programa debe asignarse.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'MARCA'
value_org = 'S'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'P9900-MARCA'
TABLES
value_tab = itab
return_tab = it_return1
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

Explicación ---------------------------------------------------------------------------------------------------------------------------------
'P9900-MARCA': Campo de la dynpro que se le pegará la ayuda de búsqueda
'MARCA': Campo de la ayuda de búsqueda que se exporta a la dynpro desde donde fue llamada.
itab: Tabla interna con los datos a visualizar en la ayuda de busqueda
it_return1: tabla que obtiene el valor elegido en la ayuda de busqueda.

Notas --------------------------------------------------------------------------------------------------------------------------------------
Los nombres entre tildes o comas flotantes sencillas, deben estar en MAYÚSCULAS.

Obviamente se debe "llenar" la tabla interna antes de llamar a la función.

Responder Con Cita