@Dieter
Im SQL sind die TBL-Objekte nicht mehr relevant. Dies wird komplett im System geregelt.
Wie soll denn die AS/400 aus den chinesischen Zeichen (28709) ggf. Latin-2 Zeichen (1153) extrahieren, vor allem, wenn sie im chinesisch nicht vorkommen?
Zum Zeitpunkt des Vergleiches der CCSID's kann das System nicht entscheiden, dass man nur auf invariante Zeichen selektiert.
Immerhin wird durch den Optimizer automatisch für Konstanten eine interne Hostvariable generiert.
Gerade für SQL gilt das selbe wie für native (naive) Zugriffe per RLA:
Die Job-CCSID muss zur Systemumgebung passen!

Beim embedded SQL habe ich das Problem nicht, so lange der Zugriff auf die QSYS2-Tabellen nicht erforderlich ist. Allerdings wird der eingebettete SQL ja ggf. wieder gegen die Tabelle-Definitionen geprüft (Feldvorhanden, Zugriffspfade für Indexoptimierungen usw.). Wie soll SQL dann die Namen ermitteln?
Spätestens aber bei der Verwendung von Prozeduren/Funktionen werden diese in den SQL-Tabellen gesucht. Bei falscher CCSID des Jobs gibts entweder obige Fehlermeldung oder die Namen werden nicht gefunden. Beides führt aber leider zu negativen SQL-Codes.

Bei Remote-SQL (also QZDASOINIT, CLI) greift der ODBC-Treiber grundsätzlich auf die Systemtabellen zu und gerade dann muss die CCSID passen.
Deshalb halte ich das Funktionieren unter TL16306 eher für einen Bug als ein Feature!