Feldkatalog erstellen

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).

Feldkatalog erstellen

Postby BERND » Tue Apr 15, 2003 7:01 pm

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
BERND
 

Postby Jolin2218 » Wed Apr 16, 2003 7:52 am

Hallo Bernd,

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

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

Gruss, Jens
Jolin2218
...
...
 
Posts: 105
Joined: Mon Dec 02, 2002 2:28 pm

Postby BERNd » Wed Apr 16, 2003 7:35 pm

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
BERNd
 

Postby Emre397 » Thu Apr 17, 2003 8:33 am

Hi Bernd,

der Funktionsbaustein den die SAP für den ALV bereitstellt heißt LVC_FIELDCATALOG_MERGE.
Hier ein Beispiel:
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.   DATA: ls_fcat LIKE lvc_s_fcat,
  2.             fcat TYPE lvc_t_fcat.
  3.   CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
  4.     EXPORTING
  5.       i_structure_name   = 'STRUKTURNAME'
  6.       i_bypassing_buffer = 'X'
  7.     CHANGING
  8.       ct_fieldcat        = fcat[].
  9.  
  10.   LOOP AT fcat INTO ls_fcat.
  11.     CASE ls_fcat-fieldname.
  12.  
  13.       WHEN 'NAMEDESFELDES'.
  14.         ls_fcat-col_pos    = 2.
  15.         ls_fcat-outputlen  = 10.
  16.         ls_fcat-key        = 'X'.
  17.         MODIFY  fcat FROM ls_fcat TRANSPORTING col_pos
  18.                  outputlen key.
  19.        endloop.
GeSHi ©


Gruß Azreal
Emre397
...
...
 
Posts: 141
Joined: Mon Dec 09, 2002 1:53 pm

Postby Hüseyin519 » Thu Apr 17, 2003 9:54 am

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
Hüseyin519
..
..
 
Posts: 17
Joined: Thu Apr 17, 2003 9:54 am

Postby Emre397 » Wed Apr 23, 2003 9:25 am

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
Emre397
...
...
 
Posts: 141
Joined: Mon Dec 09, 2002 1:53 pm

....

Postby Hüseyin519 » Wed Apr 23, 2003 11:37 pm

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
Hüseyin519
..
..
 
Posts: 17
Joined: Thu Apr 17, 2003 9:54 am

Postby Emre397 » Thu Apr 24, 2003 9:11 am

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
Emre397
...
...
 
Posts: 141
Joined: Mon Dec 09, 2002 1:53 pm

Postby bernd » Thu Apr 24, 2003 9:50 am

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
bernd
 


Return to ABAP Objects®

Who is online

Users browsing this forum: No registered users and 13 guests