Through the concept of Part Choices, component parts hosted in an Altium 365 Workspace or Enterprise Server Workspace can be referenced to real-world supplier (vendor) parts, based on their specified manufacturer part. By default, this supply chain data is sourced through the Altium Parts Provider cloud service and includes real-time supplier part information such as stock levels, unit pricing and price break points.
For many organizations however, component supplier data is (and must be) sourced from an internal company enterprise system that provides a proprietary set of parts supplier data – which might be based on a tightly approved range of vendors and/or special pricing structures. This situation is catered for by the alternative Altium Custom Parts Provider, which when configured for synchronization through Altium Designer, allows the supplier data from a specified database source to be mapped to the Workspace supply chain data.
Using the Altium Designer Custom Parts Provider Synchronization feature, as outlined below, supplier data from a selected table within a master database is mapped to become an alternative data source for component Part Choices made in Altium Designer. In practice, the mapped configuration you create is used to synchronize the source database to the Workspace supplier data as a timed process, or simply on-demand. The result is that supplier data updates in the master database will propagate to the matching component supplier data in the Altium Workspace.
The feature allows companies that centrally manage component supplier data in an enterprise system database to harness the benefits of an Altium Workspace while maintaining synchronization with their enterprise system (PLM, PDM, ERP, etc) – or simply a shared database or CSV file. In auto-synchronization mode, a Windows Task schedule will perform the database to Workspace data update independently of the Altium Designer design client.
► See Importing Existing Libraries to Your Connected Workspace for information on importing database libraries to your Altium Workspace.
► See Component Database to Workspace Data Synchronization for information on the associated process of synchronizing Workspace component parameter data with a database source.
To enable the Custom Parts Provider Synchronization feature in Altium Designer, select the Custom Data Synchronization option in the Configure Platform page (under Importers\Exporters).
Creating a Custom Parts Provider Synchronization Configuration
Database to Workspace part supplier synchronization is established through the creation and setup of a Custom Parts Provider Synchronization Configuration document (*.PrtSync
) in Altium Designer. The document interface and its functionality is similar to that of the Components Synchronizer. When connected to your Altium Workspace, create the new document from the File » New » Custom Parts Provider Synchronization Configuration menu command.
Add the desired master data source to the synchronization configuration from the
button, or by dragging and dropping compatible data files onto the Data Sources area of the interface. The configuration accommodates the following component parameter data sources:
-
Access database files (
*.mdb
, *.accdb
)
-
Excel spreadsheets (
*.xlsx
)
-
CSV files (
*.csv
)
-
Other data sources, such as server-based OLE DB compatible interfaces, via a proprietary connection string. See the MySQL Configuration section below for the MySQL ODBC connection procedure.
-
NOTE: When connected to an Altium 365 Workspace, the Parts Provider Synchronizer requires that you are signed in to your Altium account using email/password credentials, rather than with SSO authentication. If you are signed in to your Altium account using the SSO, the text 'Not selected' will be shown in the Destination region of the Custom Parts Provider Synchronization Configuration document instead of the connected Workspace name (show image), and you will not be able to execute the synchronization.
-
For database connectivity, the Parts Provider Synchronizer requires access to the 64-bit version of the Microsoft OLE DB Provider.
In the example shown here, a database that hosts parts supplier data (for Zener diode components) has been added to the configuration. The source database (SupplierData.mdb
) contains two tables – CustomSupplierParts1
and CustomSupplierParts2
– where the first table is enabled for mapping and synchronization.
ODBC Configuration Procedure for MySQL
Custom Parts Provider synchronization with a MySQL database is set up using the Microsoft OLE DB Provider for ODBC with the MySQL Connector/ODB application. The connection and setup procedure is as follows:
-
Download and install the MySQL Connector, which can be sourced using the Custom install option of MySQL Installer 8. Then run the Windows ODB Data Sources application to add the MySQL ODBC ANSI Driver type, specify your MySQL source and database in the MYSQL Connector and confirm the newly added ODB Data Source.
-
Create a new Parts Sync configuration in Altium Designer (File » New » Custom Parts Provider Synchronization Configuration) and select the Use Connection String option from the
menu.
-
In the following Data Link Properties dialog, select the
Microsoft OLER DB Provider for ODBC Drivers
option under the Provider tab, click Next, and then under the dialog's Connection tab, enter the data source details established in Step 1 above.
-
Enable the desired MySQL database table In Altium Designer's Properties panel.
-
Select the database table in the Data Source hierarchy. and then in the Properties panel, map the data columns to Altium parameters as needed.
Supplier Data Parameter Mapping
The database table is accessed as a parametric data source by the new Custom Parts Provider configuration. When the table is selected under the configuration's Data Sources tree, it can be mapped to the standard supplier data parameters used by Altium Designer and the Altium Workspace.
Note that the key parameter (unique identifier) that binds the supplier data entries to Workspace components is the Manufacturer Part Number.
So for the example presented here, a Workspace component part with a Manufacturer Part Number
(Name) value of 1N4741A
ultimately will be offered custom supplier data from the source database entries that have a Part Number
value of 1N4741A
– see parameter mapping in the Properties panel, below.
Supplier data parameters are mapped from the source database to the Parts Provider Configuration in the Parameter Mapping section of the Properties panel. Use the Column entry drop-down menu options to choose a database source parameter that correctly matches a system supplier data parameter. Each set of parameter data is added to the Components Preview listing as they are mapped. These columns can be reordered by dragging their headings, and enabled/disabled through the Select Columns menu (accessed by right-clicking on a heading).
Component price break points represent the number of components that need to be ordered from a supplier to attract a reduced unit cost. The required order quantities are typically arranged in decade bands – 10 units, 100 units, etc – and are supported by Altium's supplier data Part Choice entries.
This numeric data can be mapped from source database entries to Workspace supplier data by adding price break Quantity entries in the Price Breaks section of the Properties panel (
) – which sequentially increase in decade quantities – and then mapping those entries to appropriate database fields. Note that the conventional unit cost parameter (Price
) is included in the general Parameter Mapping section.
Database to Workspace Synchronization
Once satisfied with the supplier data mapping setup, save the custom parts provider configuration document (File » Save) and perform a source database to server data synchronization from the
button, or set up a scheduled synchronization (
). The initial synchronization step will upload the mapped supplier data from your company database to the Altium Workspace, and subsequent synchronization cycles will update that data.
Detailed synchronization log files are available in the system's C:\Users\Public\Documents\Altium\Logs\ComponentSync
folder.
In the example shown here, the supplier data for the Zener diode parts that have been synchronized from the database source to the Workspace become available as Custom Parts Provider data for those components – in addition to the normal parts supplier data provided by the Altium Parts Provider cloud service.
Immediate evidence of this can be seen in the Manufacturer Part Search panel, which will offer component supply solutions sourced through the Custom Parts Provider service, as synchronized from your organization's supplier database.
Part Choices from Custom Provider Data
When adding Part Choices information to component entries in the Components panel (right-click, Operations » Create/Edit PCL), the supplier data provided by the Custom Parts Provider will appear at the top of the list in the Add Part Choices dialog – as shown for the 1N4747A
Zener diode entry here. The selected (highlighted) entry will be added as a Part Choice for the selected component in the Components panel.
The Add Part Choices dialog will be populated with supplier data provided by the Parts Provider services that are currently enabled in the Catalog Management page of the connected Workspace (Admin » Part Providers). Both the Altium Parts Provider and the Custom Parts Provider are enabled by default.
As with the Altium Parts Provider service, the Custom Parts Provider also supports supplier data for multiple Manufacturers and from multiple Suppliers – this is derived from multiple, separate entries in the source database table. Note also that the custom provider data will include price break and stock level information synchronized from the source database.
Along with the Components panel as shown here, component supplier Part Choices can be attached to a component reference in the following Altium Designer interfaces:
Note that when supplier data have been changed in the source database, the Workspace Custom Parts Provider data will adopt these changes when the next synchronization process is run – whether invoked manually or by a scheduler service. Refresh the Altium Designer interface views (as listed above) using the
F5 key or
![](/documentation/sites/default/files/wiki_attachments/322800/AD-But_Refresh.png)
button to see the latest supplier data.
Scheduled Synchronization
Saved Parts Synchronization Configurations are setup for automated database to Workspace data processing through the Auto Synchronization Schedule dialog, opened from the
button in the main interface.
Scheduled synchronization, in compliance with the current configuration profile, can be set to a specific time of each day, at a particular time on various days of the week, or when you log on to Windows. You can also disable synchronization for when you are not logged on. When your settings are confirmed with the
button, the configuration will be added as a repeating task in the Windows Task Scheduler. Set to No automatic synchronization to remove an existing sync schedule.
Database to parts data synchronization also can be manually run from the command line using the ComponentSync.Executor.exe
application, found in the software installation's \System
folder. The command syntax is ComponentSync.Executor.exe [configuration file name]
. The NewSync2
configuration of this example has been run in the below image, using the command string:
"C:\Program Files\Altium\AD20-2\System\ComponentSync.Executor.exe" C:\Users\Public\Documents\NewSync2.PrtSync
![](/documentation/sites/default/files/wiki_attachments/322800/AD_PartSync-CommandLine.png)
Depending on the operating system, surrounding quote characters may be required for paths that include spaces (as shown here).