-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Article Type: Concept / Integration Package Overview Audience: Solution Architects, Application Designers, Integration Specialists, Partners Module: Data Flows / iPaaS Connectors Applies to Versions: 2022.1+
The Plex ODBC Master Data Flow Configuration is a comprehensive integration package that enables automated synchronization of master data from Plex Manufacturing Cloud (formerly Plex ERP) into the Fuuz Industrial Operations Platform. This package provides 40 pre-built data flows that extract, transform, and load critical manufacturing data including products, customers, suppliers, workcenters, purchase orders, and quality codes.
Using Plex's ODBC interface, this package establishes a one-way data synchronization from Plex to Fuuz, enabling manufacturers to leverage Fuuz's real-time monitoring, OEE tracking, and shop floor applications while maintaining Plex as the system of record for ERP functions.
Connector type: Edge data connector — the Plex ODBC connection is an edge data connector added through the Edge Gateway.
Note: This package requires an active Plex Manufacturing Cloud subscription with ODBC access enabled and a configured ODBC connection in the Edge Gateway. The integration uses Plex Customer Number (PCN) for multi-tenant data isolation.
Note: The original KB article includes the installable package attachment
PlexODBCMasterDataFlowConfiguration1011.fuuz. Download it from the original article; the file must be re-attached/linked in this repo.
- Plex Manufacturing Cloud: A cloud-based ERP system designed for manufacturing, providing modules for production, quality, inventory, supply chain, and financials.
- ODBC (Open Database Connectivity): A standard API for accessing database management systems. Plex exposes read-only views via ODBC for data extraction.
- PCN (Plex Customer Number): A unique identifier for each Plex tenant/company. All queries are filtered by PCN to ensure data isolation.
- Master Data Flow Configuration: A Fuuz component that orchestrates multiple data flows with shared connection settings, pagination controls, and scheduling.
- Topic: A message bus channel in Fuuz used for event-driven data processing. Each flow publishes to dedicated topics for pagination and downstream processing.
- Pagination: A mechanism for handling large datasets by processing records in configurable batches (default 500 rows per batch).
The package follows a standardized integration pattern:
- Query Execution: Each data flow executes a SQL query against Plex ODBC views filtered by PCN and optional date ranges
- Pagination Handling: Results are processed in batches using key-based pagination (not offset-based) for consistency
- Data Transformation: JSONata transforms map Plex field names to Fuuz data model attributes
- Upsert Operations: Records are inserted or updated in Fuuz based on unique identifiers
- Topic Publishing: Completion events are published for downstream processing and pagination continuation
| Component Type | Count | Description |
|---|---|---|
| Data Flows | 40 | Pre-built integrations for each Plex data entity |
| Topics | 80 | Message bus channels (40 import + 40 pagination topics) |
| Master Configuration | 1 | Centralized configuration for connection, pagination, and flow activation |
The data flows utilize the following Fuuz Data Flow node types:
- integrateV2: Executes ODBC queries against Plex with configurable connection and retry logic
- transform: Applies JSONata transformations to map Plex fields to Fuuz data models
- mutate: Performs GraphQL upsert operations to create or update Fuuz records
- query: Retrieves existing Fuuz data for reference lookups
- setContext / mergeContext: Manages pagination state and configuration across flow execution
- publish: Sends messages to topics for pagination continuation and event notification
- topic: Subscribes to incoming topic messages to trigger flow execution
- ifElse / when: Conditional logic for handling empty results and pagination termination
- log: Diagnostic logging for troubleshooting and monitoring
Manufacturers using Plex as their ERP can automatically synchronize master data to Fuuz, eliminating manual data entry and ensuring consistency across systems. Products, customers, suppliers, and workcenters defined in Plex become immediately available in Fuuz applications.
With workcenter, mode, and event data synchronized from Plex, Fuuz applications like Machine Monitoring can leverage the existing equipment hierarchy without re-creating master data. Operators see familiar workcenter names and configurations while gaining access to Fuuz's real-time monitoring capabilities.
Purchase orders and line items from Plex are synchronized to Fuuz, enabling receiving workflows, supplier performance tracking, and inventory management applications to operate with current procurement data.
Scrap reason codes and quality defect types defined in Plex are synchronized to Fuuz, ensuring consistent quality categorization between ERP reporting and shop floor data collection.
Fuuz serves as an integration hub, combining Plex master data with real-time IoT data from equipment, enabling analytics and applications that span both systems. For example, OEE calculations can use Plex-defined rate standards while capturing actual production from PLC signals.
| Data Flow | Plex Source |
|---|---|
| Products from Plex ODBC Parts | Part master records |
| Product Types from Plex ODBC | Part type classifications |
| Product Stages from Plex ODBC | Part lifecycle stages |
| Product Strategies from Plex ODBC | Part production strategies/routings |
| Product Strategy Processes from Plex ODBC Part Operations | Routing operations/steps |
| Product Strategy Process Type from Plex ODBC Part Operations Type | Operation type classifications |
| Product Strategy Process BOM from Plex ODBC BOM | Bill of materials |
| Product Custom Data from Plex ODBC Part Attributes | Custom part attributes |
| Approved Logistical Units from Plex ODBC Part Operation Approved Container | Approved containers per operation |
| Customer Products from Plex ODBC Customer Parts | Customer-part relationships |
| Data Flow | Plex Source |
|---|---|
| Customers from Plex ODBC | Customer master records |
| Customer Addresses from Plex ODBC | Customer ship-to/bill-to addresses |
| Customer Stage from Plex ODBC | Customer lifecycle stages |
| Suppliers from Plex ODBC | Supplier/vendor master records |
| Supplier Addresses from Plex ODBC | Supplier address records |
| Approved Suppliers from Plex ODBC | Supplier-part approvals |
| Data Flow | Plex Source |
|---|---|
| Workcenters from Plex ODBC | Workcenter/machine master records |
| Workcenter Types from Plex ODBC | Workcenter type classifications |
| Workcenter Group from Plex ODBC | Workcenter groupings/lines |
| Approved Workcenters from Plex ODBC | Part-workcenter approvals |
| Modes from Plex ODBC Workcenter Statuses | Workcenter status/mode definitions |
| Events from Plex ODBC | Event type definitions |
| ModeEvent from Plex ODBC WorkcenterEventStatus | Mode-event relationships |
| Workcenter Modes from Fuuz Workcenter and Modes | Creates workcenter-mode associations |
| Data Flow | Plex Source |
|---|---|
| Facilities from Plex ODBC Buildings | Building/facility records |
| Locations from Plex ODBC | Inventory/storage locations |
| Location Type from Plex ODBC | Location type classifications |
| Location Status from Plex ODBC | Location status definitions |
| Data Flow | Plex Source |
|---|---|
| Purchase Orders from Plex ODBC | Purchase order headers |
| Purchase Order Lines from Plex ODBC | Purchase order line items |
| Purchase Order Types from Plex ODBC | PO type classifications |
| Purchase Order Status from Plex ODBC | PO status definitions |
| Purchase Order Line Statuses from Plex ODBC | PO line status definitions |
| Data Flow | Plex Source |
|---|---|
| Quality Codes From Plex ODBC Defect Type | Defect/quality code definitions |
| Scrap Reasons from Plex ODBC | Scrap reason codes |
| Adjustment Codes from Plex ODBC | Inventory adjustment reason codes |
| Inventory Status from Plex ODBC Container Statuses | Container/inventory status codes |
| Logistical Units from Plex ODBC Container Types | Container type definitions |
| Contacts From Plex ODBC | Contact/person records |
| Processes from Plex ODBC | Process/operation definitions |
The package creates a Master Data Flow Configuration with ID DEFAULT_PLEX_ODBC_CONFIG containing:
- connectionConfiguration: Stores the PCN (Plex Customer Number) for query filtering
- dataFlowConfiguration.flows: Array of 40 flow configurations with activation status, pagination settings, and date filters
- active: Master switch to enable/disable all flows (defaults to false after installation)
Each flow supports configurable pagination:
| Parameter | Default | Description |
|---|---|---|
defaultRowLimit |
500 | Records per batch |
afterKey |
null | Last processed key for continuation |
Flows support delta synchronization using date filters:
{
"modifiedAfter": {
"data": {
"unit": "week",
"offset": -1,
"range": 1,
"base": "startOf"
},
"label": "Previous week"
},
"modifiedBefore": null
}This default configuration synchronizes records modified in the previous week. Adjust the offset and range values to modify the sync window.
Topics follow a consistent naming pattern:
-
plex.odbc.import.{flowName}— Triggers initial flow execution -
plex.odbc.import.{flowName}.paginate— Triggers pagination continuation
Each flow executes SQL queries against Plex ODBC views using a standardized pattern:
SELECT TOP {rowLimit}
[columns]
FROM {Plex_View}_e AS alias
WHERE alias.PCN = ?
AND alias.{KeyField} > ?
ORDER BY alias.PCN, alias.{KeyField} ASCThe _e suffix indicates Plex "external" views designed for ODBC access. Key-based pagination ensures consistent results even when data changes during synchronization.
- Active Plex Manufacturing Cloud subscription with ODBC access enabled
- Plex Customer Number (PCN) for your tenant
- Edge Gateway deployed with ODBC driver connectivity to Plex
- ODBC connection configured in Fuuz Connection management
- Fuuz data models for target entities (typically provided by companion applications like Machine Monitoring)
- Navigate to the Fuuz Package Manager in your application
- Upload the Plex ODBC Master Data Flow Configuration package (
.fuuzfile) - The installer validates that data flows, configurations, and topics do not already exist
- Upon successful validation, the package creates all 40 data flows, 80 topics, and the master configuration
- Data flows are automatically deployed but the configuration is set to inactive
- Ensure your ODBC connection to Plex is configured and tested in Fuuz Connection management
- Navigate to the Master Data Flow Configuration record (
DEFAULT_PLEX_ODBC_CONFIG) - Update the
connectionConfiguration.pcnvalue with your Plex Customer Number - Verify the
connectionNamematches your Fuuz ODBC connection name
- Review the list of 40 flows and determine which entities are needed for your implementation
- For each required flow, set
active: truein the dataFlowConfiguration - Consider dependency order: reference data (types, statuses) should sync before transactional data
- Set the master
activeflag to true to enable synchronization
- For initial load, temporarily set date filters to a wide range or remove them
- Trigger flows manually via topic publishing or schedule them
- Monitor data flow execution logs for errors
- Verify record counts in Fuuz match expected counts from Plex
- Reset date filters to delta synchronization settings (e.g., "Previous week")
- Create Data Flow Schedules to run synchronization at appropriate intervals
- Typical frequencies: daily for master data, hourly for transactional data
- Consider Plex ODBC rate limits when scheduling multiple flows
- Stagger flow execution to avoid overwhelming the ODBC connection
Important: The package installs with
active: falseto prevent automatic execution before configuration is complete. Always configure your PCN and connection before activating flows.
The Plex ODBC integration package is designed as a foundation that can be extended:
- Additional Plex Entities: Create new data flows for Plex views not included in the base package (e.g., Sales Orders, Inventory Balances, Production History)
- Custom Field Mapping: Modify transform nodes to map Plex custom attributes to Fuuz custom fields
- Bi-directional Integration: Create complementary flows that write data back to Plex via Plex API (requires separate authentication)
- Event-Driven Processing: Subscribe to import topics to trigger downstream workflows when data changes
- Data Validation: Add validation nodes to enforce business rules before upserting to Fuuz
- Notification: Configure notifications for sync failures or data anomalies
- Query Filters: Modify SQL WHERE clauses to filter specific records (e.g., active parts only)
-
Pagination Size: Adjust
defaultRowLimitbased on record size and network performance - Date Ranges: Configure different sync windows per flow based on data change frequency
- Field Transformations: Add computed fields or data normalization in transform nodes
Best Practice: Clone data flows before modifying them to preserve the original package components. This ensures future package updates can be compared against your customizations.
| Issue | Possible Cause | Resolution |
|---|---|---|
| Package installation fails | Data flows or topics already exist | Remove conflicting records or use a clean environment |
| ODBC connection fails | Network/firewall blocking Plex ODBC port | Verify Edge Gateway network connectivity and firewall rules |
| No data returned | Incorrect PCN configured | Verify PCN value in connectionConfiguration matches your Plex tenant |
| Partial data sync | Date filter too restrictive | Expand modifiedAfter range for initial load, then narrow for delta sync |
| Pagination never completes | Topic subscription not configured | Verify .paginate topics are deployed and data flow is subscribed |
| Duplicate records in Fuuz | Upsert key mismatch | Verify transform maps Plex key fields to correct Fuuz identifiers |
| Slow sync performance | Large dataset with small batch size | Increase defaultRowLimit (e.g., 1000-2000) for high-volume entities |
| Flow not triggering | Master configuration inactive | Set active: true on both master config and individual flow config |
- Fuuz Industrial Operations Platform — Main product site
- Data Flow Designer Documentation — Creating and modifying data flows
- Edge Gateway Configuration Guide — Setting up ODBC connections
- Master Data Flow Configuration Guide — Managing integration orchestration
- Plex Manufacturing Cloud — Plex ERP documentation
| Version | Date | Editor | Description |
|---|---|---|---|
| 1.0 | 2025-01-24 | Fuuz Documentation Team | Initial release documenting Plex ODBC Master Data Flow Configuration v1.0.1 |
- Plex Datasource Tools V200
- How to create a check an ODBC connection with another system
- Machine Monitoring V105
Source: support.fuuz.com
This article was moved from the Fuuz Platform Help wiki to live alongside its package.