Dynamische Listausgabe

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

Dynamische Listausgabe

Beitrag von GERDLA (Specialist / 116 / 0 / 0 ) »
Hallo zusammen,

ich benötige etwas Starthilfe. Folgende Aufgabe:

Ein Kunde möchte in einem Selection Screen mittels Flags festlegen, welche Felder in der Ausgabe erscheinen sollen (Liste am Screen).

Wie oder mit welcher Methode könnte ich dies am besten angehen und realisieren, dass nur die bestimmten Felder in der Liste angezeigt werden,
je nach getroffener Anwahl und die entsprechenden Abstände nach Feldlänge richtig dargestellt werden.

Weiss im Moment nicht so richtig wo ansetzen. Hat irgendwer einen kleinen Tipp für mich. - Danke :)


grüsse

Gerhard

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


Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Wenn es eine einzeilige Ausgabe sein soll, dann benutz den ALV-Grid über die Klasse cl_gui_alv_grid .
Damit kann der User dann sich seine Spalten aussuchen, sie hinschieben wo er will, summieren wie er will, sortieren wie er wil usw.

Mehr dynamischer als über einen ALV-Grid geht sonst nix mehr.

Beitrag von GERDLA (Specialist / 116 / 0 / 0 ) »
DeathGuardian hat geschrieben:Wenn es eine einzeilige Ausgabe sein soll, dann benutz den ALV-Grid über die Klasse cl_gui_alv_grid .
Damit kann der User dann sich seine Spalten aussuchen, sie hinschieben wo er will, summieren wie er will, sortieren wie er wil usw.

Mehr dynamischer als über einen ALV-Grid geht sonst nix mehr.
Hallo Death Geardian,

erstmal Danke für die rasche Antwortund den Tipp.
Ausgabe nach ALV ist sicher eine gute Möglichkeit.

Der Kunde möchte aber als Liste am Screen und diese dann über den Drucker ausgeben (Bereichsthema ist Stücklistenauflösung). Er will also diese Felder in
der Liste wahlweise sich anzeigen lassen oder nicht,
und dies schon bei der Selection festlegen.

gruss

gerhard

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

Die Auswahloptionen wirst du wahrscheindlich mit Parameter - Checkboxen realisieren.
Dann kannst du vor der Ausgabe die Checkboxen abfragen. Bei einer Listausgabe:

Code: Alles auswählen.

form write_list.
case 'X'.
  when pa_nr1.
    write field1.
  when pa_nr2.
    write field2.
  ...
  ...
endcase.
endform.
Wenn du das ganze in ALV ausgeben willst, kannst du in der selben Form den Feldkatalog gestalten:

Code: Alles auswählen.

form fieldcatalog.
case 'X'.
  when pa_nr1.
    gs_fieldcatalog-fieldname = 'FELD1'.
    ...
  when pa_nr2.
    gs_fieldcatalog-fieldname = 'FELD2'.
  ...
  ...
endcase.
endform.
Ich hoffe ich konnte dir helfen. :P

mfg Andi
Hauptsoch: HAUPTSOCH!

Beitrag von GERDLA (Specialist / 116 / 0 / 0 ) »
Andreas G hat geschrieben:Hallo GERDLA.

Die Auswahloptionen wirst du wahrscheindlich mit Parameter - Checkboxen realisieren.
Dann kannst du vor der Ausgabe die Checkboxen abfragen. Bei einer Listausgabe:

Code: Alles auswählen.

form write_list.
case 'X'.
  when pa_nr1.
    write field1.
  when pa_nr2.
    write field2.
  ...
  ...
endcase.
endform.
Wenn du das ganze in ALV ausgeben willst, kannst du in der selben Form den Feldkatalog gestalten:

Code: Alles auswählen.

form fieldcatalog.
case 'X'.
  when pa_nr1.
    gs_fieldcatalog-fieldname = 'FELD1'.
    ...
  when pa_nr2.
    gs_fieldcatalog-fieldname = 'FELD2'.
  ...
  ...
endcase.
endform.
Ich hoffe ich konnte dir helfen. :P

mfg Andi

Hallo Andi,

Danke für die Info. Ich habe wahrscheinlich zu
kompliziert gedacht. Muss dann nur noch die Offset
irgendwie errechnen und dann ausgeben, sollte ich hinbekommen.

Ich dachte ich müsste irgendwie über fieldsymbole und assign oder so gehen und eine dynamische struktur aufbauen, aber geht auch einfacher wie ich sehe :?

danke

gruss

gerhard

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

bin auf einen Fehler bei meinem Vorschlag draufgekommen: Die Abfrage mit einem CASE ist so wie ich gezeigt habe falsch, du musst wahrscheinlich jeden einzelnen Parameter mit ein IF - Bedingung abfragen => ist ein bisschen Codeintensiver, dafür aber richtiger :wink:

Code: Alles auswählen.

form write_list. 
IF pa_nr1 eq 'X'. 
    write field1. 
endif.
if pa_nr2 eq 'X'.
    write field2.
endif.
...
mfg Andi
Hauptsoch: HAUPTSOCH!

Beitrag von GERDLA (Specialist / 116 / 0 / 0 ) »
Andreas G hat geschrieben:Hallo nochmal.

bin auf einen Fehler bei meinem Vorschlag draufgekommen: Die Abfrage mit einem CASE ist so wie ich gezeigt habe falsch, du musst wahrscheinlich jeden einzelnen Parameter mit ein IF - Bedingung abfragen => ist ein bisschen Codeintensiver, dafür aber richtiger :wink:

Code: Alles auswählen.

form write_list. 
IF pa_nr1 eq 'X'. 
    write field1. 
endif.
if pa_nr2 eq 'X'.
    write field2.
endif.
...
mfg Andi

Danke :)

Beitrag von black_adept (Top Expert / 4086 / 126 / 940 ) »
GERDLA hat geschrieben: Hallo Death Geardian,

erstmal Danke für die rasche Antwortund den Tipp.
Ausgabe nach ALV ist sicher eine gute Möglichkeit.

Der Kunde möchte aber als Liste am Screen und diese dann über den Drucker ausgeben (Bereichsthema ist Stücklistenauflösung). Er will also diese Felder in
der Liste wahlweise sich anzeigen lassen oder nicht,
und dies schon bei der Selection festlegen.

gruss

gerhard
Hi Gerhard,

der ALV ist auch das Mittel der Wahl, wenn der Kunde gewisse Felder ausblenden will.

Du musst lediglich beim Aufbau des Feldkatalogs für den ALV die Felder, die nicht ausgegeben werden sollen auf "NO_OUT = 'X'" setzten und sie halten sich vornehm im Feldkatalog zurück anstatt auf der Liste zu erscheinen.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von GERDLA (Specialist / 116 / 0 / 0 ) »
black_adept hat geschrieben:
GERDLA hat geschrieben: Hallo Death Geardian,

erstmal Danke für die rasche Antwortund den Tipp.
Ausgabe nach ALV ist sicher eine gute Möglichkeit.

Der Kunde möchte aber als Liste am Screen und diese dann über den Drucker ausgeben (Bereichsthema ist Stücklistenauflösung). Er will also diese Felder in
der Liste wahlweise sich anzeigen lassen oder nicht,
und dies schon bei der Selection festlegen.

gruss

gerhard
Hi Gerhard,

der ALV ist auch das Mittel der Wahl, wenn der Kunde gewisse Felder ausblenden will.

Du musst lediglich beim Aufbau des Feldkatalogs für den ALV die Felder, die nicht ausgegeben werden sollen auf "NO_OUT = 'X'" setzten und sie halten sich vornehm im Feldkatalog zurück anstatt auf der Liste zu erscheinen.
Hallo black_adept,

wieder ein Stückchen gelernt. Danke :wink:

gruss

gerhard

Seite 1 von 1

Vergleichbare Themen

4
Antw.
1974
Views
Listausgabe in Methode
von ralf.wenzel » 22.08.2015 14:38 • Verfasst in ABAP Objects®
4
Antw.
1971
Views
Listausgabe begrenzen
von thiemf » 30.10.2007 15:51 • Verfasst in ABAP® für Anfänger
4
Antw.
2615
Views
Formatierungsproblem bei Listausgabe
von Kali » 25.10.2012 10:01 • Verfasst in ABAP® für Anfänger
2
Antw.
2958
Views
Listausgabe auf x- Treffer begrenzen
von thiemf » 19.11.2007 13:50 • Verfasst in ABAP® für Anfänger
5
Antw.
8788
Views
Schriftgröße der Listausgabe anpassen
von itmeli » 22.02.2005 11:36 • Verfasst in ABAP® für Anfänger

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 15 Stunden von Bright4.5 1 / 328
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1969
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8570