Tabelle von Typ Any Table returnen

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

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

Tabelle von Typ Any Table returnen

Beitrag von fba9901 (ForumUser / 38 / 6 / 0 ) »
Hallo und frohe Ostern!

Ich habe eine kleine Frage, bei der ich nicht weiter komme gerade.
Habe in der se24 eine Klasse erstellt. In dieser Klasse habe ich eine Methode angelegt, in der ich eine Tabelle dynamisch aufgebaut habe.

Ein Feld-Symbol zeigt auf die Tabelle.. Deklaration:

Code: Alles auswählen.

 FIELD-SYMBOLS: <gs_return_tab> TYPE ANY,
                          <gt_return_tab> TYPE ANY TABLE.
Ich möchte die Tabelle <gt_return_tab> jetzt gerne in andere Methoden exportieren können.
Daher ist mein Export-Parameter der Methode wie folgt definitiert:

Code: Alles auswählen.

pe_table TYPE any table.
wie kann ich denn jetzt am Ende meiner Methode dem Parameter pe_table die Tabelle <gt_return_tab> zuweisen?
Wenn ich

Code: Alles auswählen.

pe_table = <gt_return_tab>
schreibe, kommt folgender Fehler:
"Zwei interne Tabellen sind weder kompatibel noch konvertierbar. (termination: RABAX STATE)"
(Ich nutze Web-Dynpro)

Kann mir jemand weiterhelfen?

Vielen Dank im Voraus und Gruß,
B.

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


Re: Tabelle von Typ Any Table returnen

Beitrag von black_adept (Top Expert / 3942 / 105 / 885 ) »
Hallo B.

Du musst eine Referenz auf die Tabelle erzeugen ( Get reference of <gt_return_tab> into dref_export ) und diese Referenz dann zurückgeben.
Das empfangene Programm kann dann diese Referenz wieder in ein Feldsymbol dereferenzieren ( Assign dref_import->* to <feldsymbol> )

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
fba9901

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Tabelle von Typ Any Table returnen

Beitrag von fba9901 (ForumUser / 38 / 6 / 0 ) »
Hallo black_adept.

Vielen Dank für Deine Antwort, funktioniert so :) .
Sollte nochmal jemand das Problem haben, sei noch erwähnt, dass der Export-Parameter der Methode nicht "Type Any Table" sondern "Type Ref To Data" sein muss.

Viele Grüße,
B.

Re: Tabelle von Typ Any Table returnen

Beitrag von m.andreschak (ForumUser / 22 / 2 / 3 ) »
Man sollte auch erwähnen, dass eine Tabelle, die lokal in einer Methode definiert wurde, nach Ende der Methode abgebaut wird. Eine Referenz auf diese lokale Tabelle, die man aus der Methode zurückgibt, zeigt dann auf einen undefinierten Speicherbereich. Nur so der Vollständigkeit halber.

Re: Tabelle von Typ Any Table returnen

Beitrag von Sral (ForumUser / 4 / 0 / 0 ) »
m.andreschak hat geschrieben:Man sollte auch erwähnen, dass eine Tabelle, die lokal in einer Methode definiert wurde, nach Ende der Methode abgebaut wird. Eine Referenz auf diese lokale Tabelle, die man aus der Methode zurückgibt, zeigt dann auf einen undefinierten Speicherbereich. Nur so der Vollständigkeit halber.
Ist das wirklich so? So lange man noch eine Referenz auf diesen Speicherbereich hat (die wird ja als Returning-Parameter an den Aufrufer zurückgegeben) sollte der Garbage Collector eigentlich erkennen, dass er die Tabelle nicht freigeben darf. Ich überlege gerade, wie das in anderen Sprachen gehandhabt wird. Dort dürfte so etwas in der Tat eher zu Problemem führen aber ABAP ist ja da manchmal etwas "anders"...

Viele Grüße,
Lars

Re: Tabelle von Typ Any Table returnen

Beitrag von a-dead-trousers (Top Expert / 4267 / 213 / 1140 ) »
Lokale Daten, die in der jeweiligen Methode definiert sind, werden beim Verlassen IMMER gelöscht auch wenn darauf noch Referenzen existieren.
Ausnahme: Wenn die Daten mit CREATE DATA erzeugt wurden, dann landen sie im sog. HEAP und der ist global innerhalb einer Transaktion/eines Reports (SUBMIT) immer verfügbar.
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

Seite 1 von 1

Vergleichbare Themen

1
Antw.
385
Views
Externe Tabelle anhand von ANY Table
von P4dd3y » 08.02.2021 11:06 • Verfasst in ABAP® Core
2
Antw.
1929
Views
Inhalt Table Control in Excel Tabelle?
von Steffi » 05.04.2005 08:58 • Verfasst in Dialogprogrammierung
2
Antw.
1983
Views
Interne Tabelle in table Control ausgeben
von ABAPSunny » 07.03.2008 09:32 • Verfasst in ABAP® für Anfänger
3
Antw.
5118
Views
Tabelle ohne Kopfzeile ersetzen - Read table
von joester » 19.04.2016 09:25 • Verfasst in ABAP® Core
3
Antw.
5471
Views
Dynamische interne Tabelle generieren für Select into Table
von jondahl11 » 24.09.2007 16:06 • Verfasst in ABAP Objects®

Über diesen Beitrag


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

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.