A ver si me logras entender:
1° Parte creando un módulo de funciones que tenga la interfaz siguiente:
FUNCTION ZAYUDA_MISDATOS.
*"----------------------------------------------------------------------
*"*"Interfase local
*" TABLES
*" RECORD_TAB STRUCTURE SEAHLPRES
*" SHLP_TAB TYPE SHLP_DESCR_TAB_T
*" CHANGING
*" VALUE(CALLCONTROL) LIKE DDSHF4CTRL STRUCTURE DDSHF4CTRL
*" VALUE(SHLP) TYPE SHLP_DESCR_T
*"----------------------------------------------------------------------
* Defines tu tabla interna en donde tendrás losa datos que quieres
* tratar en el match-code
data: begin of mis_datos occurs 0,
campo1 like referencia,
campo2 like referencia,
campo3 like refrencia,
end of mis_datos.
* ESTE IF TIENE QUE IR NO LO BORRES.
IF CALLCONTROL-STEP = 'SELECT'.
* Puebla tu tabla interna, por ejemplo
select * into corresponding fields of table mis_datos
from <tu_tabla>
where <tus_condiciones>.
REFRESH RECORD_TAB.
* ESTO PASA TUS DATOS A LA INTERFAZ DEL MATCH CODE
* NO BORRAR.
CALL FUNCTION 'F4UT_RESULTS_MAP'
TABLES
SHLP_TAB = SHLP_TAB
RECORD_TAB = RECORD_TAB
SOURCE_TAB = mis_datos
CHANGING
SHLP = SHLP
CALLCONTROL = CALLCONTROL.
CALLCONTROL-STEP = 'DISP'.
ENDIF.
ENDFUNCTION.
2° vas a tu match code
En la sección Obtención de Datos. No ingresas nada.
En campo Exit Ayuda p.Búsq. Ingresas la Función que creaste anteriormente.
Y con eso ya tienes disponible los campos de la tabla interna de la función para que crees el match code tal como si lo estuvieras tomando direcatamente de una tabla o vista (método de Selección).
Saludos.
Mauricio Hidalgo
Úlima edición por Mauricio Hidalgo fecha: 30/08/06 a las 18:08:42.
|