Цитата:
Сообщение от
vvk
Обе таблички свои, не временные, типы данных полей совпадают полностью.
Трассировка:
INSERT INTO DKL_TOTALSTMP (ITEMID,QTY,RECID)SELECT F1,F2,47928911+ROWNUM FROM axapta_tmp_dat20707
ORA-00904: "F2": invalid identifier
Причем тут RECID - вообще не понимаю. Интересно и другое:
insert_recordset TotalsTmp (ItemId,Qty)
select ItemId, sum(Qty) from TotalsTrans
group by ItemId
where TotalsTrans.SalesDate >= 01\01\2008
&& TotalsTrans.SalesDate <= systemDateGet();
ошибки не вызывает, только вставляет Qty в поле ItemId, а самого ItemId просто нет. Но чудес-то не бывает!
Если помониторить глубже, то SQL выглядит так:
CREATE TABLE axapta_tmp_mil511419 AS SELECT SUM(A.QTY) AS f1,'mil' AS DATAAREAID,0 AS RECVERSION,0 AS RECID FROM TOTALSTRANS A WHERE ((SUBSTR(NLS_LOWER(DATAAREAID),1,3)=NLS_LOWER('mil')) AND ((SALESDATE>=TO_DATE('2008-01-01 00:00:00','YYYY-MM-DD HH24:MI:SS')) AND (SALESDATE<=TO_DATE('2008-02-05 00:00:00','YYYY-MM-DD HH24:MI:SS')))) GROUP BY SUBSTR(NLS_LOWER(A.ITEMID),1,10),SUBSTR(NLS_LOWER(A.INVENTLOCATIONID),1,10) ORDER BY SUBSTR(NLS_LOWER(A.ITEMID),1,10),SUBSTR(NLS_LOWER(A.INVENTLOCATIONID),1,10)
а затем уже идет
INSERT INTO TOTALSTRANSTMP (ITEMID,QTY,DATAAREAID,RECVERSION,RECID)SELECT F1,F2,DATAAREAID,RECVERSION,366563892+ROWNUM FROM axapta_tmp_mil511419
в первом же SQL видно, что Axapta не создала поля F2, которое использует позже в запросе. Почему? - пока не знаю.
Но падает теперь понятно почему