traverse knowledge base article data import...
TRANSCRIPT
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 2
This document describes the intended features and technology for TRAVERSE 11 as of December, 2018. Features
and technology are subject to change and there is no guarantee that any particular feature or technology
described in this presentation will be present in this or subsequent versions of TRAVERSE.
December 2018
©Copyright 2018 Open Systems Holdings Corp. All rights reserved. OPEN SYSTEMS and TRAVERSE are registered trademarks of Open Systems Holdings Corp. All other marks are trademarks or registered trademarks of their respective holders.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 3
Contents
Introduction ................................................................................................................................................................4
Overview .....................................................................................................................................................................4
Source File ..............................................................................................................................................................4
Import Layout Definition ........................................................................................................................................5
Import Map Definition ............................................................................................................................................7
Import Workflow – single level import ......................................................................................................................9
Import Workflow – multi-level import .................................................................................................................... 19
BOM Levels ...................................................................................................................................................... 19
CompoundData schema .................................................................................................................................. 21
Create Source file ............................................................................................................................................ 23
Create Import Layout Definition...................................................................................................................... 24
Create Import Map Definition ......................................................................................................................... 27
Import Mapped Data ....................................................................................................................................... 29
Import Workflow – item price import ..................................................................................................................... 31
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 4
Introduction
The import process allows you to bring data from a file created by another system into TRAVERSE. You can also
use the import process when you want to create or update a large number of files in TRAVERSE. You create a
framework for bringing data into TRAVERSE using the import definition functions.
Functions that have associated import processes include:
Accounts Payable Transactions
Accounts Receivable Transactions
Bank Reconciliation Cleared Transactions
Bank Reconciliation Transactions
Customer Relationship Management (CRM) Contacts
General Ledger Transactions
Inventory Physical Inventory counts
Inventory Item Prices
Manufacturing Bills of Material
Manufacturing Production Activity
Payroll Transactions
SO Transactions
Sales Order Customer Pricing
Overview
There are three tasks to complete before you can process any imports:
1. Create an ASCII (txt or csv) source file. When exporting data from another system, make sure the other
system exports the file in one of the formats listed: comma-delimited, comma-quote delimited, fixed-
length field, or fixed-length record.
2. Create an import layout definition using the function on the SM Company Setup menu. The import
layout definition describes the structure of the source file, and allows you to convert or extend
(translate) fields as necessary to ensure the data is imported correctly.
3. Create an import map definition. The import map definition allows you to associate fields from the
source file with properties (fields) available in an import assembly schema, which routes the source data
into the TRAVERSE database.
Source File
A common method of creating a source file such as a comma-delimited file is by using Microsoft Excel. This
allows you to easily view the data you will be importing. You also need to know what fields are available for
import on the TRAVERSE side. There is a detailed list of the available properties (i.e. fields) for each import
schema in the online help.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 5
The files from which you want to import data into TRAVERSE must be ASCII—plain text—files in one of these
formats:
Comma-delimited: Use this format when the fields in the file from which you are importing data are
separated by commas. This is the format used when saving an Excel spreadsheet as a .csv format file.
Comma-quote delimited: Use this format when fields are separated by commas, and each field is also
enclosed by quotation marks to allow for commas within the field’s contents, such as a city and state in
the same field, with a comma separating the two.
An example of this would be a single field for the city and state within an address, such as “Minneapolis,
MN.” Importing this data using only the comma-delimited format may result in field mismatches due to
the data being read as two fields due to the comma in the field’s contents, instead of one field. If this
field is imported using the comma-quote delimited format, it is read correctly as a single field.
Fixed-length field: Use this format when records are separated by a return character (CRLF) and the
fields within the records are specific lengths.
Fixed-length record: Use this format when all records in the file are the same width (allowed number of
characters) and the fields within the records are the same width.
An example of this format would be a file in which each record is 50 characters wide and contains five
fields, each of which are 10 characters wide. The records in this type of file would follow one another
end to end every 50 characters, instead of being separated by return characters.
Import Layout Definition
Before you start building your import layout definition and the import map definition, figure out how the source
file will be laid out by setting up the source file you will be importing before you design the layout definition to
match your source file.
The import layout definition defines the structure of the source file for TRAVERSE, and allows you to convert or
extend (translate) fields as necessary to ensure the data is imported correctly. When you create a new Import
Layout Definition, you also have an option to filter the source data, in case there are records you do not want to
import into TRAVERSE, saving extra maintenance later on.
The basic steps to create an import layout definition include the following:
1. Create a new layout ID and a description for the layout.
2. Select a file type that describes the plain-text source file. The most common file type is ‘Delimited’. If
you have a fixed width file (fixed-length fields or fixed-length records), select ‘Fixed Width’.
3. Enter the number of rows the system should skip before importing the data. Usually you will have a title
row for the columns. In this case you would enter ‘1’ to skip the first row.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 6
4. Select the field separator used in the source file to separate the fields. A comma is the most common
separator, but if your source file uses quotation marks, tabs, or spaces to separate fields, select the
appropriate value.
5. Select the row separator used in the source file. The most common separator is the ‘CRLF’ (carriage
return line feed). Some text files may use only the carriage return (CR) or the line feed (LF), not both. If
you are using fixed-length records, use the ‘None’ option (no record separator is needed because each
record is the same length).
6. Select the text qualifier that is used when a field separator occurs within a field. For example, if a
comma is used as the field separator, and the city and state are in a single field separated by a comma
within the field, the text qualifier—most commonly quotes—is placed around the field value to ensure
the value is considered one field rather than two.
7. You have the option to either enter the path and filename where the source file is located, or browse to
the source file. Although you are not required to enter a filename until the actual import, by doing so at
this point you can take advantage of the Get Fields function, which directs the system to read the
column names from the source file and fill in the detail grid. This saves you time entering the column
names.
Note 1: The Get Fields function will only work if the first row of the source file contains column
headings.
Note 2: If you do not have a path and filename selected, enter the column names from the source file
into the detail grid with a data Type of ‘RawText’.
Note 3: All the fields, including numeric or date fields, will be imported as a data type of ‘RawText’.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 7
8. The column width value will be set to ‘0’ unless it is a fixed-length source file. Then the length of the
fields will appear. You can adjust the width value of the fields as needed.
9. You can enter a default value to be imported for fields that have no value in the source file. An example
of this would be ‘0’ as the default value for any records imported with no value in that field, as long as
the field is not a RawText field.
10. If the TRAVERSE destination field data type is not text (string), you must convert the source field from
one data type to another, such as from text to number, remove leading or trailing spaces from the
imported value, or pull only a portion of the imported value, among other things. You can view the
conversion functions available in the online help.
11. When you use a function to translate a value, you must set up a record for the translation function. In
the record for translation, enter a different name for the field, along with the data type the final field
should have. This is where the data type comes in. When we import those values, we need to convert
them from RAWTEXT to the appropriate data type. To do this, we create a new field and use the
CONVERT function for each value that must be translated.
12. If field values from a source have counterparts in the TRAVERSE system, but the values do not match,
enter “equivalent” values for those fields. For instance, if the source file uses letter-number designations
for bin numbers, and the TRAVERSE system uses different letter-numbers to designate the same bins,
you can have the import function replace those source values with their TRAVERSE equivalents, such as
“I8” in the source file is equivalent to “A-03” in TRAVERSE. The easiest way to do this is to use the
Extended Info button to open the AddExtentionForm window, where you can enter the value in the
source file in the Values From column, and the equivalent TRAVERSE value in the Values To column.
Click the OK button when finished.
13. Save the layout definition.
TIP: If you want to filter records from the source file during the import, such as excluding certain bins or items,
or including only certain lots or locations, use the Filter field to create a data filter as you would for interactive
views.
Import Map Definition
The Import Map Definition matches the source file fields to the TRAVERSE destination file fields. This allows the
imported data to be stored in the correct location(s) in the system.
The import maps are based on TRAVERSE program components called assemblies. Some assemblies are
provided with the software, but you can also create custom assemblies for specific purposes.
The basic steps to create an import map definition include the following:
1. Create a new import map ID.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 8
2. Select a function ID for the map definition. Use the ‘Default’ option unless you are importing IN Item
Price (IN Pricing) or SO Customer Pricing (Pricing).
3. Enter a description for the import map.
4. Find the assembly to use for the import. The assemblies are located in the TRAVERSE directory.
Import Function
Assembly Class
AP Transactions
TRAVERSE.Import.APTransaction TRAVERSE.Import.AccountsPayable.TransactionImport
AR Transactions
TRAVERSE.Import.ARTransaction TRAVERSE.Import.AccountsReceivable.TransactionImport
Bank Rec Cleared Trans
TRAVERSE.Business.BankRec TRAVERSE.Business.BankRec.ClearedTransImport
Bank Rec Transactions
TRAVERSE.Business.BankRec TRAVERSE.Business.BankRec.TransactionImport
CRM Contacts TRAVERSE.Business.CRM TRAVERSE.Business.CRM.ContactImport
General Ledger Transactions
TRAVERSE.Business.GeneralLedger TRAVERSE.Business.GeneralLedger.TransactionImport
Physical Inventory
TRAVERSE.Business.PhysicalInventory TRAVERSE.Business.PhysicalCountImport
Inventory Item Pricing
TRAVERSE.Import.INItem TRAVERSE.Import.INItem.ItemPriceImport
MFG BOM TRAVERSE.Import.MfgBom TRAVERSE.Import.Manufacturing.AssemblyHeaderImport
MFG Production Activity
TRAVERSE. Import.MfgProduction TRAVERSE.Import.Manufacturing.ProductionActivityImport
Payroll Transactions
TRAVERSE.Business.PATransaction TRAVERSE.Business.Payroll.TimeTicketImport
Sales Order Transactions
TRAVERSE.Import.SOTransaction TRAVERSE.Import.SOTransaction.SOTransactionImport
Sales Order Customer Pricing
TRAVERS.Import.Pricing TRAVERSE.Import.Pricing.CustomerPricingImport
5. Once you select an assembly, select an available class to use for the import. Each class holds one or
more schemas that contain a list of properties available to receive imported data into a TRAVERSE file.
6. Select the applicable schema from the class, as there may be more than one schema available. A
detailed list of available properties (i.e. fields) for the import schema is in the online help.
7. Select a layout definition you created for the import.
8. Expand the properties grid of the schema by clicking on the plus sign. This is where you will map the
TRAVERSE fields to the source file fields. NOTE: You do not have to use all the fields listed in the
Property drop-down list. There may also be fields in the layout that you do not use for the import.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 9
9. Select a schema property (field), and then select the corresponding layout field. Repeat the process until
you have selected all the fields you want to import from the source file.
TIP: The words ‘property’ and ‘field’ are used interchangeably. Due to the labeling of each on the Import
Map Definition screen, ‘property’ refers to the TRAVERSE fields receiving the data, and ‘field’ refers to
the source fields sending the data.
10. Save the import map definition.
Import Workflow – single level import
For this portion of the tutorial, we will walk through a sample single-level import, in this case for physical
inventory counts. Because we are conducting an import of physical inventory counts for our example, make sure
you follow the physical inventory process up to the point of count entry. Then proceed with the import.
For physical inventory counts, the important pieces of information include:
Item number (Item ID)
Inventory location (Location ID)
Bin location (if applicable)
Lot number (if applicable)
Serial number (if applicable)
Unit of measure (UOM)
Quantity counted
Additional information that may be found in a source file includes batch codes and tag numbers.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 10
Review your source file data. This is a sample source file in Excel.
Notice the column headers. Also notice there are no commas within cells. Each column represents a field, and
each row represents an individual record.
To create a plain text file we can import into TRAVERSE, save the Excel file as a comma-separated file (.csv).
Select the file type from the Save as type drop-down list.
NOTE: If there are commas within any cells, Excel should put quotation marks around the field values in the .CSV
file to indicate that the comma is within a field. Otherwise the single field with a comma will be considered two
fields.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 11
To view the source file as it will be imported, open the .csv file with Notepad. The column headers will be the
first row of the text file.
As a review of the fields available for import on the TRAVERSE side, review the detailed list of available
properties (i.e. fields) for the physical inventory counts import schema in the online help.
Property Data Type Think of Type as
BatchId nvarchar Text
ItemId nvarchar Text
LocId nvarchar Text
LotNumber nvarchar Text
SerialNumber nvarchar Text
ExtLocAId (BinNum) nvarchar Text
ExtLocBId nvarchar Text
CountedUOM nvarchar Text
CountedUOMConvFactor pDec Number
QtyCounted pDec Number
TagNum int Number
VerifyYn bit Number
Compare your source file to the list of available properties. This allows you to review the source information and
what property it relates to. This also lets you know what fields you may have to convert to a different data type
before they will be imported.
Next you will create a new import layout definition. If necessary, you can reference page 5 for additional
information about the import layout definition.
Open the Import Layout Definition screen from the SM Company Setup menu.
1. Create a new layout ID using the New Record button on the toolbar and enter a Layout ID into the field.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 12
2. Enter a Description for the layout.
3. Select a File Type from the drop-down list. The most common type is ‘Delimited’.
4. In the Skip Rows field, enter the number of rows the system should skip before importing the data. If
you have a title row for the columns, enter ‘1’ to skip the first row.
5. In the Field Separator drop-down list, select the field separator used in the source file to separate the
fields. The most common separator is a comma.
6. Select the row separator used in the source file from the Row Separator drop-down list. The most
common separator is the ‘CRLF’ (carriage return line feed).
7. Select a Text Qualifier from the drop-down list. The most common text qualifier is quotes.
8. In the Filename field, enter the path and filename where the source file is located, or use the Browse
button to navigate to the source file. Remember, the filename is not required at this point, but it allows
you to utilize the Get Fields function to read the source file fields into the detail grid.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 13
9. If you have the path and filename selected, you can use the Get Fields button to have the system read
the column names from the source file and fill in the detail grid. Notice all fields have a Type of
‘RawText’. If you do not select a path and filename, enter the column names from the source file into
the detail grid with a data Type of ‘RawText’. Note: Use RawText because all data is imported as text
data.
10. The Width column will be set to ‘0’ unless it is a fixed-length source file. Then the length of the fields will
appear. Adjust the width value of the fields as needed.
11. To import a default value for fields that have no value in the source file, enter the default value in the
Value column. Note: The Value column determines the content of any non-RawText column, as well as
holding functions that convert a value from one data type to another, remove leading or trailing spaces
from the imported value, or pull only a portion of the imported value, among other things.
12. When you use a function to translate (convert) a value, you must set up a new record for the translation
function. In the record for translation, enter a different name in the Description with the data type the
final field should have. This is where the data type comes in. Review the table listing data types on page
11.
In this example, the ‘QtyCounted’ and the ‘VerifyYn’ properties in TRAVERSE have data types of
‘Number’. When we import those values, we need to convert them from RAWTEXT to NUMBER. To do
this, we create a new field for each property and use the CONVERT function.
13. If field values from a source have counterparts in the TRAVERSE system, but the values do not match,
use the Extended field to enter ‘equivalent’ values. Use the Extended Info button to open the
AddExtentionForm window. Here you can enter the value in the source file in the Values From column,
and the equivalent system value in the Values To column. Click the OK button when finished.
14. If you want to filter records from the source file during the import, such as excluding certain bins or
items, or including only certain lots or locations, use the Filter field to create a data filter as you would
for interactive views.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 14
15. Use the Save button on the toolbar to save the layout definition. For this example, this is the import
layout definition for our import.
Next you will create a new import map definition. If necessary, you can reference page 7 for additional
information about the import map definition.
For this example, we will use the physical inventory count assembly provided with the software.
Open the Import Map Definition screen from the SM Company Setup menu.
1. Create a new import map definition using the New Record button on the toolbar and enter a Map ID
into the field.
2. Select a Function ID for the map definition. Select the ‘Default’ option.
3. Enter a Description for the import map definition.
4. Use the Browse button on the Assembly field to find the assembly to use for the import. The assemblies
are located in the TRAVERSE directory. Reference the table on page 8 for details.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 15
5. Once you select an assembly, the available class(es) will appear in the Class drop-down list. Select the
class to use for the import.
6. Select the applicable Schema ID from the drop-down list.
7. In the Layout ID drop-down list, select the layout definition you just created for the physical inventory
count import.
8. Click on the plus sign beside the Schema ID to expand the properties grid. This is where you will map the
TRAVERSE fields to the source file fields. Reminder: You do not have to use all the fields listed in the
Property drop-down list. There may also be fields in the layout that you do not use for the import.
9. Select a schema Property from the drop-down list. Select the corresponding Field. Repeat the process
until you have selected all the fields you want to import from the source file.
Note that the ‘Qty’ field is the converted field, not the original ‘Qty1’ field from the source file. That way
the quantity value imported into the ‘QtyCounted’ field matches the type of the ‘QtyCounted’ field.
10. Once you have mapped all the fields you want to import, Save the import map definition.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 16
Once you have the map definition created, you can import the data. Open the Import Mapped Data screen from
the SM Company Setup menu.
Select the map definition you want to import from the Map ID drop-down list.
1. Verify the File Name. If necessary, browse to the source file.
2. Use the Read Data button on the toolbar to view the data to be imported.
3. The column headings match the TRAVERSE fields into which you are importing data. If the values from
the source file don’t appear in the correct location, review the map definition and the layout definition
for accuracy.
4. Use the Verify Data button to check the data for errors. If the data has errors, those records will be
flagged.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 17
5. Each error is marked. The Error Text column lists the primary error. Hover the mouse over other flags to
see additional errors.
6. You can address errors in multiple ways:
a. If there are few errors, you can correct the errors directly in the verify grid. Once the error is
corrected, the flag will disappear.
If you correct errors directly in the grid, perform the Verify Data process to check the values
again.
b. If there are multiple errors, especially if they are all in the same column, you can go back to the
source file and address the errors. In our sample, the Item ID and the unit of measure are
missing from a number of records. Open the source file and make sure the item ID and Unit are
filled in for all records. Save the file. Close the source file (if the source file is open when
processing the import, the import will fail and return an error).
Once you have made corrections in the source file, use the Reset button to clear the screen in
the Import Mapped Data function. Choose the Map ID and File Name as before, then Read and
Verify the source file.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 18
Notice now how the verify grid is organized. Details of the records with the same part numbers
are shown in the Detail List available when you click the plus sign in the SeqNum column.
c. If there are errors in a particular field, and if you cannot correct the errors, you can choose not
to import that field. To remove a field from the import, go to the import map definition and
remove that field from the property-field grid.
7. Once you have addressed all the errors, use the Import Data button on the toolbar to import the data.
You will see a notification when the import is complete. Review the imported counts per the Physical
Inventory process.
WARNING: For this import, each time the Import Data button is used, the data is imported into the
system. The counted amounts will accumulate. If available, the Activity Log records errors only, and will
not show successful imports. The Activity Log is available for select import processes.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 19
Import Workflow – multi-level import
For this portion of the tutorial, we will import a bill of material (BOM) to demonstrate one method for
importing multi-level data. For our example, because we are conducting an import of a bill of material,
make sure the parent assembly and all component parts are set up in Inventory. Operations used on the
BOM also need to be set up in MFG-Routing before you import the BOM. Once these tasks are complete
you can proceed with the import.
For bills of material, the important pieces of information include:
Assembly number and revision
Effective from-thru dates
Lot size and unit of measure
Last updated date
Routing number(s)/ID(s)
Routing steps
Operation types
Operation IDs
Operation sequence (for components, etc)
Component ID(s)
Component inventory locations
Component units of measure
Usage type (per assembly, fixed quantity, or as needed)
Component quantity used per assembly
Detail (component) type (subassembly, stocked subassembly, material, or byproduct)
Additional information that may be found in a source file includes drawing numbers, specifics regarding
the various setup and run times, and assorted notes.
BOM Levels
A bill of material is arranged in a hierarchy, with the finished assembly at the top, and the various
routings and components below it. You can see this when you look at the MFG-BOM maintenance
screen.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 20
Keep this in mind when creating the source file for the import. For our example, we will import a BOM
for a painted cabinet. If the top-level assembly is M091418-1, our BOM could look something like this:
M091418-1
o PAINT7 (operation)
Components:
700130
820001
81200
700998
o ASSEMBLE7
700400
700119
700115
o GLUE47
7001111
o CUT7
7001112
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 21
CompoundData schema
The CompoundData schema for the MFG BOM import process holds the data for all levels of the BOM in
one schema. The properties are arranged as though you are starting at the General section of the BOM
maintenance screen and working your way down to the Routings section and the Components section.
NOTE: The codes for fields with values that are selected via a drop-down box on the maintenance screen
can be found in the detailed list of the available properties (i.e. fields) for each import schema in the
online help.
Review your source file data. This is the sample source file in Excel. Each column represents a field, and
each row represents an individual record.
‘Header’ section:
BOM_Id = Header Id, unique to the bill of material. Not visible on the BOM maintenance screen.
AssemblyNo = Assembly ID
RevNo = Revision
Descr = Description of assembly. Note that the assembly has been set up as an inventory item,
so the description is not necessary; it is already available through IN Item.
EffDateFrm1, EffDateTo1 = Effective From and Effective To. The ‘1’ at the end of the column
name reminds us that the column value will need to be converted from text (the source file
values are all text values) into a date value so it can be imported into the property, which is of
data type ‘datetime’.
DrwgNum = Drawing No
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 22
LotSize1 = Lot Size. The ‘1’ at the end of the column name indicates the column value will need
to be converted from text into a number so it can be imported into a property with the data
type ‘integer’.
Unit = lot unit of measure
LastUpdate = Last Updated. The value will need to be converted from text into a date so it can
be imported into a property with the data type ‘datetime’.
Instructions = Instructions
‘Routing’ section:
Note that if you view the Routing section on the BOM maintenance screen in detail, each field in the
detail view of the section is available to import. Also note, however, that each operation, if it exists, will
have that information set up in the MFG-Routing Operations maintenance screen.
Rtg = Routing ID, unique number for each routing (set of operations) that is a part of the
assembly. Not visible on the BOM maintenance screen.
RtgType = The type of routing, primary (1) or secondary (2).
RtgDescr = Routing description
OprType = Operation type, one of the following: Per Unit (0), Subcontract (1), Batch (2), Run
Rate (3).
OperID = Operation ID
‘Component’ section:
Note that if you view the Component section on the BOM maintenance screen in detail, each field in the
detail view of the section is available to import. Also note, however, that each component, if it exists,
will have that information set up in the IN Items maintenance screen.
Seq = Sequence number. Determines the order in which the components are listed.
CompID = Component ID
CompRev = Component Revision
LocID = Location ID
UOM = Unit of Measure
UseType = Usage Type, one of the following: Per Assembly (0), Fixed Quantity (1), As Needed (2).
Qty1 = Quantity. The ‘1’ at the end of the column name reminds us that the column value will
need to be converted from text into a number so it can be imported into a property with the
data type ‘decimal’.
Detailtype = Detail Type, one of the following: Subassembly (2), Stocked Subassembly (3),
Material (4), Byproduct (5).
CompDescr = Description. Each component will have that information set up in the IN Items
maintenance screen.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 23
NOTE: Notice the commas within the cells of column D. If there are commas within any cells, Excel
should put quotation marks around the field values in the .csv file to indicate that the comma is within a
field. Otherwise the single field with a comma will be considered two fields.
Create Source file
To create a plain text file we can import into TRAVERSE, save the Excel file as a comma-separated file
(.csv). Select the file type from the Save as type drop-down list.
To view the source file as it will be imported, open the .csv file with Notepad. The column headers will
be the first row of the text file.
Notice that the Descr field, which has the comma inside the field, has been saved with quotation marks
around the field value, ensuring the value will be imported as a single field.
You can review the detailed list of available properties (i.e. fields) available for import on the TRAVERSE
side for the MFG BOM import CompoundData schema in the online help.
Compare your source file to the list of available properties. This allows you to review the source
information and the property it relates to. This also lets you know what fields you may have to convert
to a different data type before they will be imported.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 24
Create Import Layout Definition
Next you will create a new import layout definition. If necessary, you can reference page 5 for additional
information about the import layout definition.
Open the Import Layout Definition screen from the SM Company Setup menu
1. Create a new layout ID using the New Record button on the toolbar and enter a Layout ID into
the field.
2. Enter a Description for the layout.
3. Select a File Type from the drop-down list. The most common type is ‘Delimited’.
4. In the Skip Rows field, enter the number of rows the system should skip before importing the
data. If you have a title row for the columns, enter ‘1’ to skip the first row.
5. In the Field Separator drop-down list, select the field separator used in the source file to
separate the fields. A comma is the most common separator.
6. Select the row separator used in the source file from the Row Separator drop-down list. The
most common separator is the ‘CRLF’ (carriage return line feed).
7. Select a Text Qualifier from the drop-down list. Text qualifiers are used when a field separator
occurs within a field, and the text qualifier—most commonly quotes—is placed around the field
value to ensure the value is considered one field rather than two.
16. In the Filename field, enter the path and filename where the source file is located, or use the
Browse button to navigate to the source file. Remember, the filename is not required at this
point, but it allows you to utilize the Get Fields function to read the source file fields into the
detail grid.
8. If you have the path and filename selected, you can use the Get Fields button to have the
system read the column names from the source file and fill in the detail grid. Notice all fields
have a Type of ‘RawText’. If you do not select a path and filename, enter the column names
from the source file into the detail grid with a data Type of ‘RawText’. Note: Use RawText
because all data is imported as text data.
9. The Width column will be set to ‘0’ unless you are importing a fixed-length source file. You can
adjust the width value of the fields as needed.
10. To import a default value for fields that have no value in the source file, enter the default value
in the Value column. Note: The Value column determines the content of any non-RAWTEXT
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 25
column, as well as holding functions that convert a value from one data type to another, remove
leading or trailing spaces from the imported value, or pull only a portion of the imported value,
among other things.
11. When you use a function to translate (convert) a value, you must set up a new record for the
translation function. In the record for translation, enter a different name in the Description with
the data type the final field should have. This is where the data type comes in. Review the table
listing data types on page 11.
In this example, the ‘LotSize’ and the ‘Qty’ properties have data types of ‘Number’. When we
import those values, we need to convert them from RAWTEXT to NUMBER. To do this, we create
a new field for each property and use the CONVERT function.
12. If field values from a source have counterparts in the TRAVERSE system, but the values do not
match, use the Extended field to enter “equivalent” values. Use the Extended Info button to
open the AddExtentionForm window, and enter the value in the source file into the Values From
column, and the equivalent TRAVERSE value into the Values To column. Click the OK button
when finished.
13. If you want to filter records from the source file during the import, such as excluding certain bins
or items, or including only certain lots or locations, use the Filter field to create a data filter as
you would for interactive views.
17. Use the Save button on the toolbar to save the layout definition. For this example, the import
layout definition for our import is on the next page.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 26
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 27
Create Import Map Definition
Next you will create a new import map definition. If necessary, you can reference page 7 for additional
information about the import map definition.
For this example, we will use the MFG BOM assembly provided with the software.
Open the Import Map Definition screen from the SM Company Setup menu.
1. Create a new import map definition using the New Record button on the toolbar and enter a
Map ID into the field.
2. Select a Function ID for the map definition. Select the ‘Default’ option.
3. Enter a Description for the map definition.
4. Use the Browse button on the Assembly field to find the assembly to use for the import. The
assemblies are located in the TRAVERSE directory. Reference the table on page 8 for details.
5. Once you select an assembly, the available class(es) will appear in the Class drop-down list.
Select the class to use for the import.
6. Select the CompundData Schema ID from the drop-down list.
7. In the Layout ID drop-down list, select the layout definition you just created for the MFG BOM
import.
8. Click on the plus sign beside the Schema ID to expand the properties grid. This is where you will
map the TRAVERSE fields to the source file fields. Remember, you do not have to use all the
fields listed in the Property drop-down list. There may also be fields in the layout that you do
not use for the import.
9. Select a schema Property from the drop-down list. Select the corresponding Field. Repeat the
process until you have selected all the fields you want to import from the source file.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 28
Note that the ‘EffDateFrm’ and ‘EffDateTo’ fields are the converted fields, not the original
‘EffDateFrm1’ and ‘EffDateTo1’ fields from the source file. That way the date values imported
match the data types of the ‘EffectiveDateFrom’ and ‘EffectiveDateThru’ fields. Note the other
fields that have been converted as well: Lot Size, Qty, Last Updated, RoutingID.
10. Once you have mapped all the fields you want to import, Save the import map definition.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 29
Import Mapped Data
Once you have the map definition created, you can import the data. Select the map definition you want
to import from the Map ID drop-down list.
1. Verify the File Name. If necessary, browse to the source file.
2. Use the Read Data button on the toolbar to view the data to be imported.
3. The column headings match the TRAVERSE fields into which you are importing data. If the values
from the source file don’t appear in the correct location, review the map definition and the
layout definition for accuracy. Use the Column Chooser to remove the columns you are not
importing from the display.
4. Notice the relationship between the Routing IDs, operations, and components.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 30
5. Use the Verify Data button to check the data for errors. If the data has errors, those records will
be flagged.
Notice the Assembly Routing List tab has 4 records—4 routings—listed. This indicates that the
import will correctly bring in 4 routings.
On the Assembly Detail List tab, the components are listed for each routing.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 31
6. Once you verify the data will be imported correctly, and there are no errors, use the Import
Data button on the toolbar to import the data. You will see a notification when the import is
complete.
7. Review the imported information via the MFG BOM maintenance screen.
Import Workflow – item price import
For this portion of the tutorial, we will import inventory item prices. For our example, we will conduct an
import of item prices using the Import button on the toolbar in the Items maintenance function.
IMPORTANT: Because there is a screen specifically for importing item pricing, it is not obvious that the
item pricing import process still requires you to set up an import layout definition for the item pricing
source file, as well as create an import map definition for item pricing before using the Import button on
the Items maintenance screen. You set the default import map for IN item pricing in the SM business
rules.
For IN item pricing, the important pieces of information include:
Item number (Item ID)
Inventory location (Location ID)
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 32
Unit of measure (UOM)
Price break ID
Average price
Minimum price
List price
Base price
Additional information that may be found in a source file includes currency ID (Global only) and custom
fields and tag numbers.
With the import of item pricing, you have the option to create new pricing if no pricing exists, update
pricing for only the pricing that currently exists, or both create new pricing and update existing pricing.
The item pricing import is able to copy pricing across all item locations, or calculate pricing for all units
of measure using the unit conversion factor(s) from the Item file.
If you view the Price Info tab on the Items maintenance screen, you will see the fields that hold the data
you can import: Item ID, Location, Unit of Measure (UOM), Qty Break ID, Average Price, Minimum Price,
List Price, and Base Price. Note the Base Unit of measure.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 33
The Item Pricing Import screen allows you to choose the options when importing pricing information.
The All Locations check box determines if the pricing will be imported to all locations in which
the item is set up.
The All Item Units check box allows you to import the pricing to all item units. If you import
pricing for the item’s base unit of measure, the import process will use the conversion factor(s)
to calculate the pricing for other units of measure.
You can select to create pricing records that do not exist, updating existing records, or both
updating existing records and creating new ones.
In our example, we will update the pricing for two different items:
Current:
Item: M712 Loc: MN0002 UOMs: OZ (base), PT, QT No prices Item: M732 Loc: CA0001, MN0002 UOMs: OZ (base), PT (MN0002 only), QT No prices
Our source file looks like this:
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 34
Next you will create a new import layout definition. If necessary, you can reference page 5 for additional
information about the import layout definition.
Open the Import Layout Definition screen from the SM Company Setup menu
1. Create a new layout ID using the New Record button on the toolbar and enter a Layout ID into
the field.
2. Enter a Description for the layout.
3. Select a File Type from the drop-down list. The most common type is ‘Delimited’.
4. In the Skip Rows field, enter the number of rows the system should skip before importing the
data. If you have a title row for the columns, enter ‘1’ to skip the first row.
5. In the Field Separator drop-down list, select the field separator used in the source file to
separate the fields. A comma is the most common separator.
6. Select the row separator used in the source file from the Row Separator drop-down list. The
most common separator is the ‘CRLF’ (carriage return line feed).
7. Select a Text Qualifier from the drop-down list. Text qualifiers are used when a field separator
occurs within a field. The text qualifier—most commonly quotes—is placed around the field
value to ensure the value is considered one field rather than two.
8. In the Filename field, enter the path and filename where the source file is located, or use the
Browse button to navigate to the source file. Remember, the filename is not required at this
point, but it allows you to utilize the Get Fields function to read the source file fields into the
detail grid.
9. If you have the path and filename selected, you can use the Get Fields button to have the
system read the column names from the source file and fill in the detail grid. Notice all fields
have a Type of ‘RawText’. If you do not select a path and filename, enter the column names
from the source file into the detail grid with a data Type of ‘RawText’. Note: Use RawText
because all data is imported as text data.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 35
10. The Width column will be set to ‘0’ unless it is a fixed-length source file. You can adjust the
width value of the fields as needed.
14. To import a default value for fields that have no value in the source file, enter the default value
in the Value column. Note: The Value column determines the content of any non-RAWTEXT
column, as well as holding functions that convert a value from one data type to another, remove
leading or trailing spaces from the imported value, or pull only a portion of the imported value,
among other things.
15. When you use a function to translate (convert) a value, you must set up a new record for the
translation function. In the record for translation, enter a different name in the Description with
the data type the final field should have. This is where the data type comes in. Review the table
listing data types on page 11.
In this example, the price fields have data types of ‘Number’. When we import those values, we
need to convert them from RAWTEXT to NUMBER. To do this, we create a new field and use the
CONVERT function.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 36
11. If you want to filter records from the source file during the import, such as excluding certain bins
or items, or including only certain lots or locations, use the Filter field to create a data filter as
you would for interactive views.
12. Use the Save button on the toolbar to save the layout definition. For this example, this is the
import layout definition for our import.
Next you will create a new import map definition. If necessary, you can reference page 7 for additional
information about the import map definition.
For this example, we will use the inventory item pricing assembly provided with the software.
Open the Import Map Definition screen from the SM Company Setup menu.
1. Create a new import map definition using the New Record button on the toolbar and enter a
Map ID into the field.
2. Select a Function ID for the map definition. We are importing item pricing, so select ‘IN Pricing’.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 37
3. Enter a Description for the import map definition.
4. Use the Browse button on the Assembly field to find the assembly to use for the import. The
assemblies are located in the TRAVERSE directory. Reference the table on page 8 for details.
5. Once you select an assembly, the available class(es) will appear in the Class drop-down list.
Select the class to use for the import.
6. Select the applicable Schema ID from the drop-down list.
7. In the Layout ID drop-down list, select the layout definition you just created for the inventory
item pricing import.
8. Click on the plus sign beside the Schema ID to expand the properties grid. This is where you will
map the TRAVERSE fields to the source file fields. Remember, you do not have to use all the
fields listed in the Property drop-down list. There may also be fields in the layout that you do
not use for the import.
9. Select a schema Property from the drop-down list. Select the corresponding Field. Repeat the
process until you have selected all the fields you want to import from the source file.
Note that the ‘AveragePrice’ field is the converted field, not the original ‘AvgPrice’ field from the
source file. That way the value imported into the ‘PriceAvg’ field matches the data type.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 38
10. Once you have mapped all the fields you want to import, Save the import map definition.
TIP: Use the SM Import Mapped Data function to read and verify the source file and check the validity of
the import layout and import map.
Once you have the map definition created, you can import the data. Before you can select the map
definition you just created in the Item Pricing Import screen, you must log out, then log back into
TRAVERSE.
Open the IN Items maintenance screen and use the Import button on the toolbar to open the Item
Pricing Import screen.
1. Select the map definition you want to import from the Map ID drop-down list.
2. Verify the File Name. If necessary, browse to the source file.
3. If you want to import the prices to all the inventory locations in which the items are set up, mark
the All Locations check box. For our example, we will leave this check box blank.
4. If you want the pricing to be applied to all of the items’ units of measure, mark the All Item
Units check box. For our example, we will mark this check box.
5. In the Option section, to create pricing records that do not currently exist, select the ‘Create
Only’ option. If you want to only update pricing records that do exist, select the ‘Update Only’
option. To create pricing records and update existing records, select ‘Both’. We will select to
update only existing records for our example.
6. To run the import process, use the Import Data button on the toolbar.
7. When the import process is complete, you will receive a notification. The Item Pricing Import
Log will also appear listing errors.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 39
Review and correct the errors listed. In our example:
Error: Invalid Item Location
The only location listed for item M712 is ‘MN0002’. The
import file lists an entry for location ‘CA0001’, which is not in
the item’s location list. Because we chose to update only,
and the location is not valid, the pricing was not imported.
This error can be corrected by selecting to create a new
pricing record and redoing the import. The location ‘CA0001’
will not be created by the import process for the item, but
the pricing will be updated for the existing location.
Error: Invalid for detail processing
The pricing is listed for the
UOM of ‘PT’. There is no
‘PT’ set up for the location
of ‘MN0002’. Because we
chose to update only, and
the unit is not valid, the
pricing was not imported.
This error can be corrected
by selecting to create a
new pricing record and
redoing the import.
Error: The minimum price must be less than base and list prices
The base price is lower than
it should be, causing the
minimum price to be higher,
which is invalid. This can be
corrected directly in the
source file.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 40
Let’s try again:
8. Mark the All Locations check box to import the prices to all the inventory locations. This should
correct the error involving missing locations.
9. If you want the pricing to be applied to all of the items’ units of measure, mark the All Item
Units check box. For our example, we will mark this check box.
10. In the Option section, to create pricing records that do not currently exist, select the ‘Both’
option to create pricing records and update existing records. This should correct the errors
involving missing locations and units of measure.
11. To run the import process, use the Import Data button on the toolbar.
12. When the import process is complete, you will receive a notification. The Item Pricing Import
Log will also appear listing errors. The log is now empty, meaning the import updated and
created pricing records as required.
We can check what the update did:
Because we selected to
affect all locations, the
import first updated prices
as listed in row 2 of the
source file. The next record
updated prices in location
CA0001 specifically, but
because we chose ‘All
Locations’, and the import
reads the source file in
sequence, the pricing in
location MN0002 was
updated to the values in
row 3.
TRAVERSE Knowledge Base Article Data Import Tutorial
Page 41
Because we selected to both create
and update pricing records, as well
as all units, the record for item M732
unit of PT was added. Also note that
the pricing reflects the last record in
sequence in the source file because
we chose to update and create
across ‘All Locations’.