CLOB fields stores up to 4 GB of data, but your FileText variable can store just 2000 Bytes.
I think the problem is here:
vField1 || ‘~’ ||
vField2 || ‘~’ ||
You would need to increase the data length of FileText to at least the sum of data lengths from field1, field2 and field3 (but a varchar2 won’t be enough).