Hallo zusammen,

ich habe mit einer Unschönheit zu kämpfen, wenn ich SQLRPGLE Programm debuggen möchte.

Bei meinem u. g. Beispiel muss ich beim SQL Fetch 13 Mal die Step Funktionstaste drücken bevor der Debugger eine Codezeile weiterspringt (siehe originaler Sourcecode).

Die Erklärung dafür ist wohl im Quellcode des SQL Precompilers zu finden. Es werden 13 Befehle generiert, die zwar im Debugger nicht angezeigt werden, die aber Step für Step abgearbeitet werden (siehe Code des SQL Precompilers).


Für die nativen RPG I/O Operationen gibt es ja die Option *NODEBUGUIO, die dafür sorgt, dass bei einem I/O Zugriff der Befehl in einem Step abgearbeitet wird.

Gibt es etwas Vergleichbares für die SQL Zugriffe? Oder wie kann man den Debugger überlisten?

Originaler Sourcecode
// Arbeitsdatei Lohn ERA durchlesen
exec sql fetch next from lohnerac into :lohneraf;
dow (SQLCOD = 0);

Code des SQL Precompilers
// Arbeitsdatei Lohn ERA durchlesen
//* exec sql fetch next from lohnerac into :lohneraf;
SQLER6 = -4;
SQLROUTE_CALL(
SQLCA
: SQL_00006
);
IF SQL_00009 = '1';
EVAL BUDAT = SQL_00011;
EVAL KOSTENST = SQL_00012;
EVAL KOSTENSTB = SQL_00013;
EVAL KTONR = SQL_00014;
EVAL BUTEXT = SQL_00015;
EVAL MENGE = SQL_00016;
EVAL BETRAGS = SQL_00017;
EVAL BETRAGH = SQL_00018;
EVAL STEUERB = SQL_00019;
EVAL STEUCD = SQL_00020;
ENDIF;
dow (SQLCOD = 0);

Gruß Stefan