Even though a public synonym has been created for schemaName.tableName, a user still needs object privileges on that table to actually access the table.
CREATE PUBLIC SYNONYM products FOR schemaName.tableName;