Abap

Liebe/-r Experte/-in,

ich bei folgendes Problem bzgl. ABAP Objects: ich möchte in der Schnittstelle einer Methode (also als Formalparameter) eine interne Tabelle vom Typ Hashed Table anlegen, die eine selbst definierte Strukur besitzt. Im Moment weiss ich allerings nicht so recht, wie ich das im Class Builder machen kann:

Auswählen kann ich hier für den Typ nur „type“, „type ref to“ und „like“ - die Frage ist, wo ich das „table of“ und das „hashed table“ unterbringen kann (den Typ der Struktur habe ich schon innerhalb der Klasse definiert).

Kannst Du mir hierbei weiterhelfen?

Viele Grüße
Markus

hallo,
ich habe einmal einen eigenen report-generator erstellt, bei dem die tabellenstruktur dynamisch angelegt wurde.

schau doch einmal bei der funktion fuer die ausgabe von internen tabellen als bericht/report nach. in der zuletzt benutzten sap-version gabs dafür eine funktion, die ich benutzt habe.

da mit das programm nicht mehr zur verfügung steht, kann ich leider nicht nachsehem wie sowas definiert wird.

tschuess

Hallo Markus,

um in einer Schnittstelle einen selbst definierten Tabellentyp anzugeben, musst Du:
1.) falls die Methode public ist: den Tabellen-Typ im Data Dictionary anlegen (da auch von außen darauf zugegriffen wird, muss auch der Typ „public“ sein und das ist er nur im Data Dictionary). Hier kannst Du auch definieren, ob die Tabelle eine Hash-Tabelle ist (unter Zugriffsart).
2.) falls die Methode protected oder private ist, kannst Du natürlich auch den Tabellentyp im Data Dictionary anlegen, was ich Dir auch raten würde (ist aber meine persönliche Erfahrung). Da von außen niemand darauf zugreift, kannst Du aber auch einen internen Tabellen-Typ (zusätzlich zu Deiner Struktur) in der Klasse definieren und diesen in die Schnittstellenparameter eintragen.

Deklariert wird der Parameter einfach mit Type, bei Typ schreibst Du Deinen Tabellentyp rein. Type table of gibt es in den Schnittstellenparametern in ABAP nicht.

Viele Grüße
Daniel

Hallo Markus,

man muss im D-Dic (SE11) eine Struktur anlegen. Als Element die Klasse, also die Hash-Table mit „TYPE REF TO“.

Zur Struktur ein Tabellentypen anlegen. Diesen Tabellentypen kann man dann in den Parametern der Schnittstelle verwenden.

Gruß,

Florian

Hallo Daniel,

hat super geklappt, vielen Dank für Deine Hilfe!

Viele Grüße
Markus