Data Sync 2023 Manual
Data Sync 2023 Manual
User Manual
15.0.1 | Revision 05/2022 | English
TABLE OF CONTENTS
ABOUT TASKS 24
IMPORT TASKS 25
EXPORT TASKS 56
-2-
Data Sync 2023 Manual
LOGGING 106
INDEX 117
-3-
Data Sync 2023 Manual
Getting started
l Installing Data Sync
l Setting up Data Sync
l The main Data Sync Manager window
Import tasks
l Import tasks
l Executing tasks on demand
l Importing metric data
-4-
Data Sync 2023 Manual
Background
Before installing Data Sync, determine the network configuration that will be used. Data Sync involves several com-
ponents that work together, including:
There are many ways to set up Data Sync components on a network. You may decide to run Data Sync on a sep-
arate machine from your ERP/MRP software and from the ProNest database server. You may also decide to install
Data Sync alongside the ERP/MRP software or on the same machine as the database.
Network configurations
The topology diagram in Figure 1 shows a Data Sync configuration at its most complicated level - where each com-
ponent is installed on a different PC/server.
-5-
Data Sync 2023 Manual
PC - A
This machine is designated as the Data Sync Host. The full version of Data Sync, which includes the
Data Sync Manager interface and Data Sync Service, has been installed. The URL.ini database con-
nection file is pointed to ProNest Server on PC-D. On this machine, users can:
PC - B
This machine has ERP software installed. The express version of Data Sync is installed, so users can
execute tasks on demand or view logs via Data Sync CMD. The URL.ini file is pointed to ProNest
Server on PC-D. The Data Sync CMD application looks in the ProNest database to determine where
the service is located (PC-A), so that it can trigger a task on that PC. Note that the Data Sync Service
on PC-A must be reachable from PC-B. On this machine, users can:
l Run a task
l View logs
PC - C
-6-
Data Sync 2023 Manual
A ProNest client, with the URL.ini database connection file pointed to PC-D. In this case, the ProNest
client can't execute any Data Sync tasks. On this machine, users can:
l View and interact with synced items via the Work Orders or Plate Inventory database editors in
ProNest
PC - D
This is the ProNest database server. The ProNest Server installer is used to install ProNest Server and
the SQL Server Express ProNest database on this machine. All ProNest clients, the Data Sync host, and
the Data Sync CMD point to ProNest Server on this machine.
You will need to determine the best configuration for the specific installation you are doing. Some other example
configurations are discussed below.
In these examples, the ProNest Database is hosted on the same server/PC that is running ProNest Server.
Sometimes, these are configured so that ProNest Server runs on a different server/PN than the ProNest Data-
base. Even if the database is hosted on a different machine than ProNest Server, the general setup for Data
Sync does not change.
Data Sync must be connected to ProNest Server in order to work. Use the ProNest Server installer to install
ProNest Server and the host ProNest database if this is a new setup.
-7-
Data Sync 2023 Manual
The host should be a PC/server that will remain on and is reachable from the other PCs that will run Data Sync. The
Data Sync Service executable (DataSyncSvc.exe) runs as a Windows service on this host. The Data Sync installer
registers this as Data Sync.
-8-
Data Sync 2023 Manual
If a ProNest client is already connected to a remote shared ProNest database, you can just copy the URL.ini file
from that ProNest client into the Data Sync program folder.
-9-
Data Sync 2023 Manual
If a ProNest client is already connected to a remote shared ProNest database, you can just copy the URL.ini file
from that ProNest client into the Data Sync program folder.
- 10 -
Data Sync 2023 Manual
Example 1: Enterprise software, Data Sync Service, and ProNest Shared Database on same PC/server
PC - A
This machine has been designated as the Data Sync Host as well as the ProNest Database Server.
The full version of Data Sync and ProNest Server are both installed. Users on this machine can:
- 11 -
Data Sync 2023 Manual
l Run a task
l View logs
PC - B
A ProNest client, where users can:
l View and interact with synced items via the Work Orders or Plate Inventory database editors
Installation procedure:
l Modify URL.ini database connection files on PC-A and PC-B to point to ProNest Server on PC-A.
l On PC-A, Data Sync's URL.ini file is located in C:\ProgramData\Hypertherm CAM\Data Sync. Because Data Sync
and ProNest Server are on the same machine, you can simply leave the Data Sync URL.ini file pointed to the
local ProNest Server.
l On PC-B, ProNest's URL.ini file is located in C:\ProgramData\Hypertherm CAM\ProNest 2023
Example 2: Data Sync service and ProNest shared database on same PC/server, enterprise software installed on dif-
ferent machine
- 12 -
Data Sync 2023 Manual
PC - A
This machine has been designated as the Data Sync Host as well as the ProNest Database Server.
The full version of Data Sync and ProNest Server are both installed. Users on this machine can:
PC - B
This machine has ERP software installed. The "express" version of Data Sync is installed. Users can
execute tasks on demand using the Data Sync CMD application or view logs. The Data Sync CMD
application looks in the ProNest database to determine where the service is located (PC-A), so that it
can trigger a task on that PC. For this reason, the Data Sync Service on PC-A must be reachable from
PC-B. Users on this PC can:
l Run tasks
l View logs
PC - C
A ProNest client, where users can:
l View and interact with synced items via the Work Orders or Plate Inventory database editors
Installation procedure:
l Modify URL.ini database connection files on PC-A, PC-B, and PC-C to point to ProNest Server on PC-A
Example 3: Data Sync service and enterprise software on same PC/server, ProNest shared database installed on dif-
ferent machine
- 13 -
Data Sync 2023 Manual
PC - A
This machine has been designated as the Data Sync Host. The full version of Data Sync has been
installed. Users on this machine can:
PC - B
The ProNest database server.
PC - C
A ProNest client, where users can:
l View and interact with synced items via the Work Orders or Plate Inventory database editors
Installation procedure:
- 14 -
Data Sync 2023 Manual
l Modify URL.ini database connection files on PC-A and PC-C to point to the ProNest Server on PC-B
- 15 -
Data Sync 2023 Manual
Database connection
Make sure that Data Sync is connecting to the same database as ProNest. See Installing Data Sync for more details.
Network connectivity
If Data Sync is connecting to a database over a network (i.e. the ProNest database is located elsewhere on the net-
work), make sure that there are sufficient permissions to connect to that network location.
Logs are also saved on the Data Sync host. To view these logs from other PCs, those PCs will need to be able to see
the host PC on the network.
Licensing
Data Sync is authorized via the ProNest license key. Data Sync must be connected to a ProNest database which is
connected to a ProNest client containing the Data Sync license feature.
1. If you've not already done so, open DataSyncMgr.exe C:\Program Files\Hypertherm CAM\Data Sync.
2. In the Options dialog, set Host and Port options. The host would be the PC that Data Sync was installed on.
3. Set up Email SMTP options. This enables logging notification emails to be sent.
4. Add import tasks for your source data. Tasks can be configured for either Plate Inventory or Work Orders
source data. You can select either a flat format file (CSV, XLS, XLSX, XML) or use an ADO connection as a
data source. You will also need to map ERP/MRP fields to available ProNest data fields.
5. Add export tasks for sending data from ProNest back to your ERP/MRP system. The ProNest History data-
base must be activated for this step.
Once Data Sync is fully set up on the host computer, the Data Sync service on that PC will execute tasks.
- 16 -
Data Sync 2023 Manual
1. Open ProNest.
2. On the File tab, click Preferences.
3. Click the Work Orders tab.
Unique key
Specify a combination of fields that creates a unique identifier for each Work Order record. This is the criteria used
to identify a work order item when updating the Work Orders database in ProNest.
Points to consider:
l You cannot enter a unique key that includes fields that are blank for existing work orders.
l Be sure that each field listed here is mapped in the Data Sync import task.
l This combination becomes the UniqueID field in history.WorkOrderParts.
Example 1:
Suppose each work order item (part) has a unique work order number:
- 17 -
Data Sync 2023 Manual
Example 2:
Suppose multiple work order items have the same work order number but each part name is different:
Work Order Number: A30178, Part Name = Flange
Work Order Number: A30178, Part Name = Trap
You would select Work Order Number + Part Name as a unique key.
Miscellaneous fields
You can map miscellaneous fields in the work order to available part property fields in ProNest. In this way, part
information such as initial rotation, priority, grain restraint, etc. can be specified in the work order using text fields.
The Misc # field and Caption are used for matching.
For instance, if a work order contains a field called "Rotation Limit" and is mapped to the ProNest part property
"Grain Restraint" in preferences, when that work order part is added to the part list, it will automatically use the
grain restraint specified in the work order.
For any caption Misc 1 - Misc 10) that is mapped in ProNest preferences, an ERP column should be mapped to the
appropriate ProNest column Misc1 - Misc10 in the Data Sync import task.
Example
Suppose there are three ERP work order columns that can't be directly mapped to ProNest columns in the Data
Sync import task:
l Restrict_Rotation
l Priority
l No_Fill
In Data Sync, in the Import Task dialog, on the Data Mapping column, you would enter the following in the map-
ping table:
ProNest columns:
Misc1 %Restrict_Rotation%
Misc2 %Priority%
- 18 -
Data Sync 2023 Manual
Misc3 %No_Fill%
Next, in ProNest, on the Work Orders preferences page, you would enter:
Misc fields:
2 Misc 2 Priority
The Aliases list will appear, with three tabs at the top.
- 19 -
Data Sync 2023 Manual
Initially, the Material column displaying corresponding ProNest materials is blank, because these aliases haven't
been assigned to ProNest materials yet. You would then need to select a full ProNest material (type, thickness, and
optionally grade) to each alias.
- 20 -
Data Sync 2023 Manual
With this method, each thickness for a given type/grade must be mapped in a separate row.
l Thickness is required and must be mapped on the Data Mapping tab. Note that the stated thickness must
be ±0.001 in. (±0.0254 mm) of the thickness listed in the Materials editor.
l If a material record has a Grade in the Materials editor, the grade must also be specified in ERP source data
in order to make a match. In this case, material type is not required in the source data; a match can be made
using Grade and Thickness.
- 21 -
Data Sync 2023 Manual
Options
See About Options to learn more.
Service
The Data Sync service, which controls the execution of Data Sync tasks, is shown here. See About tasks to learn
more.
You can start, stop or restart the service using this button.
Manage Tasks
See About tasks to learn more.
- 22 -
Data Sync 2023 Manual
Product Information
The version number of Data Sync and license modules authorized are shown here. These licensed modules are the
ones that are on the same key used by Data Sync.
ProNest Server
This is the version number of the ProNest Server data server. Also shown is the host, IP address, and port of the
machine that has ProNest Server installed.
Instance
Server name (Machine Name\Instance) to which ProNest Server is connected.
Typical instance for a local database:
(local)\PRONEST
MachineName\PRONEST
Database
Name of the ProNest production database that Data Sync is connected to.
- 23 -
Data Sync 2023 Manual
ABOUT TASKS
There are two types of tasks in Data Sync: import tasks and export tasks.
Import tasks are established procedures for importing data from a given data source into ProNest. Typically one
task correlates to a single data source and target. For instance, if you want to import a CSV file containing a list of
inventory plates (the source) into the ProNest Plate Inventory (the target), you would set up a task for that. If you
have multiple data source types, you would need to create a new task for each type of source.
Export tasks are procedures for sending nest data from ProNest back to the ERP/MRP system. Typically export data
includes plate inventory used or created and/or work order parts nested.
Tasks are saved as XML files in the following directory:
C:\ProgramData\Hypertherm CAM\Data Sync\Tasks
- 24 -
Data Sync 2023 Manual
IMPORT TASKS
Import tasks are established procedures for importing data from a given data source into ProNest. Typically one
task correlates to a single data source and target. For instance, if you want to import a CSV file containing a list of
inventory plates (the source) into the ProNest Plate Inventory (the target), you would set up a task for that. If you
have multiple data source types, you would need to create a new task for each type of source.
Remnants are only passed from ERP/MRP to ProNest in order to update existing remnants with ERP tracking num-
bers, not to import new remnants into inventory.
Work orders
Work order information in a batch typically includes the latest list of work orders.
Recommended Work Order fields:
l WorkOrderNumber
l PartName
l QtyRequired
l CADFileName (only if not using the Part Library to store part geometry)
- 25 -
Data Sync 2023 Manual
l DateRequired
l MaterialAlias (formerly MaterialDescription)
The other fields can be used as reference to help sort and track the work order items.
- 26 -
Data Sync 2023 Manual
l Any plates that are in the batch but aren't yet listed in the ProNest database will be added as new plates.
l If an existing plate is in the current batch, it will be updated with the latest information from the batch file.
This includes all plate properties such as length, width, material, heat number, and so on.
l If an import batch contains both the ProNest PlateID and the ErpPlateNumber, an existing plate's
ErpPlateNumber can be updated.
l By enabling the Only update quantity if new value is smaller option, stock quantity in the ProNest Plate
Inventory will be updated only if the new value in the source data is less than the existing value.
- 27 -
Data Sync 2023 Manual
Source type
Set the format of the ERP source data.
Choices: CSV (Comma Separated Values), XLS, XLSX, XML and ADO
The source type you select will determine what is visible in the File name (or mask) browser.
Example
If you wanted to use all CSV files in a given folder for a task, you could enter a file mask:
C:\Documents\*.csv
All source files with the CSV extension in that folder would be processed for that Data Sync task.
Target
Set the target ProNest database that your ERP data should be imported into. If you are importing work orders with
this task, select "Work Orders"; if you are importing plates, select "Plate Inventory".
Auto-close items
- 28 -
Data Sync 2023 Manual
This option is available when "Work Orders" is selected as the target. When enabled, existing work order items
in the Work Orders database that are not listed in the current batch will be set to "Closed" status. The only
exception to this is work order items that were edited manually in the Work Orders editor.
When cleared, "Active" work orders not listed in the current batch will remain "Active" when the batch is impor-
ted.
Refer to Import tasks for more information on how updates are made.
Trigger
Set the frequency with which the task should be executed. The Hypertherm CAM Data Sync Service will run the
task at the specified interval.
- 29 -
Data Sync 2023 Manual
Raw data
This grid displays the information found in the data source file, providing an easy way of previewing the inform-
ation in the source.
Refreshing raw data is useful if the source data has changed and you want to view those changes in Data Sync.
- 30 -
Data Sync 2023 Manual
If you are using a file mask (on the General tab) to point to data source files, you will still need to select a spe-
cific file here so that your task can be formatted properly.
Comma
This should match the delimiter or separator used in the CSV data source file. Choices include:
Comma (,)
Semicolon (;)
TAB
SPACE
Quote
Indicate whether single or double quotation marks are used in the CSV file data fields. This helps Data Sync
identify quotation marks so that they're not used improperly in code later on.
Headers
First row contains headers
When selected, the column headers found in the file will automatically be available in the Data Mapping table.
When cleared, Data Sync will process data without bringing in any column header information.
It is assumed that the column header row will begin directly after the "Skip first rows" selection.
Example 1
- 31 -
Data Sync 2023 Manual
In a CSV file, rows 1 - 3 are blank, there are column headers in row 4 and data records beginning in row 5.
You would set Skip first rows to "3" and select First row contains column headers.
Example 2
In a CSV file, there are no column headers and data records begin in row 1.
You would set Skip first rows to "0" and clear the First row contains column headers.
Encoding
If necessary, select the character encoding used by the data source. By default this is set to "ctWinDefined", which
will use the Windows default encoding on your PC (this is recommended in most cases).
Regional Formatting
Localized formatting options can be set, read Data Source - Regional Formatting for CSV for more information.
- 32 -
Data Sync 2023 Manual
Format Options
Numbers
Decimal symbol
Enter the separator used to denote decimals in floating point numbers.
Thousand separator
Enter the separator used to denote groups of thousands in numbers.
Boolean
Enter the characters that are used to indicate True or False. Multiple entries can be separated by a comma with no
space in between.
By default, boolean true/false switches are as follows:
True: true,t,yes,y,1
False: false,f,no,n,0
DateTime
Date separator
The separator used between day, month, and year.
Time separator
The separator used between hours, minutes, and seconds.
- 33 -
Data Sync 2023 Manual
Date format
Select a format from the list or type in a custom format.
Time format
Select a format from the list or type in a custom format.
- 34 -
Data Sync 2023 Manual
If you are using a file mask (on the General tab) to point to data source files, you will still need to select a spe-
cific file here so that your task can be formatted properly.
Headers
First row contains headers
When selected, the column headers found in the file will automatically be available in the Data Mapping table.
When cleared, Data Sync will process data without bringing in any column header information.
It is assumed that the column header row will begin directly after the "Skip first rows" selection.
Example 1
In an XLS table, rows 1 - 3 are blank, there are column headers in row 4 and data records beginning in row 5.
You would set Skip first rows to "3" and select the First row contains column headers checkbox.
Example 2
In an XLS table, there are no column headers and data records begin in row 1.
You would set Skip first rows to "0" and clear the First row contains column headers checkbox.
- 35 -
Data Sync 2023 Manual
Connection String
Click the Browse button ( ) to open the Microsoft Data Link Properties dialog and configure the database con-
nection.
You can click F1 while this dialog is open to view help topics for getting connected.
Table
Once connection parameters have been entered, select the table that you want import data from.
- 36 -
Data Sync 2023 Manual
If you are using a file mask (on the General tab) to point to data source files, you will still need to select a spe-
cific file here so that your task can be formatted properly.
XPATH
Required. Use XPath to select elements or attributes in the XML file. If an XSLT file is used, the XPath would be
applied to the XSLT result.
Suppose the source XML file contains the following plate information:
<?xml version="1.0" encoding="UTF-8"?>
<plates>
<plate>
<erpplateid>12345678</erpplateid>
<length>48</length>
<width>72</width>
<material>A36</material>
<thickness>0.25</thickness>
<heatnumber>H727622R1.0</heatnumber>
</plate>
<plate>
<erpplateid>98765432</erpplateid>
- 37 -
Data Sync 2023 Manual
<length>48</length>
<width>96</width>
<material>A36</material>
<thickness>0.25</thickness>
<heatnumber>H727622R1.0</heatnumber>
</plate>
</plates>
The XML tags are organized such that the root <plates> node corresponds top to the table name (e.g Plate
Inventory) and the child <plate> node corresponds to a single record in that table. Every child element under the
<plate> node is a plate property.
You could then enter an XPath statement as follows:
/plates/plate
- 38 -
Data Sync 2023 Manual
String
Text or combinations of text and numbers
Integer
Whole numbers
Float
Single precision floating-point values
DateTime
Use for dates and times. For CSV files, date and time are configurable from the Regional Formatting dialog.
Boolean
True/false (1/0) values. For CSV files, true/false switches are configurable from the Regional Formatting dialog.
Size
The maximum character size of a String data field. By default this is set to 128.
- 39 -
Data Sync 2023 Manual
Integer). Errors are also displayed in the Errors pane in the upper right. It is recommended that you correct any
errors with the Data Sync client (or in the source data, if applicable) before running a task.
If you have Options - Email (SMTP) set up, error notification emails will be sent to the email addresses entered on
the Email Options tab.
Reference Information
ProNest Plate Inventory - Data Format
Max
Field name Data type Notes
size
ErpPlateNumber string 128
(formerly Mater-
ialDescription)
Material string 40
Grade string 40
Thickness float
MaterialID integer
Quantity integer
Weight float
1= Circular
2 = Remnant
3 = Skeleton
Length float
Width float
UnitPrice float
1 = mm
CreateDate datetime2
- 40 -
Data Sync 2023 Manual
Max
Field name Data type Notes
size
(7)
HeatNumber string 30
Location string 60
ReorderLimit integer
ReorderQty integer
Rotation float
Misc1 string 60
Misc2 string 60
Misc3 string 60
QtyRequired integer
(formerly MaterialDescription)
DateRequired datetime2(7)
Revision string 20
- 41 -
Data Sync 2023 Manual
CustomerAlias string 60
(formerly CustomerReference)
- 42 -
Data Sync 2023 Manual
1. On the column header that you want to use for filtering, click the down arrow ( ).
A drop down box will appear. Each value found in that column will be listed with its own box.
2. Select the boxes for the values that you want to show. Values that are not selected will be hidden in the grid.
1. On the column header that you want to use for filtering, click the down arrow ( ).
2. From the drop down list, select (Custom...).
The Custom Filter dialog will open.
3. Enter conditions for the selected category.
4. Click OK.
You can apply a column filter to as many different columns as you want. Data Sync will then filter the entire
grid based on the column filters that are applied.
Modify a filter
1. On the column header that is being used for filtering, click the down arrow ( ).
2. If you are using checkboxes for filtering, you can check or remove the selection from values in the list.
3. If you want to modify the Custom Filter, select (Custom...) from the list and adjust the Custom Filter as
needed.
- 43 -
Data Sync 2023 Manual
Delete a filter
l Click the Close button ( ) on the gray band at the bottom of the grid.
or
l Right-click inside the grid and remove the Filter selection.
- 44 -
Data Sync 2023 Manual
Available columns
Columns
ERP fields are listed on the Columns tab. Click and drag an ERP column over to the Mapping grid to assign it to a
ProNest field.
Column names must be surrounded by percent signs (%) in the Mapping grid.
Columns that aren't mapped to available ProNest fields will not be included during data import.
Variables
- 45 -
Data Sync 2023 Manual
You can also drag variables onto the Mapping grid. The variables only serve as a placeholder. During data import,
actual data will be included for that field.
Choices: Import File Name, TodaysDate
Functions
Functions can be used to build expressions in the Mapping grid.
Commonly used functions include:
l Trunc : Integer
Removes the fractional part of the number. For instance, "7.9" becomes "7".
l Round : Integer
Rounds a number to the nearest whole number. For instance, "7.9" becomes "8", while "7.2" becomes "7".
l Int : Integer
Rounds a number down to the nearest whole number. For instance, "7.9" becomes "7", and "7.2" becomes
"7".
Int and Trunc are different only when using negative numbers: =TRUNC(-4.3) returns -4, but =INT(-4.3)
returns -5 because -5 is the lower number.
Let's suppose that an ERP/MRP field called "QuantityRequired" is a floating point value, but you need to convert
that to an integer for ProNest.
You could use the Mathematical function to do this:
Quantity =Round()
Quantity =Round(%QuantityRequired%)
When QuantityRequired is imported into ProNest, it will be expressed correctly as a rounded integer in the data-
base.
- 46 -
Data Sync 2023 Manual
Suppose your source ERP/MRP data for plate length and width is in millimeters. You can divide by 25.4 to convert
this to inches.
PlateLength =Length/25.4
Recommended fields
Recommended Work Order fields:
l WorkOrderNumber
l PartName
l QtyRequired
l CADFileName (only if not using the Part Library to store part geometry)
l DateRequired
l MaterialDescription (maps to a "full material" using material alias)
The other fields can be used as reference to help sort and track the work order items.
Recommended Plate Inventory fields:
For plates, you can use MaterialDescription to attempt to match a single material record (e.g. "MS 0.25 in. A36")
using full material alias, or you can try mapping Material, Thickness, and (optionally) Grade to make a match. See
Setting up Data Sync for more information on setting up material.
For plate inventory import tasks, PlateUnits can be used to specify the measurement units of the source data,
where 0 = imperial and 1 = metric (if this data is missing, inch is assumed by default). For more information, see
Metric data import.
- 47 -
Data Sync 2023 Manual
- 48 -
Data Sync 2023 Manual
Measurement units
Data is stored in the ProNest database in the following imperial units:
plate inventory
If source data for these columns is in metric, it will need to be converted, even if your PC uses a Metric meas-
urement system.
Note that there are a few different ways of handling Material Thickness, some of which don't require a conversion
in Data Sync.
Regional settings
Most types of source data, such as XLS, XLSX, ADO, XML, don't require any regional set up on the Data Source tab.
However, CSV source data does because CSV files do not contain formatting information.
For instance, if your region uses comma as a decimal separator and you have a CSV file that is delimited with a
semi-colon, on the Data Source tab, you would set the delimiter (called "Comma") to semi-colon (;) and the
Regional Formatting > Decimal Symbol to comma (,).
- 49 -
Data Sync 2023 Manual
Plate Inventory
Method 1: Entering mathematical conversions in data mapping fields
For plate inventory import tasks, you can convert the values using formulas. For instance, if your lengths are in mil-
limeters, you can divide by 25.4 to convert to inches.
Suppose your source data contained columns called Length and Width, with values in millimeters. You might enter
this in the Data Mapping tab as follows:
- 50 -
Data Sync 2023 Manual
For material thickness, if you are individually mapping to Material and Thickness, the thickness will be inter-
preted as though it is in inches. So, if you have source thickness in millimeters, be sure to divide by 25.4 (for
example, Thickness=%Thickness%/25.4). If you are mapping to MaterialDescription (using Alias), you can just
map the full material later on in the Materials editor.
Method 2: Using PlateUnits column in source import data
For plate inventory import tasks, PlateUnits can be used to specify the measurement units of the source data,
where 0 = imperial and 1 = metric. If possible, you can include a Units column and then leave all of your metric
data as is. This option is typically only used when all source data is in metric.
- 51 -
Data Sync 2023 Manual
Then, map your column header that contains your units to the PlateUnits ProNest column.
- 52 -
Data Sync 2023 Manual
During import, Data Sync will automatically covert any metric values to inches, square inches, or pounds when
adding the plates to the database.
For material thickness, if you are individually mapping to Material and Thickness, the thickness will be inter-
preted as though it is in millimeters. If you are mapping to MaterialDescription (using Alias), you can just map
the full material later on in the Materials editor. See Setting up Data Sync for more info on setting up material map-
pings.
Work Orders
For work orders, simply leave the metric source data as is. Then map the materials to full materials in the ProNest
material alias table (Data > Materials > File > Aliases).
- 53 -
Data Sync 2023 Manual
l Total Area
l Length
l Width
Upon import, ProNest will automatically calculate the quantity a long as those fields are present.
Example
In the ERP source file, lets say that a given record contains the following info:
Total Area = 13,824 in.2
Length = 96 in.
Width = 48 in.
ProNest would calculate the area of a single plate (96 × 48 = 4,608 in.2), then divide the Total Area by the area of
a single plate to get the quantity (13,824 in.2/ 4,608 in.2= 3).
The Stock Quantity would automatically be set to "3" when the plate is imported.
l Total Weight
l Length
l Width
l Material and Thickness or Material ID or Material Description
A material and thickness must be able to be matched in the ProNest Material Database. The matched material
record must have an accurate Density value.
Example
- 54 -
Data Sync 2023 Manual
In the ERP source file, lets say that a given record contains the following info:
Total Weight = 967.68 lbs.
Length = 96 in.
Width = 48 in.
Material = MS
Thickness = 0.25 in.
Assume that in the ProNest Material Database, MS 0.25 has a density of 0.28 lb/in.3 Because the density, thick-
ness, and area (length × width) are known, ProNest can calculate a single plate's weight (based on its volume).
First, the volume of a single plate is calculated based on area × thickness (4,608 in.2 × 0.25 in.= 1,152 in.3). The
weight of a single plate is then figured based on density × volume (0.28 lb/in.3 × 1,152 in.3 = 322.56 lbs.).
ProNest then divides the Total Weight by the weight of a single plate to get the quantity (967.68 lbs. / 322.56 lbs.
= 3).
The Stock Quantity would automatically be set to "3" when the plate is imported.
- 55 -
Data Sync 2023 Manual
EXPORT TASKS
Once your work orders or inventory plates have been added to jobs, nested, and output, you may need to report
data back to your ERP/MRP system. There are several methods of hooking up round trip communication between
your ERP/MRP software and ProNest. The easiest and most flexible way of doing this is to set up export tasks.
How it works
When a Data Sync export task is run, a SQL query is executed on the ProNest History database and the results are
written to one or more files in CSV, XLS, XLSX, or XML format. These files would then be read in by your ERP/MRP
system.
A Data Sync export task can contain one or more files, each containing their own unique set of information. For
instance, you may want to set up a single export task that creates two separate files - one for work orders nested
and another for inventory plates used and/or created. When the task is executed, both files would be created and
returned to the ERP/MRP system.
Requirements
l The ProNest History database must be activated in ProNest. See Using the ProNest History database for
more information.
l File format required by the ERP/MRP system must be known.
l Nest Cut event enabled in Data Sync Options.
- 56 -
Data Sync 2023 Manual
- 57 -
Data Sync 2023 Manual
Event
A ProNest event must be selected for all Data Sync export tasks. The list of available events comes from the
events selected in the Options dialog.
Nest Cut
When a nest's status changes to Complete in ProNest, the nest cut event occurs. Keep this selected for all export
tasks.
Files
These files will be created when the export task is executed. Use the [+] and [-] buttons to add or remove files
from the list. Once the correct number of files is specified, you can select a file type (CSV, XLS, XLSX, or XML) for
each file on the Export tab.
Trigger
Select this to run the export task at a regular time interval. When selected, the Hypertherm CAM Data Sync Ser-
vice will run the task at the specified interval. At that point, all Events (e.g. Nest Cut) that have occurred and were
recorded in the history database will be eligible to be included in export data.
A Trigger value must be set in order for Data Sync to automatically run any export task.
When cleared, the export task will only be executed when you manually run the task.
- 58 -
Data Sync 2023 Manual
File
If there is more than one file to be created by your export task, you can select an individual file in this box. Queries
are file-specific; the query in the editor always applies to selected export file.
SQL pane
Enter SQL statements in this pane.
l History tables and views contains a comprehensive list of all ProNest history data available for export.
l Sample SQL queries can help you get started writing queries for your export task.
This editor is designed for reading data, not modifying data. Statements such as SET, UPDATE, or DELETE are not
permitted.
- 59 -
Data Sync 2023 Manual
SenderID
The SenderID, in dbo.DataSyncEvents, is a number automatically assigned when a nest is cut, which is recorded in
the database by ProNest. This number increments with each copy of a nest that is cut. A field called NestCutID,
found in the dbo.NestCuts table, is equal to the SenderID. These numbers are both stored in production database
tables, but can be used to link to history records using history.Nests.TrackedNestID.
The %SenderID% is a variable that can be used in place of a value. Simply drag and drop %SenderID% to insert it
into the query.
The Example SenderID for testing box at the bottom of the screen lets you preview data in the Results table.
Enter a known SenderID to see the results.
Results
A tabular view of the data that will be included in the export file. You can click Refresh to update the results in the
grid.
- 60 -
Data Sync 2023 Manual
Available data sets are listed on the right side. For a detailed description of this data, see History database tables
and views .
1. In the pane on the right, double-click or click and drag to add tables in Model tab.
2. Select columns to include.
- 61 -
Data Sync 2023 Manual
In most cases, the best field to use for joining two tables is NestID.
When finished, click the checkmark ( ) to return to the Data Sync Query tab.
The SQL query in the Query Builder will overwrite any pre-existing query in the SQL pane.
- 62 -
Data Sync 2023 Manual
The lines beginning with two dashes (--) are commented out, meaning that they won't be executed.
Basic samples
These sample queries show some different ways of querying the ProNest database. These return a subset of data
from a given view or combination of views.
- 63 -
Data Sync 2023 Manual
Parts cut
Copy and paste the following query into the query editor for part level data.
SELECT
/* List of Parts cut in Nest */
/* ProNest.history.UniqueNestParts U */
u.NestID
,u.JobPartID
,u.JobID
- 64 -
Data Sync 2023 Manual
,u.JobName as u_JobName
,u.PartName as Partname
,u.QtyNested as u_QtyNested
,u.QtyRequired
,u.WorkOrderItemID
,u.WorkOrderNumber as u_WorkOrderNumber
,u.CNCFile as u_CNCFile
,u.PlateInvID
,u.NestedExteriorProfileArea
,u.PlateArea
,u.AllocatedArea
/* ProNest.history.PlatesUsed pu*/
,pu.JobID
,pu.JobName
,pu.NestID
,pu.PlateInvID
,pu.TimesCut as pu_CutNumTimes
,pu.StackQuantity as pu_StackQty
,pu.Material as pu_Material
,pu.PlateType
/* Inch */
,round(pu.Thickness,2) as pu_Plate_Thickness
,round(pu.PlateLength,2) as pu_Plate_Length
,round(pu.PlateWidth,2) as pu_Plate_Width
/* Metric */
,round(pu.Thickness*25.4,2) as Plate_Thickness_mm
,round(pu.PlateLength*25.4,2) as Plate_Length_mm
,round(pu.PlateWidth*25.4,2) as Plate_Width_mm
,pu.PlateName as pu_PlateName
,pu.PlateWeight as pu_PlateWeight
- 65 -
Data Sync 2023 Manual
,pu.UnitPrice as pu_UnitPrice
,pu.CNCFile as pu_CNCFile
,pu.ERPPlateNumber as pu_ERPPlateNumber
,pu.HeatNumber as pu_HeatNumber
/* ProNest.history.PlatesCreated pc */
,pc.JobID
,pc.JobName
,pc.NestID
,pc.InventoryPlateID
,pc.MaterialID
,pc.MaterialName as pc_MaterialName
,pc.PlateUnits
,pc.PlateType
/* Inch */
,round(pc.thickness,2) as pc_Rem_Thickness
,round(pc.Width,2) as pc_Rem_Width
,round(pc.length,2) as pc_Rem_Length
/* Metric */
,round(pc.thickness*25.4,2) as pc_Rem_Thickness_mm
,round(pc.Width*25.4,2) as pc_Rem_Width_mm
,round(pc.length*25.4,2) as pc_Rem_Length_mm
,pc.QuantityInStock
,pc.QuantityAllocated
,pc.Name
,pc.Location
,pc.StockNumber as pc_StockNumber
,round(pc.Area,2) as pc_Rem_Area
,round(pc.Weight,2) as pc_Rem_Weight
,pc.Rotation
,pc.CreateDate as pc_CreateDate
- 66 -
Data Sync 2023 Manual
,pc.FileType
,pc.Filename
,pc.ReorderLimit
,pc.ReorderQty
,pc.Supplier
,pc.HeatNumber as pc_HeatNumber
,pc.UnitPrice
,pc.CreatedByJob
,pc.MaterialAlias
,pc.ERPPlateNumber
,pc.TotalValue
,round(pc.TotalWeight,2) as pc_Rem_TotalWeight
,pc.ParentID
,pc.RootID
,pc.CNCFile
/* ProNest.dbo.VIEW_InventoryPlates */
,p.InventoryPlateID
,p.MaterialID
,p.ParentId
,p.stocknumber
,p.Name
,p.Location
,p.PlateType
,p.FileType
,p.FileName
,p.Length
,p.Width
,p.Area
,p.PlateUnits
,p.Rotation
- 67 -
Data Sync 2023 Manual
,p.Weight
,p.CreateDate
,p.ReorderLimit
,p.ReorderQty
,p.Supplier
,p.HeatNumber as p_HeatNumber
,p.UnitPrice
,p.MaterialCost
,p.CreatedByJob
,p.MaterialAlias
,p.ERPPlateNumber
,p.RootId
,p.QuantityReceived
,p.NestId
,p.TotalValue
,p.TotalWeight as p_TotalWeight
,p.QuantityCut
,p.QuantityAllocated
,p.QuantityInStock
,p.QuantityAvailable
,p.QuantityReserved
--dbo.WorkOrderParts
,w.WorkOrderItemID
,w.WorkOrderNumber
,w.UniqueID
,w.LibraryPartID
,w.PartNumber
,w.Revision
,w.QtyRequired as w_QtyRequired
,w.QtyAllocated as w_QtyAllocated
- 68 -
Data Sync 2023 Manual
,w.DateRequired as w_DateRequired
,w.MaterialAlias
,w.WorkCenter
,w.CustomerAlias
,w.PONumber
,w.Misc1
,w.Machine
,w.CADFileName
,w.Status
,w.MaterialID
,w.MaterialName
,w.Thickness
--ProNest.History.Jobs J
,j.JobID
,j.EngineGuid
,j.JobName
,j.FilePath
,j.Description
,j.NumNests
,j.NumParts
,j.CncCreated
,j.MachineName
--ProNest.history.JobParts JP
,jp.JobPartID
,jp.JobID
,jp.JobPartID
,jp.JobID
,jp.QuantityRequired as jp_QuantityRequired
,jp.QuantityNested
,jp.PartName
- 69 -
Data Sync 2023 Manual
,jp.PartLength
,jp.ProductionCost
,jp.MaterialCost
,jp.ProductionTime
,jp.AllocProdTime
,round(jp.AllocProdCost,2) as jp_AllocProdCost
,round(jp.AllocMatlCost,2) as jp_AllocMatlCost
,jp.AllocatedRectangularCost
,jp.AllocatedScrapCost
,jp.PartClass
,jp.ExteriorProfileArea
,jp.WorkOrderItemID
,jp.Revision
,jp.DueDate as jp_DueDate
/* ProNest.history.Nests n */
,n.NestID
,n.TimesCut
,n.CNCFile
,n.PlateInvID
,n.Material
,n.Thickness
,n.UnitPrice
,n.PlateLength
,n.PlateWidth
,n.PlateType
,n.PlateName
,n.StackQuantity
,n.NumberOfParts as n_NumParts
,n.MaxTorches
,n.NumberOfRemnantsCreated
- 70 -
Data Sync 2023 Manual
,n.NumberOfSkeletonsCreated
,n.CutUpUsed
,n.PartArea
,n.PlateWeight
,n.TotalPartWeight
,n.ProdTime
,n.FeedTime
,n.RapidTime
,n.ScribeTime
,n.PunchTime
,n.TorchActivationTime
,n.ScribeActivationTime
,n.LoadUnloadTime
,n.TrackedNestID as n_TrackedNestID
,n.PlateArea
,n.JobID
,n.DateModified
,n.ModifiedBy
--ProNest.dbo.NestCuts NC
,nc.NestCutId
,nc.Status
,nc.DateBeginUtc
,nc.DateEndUtc
,nc.NestId
,nc.DateModified
,nc.PhysicalMachineId
,nc.ActualTime
--ProNest.dbo.NestCutOperators O
,o.NestCutId
,o.OperatorID
- 71 -
Data Sync 2023 Manual
,o.DateModified
,o.ModifiedBy
,o.Actualtime
,o.Online
FROM ProNest.History.Nests N
INNER JOIN ProNest.history.UniqueNestParts U ON (n.NestID=U.NestID)
INNER JOIN ProNest.history.JobParts JP ON (U.JobPartID=JP.JobPartID)
INNER JOIN ProNest.history.PlatesUsed PU ON (N.NestID=PU.NestID)
LEFT JOIN ProNest.History.PlatesCreated PC ON (N.NestID=PC.NestID)
LEFT JOIN ProNest.dbo.VIEW_InventoryPlates P ON (PU.PlateInvID=p.InventoryPlateID)
LEFT JOIN ProNest.History.WorkOrderParts W ON (U.WorkOrderItemID=W.WorkOrderItemID)
LEFT JOIN ProNest.History.Jobs J ON (N.JobID=j.JobID)
LEFT JOIN ProNest.dbo.NestCuts NC ON (N.TrackedNestID=NC.NestID)
LEFT JOIN ProNest.dbo.NestCutOperators O ON (NC.NestCutID=O.NestCutID)
Where NC.NestCutID = %SenderID%
Plate inventory
Copy and paste the following query into the query editor for plate level data.
SELECT
/* Inventory - one Inventory record per nest */
/* ProNest.history.PlatesUsed pu*/
pu.JobID,
pu.JobName,
pu.NestID,
pu.PlateInvID,
pu.TimesCut as pu_CutNumTimes,
pu.StackQuantity as pu_StackQty,
pu.Material as pu_Material,
pu.PlateType,
/* Inch */
- 72 -
Data Sync 2023 Manual
round(pu.Thickness,2) as pu_Plate_Thickness,
round(pu.PlateLength,2) as pu_Plate_Length,
round(pu.PlateWidth,2) as pu_Plate_Width,
/* Metric */
round(pu.Thickness*25.4,2) as Plate_Thickness_mm,
round(pu.PlateLength*25.4,2) as Plate_Length_mm,
round(pu.PlateWidth*25.4,2) as Plate_Width_mm,
pu.PlateName as pu_PlateName,
pu.PlateWeight as pu_PlateWeight,
pu.UnitPrice as pu_UnitPrice,
pu.CNCFile as pu_CNCFile,
pu.ERPPlateNumber as pu_ERPPlateNumber,
pu.HeatNumber as pu_HeatNumber,
/* ProNest.history.PlatesCreated pc */
pc.JobID,
pc.JobName,
pc.NestID,
pc.InventoryPlateID,
pc.MaterialID,
pc.MaterialName as pc_MaterialName,
pc.PlateUnits,
pc.PlateType,
/* Inch */
round(pc.thickness,2) as pc_Rem_Thickness,
round(pc.Width,2) as pc_Rem_Width,
round(pc.length,2) as pc_Rem_Length,
/* Metric */
round(pc.thickness*25.4,2) as pc_Rem_Thickness_mm,
round(pc.Width*25.4,2) as pc_Rem_Width_mm,
round(pc.length*25.4,2) as pc_Rem_Length_mm,
- 73 -
Data Sync 2023 Manual
pc.QuantityInStock,
pc.QuantityAllocated,
pc.Name,
pc.Location,
pc.StockNumber as pc_StockNumber,
round(pc.Area,2) as pc_Rem_Area,
round(pc.Weight,2) as pc_Rem_Weight,
pc.Rotation,
pc.CreateDate as pc_CreateDate,
pc.FileType,
pc.Filename,
pc.ReorderLimit,
pc.ReorderQty,
pc.Supplier,
pc.HeatNumber as pc_HeatNumber,
pc.UnitPrice,
pc.MaterialCost,
pc.Misc1,
pc.Misc2,
pc.Misc3,
pc.CreatedByJob,
pc.MaterialAlias,
pc.ERPPlateNumber,
pc.TotalValue,
round(pc.TotalWeight,2) as pc_Rem_TotalWeight,
pc.ParentID,
pc.RootID,
pc.CNCFile,
/* ProNest.dbo.VIEW_InventoryPlates */
p.InventoryPlateID,
- 74 -
Data Sync 2023 Manual
p.MaterialID,
p.ParentId,
p.stocknumber,
p.Name,
p.location,
p.PlateType,
p.FileType,
p.filename,
p.Length,
p.Width,
p.Area,
p.PlateUnits,
p.Rotation,
p.Weight,
p.CreateDate,
p.ReorderLimit,
p.ReorderQty,
p.Supplier,
p.HeatNumber as p_HeatNumber,
p.UnitPrice,
p.MaterialCost,
p.Misc1,
p.Misc2,
p.Misc3,
p.CreatedByJob,
p.MaterialAlias,
p.ERPPlateNumber,
p.RootId,
p.QuantityReceived,
p.NestId,
- 75 -
Data Sync 2023 Manual
p.EngineGuid,
p.DateModified,
p.ModifiedBy,
p.TotalValue,
p.TotalWeight as p_TotalWeight,
p.QuantityCut,
p.QuantityAllocated,
p.QuantityInStock,
p.QuantityAvailable,
p.QuantityReserved,
/* ProNest.history.Nests n */
n.NestID,
n.TimesCut,
n.CNCFile,
n.PlateInvID,
n.Material,
n.Thickness,
n.UnitPrice,
n.PlateLength,
n.PlateWidth,
n.PlateType,
n.PlateName,
n.StackQuantity,
n.NumberOfParts as n_NumParts,
n.MaxTorches,
n.NumberOfRemnantsCreated,
n.NumberOfSkeletonsCreated,
n.CutUpUsed,
n.PartArea,
n.PlateWeight,
- 76 -
Data Sync 2023 Manual
n.TotalPartWeight,
n.RegionMinX,
n.RegionMinY,
n.RegionMaxX,
n.RegionMaxY,
n.LengthUsed,
n.WidthUsed,
n.TrueUtil,
n.CropUtil,
n.PlateUsedUtil,
n.RectUtil,
n.CutProcesses,
n.ScribeProcesses,
n.PunchProcesses,
n.Feedrate,
n.Kerf,
n.InitCurrent,
n.InitVoltage,
n.C1Current,
n.C2Current,
n.C3Current,
n.C1Voltage,
n.C2Voltage,
n.C3Voltage,
n.TotalCutLength,
n.TotalScribeLength,
n.NumPierces,
n.NumScribes,
n.NumPunches,
n.NumKL,
- 77 -
Data Sync 2023 Manual
n.NumKR,
n.NumKOff,
n.MaterialCost,
n.ScrapValue,
n.ProdCost,
n.FeedCost,
n.TorchIgnitCost,
n.MachineCost,
n.LaborCost,
n.LoadUnloadCost,
n.ProdTime,
n.FeedTime,
n.RapidTime,
n.ScribeTime,
n.PunchTime,
n.TorchActivationTime,
n.ScribeActivationTime,
n.LoadUnloadTime,
n.TrackedNestID as n_TrackedNestID,
n.plateArea,
n.JobID,
n.DateModified,
n.ModifiedBy
FROM ProNest.history.PlatesUsed pu
LEFT JOIN ProNest.history.PlatesCreated pc on pu.NestID = pc.NestID
LEFT JOIN ProNest.dbo.VIEW_InventoryPlates p on pu.PlateInvID=p.InventoryPlateID
LEFT JOIN ProNest.history.Nests n on pu.NestID=n.NestID
INNER JOIN ProNest.dbo.NestCuts nc on nc.NestId=n.TrackedNestID
Where nc.NestCutId = %SenderID%
- 78 -
Data Sync 2023 Manual
Operators
Copy and paste the following query into the query editor for operator data. This may be useful for Production
Kiosk.
SELECT
/* List of Operators on Nest */
/*ProNest.dbo.NestCutOperators NCO */
nco.NestCutId,
nco.OperatorId,
nco.ActualTime as OperatorTime,
/*ProNest.dbo.ProNestUser PNU */
pnu.UserName,
pnu.DisplayName,
/*ProNest.History.Nests n*/
n.CNCFile,
/* ProNest.History.Jobs J */
--j.JobID,
j.JobName,
j.NumParts,
j.MachineName,
/*ProNest.dbo.NestCuts NC */
nc.NestCutId,
nc.DateBeginUtc,
nc.DateEndUtc,
nc.ActualTime as ActualMachineTime,
/*ProNest.dbo.PhysicalMachines PM */
pm.PhysicalMachineId,
pm.Name
FROM ProNest.History.Nests n
LEFT JOIN ProNest.History.Jobs j ON (N.JobID=J.JobID)
LEFT JOIN ProNest.dbo.NestCuts nc ON (N.TrackedNestID=NC.NestID)
- 79 -
Data Sync 2023 Manual
The entire list of available columns in the "PlatesCreated" view, with their data type, will be displayed. Substitute
any other view name for "PlatesCreated" in the statement above to see the schema for a different view.
- 80 -
Data Sync 2023 Manual
File type
Select a file type for the selected file.
Choices: CSV, XLS, XLSX, XML
Encoding
Character encoding for CSV files. This should match the encoding needed by your ERP/MRP software.
Choices: ANSI, Unicode, Unicode big endian, UTF-8
Folder
Pick a folder in which to save the selected export file.
File name
Enter a name for the selected export file.
%SenderID% The SenderID is a unique number automatically assigned when a nest is cut. This number incre-
ments with each copy of a nest that is cut. We recommend that you use %SenderID% in the file name, so that
the file name is unique for each "nest cut".
%OutputFileName% Name of the NC output file associated with that nest.
%Date% Date the export file was created. The Date format box in this section applies only to file naming.
Example:
Suppose you have a nest that is cut three times with an output file name of N1500.txt. The SenderIDs recorded
internally by ProNest for each copy of this nest are 1611, 1612, and 1613.
Let's say the export task File name scheme is as follows:
- 81 -
Data Sync 2023 Manual
MyExports_%OutputFileName%_%SenderID%.xlsx
When the export task is run for each "nest cut" of this nest, three files will be created:
MyExports_N1500_1611.xlsx
MyExports_N1500_1612.xlsx
MyExports_N1500_1613.xlsx
Comma
Delimiter or separator character used for CSV files.
Quote
Select single (') or double quotes (") for CSV data. You can also turn this off by leaving the box blank. This will be
used to surround values that contain reserved characters, such as a comma. For example, if the CSV delimiter is
set to comma (,) and quote is set to double quotes ("), the value F003, A2 would appear in the CSV file as "F003,
A2".
- 82 -
Data Sync 2023 Manual
- 83 -
Data Sync 2023 Manual
It is recommended that you save job history data if you are using Data Sync and need ProNest production
data related to work orders or inventory plates. Be sure to activate the preference to save history data before
doing any work in ProNest, as archival job data is only recorded when this preference is enabled.
- 84 -
Data Sync 2023 Manual
With this preference enabled, historical job and nest information will be stored in the ProNest database each time
you create output for a job.
l history.JobParts
l history.Jobs
l history.MultiTorchIdenticalParts
l history.NestParts
l history.Nests
l history.PlateInvCreated
l history.PlatesCreated
l history.PlatesUsed
l history.UniqueNestParts
l history.WorkOrderParts
- 85 -
Data Sync 2023 Manual
ProNest will save an image file (.png) of each nest for job history after creating CNC output. The image file will be
named according to the NestID for a given nest (in the history tables) and will be saved to the History Nest Image
folder specified on the Miscellaneous tab of your ProNest preferences.
- 86 -
Data Sync 2023 Manual
History tables
history.JobParts
This table lists all parts and part data by job
JobID ID of the job in which the part is nested FK, int, not null
InitialRotation Initial rotation angle (used for nesting) degrees real, not null
Rotation Also called “Grain Restraint” within ProNest. An angle of 360 degrees real, not null
will prevent rotation by any angle except the initial ori-
entation.
Priority Part’s priority value. A priority value of 99 is reserved for filler int, not null
parts.
1 = always mirrored
2 = either
- 87 -
Data Sync 2023 Manual
AssemblyID ID number of the assembly that the part belongs to (if any) int, not null
PartLength Part Length along the X axis, including leads inches real, not null
PartWidth Part Width along the Y axis, including leads inches real, not null
TrueArea Surface area of the part, excluding any cut-outs or holes square real, not null
inches
TrueWeight Mass of the part, calculating using True Area pounds real, not null
RectWeight Rectangular Weight. Mass of the part, calculating using Rect- pounds real, not null
angular Area
RectMatlCost Rectangular Material Cost, calculated using Rectangular monetary money, not null
Weight units
ProductionCost Production Cost, calculated using True Area monetary money, not null
units
MaterialCost Material Cost, calculated using True Area monetary money, not null
units
AllocProdTime Allocated production time apportions the time to process minutes real, not null
one or more nests proportionally to the individual part,
including traverses, crop cuts, skeleton cuts, etc.
AllocProdCost Allocated production cost apportions the cost to process monetary money, not null
one or more nests proportionally to the individual part, units
including traverses, plate loading, etc.
AllocMatlCost Allocated Material Cost, calculated using the Exterior Profile monetary money, not null
- 88 -
Data Sync 2023 Manual
AllocatedRectangularCost Similar to Allocated Material Cost, but the Rectangular Area monetary money, not null
of the part is used (minus the rectangular area of any parts units
nested inside the larger part’s interiors)
AllocatedScrapCost A portion of the total cost of the nest scrap that is allocated monetary money, not null
to the part units
C1FeedLength Total cut length for cut process 1 inches real, not null
C2FeedLength Total cut length for cut process 2 inches real, not null
C3FeedLength Total cut length for cut process 3 inches real, not null
S1FeedLength Total scribe length for scribe process 1 inches real, not null
S2FeedLength Total scribe length for scribe process 2 inches real, not null
NumC1on Number of activations (torch on) for cut process 1 int, not null
NumC2on Number of activations (torch on) for cut process 2 int, not null
NumC3on Number of activations (torch on) for cut process 3 int, not null
NumS1on Number of activations (torch on) for scribe process 1 int, not null
NumS2on Number of activations (torch on) for scribe process 2 int, not null
NumP1on Number of activations (torch on) for punch process 1 int, not null
NumP2on Number of activations (torch on) for punch process 2 int, not null
NumP3on Number of activations (torch on) for punch process 3 int, not null
NumP4on Number of activations (torch on) for punch process 4 int, not null
NumP5on Number of activations (torch on) for punch process 5 int, not null
NumP6on Number of activations (torch on) for punch process 6 int, not null
XDimNoLeads Length of the part, not including leads inches real, not null
YDimNoLeads Width of the part, not including leads inches real, not null
ExteriorProfileArea The area contained within a part’s exterior profile, including square real, not null
cut-outs. Also called Enclosed area. inches
ProhibitFilling Prohibit nesting inside the interior profiles of the part. int, not null
WorkOrderItemID The work order item ID (if applicable) of the part int, not null
- 89 -
Data Sync 2023 Manual
DateModified Most recent time the record was modified datetime2(7), not
YYYY-MM-DD HH:MM:SS.SSSSSSS null
ModifiedBy User who most recently modified that record FK, int
history.Jobs
This table contains job-level information.
Column
Notes Data Type
Name
JobID Job ID number for history data. Job IDs are assigned chro- PK, int, not null
nologically in ascending order.
FilePath Complete path for the NIF file that corresponds to the job nvarchar(max)
DateModified Most recent time the record was modified datetime2(7), not
YYYY-MM-DD HH:MM:SS.SSSSSSS null
ModifiedBy User who most recently modified that record FK, int, null
history.MultiTorchIdenticalParts
This table contains data correctly handle multi-torch groups that contain "identical parts" that originated from dif-
ferent part files.
- 90 -
Data Sync 2023 Manual
DateModified Most recent time the record was modified datetime2(7), not null
YYYY-MM-DD HH:MM:SS.SSSSSSS
ModifiedBy User who most recently modified that record FK, int, null
history.NestParts
This table contains part-level data by nest. Each individual part is listed in its own row.
NestPartID ID of the instance of the part on the nest PK, int, not null
JobPartID Part ID used in the job int
0 = no
1 = yes
1 = yes
DateModified Most recent time the record was modified datetime2(7), not null
YYYY-MM-DD HH:MM:SS.SSSSSSS
ModifiedBy User who most recently modified that record FK, int, null
history.Nests
This table contains nest-level data
- 91 -
Data Sync 2023 Manual
JobID ID number for the job that contains the nest FK, int
CNCFile Full path of the NC output file or program for the nest nvarchar
(max)
PlateInvID If an inventory plate is used for that nest, the ID number for int
that plate is listed. (This used to be called “InventoryID” in
ProNest 8)
UnitPrice From Material Database or Plate Inventory (if nest is using an monetary money
inventory plate) units per
pound
1 = Circular
2 = Remnant
3 = Skeleton
StackQuantity Used with real-world machines that can process multiple int
plate simultaneously
0 = no
1 = yes
- 92 -
Data Sync 2023 Manual
TotalPartWeight Total weight of all parts (based on true area) pounds float
RegionMinX Length along the X axis between plate edge (closest to the inches float
part home) and closest nested part
RegionMinY Width along the Y axis between plate edge (closest to the inches float
part home) and closest nested part
RegionMaxX Length along the X axis between plate edge (closest to the inches float
part home) and furthest nested part
RegionMaxY Width along the Y axis between plate edge (closest to the inches float
part home) and furthest nested part
- 93 -
Data Sync 2023 Manual
MaterialCost The total material cost of all nested parts, based on the parts’ monetary money
True Area. Unit Price is from the Material Database or Plate units
Inventory (if nest is using an inventory plate)
ScrapValue The material scrap value of the leftover skeleton. The scrap monetary money
value rate is from the Material Database. units
ProdCost Production Cost for all parts on the nest monetary money
units
FeedCost Process Operating Cost for all parts on the nest monetary money
units
TorchIgnitCost Torch Ignition Cost, also called Activation Cost, for all parts monetary money
on the nest units
- 94 -
Data Sync 2023 Manual
RapidTime Total Rapid motion time (time spent indexing / traversing) in minutes float
minutes
ModifiedBy User who most recently modified that record FK, int, null
history.PlateInvCreated
This table contains Nest-to-Plate Inventory information.
DateModified Most recent time the record was modified datetime2(7), not null
YYYY-MM-DD HH:MM:SS.SSSSSSS
ModifiedBy User who most recently modified that record FK, int, null
- 95 -
Data Sync 2023 Manual
History views
history.PlatesCreated
Shows remnant or skeleton plates saved from nests that used inventory plates. Each remnant or skeleton plate is
listed as a separate record, with detailed plate information as well as nest, job name, and path to the file that stores
plate geometry.
NestID Nest IDs are assigned chronologically in ascending order int, not null
MaterialID int
PlateUnits For remnant or skeleton plates, the CAD units for the source CAD file con- int
taining plate geometry.
0 = inch
1 = millimeters
2 = Remnant
3 = Skeleton
Name nvarchar(40)
Location nvarchar(60)
StockNumber nvarchar(30)
- 96 -
Data Sync 2023 Manual
Rotation float
CreateDate datetime2(7)
FileType nvarchar(30)
FileName The name of the token file, which contains the geometry for rem- nvarchar(255)
nant or skeleton plates.
ReorderLimit int
ReorderQty int
Supplier nvarchar(60)
UnitPrice float
MaterialCost float
CreatedByJob ID of the job in which the remnant or skeleton plate was created. nvarchar(60)
This is the JobID from the production tables (not history)
MaterialAlias For plates that originated from a Data Sync import, this is the ori- nvarchar(128)
ginal MaterialDescription that the plate was imported with.
ParentID For remnant or skeleton plates that were created from inventory int
plates, this is the ID number of the immediate parent plate. This
can be used to track an inventory plate through it's life as it is nes-
ted on, cropped, saved, and nested on again.
RootID For remnant or skeleton plates that were created from remnant or int
skeleton inventory plates, this is the ID number of the original, eld-
- 97 -
Data Sync 2023 Manual
CNCFile Full path of the NC output file or program for the nest nvarchar(max)
history.PlatesUsed
Each inventory plate used is listed as a separate record, with detailed plate information and the job that the plate
was consumed by. ERP Plate Number is included for Data Sync plate tracking.
Data
Column Name Notes Units
Type
JobID ID of the job in which the inventory plate was used. This is int, not
the JobID from history.Jobs null
JobName nvarchar
(max)
NestID Nest IDs are assigned chronologically in ascending order int, not
null
PlateInvID int
StackQuantity smallint
2 = Remnant
3 = Skeleton
- 98 -
Data Sync 2023 Manual
Data
Column Name Notes Units
Type
PlateWeight lbs. float
CNCFile Full path of the NC output file or program for the nest nvarchar
(max)
HeatNumber nvarchar
(30)
history.UniqueNestParts
Each row represents an instance of a part or work order item on a given nest, as well as the job that the part is nes-
ted in. For example if Part A is nested on both Nest 1 and Nest 2, there will be two separate rows for Part A - one
for each nest that part appears on. This view can be used to find all nests that contain a given work order.
Data
Column Name Notes Units
Type
NestID Nest IDs are assigned chronologically in ascending order int, not
null
JobPartID int
JobID ID number for the job that contains the nest. This is the JobID int, not
from history.Jobs. null
PartName nvarchar
(255)
- 99 -
Data Sync 2023 Manual
Data
Column Name Notes Units
Type
WorkOrderNumber Work Order Name. nvarchar
(128)
CNCFile Full path of the NC output file or program for the nest con- nvarchar
taining that part (max)
PlateArea Area of the plate used by the nest. in.2 float, not
null
AllocatedArea Allocated part area. To calculate this, ProNest adds the part's in.2 float
enclosed area and allocated scrap area. Refer to ProNest Help
for more information.
history.WorkOrderParts
Each work order item is listed as a separate record, with detailed work order and part information, including Quant-
ity Allocated and status (Active, Closed, Cancelled).
UniqueID Combination of fields that creates a unique identifier for each nvarchar
Work Order record. This is configured in ProNest preferences. (128)
Revision nvarchar
(20)
- 100 -
Data Sync 2023 Manual
MaterialAlias For work orders that originated from a Data Sync import, this is nvarchar
the original MaterialDescription that the work order was imported (128)
with.
WorkCenter nvarchar
(128)
CustomerAlias nvarchar
(60)
PONumber nvarchar
(128)
Location nvarchar
(128)
Misc1 nvarchar
(128)
Misc2 nvarchar
(128)
Misc3 nvarchar
(128)
Misc4 nvarchar
(128)
Misc5 nvarchar
(128)
Misc6 nvarchar
(128)
Misc7 nvarchar
(128)
Misc8 nvarchar
(128)
Misc9 nvarchar
(128)
- 101 -
Data Sync 2023 Manual
Machine Name of physical machine that should cut the work order. This nvarchar
appears for reference only if it was set in the original work order, it (128)
is not used to match to any ProNest machines.
CADFileName Full path to source CAD file. If using library parts for work orders, nvarchar
this will be NULL. (255)
2 = Cancelled
- 102 -
Data Sync 2023 Manual
1. Open Data Sync Manager (Start > All Programs > Hypertherm CAM > Data Sync Manager).
2. Click Manage Tasks.
3. On the left pane, select the task from the list.
4. Click Run. The Run Task dialog will open.
- 103 -
Data Sync 2023 Manual
Syntax
Usage: DataSyncCmd [-w] [-d data_file_name] task_name
Options:
-d data_file_name
Full path to the data file that will be imported.
-w
Wait until the task is completed before continuing.
Example
Let's say that you want to import a source data file called "Extra ERP Plates.csv" that conforms to the data format
specified in an existing task called "ERP Plates", but that file isn't referenced in the task. Instead of modifying the
task or creating a duplicate task, you can use a batch file to run the task with a different source data file as fol-
lows:
- 104 -
Data Sync 2023 Manual
- 105 -
Data Sync 2023 Manual
LOGGING
Data Sync will automatically create and save log files in the following directory:
C:\ProgramData\Hypertherm CAM\Data Sync\Log
A single log file will be created for each day Data Sync is running tasks. This file contains a record of Data Sync
import activity, including date and time, task name, and source data file path for each time a task is run. It also doc-
uments warnings and errors that may have occurred while executing a task.
Log files are stored in XML format.
Accessing logs
In the event of an error, an email will be sent to the email addresses listed on the Data Sync Task - Email Options
tab. The email will contain a description of the error, as well as a link to more comprehensive log file data, which
can be viewed in HTML format.
The generic format for viewing HTML logs is as follows:
http://hostPC:port/log?date=MM-DD-YYYY
l On the Start menu, go to All Programs > Hypertherm CAM > Data Sync, then select Data Sync Log.
-or-
l Run DataSyncLog.exe
The current day's log will open in your default Internet browser.
- 106 -
Data Sync 2023 Manual
You can also view the current day's log by typing the following into your browser:
http://hostPC:port/log?date
You must be able to access the host on the network in order to view HTML Data Sync logs.
- 107 -
Data Sync 2023 Manual
DEFAULT FOLDERS
By default, Data Sync files are stored in the following folders:
64-bit OS
Moved source files .csv, .xls, .xlsx, .xml C:\ProgramData\Hypertherm CAM\Data Sync\MovedFiles
32-bit OS
Moved source files .csv, .xls, .xlsx, .xml C:\ProgramData\Hypertherm CAM\Data Sync\MovedFiles
- 108 -
Data Sync 2023 Manual
For a typical Data Sync installation, you can simply copy the URL.ini file from the appropriate installation of
ProNest over to the Data Sync ProgramData directory (specified above).
URL=http://host:port/api
[ProNest Server]
URL=http://localhost:1480/api
In this example:
host = localhost. This tells Data Sync to look for ProNest Server on the local machine.
port = 1480. This is the port on the local machine that ProNest Server is using.
1. Replace the text localhost with the name of the server / PC to which you want to connect. You can also use
the IP address of that machine (of it is static).
2. Replace the text 1480 with the port on that machine that is being used by ProNest Server.
Example
Suppose ProNest Server is installed on a server on your LAN called "D1Server" and it is using the default port of
1480 on that machine. To connect ProNest or Data Sync to that database, you'd edit the URL.ini file as follows:
[ProNest Server]
- 109 -
Data Sync 2023 Manual
URL=http://D1Server:1480/api
- 110 -
Data Sync 2023 Manual
- 111 -
Data Sync 2023 Manual
ABOUT OPTIONS
l Options - General
l Options - Email (SMTP)
- 112 -
Data Sync 2023 Manual
OPTIONS - GENERAL
REGIONAL
Language
Set the display language for the Data Sync Manager, automated notification emails, and logging messages.
Host
The PC that is hosting the Data Sync Manager and running the Hypertherm CAM Data Sync Service.
Port
Numbered software port that the Hypertherm CAM Data Sync Service will use to exchange information. Enter an
open port or use the default.
Log level
If the connection is successful, you can set the log level as follows:
HINT
Hints, warnings, and errors will be included in the Data Sync activity logs.
WARNINGS
Warnings and errors will be included in the Data Sync activity logs.
ERRORS
Only errors will be included in the Data Sync activity logs.
Nest Cut
- 113 -
Data Sync 2023 Manual
When a nest's status changes to Complete in ProNest, the export task will be executed. Select this if you are
using export tasks.
- 114 -
Data Sync 2023 Manual
SMTP HOST
Host
The address of the Simple Mail Transfer Protocol (SMTP) host/server that will be used to send Data Sync status
emails.
Port
The communications endpoint associated with the SMTP Protocol (typically 25).
AUTHENTICATION
Use SSL
This option should be checked if Secured Sockets Layer (SSL) security should be used when sending emails.
User ID
The user name that will be used to access to the SMTP host.
Password
The password that will be used to access to SMTP host.
Message Options
You can set the Return address and name for notification emails. Setting this to an invalid address will prevent
autoreply or undeliverable messages from being sent to your inbox.
If left blank, the default address from the SMTP user will be used as the return address.
Test
- 115 -
Data Sync 2023 Manual
To test whether the email options that you entered are working correctly, enter an email address in the Recip-
ient box, then click Send Test Email.
- 116 -
Index: ADO – Trigger
INDEX Grids
filter 43
H
A
History 84, 87
ADO 28
Hypertherm CAM Data Sync service 24
Aliases 19
I
Auto-close items 28
Inner Join 61
B
Installation 5
Batch file 103
Integer 39
Boolean 39
L
C
Logging 106
Columns 39, 45
M
Command 5
Material 19
Command line 5, 103
Metric 49
Connection string 36
MMKS 49
Could not connect to ProNest Server 109
Move source files before processing 28
CSV 28, 31
N
Custom Filter 43
Network 5
D
O
Data format 39
Options 115
Data Mapping 45
P
Data Source 30
plateunits 49
Data Sync Task
ProNest data format 40
columns 39
Q
data mapping 45
Query 61, 63
data source 30
R
general 28
Raw data 30
Data type 39
Regional Formatting 33
Datetime 39
S
regional settings 33
Separator 31
Decimal separator 33
Service 24
Delimiter 31
Setup email 115
E
Skip first rows 31
Encoding 32, 81
SMTP 115
ERP/MRP Columns 39, 45
Source type 28
Expressions 46
SSL 115
F
String 39
File name (or mask) 28
T
Filter 43
Table (ADO) 36
apply custom 43
Target 28
First row contains headers 31
Task name 28, 58
Float 39
Tasks 24-25
Functions 46
Thousand separator 33
G
Trigger 29, 58
General 28
- 117 -
Index: Units – XSLT
Units 49
URL.ini 5, 109
Variables 45
XLS 28
XLSX 28
XML 37
XPATH 37
XSLT 37
- 118 -
© 2022 Hypertherm Inc. All rights reserved.
Hypertherm and Data Sync are trademarks of Hypertherm, Inc. and may be registered in the United States and/or
other countries. Microsoft, Windows, and Internet Explorer are registered trademarks of Microsoft Corporation in
the United States and/or other countries. Adobe and Adobe Reader are either registered trademarks or trade-
marks of Adobe Systems Incorporated in the United States and/or other countries. HASP is a registered trademark
of SafeNet, Inc. in the United States and/or other countries.
www.hypertherm.com
- 119 -