dirkus
22-06-07, 11:39
Hallo,
ich beiß mir zur Zeit am RPG-Embedded SQL die Zähne aus... Es funktioniert soweit eigentlich alles, jedoch möchte ich gern die SQL-Meldungen (z. B. SQL0100) aus dem Joblog ins Programm holen, und ggf. dem Benutzer anzeigen. Bisher hat das immer über das API QMHRCVPM geklappt, aber die SQL-Meldungen wollen einfach nicht kommen. Das API schweigt mich an und die RCVM0200-Variable bleibt leer.
*** externe Prozeduren ***
D qmhrcvpm pr extpgm('QMHRCVPM') API-RcvMsg
D msgData like(rcvm0200) Nachrichten-DS
D msgDataLen 10i 0 const Länge
D format 8 const Format
D stack 10 const Aufrufstapel
D stackCounter 10i 0 const Zähler
D msgType 10 const Nachrichten-Art
D msgKey 4 const Nachrichten-Key
D waitTime 10i 0 const Wartezeit
D msgAction 10 const Nachrichten-Aktion
D apiError like(apiErr) Fehler
*** Datenstrukturen ***
D rcvm0200 ds qualified Nachricht
D bytesReturned 10i 0 Bytes returned
D bytesAvail 10i 0 Bytes available
D severity 10i 0 Severity
D msgId 7 Identifier
D msgType 2 Nachrichtentyp
D msgKey 4 MSG-Key
D msgFile 10 MSG-File
D msgFileLib 10 Bibliothek
D msgFileLibU 10 Bibliothek Used
D msgJobName 10 Jobname
D msgUser 10 Benutzer
D msgJobNbr 6 Jobnummer
D msgProgramm 12 Programm
D res1 4
D sndDate 7 Datum gesendet
D sndTime 6 Zeit gesendet
D sndTimeMs 6 0 Mikrosek. gesendet
D sndUser 10 Benutzer gesendet
D res2 1
D ccsidConvTxt 10i 0 CCSID Conv. Text
D ccsidConvData 10i 0 CCSID Conv. Data
D alertOption 9 Alert Option
D ccsidMsgHelp 10i 0 CCSID Message/Help
D ccsidRplData 10i 0 CCSID Repl. Data
D rplDataLenRtn 10i 0 Länge RPL-Data ret.
D rplDataLenAv 10i 0 Länge RPL-Data ava.
D msgLenRtn 10i 0 Länge MSG returned
D msgLenAvail 10i 0 Länge MSG available
D helpLenRtn 10i 0 Länge Hilfe ret.
D helpLenAvail 10i 0 Länge Hilfe avail.
D msgRplMsgHelp 3000 MSG + RPLData + HLP
D apierr ds qualified API-Error
D bytesprov 8b 0 Bytes Provided
D pytesavail 8b 0 Bytes Available
D msgid 7 MSG-Id
...
/free
...
exec sql fetch next from cursorSubf01 into
:recn, :itnr, :text_s;
if sqlcod <> 100;
qmhrcvpm(rcvm0200: %len(rcvm0200): 'RCVM0200': '*': 0:
'*FIRST': ' ': 0: '*SAME': apiErr);
endif;
/end-free
ich beiß mir zur Zeit am RPG-Embedded SQL die Zähne aus... Es funktioniert soweit eigentlich alles, jedoch möchte ich gern die SQL-Meldungen (z. B. SQL0100) aus dem Joblog ins Programm holen, und ggf. dem Benutzer anzeigen. Bisher hat das immer über das API QMHRCVPM geklappt, aber die SQL-Meldungen wollen einfach nicht kommen. Das API schweigt mich an und die RCVM0200-Variable bleibt leer.
*** externe Prozeduren ***
D qmhrcvpm pr extpgm('QMHRCVPM') API-RcvMsg
D msgData like(rcvm0200) Nachrichten-DS
D msgDataLen 10i 0 const Länge
D format 8 const Format
D stack 10 const Aufrufstapel
D stackCounter 10i 0 const Zähler
D msgType 10 const Nachrichten-Art
D msgKey 4 const Nachrichten-Key
D waitTime 10i 0 const Wartezeit
D msgAction 10 const Nachrichten-Aktion
D apiError like(apiErr) Fehler
*** Datenstrukturen ***
D rcvm0200 ds qualified Nachricht
D bytesReturned 10i 0 Bytes returned
D bytesAvail 10i 0 Bytes available
D severity 10i 0 Severity
D msgId 7 Identifier
D msgType 2 Nachrichtentyp
D msgKey 4 MSG-Key
D msgFile 10 MSG-File
D msgFileLib 10 Bibliothek
D msgFileLibU 10 Bibliothek Used
D msgJobName 10 Jobname
D msgUser 10 Benutzer
D msgJobNbr 6 Jobnummer
D msgProgramm 12 Programm
D res1 4
D sndDate 7 Datum gesendet
D sndTime 6 Zeit gesendet
D sndTimeMs 6 0 Mikrosek. gesendet
D sndUser 10 Benutzer gesendet
D res2 1
D ccsidConvTxt 10i 0 CCSID Conv. Text
D ccsidConvData 10i 0 CCSID Conv. Data
D alertOption 9 Alert Option
D ccsidMsgHelp 10i 0 CCSID Message/Help
D ccsidRplData 10i 0 CCSID Repl. Data
D rplDataLenRtn 10i 0 Länge RPL-Data ret.
D rplDataLenAv 10i 0 Länge RPL-Data ava.
D msgLenRtn 10i 0 Länge MSG returned
D msgLenAvail 10i 0 Länge MSG available
D helpLenRtn 10i 0 Länge Hilfe ret.
D helpLenAvail 10i 0 Länge Hilfe avail.
D msgRplMsgHelp 3000 MSG + RPLData + HLP
D apierr ds qualified API-Error
D bytesprov 8b 0 Bytes Provided
D pytesavail 8b 0 Bytes Available
D msgid 7 MSG-Id
...
/free
...
exec sql fetch next from cursorSubf01 into
:recn, :itnr, :text_s;
if sqlcod <> 100;
qmhrcvpm(rcvm0200: %len(rcvm0200): 'RCVM0200': '*': 0:
'*FIRST': ' ': 0: '*SAME': apiErr);
endif;
/end-free