ich habe ein Decision Popup in der Funktion der CRM Schnellsuche eingebaut.
Dazu habe ich die Standard-Funktionen verwendet.
IF_BSP_WD_WINDOW_MANAGER
CREATE_DECISION_POPUP
Diese habe ich in einem selbst erzeugtem Event Handler verwendet und der Aufruf sowie die dynamische Navigation aus dem Popup heraus funktioniert auch soweit.
Für folgenden 3 Dinge bekomme ich jedoch keine elegante Lösung hin:
1. Das Pop soll immer nur maximal 1 mal zeitgleich geöffnet sein. Ich will dies erzwingen. Der Anwender soll bei wiederholten ENTER nicht eben soviele PopUps erzeugen können.
2. Das Popup soll, wenn es noch geöffnet und unselektiert ist immer Vordergrund stehen und sich nicht hinter anderen Browser-Fenstern verstecken.
3. Wünschenswert aber nicht notwendig: Das Popup soll aufblinken, bzw sich in den Vordergrund schieben wenn der Trigger der das Popup ausgelöst erneut getätigt wird.
Folgender Code wird verwendet:
DATA: lt_des_pop TYPE tableviewcontroltab,
ls_des_pop TYPE LINE OF tableviewcontroltab.
ls_des_pop-columnname = 'tobject_type'.
ls_des_pop-title = 'Kurzbeschreibung'.
APPEND ls_des_pop TO lt_des_pop.
ls_des_pop-columnname = 'tobject_descr'.
ls_des_pop-title = 'Objekt-Beschreibung'.
APPEND ls_des_pop TO lt_des_pop.
CLEAR ls_des_pop.
gr_dec_popup = comp_controller->window_manager->create_decision_popup(
iv_title = 'Achtung: Zu dieser Nummer gibt es mehrere Treffer'
iv_description = 'Wählen Sie aus der folgenden Liste das gewünschte Objekt:'
iv_table_header_text = 'Gefunde Objekte:'
iv_display_table = lt_result
iv_visible_row_count = lines( lt_result )
iv_visible_columns = lt_des_pop
).