Feldkatalog für interne Tabelle erstellen

Getting started ... Alles für einen gelungenen Start.
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Feldkatalog für interne Tabelle erstellen

Beitrag von der_neuling (ForumUser / 81 / 17 / 3 ) »
Guten Tag,

ich möchte in meiner Ausgabetabelle des ALV-Grids ein neues Feld hinzufügen dass am Ende eine Ampel beinhalten soll.
Allerdings habe ich Probleme den angepassten Feldkatalog zu erzeugen, es kommt die Meldung "Der Feldkatalog kann nicht ermittelt werden"

Meine itab habe ich im TOP Include definiert:

Code: Alles auswählen.

go_alv              TYPE REF TO cl_gui_alv_grid,         " ALV Class
TYPES: BEGIN OF struct_mt_production_pieces .
         INCLUDE TYPE zle_lager.
         TYPES: icon TYPE icon_d,
       END OF struct_mt_production_pieces.
Den Code zur Erzeugung des Feldkataloges liegt dann im PBO:

Code: Alles auswählen.

DATA: it_fieldcat_slis TYPE slis_t_fieldcat_alv .
  TYPE-POOLS: slis.

  "CREATE SLIS Fieldcatalogue
  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
      i_program_name         = sy-repid  "'MZ_TH_WAREHOUSE_MANAGEMENT'
      i_internal_tabname     = 'STRUCT_MT_PRODUCTION_PIECES'
      i_inclname             = sy-repid "'MZ_WAREHOUSE_MANAGEMENT_TOP'
    CHANGING
      ct_fieldcat            = it_fieldcat_slis
    EXCEPTIONS
      inconsistent_interface = 1
      program_error          = 2
      OTHERS                 = 3.

  DATA: it_fieldcat_lvc TYPE lvc_t_fcat.

  "Transfer the SLIS fieldcatalog to LVC fieldcatalog
  CALL FUNCTION 'LVC_TRANSFER_FROM_SLIS'
    EXPORTING
      it_fieldcat_alv = it_fieldcat_slis "SLIS fieldcat
    IMPORTING
      et_fieldcat_lvc = it_fieldcat_lvc
    TABLES
      it_data         = go_app->mt_production_pieces
    EXCEPTIONS
      it_data_missing = 1
      OTHERS          = 2.
  IF sy-subrc NE 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  " Display itab in ALV-Grid
  go_alv->set_table_for_first_display(
  EXPORTING
*    i_structure_name = 'zle_lager'  " if active the FieldCatalogue is generated automatically
    is_layout = gs_layout "Layout-Settings, above defined
  CHANGING
    it_fieldcatalog               = it_fieldcat_lvc
    it_outtab                     = go_app->mt_production_pieces" Output table
  EXCEPTIONS
    OTHERS                        = 1
    ).
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
Könnte mir jemand Tipps geben wie ich das realisieren kann?

Grüße
der_neuling

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


Re: Feldkatalog für interne Tabelle erstellen

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Muss es unbeingt ein ALV-Grid / REUSE sein?
Mit dem SALV hättest du die ganzen Problem mit dem Aufbau des Feldkatalogs nicht.

Zu deinem Problem:
Wie lautet der Parameter? I_INTERNAL_TABNAME
Was übergibst du? STRUCT_MT_PRODUCTION_PIECES
Was ist das erste? Ein Tabellenname (vulgo auch Variablenname)
Was ist das zweite? Ein Strukturname

Du müsstest hier stattdessen deine IT_OUTTAB ('go_app->mt_production_pieces') übergeben, wobei ich aber glaub, dass das nicht funktionieren wird, weil die REUSE-Bausteine schon so alt sind und die können mit Objektreferenzen nur sehr bedingt umgehen.

Du brauchst entweder eine programmglobale Variable in deinem Programm, wo das PBO drinnen liegt, oder du musst den Feldkataog "händisch" OHNE REUSE_ALV_FIELDCATALOG_MERGE aufbauen.

Deutlich leichter gehts mit dem SALV.
Theoretisch brauchst du damit nicht mal ein eigenes Dynpro/Programm.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Feldkatalog für interne Tabelle erstellen

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
REUSE_ALV_FIELDCATALOG_MERGE funktioniert nicht zuverlässig bei internen Deklarationen. Es gab da noch ein anderes "Feature", wo Felder eines bestimmten Typs nicht erkannt wurden. Erinnere ich aber nicht mehr genau.

Das Einfachste ist, du legst die Struktur im Dictionary ab.
Tipp: Nimm für ICON nicht das Datenelement ICON_D, sondern ICON_TEXT, dann kannst du mit Fuba ICON_CREATE auch eine Quickinfo hinterlegen.

Den SALV zu benutzen, wie von adt beschrieben, ist eine Alternative. Allerdings verbaust du dir die Möglichkeit, das Grid später ggfs. eingabebereit zu machen.

(Ja, es gibt Tricks, das zu umgehen, gerade am heutigen International Editable SALV Day, allerdings würde ich das nicht empfehlen.)

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
a-dead-trousers


Re: Feldkatalog für interne Tabelle erstellen

Beitrag von der_neuling (ForumUser / 81 / 17 / 3 ) »
Also erstmal vielen Dank für die schnellen und guten Antworten.
ich denke ich werde als Workaround die neue Struktur im DDIC ablegen und dann so verwenden. Langfristig werde ich mal den Code auf die SALV Klasse ummünzen, danke dafür!

Noch eine Frage: Wie kann ich einen Feldkatalog manuell aufbauen? Eine richtige Vorlage konnte ich dazu irgendwie nicht finden

Seite 1 von 1

Vergleichbare Themen

4
Antw.
4429
Views
Feldkatalog it_fcat erstellen
von ASchreier » 15.04.2008 18:18 • Verfasst in ABAP® Core
4
Antw.
227
Views
5
Antw.
1247
Views
Inhalt interne Tabelle an andere interne Tabelle übergeben
von L0w-RiDer » 30.01.2020 16:28 • Verfasst in ABAP® für Anfänger
10
Antw.
9047
Views
Feldkatalog aus interner Tabelle LVC_FIELDCATALOG_MERGE ?
von schuessler » 10.01.2006 15:58 • Verfasst in ABAP Objects®
2
Antw.
2424
Views
zur Laufzeit interne Tabellen erstellen
von Dudu » 11.04.2005 12:55 • Verfasst in ABAP® Core

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Zugriff auf Daten via Webdav
vor 16 Stunden von msfox 1 / 33
Interne Tabelle
vor 17 Stunden von sap_enthusiast 3 / 163
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

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

Zugriff auf Daten via Webdav
vor 16 Stunden von msfox 1 / 33
Interne Tabelle
vor 17 Stunden von sap_enthusiast 3 / 163
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

Unbeantwortete Forenbeiträge

Zugriff auf Daten via Webdav
vor 16 Stunden von msfox 1 / 33
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111