WITH t AS
(SELECT 'PAYABLES, RECEIVABLES, GENERAL LEDGER, INVENTORY,
PURCHASING' str,
'[^|,]+' sep
FROM dual)
SELECT level, TRIM (REGEXP_SUBSTR
(t.str, t.sep, 1, LEVEL)) parsed_str
FROM t
CONNECT BY LEVEL <= REGEXP_COUNT
(t.str, t.sep);