Thanks Rick I just used VALSET in a programme, once again your blog was the way I learned it. Further question: having used CALL VALSET I want to attribute formats and column/row names to the resulting matrix. Usually I would use MATTRIB but I can't figure out how to point to the indirectly created matrix name in the MATTRIB statement (without literally writing it which defeats the purpose - I need to be able to automatically insert the new matrix name and attribute to it).