This page contains technical detail about the physical database structure. It is not required for normal day to day operation of the Point Of Sale.
Overview
This table holds reference information describing barcodes and their links to products or abilities to control the POS Operation.
Mesh
On mesh configured systems, this table is maintained as an input/output
Columns
FieldName | Datatype | Meta Info | Gnap | Description |
Barcode | string,60 | 100/s | Actual barcode value. Leading zeros are important and must be retained. | |
Pid | long | 101/E | Product Id this barcode points too | |
qty | long | 102/s | Quantity to be applied to this scan. A value of 0, null or 1, all mean "1x". Qty is used where scanning a single barcode should cause the product to appear multiple times on the sale | |
StartDt | date | 108/s | Date this record is valid from | |
EndDt | date | 109/s | Date this record is valid until | |
EntryDt | date | 110/s | Date this record was added to the database | |
ScanAction | long | 111/E | Action to be undertaken when a match is made to this record
| |
PosC | string,250 | 112/s | ||
PayType | long | 113/E | ||
Priority | long | 114/E | Records are selected in ascending priority order and the first valid match used. | |
DefineSource | long | 115/E | Where this barcode record originated from. A coded number
| |
physkey | string:44,zerolen | 254/s | Unique key for this record |
Notes
It is valid to have the same barcode pointing to multiple different products, although this feature can be disabled. Sometimes barcode conflicts will occur, they shouldn't but they do, and where a barcode matches multiple products, the POS may need to prompt the teller to determine the exact product being sold
Not all POS programs will honour all fields. Some systems will ignore some of this table.
Indexing
The primary key on this table is physkey
In previous versions the primary key was {barcode,pid}. This may remain as the primary key but this disables the ability to enter time controls for individual barcodes. The ability to enter time controls is rarely used and typically only relates to extended usage.
An index should exist on the barcode field, as the most common scan of this table is of the form
select ... from barcodes where barcode = '123456'