See Existing Support Request Incident  8379426

ACTION:
Duration of Consistency-Check is much too high (up to several days).

RESULT:
System will be blocked during this time.

CAUSE:
The problem is that in the method 
SysConsistencyCheck.kernelCheckRecords() after the pack / unpack of 
the Query the relation will be lost. After this all InventTable 
records will be joined with all InventTxt records.

When using a dynamic built query, the SysQuery::countLoops and 
SysQuery::countTotal methods calculated wrong number of records. This 
happened because the table-relations were lost in the 
SysQuery::countPrim method. This did not happen with static queries.

Running a consistency check in invent took much time or caused a 
critical stop error in Microsoft Axapta because the totalCount of the 
Progress dialog box was being calculated using the 
SysQuery::countTotal method.


RESOLUTION:
In the Classes\SysQuery setting of the QueryBuildDataSource.Relations 
property to true was added instead of sequence of calling the 
following methods:
DictRelation.loadTableRelation(tableId), 
QueryBuildDataSource.addRelation(DictRelation);

The result of these two approaches is the same - the relation to a 
pointed table is created. This same behaviour is the same on the 
kernel level. 


Code before:

\Classes\SysQuery
public static Query addTableRelation(Query query, tableId tableId)
{
Query retQuery = new Query(query.pack());
QueryBuildDataSource qbds1;
QueryBuildDataSource qbds2;
DictRelation dr;

qbds1 = retQuery.dataSourceNo(1);
qbds2 = qbds1.addDataSource(tableId);

dr = new DictRelation(tableId);
dr.loadTableRelation(qbds1.table());

qbds2.addRelation(dr);

return retQuery;
}

Code after:

\Classes\SysQuery
public static Query addTableRelation(Query query, tableId tableId)
{
Query retQuery = new Query(query.pack());
QueryBuildDataSource qbds1;
QueryBuildDataSource qbds2;

qbds1 = retQuery.dataSourceNo(1);
qbds2 = qbds1.addDataSource(tableId);

qbds2.relations(true);

return retQuery;
}

Good Luck
D. Higi

--- In Axapta-Knowledge-Village@yahoogroups.com, "Hardi T" 
<[EMAIL PROTECTED]> wrote:
>
> Dear all,
> 
> When I do consistency check after it runs in a very long 
> time it ended up with an error "This application has 
> failed to start because WINSTA.dll was not found. 
> Re-installing the application may fix this problem"
>   
> This error only occurs when I did the consistency check 
> for inventory only (partial check) but not occurs on the 
> other modules.
>   
> What would be the problem?
>   
> Thanks & regards
> 
> Hardi
> 
======================================================================
==================
> Ikuti Lomba Foto Wisata 2005, kirimkan foto-foto terbaik Anda. 
Pengiriman mulai 1 November s.d 31 Desember 2005. Keterangan lengkap 
ada di http://lombafoto.telkomnetinstan.com/ dan dapatkan hadiah 
jutaan rupiah!! (khusus Jawa Timur)
> 
======================================================================
==================
>






------------------------ Yahoo! Groups Sponsor --------------------~--> 
AIDS in India: A "lurking bomb." Click and help stop AIDS now.
http://us.click.yahoo.com/VpTY2A/lzNLAA/yQLSAA/kGEolB/TM
--------------------------------------------------------------------~-> 

Sharing the knowledge on Axapta. 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/Axapta-Knowledge-Village/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply via email to