Feldkatalog it_fcat erstellen

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

Feldkatalog it_fcat erstellen

Beitrag von ASchreier (ForumUser / 10 / 0 / 0 ) »
Hallo Zusammen,

ich gebe über die Klasse cl_gui_alv_grid eine interne Tabelle an den ALV aus.

Bisher mit folgendem Aufruf:
CALL METHOD obj_alv_grid->set_table_for_first_display
EXPORTING
* I_BUFFER_ACTIVE =
* I_BYPASSING_BUFFER =
* I_CONSISTENCY_CHECK =
i_structure_name = 'SFLIGHT'
is_variant = s_variant
i_save = s_var_save
* I_DEFAULT = 'X'
* IS_LAYOUT =
* IS_PRINT =
* IT_SPECIAL_GROUPS =
* IT_TOOLBAR_EXCLUDING =
* IT_HYPERLINK =
* IT_ALV_GRAPHICS =
* IT_EXCEPT_QINFO =
* IR_SALV_ADAPTER =
CHANGING
it_outtab = it_ausgabe
* IT_FIELDCATALOG =
* IT_SORT =
* IT_FILTER =
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4

Dies funktioniert so lange hervorragend wie die interne Tabelle "it_ausgabe" identisch mit der Struktur "SFLIGHT" ist. Nun habe ich aber die Anforderung die interne Tabelle um 2 weitere Felder zu erweitern, die nicht in der Struktur SFLIGHT vorhanden sind

Also sflight + 2 weitere Felder. Ich möchte dazu im Dictionary keine neue Struktur definieren!!

Jetzt gibt es dafür die Möglichkeit einen "Feldkatalog" zu definieren und beim Aufruf der Methode "set_table_for_first_display" mitzugeben
(Feldkatalog: lvc_t_fcat)

über:
CHANGING
IT_FIELDCATALOG = my_fieldcat

MEINE FRAGE DAZU:
Wie kann ich meinen Feldkatalog (my_fieldcat) mit möglichst wenig Aufwand mit allen Feldern aus SFLIGHT füllen (zuzgl. 2 interne Felder) ? Ich möchte ungern jedes Feld einzeln im Coding beschreiben und dann mit APPEND an "my_fieldcat" hängen.

Hat hier jemand eine Idee, bzw. Beispiel?

Danke
Andreas

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


Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Hallo,
mein Vorschlag:

Code: Alles auswählen.

DATA: BEGIN OF sf OCCURS 0,
  carrid TYPE s_carr_id,
  connid TYPE s_conn_id,
  fldate TYPE s_date,
  price  TYPE s_price,
  currency TYPE s_currcode,
  planetype TYPE s_planetye,
END OF sf.

data components type table of RSTRUCINFO with header line.

CALL FUNCTION 'GET_COMPONENT_LIST'
  EXPORTING
    program          = 'ZTEST1'
    fieldname        = 'SF'
  tables
    components       = components.

der Baustein liefert alle Felder einer definierten Struktur/Tabelle in DEINEM PROGRAMM (hier Ztest1). Die Felder und deren Definition werden in der Tabelle components zurückgegeben.
Die Struktur muss global im Programm definiert sein damit es funzt!

gruß Tron :wink:
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Wenn du was im DDIC hast, dann hilft dir dieser FuBa:

Code: Alles auswählen.

  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
    EXPORTING
      i_structure_name   = 'MARA'
    CHANGING
      ct_fieldcat        = i_fieldcat[].
Zusätzliche Felder anhängen dürfte ja nicht das Problem sein und zuviele Rausschmeissen auch nicht.

Beitrag von A6272 (Specialist / 238 / 8 / 36 ) »
Hallo,

anhängen von Datenelementen die auf DDIC-Datenelementen Referenzieren geht z.B. wie folgt:

lf_fieldcat-col_pos = xy.
lf_fieldcat-fieldname = 'STREET'.
PERFORM read_datatyp USING 'AD_STREET'
CHANGING lf_fieldcat.
APPEND lf_fieldcat TO lt_fieldcat.
CLEAR lf_fieldcat.

mit

*&---------------------------------------------------------------------*
*& Form read_datatyp
*&---------------------------------------------------------------------*
* Datendefinition aus DDIC auslesen
*----------------------------------------------------------------------*
* -->pd_field Datentyp
* <--PF_FIELDCAT Feldkatalogeintrag
*----------------------------------------------------------------------*
FORM read_datatyp USING pd_field TYPE rollname
CHANGING pf_fieldcat TYPE slis_fieldcat_alv.

DATA: lf_dd04l TYPE dd04l,
lf_dd04t TYPE dd04t,
ld_field TYPE rollname.

ld_field = pd_field.
SELECT * FROM dd04l INTO lf_dd04l
WHERE rollname = ld_field.
EXIT.
ENDSELECT.

pf_fieldcat-datatype = lf_dd04l-datatype.
pf_fieldcat-intlen = lf_dd04l-leng.
pf_fieldcat-outputlen = lf_dd04l-outputlen.

SELECT * FROM dd04t INTO lf_dd04t
WHERE rollname = ld_field
AND ddlanguage = sy-langu.
EXIT.
ENDSELECT.

pf_fieldcat-reptext_ddic = lf_dd04t-reptext.
pf_fieldcat-seltext_l = lf_dd04t-scrtext_s.
pf_fieldcat-seltext_m = lf_dd04t-scrtext_m.
pf_fieldcat-seltext_s = lf_dd04t-scrtext_l.

ENDFORM. " read_datatyp


oder natürlich mauell alles definieren.

Viele Grüße
Alex

Beitrag von ASchreier (ForumUser / 10 / 0 / 0 ) »
Hallo Zusammen,

Danke für die Antworten! :D

Bei mir im Programm habe ich nun über den FB 'LVC_FIELDCATALOG_MERGE' zurerst den Fieldcat gefüllt und dann die anderen beiden Felder hinten an den Fieldcat mit APPEND angefügt (col_pos = folgend)..

Danke für Eure Hilfe!!!!!

Gruß
Andreas

Seite 1 von 1

Vergleichbare Themen

3
Antw.
3296
Views
Feldkatalog für interne Tabelle erstellen
von der_neuling » 11.02.2020 11:56 • Verfasst in ABAP® für Anfänger
17
Antw.
22549
Views
Feldkatalog für ALV
von Kerstin » 17.08.2007 10:03 • Verfasst in ABAP Objects®
16
Antw.
4734
Views
Feldkatalog -> Spaltenüberschriften
von Bugfix13 » 06.08.2014 08:43 • Verfasst in ABAP® für Anfänger
0
Antw.
1326
Views
ALV-feldkatalog unter 4.0B
von poldi » 03.11.2006 10:41 • Verfasst in ABAP Objects®
7
Antw.
4948
Views
ALV: Refresh Feldkatalog
von khr » 27.09.2013 10:06 • Verfasst in ABAP® Core

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Feldwerte vergleichen
vor 2 Stunden von a-dead-trousers 4 / 72
Mahnung erstellen
Gestern von Sebastian82 4 / 181

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

Feldwerte vergleichen
vor 2 Stunden von a-dead-trousers 4 / 72
Mahnung erstellen
Gestern von Sebastian82 4 / 181

Unbeantwortete Forenbeiträge

OPD Druck im SPOOL
vor 3 Tagen von Manfred K. 1 / 136
Export von Spools in XLSX
vor einer Woche von abapamateur 1 / 1071
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 1638