Anmelden

View Full Version : per SQL: RTVNETA SYSNAME?



Seiten : [1] 2

CaddyMajor
03-03-14, 10:03
Hallo zusammen,

Frage: Kann man per SQL den aktuellen Systemnamen (RTVNETA SYSNAME...) zugreifen?

Danke

Pikachu
03-03-14, 10:18
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

Fuerchau
06-03-14, 12:25
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?

Fuerchau
06-03-14, 13:40
Das ist und bleibt nun mal CL.
Mach doch einfach einen ILERPG-Wrapper drumrum:)