SFLMSG und ERRMSG sind leider etwas kompliziert zu verwenden.
Es kann auschließlich nur 1 Fehlermeldung angezeigt werden, gleichzeitig SFLMSG und ERRMSG kann also nicht verwendet werden!
Je xxxMSG muss also eine eigene BZ aktiviert werden.
Zusätzlich wird beim Setzen der Err-Bezugszahlen ausschließlich dieses Feld ausgegeben, der Rest des Formates auf dem Bildschirm wird nicht verändert egal was man da so angibt!
Dies entspricht den DDS-Funktionen OVRATR und OVRDTA auf Feldebene.
Sollte das Format noch nicht ausgegeben sein, klappt das gar nicht.

Ich habe mir damit meistens beholfen, dass die Ausgaben "kombiniert" werden.
1. Write ohne Err-BZ
2. Write mit Err-BZ
3. Read
EXFMT klappt da nämlich nicht!

Am Besten ist jedoch, eine eigene Fehlerzeile zu verwenden.
Du kannst Textfelder mit MSGID ausgeben.
MSGID unterstützt auch Programmübergabe-Felder, so dass du zur Laufzeit den Text bestimmen kannst.
Das gewünschte Feld wird dann per DSPATR(PC) angesteuert.