have same problems with SyntaxFromSQL and Oracle 12.
I found out that PB tries to find the table name for each column.
So PB first calls SELECT TABLE_NAME FROM SYS.ALL_TAB_COLUMNS ... for the first possible table in SQL.
If not found PB tries with SELECT SYNONYM_NAME FROM SYS.ALL_SYNONYMS S, SYS.ALL_TAB_COLUMNS T ...
PB retries it for each possible table.
I think, Appeon should find out another way or check for synonyms only after checking in all tables.
To make SyntaxFromSQL faster you can:
qualify column names in SELECT with table name if you have more than one table in SQL (so PB don't need to search for the table)
don't use Oracle keywords like SYSDATE allone in SELECT clause. PB thinks it is a column name (don't know why) and tries to find this column in one of the tables. As workaround you can use the keyword in a function or expression (e. g. SYSDATE + 0)
The main object is n_cst_oracle_dw_helper. Try the of_syntaxfromsql in that object to see if it helps. There's a dependency on a string processing object, nv_cppstringx. You'll have to import this as well. The n_cst_oracle_dw_helper object is using a Replace function from nv_cppstringx, but you can replace that with your own implementation if you have one. The nv_cppstringx object came from someone else many many years ago but I can't remember who.
There are two dependencies on dlls, PBOracle.dll and pbstringx.dll (both included in the zip). If you replace the reference to the Replace method in nv_cppstringx, then you won't need pbstringx.dll.