ALV Ausgabe

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

ALV Ausgabe

Beitrag von Spyder (ForumUser / 2 / 0 / 0 ) »
Hallo,

bin relativ neu in der ABAP-Welt und stehe vor der folgenden Aufgabe: Ich möchte eine Zeile aus einer Tabelle auslesen. Diese soll dann in einem editierbaren ALV ausgegeben werden. Nur jetzt mit zwei Spalten. In der ersten steht der Spaltenname der Ursprungstabelle und in der zweiten der ausgelesene Wert. Die Spaltennamen sind nicht fest bekannt, müssen also aus der Ursprungstabelle ausgelesen werden, genau wie die Werte.

Habe folgende Tabellen angelegt:

Code: Alles auswählen.

DATA: tab_obj TYPE <tabellex>.
DATA: i_tab TYPE TABLE OF <tabellex>.
Anschließend befülle ich mit einem SQL-Select das Objekt tab_obj. Danach wird dies in i_tab eingetragen und im ALV angezeigt.
Das Problem ist das die Anzeige bisher n Spalten hat, also wie in der Ursprungstabelle. Möchte aber nur 2 wie oben beschrieben.

Wäre super wenn mir das jemand für Anfänger verständlich erklären könnte :-)

Danke

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


Re: ALV Ausgabe

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
hi!

hmm... Eine Tabelle hat ja nicht nur mehrere Spalten sondern auch mehrere ZEILEN und wie willst du die dann bearbeiten?
Aber das sind Details über die du dir selbst den Kopf zerbrechen musst :P

Schau dir mal die Hilfe zum ABAP-Befehl ASSIGN durch. Vor allem den Abschnitt ASSIGN COMPONENT OF STRUCTURE.
Damit kann man jede Spalte einer Struktur (Eine Tabelle ist grob eine Liste von mehreren Strukturen) entweder per Index oder per Name an ein Feldsymbol zuweisen.

Du kannst dann in einem LOOP AT über die Ursprungstabelle die Daten in die neue Tabelle schaufeln, wenn dir Komponentennamen direkt bekannt sind.
Sollte das nicht der Fall sein, kannst du noch entweder mittels Funktionsbaustein DDIF_FIELDINFO_GET (Name der Struktur statisch bekannt) oder Klassenmethode CL_ABAP_TYPEDESCR=>DESCIRBE_BY_DATA (dynamisch, sofern das System RTTI bereits unterstützt) die Elemente der Struktur auslesen.

Grober Aufbau für IMPORT

Code: Alles auswählen.

loop at <quelle> assigning <zeile1>
  loop at <felder> assigning <feld>
    assign component <feld>-name of structure <zeile1> to <wert>.
    append initial line to <ziel> assigning <zeile2>.
    <zeile2>-name = <feld>-name.
    <zeile2>-wert = <wert>.
  endloop.
endloop.
Grober Aufbau für EXPORT

Code: Alles auswählen.

loop at <felder> assigning <feld>
  append initial line to <quelle> assigning <zeile1>.
  loop at <ziel> assigning <zeile2> where name = <feld>-name.
    assign component <feld>-name of structure <zeile1> to <wert>.
    <wert> = <zeile2>-wert.
  endloop.
endloop.
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: ALV Ausgabe

Beitrag von Spyder (ForumUser / 2 / 0 / 0 ) »
Hi,

danke schonmal für deine Hilfe. Ich lese eine Zeile aus einer vorhandenen Tabelle aus, daher nur eine Zeile und packe die in ein neues Objekt:

Code: Alles auswählen.

DATA: i_ursprungstabelle TYPE STANDARD TABLE OF ursprungstabelle.
DATA: wb_obj LIKE *ursprungstabelle*.
dann befüllen:

Code: Alles auswählen.

 SELECT *
        FROM ursprungstabelle
        INTO wb_obj
        WHERE ...
ENDSELECT.
JEtzt noch:

Code: Alles auswählen.

INSERT wb_obj INTO TABLE i_ursprungstabelle.
Das Problem ist ich hab jetzt genau die eine Zeile wieder in meinem GRID. Wie kann ich jetzt i_ursprungstabelle (mit beliebig vielen Spalten) so darstellen das in der ersten spalte die kurzbezeichnung der spalte steht und in der zweiten der wert. Die Kurzbezeichnung müsste ich quasi aus der ursprungstabelle auslesen, da diese in der i_ursprungstabelle nicht vorhanden ist.

Können Tabellenfelder derselben Spalte unterschiedlichen Typs sein? Das Ursprungsproblem ist die Übericht, eine 200 Sapltenbreite Tabelle im ALV ist nicht so übersichtlich wie 200 Zeilen in einer zweispaltigne Tabelle

Gruß

Re: ALV Ausgabe

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
hi!
Spyder hat geschrieben: Das Problem ist ich hab jetzt genau die eine Zeile wieder in meinem GRID. Wie kann ich jetzt i_ursprungstabelle (mit beliebig vielen Spalten) so darstellen das in der ersten spalte die kurzbezeichnung der spalte steht und in der zweiten der wert. Die Kurzbezeichnung müsste ich quasi aus der ursprungstabelle auslesen, da diese in der i_ursprungstabelle nicht vorhanden ist.
Mit dem Baustein DDIF_FIELDINFO_GET kannst du auch die Kurzbezeichnungen der Felder auslesen. In der Bearbeitungs-Tabelle brauchst du dann drei Felder: Techn. Name, Kurzbezeichnung und Wert. Wobei du den Techn. Name ausblenden kannst.
Spyder hat geschrieben: Können Tabellenfelder derselben Spalte unterschiedlichen Typs sein? Das Ursprungsproblem ist die Übericht, eine 200 Sapltenbreite Tabelle im ALV ist nicht so übersichtlich wie 200 Zeilen in einer zweispaltigne Tabelle
Nein, unterschiedliche Typen sind nicht möglich, aber du kannst alle Werte in einen String-Feld ausgeben lassen und musst dann halt vor dem Zurückspeichern jeden Wert auf Gültigkeit prüfen.

mfg
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

Seite 1 von 1

Vergleichbare Themen

7
Antw.
2622
Views
Write-Ausgabe vor Alv-Grid Ausgabe
von L0w-RiDer » 14.08.2019 14:09 • Verfasst in ABAP® für Anfänger
0
Antw.
2100
Views
ALV-Ausgabe
von eddi89 » 16.12.2009 15:49 • Verfasst in ABAP Objects®
1
Antw.
1346
Views
Ausgabe DB
von Clarins » 21.05.2017 14:53 • Verfasst in ABAP® für Anfänger
13
Antw.
4335
Views
ALV Ausgabe
von holderda » 11.06.2014 10:41 • Verfasst in ABAP® für Anfänger
3
Antw.
2032
Views
ALV Ausgabe einschränken
von robin1at » 12.01.2006 16:15 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Zeilenumbrüche ersetzen
vor 3 Stunden von rob_abc 4 / 30
Dialog-Container mit Toolbar/Status
vor 23 Stunden von tar gelöst 19 / 2090
SAP Trial Version für SAP Fiori
Gestern von tar 2 / 1446

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

Zeilenumbrüche ersetzen
vor 3 Stunden von rob_abc 4 / 30
Dialog-Container mit Toolbar/Status
vor 23 Stunden von tar gelöst 19 / 2090
SAP Trial Version für SAP Fiori
Gestern von tar 2 / 1446

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
Gestern von Bright4.5 1 / 510
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2145
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8741