Die View macht schon Sinn, wenn man keine sprechenden Spaltennamen hat.
Und die Hochkommata sind verdoppelt, sonst hätte es einen Sytaxfehler gegeben.
Ein Dynamisches Compound-Statement ist da nicht gerade performant, wenn immer erst ein Programm erstellt werden muss.
Es lohnt sich halt, über embedded SQL nachzudenken:

exec sql set : RC = SysTools.Generate_Spreadsheet( ... );

Man könnte sich dafür auch eine statische Prozedur generieren, die die Funktion einbettet und immer mit Parametern aufrufbar ist.