AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 06.01.2004, 18:33   #1  
raz is offline
raz
NavAx
raz's Avatar
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,500 / 1098 (40) ++++++++
Join Date: 22.07.2003
Location: МО
joined-курсор был использован в другом операторе SELECT
С Рождеством всех!!

Я не пойму, почему возникает ошибка.

PHP Code:
static void Job1(Args _args)
{
    
SalesLine                   SalesLine;
    
SalesTable                  SalesTable;
    
InventTable                 InventTable;
    
InventJournalTrans          InventJournalTrans;
    
InventDim                   InventDim;
    ;
    while 
select SalesLine
          join   SalesTable
          join   InventTable
          join   InventDim
                       where SalesTable
.SalesId                 == SalesLine.SalesId         &&
                             
InventTable.ItemId                 == SalesLine.ItemId          &&
                             
InventDim.InventDimId              == SalesLine.inventDimId
    
{
    }

    while 
select sum(Qty),sum(CostPricefrom InventJournalTrans
                 group by TransDate
,ItemId,InventDimId
          join   InventDim
                 group by InventDimId
InventSizeIdInventBatchIdConfigIdInventLocationId
          join   InventTable
                 group by ItemId
ItemGroupIdItemName
                            where InventJournalTrans
.JournalType           == InventJournalType::Movement    &&
                                  
InventTable.ItemId                       == InventJournalTrans.ItemId      &&
                                  
InventDim.InventDimId                    == InventJournalTrans.inventDimId
    
{
    }

Old 06.01.2004, 18:52   #2  
Vadik is offline
Vadik
Модератор
Vadik's Avatar
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1853 (69) ++++++++
Join Date: 18.11.2002
Location: гражданин Москвы
InventDim и InventTable используются в двух запросах - надо завести еще пару для внутреннего while select
Old 08.01.2004, 09:37   #3  
raz is offline
raz
NavAx
raz's Avatar
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,500 / 1098 (40) ++++++++
Join Date: 22.07.2003
Location: МО
Quote:
InventDim и InventTable используются в двух запросах - надо завести еще пару для внутреннего while select
Я знаю, но если посмотреть, то запросы как бы отработали и все должно быть ОК.
Если любой из запросов заменить другим, т.е. два одинаковых подряд ошибок не дают.
Old 08.01.2004, 11:35   #4  
Garic is offline
Garic
NavAx
Garic's Avatar
NavAx Club
 
393 / 63 (3) ++++
Join Date: 23.07.2002
Location: Москва
После первого запроса поставте
InventDim = null;
InventTAble = null;

Хотя из-за чего это возникает непонятно.
__________________
С уважением, Игорь Ласийчук.
Old 08.01.2004, 11:41   #5  
Vadik is offline
Vadik
Модератор
Vadik's Avatar
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1853 (69) ++++++++
Join Date: 18.11.2002
Location: гражданин Москвы
Виноват - переклинило, что тут один while select внутри другого..
Old 08.01.2004, 12:02   #6  
raz is offline
raz
NavAx
raz's Avatar
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,500 / 1098 (40) ++++++++
Join Date: 22.07.2003
Location: МО
Quote:
После первого запроса поставте
InventDim = null;
InventTAble = null;
Я делаю так InventTAble.clear();
Самое смешное этого достаточно.
Наверно система считает, что в InventTable-курсоре что то есть.
Old 08.01.2004, 12:10   #7  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 868 (32) +++++++
Join Date: 15.01.2002
Location: Москва
Blog Entries: 7
вопрос
А первый while select проходит до конца или из него происходит выход по break?
Old 08.01.2004, 12:35   #8  
raz is offline
raz
NavAx
raz's Avatar
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,500 / 1098 (40) ++++++++
Join Date: 22.07.2003
Location: МО
2 Wamr
Попобуй запустить как есть.
Old 08.01.2004, 12:54   #9  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 868 (32) +++++++
Join Date: 15.01.2002
Location: Москва
Blog Entries: 7
Тёмные силы электричества
Боюсь, что я не дождусь результата первого while..

Во втором запросе можно поменять местами join InventDim и join InventTable.

Причины такого трепетного отношения к порядку курсоров в разных запросах остается загадкой.
 

Similar Threads
Thread Thread Starter Forum Replies Last Post
не срабатывает select forupdate для joined таблицы? kashperuk DAX: Программирование 18 05.12.2008 12:00
Разница NotInTTS и Found Logger DAX: База знаний и проекты 6 18.09.2008 12:35
вызов метода из таблицы в операторе while select V777 DAX: Программирование 7 23.04.2008 09:11
Вопрос про Demand Planner slava09 DAX: Функционал 4 25.09.2006 11:43
joined курсор Oz DAX: Программирование 5 25.03.2004 11:01

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 01:50.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.