Control-Framework "Austausch" von Controls

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

Benutzeroberflächen in SAP®-Systemen.
13 Beiträge • Seite 1 von 1
13 Beiträge Seite 1 von 1

Control-Framework "Austausch" von Controls

Beitrag von erp-bt (Specialist / 163 / 4 / 21 ) »
Hallo zusammen,

ich habe momentan einen Custom-Container der in 3 Bereiche aufgeteilt ist. Eine linke Spalte, in der ein Tree abgebildet wird. Eine rechte Spalte, die wiederum in einen oberen und unteren Teil aufgteilt ist. Also insgesamt 3 Bereiche (Container).

Der Tree auf der linken Spalte kann nun unterschiedliche Knoten haben. Je nach dem welchen Knotentyp ich markiere möchte ich nun im oberen Container der rechten Spalte ein anderes GUI-Control aufrufen.

Ist sowas grundsätzlich möglich oder verrenne ich mich da gerade im Design? Wie würdet Ihr sowas abbilden? Mich würde da mal eure Erfahrungen so interessieren.

Vielen Dank und Grüße,
...entwickelnder Berater...beratender Entwickler

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


Re: Control-Framework "Austausch" von Controls

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
hi!

Es ist möglich Controls innerhalb eines CL_GUI_SPLITTER_CONTAINER mittels den Methode REMOVE_CONTROL und ADD_CONTROL auszutauschen. Da aber intern die Events eines Controls aus einem mir leider unerfindlichen Grund am PARENT-Container registriert werden, muss man ein CONTROL welches man über diesen Weg "austauschen" möchte in einen zusätzlichen CONTAINER packen, damit die Events weiterhin funktionieren.
War ein ziemlicher Krampf bis ich diese ganzen Spezialtäten des CFW herausgefunden hab.

Mittlerweile bin ich von dieser Vorgehensweise aber wieder abgegangen, weil man da ziemlich im Trüben arbeitet und vermutlich nicht Releasesicher unterwegs ist.

Mir fallen zwei Alternativen ein:
1) An der Stelle wo die zwei unterschiedlichen Controls eingeblendet werden sollen, packt man einen SPLITTER-Container. Den Sash blendet man aus und je nachdem welches Control angezeigt werden soll wird der eine oder andere Bereich auf 100% vergrößert.
2) Dank Dynpro-Splitter (bekannt aus dem neuen ABAP-Debugger) kann man Dynpros ähnlich wie bei einem SPLITTER-Container "aufteilen" und auch in der Größe verändern. Man verwendet also anstatt eines Custom-Containers einfach mehrere geschachtelte Dynpros mit SubScreens. Danke der Fähigkeit Subscreens dynamisch einbinden zu können, kann man so mit wenig Aufwand ein Dynpro mit dem Control X auf ein Dynpro mit dem Control Y austauschen. Das ist zwar ein wenig aufwändiger, aber meines Erachtens am Sichersten. Auch hat man so den Vorteil, neben Controls auch Eingabemasken anzeigen zu können.

lg ADT

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

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: Control-Framework "Austausch" von Controls

Beitrag von erp-bt (Specialist / 163 / 4 / 21 ) »
Hi,

ok, Danke schon mal für die Info.

Variante 1 Deiner Alternativen scheidet aus, da es sich durchaus um mehrere unterschiedliche Controls handeln kann und nicht nur um zwei. Ich denke das wird dann zu aufwendig. Bzgl. Variante 2 hast Du da nähere Infos zu dem Dynpro-Splitter? Klassenname, Paket, Demoprogramm, o.ä?

Wäre es evtl. auch eine Alternative das Dynpro in drei Subscreen-Bereiche aufzuteilen und dem jeweiligen Subscreen einen Control zuzuweisen? Subscreens lassen sich ja recht einfach austauschen auf dem Dynpro. Man müsste dann für die unterschiedlichen Control die in der rechten oberen Spalte erscheinen sollen, jeweils einen eigenen Subscreen definieren?!? Wäre das machbar? Wäre ja wahrscheinlich so ähnlich wie die Variante 2.

Viele Grüße,

Edit:

Habe gerade ein Dokument gefunden gefunden. Ist es das?
http://ajanzen.com/pdf_dokumente/sap_ab ... litter.pdf

Demoprogramm auch gefunden: DEMO_DYNPRO_SPLITTER_CONTROL

Jetzt stellt sich für mich nur noch die Frage, ob man ein Subscreen auch mit dem Dynpro-Splitter aufteilen kann, oder ob man dann da vielleicht besser mit einem Docking-Container arbeitet?
...entwickelnder Berater...beratender Entwickler

Re: Control-Framework "Austausch" von Controls

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
erp-bt hat geschrieben:Habe gerade ein Dokument gefunden gefunden. Ist es das?
http://ajanzen.com/pdf_dokumente/sap_ab ... litter.pdf
Demoprogramm auch gefunden: DEMO_DYNPRO_SPLITTER_CONTROL
Ja, das ist es.
erp-bt hat geschrieben:Wäre es evtl. auch eine Alternative das Dynpro in drei Subscreen-Bereiche aufzuteilen und dem jeweiligen Subscreen einen Control zuzuweisen? Subscreens lassen sich ja recht einfach austauschen auf dem Dynpro. Man müsste dann für die unterschiedlichen Control die in der rechten oberen Spalte erscheinen sollen, jeweils einen eigenen Subscreen definieren?!? Wäre das machbar? Wäre ja wahrscheinlich so ähnlich wie die Variante 2.
Wenn du das Resizing zwischen den Bereichen durch den User nicht brauchst, kannst du den Dynpro-Splitter klarerweise auch weglassen.
erp-bt hat geschrieben:Jetzt stellt sich für mich nur noch die Frage, ob man ein Subscreen auch mit dem Dynpro-Splitter aufteilen kann, oder ob man dann da vielleicht besser mit einem Docking-Container arbeitet?
Geht beides. Ist halt eine Geschmacksfrage ob man alles mit Dynpro-Technologie abbildet, auf CFW-Mittel zurückgreift oder eine "Mischform" verwendet.

lg ADT
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: Control-Framework "Austausch" von Controls

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
erp-bt hat geschrieben:Hallo zusammen,
ich habe momentan einen Custom-Container der in 3 Bereiche aufgeteilt ist. Eine linke Spalte, in der ein Tree abgebildet wird. Eine rechte Spalte, die wiederum in einen oberen und unteren Teil aufgteilt ist. Also insgesamt 3 Bereiche (Container).
Der Tree auf der linken Spalte kann nun unterschiedliche Knoten haben. Je nach dem welchen Knotentyp ich markiere möchte ich nun im oberen Container der rechten Spalte ein anderes GUI-Control aufrufen.
Ist sowas grundsätzlich möglich oder verrenne ich mich da gerade im Design? Wie würdet Ihr sowas abbilden? Mich würde da mal eure Erfahrungen so interessieren.
Vielen Dank und Grüße,
Da Du nicht schreibst, welche Controls genau Du verwenden willst und was Du damit genau vorhast, werfe ich einfach mal "Dynamic Documents" in den Raum.

http://help.sap.com/saphelp_erp60_sp/he ... &node_id=3

Re: Control-Framework "Austausch" von Controls

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
Einen habe ich auch noch:
So weit ich weiß ist das Austauschen von Controls im Container im Allgemeinen ( speziell evtl. schon? ) nicht möglich - aber es ist möglich in einen Container mehrere Controls einzuhängen. Aber es wird nur das oberste(zuerst eingehängte) Control angezeigt.
ABER - Wenn man das oberst/erste Control "unsichtbar" macht - und die meisten Controls haben eine Set_Visible-Methode- kann man somit auch weiter hinten liegende Controls zur Anzeige bringen.

Das entspricht dann zwar keinem Austausch von Controls - aber der User wird das so empfinden, wenn einfach das aktuell darzustellende Control als einziges auf Visible steht.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Control-Framework "Austausch" von Controls

Beitrag von erp-bt (Specialist / 163 / 4 / 21 ) »
Hallo zusammen,

erstmal Danke an Alle für die Infos.

Die Aufteilung des Bildschirms über die Klasse CL_DYNPRO_SPLITTER in unterschiedliche Subscreens wäre wahrscheinlich genau das richtige, leider habe ich mit erschrecken festgestellt das diese im Kundensystem nicht vorhanden ist (Basis 7.01 SP 14). :(
Unit605 hat geschrieben: Da Du nicht schreibst, welche Controls genau Du verwenden willst und was Du damit genau vorhast, werfe ich einfach mal "Dynamic Documents" in den Raum.
http://help.sap.com/saphelp_erp60_sp/he ... &node_id=3
Schon mal was produktiv damit gemacht? Mit HTML kenne ich mich gar nicht aus, aber es sieht ja so aus als ob HTML nur im Hintergrund durch die jeweiligen Klassen generiert wird. Ist es vom Handling her aufwendig die unterschiedlichen Dokumente zu erzeugen? Kannst Du da was zu sagen?
black_adept hat geschrieben: So weit ich weiß ist das Austauschen von Controls im Container im Allgemeinen ( speziell evtl. schon? ) nicht möglich - aber es ist möglich in einen Container mehrere Controls einzuhängen. Aber es wird nur das oberste(zuerst eingehängte) Control angezeigt.
ABER - Wenn man das oberst/erste Control "unsichtbar" macht - und die meisten Controls haben eine Set_Visible-Methode- kann man somit auch weiter hinten liegende Controls zur Anzeige bringen.

Das entspricht dann zwar keinem Austausch von Controls - aber der User wird das so empfinden, wenn einfach das aktuell darzustellende Control als einziges auf Visible steht.
Auch hier ware die Frage ob Du das schon mal produktiv genutzt hast? Wäre hier nicht auch das Problem mit den Events das a-dead-trousers weiter oben beschrieben hat, also das diese immmer am Parent_Container registriert sind?

Zur Not würde ich jetzt wahrscheinlich folgendes machen. Ich würde den Bildschirm jetzt in einen oberen und in einen unteren Subscreen aufteilen. Diese Aufteilung ware dann fest und könnte nicht verschoben warden. Der Tree der immer auf der linken Seite des Bildschirms stehen soll würde ich dann mit einem Docking-Container an der linken Seite "anflanschen".

Viele Grüße,
...entwickelnder Berater...beratender Entwickler

Re: Control-Framework "Austausch" von Controls

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
Hi erp-bt,

ja - habe ich schon gemacht.
Hier ein simples Beispiel ( inkl. Events )

Code: Alles auswählen.

REPORT.

*----------------------------------------------------------------------*
*       CLASS lcl_handler DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_handler DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS: handle_text_dblclick     FOR EVENT dblclick     OF cl_gui_textedit, " importing ... ist aber zur Demo egal
                   handle_grid_double_click FOR EVENT double_click OF cl_gui_alv_grid.

ENDCLASS.                    "lcl_handler DEFINITION

*----------------------------------------------------------------------*
*       CLASS lcl_handler IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_handler IMPLEMENTATION.
  METHOD handle_text_dblclick.
*PAI triggern
    cl_gui_cfw=>set_new_ok_code( EXPORTING new_code = 'Doubleclick in Textedit' ).

  ENDMETHOD.                    "handle_text_DBLCLICK

  METHOD handle_grid_double_click.
    cl_gui_cfw=>set_new_ok_code( EXPORTING new_code = 'Doubleclick in Grid' ).
  ENDMETHOD.                    "handle_grid_DOUBLE_CLICK

ENDCLASS.                    "lcl_handler IMPLEMENTATION

DATA: gt_data_alv TYPE STANDARD TABLE OF t000 WITH NON-UNIQUE DEFAULT KEY,

      go_dock   TYPE REF TO cl_gui_docking_container,
      go_split  TYPE REF TO cl_gui_easy_splitter_container,
      go_text_l TYPE REF TO cl_gui_textedit,
      go_text_r TYPE REF TO cl_gui_textedit,
      go_grid   TYPE REF TO cl_gui_alv_grid.

PARAMETERS: rb_text RADIOBUTTON GROUP rb1 DEFAULT 'X' USER-COMMAND space,
            rb_grid RADIOBUTTON GROUP rb1,
            p_out TYPE syucomm MODIF ID ni.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF screen-group1 = 'NI'.
      screen-input = 0.
    ENDIF.
    MODIFY SCREEN.
  ENDLOOP.

AT SELECTION-SCREEN.
  IF rb_grid = 'X'. " Grid anzeigen --> Textedit unsichtbar
    go_text_r->set_visible( space ).
  ELSE.
    go_text_r->set_visible( 'X' ).
  ENDIF.

  p_out = sy-ucomm.


INITIALIZATION.

*--------------------------------------------------------------------*
* Ausgabe vorbereiten
* Dock am Selscree, Splitter im Dock,
* Links Textedit,
* rechts Textedit und ALV
*--------------------------------------------------------------------*

*Docker
  CREATE OBJECT go_dock
    EXPORTING
      side                    = cl_gui_docking_container=>dock_at_bottom
      ratio                   = 80
      no_autodef_progid_dynnr = 'X'
    EXCEPTIONS
      OTHERS                  = 6.

* Splitter
  CREATE OBJECT go_split
    EXPORTING
      parent      = go_dock
      orientation = 1
    EXCEPTIONS
      OTHERS      = 3.

* Textedit links
  CREATE OBJECT go_text_l
    EXPORTING
      parent = go_split->top_left_container
    EXCEPTIONS
      OTHERS = 6.

* Textedit rechts
  CREATE OBJECT go_text_r
    EXPORTING
      parent = go_split->bottom_right_container
    EXCEPTIONS
      OTHERS = 6.

* ALV rechts
  SELECT *
    INTO TABLE gt_data_alv
    FROM t000.

  CREATE OBJECT go_grid
    EXPORTING
      i_parent = go_split->bottom_right_container
    EXCEPTIONS
      OTHERS   = 5.
  go_grid->set_table_for_first_display(  EXPORTING
                                          i_structure_name              = 'T000'
                                        CHANGING
                                          it_outtab                     = gt_data_alv
                                        EXCEPTIONS
                                          OTHERS                        = 4 ).

*Eventhandler RECHTS definieren
  SET HANDLER lcl_handler=>handle_grid_double_click FOR go_grid.

* grml - Textedit muss Doubleclick erst registrieren
  DATA: lt_events TYPE cntl_simple_events,
        ls_event LIKE LINE OF lt_events.
  go_text_r->get_registered_events( IMPORTING
                                      events     = lt_events
                                    EXCEPTIONS
                                      cntl_error = 1
                                      OTHERS     = 2 ).
  ls_event-eventid = cl_gui_textedit=>event_double_click.
*  ls_event-appl_event = ' '.
  APPEND ls_event TO lt_events.
  go_text_r->set_registered_events( EXPORTING
                                      events                    = lt_events
                                    EXCEPTIONS
                                      cntl_error                = 1
                                      cntl_system_error         = 2
                                      illegal_event_combination = 3
                                      OTHERS                    = 4 ).


  SET HANDLER lcl_handler=>handle_text_dblclick     FOR go_text_r.

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag (Insgesamt 2):
erp-btewx

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Control-Framework "Austausch" von Controls

Beitrag von erp-bt (Specialist / 163 / 4 / 21 ) »
black_adept hat geschrieben:Hi erp-bt,

ja - habe ich schon gemacht.
Hier ein simples Beispiel ( inkl. Events )
Danke! Sieht gut aus... könnte so klappen. :D
...entwickelnder Berater...beratender Entwickler

Re: Control-Framework "Austausch" von Controls

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
Bezugnehmend auf meinen Event-Regeistrierungs Hinweis:
Interessant wäre es, ob das mit zwei GLEICHEN Controls (also zwei ALVs oder zwei TextEdits) auch funktioniert.

Noch ein wenig "Off-Topic":
erp-bt hat geschrieben:
Unit605 hat geschrieben:Da Du nicht schreibst, welche Controls genau Du verwenden willst und was Du damit genau vorhast, werfe ich einfach mal "Dynamic Documents" in den Raum.
http://help.sap.com/saphelp_erp60_sp/he ... &node_id=3
Schon mal was produktiv damit gemacht? Mit HTML kenne ich mich gar nicht aus, aber es sieht ja so aus als ob HTML nur im Hintergrund durch die jeweiligen Klassen generiert wird. Ist es vom Handling her aufwendig die unterschiedlichen Dokumente zu erzeugen? Kannst Du da was zu sagen?
Ich persönlich bin von den DD nicht begeistert. Das erzeugte HTML ist extrem klobig und "unsauber". Wenn man versucht es, wie der Name suggeriert, "dynamisch" zu ändern ist der Vorgang nicht gerade performant. Vorallem bei großen Dokumenten merkt man da schon Verzögerungen im Sekundenbereich, obwohl man eigentlich meint nur "ganz" wenig geändert zu haben. Da würde ich eher empfehlen etwas mehr Zeit zu investieren und eigenen HTML-Code mit den IXML-Klassen zu schreiben. Leider sind mir keine Wrapper-Frameworks ala DD bekannt die auf der IXML-Implementierung aufbauen.

lg ADT
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: Control-Framework "Austausch" von Controls

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
a-dead-trousers hat geschrieben:Bezugnehmend auf meinen Event-Regeistrierungs Hinweis:
Interessant wäre es, ob das mit zwei GLEICHEN Controls (also zwei ALVs oder zwei TextEdits) auch funktioniert.
Ja.
Anbei etwas modifiziertes Beispiel mit 1x Textedit und 2xGrid im rechten Container.

Code: Alles auswählen.

REPORT.

*----------------------------------------------------------------------*
*       CLASS lcl_handler DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_handler DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS: handle_text_dblclick     FOR EVENT dblclick     OF cl_gui_textedit, " importing ... ist aber zur Demo egal
      handle_grid_double_click FOR EVENT double_click OF cl_gui_alv_grid IMPORTING sender.

ENDCLASS.                    "lcl_handler DEFINITION



DATA: gt_data_alv  TYPE STANDARD TABLE OF t000 WITH NON-UNIQUE DEFAULT KEY,
      gt_data_alv2 TYPE STANDARD TABLE OF t005 WITH NON-UNIQUE DEFAULT KEY,

      go_dock      TYPE REF TO cl_gui_docking_container,
      go_split     TYPE REF TO cl_gui_easy_splitter_container,
      go_text_l    TYPE REF TO cl_gui_textedit,
      go_text_r    TYPE REF TO cl_gui_textedit,
      go_grid      TYPE REF TO cl_gui_alv_grid,
      go_grid2     TYPE REF TO cl_gui_alv_grid.

PARAMETERS: rb_text  RADIOBUTTON GROUP rb1 DEFAULT 'X' USER-COMMAND space,
            rb_grid  RADIOBUTTON GROUP rb1,
            rb_grid2 RADIOBUTTON GROUP rb1,
            p_out    TYPE syucomm MODIF ID ni.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF screen-group1 = 'NI'.
      screen-input = 0.
    ENDIF.
    MODIFY SCREEN.
  ENDLOOP.
  CASE 'X'.
    WHEN rb_text.
      go_text_r->set_visible( 'X' ).
      go_grid->set_visible(   ' ' ).
      go_grid2->set_visible(  ' ' ).

    WHEN rb_grid.
      go_text_r->set_visible( ' ' ).
      go_grid->set_visible(   'X' ).
      go_grid2->set_visible(  ' ' ).

    WHEN rb_grid2.
      go_text_r->set_visible( ' ' ).
      go_grid->set_visible(   ' ' ).
      go_grid2->set_visible(  'X' ).

  ENDCASE.

AT SELECTION-SCREEN.

  p_out = sy-ucomm.


INITIALIZATION.

*--------------------------------------------------------------------*
* Ausgabe vorbereiten
* Dock am Selscree, Splitter im Dock,
* Links Textedit,
* rechts Textedit und ALV
*--------------------------------------------------------------------*

*Docker
  CREATE OBJECT go_dock
    EXPORTING
      side                    = cl_gui_docking_container=>dock_at_bottom
      ratio                   = 80
      no_autodef_progid_dynnr = 'X'
    EXCEPTIONS
      OTHERS                  = 6.

* Splitter
  CREATE OBJECT go_split
    EXPORTING
      parent      = go_dock
      orientation = 1
    EXCEPTIONS
      OTHERS      = 3.

* Textedit links
  CREATE OBJECT go_text_l
    EXPORTING
      parent = go_split->top_left_container
    EXCEPTIONS
      OTHERS = 6.

* Textedit rechts
  CREATE OBJECT go_text_r
    EXPORTING
      parent = go_split->bottom_right_container
    EXCEPTIONS
      OTHERS = 6.

* ALV rechts
  SELECT *
    INTO TABLE gt_data_alv
    FROM t000.

*  CREATE OBJECT go_grid
  CREATE OBJECT go_grid
    EXPORTING
      i_parent = go_split->bottom_right_container
    EXCEPTIONS
      OTHERS   = 5.
  go_grid->set_table_for_first_display(  EXPORTING
                                          i_structure_name              = 'T000'
                                        CHANGING
                                          it_outtab                     = gt_data_alv
                                        EXCEPTIONS
                                          OTHERS                        = 4 ).

*  CREATE OBJECT go_grid2
  SELECT *
    INTO TABLE gt_data_alv2
    FROM t005.
  CREATE OBJECT go_grid2
    EXPORTING
      i_parent = go_split->bottom_right_container
    EXCEPTIONS
      OTHERS   = 5.
  go_grid2->set_table_for_first_display(  EXPORTING
                                          i_structure_name              = 'T005'
                                        CHANGING
                                          it_outtab                     = gt_data_alv2
                                        EXCEPTIONS
                                          OTHERS                        = 4 ).

*Eventhandler RECHTS definieren
  SET HANDLER lcl_handler=>handle_grid_double_click FOR go_grid.
  SET HANDLER lcl_handler=>handle_grid_double_click FOR go_grid2.

* grml - Textedit muss Doubleclick erst registrieren
  DATA: lt_events TYPE cntl_simple_events,
        ls_event  LIKE LINE OF lt_events.
  go_text_r->get_registered_events( IMPORTING
                                      events     = lt_events
                                    EXCEPTIONS
                                      cntl_error = 1
                                      OTHERS     = 2 ).
  ls_event-eventid = cl_gui_textedit=>event_double_click.
*  ls_event-appl_event = ' '.
  APPEND ls_event TO lt_events.
  go_text_r->set_registered_events( EXPORTING
                                      events                    = lt_events
                                    EXCEPTIONS
                                      cntl_error                = 1
                                      cntl_system_error         = 2
                                      illegal_event_combination = 3
                                      OTHERS                    = 4 ).


  SET HANDLER lcl_handler=>handle_text_dblclick     FOR go_text_r.


*----------------------------------------------------------------------*
*       CLASS lcl_handler IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_handler IMPLEMENTATION.
  METHOD handle_text_dblclick.
*PAI triggern
    cl_gui_cfw=>set_new_ok_code( EXPORTING new_code = 'Doubleclick in Textedit' ).

  ENDMETHOD.                    "handle_text_DBLCLICK

  METHOD handle_grid_double_click.
    CASE sender.
      WHEN go_grid.
        cl_gui_cfw=>set_new_ok_code( EXPORTING new_code = 'Doubleclick in Grid1' ).
      WHEN go_grid2.
        cl_gui_cfw=>set_new_ok_code( EXPORTING new_code = 'Doubleclick in Grid2' ).
    ENDCASE.
  ENDMETHOD.                    "handle_grid_DOUBLE_CLICK

ENDCLASS.                    "lcl_handler IMPLEMENTATION

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

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Control-Framework "Austausch" von Controls

Beitrag von erp-bt (Specialist / 163 / 4 / 21 ) »
black_adept hat geschrieben:
a-dead-trousers hat geschrieben:Bezugnehmend auf meinen Event-Regeistrierungs Hinweis:
Interessant wäre es, ob das mit zwei GLEICHEN Controls (also zwei ALVs oder zwei TextEdits) auch funktioniert.
Ja.
Anbei etwas modifiziertes Beispiel mit 1x Textedit und 2xGrid im rechten Container.
:up:
...entwickelnder Berater...beratender Entwickler

Re: Control-Framework "Austausch" von Controls

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
black_adept hat geschrieben:
a-dead-trousers hat geschrieben:Bezugnehmend auf meinen Event-Regeistrierungs Hinweis:
Interessant wäre es, ob das mit zwei GLEICHEN Controls (also zwei ALVs oder zwei TextEdits) auch funktioniert.
Ja.
Anbei etwas modifiziertes Beispiel mit 1x Textedit und 2xGrid im rechten Container.
Auch von mir :up:
Dann ist das also kein Problem. Lediglich beim "Verschieben" eines Controls von einem Container in einen anderen (auf einem anderen Dynpro?) ist Vorsicht geboten.
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

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1565
Views
events cl_gui_column_tree control framework
von ElNino » 22.04.2010 09:15 • Verfasst in ABAP Objects®
3
Antw.
2627
Views
Control Framework - Aufruf von Reports und Transaktionen
von Ingo » 24.04.2015 07:21 • Verfasst in Dialogprogrammierung
0
Antw.
1430
Views
Austausch offener Änderungsnummer in Dokumenten. Möglich?
von ereglam » 29.05.2006 09:33 • Verfasst in Sonstige Module
2
Antw.
1869
Views
Baumausgabe / Framework
von Lbyte » 21.12.2017 12:40 • Verfasst in Dialogprogrammierung
2
Antw.
2309
Views
Report mit OO-Framework
von herr mb » 10.02.2011 09:08 • Verfasst in ABAP Objects®

Ü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

Aktuelle Forenbeiträge

Regex in where
vor einer Stunde von tar 6 / 98
Programm anlegen mit Vorlage
vor 16 Stunden von DeathAndPain 2 / 117
IT0024 Qualifikationen CP-ID
vor 16 Stunden von DeathAndPain 2 / 352
BUSOBJEKT zu CMIS PHIO ermitteln
vor 18 Stunden von snooga87 1 / 86

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.

Aktuelle Forenbeiträge

Regex in where
vor einer Stunde von tar 6 / 98
Programm anlegen mit Vorlage
vor 16 Stunden von DeathAndPain 2 / 117
IT0024 Qualifikationen CP-ID
vor 16 Stunden von DeathAndPain 2 / 352
BUSOBJEKT zu CMIS PHIO ermitteln
vor 18 Stunden von snooga87 1 / 86

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 18 Stunden von snooga87 1 / 86
aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821