Verwendung einer übergebenen Tabelle in einer Methode

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

Verwendung einer übergebenen Tabelle in einer Methode

Beitrag von pitcat (ForumUser / 6 / 0 / 0 ) »
Hallo,

ich hoffe ich bin im richtigen Unterforum. Falls nicht bitte verschieben.

Ich habe eine Methode, die ich in se24 angelegt habe. Dort möchte ich eine Tabelle c_t_data übergeben, die ich in dem Pogramm, welches die Methode aufrufen wird, definiert habe. Sie enthält auch Daten. Der Datentyp dieser Tabelle c_t_data ist im DDiC hinterlegt. Ich habe die Tabelle jetzt als Importparameter definiert. Aber wie kann ich nun in der Methode auf diese Tabelle zugreifen?

Wenn ich ein Loop über diese TAbelle vresuche, dann erscheint folgende Fehlermeldung:

"C_T_DATA" ist weder unter "TABLES" angegeben noch als interne Tabelle definiert.

Danke für eure Hilfe.
Zuletzt geändert von pitcat am 29.01.2014 11:23, insgesamt 1-mal geändert.

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


Re: Verwendung einer übergebenen Tabelle in einer Methode

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
Innerhalb deiner Methode musst du natürlich den Namen verwenden, den der Import-Parameter hat.
Auch muss der DDIC-Typ in diesem Fall ein TABLENTYP sein (TYPE TABLE OF) und keine Strukturtyp.

Wenn du den Inhalt der übergebenen Tabelle innerhalb der Methode auch ändern möchtest musst du den Parameter als CHANGING definieren.
Bei IMPORTING würde jeder Änderungsversuch mit einem Kurdump quitiert werden. ("Read-Only")

Wenn das nicht hilft, poste doch bitte den Definitionsabschnitt deiner Methode.
Einfach in der se24 die jeweilige Section (Springen->Abschnitte->private, public, protected) in der du deine Methode definiert hast öffnen und das Coding der Methode rauskopieren.

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: Verwendung einer übergebenen Tabelle in einer Methode

Beitrag von pitcat (ForumUser / 6 / 0 / 0 ) »
a-dead-trousers hat geschrieben:Innerhalb deiner Methode musst du natürlich den Namen verwenden, den der Import-Parameter hat.
Habe ich gemacht.
a-dead-trousers hat geschrieben: Auch muss der DDIC-Typ in diesem Fall ein TABLENTYP sein (TYPE TABLE OF) und keine Strukturtyp.
Ist es, habe gerade noch einmal in der se11 nachgeprüft.
a-dead-trousers hat geschrieben: Wenn du den Inhalt der übergebenen Tabelle innerhalb der Methode auch ändern möchtest musst du den Parameter als CHANGING definieren.
Bei IMPORTING würde jeder Änderungsversuch mit einem Kurdump quitiert werden. ("Read-Only")
Danke für den Tipp, habe es gleich geändert.
a-dead-trousers hat geschrieben:Wenn das nicht hilft, poste doch bitte den Definitionsabschnitt deiner Methode.
Einfach in der se24 die jeweilige Section (Springen->Abschnitte->private, public, protected) in der du deine Methode definiert hast öffnen und das Coding der Methode rauskopieren.

lg ADT
Aus Public Section:

class ZCL_BW_WBS_3 definition
public
final
create public .

public section.

interfaces ZIF_ROOT_DATASOURCE .

types C_T_DATA type TABLE OF ICWBSPLN .

Private and Protected Section enthalten nichts.

VG
pitcat

Re: Verwendung einer übergebenen Tabelle in einer Methode

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
pitcat hat geschrieben: Aus Public Section:

class ZCL_BW_WBS_3 definition
public
final
create public .

public section.

interfaces ZIF_ROOT_DATASOURCE .

types C_T_DATA type TABLE OF ICWBSPLN .
Demnach ist die Methode im Interface ZIF_ROOT_DATASOURCE definiert. (Bitte posten)
Weiters kann ich nur sagen, das du auch ein ATTRIBUTE mit Namen C_T_DATA verwendest. Da würde ich, wenn das wirklich gewünscht ist, einen anderen Namen verwenden um es unterscheidbar zu machen. Sonst weist du innerhalb der Methode nicht ob du jetzt auf das Attribut oder den Parameter zugreifst.
(Der Parameter "überblendet" das Attribut und du kannst nur über ME->C_T_DATA darauf zugreifen)
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: Verwendung einer übergebenen Tabelle in einer Methode

Beitrag von pitcat (ForumUser / 6 / 0 / 0 ) »
interface ZIF_ROOT_DATASOURCE
public .


type-pools RSAOT .
type-pools SBIWA .
class-methods IMPLEMENT
importing
!I_DATASOURCE type RSAOT_OLTPSOURCE
!I_ISOURCE type SBIWA_S_INTERFACE-ISOURCE
!I_UPDMODE type SBIWA_S_INTERFACE-UPDMODE
changing
!C_T_DATA type ICWBSPLN
exceptions
RSAP_CUSTOMER_EXIT_ERROR .
endinterface.

Re: Verwendung einer übergebenen Tabelle in einer Methode

Beitrag von pitcat (ForumUser / 6 / 0 / 0 ) »
Ich habe es gelöst :) In der Deklaration habe ich jetzt TYPE ANY TABLE drin stehen und jetzt kommen die Daten rüber.

changing
!C_T_DATA type ANY TABLE

Seite 1 von 1

Vergleichbare Themen

3
Antw.
3689
Views
FuBA 'ALV_XXL_CALL' Verwendung interne Tabelle -> Excel
von cut1 » 04.10.2006 18:06 • Verfasst in ABAP® Core
4
Antw.
2231
Views
in der Funktion übergebenen Parameter nutzen (gelöst)
von SeZo » 25.10.2011 10:55 • Verfasst in ABAP® für Anfänger
2
Antw.
1648
Views
Tabelle gesucht - Methode / Ereignis
von gerritnova » 29.10.2009 09:56 • Verfasst in ABAP Objects®
4
Antw.
612
Views
Tabelle als Attribut bei einer Methode
von Julia.hrtm » 28.10.2024 13:07 • Verfasst in ABAP® für Anfänger
18
Antw.
4761
Views
Lookup Tabelle in Methode lesen und erweitern
von toni89 » 17.09.2019 12:41 • 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

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor 12 Stunden von Bright4.5 3 / 1485
Regex in where
vor 14 Stunden von tar 6 / 158

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

Daten an Tabelle binden
vor 12 Stunden von Bright4.5 3 / 1485
Regex in where
vor 14 Stunden von tar 6 / 158

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821