Hay muchas formas de crear ayudas de búsqueda, una de ellas es poder crearlas desde código y asociarla a un parámetro de selección.
El código de la ayuda de búsqueda es la siguiente:
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_desti-low.
PERFORM ayuda_desti CHANGING s_desti-low.
TYPES: BEGIN OF ty_desti,
desti TYPE zostb_destimate-desti,
END OF ty_desti.
DATA: lt_desti TYPE TABLE OF ty_desti WITH HEADER LINE.
DATA: BEGIN OF ihelp_fields OCCURS 0.
INCLUDE STRUCTURE help_value.
DATA: END OF ihelp_fields.
DATA: BEGIN OF helptab OCCURS 0,
feld(50) TYPE c,
END OF helptab.
REFRESH ihelp_fields.
REFRESH helptab.
CLEAR ihelp_fields.
CLEAR helptab.
* Campos a mostrar en la ayuda
MOVE 'ZOSTB_DESTIMATE' TO ihelp_fields-tabname.
MOVE 'DESTI' TO ihelp_fields-fieldname.
MOVE 'X' TO ihelp_fields-selectflag.
APPEND ihelp_fields.
* Obtener datos
SELECT DISTINCT desti
FROM zostb_destimate
INTO TABLE lt_desti.
CHECK sy-subrc EQ 0.
* Cargar valores a tabla de salida
LOOP AT lt_desti.
MOVE lt_desti-desti TO helptab.
APPEND helptab.
ENDLOOP.
* Mostrar ayuda
CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE' "#EC *
IMPORTING
select_value = po_desti
TABLES
fields = ihelp_fields
valuetab = helptab.
0 comentarios:
Publicar un comentario