optimale Spaltenbreite

Getting started ... Alles für einen gelungenen Start.
8 Beiträge • Seite 1 von 1
8 Beiträge Seite 1 von 1

optimale Spaltenbreite

Beitrag von Kojak (ForumUser / 63 / 0 / 0 ) »
Hi,

ich hab schon wieder ein kleineres Problem, komm aber leider nicht auf die Lösung.

Ich arbeite mit dem Funktionsbaustein REUSE_ALV_GRID_DISPLAY und möchte die Spaltenbreite optimieren. so weit so gut.

Ich gebe also in der layout_init an

Code: Alles auswählen.

FORM layout_init.
...
  layout-colwidth_optimize = 'X'.
...
ENDFORM.                    " layout_init
und dieses Layout übergebe ich dem FuBa.

Das funktioniert auch schon, nur habe ich nun eine Spaltenüberschrift kürzer gemacht und wenn ich nun in die Spalte klicke wird ein Datum geholt. Dieses Datum ist länger als der Spaltenname und so steht da nur z.b. 19.01... drinnen statt das komplette Datum.
Ich möchte aber nicht Standardmäßig das Feld mit '00000000' befüllt haben, da das sonst zu Fehlern bei meinen Rechnungen führen kann.

Jemand ne Idee? Wird wahrscheinlich nur wieder ein Parameter zu setzen sein - finde den aber nicht ... :D

Danke

Ciao Kojak

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


Beitrag von Arno Simon (ForumUser / 84 / 0 / 1 ) »
Hi Kojak,

mea Culpa, aber irgendwie verstehe ich Dein Problem im Moment nicht so ganz!

Was genau ist jetzt Dein Problem?

vG

Arno

Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
Moinsen.

Wenn ich Dich richtig verstanden habe wird die betreffende Spalte bei ersten Aufruf des Grids korrekterweise "schmal" dargestellt. Nachdem der Wert in einer Zelle der Spalte geändert wird "vergisst" das Control aber die Spalte neu zu optimieren, so dass der Wert nicht vollständig ausgegeben wird.

Beim Grid-Control gibt es eine Methode "SET_AUTOREDRAW", die hier helfen könnte. Ich weiss aber nicht, ob man beim REUSE-Baustein einen entsprechenden Parameter mitgeben kann. Ich würde nochmal einen Blick auf die Parameter werfen und nach Begriffen wie "redraw" suchen.

HTH,
Haubi
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

Beitrag von Kojak (ForumUser / 63 / 0 / 0 ) »
Hi Arno Simon,

Mein Problem ist, das ich anfangs keine Werte in der Spalte datum stehen habe, also die Spaltenbreite auf datum angepasst wird. Wenn ich nun in eine Zelle dieser Spalte ein Datum einfüge, verändert sich die Spaltenbreite nicht mehr auch bei einem Refresh, d.h. ich sehe nicht das komplette Datum sondern nur einen Teil wie eben z.B. 19.01... statt 19.01.2005. Möchte aber auch nicht unbedingt die Anwender zwingen die Spaltenoptimierung durchzuführen => Spaltenbreite sollte zu dem Zeitpunkt aktualisiert werden wenn ich das Datum eingebe.

Hoffe ich habe mich diesmal verständlicher ausgedrückt ... :D

Beitrag von Kojak (ForumUser / 63 / 0 / 0 ) »
exakt Haubi ... :D

Ich durchsuch mal den Baustein.

Danke schon mal!

Beitrag von Kojak (ForumUser / 63 / 0 / 0 ) »
gesucht, aber leider nichts dergleichen gefunden ... :?

Beitrag von Andreas G (Specialist / 175 / 0 / 0 ) »
Hallo.

Versuch mal bei den Komponenten der Strucktur LVC_S_LAYOUT eine Lösung zu suchen.

Code: Alles auswählen.

layout TYPE lvc_s_layo
Doppelklick auf lvc_s_layo
=> dort kannst du nachschaun ob es Komponenten gibt,
die du gebrauchen kannst.
und probier mal:

Code: Alles auswählen.

layout-cwidth_opt = 'X'.
mfg Andi

Beitrag von Gast ( / / 0 / 3 ) »
Haubi hat geschrieben:Beim Grid-Control gibt es eine Methode "SET_AUTOREDRAW", die hier helfen könnte.
Ich weiß zwar nicht was die Methode SET_AUTOREDRAW genau macht, aber man kann sie mit einem Umweg auch auf den Reuse-ALV anwenden.

Code: Alles auswählen.

*In der User-Command-Form:
*Referenz auf den ALV definieren 
DATA: g_ref_alv TYPE REF TO cl_gui_alv_grid.

* Referenz auf ALV hohlen
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
     IMPORTING
        e_grid = g_ref_alv.

* Und dann die gewünschte Methode aufrufen
CALL METHOD l_ref_alv->set_autoredraw
     IMPORTING i_enable = 1.
Das ganze ist mehr als braun und sollte ausgiebig getestet werden.

Eine andere Möglichkeit das auto-optimizing erneut anzustoßen währe den GRID nach jeder Datenänderung neu zu erzeugen. Also im User-Comand pw_selfield-exit = 'X' setzten um den aktuellen ALV zuverlassen und dann einen erneut aufbauen lassen.

Gruß Hendrik

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1348
Views
optimale spaltenbreite alv funktioniert nicht
von c oco » 26.06.2012 16:50 • Verfasst in ABAP® für Anfänger
4
Antw.
5998
Views
Optimale Spaltenbreite in Standard Transaktion
von Luny » 25.09.2012 16:27 • Verfasst in SAP - Allgemeines
4
Antw.
2234
Views
ALV Spaltenbreite
von Andrzej » 04.05.2017 09:33 • Verfasst in ABAP® für Anfänger
3
Antw.
3049
Views
cl_gui_alv_grid: Spaltenbreite
von ralf.wenzel » 07.08.2013 18:22 • Verfasst in ABAP Objects®
2
Antw.
2033
Views
Excel: max. Spaltenbreite 256?
von kevinh » 19.12.2013 11:27 • Verfasst in ABAP® Core

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 Tagen von Bright4.5 1 / 777
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2396
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 8983