Mit Nachrichten ist es wie mit allen Übergabeparametern. Es gibt da nichts allgemeingültiges, da die Struktur je nach MSGID beliebig definiert sein kann.

Bekommt man eine Meldung mit z.B. RCVMSG, kann man die Daten ja auch empfangen und an einen RTVMSG durchrouten.

Ansonsten gibts natürlich wieder mal ein API, in der man die Feldliste erfragen kann.
Allerdings ist das dynamische Aufbauen nicht ganz unproblematisch.

Aber warum soll man das denn generalisieren ?
Bei Programm- und Funktionsaufrufen gibts ja auch keine "General"-Schnittstelle.

Je nach Bedeutung einer Nachricht baut man eben die Daten auf.

Ansonsten gibts in der QCPFMSG 2 Standard-Nachrichten, die genau jeweils 1 Feld beinhalten (512 Zeichen):
CPF9897
CPF9898
die ich auch schon mal (z.B. für Statusnachrichten) verwende.