Anmelden

View Full Version : CLLE als Prozedur ins Serviceprogramm



Etherion
30-09-14, 08:17
Hallo zusammen,

ich möchte gerne CLLE-Programm-Funktionalitäten als Prozedur in einem Serviceprogramm hinterlegen.

Ist dies möglich?

Wenn ja:
Wie kann ich in CLLE den Prozedurnamen definieren?
Wie muss ich in CLLE den Returnvalue definieren?

Es geht nicht darum, eine Prozedur aus CLLE aufzurufen. Mir ist klar, dass das mit DCLPRCOPT und CALLPRC funktioniert !!!

Gruß
Stefan

andreaspr@aon.at
30-09-14, 09:48
Hallo Stefan,

das geht ganz einfach:
* CL mit CRTCLMOD als Modul erstellen
* CL im SRVPGM hinterlegen.
* Im RPG die Prototypdefinition mit Schlüsselword "ExtProc" einfügen

Der Return geht über die Parameter.
Soweit ich weis kannst du im CL nur über die SubRoutinen innerhalb vom CL einen Return-Value definieren.

lg Andreas

B.Hauser
30-09-14, 10:03
Sofern die Prozedur von außen aufgerufen werden soll, ist zusätzlich im Prototypen das Schlüssel-Wort Export erforderlich.
Falls Du mit Bindersprache arbeitest sollte dann die Prozedur auch in der Binder-Quelle eingetragen werden.

Birgitta

Etherion
30-09-14, 10:21
Hallo Andreas,

vielen Dank für die schnelle Antwort. Leider habe noch nicht herausgelesen, wie ich innerhalb der CLLE Prozedur den Prozedurnamen definiere, der dann von außen aufgerufen wird und den ich auch in der Binder-Quelle eintragen kann.

Wie lautet das CLLE-Schlüsselwort?

Gruß
Stefan

Fuerchau
30-09-14, 10:26
Und wie man sehr schön sehen kann:
Eine Prozedur hat keinen Returnwert.
CL-Module können nur Prozeduren und keine Funktionen sein (hier fehlt wieder eine Erweiterung).
Benötigt man CL als Funktion so muss man dieses wieder in einer HLL-Funktion kapseln.

andreaspr@aon.at
30-09-14, 11:54
Hallo Andreas,

vielen Dank für die schnelle Antwort. Leider habe noch nicht herausgelesen, wie ich innerhalb der CLLE Prozedur den Prozedurnamen definiere, der dann von außen aufgerufen wird und den ich auch in der Binder-Quelle eintragen kann.

Wie lautet das CLLE-Schlüsselwort?

Gruß
Stefan

Da wirst du in CL nicht viel finden.
Wenn du im RPG für den CL-Prozedur-Aufruf einen anderen Namen haben möchtest kannst du dies bei den Prototypen definieren:

D myProc1 PR ExtProc('CLLEMOD1')

In CL kannst du keinen eigenen Namen für die Prozedur definieren. Name=Objekt.

Etherion
30-09-14, 13:36
Hallo Andreas,

vielen Dank.

"Name=Objekt" war die letzte Info, die ich noch gebraucht habe.

Gruß
Stefan