GUI Status verhindert on click Event des SALV Table

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

GUI Status verhindert on click Event des SALV Table

Beitrag von Pinguincommander (ForumUser / 88 / 62 / 2 ) »
Hallo miteinander,

ich bin mal wieder zu blöd um das hier selbst zu lösen.
Ich habe folgenden Fall ich habe ein salv table als popup. Der user soll eine Zeile auswählen und auf bestätigen klicken oder einen Doppelklick auf die Zeile machen.
Für den bestätigen Button habe ich einen Status eingebunden und eine Funktion hinterlegt.
Immer wenn ich den Status einbinde mit set_screen_status, dann wird das Double click event nicht mehr ausgelöst.
Den Status habe ich neu erstellet mit den Funktionen OKAY und CANCEL also Drucktaste.

Code: Alles auswählen.

    DATA: lo_alv2           TYPE REF TO cl_salv_table,
          lo_events         TYPE REF TO cl_salv_events_table,
          lo_cols           TYPE REF TO cl_salv_columns_table,
          lo_col            TYPE REF TO cl_salv_column_table,
          lo_handler        TYPE REF TO lcl_eventhandler2.
*   Vorbereiten des PopUps.
    cl_salv_table=>factory(
     EXPORTING
        list_display = 'X'
      IMPORTING
        r_salv_table = lo_alv2
      CHANGING
        t_table      = lt_ask_tab ).

    lo_alv2->set_screen_popup(
      start_column = 70
      end_column   = 120
      start_line   = 10
      end_line     = 20 ).

*   Spalteneigenschaften setzen.
    lo_cols = lo_alv2->get_columns( ).
    lo_cols->set_optimize( abap_true ).
    lo_col ?= lo_cols->get_column( 'EQUNR' ).
    lo_col->set_optimized( abap_false ).
    lo_col ?= lo_cols->get_column( 'LINE' ).
    lo_col->set_visible( abap_false ).
    lo_col ?= lo_cols->get_column( 'OWN_ID' ).
    lo_col->set_visible( abap_false ).

    lo_alv2->set_screen_status( pfstatus = 'STATUS_0101'
                                  report = sy-repid
                                  set_functions = lo_alv2->c_functions_all ).

    lo_events = lo_alv2->get_event( ).
    CREATE OBJECT lo_handler.
    SET HANDLER lo_handler->handle_double_click FOR lo_events.
    SET HANDLER lo_handler->handle_added_function FOR lo_events.

    lo_handler->lo_popup = lo_alv2.

    lo_alv2->display( ).
und hier ist mein Event Handler:

Code: Alles auswählen.

CLASS lcl_eventhandler2 DEFINITION.
  PUBLIC SECTION.
    DATA:
      lo_popup TYPE REF TO cl_salv_table,
      row_id   TYPE salv_de_row,
      command  TYPE sy-ucomm.
    METHODS:
      handle_double_click   FOR EVENT double_click OF cl_salv_events_table
        IMPORTING row column,
      handle_added_function FOR EVENT added_function OF cl_salv_events_table
        IMPORTING e_salv_function.
ENDCLASS.
CLASS lcl_eventhandler2 IMPLEMENTATION.
  METHOD handle_double_click.
    BREAK-POINT.
    row_id = row.
    lo_popup->close_screen( ).
  ENDMETHOD.
  METHOD handle_added_function.
    BREAK-POINT.
    DATA: lo_selections TYPE REF TO cl_salv_selections,
          lt_cells      TYPE salv_t_cell,
          ls_cell       TYPE salv_s_cell.
    CASE e_salv_function.
      WHEN 'NEXT'.
        lo_selections = lo_popup->get_selections( ).
        lt_cells = lo_selections->get_selected_cells( ).
        READ TABLE lt_cells INTO ls_cell INDEX 1.
        IF sy-subrc = 0.
          row_id = ls_cell-row.
          command = 'A'.
        ENDIF.
      WHEN 'CANCEL'.
        command = 'B'.
    ENDCASE.
    lo_popup->close_screen( ).
  ENDMETHOD. 
ENDCLASS.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: GUI Status verhindert on click Event des SALV Table

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Im GUI-Status darf dem "Doppelklick" (= F2-Taste) kein Funktionscode zugewiesen sein.

EDIT:
und/oder auch der "Enter"-Taste darf kein Funktionscode zugewiesen sein.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Pinguincommander

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: GUI Status verhindert on click Event des SALV Table

Beitrag von Pinguincommander (ForumUser / 88 / 62 / 2 ) »
Danke.
a-dead-trousers hat geschrieben:Im GUI-Status darf dem "Doppelklick" (= F2-Taste) kein Funktionscode zugewiesen sein.
EDIT:
und/oder auch der "Enter"-Taste darf kein Funktionscode zugewiesen sein.
Ich habe nämlich sowohl als auch vergeben :shock:

In welchem Kurs der SAP wird sowas erklärt :| ?

EDIT:
habe das ganze nun probiert, leider verhält es sich noch immer so.
Mein Status hat nur 2 Drucktasten. "OKAY" und "CANCEL" zugeordnet an F8 und UMSCH-F2.
Ansonsten ist nichts hinterlegt, sehr merkwürdig das ganze.

Re: GUI Status verhindert on click Event des SALV Table

Beitrag von Pinguincommander (ForumUser / 88 / 62 / 2 ) »
Also nochmals Korrektur.
Ich habe mir nun den Status SALV_STANDARD aus SALV_DEMO_TABLE_FUNCTIONS kopiert.
Hier habe ich alle Drucktasten entfernt und durch ZOKAY und ZCANCEL ersetzt.
Nun funktioniert es.
Hier ist jedoch F2 vergeben.
Dennoch danke für die Hilfe

Seite 1 von 1

Vergleichbare Themen

6
Antw.
5724
Views
event bei click
von MiG » 30.06.2005 13:52 • Verfasst in ABAP Objects®
1
Antw.
3333
Views
Single-click event in einer ALV?
von mpm@c2b » 18.11.2005 11:02 • Verfasst in ABAP Objects®
2
Antw.
1846
Views
ALV TREE | Positionsänderung nach Double Click Event
von Lukas R. » 17.10.2017 10:07 • Verfasst in ABAP® für Anfänger
2
Antw.
3455
Views
single click event im tree control (cl_gui_list_tree)?
von ernst » 21.08.2007 17:08 • Verfasst in ABAP Objects®
3
Antw.
4682
Views
ALV Grid: Abfangen Event:Click auf Button Zeile einfügen
von Dummy » 18.05.2004 16:12 • Verfasst in ABAP Objects®

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Tagen von Lucyalison 1 / 72
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141