Overview #
SmartLists are named product selections sent to eCat by your company. They can be published selectively based on user group. Any desired product list can be displayed in an eCat SmartList.
SmartLists are "smart" because they are self-maintaining. As field values change in the product and inventory files, the SmartList product list automatically changes based on the criteria in a data select statement/SQL query. By maintaining values in your ERP system, your back office staff can control SmartList content.
SmartLists are displayed on the iPad in the same sequence in which they appear in the admin site list. There are two ways to change the display sequence. Click the ‘handle’ to the left of the name and drag it to the new position. Or for long lists, click the ‘Reorder Items’ button, enter new position numbers in the boxes that appear to the left of the name, then click the ‘Done Reordering’ button. The SmartLists will be moved to their new positions.
Create new SmartLists by clicking the ‘New SmartList’ button.
Edit SmartList settings by clicking the SmartList name.
NOTE! The 'Delete' button to the right of the SmartList name permanently deletes the SmartList. There is no “undo”!
Companies use SmartLists for things like... #
- publishing special promotions, sales, closeouts
- displaying top sellers or top sellers by category
- showing introductions by market
- listing products by showroom location, for ordering or training walk-throughs
- showing items available for quick shipment
- highlighting recently added items
- listing items not shown in the print catalog
- grouping items that can be consolidated in direct container shipments
- and much more!
Creating SmartLists #
Query-type SmartList
To define a SmartList...
- Click 'New SmartList' on the admin portal SmartList page.
- Name the SmartList
- Enter a data select statement/SQL query to specify which items to include in the new list.
Sorting items differently from the catalog sort order
By default, items are sorted in the same order as the product file. You may optionally specify up to 2 columns to sort on. If you do so, the Sort field will be used as a primary sort, the Second Sort field will be used as a secondary sort, and the product file's order will be used as a final sort. That is, if the value you select for sorting is shared by multiple items, those items will be sorted together using the product file's order.
Item-list SmartList
You may also simply enter a comma separated list of items to include in a list.
The items will be shown on the iPad in the order in which they are listed.
Logic Examples #
Here are a few example SmartLists and associated logic (the fields and codes in your company's data may differ)
| SmartList Name | Data Select Statement / SQL Query |
| Only One Left! | promotionprice > 0 and qtyavailable = 1 |
|
Non-promo items,
30 day delivery |
((qtyavailable + qtyintransit) - qtyonbackorder) > 0 and promotionprice < 1 |
| Chairs - immediate shipment | qtyavailable > 0 and categorycode = 'chair' |
| Seating priced under $450 | net_price < 450 and category_code in ('chair','stool','bench','sofa') |
| Promo items not in showroom | qtyinshowroom < 1 and promotionprice > 0 |
| Series '2345' items on promotion | baseitemcode like '%2345%' and promotionprice > 0 |
| Products priced between $99 and $200. | net_price > 99 and net_price < 200 |
| 30 Day Delivery – Dining Chairs | ((qtyavailable + qtyintransit) - qtyonbackorder) > 0 and categorycode = 'DiningChair' |
| Top 10 sellers (simply listing baseitemcode numbers) | baseitemcode in ('123','321','456','654','789','987','234','432','567','765') |
| Pots and Pans $15 and under | (longdesc like '%pot%' or longdesc like '%pan%') and netprice <= 15 |
| Purchase Orders due in next 7 days | (to_date(onpo1_date, 'YYYY-MM-DD') - 7) < current_date and onpo1_date <> '' |
SmartList Data Field Names #
The standard inventory and product file fields below can be used to define SmartLists along with any custom fields your company has added to the product file. Custom product file fields can be created specifically for maintaining SmartLists. For example, to create a showroom walk-through, create a custom field, e.g. 'room', and publish room/vignette numbers for all products shown in the showroom. Create a SmartList for each room using logic like: room = '1', room = '2', etc. NOTE! Be sure to use all lower case letters when referencing custom product file fields in select statements, e.g. 'vignettenumber, not 'VignetteNumber.
Standard eCat field Names that can be used in SmartList Queries
| Product Field Names | Type |
| item_number | character varying(255) |
| long_description | character varying(255) |
| plist_description | character varying(255) |
| short_description | character varying(255) |
| product_dimensions_in | character varying(50) |
| product_dimensions_cm | character varying(50) |
| shipping_weight | double precision |
| trade_name_code | character varying(255) |
| collection_code | character varying(255) |
| category_code | character varying(255) |
| trade_name_name | character varying(255) |
| collection_name | character varying(255) |
| group_name | character varying(255) |
| category_name | character varying(255) |
| features | character varying(50) |
| materials_description | character varying(50) |
| minimum_order | integer |
| units_per_carton | integer |
| product_volume | double precision |
| new_item | boolean |
| net_price | numeric(11,2) |
| promotional_price | numeric(11,2) |
| Inventory Field Names | Type |
| qty_available | bigint |
| qty_in_showroom | bigint |
| qty_in_transit | bigint |
| qty_on_backorder | bigint |
| qty_on_backorder | bigint |
| qty_on_hand | bigint |
| qty_on_p_order | bigint |
| qty_overseas | bigint |
| qty_reserved | bigint |
| next_scheduled_receipt_qty | bigint |
| scheduled receipt date? | |
SmartList Operators
| Symbol | Meaning/Purpose |
| = | Equal |
| <> or != | Not Equal |
| > |
Greater than |
| < |
Less than |
| >= |
Greater than or equal |
| <= | Less than or equal |
| !< | True if left operand is not less than the value of right operand |
| !> | True if left operand is not greater than the value of right operand |
| + , - | Arithmetic operators (used on numeric values) |
| ::INTEGER | Convert value to integer |
| NOT NULL | Value not null |
| BETWEEN | Select values within an inclusive range |
| LIKE | Search for a pattern. (A '%' sign can be used to define wildcards both before and after the pattern) |
| IN |
Allows specifying multiple values |
| AND | Allows specifying multiple conditions |
| NOT | Reverses meaning of a logical |
| OR | Used to combine multiple conditions |