peinlich ... Parameterübergabe/Unterprogramm

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

peinlich ... Parameterübergabe/Unterprogramm

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
Hallo zusammen.

Also folgendes,
Mit einem Select wird eine int.Tabelle gefüllt.

diese int. Tabelle soll nun einem Unterprogramm mitgegeben werden. In dem UP wird dann über die int Tabelle geloopt und eben was gemacht mit den Daten.

Ich hab das nur so lösen können, dass ich im UP eine weitere int.Tabelle angelegt habe + Arbeitsbereich und den übergebenen Parameter auf die lokale int. tabelle kopiert habe.
Is das wirklich der normale weg?
Kann man nicht direkt mit der übergebenen tabelle arbeiten?
(achja, bin aufm unicode system)

Gruß
Markus

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


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

wie sieht denn die Schnittstelle aus? Übergibst Du die Tabelle an einen USING Parameter? Wenn ja, dann definier den Parameter statt dessen als CHANGING, da Du ja die Tabelle ändern willst.

PS:
historisch bedingt, funktionierte die Modifikation von USING-Parametern in früheren Releases.
Gruß
Ereglam


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

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
So is es definiert.
Wenn ich im Unterprogramm den Typ beim changing angeb, bekomm ich immer ein fehler, also in der Art:
FORM correct_date CHANGING r_gt_data LIKE zpdata.
Habs aber in zig möglichkeiten versucht. Kam eben immr Typkonflikt von r_gt_data zu gt_data. (formal parameter und aktual parameter nicht kompatibel)

Im Hauptprog:
DATA:
gt_data TYPE TABLE OF zpdata,
gs_data LIKE LINE OF gt_data,

PERFORM correct_date CHANGING gt_data.


das unterprogramm:
FORM correct_date CHANGING r_gt_data.

DATA:
lt_data TYPE TABLE OF zpdata,
ls_data LIKE LINE OF lt_data,

lt_data = r_gt_data.

LOOP AT lt_data INTO ls_data.
.
.
.
endloop.


Gruß
Markus

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

Dir fehlte lediglich ein Tabellentyp, den Du zum Typisieren des Schnittstellenparameters benutzen musst.

Code: Alles auswählen.

TYPES:
  tt_data TYPE STANDARD TABLE OF zpdata.

DATA:
  gt_data TYPE tt_data,
  gs_data LIKE LINE OF gt_data,

PERFORM correct_date CHANGING gt_data.


* das unterprogramm:
FORM correct_date CHANGING ct_data TYPE tt_data.

DATA:
  ls_data LIKE LINE OF lt_data,

LOOP AT ct_data INTO ls_data.
.
.
.
ENDLOOP.
ENDFORM. 
PS:
lass Dir nicht erzählen, Du könntest die Tabelle über den Schnittstellentyp TABLES übergeben. Ist zwar richtig, wird aber von SAP nicht mehr empfohlen...
Gruß
Ereglam


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

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
Danke ereglam.
An Tabellentyp hatte ich gar nicht gedacht.

Gruß
Markus

Seite 1 von 1

Vergleichbare Themen

3
Antw.
1471
Views
Unterprogramm
von Gast » 20.09.2005 09:42 • Verfasst in ABAP® für Anfänger
1
Antw.
2517
Views
Funktionsbaustein, Unterprogramm
von tech » 28.12.2007 10:25 • Verfasst in ABAP® für Anfänger
2
Antw.
643
Views
Funktionsbaustein mit Unterprogramm
von tekko » 17.12.2019 13:24 • Verfasst in ABAP® für Anfänger
2
Antw.
1473
Views
Parameterübergabe
von Gregor » 28.04.2006 11:21 • Verfasst in ABAP Objects®
3
Antw.
1612
Views
Parameterübergabe
von Gast » 22.11.2004 10:16 • Verfasst in ABAP® Core

Über diesen Beitrag


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.

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Wochen von Lucyalison 1 / 134
Group Items auf einer Filterbar
vor 5 Wochen von Bright4.5 1 / 168