Feldkatalog für ALV

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
18 Beiträge • Seite 1 von 2 (current) Nächste
18 Beiträge Seite 1 von 2 (current) Nächste

Feldkatalog für ALV

Beitrag von Kerstin (Specialist / 203 / 2 / 0 ) »
Hallo, ich bin ein absoluter Anfänger im OO und möchte meine neu erworbenen Kurskenntnisse zuerst an einem ALV ausprobieren. Dabei scheitere ich schon am Feldkatalog, den ich mir zunächst mit dem FuBa 'LVC_FIELDCATALOG_MERGE' aufbauen möchte.
Mein Coding sieht so aus:

call function 'LVC_FIELDCATALOG_MERGE'
exporting
* I_BUFFER_ACTIVE =
i_structure_name = 'T_ITAB'
* I_CLIENT_NEVER_DISPLAY = 'X'
* I_BYPASSING_BUFFER =
changing
ct_fieldcat = it_fieldcat
exceptions
inconsistent_interface = 1
program_error = 2
others = 3
.

Der sy-subrc ist 0, aber meine Tabelle it_fieldcat (type LVC_T_FCAT) ist leider immer noch leer. Ich hätte jetzt die Felder meiner Struktur erwartet.
Was mache ich falsch?

Kerstin

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


Beitrag von gerritnova (ForumUser / 19 / 0 / 0 ) »
Hi,

statt i_structure_name = 'T_ITAB' musst du dem Namen der DDIC Tabelle/Struktur angeben.

VG
Gerrit

Beitrag von Kerstin (Specialist / 203 / 2 / 0 ) »
Hallo Gerrit,

ich habe aber nur die Struktur meiner internen Tabelle. Muß ich die im DDIC als Struktur anlegen oder muß ich dafür einen anderen FuBa verwenden?

VG
Kerstin

Beitrag von brinam (Specialist / 111 / 0 / 0 ) »
Hallo Kerstin,

wie hast Du denn T_ITAB definiert?

z.B. so sollte es funktionieren:

Code: Alles auswählen.

TYPES: BEGIN OF typ_tab,
field1 TYPE i,
field2 TYPE c,
END OF typ_tab.

DATA: t_itab TYPE STANDARD TABLE OF typ_tab WITH HEADER LINE.
Viele Grüße
Britta

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
Hier gibts irgendwo ein ALV-Tutorial (ist neulich noch hier drauf verlinkt worden), such doch mal danach. Da wird genau erklärt wie der FuBau funktioniert.


Ralf

EDIT: Hier ist es
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Beitrag von Kerstin (Specialist / 203 / 2 / 0 ) »
Hallo Britta,

ich habe den T_ITAB so definiert:

types: begin of t_itab,
nachn like pa0002-nachn,
vorna like pa0002-vorna,
gbdat like pa0002-gbdat,
pstlz like pa0006-pstlz,
ort(45), "Ort ggf. mit Ortsteil
...
bland,
end of t_itab.

und die interne Tabelle so:

data: t type table of t_itab.

@RALF in dem Link gehr es nur um ALV mit FuBa, aber nicht mit OO.

Kerstin

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
Kerstin hat geschrieben:@RALF in dem Link gehr es nur um ALV mit FuBa, aber nicht mit OO.
Wenn ich dich richtig verstanden habe, brauchst du nen Feldkatalog. Den kriegst du mit

call function 'LVC_FIELDCATALOG_MERGE'

Ob du den nachher mit OO oder FuBa einsetzt, dürfte doch zweitrangig sein, Feldkatalog ist Feldkatalog.


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

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
ralf.wenzel hat geschrieben:Ob du den nachher mit OO oder FuBa einsetzt, dürfte doch zweitrangig sein, Feldkatalog ist Feldkatalog.
Der Type und Feldnamen des Feldkatalogs ist unterschiedlich:
REUSE_ALV_GRID_DISPLA -> SLIS_T_FIELDCAT_ALV
REUSE_ALV_GRID_DISPLA_LVC bzw. OO -> LVC_T_FCAT

Deshalb gibt es auch zwei Fubas die den Feldkatalog aufbauen:
REUSE_ALV_FIELDCATALOG_MERGE bzw. LVC_FIELDCATALOG_MERGE.
Gruß Hendrik

Beitrag von Kerstin (Specialist / 203 / 2 / 0 ) »
Wegen der verschiedenen Typen kann ich auch nicht einfach den anderen FuBa nehmen, weil die Methode 'SET_TABLE_FOR_FIRST_DISPLAY' beim Feldkatalog auch den Tyo wie beim FuBa 'LVC_FIELDCATALOG_MERGE' erwartet. Das heisst für mich, dass ich mein Problem nach wie vor habe.

Kerstin

Beitrag von brinam (Specialist / 111 / 0 / 0 ) »
Hallo Kerstin,

momentan finde ich die Lösung auch nicht. Bei mir funzt es auch nicht, d.h. der Feldkatalog ist leer. Die F1-Hilfe zum Parameter i_structure_name ist ein und dieselbe bei den beiden FuBas, d.h. es sollte möglich sein, sowohl im Programm definierte Strukturen als auch Strukturen aus der Datenbank zu verwenden. Ich habe mal ein bißchen im Verwendungsnachweis von LVC_FIELDCATALOG_MERGE gestöbert. Aber sowohl im SAP-Standard als auch bei Z-Programmen finde ich nur den Bezug auf DB-Tabellen oder DB-Strukturen. Ich vermute, wenn Du Deine Struktur auf der DB anlegst, dann funzt es. Willst Du aber wahrscheinlich nicht?!

Jetzt aber erst einmal ein schönes Wochenende!
Viele Grüße
Britta

Beitrag von Kerstin (Specialist / 203 / 2 / 0 ) »
Hallo Britta,
ich gehe auch davon aus, dass es klappt, wenn ich die Struktur im DDIC anlege, aber das kann es doch eigentlich nicht sein.
Ich wünsche dir auch ein schönes WE.

Kerstin

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
Kerstin hat geschrieben:Wegen der verschiedenen Typen kann ich auch nicht einfach den anderen FuBa nehmen, weil die Methode 'SET_TABLE_FOR_FIRST_DISPLAY' beim Feldkatalog auch den Tyo wie beim FuBa 'LVC_FIELDCATALOG_MERGE' erwartet. Das heisst für mich, dass ich mein Problem nach wie vor habe.

Kerstin
Hallo Kerstin,

theoretisch hast du recht - aber Ralfs Vorschlag funktioniert trotzdem mit einer winzigen Ergänzung.

Der LVC_FIELDCATALOG_MERGE kann einfach keine im Programm definierten Strukturen in einen Feldkatalog umwandeln. Somit fällt der für dich aus.

Der REUSE....-Baustein hingegen kann das (eingeschränkt). Und für diesen gibt es ja auch hinreichend Beispiele hier im Forum.
Du musst lediglich dafür sorgen, das Ergebnis eines der letztgenannten Bausteine in das LVC-Format zu bekommen und dafür gibt es den FuBa "LVC_TRANSFER_FROM_SLIS".
Manchmal hilft ein Beispiel ja mehr als 1000 Worte:

Code: Alles auswählen.

REPORT.

TYPE-POOLS: slis.
DATA: lvc_fieldcat  TYPE lvc_t_fcat,
      slis_fieldcat TYPE slis_t_fieldcat_alv.
FIELD-SYMBOLS: <fc> LIKE LINE OF lvc_fieldcat.

DATA: BEGIN OF itab OCCURS 0,
         werks LIKE marc-werks,
         matnrs LIKE marc-matnr,
       END OF itab.
DATA: t_dummy TYPE STANDARD TABLE OF mandt.

DATA: repid TYPE syrepid.

END-OF-SELECTION.
  repid = sy-repid.
  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
      i_program_name         = repid
      i_internal_tabname     = 'ITAB'
      i_inclname             = repid
      i_bypassing_buffer     = 'X'
    CHANGING
      ct_fieldcat            = slis_fieldcat
    EXCEPTIONS
      inconsistent_interface = 1
      program_error          = 2
      OTHERS                 = 3.

  CALL FUNCTION 'LVC_TRANSFER_FROM_SLIS'
    EXPORTING
      it_fieldcat_alv = slis_fieldcat
    IMPORTING
      et_fieldcat_lvc = lvc_fieldcat
    TABLES
      it_data         = t_dummy
    EXCEPTIONS
      it_data_missing = 1
      OTHERS          = 2.

  LOOP AT lvc_fieldcat ASSIGNING <fc>.
    WRITE:/ <fc>-fieldname.
  ENDLOOP.
  WRITE:/ 'Ende'.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
black_adept hat geschrieben:Der REUSE....-Baustein hingegen kann das (eingeschränkt). Und für diesen gibt es ja auch hinreichend Beispiele hier im Forum.
Darauf wollte ich hinaus, ich sollte mir eine deutlichere Ausdrucksweise angewöhnen ;)

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

Beitrag von Kerstin (Specialist / 203 / 2 / 0 ) »
Hallo,

jetzt klappt es auch bei mir. Ich danke Euch allen für die Hilfe.

Viele Grüße
Kerstin

Beitrag von Kerstin (Specialist / 203 / 2 / 0 ) »
Hallo,

jetzt klappt es auch bei mir. Ich danke Euch allen für die Hilfe.

Viele Grüße
Kerstin

Vergleichbare Themen

0
Antw.
1314
Views
ALV-feldkatalog unter 4.0B
von poldi » 03.11.2006 10:41 • Verfasst in ABAP Objects®
1
Antw.
1688
Views
Feldkatalog modifizieren
von dEr_BuMaN » 06.08.2007 09:43 • Verfasst in ABAP® für Anfänger
10
Antw.
6437
Views
Überscrifft aus Feldkatalog
von managero » 23.06.2008 14:31 • Verfasst in Dialogprogrammierung
3
Antw.
4361
Views
Alternativen zu Feldkatalog
von newbie007 » 28.11.2011 00:08 • Verfasst in ABAP® für Anfänger
7
Antw.
4861
Views
ALV: Refresh Feldkatalog
von khr » 27.09.2013 10:06 • Verfasst in ABAP® Core

Aktuelle Forenbeiträge

Regex in where
vor 4 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 17 Stunden von Bright4.5 3 / 1486

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

Regex in where
vor 4 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 17 Stunden von Bright4.5 3 / 1486

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821