"IBM i ist objektbasiert, nicht objektorientiert."
Das ist reine Ansichtssache.
Meine Sofware ist objektbasiert, verwendet aber eine objektorientierte Programmiersprache;-).

Un nein, MI-Handbücher habe ich nicht gelese (außer dem Reference-Handbuch von vor 30 Jahren).
Den Rest habe ich mit bei COBOL/RPG-Umwandlungen mit der Compiler-Option *LIST angeschaut.
Da wurde sehr schön dokumentiert, wie man MI verwendet.
Ins besonders konnte man da die Arbeitsweise von RPG kennenlernen (I-Ausführung, O-Ausführung, u.v.m). Das hatte damals dazu geführt, dass ichmir tatsächlich einen MI-Compiler geschrieben hatte:
- Include geschachtelt
- Define von Macros
Und bis auf die Leseroutinen alles in MI geschrieben.
Letztlich diente dazu das auch heute noch funktionierte CreateProgram-Api.
https://www.ibm.com/docs/en/i/7.5.0?...ing-mi-program
Damit kann man on the fly effektive, dynamische Funktionen und Berechnungen bauen und direkt verwenden.