Low Level Documentation
 
Library Fieldpine Internals Replication Gds Security Fpos.dll Startup logic PosGreen Network PosGreen Install Process Multicast Protocol Data Structures Settings Logic Trace

Logic

Security Model Product Distribution Gateways Staff Login Stock Levels Shipping Addresses Agency Stores Remote Reports Sales Handlers

PosGreen Engine This engine provides the bulk of the POS processing at checkouts. It can be used directly or via central servers as a remote service.

Contexts & Sessions

Advanced

Spill Database Debugging

Reference Data

refdata Country refdata SystemString

Logic Trace

As each function in Fieldpine executes key tracing information is recorded into the Logic Trace database.

Database Structure

TraceCaller

This table holds details of each process. Every process creates a new row and receives a unique CallerId (from field pkcaller)

FieldDatatypedescription
pkcallerstring
pid
computername
appname
appversion
appPLevel
rve
RmSystem
J1

TraceBlocks

int
FieldDatatypedescription
pkrvedouble, PK field. date/time of record in RVE format
pkcallerint, PK field. CallerId allocated to the calling process
pktaskidint, PK field. Taskid allocated to this function being executed.
pkseqint, PK field
Buck
BuckType
OpcodeRecord Type
  • 0 - Other
  • 1 - Specific "Record" invoked. These records are explicitly written by functions.
Flow
FlowPType
Ticks
Integer1
Integer2
String1
ErrorStringstringA textual error message string. "error" is used lightly, this is any message that is related to non standard behaviour
JDataMask
ErrorCode
ErrorCodeType
LogType
LogSource
J1stringFunction specific JSON data. These values can be specific to this individual trace line
JDatastringAdditional data related to this trace line, stored in a JSON packet. JSON field names are strongly defined. For example, if this record relates to a single product, the field "pid" is stored. While normally it would be expected that "pid" would have a column of it's own, data is stored in JSON instead due to the large number of potential additional columns, and the fact that trace information is stored in a Sqlite database which was good support for JSON stored in a field