Anmelden

View Full Version : Procedur-Aufruf aus CL-Programm



plankem
28-09-04, 09:18
Hallo,

ich habe ein Service-Programm erstellt mit einer Prozedur "Absdatum".

Wenn ich dieses Service-Programm in ein ILE-RPG einbinde und die verwende erhalte ich einen gültigen Returnwert.
eval datum$$ = absdatum(datum$$)


Wenn ich dieses Service-Programm in ein ILE-CL einbinde und dann die Prozedur aufrufe erhalte ich einen falschen Wert zurück.
CALLPRC PRC(ABSdatum) PARM(&JAHR6) RTNVAL(&JAHRR)

Das sind so meine ersten Schritte im binden von Programmen; was mache ich falsch ?

Jetzt schon vielen Dank für Eure Nachrichten

Maximilian

Fuerchau
28-09-04, 09:31
Definiere am besten den Rückkehrwert als CHAR(10), so dass er von beiden Sprachen verarbeitbar ist.

B.Hauser
28-09-04, 09:34
Hallo Maximilian,


"liefert den falschen Wert zurück" ist nicht gerade eine präzise Aussage.

Ich vermute folgendes:
Du versuchst echte Datums-Felder in CL zu verarbeiten, oder zu empfangen. Wahrscheinlich erhälst Du das Datum in dem Format, in dem es intern gespeichert ist.

Birgitta

Fuerchau
28-09-04, 11:59
@Birgitta
Stimmt auffallend, nicht nur "wahrscheinlich" sondern tatsächlich !

plankem
28-09-04, 14:17
Hallo,

danke für die schnelle Antwort !

Alle meine Variablen sind 6 a Definiert (CL, RPG, Prozedur)
Rückgabewert ="000000", müsste aber "037438" sein.

Maximilian

rolf
29-09-04, 10:51
Hallo
Ueberprüfe doch mal mit STRDBG, was dein Serviceprogramm als Parameter empfängt.
Bei Aufrufen aus CLPs habe ich mir angewöhnt, numerische Daten, welche als Character als Parameter übergeben werden in Hochkommatas einzuschliessen.
Also: PARM(''' *TCAT &DATE6 *TCAT ''')
Gruss
Rolf