Problem mit einem "zweigeteilten Bildschirm"

Benutzeroberflächen in SAP Systemen.

Problem mit einem "zweigeteilten Bildschirm"

Postby Yannic4553 » Wed Aug 18, 2004 9:43 am

Hallo Experten,

ich habe zur Zeit ein etwas skurriles Problem:

Ich habe eine Programm geschrieben, welches eine Anzeige einer PDF-Datei innerhalb des SAP ermöglicht.

Ich rufe hierzu das Dynpro 900 wie folgt auf:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.   CLASS CL_GUI_CFW DEFINITION LOAD.
  2.  
  3. *** DockingContainer auf dem Dynpro erzeugen
  4.   CREATE OBJECT GV_DOCKING
  5.     EXPORTING
  6.       REPID = GV_REPID
  7.       DYNNR = GV_DYNNR
  8.       SIDE  = GV_DOCKING->DOCK_AT_LEFT
  9.       RATIO = 50.
  10.  
  11. *** HTML-Control erzeugen
  12.   CREATE OBJECT GV_HTML_CONTROL
  13.     EXPORTING
  14.       PARENT = GV_DOCKING.
  15.  
  16. *** PDF anzeigen
  17.   CALL METHOD GV_HTML_CONTROL->SHOW_URL
  18.     EXPORTING
  19.       URL = GV_PDF_FILE.
  20.  
  21.   CALL METHOD CL_GUI_CFW=>FLUSH
  22.     EXCEPTIONS
  23.       OTHERS = 1.
  24.  
  25.   CALL SCREEN 900.
GeSHi ©


Wenn ich nun die PDF-Anzeige verlassen möchte (ich habe hierzu LEAVE TO SCREEN 0 auf den Zurück-Button gelegt), dann tritt folgendes Problem auf: Der Bildschirm ist zweigeteilt, d. h. auf der linken Seite sehe ich nach wie vor die PDF-Anzeige innerhalb von SAP auf der rechten Hälfte wird wieder der Selektionsbildschirm meines Reports angezeigt.

Wie kann ich die PDF-Anzeige endgültig "schließen", d.h. vom Dynpro 900 auf den ursprünglichen Selektionsbildschirm zurückkehren??? Das einzige was hier bisher funktioniert ist LEAVE PROGRAM. :wink:

Vielen Dank für eure Tipps!
Yannic4553
...
...
 
Posts: 121
Joined: Mon Feb 09, 2004 5:40 pm

Postby Edin1867 » Wed Aug 18, 2004 10:01 am

Moinsen.

Versuch mal, die Methode FREE des Dockers aufzurufen, dann müßte sich das Problem erledigt haben.

Gruss,
Haubi
Edin1867
...
...
 
Posts: 406
Joined: Wed Dec 18, 2002 11:50 am

Schade...

Postby Yannic4553 » Thu Aug 19, 2004 5:16 pm

Haubi hat geschrieben:Moinsen.

Versuch mal, die Methode FREE des Dockers aufzurufen, dann müßte sich das Problem erledigt haben.

Gruss,
Haubi


Hallo Haubi,

zuerst einmal vielen Dank für Deine Antwort.

Habe das mal ausprobiert:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. *** zurück auf Selektionsbildschirm
  2.     WHEN 'BACK'.
  3.       CALL METHOD GV_HTML_CONTROL->FREE
  4.         EXCEPTIONS
  5.           CNTL_ERROR        = 1
  6.           CNTL_SYSTEM_ERROR = 2
  7.           OTHERS            = 3.
  8.       IF SY-SUBRC NE 0.
  9. *Errorhandling
  10.       ENDIF.
  11.       LEAVE TO SCREEN 0.
GeSHi ©


Funktioniert leider nicht! :(

Ich habe noch immer den selben Effekt - auf der linken Hälfte sehe ich dann das Easy Access Menü in der rechten Bildschirmhälfte wird der ursprüngliche Selektionsbildschirm meines Reports aufgerufen.

Wie kann ich die linke Bildschirmhälfte "eliminieren"???

Vielen Dank!
Yannic4553
...
...
 
Posts: 121
Joined: Mon Feb 09, 2004 5:40 pm

Postby Ilja583 » Thu Aug 19, 2004 10:16 pm

Hi Stentor,

wo genau das Problem liegt, weiß ich nicht -aber das PDF-Plugin des Browsers scheint nicht mitzubekommen, wenn der Browser geschlossen wird. :(

Meld den Fehler mal bei SAP - /eigentlich/ sollte sowas nicht passieren.

Ein Workaround:

Nach (oder beim) Verlassen des Screen 900 lass den Browser nochmal ohne pdf-Plugin anspringen (z.b. mit einer nicht existenten Seite)
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.   CALL METHOD gv_html_control->show_url
  2.     EXPORTING
  3.       url = space.
  4.  
GeSHi ©

danach sollte sich dein Prog. wieder normal verhalten.
Ilja583
.....
.....
 
Posts: 1372
Joined: Wed Jan 08, 2003 3:00 pm

Hurra!

Postby Yannic4553 » Fri Aug 20, 2004 12:53 pm

Hi black_adept,

danke für Deine Hilfe!

Ich hab es jetzt hinbekommen:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. *** zurück auf Selektionsbildschirm
  2.     WHEN 'BACK'.
  3.       LEAVE TO SCREEN 0.
  4.  
  5.       CALL METHOD GV_HTML_CONTROL->FREE
  6.         EXCEPTIONS
  7.           CNTL_ERROR        = 1
  8.           CNTL_SYSTEM_ERROR = 2
  9.           OTHERS            = 3.
  10.       IF SY-SUBRC NE 0.
  11. *Errorhandling
  12.       ENDIF.
GeSHi ©


So funktioniert es... :D

Nochmals Danke!
Yannic4553
...
...
 
Posts: 121
Joined: Mon Feb 09, 2004 5:40 pm


Return to Dialogprogrammierung

Who is online

Users browsing this forum: No registered users and 15 guests