Dynamic pivot

Closest I've got to showing only PRES/PRESIDENT columns is to include where clause embedding substutition string such as job = '&P39_CEO.', but returns ora-01403 in this demo, works in 4.2
report error:
ORA-00904: "D"."SALESMAN": invalid identifier

xml pivot

Job ANALYSTMANAGERPRESIDENT
10 100
20 014
30 100
1 - 3
As described here by fac586 (Paul MacMillan)