Assuming that (idcprefix, subcont, orgdept, idcseq) is unique, how about the below?
DELETE FROM DCS_IDC
WHERE (idcprefix, subcont, orgdept, idcseq) IN (
WITH del AS (
SELECT d.idcprefix,
d.orgdept,
d.idcseq,
d.subcont,
d.actualcomp,
COUNT (*) AS "No Duplicates"
FROM DCS_IDC, DCS_IDC z
WHERE D.IDCPREFIX = z.idcprefix
AND z.orgdept = d.orgdept
AND z.idcseq = d.idcseq
and D.SUBCONT is not null
HAVING COUNT (*) > 1
GROUP BY d.idcprefix,
d.orgdept,
d.idcseq,
d.subcont,
d.actualcomp
ORDER BY d.idcprefix,
d.orgdept,
d.idcseq,
d.subcont,
d.actualcomp
)
SELECT idcprefix, subcont, orgdept, idcseq FROM del
)