Frage zu set_table_for_first_display bzw TYPE TABLE OF-Defis

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Frage zu set_table_for_first_display bzw TYPE TABLE OF-Defis

Beitrag von kkauerau (ForumUser / 50 / 2 / 0 ) »
Hallo zusammen.

Ich möchte ein ALV anzeigen, in dem Daten aus einer Tabelle angezeigt werden sollen.
Dabei bin ich auf ein seltsames Problem gestoßen: Die iTab akzeptiert der Compiler nur mit dem Zusatz WITH HEADER LINE. :!:

Code: Alles auswählen.

DATA: gt_best TYPE TABLE OF zss_best WITH HEADER LINE.
Ohne diesen Zusatz kommt bei den Select-Options die FM: " "GT_BEST" ist eine Tabelle ohne Kopfzeile und besitzt daher keine Komponente mit Namen "MATNR". "

Mit dem Zusatz WITH HEADER LINE fällt aber der ALV auf die Nase und meint, "gt_iTab ist nicht typkompatibel zum formalen Parameter "IT_OUTTAB"."

Wer kann helfen?

Danke!
Zuletzt geändert von kkauerau am 11.01.2017 14:44, insgesamt 1-mal geändert.

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


Re: Frage zu set_table_for_first_display bzw TYPE TABLE OF-D

Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
Kannst Du dazu bite mal Dein Coding (zumindest ausschnittsweise) posten? WITH HEADER LINE ist veraltet, Du hast vermutlich bei der Definition der ITab einen Schnitzer drin...
Das ABAP Kochbuch ab sofort bei Amazon...

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

Re: Frage zu set_table_for_first_display bzw TYPE TABLE OF-D

Beitrag von kkauerau (ForumUser / 50 / 2 / 0 ) »
Die itab bezieht sich auf eine transparente Tabelle:

Code: Alles auswählen.

    DATA: gt_best TYPE TABLE OF zss_best WITH HEADER LINE.
Ich hab den ersten Beitrag nochmal angepaßt ..

Re: Frage zu set_table_for_first_display bzw TYPE TABLE OF-D

Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
Und was für eine Meldung kommt, wenn Du "WITH HEADER LINE" weg lässt? Welchen Typ hat ZSS_BEST? Ist das eine Struktur oder DB-Tabelle?
Das ABAP Kochbuch ab sofort bei Amazon...

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

Re: Frage zu set_table_for_first_display bzw TYPE TABLE OF-D

Beitrag von kkauerau (ForumUser / 50 / 2 / 0 ) »
Hallo.

Also:

Code: Alles auswählen.

DATA: gt_best TYPE TABLE OF zss_best.
Das ist eine normale transp. Tabelle mit 5 DS drinnen.

Erster Zugriff darauf erfolgt via

Code: Alles auswählen.

SELECT-OPTIONS:
  so_matnr FOR gt_best-matnr, ....
Wegen dem hab ich die HEADER LINE aufgenommen, denn ohne kommt die FM: " "GT_BEST" ist eine Tabelle ohne Kopfzeile und besitzt daher keine Komponente mit Namen "MATNR". "

Mit dem Zusatz WITH HEADER LINE fällt aber der ALV auf die Nase ...

Ich komme einfach nicht weiter ... :-(

Re: Frage zu set_table_for_first_display bzw TYPE TABLE OF-D

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Wenn du eine Tabelle mit Kopfzeile hast, musst du beim Aufruf im ALV-Grid die []-Syntax verwenden um auf den Tabelleninhalt zuzugreifen.

gr_grid->set_table_for_first_display( ... CHANGING it_outtab = gt_best[] ... ).
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: Frage zu set_table_for_first_display bzw TYPE TABLE OF-D

Beitrag von kkauerau (ForumUser / 50 / 2 / 0 ) »
Danke! Jetzt tut's :-)

Noch eine Frage hab ich allerdings:
WITH HEADER LINE ist veraltet
Wie kann man das loswerden?
Ich möchte das nicht drin haben, wenn es nicht unbedingt sein muß ...

Re: Frage zu set_table_for_first_display bzw TYPE TABLE OF-D

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »

Code: Alles auswählen.

DATA: 
  gt_best TYPE TABLE OF zss_best,
  gs_best TYPE zss_best.

SELECT-OPTIONS:
  so_matnr FOR gs_best-matnr.
Ich verwende ja für Report/Selektionsbilder gerne die TABLES-Anweisung da so eine implizite Verknüpfung zur Datenbanktabelle hergestellt wird und so z.B. die Standard-Suchhilfen automatisch eingebunden werden. Das eigentliche Coding liegt dann in einer Klasse oder einem Funktionsbaustein, wo ich mich dann wieder an die "strengere" Syntax halte.

Code: Alles auswählen.

TABLES: 
  zss_best.

SELECT-OPTIONS: 
  so_matnr FOR zss_best-matnr.

START-OF-SELECTION.
  ZCL_ZSS_BEST_REPORT=>EXECUTE( it_matnr = so_matnr[] ).
[] => [] (Leider stellt die Syntax hier im Forum die eckigen Klammern nicht korrekt dar)
Der Parameter IT_MATNR wäre eine TYPE RANGE OF ZSS_BEST.
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: Frage zu set_table_for_first_display bzw TYPE TABLE OF-D

Beitrag von JHM (Top Expert / 1188 / 1 / 195 ) »
kkauerau hat geschrieben:Noch eine Frage hab ich allerdings:
Wie kann man das loswerden?
Ich möchte das nicht drin haben, wenn es nicht unbedingt sein muß ...
Die veraltete Anweisung WITH HEADER LINE definiert so gesehen zwei Variablen: eine interne Tabelle und zusätzlich ein Struktur. Beide Variablen werden dabei über den Namen angesprochen.

Im ABAP hat das zweifelhafte Vorzüge, da man sich einige Zusätze "sparen" kann (z.b. INTO strukture bei LOOP/READ TABLE). Ist aber gleichzeitig Fehleranfällig: CLEAR gt_best. initialisiert nicht die itab, aber die Struktur! Ohne den Zusatz WITH HEADERLINE würde bei der Definition würde aber die interne Tabelle initialisiert.

Du musst eigentlich nur die Definition in zwei Variablen vornehmen und diese dann entsprechend verwenden:

Code: Alles auswählen.

DATA: gt_best TYPE TABLE OF zss_best,
      gs_best TYPE zss_best.
SelOpts kannst du nicht gegen ITAB-Felder definieren, sondern nur gegen Variablen oder Strukturen. Entsprechend dann FOR gs_best-.
Gruß Hendrik

Re: Frage zu set_table_for_first_display bzw TYPE TABLE OF-D

Beitrag von JHM (Top Expert / 1188 / 1 / 195 ) »
doppel Post
Gruß Hendrik

Seite 1 von 1

Vergleichbare Themen

4
Antw.
4662
Views
Set table for first display
von pippi1710 » 27.10.2011 10:34 • Verfasst in ABAP® für Anfänger
0
Antw.
1818
Views
display a Internal table on a SmartForm
von jamiguel77 » 31.12.2014 20:15 • Verfasst in ABAP® für Anfänger
6
Antw.
4946
Views
ALV Refresh Table Display funktioniert nicht.
von Ichse2 » 21.02.2020 13:02 • Verfasst in ABAP Objects®
21
Antw.
11553
Views
type table of noch aktuell?
von Basler84 » 18.04.2012 15:48 • Verfasst in ABAP® für Anfänger
0
Antw.
2120
Views
SE80 -> Klassenbibliothek und TYPE TABLE OF REF TO
von schmitzandreas » 27.07.2007 16:28 • Verfasst in ABAP Objects®

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 255

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

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 255

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140