ALV handle_double_click Wiederholung

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

ALV handle_double_click Wiederholung

Beitrag von SAP_ENTWICKLER (Specialist / 445 / 219 / 6 ) »
Hallo,

man merkt, dass die Fachbereiche testen.

Der Anwender macht einen Doppelclick in ALV A und selektiert damit eine Zeile. Durch diese Aktion wird ein zweites Grid B aufgerufen. In diesem wird wieder eine Zeile per Doppelclick ausgewählt und in die eigentliche Anwendung verzweigt. Nach der Beendigung der Anwendung wird Grid B verlassen und wieder nach A verzweigt. Dort wählt der Anwender eine neue Zeile aus und ruft in Grid B per Doppelclick wieder die Anwendung auf. Beim zweiten Aufruf der Anwendung aus Grid B kommt es aber dazu, dass nach dem Verlassen der Anwendung diese wiederholt aufgerufen wird. Nach jedem Wechsel von B --> A ---> B wird die Anwendung in B einmal mehr wiederholt bevor nach B zurückgekehrt wird. Wenn der Anwender in A z.B. 10 Zeilen bearbeiten muss, muss er bei der zehnten Zeile die Anwendung aus B 10mal mit der BACK-Taste verlassen um wieder in das Grid B zu kommen. Bleibe ich innerhalb von B erhöht sich die Zahl der Wiederholungen nicht, auch wenn ich aus B verschiedene Zeilen in einem Durchlauf beliebig oft auswähle.

In der Form Routine handle_double_click habe ich auch schon versucht p_e_column zu löschen.

Code: Alles auswählen.

FORM handle_double_click  USING    p_e_row       TYPE lvc_s_row
                                   p_e_column    TYPE lvc_s_col
                                   p_e_es_row_no TYPE lvc_s_roid
                                   p_sender.

  CASE p_sender.

    WHEN gr_alvgrid_txt.

      READ TABLE t_alv_txt INDEX p_e_row-index INTO t_alv_txt_read.

      CASE p_e_column.
        WHEN 'TEXT_BEZ' OR 'TEXT_SPRAS' OR 'TEXT_IKONE'.

Der Aufruf der Form-Routine wird allerdings von außerhalb getriggert. Es scheint also einen Zähler zu geben, der die METHOD handle_double_click triggert und sich durch das Verlassen des Ausgangsgrids B erhöht oder einen Stack der nicht richtig abgebaut wird.


Ich habe das Problem auch schon gegoogelt aber keine Lösung oder einen HInweis gefunden.


Danke und viele Grüße

Norbert
Zuletzt geändert von SAP_ENTWICKLER am 08.01.2014 11:37, insgesamt 1-mal geändert.

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


Re: ALV handle_double_click Wiederholung

Beitrag von Pyro (Specialist / 121 / 14 / 18 ) »
Ich habe gerade leider nicht viel Zeit, aber es könnte evtl. sein, dass du den Container von B zu oft aufbaust... hast du hier eine if drum mit einer prüfung auf initial oder bound?

gruß

Folgende Benutzer bedankten sich beim Autor Pyro für den Beitrag:
SAP_ENTWICKLER


Re: ALV handle_double_click Wiederholung

Beitrag von a-dead-trousers (Top Expert / 4485 / 231 / 1205 ) »
Ja, auch für mich hört es sich so an, als ob hier mehrere Instanzen an der Abarbeitung der Doppel-Klicks beteiligt werden.
Man muss entweder...
... beim Aufruf des Grid B jedes Mal den Construktor aufrufen und beim Verlassen jedes Mal das Grind mit der Methode FREE wieder freigeben
... oder das Grid B nur einmal beim aller ersten Aufruf (IF ... IS NOT BOUND) instanzieren.

Das gilt auch für die zugehörigen Container (vermutlich CL_GUI_CUSTOM_CONTAINER) sowie für die EVENT-Handler.

Ich hab mir übrigens angewöhnt mit dem ACTIVATION Zusatz der SET HANDLER Anweisung zu arbeiten. Damit kann man steuern ob der Handler registriert oder deregistriert werden soll. Wenn man nämlich eine Instanz mit der Methode FREE zwar "zerstört" bleibt die EVENT-Handler Registrierung aufrecht. Dann kann es vorkommen, dass eine schon längst "zerstörte" Event-Handler Instanz aufgerufen wird.

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

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: ALV handle_double_click Wiederholung

Beitrag von SAP_ENTWICKLER (Specialist / 445 / 219 / 6 ) »
Hallo,

ich habe das durch eine Abfrage auf INITIAL abgefangen. Wenn man das nicht macht bricht das Programm auch ab.

Viele Grüße

Norbert

Re: ALV handle_double_click Wiederholung

Beitrag von SAP_ENTWICKLER (Specialist / 445 / 219 / 6 ) »
Ich hatte den CALL METHOD gr_alvgrid_txt->set_table_for_first_display mehrfach aufgerufen. DasCoding habe ich in den IF für den CREATE OBJECT gr_ccontainer aufgenommen.

Jetzt wird der Aufruf nicht wiederholt.


Danke

Seite 1 von 1

Vergleichbare Themen

5
Antw.
17935
Views
Handle Double Click for ALV Grid
von PeterPaletti » 15.06.2018 08:40 • Verfasst in ABAP Objects®
0
Antw.
2229
Views
1
Antw.
2897
Views
Double click absprung aus input/output field
von guidoH » 16.05.2008 11:51 • Verfasst in ABAP® für Anfänger
2
Antw.
4403
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.
9441
Views
GET HANDLE?
von kostonstyle » 03.09.2008 10:39 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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.