Leere Spalte in ALV einbinden

Getting started ... Alles für einen gelungenen Start.
20 Beiträge • Seite 1 von 2 (current) Nächste
20 Beiträge Seite 1 von 2 (current) Nächste

Leere Spalte in ALV einbinden

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
Hallo zusammen,

bin hier grad etwas am tüfteln.
Ich will in einem ALV, dem eine Tabelle mit Werten übergeben wird, eine leere Spalte an eine bestimmte Pos. einbinden.
Das geht mitm Feldkatalog. Problem an der Sache, diese zusätzliche Spalte gibt es in der Wertetabelle nicht (was ja logisch ist), dennoch zeigt der ALV die Spalte mit Werten der vorherigen Spalte an.

Kann mir das nicht erklären...

Kurz umfasst. (Beispiel, stimmt nicht mit meiner struktur überein...wäre zuviel zum schreiben)

Habe in der Wertetabelle 4 Felder:
Mandt | System | Username | Modus

Dem Feldkatalog fürs ALV füge ich zwischen System und Username eine Spalte ein:

Code: Alles auswählen.

    CLEAR lf_fieldcat.
    lf_fieldcat-col_pos = 3.
    lf_fieldcat-outputlen = 5.
    lf_fieldcat-tabname = '1'.
    lf_fieldcat-fieldname = 'PHALTER'.
    lf_fieldcat-scrtext_l = space.
    lf_fieldcat-scrtext_m = space.
    lf_fieldcat-scrtext_s = space.
    APPEND lf_fieldcat TO p_fieldcat.
Nun sollte die Ausgabe folgendermassen sein

Code: Alles auswählen.

Mandt | System |   | Username | Modus
300   | 1      |   | Ich      | 4
Das funktioniert auch...nur sind in der neuen Spalte (also zwischen System und Username), die Daten der Spalte System zusätzlich drin.

Sprich das ALV zeigt:

Code: Alles auswählen.

Mandt | System |   | Username | Modus
300   | 1      | 1 | Ich      | 4
Wie kann ich das umgehen?

Thx 4 Help.

gruß
Markus

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


Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Am einfachsten geht das, wenn du deiner Itab einfach ein Feld das du nicht fühlst mitgibst und das dann auf das Grid bringst.

Der Feldkatalog sollte nämlich immer nur Felder beinhalten, die auch in der Auszugebende ITab drinnen sind.

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
DeathGuardian hat geschrieben:Am einfachsten geht das, wenn du deiner Itab einfach ein Feld das du nicht fühlst mitgibst und das dann auf das Grid bringst.

Der Feldkatalog sollte nämlich immer nur Felder beinhalten, die auch in der Auszugebende ITab drinnen sind.
Hi,

das wollte ich eigentlich vermeiden, da diese int. Tabelle für die Ausgabe durch eine DDIC Struktur typisiert ist. Aber was solls...dann wird da halt ein 'geist' feld eingefügt.

Thx.

Gruß
Markus

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Dafür musst die DDIC struktur nicht unbedingt erweitern.

Nur im Coding halt eine neue Struktur erzeugen.

Beispiel:

Code: Alles auswählen.

TYPES: Begin of t_struk.
include structure deine_ddic_struktur.
Types: neues_feld type c,
END OF t_struk.

DATA: itab type table of t_struk.

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
DeathGuardian hat geschrieben:Dafür musst die DDIC struktur nicht unbedingt erweitern.

Nur im Coding halt eine neue Struktur erzeugen.

Beispiel:

Code: Alles auswählen.

TYPES: Begin of t_struk.
include structure deine_ddic_struktur.
Types: neues_feld type c,
END OF t_struk.

DATA: itab type table of t_struk.
Ich erstelle den Feldkatalog direkt aus der DDIC Struktur. Wenn ich nun ne int. Tabelle verwende, muss ich das alles umbauen...dafür hab ich eigentlich keine Zeit ;)

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
MarkusW hat geschrieben:
DeathGuardian hat geschrieben:Dafür musst die DDIC struktur nicht unbedingt erweitern.

Nur im Coding halt eine neue Struktur erzeugen.

Beispiel:

Code: Alles auswählen.

TYPES: Begin of t_struk.
include structure deine_ddic_struktur.
Types: neues_feld type c,
END OF t_struk.

DATA: itab type table of t_struk.
Ich erstelle den Feldkatalog direkt aus der DDIC Struktur. Wenn ich nun ne int. Tabelle verwende, muss ich das alles umbauen...dafür hab ich eigentlich keine Zeit ;)
Wieso?
Den Fieldcat kannst auch so aus dem DDIC hollen und um das eine Feld erweitern. Das funkt auch mit der eigenen Struktur(da sie ja am anfang wie deine DDIC ist).

Naja, aber wenns eh nix ausmachen sollte, wenn die DDIC struktur geändert wird, gehts ja auch so. :wink:

Re: Leere Spalte in ALV einbinden

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
MarkusW hat geschrieben:Ich will in einem ALV, dem eine Tabelle mit Werten übergeben wird, eine leere Spalte an eine bestimmte Pos. einbinden.
Ich weiß, ich bin neugierig - warum?


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Leere Spalte in ALV einbinden

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
ralf.wenzel hat geschrieben:
MarkusW hat geschrieben:Ich will in einem ALV, dem eine Tabelle mit Werten übergeben wird, eine leere Spalte an eine bestimmte Pos. einbinden.
Ich weiß, ich bin neugierig - warum?


Ralf
In dem ALV werden Daten aus 2 unterschiedlichen Datenbanktabellen angezeigt...diese werden innerhalb des Prog. unterschiedlich verarbeitet, aber eben in einem ALV ausgegeben. Diese Leere Spalte soll als 'trenner' dienen.
einfach nur ein Platzhalter um die 2 Tabellen optisch zu trennen.

Gruß
Markus

Re: Leere Spalte in ALV einbinden

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
MarkusW hat geschrieben:einfach nur ein Platzhalter um die 2 Tabellen optisch zu trennen.
Nur dafür?
Dafür gibts ne "schönere" Methode.
Einfach den Spalten im Fieldcat Farben/COLOR mitgeben. :idea:

Re: Leere Spalte in ALV einbinden

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
DeathGuardian hat geschrieben:
MarkusW hat geschrieben:einfach nur ein Platzhalter um die 2 Tabellen optisch zu trennen.
Nur dafür?
Dafür gibts ne "schönere" Methode.
Einfach den Spalten im Fieldcat Farben/COLOR mitgeben. :idea:
Das hatte ich gemacht...dann kam aber das Phänomen zustande, dass ich die werte aus der vorherigen Spalte in dieser 'Platzhalter' Spalte drin hatte...
Fragt mich nicht wieso.

Hab das ding jetzt in die DDIC Struktur aufgenommen und nu gehts.

Gruß
Markus

Re: Leere Spalte in ALV einbinden

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
MarkusW hat geschrieben:Das hatte ich gemacht...dann kam aber das Phänomen zustande, dass ich die werte aus der vorherigen Spalte in dieser 'Platzhalter' Spalte drin hatte...
Dann hast du was falsch gemacht.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Leere Spalte in ALV einbinden

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
ralf.wenzel hat geschrieben:
MarkusW hat geschrieben:Das hatte ich gemacht...dann kam aber das Phänomen zustande, dass ich die werte aus der vorherigen Spalte in dieser 'Platzhalter' Spalte drin hatte...
Dann hast du was falsch gemacht.


Ralf
Hi Ralf,

das mag sein, doch hilft mir deine Aussage kein Stück weiter.
Wenn ich meiner int. Struktur ein zusätzlich Feld anhänge und dann nur mit color es zur Ausgabe zwinge (fieldcat) und der mir dann die Werte aus der vorherigen Spalte reinschreibt, dann kann ich nix dagegen tun...ausser evtl. SAP fragen ob man da eine bestimmte Mondstellung abwarten muss :roll:

Gruß
Markus

Beitrag von uh (Specialist / 158 / 0 / 1 ) »
Hallo Markus,

ich hatte deine Antwort mit den colors auch so verstanden, dass du mit dem korrekten Feldkatalog arbeitest und nicht mit dieser Phantom-Spalte. Wenn du dabei keine Farben gesehen hättest, hättest du etwas falsch gemacht.

Bei deiner Phantom-Spalte machst du auch etwas falsch. Leider sagt SAP das nicht deutlich genug. Evtl. wird das in einem späteren Release mal sauber geprüft und dein Programm dumpt (endlich).

So lange das nicht der Fall ist und du ein 6.x-Release hast, kannst du einen Breakpoint in der Methode/Event on_before_send setzen. Schau dir die Tabelle MT_DATA an. Wenn du da deine Phantom-Spalte findest, hast du Glück. Dann kannst du die Klasse ableiten und dort in on_before_send den Inhalt der MT_DATA manipulieren. Wenn du die Spalte nicht in MT_DATA findest, hast du Pech. Dann regelt der Präsentationsserver das mit deiner Spalte. HTH

Re:

Beitrag von Adri:an (ForumUser / 5 / 2 / 0 ) »
DeathGuardian hat geschrieben:Am einfachsten geht das, wenn du deiner Itab einfach ein Feld das du nicht fühlst mitgibst und das dann auf das Grid bringst.
Wie?

Re: Re:

Beitrag von JHM (Top Expert / 1188 / 1 / 195 ) »
Adri:an hat geschrieben:[Wie?
Da du noch am Anfang deines Lernen stehst, hier ein wenig Lesestoff, der dir helfen wird Fragen richtig zu stellen: http://www.tty1.net/smart-questions_de.html Ist nicht böse gemeint, macht den Antwortenden aber das Leben leichter.


Und jetzt postest du zu erst einmal wie genau du deine ITAB definiert hast. ABAP bietet soviele Möglichkeiten um ITABs zu erzeugen und jede erfodert eine andere Vorgehensweise:

mit Bezug zu einem DDIC-Tabellentyp/einer DDIC-Struktur
mit Bezug zu einem Tabellen-/Strukturtyp der mittels TYPES definiert wurde
direkt per DATA-Anweisung und dem Zusatz OCCURS n
per RTTS dynamisch zur Laufzeit
etc...

Dein Input ist also aktuell zu wenig, um dir helfen zu können.
Gruß Hendrik

Vergleichbare Themen

3
Antw.
2487
Views
leere ALV-Liste als Job
von Mr. ABAP » 09.08.2006 16:19 • Verfasst in SAP - Allgemeines
0
Antw.
1434
Views
Leere ITEMs in der saplogon.ini
von YFishbone » 18.01.2007 13:55 • Verfasst in SAP - Allgemeines
0
Antw.
946
Views
'Leere' und '0'-Tabelleneinträge - wie unterscheiden?
von burggen » 19.04.2013 12:24 • Verfasst in ABAP® Core
4
Antw.
1960
Views
leere Werkseinträge löschen
von BabsiCSC » 18.07.2008 11:46 • Verfasst in ABAP® Core
3
Antw.
7705
Views
sql befehl select leere felder = '' ?
von michaels » 27.01.2005 14:41 • 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.