GUI Container ohne Dynpro nach Selektion-Screen ausgeben

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

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

GUI Container ohne Dynpro nach Selektion-Screen ausgeben

Beitrag von Legxis (Specialist / 160 / 90 / 28 ) »
Hallo zusammen,

ich verwende den cl_gui_html_viewer, um eine HTML Vorschau auszugeben und würde es gerne vermeiden, ein Dynpro erstellen und mit PBO/PAI arbeiten zu müssen.

Ich weiß, dass man einen default screen benutzen kann, allerdings scheint dies nur zu funktionieren, wenn ich vorher keinen Selektion-Screen habe.

Hier zwei Beispielprogramme, das ohne den Selektion-Screen funktioniert, das andere allerdings nicht.

Gibt es da eine Möglichkeit?

Code: Alles auswählen.

DATA: lo_dock TYPE REF TO cl_gui_docking_container,
      lo_html TYPE REF TO cl_gui_html_viewer,
      lv_url  TYPE char1024,
      lt_soli TYPE soli_tab,
      wa_soli TYPE string,
      h_mdate TYPE d,
      h_moend TYPE c LENGTH 10.

* HTML Beispieldaten:
wa_soli = '<html><body>Sehr geehrte Damen und Herren,'.
APPEND wa_soli TO lt_soli.
wa_soli = '<br><h3>Wir haben Angebote für Sie!</h3><br>'.
APPEND wa_soli TO lt_soli.
wa_soli = '<table border = "1">'.
APPEND wa_soli TO lt_soli.
wa_soli = '<tr><td>Angebot 1</td><td>25% Rabatt</td></tr>'.
APPEND wa_soli TO lt_soli.
wa_soli = '<tr><td>Angebot 1</td><td>50% Rabatt</td></tr>'.
APPEND wa_soli TO lt_soli.
wa_soli = '<tr><td>Angebot 1</td><td>75% Rabatt</td></tr></table>'.
APPEND wa_soli TO lt_soli.
wa_soli = '<h4>Wir freuen uns auf Ihren Besuch!</h4>'.
APPEND wa_soli TO lt_soli.
wa_soli = '</body></html>'.
APPEND wa_soli TO lt_soli.

* Container erzeugen
CREATE OBJECT lo_dock
  EXPORTING
    ratio                   = 85
    side                    = cl_gui_docking_container=>dock_at_bottom
    no_autodef_progid_dynnr = 'X'.

* HTML-Viewer erzeugen und dem Container zuweisen
CREATE OBJECT lo_html
  EXPORTING
    parent = lo_dock.

* URL zu HTML Daten holen
lo_html->load_data( IMPORTING
                     assigned_url = lv_url
                   CHANGING
                     data_table   = lt_soli ).

* HTML anzeigen
lo_html->show_url( url = lv_url ).

* Ausgabe von cl_gui_container=>default_screen erzwingen
h_mdate = cl_hrpad_date_computations=>get_last_day_in_month( sy-datum ).
WRITE h_mdate TO h_moend.
WRITE: 'Zeitraum: ', sy-datum, ' - ', h_moend.

Code: Alles auswählen.

DATA: lo_dock TYPE REF TO cl_gui_docking_container,
      lo_html TYPE REF TO cl_gui_html_viewer,
      lv_url  TYPE char1024,
      lt_soli TYPE soli_tab,
      wa_soli TYPE string,
      h_mdate TYPE d,
      h_moend TYPE c LENGTH 10.

SELECTION-SCREEN: BEGIN OF BLOCK param.

PARAMETERS: p_begda TYPE sy-datum,
            p_endda TYPE sy-datum.

SELECTION-SCREEN: END OF BLOCK param.

AT SELECTION-SCREEN.

  CASE sy-ucomm.

    WHEN 'ONLI'.

*     HTML Beispieldaten:
      wa_soli = '<html><body>Sehr geehrte Damen und Herren,'.
      APPEND wa_soli TO lt_soli.
      wa_soli = '<br><h3>Wir haben Angebote für Sie!</h3><br>'.
      APPEND wa_soli TO lt_soli.
      wa_soli = '<table border = "1">'.
      APPEND wa_soli TO lt_soli.
      wa_soli = '<tr><td>Angebot 1</td><td>25% Rabatt</td></tr>'.
      APPEND wa_soli TO lt_soli.
      wa_soli = '<tr><td>Angebot 1</td><td>50% Rabatt</td></tr>'.
      APPEND wa_soli TO lt_soli.
      wa_soli = '<tr><td>Angebot 1</td><td>75% Rabatt</td></tr></table>'.
      APPEND wa_soli TO lt_soli.
      wa_soli = '<h4>Wir freuen uns auf Ihren Besuch!</h4>'.
      APPEND wa_soli TO lt_soli.
      wa_soli = '</body></html>'.
      APPEND wa_soli TO lt_soli.

*     Container erzeugen
      CREATE OBJECT lo_dock
        EXPORTING
          ratio                   = 85
          side                    = cl_gui_docking_container=>dock_at_bottom
          no_autodef_progid_dynnr = 'X'.

*     HTML-Viewer erzeugen und dem Container zuweisen
      CREATE OBJECT lo_html
        EXPORTING
          parent = lo_dock.

*     URL zu HTML Daten holen
      lo_html->load_data( IMPORTING
                           assigned_url = lv_url
                         CHANGING
                           data_table   = lt_soli ).

*     HTML anzeigen
      lo_html->show_url( url = lv_url ).

*     Ausgabe von cl_gui_container=>default_screen erzwingen
      WRITE: 'Zeitraum: ', p_begda, ' - ', p_endda.

  ENDCASE.
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )

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


Re: GUI Container ohne Dynpro nach Selektion-Screen ausgeben

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Variante 1:

Code: Alles auswählen.

REPORT.
START-OF-SELECTION.
  WRITE space.
<<dein code aus Beispiel 1>>
Variante 2:

Code: Alles auswählen.

REPORT.

START-OF-SELECTION.
  WRITE space.
  DATA...

* HTML Beispieldaten:
 [...]
* HTML-Viewer erzeugen und dem Container zuweisen
  CREATE OBJECT lo_html
    EXPORTING
      parent = cl_gui_container=>screen0. "<==== 

* URL zu HTML Daten holen
[...]

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag (Insgesamt 2):
LegxisIcke0801


Re: GUI Container ohne Dynpro nach Selektion-Screen ausgeben

Beitrag von Legxis (Specialist / 160 / 90 / 28 ) »
Danke Enno =)
Wie markiert man denn jetzt eigentlich den Thread als gelöst? Ich finde es auf dieser neuen Seite nicht
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )

Seite 1 von 1

Vergleichbare Themen

1
Antw.
7894
Views
screen in container (cl_gui_container)
von test'r » 25.01.2006 16:05 • Verfasst in ABAP Objects®
7
Antw.
3659
Views
Überschrift für den Selektion-Screen eines Reports
von Legxis » 11.04.2018 14:37 • Verfasst in ABAP® für Anfänger
1
Antw.
1497
Views
Html Container in ALV-Grid ausgeben
von Katta » 07.08.2007 15:24 • Verfasst in ABAP® für Anfänger
2
Antw.
2058
Views
Dynpro: Dropdown werte übergabe von Screen 1 auf Screen 2
von erzoo24 » 28.02.2017 15:25 • Verfasst in ABAP® für Anfänger
2
Antw.
2542
Views
Kein Varianten-Admin im Splitter-Container auf Default Screen
von tonyparzonka » 09.03.2023 12:45 • 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 5 Stunden von tar 8 / 184
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1489

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 5 Stunden von tar 8 / 184
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1489

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822