PDA

View Full Version : Rückgabewert bei Subprozeduur im Festformat



stoerfang
28-03-07, 07:04
hallo zusammen,

habe hier ein Beispiel für ein Rückgabewert gefunden.
http://www.newsolutions.de/forum-systemi-as400-i5-iseries/newsboard-programmierung/7574-procedur-rueckgabewert.html

Aber wie realisiere ich den entsprechenden Aufruf im Festformat ?


Danke und Gruss

BenderD
28-03-07, 07:48
Hallo,

Ewald ist dein Freund:
c eval ergebnis = myProcedure(some: parms)


Dieter Bender


hallo zusammen,

habe hier ein Beispiel für ein Rückgabewert gefunden.
http://www.newsolutions.de/forum-systemi-as400-i5-iseries/newsboard-programmierung/7574-procedur-rueckgabewert.html

Aber wie realisiere ich den entsprechenden Aufruf im Festformat ?


Danke und Gruss

stoerfang
28-03-07, 08:07
hallo,
so dachte ich das eigentlich auch, aber

er geht in die Subprozedur arbeitet diese auch fehlerfrei ab, nur wenn er wieder "zurückkommt" erscheint die Fehlermeldung " Der Aufruf wurde fehlerhaft beendet "...
???

Gruss

Fuerchau
28-03-07, 08:13
Wie hast du deine Prozedur denn deklariert und definiert ?
Ggf. stimmt der Return-Wert nicht.

BenderD
28-03-07, 08:27
Hallo,

warum fragst du dann nicht, was du eigentlich wissen willst, diese Ratespielchen sind ineffektiv!
Dein Problem liegt in der aufgerufenen Prozedur und nicht im Aufruf, wie die Fehlermeldung bereits besagt. Könnte ein return ohne Rückgabeparameter sein.

mfg

Dieter Bender


hallo,
so dachte ich das eigentlich auch, aber

er geht in die Subprozedur arbeitet diese auch fehlerfrei ab, nur wenn er wieder "zurückkommt" erscheint die Fehlermeldung " Der Aufruf wurde fehlerhaft beendet "...
???

Gruss

stoerfang
28-03-07, 09:39
Hallo,

da ich erstmal nicht genau wusste, wo das Problem genau liegt... Kann ja auch sein, dass der Aufbau falsch ist...
Hier ein vereinfachter Form

d summe s 1 0

D GRFEST PR 1 0
D 1 0
D 1 0


C EVAL Summe = GRFEST(PAR1:PAR2)


P GRFEST B
D PI 1 0
D PARM1 1 0
D PARM2 1 0

D hilf s 1 0

eval hilf = parm1 + parm2
return hilf


P GRFEST E



mfg

KM
28-03-07, 11:08
Die Logik stimmt so. Wenn Du PAR1 und PAR2 auch noch mit 1,0 definierst, funktioniert das auch. Ich hab's selbst mal bei mir laufen lassen. Oder Du hast wichtige Punkte aus Deinem Code weggelassen.

Gruß,
KM

Robi
26-04-07, 12:30
Wie bekommt man (bei 8 + 8) die 16 in das hilf feld ?
Robi

Fuerchau
26-04-07, 13:39
Nun, definiere es doch 2-stellig !