Difference between Macro and Stored procedure in Teradata

MacroStored procedure
1. It will return set of rows to the user1. It may return 1 or more values to client as parameters (not rows)
2. May contain BTEQ commands2. May contain comprehensive SPL
3. A macro that allows only input values3. SP that allows both input and output values
4. It can fetch rows directly4. It must use cursors to fetch the rows.