CL_GUI_TEXTEDIT im Subscreen Thema ist als GELÖST markiert

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
5 Beiträge Seite 1 von 1
5 Beiträge Seite 1 von 1

CL_GUI_TEXTEDIT im Subscreen

Beitrag von Prego (ForumUser / 91 / 16 / 1 ) » 24. Mai 2019 08:42

Hallo zusammen,

ich verzweifel gerade bei folgender Sache (eig. schon hundert mal gemacht).

Subscreen mit einem Custom_Container. Darauf platziere ich einen Texteditor (CL_GUI_TEXTEDIT). Wird mir auch alles wunderbar dargestellt, ich kann editieren der Text wird gespeichert. Soweit alles im grünen Bereich.
OK.jpg
Aber, wenn ich scrolle scrollt zwar der Subscreen mit. Der Custom_Container bleibt aber an seiner Position und fliegt aus dem Subscreen raus.
NOK.jpg
Wie gesagt, an anderer Stelle schon oft genug gemacht. Hier tut es nciht so wie es soll

Code: Alles auswählen.

  DATA: fl_dock TYPE REF TO cl_gui_custom_container.
  DATA: fl_edit TYPE REF TO cl_gui_textedit.

* Hauptcontainer für Stülibrowser erstellen
  CREATE OBJECT fl_dock
    EXPORTING
      container_name              = 'DOCKING_CONTAINER'
    EXCEPTIONS
      cntl_error                  = 1
      cntl_system_error           = 2
      create_error                = 3
      lifetime_error              = 4
      lifetime_dynpro_dynpro_link = 5.
  IF sy-subrc <> 0.
    MESSAGE x208(00) WITH 'ERROR'.
  ENDIF.

  IF fl_edit IS INITIAL.
    CREATE OBJECT fl_edit
      EXPORTING
        parent                     = fl_dock
        wordwrap_mode              = 2
        wordwrap_position          = 72
        wordwrap_to_linebreak_mode = 0.

    CALL METHOD fl_edit->set_toolbar_mode
      EXPORTING
        toolbar_mode = 0.
    CALL METHOD fl_edit->set_statusbar_mode
      EXPORTING
        statusbar_mode = 0.
  ENDIF.

* Text setzen
  CALL METHOD fl_edit->set_text_as_stream
    EXPORTING
      text = it_text.
Interessant an der Sache ist jedoch dass das Problem nur auftritt wenn vom Vollbild in den Fenstermodus umgeschaltet wird oder die Fenstergröße des GUIs verändert wird. Habt Ihr eine Idee woran das liegen könnte.

Besten Dank
Jens


Re: CL_GUI_TEXTEDIT im Subscreen

Beitrag von black_adept (Top Expert / 3261 / 54 / 576 ) » 24. Mai 2019 10:07

Moin Jens,

hört sich irgendwie nach GUI-Fehler an. ( Neuese GUI-Version einspielen ? )
Das Einzige was mir sonst einfällt wäre mal an den "Resizing"-Checkboxen des Custom-Containers oder des Subscreens rumzuspielen...

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
Prego (27. Mai 2019 13:06)

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: CL_GUI_TEXTEDIT im Subscreen

Beitrag von Prego (ForumUser / 91 / 16 / 1 ) » 27. Mai 2019 08:52

mmh, danke für den Tipp. Leider bringt das alles nix. Auf einem aktuelleren GUI tritt der selbe Effekt auf. Ich vermute das mir hier das Customizing der Bildsteuerung des Materialstammes in die Suppe spuckt. Wie ich das löse. Keine Ahnung.

Re: CL_GUI_TEXTEDIT im Subscreen

Beitrag von a-dead-trousers (Top Expert / 3241 / 82 / 818 ) » 27. Mai 2019 11:36

Blöde Idee:
Setz mal den "Modus" deines Containers bzw. des Controls explizit auf "Run".
SET_MODE( MODE = MODE_RUN ). Für mich schaut das im ersten Blick nach dem Modus "Design" aus.

Wo ich auch schon mal Zeichen-Probleme mit GUI-Controls hatte, ist, wenn das Alignment nicht explizit angegeben wird. Man möchte meinen, dass das implizit beim Initialisieren des Controls am Client passiert, aber dem ist oft (aber auch nicht immer) nicht so. Daher hab ich den Aufruf von SET_ALIGNMENT bei allen meinen Utility-Klassen zur Controlerzeugung immer automatisch drinnen. Sicher ist sicher.

Code: Alles auswählen.

* Default Alignment
ld_alignment = cl_gui_control=>align_at_left 
+ cl_gui_control=>align_at_right
+ cl_gui_control=>align_at_top 
+ cl_gui_control=>align_at_bottom.
Hin und wieder macht auch der Shellstyle Probleme:

Code: Alles auswählen.

* Default Shellstyle
ld_shellstyle = cl_gui_control=>ws_visible 
+ cl_gui_control=>ws_child.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Prego (27. Mai 2019 13:05)

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.07
Basis: 7.40

Re: CL_GUI_TEXTEDIT im Subscreen

Beitrag von Prego (ForumUser / 91 / 16 / 1 ) » 27. Mai 2019 13:05

Hallo Ihr 2,

leider nichts von alledem. Trotzdem oder gerade deswegen vielen Dank. Wieder was für andere Themen gelernt.

Ursache des ganzen ist, das eine Veränderung der Fenstergröße den PAI und PBO auslöst. Somit wurde der Docking-Container erneut erzeugt. Das hat zu der Misere geführt.

Manchmal hilft es einfach einen Break mehr zu setzen.

Seite 1 von 1


Aktuelle Forenbeiträge

Knobelaufgabe zum Wochenende / Wochenbeginn
vor 12 Stunden von a-dead-trousers 6 / 174
HTTP Request
vor 12 Stunden von a-dead-trousers 2 / 18
BSP-Seiten als Dienst - Fehler beim Aufrufen
vor 20 Stunden von Xilukarim 1 / 27
MATNR Feldlängenänderung von 18 auf 40
vor 23 Stunden von SAP_ENTWICKLER 4 / 149
CCS Bonusabrechnung
vor 23 Stunden von SAP_ENTWICKLER 1 / 18

Aktuelle Forenbeiträge

Knobelaufgabe zum Wochenende / Wochenbeginn
vor 12 Stunden von a-dead-trousers 6 / 174
HTTP Request
vor 12 Stunden von a-dead-trousers 2 / 18
BSP-Seiten als Dienst - Fehler beim Aufrufen
vor 20 Stunden von Xilukarim 1 / 27
MATNR Feldlängenänderung von 18 auf 40
vor 23 Stunden von SAP_ENTWICKLER 4 / 149
CCS Bonusabrechnung
vor 23 Stunden von SAP_ENTWICKLER 1 / 18

Unbeantwortete Forenbeiträge

BSP-Seiten als Dienst - Fehler beim Aufrufen
vor 20 Stunden von Xilukarim 1 / 27
CCS Bonusabrechnung
vor 23 Stunden von SAP_ENTWICKLER 1 / 18
Verfügbarkeitsprüfung
Gestern von NoraP 1 / 18
Verwaltung
Gestern von NoraP 1 / 15
At Selection-Screen
Gestern von L0w-RiDer 1 / 42