"opdesc" funktioniert nur bei Prozeduren.
Definiere die Felder doch einfach als "varying".
Durch das "const" erzeugt der Compiler sowieso eine Kopie deiner Variablen vor dem Call.