-----------------------------------------------------------
-- Display a list of functions, procedures, etc.
-----------------------------------------------------------
SELECT object_name, object_type, created, last_ddl_time, timestamp, status 
  FROM user_objects 
 WHERE object_type IN ('FUNCTION','PROCEDURE','PACKAGE')
/

-----------------------------------------------------------
-- Display the code for functions, procedures, etc.
-----------------------------------------------------------
SELECT name, type, line, text
  FROM user_source
 WHERE type IN ('FUNCTION','PROCEDURE','PACKAGE')
/

-----------------------------------------------------------
-- Display the code - a better display
-----------------------------------------------------------
SELECT name, type, listagg(line|| '. '||text) within group(order by line)
  FROM user_source
 WHERE type IN ('FUNCTION','PROCEDURE','PACKAGE')
 GROUP BY name, type
/


/*
-----------------------------------------------------------
-- The same as above but from dba_source, filter by user
-----------------------------------------------------------
SELECT name, type, listagg(text) within group(order by line)
  FROM all_source
 WHERE owner = user                               -- user is a system variable
   AND type IN ('FUNCTION','PROCEDURE','PACKAGE')
 GROUP BY name, type
*/