Code: Alles auswählen.
*---------------------------------------------------------------------*
* FORM F4PROZ_STEP_SELONE *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM f4proz_step_selone2
TABLES record_tab STRUCTURE seahlpres
USING shlp_top TYPE shlp_descr_t
shlp_tab TYPE shlp_descr_tab_t
CHANGING shlp_curr TYPE shlp_descr_t
callcontrol TYPE ddshf4ctrl
ocxinterface STRUCTURE ddshocxint.
DATA: helpmethod_all LIKE ddshdescr OCCURS 0 WITH HEADER LINE.
DATA: shlp_choose LIKE ddshdescr-shlpname.
DATA: fcode LIKE sy-ucomm.
DATA: excl_tab TYPE excl_tab_t.
FIELD-SYMBOLS: <shlp> TYPE shlp_descr_t.
CHECK callcontrol-step = c_selone2.
CLEAR callcontrol-steprc.
* OCX-Callback mit SELONE2 aus sichtbarem OCX springt sofort raus,
* weil das OCX dafür keinen eigenen Dialog hat.
* SELONE2 könnte allerdings von einer Suchhilfe mit dunkelgeschaltetem
* OCX kommen. In diesem Fall muß das OCX eine neue Auswahl erlauben.
callcontrol-step = c_selone2.
LOOP AT shlp_tab ASSIGNING <shlp>.
MOVE-CORRESPONDING <shlp> TO helpmethod_all.
MOVE-CORRESPONDING <shlp>-intdescr TO helpmethod_all.
APPEND helpmethod_all.
ENDLOOP.
CALL FUNCTION 'F4_CHOOSE_SEARCH_HELP'
EXPORTING
starting_x = callcontrol-cucol
starting_y = callcontrol-curow
default_shlp = shlp_curr-shlpname
IMPORTING
shlp_name = shlp_choose
fcode = fcode
TABLES
shlp_txt_tab = helpmethod_all
excl_tab = excl_tab
EXCEPTIONS
OTHERS = 1.
IF sy-subrc <> 0 OR fcode = 'CANC'.
callcontrol-steprc = 8.
EXIT.
ENDIF.
READ TABLE shlp_tab INTO shlp_curr
WITH KEY shlpname = shlp_choose.
* Unmittelbar nach Auswahl einer Suchhilfe muß sie als neue
* Default-Suchhilfe festgehalten werden. Das passiert hier und im
* OCX.
PERFORM set_default_shlp USING callcontrol-top_shlp
shlp_curr-shlpname.
* Das Interface wird erst in PRESEL1 gefüllt, damit man noch
* vorher in einem SHLP-Exit die Chance hat, ins Interface einzugreifen.
ENDFORM. "F4PROZ_STEP_SELONE2
Code: Alles auswählen.
CALL FUNCTION 'F4TOOL_RESET_DEF_SHLP' "/allow a new selection
EXPORTING
USER = SY-UNAME
TOP_SHLP = '<suchhilfe>'.