ALV-Grid Stichworte: Events, PAI, PBO

Getting started ... Alles für einen gelungenen Start.
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

ALV-Grid Stichworte: Events, PAI, PBO

Beitrag von OliTe (ForumUser / 21 / 0 / 0 ) »
Hallo Community,

ich hoffe ich werde nicht gleich gelyncht. Ich habe zwar die Suche bemüht, doch keine direkten Anworten auf meine Fragen gefunden. Ich bin dabei mein erstes AVL-Grid zu benutzen und trete auch diverse Verständnisprobleme.

Ich habe ein ALV-Grid mit CALL METHOD grid->set_table_for_first_display definiert. Die Anzeige funktioniert und die Darstellung ist zufriedenstellend.
Nun möchte ich auf die Ereignisse des Grids reagieren und habe keine Vorstellung, wie ich dies im ABAP realisiere. Ein Button löst zwar ein Ereignis aus und ruft PAI, aber die sy-ucomm ist ziemlich kryptisch.

Muss ich irgendwelche Methoden oder Funktionen aufrufen, die den Rückkehrcode auswerten? Wenn ja, welche? Müssen diese Methoden unter PAI stehen?

Da ich mich mit ABAP-Objects nicht auskenne, ist es schwer, die richtigen Fragen zu stellen.
Ich wäre für eine Einstiegshilfe dankbar.

Viele Grüße
Oliver

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


Beitrag von Gast ( / / 0 / 3 ) »
(1) Du musste deine Ereignisse erst definieren, wenn du sie verwenden willst...
(2) und anschließend deinem Grid zuordnen...

---------------
Beispiel zu (1)
---------------

Code: Alles auswählen.

*-----------------------------------------------*
*       CLASS lcl_event_receiver DEFINITION
*-----------------------------------------------*
* Definition der zu verwendenden Methoden
*-----------------------------------------------*
CLASS lcl_event_receiver DEFINITION.
  PUBLIC SECTION.
    DATA: ucomm TYPE sy-ucomm.
*   User-Command
    METHODS handle_user_command
      FOR EVENT user_command OF cl_gui_alv_grid
      IMPORTING e_ucomm sender.
*   Einfachklick auf "Hot-Spots"
    METHODS handle_hotspot_click
      FOR EVENT hotspot_click OF cl_gui_alv_grid
      IMPORTING e_row_id e_column_id
                es_row_no.
  PRIVATE SECTION.
ENDCLASS.          "lcl_event_receiver DEFINITION

***************************************************
DATA: event_receiver TYPE REF TO lcl_event_receiver.
***************************************************

*--------------------------------------------------*
*       CLASS LCL_EVENT_RECEIVER IMPLEMENTATION
*--------------------------------------------------*
* Implementierung der definierten Methoden (was ist zu tun...)
*--------------------------------------------------*
CLASS lcl_event_receiver IMPLEMENTATION.
*---------------------------------------*
* User-Command
*---------------------------------------*
  METHOD handle_user_command.
    CASE e_ucomm.
      WHEN 'XYZ'.
        PERFORM from_xyz.

    ENDCASE.
  ENDMETHOD.            "HANDLE_USER_COMMAND
*---------------------------------------*
* Einfachklick 
*---------------------------------------*
  METHOD handle_hotspot_click.
    READ TABLE tabelle INTO wa_tabelle 
         INDEX es_row_no-row_id.
    CASE e_column_id.
      WHEN 'VBELN'.
       SET PARAMETER ID 'AUN' FIELD wa_tabelle-vbeln.
       CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
  ENDMETHOD.              "HANDLE_HOTSPOT_CLICK

ENDCLASS.        "LCL_EVENT_RECEIVER IMPLEMENTATION
---------------
Beispiel zu (2)
---------------

Code: Alles auswählen.

*   Events erstellen...
CREATE OBJECT event_receiver.
*   ...und aktivieren bzw. zuordnen
SET HANDLER event_receiver->handle_user_command  FOR dein_grid.
SET HANDLER event_receiver->handle_hotspot_click FOR dein_grid.

Beitrag von OliTe (ForumUser / 21 / 0 / 0 ) »
Sorry, aber ich komme nicht weiter.
Ich drehe mich irgendwie seit Tagen im Kreis.

Ich habe mein ALV-Grid mit verschiedenen Button zum editieren im Toolbar. Nehmen wir z.B. den Button "Zeile löschen". Dieser ist offensichtlich schon von Haus aus in der Lage, eine ALV-Grid-Zeile zu löschen. Jetzt möchte ich in diesen Prozess eingreifen und beim Löschen der Zeile weiteren Code ausführen. Die Ereignisse TOOLBAR_MENUBUTTON_CLICK und TOOLBAR_BUTTON_CLICK sind protected, so dass ich nicht rankomme. Es fehlt mir ein Ereignis, welches ausgelöst wird, sobald ich einen Button im Toolbar anklicke.
Ich möchte einfach nur weiteren eigenen Code ausführen, sobald das Ereignis ausgelöst wird.

Seite 1 von 1

Vergleichbare Themen

11
Antw.
3336
Views
ALV events
von Bajdu » 01.12.2006 17:45 • Verfasst in ABAP® Core
2
Antw.
1520
Views
ALV Events
von kkauerau » 20.03.2017 15:32 • Verfasst in ABAP® für Anfänger
1
Antw.
1633
Views
Events
von Andrzej » 15.03.2017 22:50 • Verfasst in ABAP® für Anfänger
2
Antw.
2218
Views
Problem mit Events
von MAGEMI1985 » 07.02.2005 11:46 • Verfasst in ABAP Objects®
1
Antw.
1952
Views
Problem mit events
von Markus Buchner » 28.09.2004 14:46 • 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 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141