DOCKING_CONTAINER Parameter EXTENSION ?

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

DOCKING_CONTAINER Parameter EXTENSION ?

Beitrag von Nordlicht (Specialist / 304 / 8 / 3 ) »
Hallo.

Ich habe via Klasse cl_gui_docking_container einen Docking Container erzeugt. Beim Contructor kriegt der ja den Parameter EXTENSION mit. Den setze ich in meinem Programm mit 810.

Warum aber liefert mir unmittelbar im Anschluß die Methode 'get_extension' einen anderen Wert als meinen gesetzten zurück?

DATA: go_dock TYPE REF TO cl_gui_docking_container.
gv_dock_pos type i value 810.

CREATE OBJECT go_dock
EXPORTING
repid = sy-repid
dynnr = '2000'
extension = gv_dock_pos.

CALL METHOD go_dock->get_extension
IMPORTING
extension = gv_dock_pos.

* Zurück kommt hier nicht 810 sondern ein kleinerer Wert.


Wo ist da mein Denkfehler?

Ciao
Burkhart

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


Re: DOCKING_CONTAINER Parameter EXTENSION ?

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Laut http://www.tricktresor.de/blog/dockingcontainer/ handelt es sich um eine Angabe in Pixel der aktuellen Auflösung.
Vielleicht ist der Wert 810 zu groß für deinen Screen. Das Dynpro muss ja auch noch wo Platz haben. :wink:
Die GUI Controls nehmen oft selbst Korrekturen an den Eingabedaten vor, wenn die Werte "unsinnig" erscheinen.

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: DOCKING_CONTAINER Parameter EXTENSION ?

Beitrag von ewx (Top Expert / 4843 / 311 / 638 ) »
...oder es fehlt ein cl_gui_cfw=>flush( ) hinter dem Get_...

Re: DOCKING_CONTAINER Parameter EXTENSION ?

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
ewx hat geschrieben:...oder es fehlt ein cl_gui_cfw=>flush( ) hinter dem Get_...
Stimmt. Wald, Bäume... eh schon wissen :oops:
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: DOCKING_CONTAINER Parameter EXTENSION ?

Beitrag von Nordlicht (Specialist / 304 / 8 / 3 ) »
Hallo und danke für die Tips.

Leider geht es nicht. Hier mal ein Einfachcoding das ebenfalls nicht das liefert was ich möchte. Ich habe die Extension mal auf 600 gesetzt. Wird wie gewünscht angezeigt, liefert aber beim Verlassen des Programms (PAI) einen Wert der nur etwa halb so hoch ist. Irgendetwas mache ich völlig falsch oder ich erwarte Unmögliches :-(

Code: Alles auswählen.

*&---------------------------------------------------------------------*
*& Report  ZBL_DOCK
*&---------------------------------------------------------------------*

REPORT zbl_dock.

DATA:
  go_dock     TYPE REF TO   cl_gui_docking_container,
  gv_dock_pos TYPE         i VALUE 600. " Abdeckung des Docking-Containers

START-OF-SELECTION.
  CALL SCREEN 2000.

*&---------------------------------------------------------------------*
*&      Module  PBO_2000  OUTPUT
*&---------------------------------------------------------------------*
MODULE pbo_2000 OUTPUT.

  IF go_dock IS NOT BOUND.

    CREATE OBJECT go_dock
      EXPORTING
        repid     = sy-repid
        extension = 600. " Dynproabdeckung in 1/10-Prozent

*   DockingContainer unten andocken
    CALL METHOD go_dock->dock_at
      EXPORTING
        side = cl_gui_docking_container=>dock_at_bottom.

  ENDIF.


ENDMODULE.                 " PBO_2000  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_2000  INPUT
*----------------------------------------------------------------------*
MODULE user_command_2000 INPUT.

  cl_gui_cfw=>flush( ).

  CALL METHOD go_dock->get_extension
    IMPORTING
      extension = gv_dock_pos.

  cl_gui_cfw=>flush( ).

  BREAK-POINT.

  SET SCREEN 0.
  LEAVE SCREEN.


ENDMODULE.                 " USER_COMMAND_2000  INPUT

Der Vollständigkeit halber: Das Dynpro braucht natürlich noch die Ablauflogik:

PROCESS BEFORE OUTPUT.
MODULE: STATUS_2000,
PBO_2000.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_2000.

Tja. Was nun?

Ciao
Burkhart

Re: DOCKING_CONTAINER Parameter EXTENSION ?

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Was spricht gegen Parameter "RATIO"?


Code: Alles auswählen.

 CREATE OBJECT gr_docking
    EXPORTING
      repid     = gv_repid
      dynnr     = '2000'
*     extension = screen_size_left. "Größe: Pixel
      ratio     = 45.

Re: DOCKING_CONTAINER Parameter EXTENSION ?

Beitrag von Nordlicht (Specialist / 304 / 8 / 3 ) »
Eigentlich nichts. Ich würde trotzdem gerne den Parameter EXTENSION verstehen. Ich werde jetzt erstmal RATIO nehmen. Danke für den Tip.

;-)

Re: DOCKING_CONTAINER Parameter EXTENSION ?

Beitrag von black_adept (Top Expert / 4086 / 126 / 940 ) »
Hallo Burkhart,

du gibst im Constructor keine Metrik mit --> du verwendest die Defaultmetrik, welche wohl in etwa mit dem Ratio vergleichbar ist beim Constructor.
Bei GET_EXTENSION wird dann auch in der "aktuellen" Metrik für dich der Wert bereitgestellt - aber was für eine Metrik zu diesem Zeitpunkt gerade aktiv ist erschließt sich mir nicht. Ich habe bei deinem Beispiel kurz mal vor dem GET_EXTENSION ein SET_METRIC gemacht und bekomme dann folgende extensions zurückgeliefert:
0 --> 318 (was auch immer )
1 --> 675 (Pixel)
2 --> 238 (mm)

Wenn man hingegen im Constructor schon die Metric mitgibt, auf die sich die Extension bezieht ( also 1 für 600 Pixel ) ergeben sich dann folgende Werte

0 --> 600 ( scheinen jetzt Pixel zu sein )
1 --> 600 (Pixel)
2 --> 212 (mm)

Da kannst du jetzt draus ableiten was du willst....
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: DOCKING_CONTAINER Parameter EXTENSION ?

Beitrag von Nordlicht (Specialist / 304 / 8 / 3 ) »
Ratio ging auch nicht ...
:-(
Das hat nun allerdings das Fass zum Überlaufen gebracht (Muss wohl eine neue Kaffeemaschine kaufen).

Lösung: Mein Fehler war dass ich NACH dem CREATE für den Docking Container mit CALL METHOD go_dock->dock_at separat die Lage des Docking Containers gesetzt habe.
Das geht aber auch direkt per Parameter SIDE im Constructor. Und dann klappte es !

Ciao und Danke!
Burkhart

Seite 1 von 1

Vergleichbare Themen

3
Antw.
3376
Views
Docking Container im Docking Container
von GreatEMU » 25.04.2013 11:54 • Verfasst in ABAP Objects®
6
Antw.
5229
Views
cl_salv_table und Docking Container
von JohnLocklay » 22.07.2018 15:40 • Verfasst in ABAP Objects®
2
Antw.
2233
Views
Tree im Docking Container
von Balflear » 12.09.2017 10:29 • Verfasst in ABAP® Core
6
Antw.
6189
Views
Gesplitteter Docking-Container
von ralf.wenzel » 26.05.2013 18:33 • Verfasst in ABAP Objects®
0
Antw.
1547
Views
Abstand zum Top bei Docking Container
von Gotti » 30.04.2008 11:14 • Verfasst in ABAP Objects®

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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 3 Stunden von Bright4.5 1 / 64
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1711
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8316