Anmelden

View Full Version : Objekttyp SQLRPGLE



cimbala
20-02-08, 13:14
Hallo,

ich habe mir ein CL geschrieben, welches mit bestimmte Objekte auf eine Bibliothek suche und diese in eine Datei ausgibt:

DSPOBJD OBJ(LIB/PGM*) OBJTYPE(*PGM)
OUTPUT(*OUTFILE) OUTFILE(LIB/PROGRAMMS) OUTMBR(*FIRST *ADD)

Danach lese ich die Tabelle PROGRAMMS durch und schau nach welcher Objekttyp im Feld &ODOBAT steht. Problem ist, das hier auch bei SQLRPG´s nur RPGLE steht und ich das Programm mit:

CRTBNDRPG PGM(&ODLBNM/&ODOBNM) SRCFILE(&ODLBNM/QRPGLESRC) +
TEXT(&ODOBTX)

nicht kompiliert bekomme. Hat jmd. eine Idee wo und wie ich herausfinde das es sich um ein SQLRPG handelt? Denn dafür muss ich ja CRTSQLRPGI benutzen.

Vielen Dank im Voraus...

Fuerchau
20-02-08, 14:40
Das geht leider nur über einen Umweg.

PRTSQLINF druckt SQL-Info's eines Programmes aus.
Gibt es die Nachricht SQL5062, sind keine SQL-Infos vorhanden.
Ansonsten kannst du den letzten Spool dann löschen.

Alternativ kannst du auch das komplizierte API für DSPPGM verwenden.

cimbala
20-02-08, 15:03
Der SQL-Code war 9011, ansonsten hat das Super geklappt...

Vielen Dank

Fuerchau
20-02-08, 17:11
Bei mir wars halt 5062, aber vergiss nicht das Löschen der Spools. Auch im Fehlerfall gibts einen Spool.

Sven Schneider
26-02-08, 18:57
Oder du machst (zusätzlich) ein:

DSPPGMREF PGM(xxx) OUTPUT(*OUTFILE) OUTFILE(yyy) OUTMBR(*FIRST*ADD)

und suchst nach Sätzen mit WHFNAM='QSQROUTE', WHLNAM='QSYS' und WHOTYP='*PGM'

Der SQL-Router wird nur in embedded-SQL *PGM-Objekte gebunden.