PDA

View Full Version : Debuggen eines SQLRPGMOD



Domeus
17-11-21, 09:59
Hallo,

ich habe hier ein SQLRPGLE Programm. In diesem gibt es einen SQL Befehl der eine Art Funktion aufruft und einen Rückgabeparameter bekommt. Diese Funktion ist allerdings in einem *MODULE des Typs SQLRPGMOD. Der Aufruf sieht so aus:

EXEC SQL SELECT... ISIO(CHAR(XXX) as Status FROM ...

ISIO ist die Funktion im SQLRPGMOD. XXX ist der Eingabeparameter und Status ist die Rückgabe.
Ich kann aber leider nicht in dieses Programm debuggen. Da kommt die Fehlermeldung auf das Programm kann nicht zugegriffen werden.

Ich hoffe es ist so verständlich. Wie kann ich in diese Funktion debuggen?

Danke und Gruß
Sebastian

Fuerchau
17-11-21, 11:44
Du meinst wohl die Funktion ISIO(). Wobei ich da deine Syntax nicht verstehe.
Da fehlen irgend welche Klammern.
"CHAR(XXX) as Status FROM ..." ist mir so nicht bekannt.

Du kannst per SQL mit "Select * from SYSPROCS / SYSFUNCS " das ausführende Service-Programm ermitteln und dann kannst du das Modul debuggen, wenn es denn debugbar ist (Compile-Option).
Ein "Step Into" eines SQL-Modules kannst du vergessen, da diese nicht debugbar sind.

B.Hauser
17-11-21, 15:38
Wurde denn die Funktion ISIO als SQL Funktion (User Defined Function) mit CREATE OR REPLACE FUNCTION registriert?
Man kann eine RPG Funktion/Procedure nicht so einfach aus SQL aufrufen.

Fuerchau
17-11-21, 16:35
Außerdem kann man ein Modul direkt nicht aufrufen. Dieses muss in einem Programm oder Serviceprogramm gebunden sein.