Skip to main content

Global Shop Solutions Integration Guide

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.

Requirements and Permissions​

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​

Complete the ERP-specific steps below, then follow Setup and Verification for resource mapping, operator mapping, and the go-live checks. The customer enters credentials directly in Edge Services. Never share credentials with MachineMetrics staff.

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
note

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:

TableData
EMPLOYEE_MSTREmployee records
WORKCENTERSWork center records
WORKGROUP_HEADWork group resources
REJECTED_CODEScrap reason codes
JOB_HEADERWork order headers
JOB_OPERATIONSWork order operation details
JOB_OPERATIONS_WCOperation-to-workcenter mapping
v_CUSTOMER_MASTERCustomer data (optional)
INV_LXRPart number display mapping (optional)

SELECT, INSERT, UPDATE, and DELETE access on the GCG exchange tables:

TablePurpose
GCG_<project>_LaborCompleted labor ticket records; always required
GCG_<project>_JOBS_GIn-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:

DestinationPort(s)ProtocolPurpose
GlobalShop PSQL server1583 (SQL) and 3351 (transactional)TCPDatabase reads and labor ticket writes
erp-api.svc.machinemetrics.com443HTTPSData sync to/from MachineMetrics
api.machinemetrics.com443HTTPSToken authentication
note

Both PSQL ports must be open. Port 1583 handles read queries; port 3351 handles transactional operations used when writing labor tickets.

Step 4: Enter Connection Settings in Edge Services​

Enter the PSQL host, port, database, dedicated username and password, and GCG project details directly in Edge Services. Do not send credentials to MachineMetrics staff. Coordinate connector deployment with your SDM after the exchange tables and middleware are ready.

Step 5: 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

Configuration Settings​

Enter connection values directly in Edge Services. Confirm the GCG project number with Global Shop Solutions rather than relying on the software default.

SettingVariableDescriptionDefault
Database hostERP_DB_HOSTPSQL server host or IP address.Set for your site
Database portERP_DB_PORTPSQL SQL port.1583
Database nameERP_DB_NAMEExact database name.Set for your site
UsernameERP_DB_USERDedicated PSQL account.Set for your site
PasswordERP_DB_PASSWORDPassword for the account.Required
GCG projectGCG_PROJECT_NUMBERNumeric project ID used in exchange table names.Confirm with GSS
In-progress trackingUSE_JOB_IN_PROGRESSWrite open tickets to the in-progress exchange table.On
Inbound sync intervalFROM_ERP_INTERVALUses POLL_INTERVAL if unset, then the SDK default.5 min unless overridden
Outbound sync intervalTO_ERP_INTERVALHow often labor is sent to the exchange tables.5 min unless overridden
Closed order lookbackWORK_ORDER_CLOSED_LOOKBACK_MONTHSHistorical closed-order window for initial and recovery pulls.3 months

Additional filtering, proration, and overhead settings are described under Sync Behavior.

Sync Behavior​

The integration uses these data flows and processing steps:

  1. 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. Open work orders are included. The historical closed-order window defaults to three months; later syncs use checkpoints to bring through recent closures.

  2. 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.

  3. In-Progress Labor Tracking: USE_JOB_IN_PROGRESS defaults to enabled. When enabled, the connector writes clock-in records to the in-progress exchange table, updates them as work progresses, and removes them on clock-out. Confirm that the required GCG table exists before enabling the connector; turn this setting off if that path is not configured.

  4. 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.

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, you can keep certain operation types or planning jobs from appearing in the Operator View.

SettingWhat it controlsDefault
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. You can narrow the filter 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 View. Matched exactly.Planning suffixes PLN and PL> are excluded.
tip

If operators see operations or jobs they shouldn't be able to clock into, such as material sequences or planning jobs, contact MachineMetrics Support 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.

SettingWhat it controlsDefault
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.

tip

Proration is enabled per site by MachineMetrics. Contact your SDM or MachineMetrics Support if operators routinely run more than one job at a time.

Backdated clock-ins​

Operators can backdate a clock-in in MachineMetrics. For example, an operator can finish one job at 12:00 and tell 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.

Unattended Overhead​

Requires connector version 1.9.0 or later, and Labor Hour Proration enabled.

When an operator is clocked into jobs on more than one work center at the same time, each of those work centers runs for the full window even though the operator can only be at one of them. Labor Hour Proration splits the operator's actual time across the jobs, which leaves part of each work center's run time uncovered. Global Shop books that uncovered machine time internally as unattended overhead; per Global Shop Solutions' guidance, the connector approximates this by posting the uncovered time as a separate labor record against a phantom employee with a $0 pay rate, so only the work center's overhead rate is applied to the job.

Prerequisites​

Before enabling, create a phantom employee in Global Shop:

  • A generic employee ID (e.g., all nines), 1-5 alphanumeric characters
  • A $0.00 pay rate, so no labor cost attaches to unattended time
  • The ID must not belong to a real operator; the connector refuses to process labor tickets that arrive under this ID

Configuration​

Environment VariableDefaultDescription
POST_UNATTENDED_OVERHEADfalseSet to true to enable unattended overhead records
UNATTENDED_EMPLOYEE_ID(empty)The phantom employee ID created above

Both variables are required when enabling this feature. PRORATE_OVERLAPPING_HOURS must also be true; without proration, direct labor already covers each work center's full window and the feature disables itself rather than double-book machine time.

How hours are allocated​

Unattended time is allocated per work center: each work center that ran carries its run window exactly once, as direct labor plus unattended time across all of its jobs.

  • An operator on two jobs across two work centers for 4 hours posts 2 hours of direct labor and 2 hours of unattended overhead per job; each work center books its 4 hours.
  • If all of an operator's concurrent jobs are on the same work center, no unattended time is posted: the jobs' direct labor already covers the machine.
  • The unattended record carries the same job, operation, work center, and clock window as the operator's own record, with zero piece counts (production is never double-counted) and it never closes an operation.

Notes​

  • Because the phantom employee is a normal employee record, Global Shop applies Benefits OH in addition to Fixed OH on unattended time, slightly overstating overhead compared to Global Shop's native handling. This is a known limitation of reporting time from an external system.
  • Work centers with a $0.00 Fixed OH rate carry no unattended dollar amount; records are still written for traceability.

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 meet the configured history window and filters. 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.

FAQ​

Why is a ticket in the exchange table but not in GlobalShop? GlobalShop middleware must consume the record and post the labor transaction. Confirm that process is running with your Global Shop Solutions administrator.

Why do posted hours differ from the original clock window? Labor proration can divide overlapping time. See Labor Hour Proration before changing posted labor.

Getting Help​

Contact your Solution Delivery Manager (SDM) during onboarding or MachineMetrics Support for technical issues after onboarding. For ERP permissions and posting, work with your ERP administrator.