Die Ursprungsdefinition war fast korrekt. Die B-Felder sind jetzt korrekt müssen aber initialisiert werden.

p_Message ist wiederum eine Struktur: RTVMxxxx !

p_MsgLen inz(%size(p_Message)) <= Größe Empfangspuffer
p_Format inz('RTVM0100')

p_MsgFile ist eigentlich auch eine Struktur mit 2 Felder á 10 Zeichen

p_ReplData ist auch eine Struktur, die die Feldinhalte einer MSG mit Feldern enthält, sind keine Felder vorhanden, kann p_ReplDataLen auf 0 gesetzt werden, ansonsten enthält es wiederum die Größe der Struktur.

p_SubstVal muss *YES (mit ReplData) oder *NO enthalten.
p_RetFormat muss *YES/*NO enthalten (Textformatierungen der Nachricht).

In der Struktur p_Message findest du dann das Ergebnis, allerdings beginnt die Nachricht an Stelle 25 in der Länge, die ab Stelle 13 im 10I-Format steht.