View Full Version : per SQL: RTVNETA SYSNAME?
CaddyMajor
03-03-14, 10:03
Hallo zusammen,
Frage: Kann man per SQL den aktuellen Systemnamen (RTVNETA SYSNAME...) zugreifen?
Danke
Wir wärs mit dem aktuellen Datenbanknamen (http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/topic/db2/rbafzcursrv.htm) (SELECT CURRENT SERVER FROM ...)?
andreaspr@aon.at
03-03-14, 10:35
Du kannst dir ein kleines CL schreiben und dieses als SQL Funktion deklarieren.
lg Andreas
CaddyMajor
06-03-14, 08:22
Danke, habe das mit der SQL Funktion gemacht bzw. zeigen lassen :-). Schon geil was alles machbar ist.
KingofKning
06-03-14, 09:18
Kannst Du die mal posten? Würde mich auch mal interessieren da ich damit noch gar nichts gemacht habe.GG
CaddyMajor
06-03-14, 09:49
CLLE-Code:
PGM &SYSNAME
DCL &SYSNAME *CHAR 8
RTVNETA SYSNAME(&SYSNAME)
Das mit 15 + CRTSRVPGM umwandeln etc.
Dazu ne SQL-Funktion
create function LIB/sysname ()
returns char(8)
external name 'LIB/SYSNAME(SYSNAME)'
language cl
not deterministic
no sql
parameter style db2sql
no external action
Dann kannst mit im SQL z.B. per values(SYSNAME()) drauf zugreifen.
Funktioniert auf jeden Fall :-)
dschroeder
06-03-14, 12:22
Hallo,
ich habe gerade den Beitrag gelesen. Wir schreiben viele Serviceprogramme, aber wir sind noch nicht auf die Idee gekommen, ein CL-Programm direkt als Serviceprogramm zu erstellen. Deshalb die Frage: Kann man ein CL-Serviceprogramm auch mit einem langen Namen versehen? Z.B: retrieveSysname() oder so?
Gruß, Dieter
Du kannst ein CLLE-Modul erstellen (CRTCLMOD), dass du dann per CRTSRVPGM überführst.
Du kannst CLLE-Module auch ein ein Serviceprogramm mit mehreren Modulen zusammenfassen.
dschroeder
06-03-14, 12:34
OK, danke. Das habe ich verstanden. Aber kann man auch einen sprechenden Namen vergeben? In einem RPG-Serviceprogramm, das den Objektnamen TEST01 hat, könnte ich ja eine exportierte Procedure mit dem Namen "dies_ist_ein_langer_Name" haben. Geht das in CL auch? Oder bin ich bei CL-Serviceprogrammen auf 10 Zeichen beschränkt?
Das ist und bleibt nun mal CL.
Mach doch einfach einen ILERPG-Wrapper drumrum:)