DBMS are far from my strong point especially oracle. But I'm not familiar with the DATEPART function. The error indicates that oracle isn't either (maybe a pl/sql specific?). I always use EXTRACT when I need to pull something out of Oracle by year:
EXTRACT(YEAR from tbl.DateField) = 2012
Looks like it'll do it.