Global Shop Solutions Integration Guide
Connect Global Shop Solutions (GlobalShop) to MachineMetrics for bidirectional work order and labor tracking synchronization.
| Section | Description |
|---|---|
| Overview | How the integration works and what data flows |
| How It Works | Data sync, labor write-back, and exchange table architecture |
| Requirements | Prerequisites before setup |
| Setup Steps | Exchange tables, database user, network access, and deployment |
| After Setup | What to expect once configured |
| Work Order Filtering Options | Operation type and job suffix filters |
| Labor Hour Proration | How hours are divided when one operator runs multiple jobs |
| Troubleshooting | Common issues and solutions |
Overview
The integration enables bidirectional data synchronization between a Global Shop Solutions (GlobalShop) database and MachineMetrics. The connection runs on a MachineMetrics Edge device deployed at the customer site and uses ODBC via the Pervasive SQL (PSQL) interface to communicate with the GlobalShop database.
Data flows inbound from GlobalShop include employees, work centers, scrap reason codes, work orders, and work order operations. Outbound flows transmit labor ticket data from MachineMetrics back to GlobalShop through custom exchange tables managed by Global Shop Solutions.
How It Works
The integration operates through two key data flows:
-
Work Order and Reference Data Sync — The connector reads employees, work centers, scrap reason codes, work orders, and operations from the GlobalShop PSQL database on a configurable interval. Active work orders and those closed in the current year are included.
-
Labor Ticket Write-Back — When operators close labor tickets in MachineMetrics ShopPulse, the connector writes completed records to custom GCG exchange tables in the GlobalShop database. A separate GlobalShop middleware process (maintained by Global Shop Solutions) picks up those records and posts them as labor transactions in the ERP.
-
In-Progress Labor Tracking (Optional) — If the customer's GlobalShop configuration includes an in-progress exchange table, the connector also writes clock-in records when operators start a job, updating them as work progresses and removing them on clock-out.
-
Exchange Table Architecture — MachineMetrics writes exclusively to the GCG exchange tables — it does not write directly into GlobalShop's core tables. The GlobalShop middleware handles the final posting step. This means labor tickets will not appear in GlobalShop until both the connector and the middleware are running correctly.
Requirements
Setup requires a MachineMetrics Edge device (physical or virtual), a GlobalShop PSQL v13.31 database accessible from the edge device, a dedicated database user with the required table permissions, the GCG custom exchange tables configured by Global Shop Solutions, and the GlobalShop middleware process running to consume completed labor tickets from the exchange tables.
Setup Steps
Step 1: Obtain GCG Exchange Table Details from Global Shop Solutions
The labor ticket integration relies on custom exchange tables configured by Global Shop Solutions (GSS). Before deployment, contact your GSS implementation partner or GlobalShop administrator to obtain:
- The GCG project number (a numeric identifier specific to this customer's configuration, e.g.
8056) - The exact name of the completed labor table (e.g.
GCG_8056_Labor) - The exact name of the in-progress labor table, if used (e.g.
GCG_8056_JOBS_G) - Confirmation that the GlobalShop middleware is configured and running to pick up completed records from the exchange tables
Do not assume the project number — it varies between implementations. The middleware must be in place before labor tickets written by the connector will appear in GlobalShop.
Step 2: Create a Dedicated Database User
A GlobalShop DBA must create a dedicated PSQL user for the MachineMetrics connector and grant the following permissions:
SELECT access on these tables:
| Table | Data |
|---|---|
EMPLOYEE_MSTR | Employee records |
WORKCENTERS | Work center records |
WORKGROUP_HEAD | Work group resources |
REJECTED_CODE | Scrap reason codes |
JOB_HEADER | Work order headers |
JOB_OPERATIONS | Work order operation details |
JOB_OPERATIONS_WC | Operation-to-workcenter mapping |
v_CUSTOMER_MASTER | Customer data (optional) |
INV_LXR | Part number display mapping (optional) |
SELECT, INSERT, UPDATE, and DELETE access on the GCG exchange tables:
| Table | Purpose |
|---|---|
GCG_<project>_Labor | Completed labor ticket records — always required |
GCG_<project>_JOBS_G | In-progress labor ticket records — only required if this table is part of the implementation |
Step 3: Verify Network Access
The edge device needs outbound access to the following:
| Destination | Port(s) | Protocol | Purpose |
|---|---|---|---|
| GlobalShop PSQL server | 1583 (SQL) and 3351 (transactional) | TCP | Database reads and labor ticket writes |
erp-api.svc.machinemetrics.com | 443 | HTTPS | Data sync to/from MachineMetrics |
api.machinemetrics.com | 443 | HTTPS | Token authentication |
Both PSQL ports must be open. Port 1583 handles read queries; port 3351 handles transactional operations used when writing labor tickets.
Step 4: Provide Connection Credentials to MachineMetrics
Share the following with your MachineMetrics contact via SnapPass — a one-time-use link that expires after viewing:
- PSQL server hostname or IP address
- SQL port (default:
1583) - Database name
- Database username and password
- GCG project number and exact exchange table names
Step 5: Configure and Deploy the Connector
MachineMetrics will configure the connector on your edge device using the provided credentials and deploy it as a Docker container via Balena. The container includes the PSQL ODBC client (v13.31) and all necessary drivers.
Step 6: Verify Initial Sync
After deployment, confirm the following:
- Employees, work centers, and work orders appear correctly in MachineMetrics
- Work order operations are visible in the Production Schedule view
- An operator completes a test job cycle in ShopPulse, and the resulting record appears in the GCG completed labor table
- The GlobalShop middleware picks up the completed record and posts it as a labor transaction in GlobalShop
After Setup
Work orders from GlobalShop become visible in the Production Schedule view. Operators select and start jobs through ShopPulse, and completed labor tickets are written to the GCG exchange tables where the GlobalShop middleware posts them into the ERP. Subsequent syncs run on a configurable interval (default: every 5 minutes) to keep work order and reference data current.
Work Order Filtering Options
The connector can control which work order operations sync from Global Shop Solutions to MachineMetrics. These filters are applied by MachineMetrics during connector setup and can be adjusted on request — for example, to keep certain operation types or planning jobs from appearing on operator tablets.
| Setting | What it controls | Default |
|---|---|---|
Operation type filter (OPERATION_LMO_ALLOWLIST) | Which Global Shop operation types are synced, based on the operation's LMO value: Labor, Machine, Outside Processing, Concurrent, or Zero Cost. | Labor, Machine, and Outside Processing are synced; Concurrent and Zero Cost are excluded. Can be narrowed further — for example, to sync only Labor operations. |
Job suffix exclusion (WORK_ORDER_SUFFIX_EXCLUDE_LIST) | Work orders with specific job suffixes are excluded from syncing so they never reach operator tablets. Matched exactly. | Planning suffixes PLN and PL> are excluded. |
If operators see operations or jobs they shouldn't be able to clock into — such as material sequences or planning jobs — contact support@machinemetrics.com to adjust these filters.
Labor Hour Proration
Global Shop Solutions posts whatever hours value the connector sends. It does not divide time between jobs, and when the hours value is greater than zero it overrides the elapsed time GlobalShop would otherwise calculate from the start and stop times. When one operator runs several jobs at the same time, each labor record therefore has to carry only its share of the overlapped time — otherwise the same minutes are charged in full to every job the operator was clocked into.
With proration enabled, the connector checks each completing labor ticket against the operator's other tickets covering the same clock window and splits every overlapped instant evenly between them. Two jobs run in parallel from 8:00 to 12:00 are each charged two hours rather than four.
Start and stop times always reflect the real clock window; only the hours value is divided. Overlapping start and stop times across records are expected — GlobalShop processes each record independently.
| Setting | What it controls | Default |
|---|---|---|
Labor hour proration (PRORATE_OVERLAPPING_HOURS) | Whether completed labor tickets that overlap another ticket for the same operator are charged only their share of the overlapped time. | Off. Every ticket is written with its full clock-out minus clock-in duration. |
Requires connector version 1.8.0 or later.
Proration is enabled per site by MachineMetrics. Contact your SDM or support@machinemetrics.com if operators routinely run more than one job at a time.
Backdated clock-ins
Operators can backdate a clock-in in MachineMetrics — finishing one job at 12:00, then telling the next machine they have been running it since 11:00. If the earlier ticket was already written to the exchange table, its hours can no longer be changed by the connector, so the overlapping hour stays with the earlier record. The backdated ticket is charged only for time that no already-written record covers.
This keeps an operator's posted hours from exceeding the time they were actually clocked in, with one visible consequence: MachineMetrics shows the full window the operator entered while GlobalShop shows only the unclaimed portion, so the two systems will not agree on that job. Adjust the record in GlobalShop if the labor time matters for costing.
When a backdated ticket is covered entirely by records already written, the connector still writes it with a token 0.01 hours rather than skipping it, so the ticket's good and scrap part counts still reach GlobalShop. Part counts cannot be recovered any other way once the ticket is closed.
Troubleshooting
Connector fails to start — Look for Configuration validation failed in the logs. A required environment variable is missing or invalid; the error message identifies which one.
Cannot connect to the PSQL database — Verify the hostname, SQL port, and database name are correct. Confirm both ports 1583 and 3351 are open between the edge device and the PSQL server. Check that the database user credentials are correct and that the database name matches exactly (it is case-sensitive).
Authentication errors (Invalid user authorization specification) — This error can mean the user was created at the engine level but not granted access to the specific database, the database is using a security mode incompatible with sending credentials over ODBC, or the password contains special characters that were corrupted during entry. Confirm with the DBA that the user has been explicitly granted login access to the target database.
Work orders not appearing in MachineMetrics — Confirm the database user has SELECT access to all required tables. Check that work orders are either open or closed in the current year (older closed orders are excluded). Review connector logs for sync errors.
Labor tickets not appearing in the exchange tables — Confirm the GCG tables exist using the exact names provided by GSS. Confirm the database user has INSERT, UPDATE, and DELETE access on those tables. The table names are case-sensitive and project-number-specific.
Labor tickets in exchange tables but not in GlobalShop — This is a GlobalShop middleware issue, not a MachineMetrics connector issue. Confirm with the customer's GlobalShop administrator or GSS that the middleware is configured, running, and reading from the completed labor table.
Hours in GlobalShop do not match MachineMetrics — Expected when labor hour proration is enabled. An operator who ran overlapping jobs has their time divided between those jobs, and a backdated clock-in overlapping a ticket already sent to GlobalShop is charged only for the time no posted record covers. MachineMetrics shows the full window the operator entered; GlobalShop shows the prorated share. The connector cannot revise a record once GlobalShop has processed it, so corrections are made in the GlobalShop UI.
Missing or UNASSIGNED resources on work order operations — Operations whose work center does not exist in WORKCENTERS or WORKGROUP_HEAD are assigned to a synthetic "UNASSIGNED" resource. If many operations are UNASSIGNED, review the work center master data.
Part numbers displaying incorrectly — The connector uses INV_LXR to map internal part numbers to customer-facing display numbers when that table is accessible. If display numbers are missing or wrong, confirm whether INV_LXR is populated and accessible to the database user.
Getting Help
- Setup Assistance: Contact your MachineMetrics Solution Delivery Manager (SDM)
- Technical Issues: Email support@machinemetrics.com
- GlobalShop Configuration: Consult your Global Shop Solutions partner for exchange table setup and middleware configuration