Sorry, but I don't understand what you intend to be "key fields"? It's probably my poor english (I'm french-canadian).
My query is very simple :
select '0' IGNORED,
t.CodeFournisseur,
t.eventtype,
substr(t.pid,instr(t.pid,'|',1,3)+1,(instr(t.pid,'^',1,1) -...