Workarea und Interne Tabelle dynamisch anlegen

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

Workarea und Interne Tabelle dynamisch anlegen

Beitrag von Slim_Chance (ForumUser / 33 / 0 / 0 ) »
Hallo,

ich möchte mir eine Workarea und eine interne Tabelle dynamisch aufbauen. Das mit der Workarea klappt schon ganz gut:

Code: Alles auswählen.

FIELD-SYMBOLS: <f_mara> TYPE any.
data:      dref TYPE REF TO data.

CREATE DATA dref type ('MARA').
 assign dref->* to <f_mara>.
Jetzt möchte ich die Feldleiste <f_mara> in eine interne Tabelle gleichen Typs schreiben. Ich bekomme aber nicht hin, diese Tabelle dynamisch anzulegen.

Meine Idee war:

Code: Alles auswählen.

field-symbols: <it_f_mara> type table.

CREATE DATA dref TYPE STANDARD TABLE OF ('MARA').
Dann sagt mir der Syntax Check:

Code: Alles auswählen.

"TABLE" konnte nicht interpretiert werden. Mögliche Fehlerursachen:
Falsche Schreibweise oder Kommafehler.

Unser Release ist 4.6c. Wie bekomme ich die int.Tabelle dynamisch hin??????

Gruß

Slim_Chance

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


Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

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

wenn ich mich nicht irre solte die Anweisung
field-symbols: <it_f_mara> type any table.
heißen.

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
in einem 4.6C ist m.W. ein CREATE DATA TYPE TABLE noch nicht möglich.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von Slim_Chance (ForumUser / 33 / 0 / 0 ) »
Hallo,

so wie es aussieht (danke Haubi :roll: ) klappt das so wohl nicht im 4.6c.

Ich werde es mal mit

Code: Alles auswählen.

CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
probieren.

Gruß und vielen Dank

Slim_chance

Beitrag von Slim_Chance (ForumUser / 33 / 0 / 0 ) »
Hallo,

ich bin jetzt weitergekommen. 2 Probleme habe ich noch.
Erst mal das Coding:

Code: Alles auswählen.

REPORT z_test_burr LINE-SIZE 200.
tables: mara.
data: wa_mara type mara.
DATA:
  gt_fieldcatalog TYPE lvc_t_fcat,
  it_mara_ref     TYPE REF TO data,
  wa_mara_ref     TYPE REF TO data,
  g_struc_name    TYPE dd02l-tabname VALUE 'MARA'.

FIELD-SYMBOLS:
  <it_mara>      TYPE ANY TABLE,
  <wa_mara>         TYPE ANY.


* Feldkatalog aus Struktur bauen
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
     EXPORTING
          i_structure_name       = g_struc_name
          I_BYPASSING_BUFFER     = 'X'
          I_CLIENT_NEVER_DISPLAY = ' '
     CHANGING
          ct_fieldcat            = gt_fieldcatalog
     EXCEPTIONS
          inconsistent_interface = 1
          program_error          = 2
          OTHERS                 = 3.

* Zeiger auf dynamisch generierte Tabelle ermitteln
CALL METHOD cl_alv_table_create=>create_dynamic_table
  EXPORTING
    it_fieldcatalog           = gt_fieldcatalog
  IMPORTING
    ep_table                  = it_mara_ref
  EXCEPTIONS
    generate_subpool_dir_full = 1
    OTHERS                    = 2.

* Tabelle einem Feldsymbol zuweisen
ASSIGN it_mara_ref->* TO <it_mara>.

* Arbeitsbereich dynamisch erzeugen
CREATE DATA wa_mara_ref LIKE LINE OF <it_mara>.
ASSIGN wa_mara_ref->* TO <wa_mara>.

SELECT SINGLE * FROM mara.
1. Komischerweise ist die Feldleiste <wa_mara> kürzer als die Feldleiste mara. (818 Bytes zu 820 Bytes). Wenn ich die Tabelle RFCDES anstatt MARA (aus einem anderen Beispiel) nehme, sind beide Feldleisten identisch.

2. Wie kann ich jetzt Feldweise auf meine Feldleiste <wa_mara> zugreifen?

Gruß und Danke

Slim_Chance

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Slim_Chance,

da Du bereits den Feldkatalog hast, LOOP'st Du über diesen und benutzt den ASSIGN COMPONENT fcat-fieldname OF STRUCTURE <wa_mara> TO <field>:

Code: Alles auswählen.

LOOP AT gt_fieldcatalog ASSIGNING <wa_fcat>.
  ASSIGN COMPONENT <wa_fcat>-fieldname OF STRUCTURE <wa_mara> TO <field>.
  IF sy-subrc EQ 0.
... " tu, was Du fedlweise tun musst...
  ENDIF.
ENDLOOP.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Seite 1 von 1

Vergleichbare Themen

2
Antw.
4405
Views
Dynamisch Workarea und interne Tabellen benutzen?
von kbit100 » 07.05.2008 14:51 • Verfasst in ABAP® für Anfänger
8
Antw.
5306
Views
interne Tabelle dynamisch anlegen
von Google » 27.10.2006 11:11 • Verfasst in ABAP Objects®
5
Antw.
7763
Views
interne Tabelle kontra workarea
von wewezz » 26.05.2005 12:24 • Verfasst in ABAP® für Anfänger
8
Antw.
2127
Views
Interne Tabelle dynamisch erzeugen
von Der Formulator » 21.10.2021 09:30 • Verfasst in ABAP® Core
5
Antw.
3156
Views
Interne Tabelle dynamisch anzeigen
von Embryo » 24.01.2013 10:38 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1746
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2296

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

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1746
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2296

Unbeantwortete Forenbeiträge

Export von Spools in XLSX
vor 4 Tagen von abapamateur 1 / 296
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 888
MS-Word als Editor
letzen Monat von tekko 1 / 4397