Schau mal per Debugger, ob die Meldung überhaupt an deine Programmebene kommt (bei ILE meist nicht).
Dadurch steht diese allenfalls noch im Joblog, da die Programmebene, an die die Meldung ging, schon verlassen wurde.

Aber warum so kompliziert ?

Alles was du brauchst steht nach jedem SQL in der SQLDA.
SQLCOD kennst du ja schon, der Rest steht analog der MSG-Feld-Beschreibung (QSQLMSG) in SQLERM.