Feldkatalog aus interner Tabelle LVC_FIELDCATALOG_MERGE ?

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

Feldkatalog aus interner Tabelle LVC_FIELDCATALOG_MERGE ?

Beitrag von schuessler (ForumUser / 55 / 0 / 0 ) »
Hallo,

vielleicht kann mir jemand helfen. Ich möchte einen Feldkatalog für eine ALV-Ausgabe erzeugen, dabei möchte ich aber meine interne Tabelle benutzen die ich über einen types aufbaue.

Code: Alles auswählen.

TYPES: BEGIN OF ekpo_type,
         ebeln          TYPE ebeln,
         ebelp          TYPE ebelp,
         bstyp          TYPE ebstyp,
         ekorg          TYPE ekorg,
         ekgrp          TYPE bkgrp,
         lifnr          TYPE elifn,
         bukrs          TYPE bukrs,
         bedat          TYPE ebdat,
         ernam          TYPE ernam,
         matkl          TYPE matkl,
         matnr          TYPE matnr,
         werks          TYPE ewerk,
         lgort          TYPE lgort_d,
         menge          TYPE bstmg,
         meins          TYPE bstme,
         netpr          TYPE bprei,
         waers          TYPE waers,
         bprme          TYPE bbprm,
         pstyp          TYPE pstyp,
         knttp          TYPE knttp,
         reswk          TYPE reswk,
         afnam          TYPE afnam,
....
DATA i_pos        TYPE TABLE OF ekpo_type.
DATA i_fieldcat   TYPE lvc_t_fcat.

....
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
 EXPORTING
*   I_BUFFER_ACTIVE              =
*   I_STRUCTURE_NAME             = 'I_POS'
*   I_CLIENT_NEVER_DISPLAY       = 'X'
*   I_BYPASSING_BUFFER           =
    I_INTERNAL_TABNAME           = 'I_POS'
  CHANGING
    ct_fieldcat                  = i_fieldcat
 EXCEPTIONS
   INCONSISTENT_INTERFACE       = 1
   PROGRAM_ERROR                = 2
   OTHERS                       = 3
          .
IF sy-subrc <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Leider wird kein Feldkatalog erzeugt.
Gruss

Martin

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


Beitrag von TorstenH83 (ForumUser / 22 / 0 / 5 ) »
Muss die interne Tabelle nicht mit DATA aufgebaut werden?

data: begin of itab occurs n,
xxx type yyy,

...

end of itab.

:?:
Auszubildender z. Fachinformatiker (Anwendungsentwicklung)

Beitrag von schuessler (ForumUser / 55 / 0 / 0 ) »
Nein man kann sich auch intern einen TYP aufbauen und auf diesenen referenzieren.
Gruss

Martin

Beitrag von chatty (Specialist / 114 / 0 / 0 ) »
Hallo,

hier muss der Export-Parameter I_STRUCTURE_NAME versorgt werden. Für diesen FuBa muss zwingend eine Struktur im Dictionary über die SE11 angelegt werden. Dann wird auch der Feldkatalog aufgebaut.

Gruss
Chatty

Beitrag von schuessler (ForumUser / 55 / 0 / 0 ) »
Hallo,

ich dachte mir das schon. Danke! Aber der Baustein LVC_FIELDCATALOG_MERGE hat doch aber den Schnittstellenparameter I_INTERNAL_TABNAME. Ist das nur irreführend?
Gruss

Martin

Beitrag von chatty (Specialist / 114 / 0 / 0 ) »
sorry habe mich geirrt... hier ist ein Ausschnitt aus der Hilfe zum FuBa reuse_alv_fieldcatalog_merge:


Unterstützt den Aufbau des Feldkatalogs für die ALV-Funktionsbausteine. Der Aufbau erfolgt alternativ auf Basis einer im ABAP Data Dictionary definierten Struktur bzw. Tabelle oder einer programminternen Tabelle.

Die programminterne Tabelle muss entweder in einem -TOP Inlcude stehen
oder das einschliessende Include muss explizit in der Schnittstelle
bekannt gegeben werden.

Die auf einer programminternen Tabelle basierenden Variante sollte nur zum 'rapid prototyping' verwendet werden, da folgende Einschränkungen gelten:

Aus Performancegesichtspunkten suboptimal, da stets zur Laufzeit das Coding der Tabellendefinition nachgelesen und interpretiert werden muß.
Dictionaryreferenzen werden nur dann berücksichtigt, wenn die Schlüssel-
wörter LIKE oder INCLUDE STRUCTURE verwendet werden (kein TYPE).
Enthält der Feldkatalog mehr als 90 Felder, so werden die ersten 90 Felder im Default auf der Liste ausgegeben, die restlichen Felder stehen zunächst nur im Feldvorrat zur Verfügung.

Wird der Feldkatalog vorbelegt mitgegeben, so werden diese Daten mit den 'automatisch' ermittelten Informationen abgemischt.



Du musst also mit LIKE und nicht mit TYPE arbeiten. Ich denke das gilt auch für den FuBa LVC_FIELDCATALOG_MERGE.

Allerdings habe ich das bis jetzt noch nie mit einer internen Tabelle gemacht sondern immer Strukturen aus dem DDIC verwendet.

Gruss
Chatty

Beitrag von schuessler (ForumUser / 55 / 0 / 0 ) »
Hallo Chatty,

danke für Deine Hilfe. Habs mit like getestet, leider auch ohne Erfolg. Es muss doch aber gehen. Laut Hilfe:
FU LVC_FIELDCATALOG_MERGE
____________________________________________________
Kurztext
Aufbau des Feldkatalogs aus Dictionarystruktur oder interner Tabelle

Funktionalität
Unterstützt den Aufbau des Feldkatalogs für die ALV-Funktionsbausteine. Der Aufbau erfolgt alternativ auf Basis einer im ABAP Data Dictionary definierten Struktur.

...
Tabellenname
Bedeutung
Name der internen Ausgabetabelle im CALLBACK_PROGRAM .

Der Angabe eines Datenobjektes in einem Include des CALLBACK Programmes

sollte immer die Angabe einer ABAP DDIC Struktur vorgezogen werden
Ich wollte halt nicht den Weg gehen eine Struktur im DDIC anzulegen, da ich in dem Programm mehrere verschiedene Ausgabelisten erzeugen möchte.

Vielleicht doch noch eine andere Idee?
Gruss

Martin

Beitrag von chatty (Specialist / 114 / 0 / 0 ) »
Hallo,

also ich habe es jetzt auch mehrfach versucht aber leider ohne Erfolg. Ich gebe dir Recht das es laut SAP auch mit int. Tabellen funktionieren müßte aber irgendwie läufts nicht so wie es sollte.

Wenn du wirklich keine Struktur verwenden möchtest kannst du den Feldkatalog auch manuell aufbauen, dies ist aber ziemlich umständlich so das ich dir zur Anlage einer Struktur rate.

Gruss
Chatty

Beitrag von schuessler (ForumUser / 55 / 0 / 0 ) »
Danke chatty für Deine Hilfe!

Ich habe es auch aufgegeben. Da es sich um ein bestehendes Programm handelt, in welchem der Feldkatalog für bereits 40 Felder manuell aufgebaut war, habe ich diesen Spagetticode eben noch erweitert. Ich hätte es nur gerne vereinfacht.
Gruss

Martin

REUSE_ALV_FIELDCATALOG_MERGE

Beitrag von Robbl ( / / 0 / 3 ) »
Wieso nicht FuBa 'REUSE_ALV_FIELDCATALOG_MERGE'

Gruss

Robbl

Re: REUSE_ALV_FIELDCATALOG_MERGE

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Robbl hat geschrieben:Wieso nicht FuBa 'REUSE_ALV_FIELDCATALOG_MERGE'

Gruss

Robbl
Da dieser für den FuBa-ALV ist!
Hier geht es um den OO-ALV.

Seite 1 von 1

Vergleichbare Themen

3
Antw.
2023
Views
REUSE Feldkatalog Merge ...Verständnis Frage
von MarkusW » 01.08.2008 11:57 • Verfasst in ABAP® für Anfänger
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
3
Antw.
2420
Views
CL_GUI_ALV_GRID: Edit und Sort Merge
von Legxis » 29.06.2018 18:38 • Verfasst in ABAP® Core
7
Antw.
6186
Views
Feldkatalog von einer dynamisch erzeugten Struktur/Tabelle
von MarkusW » 08.11.2007 18:06 • Verfasst in ABAP® Core
6
Antw.
6456
Views
Select bei interner Tabelle
von Buetzy » 09.07.2007 13:58 • Verfasst in ABAP® für Anfänger

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 / 137
Export von Spools in XLSX
vor einer Woche von abapamateur 1 / 1071
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 1638