to_clob() funktion tager en tegnværdi, så du har en implicit konvertering fra XMLType returneret af XMLElement() ind i varchar2; når længden af XML'en overstiger 4k (da du er i en SQL-kontekst), får du denne fejl.
Du kan bruge XMLType funktion getCLobVal() i stedet:
SELECT XMLElement("DEMANDS",
XMLAgg(XMLElement("Demand"
,XMLElement( "DemandId",dmnd_id)
,XMLElement( "CreatedBy",CREATED_BY)
...
,XMLElement("Comments",COMMENTS)
))).getClobVal()
into OUT_CLOB
...
Så det ydre kald til to_clob() er blevet fjernet og erstattet med et kald til XMLElement().getClobVal() .Verificeret med XML større end 32k også.