Feldkatalog erstellen

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

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

Feldkatalog erstellen

Beitrag von BERND ( / / 0 / 3 ) »
Hallo,

ich vermisse für cl_gui_alv_grid die möglichkeit einen feldkatalog automatisch per FB zu erstellen.

in dem in der doku erwähnten ist es nicht möglich eine selbst definierte itab mitzugeben, wie das z.b. beim reuse_alv_fieldcatalog_merge der fall ist.

also: wie baut man sich komfortabel einen feldkatalog zusammen,
ohne diesen manuell zu erstellen.

gruß

bernd

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


Beitrag von Jens (Specialist / 106 / 0 / 0 ) »
Hallo Bernd,

schau mal hier, das müßte Dir weiterhelfen:

http://www.abapforum.com/viewtopic.php?t=108

Gruss, Jens

Beitrag von BERNd ( / / 0 / 3 ) »
Hallo,


haben den Thread gelesen. Doch leider hilft mir das gar nichts weiter.....
sorry. wahrscheinlich bin ich blind, aber wo ist da ein verweis darauf, wie der feldkatalog automatisch mit hilfe einer itab generiert wird analog zum FB Reuse_alv_fieldcatalog_merge??????

Gruß

Bernd

Beitrag von Azreal (Specialist / 182 / 1 / 0 ) »
Hi Bernd,

der Funktionsbaustein den die SAP für den ALV bereitstellt heißt LVC_FIELDCATALOG_MERGE.
Hier ein Beispiel:

Code: Alles auswählen.

  DATA: ls_fcat LIKE lvc_s_fcat,
            fcat TYPE lvc_t_fcat.
  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
    EXPORTING
      i_structure_name   = 'STRUKTURNAME'
      i_bypassing_buffer = 'X'
    CHANGING
      ct_fieldcat        = fcat[].

  LOOP AT fcat INTO ls_fcat.
    CASE ls_fcat-fieldname.

      WHEN 'NAMEDESFELDES'.
        ls_fcat-col_pos    = 2.
        ls_fcat-outputlen  = 10.
        ls_fcat-key        = 'X'.
        MODIFY  fcat FROM ls_fcat TRANSPORTING col_pos
                 outputlen key.
       endloop.
Gruß Azreal

Beitrag von Bernd ( / / 0 / 3 ) »
Hallo,

ich danke dir ja für die anwort, aber den fb kenne ich...
aber wie gesagt..

es ist nicht möglch ihm als parameter den namen einer internen tabelle mitzugeben. so wie es beim reuse_alv_fiedcatalog_merge der fall ist.

stell dir vor du hast eine itab die aus 40 feldern besteht, welche aus 6 versch. ddic tabellen kommen.

jetzt bau den feldkatalog für die tab. auf !!??

mit reuse_alv_fieldcatalog_merge kein problem. einfach entsprechenden parameter füllen.

aber hier????!!!

bisher habe ich es so gemacht:

erst mit dem fb reuse_alv_fieldcatalog_merge einen feldkatalog erstellt,

dann einen loop drüber gemacht und den feldkatalog für die cl_gui_alv_grid gefüllt.

loop at alterfeldkatalog into wa_alterfeldkatalog.
clguialvfeldcat-colpos = wa_alterfeldkatalog-colpos.
clgualvfeldcat-fieldname = wa_alterfeldkatalog-fieldname.
append alguialvfeldcat.
endloop.



leider unterscheiden sich die beiden feldkataloge im format, so dass man nicht einfach den fb ....fieldcatalog_merge verwenden kann.

gruß

bernd

Beitrag von Azreal (Specialist / 182 / 1 / 0 ) »
Hi Bernd.

hab mir die sache nochmal angesehen. weiß nicht, ob wir hier aneinander vorbeireden. aber ich wollte dich darauf aufmerksam machen, daß der Parameter ct_fieldcat ein changing parameter ist. Wenn du also den aufruf des Merge-Fubas mehrfach mir jeweils unterschiedlichen Strukturen machst, dann würdest du dir die loops sparen.

gruß Azreal

....

Beitrag von Bernd ( / / 0 / 3 ) »
Hallo,


ja okay...wenn das so ist...
aber wie muß ich mir das dann vorstellen....

angenommen ich habe 2 felder aus der mara, 3 aus marc, 4 aus der coep, usw...

jetzt erstelle ich mir den feldkatalog in dem ich den merge fb mehrmals aufrufe, jeweils mit veränderter struktur (1 mal mara, 1 mal marc...).

am ende stehen in meinem feldkatalog also sämtliche infos zu feldern aus den verschiedenen tabellen, obwohl ich ja eigentlich nur genau die haben will, die ich auch in meiner internen tabelle deklariert habe.

ich nehme an, das würde auch für verwirrung sorgen. wenn man nacher bei der auswahl im grid 300 felder wählen kann aber nur in 10 sich irgenwelche inhalte verbergen....

was meinst du dazu??

gruß und vielen dank

bernd

Beitrag von Azreal (Specialist / 182 / 1 / 0 ) »
Hi Bernd,
muß zugestehen, daß du verdammt nochmal recht hast. Der ALV würde so aussehen. Da würde es sich evt. anbieten die deine interne Tabelle also DDIC Stuktur und diese dem Merge als Parameter mitgeben.
Anderenfalls würde ich mir den Fieldcat selber zusammenschreiben *g*. Ist zwar nicht wirklich so elegant aber durchaus performant 8)

Gruß Azreal

Beitrag von bernd ( / / 0 / 3 ) »
hi,

okay,

werde mal schaun wie ich es am elegantesten löse.
aber einbisschen enttäuscht bin ich schon...
ein rückschritt zum traditionellen abap finde ich...

gruß und danke nochmals an alle

bernd

Seite 1 von 1

Vergleichbare Themen

4
Antw.
4887
Views
Feldkatalog it_fcat erstellen
von ASchreier » 15.04.2008 18:18 • Verfasst in ABAP® Core
3
Antw.
3872
Views
Feldkatalog für interne Tabelle erstellen
von der_neuling » 11.02.2020 11:56 • Verfasst in ABAP® für Anfänger
17
Antw.
24031
Views
Feldkatalog für ALV
von Kerstin » 17.08.2007 10:03 • Verfasst in ABAP Objects®
3
Antw.
5833
Views
Alternativen zu Feldkatalog
von newbie007 » 28.11.2011 00:08 • Verfasst in ABAP® für Anfänger
16
Antw.
6086
Views
Feldkatalog -> Spaltenüberschriften
von Bugfix13 » 06.08.2014 08:43 • Verfasst in ABAP® für Anfänger

Ü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

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.