There is a built in function available in teradata that can be used to achieve this. Check for Function availability in your TD Version with the below query :
SELECT FunctionName FROM dbc.FunctionsV
WHERE FunctionName = 'XMLAGG';
If the function exists, you can use a below query to achieve the results :
SELECT ID_column, TRIM(TRAILING ',' FROM (XMLAGG(Value_column || ',' ORDER BY Value_column ) (VARCHAR(10000))))
GROUP BY 1;
Or you can simply search for Transpose logic. Should be able to prepare 1 SELECT in SP and run it to INSERT in a table.