Und wenn dann jedes Programm mit ACTGRP(*NEW) erstellt wurde, erhält dieses auch jeweils seine eigene SQL-Session, die tatsächlich auch nur von diesem Programm erreichbar ist.
Aber globale Variablen lassen sich ebenso mit einer normalen Tabelle, in der z.B. der User als Schlüssel hinterlegt ist, ersetzen ohne dass man dadurch Performance verliert:

select .....
from FromFile ff ...
join ...
, lateral (select * from ParamFile where Key = user) pp
where ff.Key = pp.ParamX ...

Bevor es Parameter gab, hat man dies doch schon immer so gelöst (statt komfortablem "lateral ..." ging eben auch ein
inner Join ParamFile on Key = User