Dynamischer Aufbau einer internen Tabelle

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Dynamischer Aufbau einer internen Tabelle

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

ich habe eine Frage bezüglich der Definition einer internen Tabelle.

Problem: Ich würde gerne die interne Tabelle automatisch so strukturieren lassen, wie eine beliebige bestehende DB-Tabelle. Ich würde gern im Selektionsbild den Namen der Tabelle angeben können und anhand dieser soll deren Struktur in die interne Tabelle übernommen werden.

Ist dies möglich?

Grüße
Laeng

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


Beitrag von codemaster ( / / 0 / 3 ) »
Hi,
meinst du in etwas so wie die se16?
dort gibst du eigentlich auch einen db namen an,
der generiert dir daraus ein dynpro und zeigt es dann sogar an...

Dynamischer Aufbau einer internen Tabelle

Beitrag von Laeng ( / / 0 / 3 ) »
Hi,

ja so ähnlich wie die se16.

diese struktur soll dann in die itab übernommen werden...
idee??

Beitrag von Hermann ( / / 0 / 3 ) »
Welches Release?

Hermann

Beitrag von Laeng ( / / 0 / 3 ) »
Hi,

ist das entscheidend?

Ich will das Prog im APO 3.0A wg. Realignment programmieren...

laeng

Beitrag von Hermann ( / / 0 / 3 ) »
Oh ja, das ist ganz entscheidend. Ab 6.10 (oder 6.20, bin nicht ganz sicher) kann man das so machen:

Code: Alles auswählen.

data: l_ref type ref to data.
field-symbols: <l_tab> type standard table.

CREATE DATA l_ref TYPE STANDARD TABLE OF ('YOURTAB').
assign l_ref->* to <l_tab>.
Hermann

Beitrag von Gast ( / / 0 / 3 ) »
hi,

kenn mich mit field-symbols nicht so aus.
Kannst mir deine zeilen erklären?

mit field-symbols definier ich die l_tab als tabelle, jedoch ohne struktur, oder?
und wofür sind die anderen zeilen?

sorry :-)

laeng

Beitrag von Hermann ( / / 0 / 3 ) »
Kein Problem.

Damit

Code: Alles auswählen.

data: l_ref type ref to data. 
field-symbols: <l_tab> type standard table. 
definierst Du eine allgemeine Datenreferenz (l_ref_type).
<l_tab> ist ein Zeiger auf eine interne Tabelle.

Mit

Code: Alles auswählen.

CREATE DATA l_ref TYPE STANDARD TABLE OF ('YOURTAB'). 
erzeugst Du zur Laufzeit (dynamisch) eine interne Standardtabelle vom Typ 'YOURTAB' (hier gibst Du den Tabellennamen aus dem DDIC an).

Der letzte Befehl schließlich

Code: Alles auswählen.

assign l_ref->* to <l_tab>.
ist eine Dereferenzierung und 'Verpointerung'.
Die Zeigervariable zeigt dann quasi auf ein dynamisch erzeugtes Datenobjekt (interne Tab) vom angegebenen Typ. Damit kannst du dann weiterarbeiten.

Hermann

Beitrag von Laeng ( / / 0 / 3 ) »
Hey Danke,

klappt allerdings nicht, da er schon bei create data den fehler bringt, der typ 'standard' sei unbekannt.

vielleicht drück ich mich auch falsch aus.

ich will einfach nur vom sinn her:
DATA: BEGIN OF itab OCCURS 0.
INCLUDE STRUCTURE p_tabname.
DATA: END OF itab.

p_tabname als selektionsfeld für die DB-Tabelle.
ist logisch sehr einfach, aber von der umsetzung her wahrscheinlich ganz und garnicht.

aber dennoch vielen dank für die mühe.

grüße
laeng[/img]

Beitrag von Hermann ( / / 0 / 3 ) »
Das was ich Dir gepostet habe, macht genau das (dynamisch eben). Wenn bei dir die Fehlermeldung kommt, hast Du ein Release, in dem das noch nicht möglich ist (deshalb meine Frage nach dem Release).

Es gibt aber noch eine andere Möglichkeit. Sieh Dir hierzu diesen Thread an:

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

Relevant ist die Methode cl_alv_table_create=>create_dynamic_table

Damit lassen sich dynamisch zur Laufzeit Tabellen erzeugen auch für niedrigere Release.

Hermann

Beitrag von Laeng ( / / 0 / 3 ) »
hi,

ich hab nu so programmiert:
*---
data: ref_rtab type ref to data.
field-symbols: <lf_rtab> type any.

create data ref_rtab type (p_rtab).
assign ref_rtab->* to <lf_rtab>.
*---

nun habe ich beim Debuggen in <lf_rtab> die gewollte Struktur. Wie aber kann ich damit weiter arbeiten? Fehlermeldung ist immer, dass es keine interne Tabelle wäre...

danke
laeng

Beitrag von Laeng ( / / 0 / 3 ) »
hi,

so tuts, allerdings will ich die /1apo... tabelle nicht fest codieren. Hat jemand Ideen?

Wenns nur mit STANDARD TABLE und STANDARD TABLE (p_rtab) geht, hab ich verloren...

*-----------

DATA: ref_rtab TYPE REF TO data.

FIELD-SYMBOLS: <it_data> TYPE /1apo/r035000175.

CREATE DATA ref_rtab TYPE /1apo/r035000175.

ASSIGN: ref_rtab->* TO <it_data>.

*Interne Tabelle
DATA: it_data LIKE TABLE OF <it_data> WITH HEADER LINE.


Danke für eure Mühe.

laeng

Seite 1 von 1

Vergleichbare Themen

1
Antw.
2209
Views
SMARTFORMS, dynamischer Aufbau
von SAP_ENTWICKLER » 07.12.2017 12:51 • Verfasst in ABAP® Core
2
Antw.
4302
Views
Dynamischer Methodenaufruf mit dynamischer Tabelle
von mark.thk » 12.12.2018 10:34 • Verfasst in ABAP Objects®
5
Antw.
7388
Views
Dynamischer Methodenaufruf mit dynamischer Tabelle
von Tommy Nightmare » 08.09.2017 13:23 • Verfasst in ABAP Objects®
6
Antw.
2936
Views
Problem bei dynamischer Zugriff auf Z-Tabelle
von rmuc » 05.07.2007 14:16 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag

Anonymous
Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

ATC Finding in Smartforms
vor 2 Tagen von sap_enthusiast 2 / 294
LSMW-Problem
vor 3 Tagen von rob_abc 4 / 355

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

ATC Finding in Smartforms
vor 2 Tagen von sap_enthusiast 2 / 294
LSMW-Problem
vor 3 Tagen von rob_abc 4 / 355

Unbeantwortete Forenbeiträge

SFP/SEGW - Fehler beim Rendering
letzen Monat von Manfred K. 1 / 71093
Benutzerdefinierte Felder PSP
January 2026 von Rabea1103 1 / 124086