Item sync is split in 2 different sync options.

Item Refresh will do core item related tables AND stock levels and serial number availability

Item Stock Refresh is to refresh stock levels and serial numbers

 

The following scripts exist in the Items SQL folder location:

ItemDefault

ItemEmployeeLocation

 

CSQUERY SELECT (e.g. no view access) with relevant filters is used to look up Item data

These are the Item sync default queries:

Type

SQL file

Default sync filter

Items

item.sql

ICITEM.SELLABLE = 1 AND
ICITEM.INACTIVE = 0

Units

itemunit.sql

ICITEM.SELLABLE = 1 AND
ICITEM.INACTIVE = 0

Manufacturers Code

itemmancode.sql

ICITEM.SELLABLE = 1 AND
ICITEM.INACTIVE = 0

Locations

itemlocation.sql

ICLOC.LOCTYPE=0

Categories

itemcategory

 

 

These are the Item Stock sync queries:

Type

SQL file

Default sync filter

Location Details

itemlocationdetail.sql

ICLOC.LOCTYPE = 0 AND ICLOC.INACTIVE = 0 AND
ICITEM.SELLABLE = 1 AND ICITEM.INACTIVE = 0 AND 
(QTYONHAND - QTYSHNOCST + QTYRENOCST + QTYADNOCST) <> 0

Serials

itemserial.sql

ICXSER.STATUS = 1 AND ICITEM.SERIALNO=1 AND 
ICITEM.SELLABLE = 1 AND ICITEM.INACTIVE = 0

 

By adding @txempl to query current user can be injected for filtering as a way to cut down the number of records in the Item List as well as the Item syncing time. The ItemEmployeeLocation SQL script is using @txempl as a way of filtering Items to Employee Location.

 

Item sync is triggered when:

Item Refresh or Item Stock Refresh is selected

Full Refresh is selected

On login (if online) when it has not been done within nominated Item sync or Item Stock sync timeout