Well the TYPEs you've created are essentially a collection of objects (each object having 3 attributes)
The procedure doesn't relate to those types in any way, it's expecting a cursor type (by the looks of it), so what are you trying to do exactly? A cursor is not a collection of objects, don't be mislead by the name "TABLE" used to create a collection, it's not a table in the database table sense.
And what is TYPES.CURSORTYPE?
Did you mean CREATE OR REPLACE PROCEDURE PRODUCTS (RESULTS IN OUT HPOWNER.T_WEBMATERIALS) IS?
How to send values in and get values from the procedure?
Please give the syntax.
The Oracle documentation provides ALL of the syntax for creating procedures and has working examples.