Das Handling mit temporären Tabellen hat sich generell vereinfacht.
Stichwort: Global Temporary Table (GTT)
Die GTT wird im Programm einfach per SQL definiert.
Programm A => Insert into GTT
Programm B => Select * from GTT

https://www.ibm.com/docs/en/i/7.3?to...emporary-table

Die GTT ist eine Tabelle in der QTEMP die automatisch erstellt und wieder gelöscht wird.

Ein Array als Tabelle geht zwar auch, das ist jedoch veraltet.
Dafür musst du eine externe SQL-Prozedure mit "returns table ..." definieren.
Im ILERPG kannst du dann das Array laden und beim Verlassen einen "exec sql return table ...." ausführen.
Da sind GTT's erheblich einfacher.