The error message is pretty clear. You are trying to run SQL Loader in direct path mode, and your control file includes the SQL string "SUBSTR(:taper_cd,1,6)". Not allowed.
1) Don't use direct path
2) Use direct path, take off the SUBSTR and load into a temporary table. Then copy the data from the temporary table to the real table using SUBSTR.
Since the whole point of using direct path is to spued up the load, option (2) looks pointless (nice fast load, followed by not so fast insert), so I suggest you go for option (1) - unless of course you are already using a temporary table.