Was mir nicht klar ist, wann werden denn die Aliase in der QTEMP erstellt?
In den embedded SQL Programmen vor dem Aufruf oder einmalig?
Wie stellst Du denn überhaupt fest, welche Umgebung du aktuell hast und welche du brauchst?

Durch die stateless Programmierung ist eben nicht sichergestellt, dass Du in den gleichen Job zurückkommst (auch wenn das vorrangig versucht wird). Ist der Job belegt, wird ein anderer freier Job genommen.

M.E. hast Du eigentlich nur die Chance, jedes Mal zu prüfen welche Umgebung du hast, und falls die nicht passt, musst Du die Aliase neu erstellen und zwar so wie Du sie brauchst.

Anstatt die komplexen SQL Statements direkt im (embedded SQL) Programm zu hinterlegen würde ich die komplexen Select-Statements in Views verpacken und die View für jede Umgebung, in der Du sie brauchst (mit den entsprechenden Bibliotheken anlegen - aktuelle Periode / Vor-Periode / Archiv-Periode) permanent erstellen. Wenn das Ganze auf Views reduziert ist, kannst Du deine Aliase ganz einfach bei Bedarf erstellen ... oder besser dynamisches SQL verwenden, das dann auf die richtige View zugreift.

Birgitta