Materialisation with multiple outputs

I have a “table” user defined function which generates a “primary” output table which is covered by the select projection columns , there are some additional tables generated . Is there a elegant way to do this.