А сама таблица в базе TempDB на момент выполнения запроса существует? Окончание индекса ведь строится по реальному физическому имени таблицы в базе данных TempDB. Если таблицы нет, то какое имя добавлять?
При работе с временными таблицами TempDB рекомендуется сначала выполнить их инициализацию
X++:
// Force instantiation of Temp DB table.
select generateonly firstonly RecId from PublicityPriorTempDb;
Это делается в методе RetailUtilities::getPhysicalTableName(). Т.е. код такой получается
X++:
RetailUtilities::getPhysicalTableName(PublicityPriorTempDb);
// Далее код по наполнению временной таблицы
PS: Ну и добавление хинта в запросе - это настойки AOS. Лучше этого не делать. По умолчанию, в dax2012 они отключены.