Ist doch eigentlich alles erklärt;-).
Du definierst die Struktur des Formats CMTI0100, dass du als Receiver angibst.
Die Länge der DS übergibst du als INT(10), z.B. %SIZE(CMTI0100).
Der Formatname ist ja angegeben.
Die Errorstruktur hat folgenden Aufbau:
https://www.ibm.com/docs/en/i/7.2?to...or-code-format
Ich verwende da i.d.R.
dcl-ds ERRC0100 qualified inz;
Bytesprovided int(10) inz(%size(ERRC0100));
Bytesavailable int(10);
ExceptionID char(7);
Reserved char(1);
Exceptiondata char(512);
end-ds;

Wenn ein API einen Fehler auswirft, steht die MSGID nebst den Daten in dieser Struktur.
Den Datenaufbau findet man dann in der zugehörigen MSGF, i.d.R. ist das die QSYS, in den Feldbeschreibungen.

Übrigens:
Wenn du einen native trigger mit der Trigger-Bufferstruktur verwendest, steht der Commit-Level da bereits drin:
https://www.ibm.com/docs/en/i/7.3?to...uffer-sections