Interne Tabelle dynamisch anzeigen

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

Interne Tabelle dynamisch anzeigen

Beitrag von Embryo (ForumUser / 15 / 1 / 0 ) »
Hallo,
ich möchte mich ersteinmal Vorstellen, da ich Neu hier bin :) .
Mein Name ist Mario, bin im 2. Lehrjahr der Ausbildung zum FIAE und habe nun seit ca. 2 Wochen das Vergnügen mich mit ABAP zu beschäftigen 8) .
Vorkenntnisse: PHP, C#, C, JavaScript

So nun zu meinem eigentlichlen Problemchen:

Dem Programm wird ein String mit dem Namen einer Tablle übergeben.
Diese Tabelle will ich nun ausgeben...

Bei einer fest vorgegeben Tabelle hab ich das ja auch hinbekommen, aaaaaber jetzt bekomme ich es einfach nicht hin, dass die ganze Geschichte dynamisch läuft.

Mein Code Bisher:

Code: Alles auswählen.

     

DATA: i_tab TYPE TABLE OF T001.
FIELD-SYMBOLS: <i_tab> LIKE LINE OF i_tab.

select * from T001 into table i_tab.

LOOP AT i_tab ASSIGNING <i_tab>.
    WRITE <i_tab>-mandt.
ENDLOOP.

Mit folgender Methode sollte es eigentlich möglich sein. Aber da blicke ich nicht ganz durch, was ich wo importieren und exportieren muss. :twisted:

Code: Alles auswählen.

CALL METHOD cl_alv_table_create=>create_dynamic_table
´


Ich würde mich sehr freuen, wenn mir jemand weiterhelfen könnte :|
Grüße Mario

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


Re: Interne Tabelle dynamisch anzeigen

Beitrag von Embryo (ForumUser / 15 / 1 / 0 ) »
Mittlerweile habe ich jetzt schon einen kleinen Fortschritt erzielt! :)
Nachdem ich Google nochmal angestrengt habe, konnte ich mir einige Codeschnipsel zusammendoktorn :wink:
Leider bekomme ich aber noch keine Ausgabe ... Ich will in meinem Beispiel die Tabelle SBOOK ausgeben:

Code: Alles auswählen.

*** Feldkatalog
DATA gt_fcat             TYPE lvc_t_fcat.
DATA it_fieldcat         TYPE lvc_t_fcat.
*** Datenreferenz für interne Tabelle
DATA gz_table            TYPE REF TO data.
*** Feld-Symbole für:
*>> Zeile des Feldkatalogs
FIELD-SYMBOLS <fcat>     TYPE lvc_s_fcat.
*>> interne Tabelle
FIELD-SYMBOLS <table>    TYPE STANDARD TABLE.
*>> Arbeitsbereich der internen Tabelle
FIELD-SYMBOLS <workarea> TYPE any.
*>> Feld des Arbeitsbereiches
FIELD-SYMBOLS <field>    TYPE any.


START-OF-SELECTION.


CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
  EXPORTING
    i_structure_name       = 'SBOOK'
  CHANGING
    ct_fieldcat            = it_fieldcat
  EXCEPTIONS
    inconsistent_interface = 1
    program_error          = 2
    OTHERS                 = 3.



gt_fcat = it_fieldcat.


*** Interne Tabelle aus Feldkatalog generieren
  CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING
      it_fieldcatalog           = gt_fcat
    IMPORTING
      ep_table                  = gz_table
    EXCEPTIONS
      generate_subpool_dir_full = 1
      OTHERS                    = 2.

*** Datenreferenz dem Feldsymbol <TABLE> zuweisen
  ASSIGN gz_table->* TO <table>.






*** Testdaten auslesen und als Liste ausgeben:
  LOOP  AT <table> ASSIGNING <workarea>.
     WRITE <workarea>.
  ENDLOOP.

Re: Interne Tabelle dynamisch anzeigen

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
Embryo hat geschrieben: Ich will in meinem Beispiel die Tabelle SBOOK ausgeben:
Dann mußt du die Tabelle auch einlesen ;-)

Es fehlt etwas wie:

Code: Alles auswählen.

SELECT *
  INTO TABLE <table>
  FROM (dbtab).
In dbtab wird eine Variable mit dem Tabellenname erwartet (sollte doch dynamisch sein....). Am besten die F1-Hilfe verwenden um dich mit SELECT-Statments vertraut zu machen (Meines erachten solltest du zu erst den Zugriff auf die DB lernen und später erst das ganze dynamisch machen).

BTW: Welches Basisrelease hat das SAP-System? Ab 6.x sollte RTTS verfügbar sein, ist in meinen Augen besser zu verwenden als sich dynamischen Daten per ALV-Fieldcat zu erzeugen. Zum Einstieg Klasse CL_ABAP_TYPEDESCR, dann in die Doku einsteigen (ist für SAP-Verhältnise recht gut.)
Gruß Hendrik

Re: Interne Tabelle dynamisch anzeigen

Beitrag von Embryo (ForumUser / 15 / 1 / 0 ) »
Danke :)
Da ich mich recht gut mit PHP auskenne bin ich mit Datenbankzugriffen natürlich vertraut.
Ich wusste in diesem Fall nur nicht wo ich die Daten her bekomme und habe immer mit APPENDING herumprobiert.

Aber Jetzt funktioniert alles soweit !

Nächster Schritt ist das ganze Konstrukt in eine BSP App einzubinden.
Ein paar Grundlagen dafür kenn ich schon. z.B.: diese Tags "<% ... %>"
Mir ist auch klar das dann kein WRITE mehr fuktionieren wird. Das ist alles schon soweit geregelt...

Mein Problem ist jetzt, dass ich beim aktivieren immer die Fehlermeldung "Die Anweisung "ENDMETHOD" fehlt." bekomme ?!
Wo muss ich das ENDMETHOD einfügen ? Ich bekomms mal wieder einfach nicht hin *schäm* :x

Grüße Mario

Re: Interne Tabelle dynamisch anzeigen

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Embryo hat geschrieben:Mein Problem ist jetzt, dass ich beim aktivieren immer die Fehlermeldung "Die Anweisung "ENDMETHOD" fehlt." bekomme ?!
Wo muss ich das ENDMETHOD einfügen ? Ich bekomms mal wieder einfach nicht hin *schäm* :x
ähm... Vermutlich ganz an das Ende deines Codings.
In SAP/AbAP beginnen die Methoden einer Klasse mit METHDO und enden folgerichtig mit ENDMETHOD.
Generell kannst du dir merken: Wenn in ABAP irgendwo ENDblablabla steht, muss es auch davor irgendwo ein blablabla geben.

lg ADT
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: Interne Tabelle dynamisch anzeigen

Beitrag von Embryo (ForumUser / 15 / 1 / 0 ) »
Ja das hatte ich mir auchgedacht. Doch egal wo ich "ENDMETHOD." hingesetzt hatte, kam die Fehlermeldung trozdem. Lösung war schlussendlich eifach das "START-OF-SELECTION." auszukommentiern.

Keinen Dunst wieso aber ist mir auch egal jetzt gehts :D

Seite 1 von 1

Vergleichbare Themen

12
Antw.
2876
Views
Interne Tabelle Dynamisch einfuhlen
von autohandel7 » 22.01.2016 13:14 • Verfasst in ABAP® für Anfänger
2
Antw.
4901
Views
Interne Tabelle dynamisch typisieren
von McQueenSix » 23.12.2016 14:07 • Verfasst in ABAP® Core
8
Antw.
5175
Views
interne Tabelle dynamisch anlegen
von Google » 27.10.2006 11:11 • Verfasst in ABAP Objects®
8
Antw.
5398
Views
Interne Tabelle dynamisch generieren
von inab » 22.10.2008 10:19 • Verfasst in ABAP Objects®
8
Antw.
1765
Views
Interne Tabelle dynamisch erzeugen
von Der Formulator » 21.10.2021 09:30 • Verfasst in ABAP® Core

Über diesen Beitrag


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

Aktuelle Forenbeiträge

User Exit EXIT_RQCPRM10_001
vor 56 Minuten von Manfred K. 1 / 24
Trennen Strasse und Hausnummer
vor 2 Stunden von payten 13 / 10306
Dialog-Container mit Toolbar/Status
vor 16 Stunden von DeathAndPain gelöst 22 / 3235
Daten an Tabelle binden
vor 21 Stunden von Lukas Sanders 2 / 1094

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

User Exit EXIT_RQCPRM10_001
vor 56 Minuten von Manfred K. 1 / 24
Trennen Strasse und Hausnummer
vor 2 Stunden von payten 13 / 10306
Dialog-Container mit Toolbar/Status
vor 16 Stunden von DeathAndPain gelöst 22 / 3235
Daten an Tabelle binden
vor 21 Stunden von Lukas Sanders 2 / 1094

Unbeantwortete Forenbeiträge

User Exit EXIT_RQCPRM10_001
vor 56 Minuten von Manfred K. 1 / 24
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2655
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9243