SmartParts is a tool to generate “logical” ID numbering sequences, where an ID is made of up one or more segments, and there is a list of pre-defined codes for each Segment.
SmartParts can generate:
- Item Numbers
- Customer Numbers
- Vendor ID
- WennSoft Job Numbers
It also integrates with WilloWare’s Item Copy to create to Item Numbers as part of the copy process.
“Intelligent” or “Logical” ID numbering is an approach to generating IDs where a substantial amount of descriptive information about an item is coded into the ID itself. This is commonly used for Item Number, where an Item Number is built using a series of pre-defined codes. For example, a numbering sequence for metals might include segments for:
- Material Type Code: the type of metal, such as copper or steel
- Form Code: such as flat stock, round, bar, sheet.
- Length Code
- Width or Diameter Code
The resulting Item Number might look like this: CU-RND-120-120
One segment in a SmartPart ID Mask can be an incrementing number. This can be used as part of a Smart ID, or to support Sequential ID generation.
Sequential ID generation is another approach to ID Numbering, where the ID number contains no identifying information. Lookups and Queries are used to find specific items based on information in the Item Description field, Item Class, or other descriptive fields on the Item Maintenance window.
Since Item Descriptions, Classes, User Defined fields, etc., can be changed or added to as needed, Sequential Numbering offers greater flexibility to adjust to unforeseen changes. For example, if a Smart ID is used for a Customer or Vendor, and the segments of the ID code some part of the Name, or perhaps the State, if the Customer or Vendor Name changes, or their location changes, the Smart ID no longer matches the actual Vendor or Customer.
A mixed method approach would use one or more coded segments that code for some broad attributes, plus an incrementing segment.
SmartParts Lookups provide a way to use SmartParts to “lookup” and ID by selecting codes for each segment in the Smart ID. This can be significantly easier and faster than trying to scroll through a large list of Item Numbers trying to find one that has the correct set of codes.
SmartParts Lookups are available in:
- Sales Transaction Entry
- Purchase Order Entry
- WennSoft Job Maintenance
Navigation: Tools >> Setup >> Manufacturing >> MFG PowerPack Setup
Mark the box next to “SmartParts*”. Double-click on “SmartParts*” to open the SmartParts Setup window.
SmartParts Setup is used to create an ID “Mask”. The Mask is a set of Segments, and Codes for each Segment. An example is provided below of creating a Mask for Item Numbers.
Mask Type: Item Number
Mask ID: Enter an ID for the Mask, such as “METALS”
Description: Enter a description for the Mask.
Auto-Create Item Description: When marked, the Item Description/Customer Name/Vendor Name will be populated automatically from the descriptions of the selected segments.
Position: position is the location of the segment of the Item Number from left to right. “1” is the first segment on the left. “2” will be next.
Segment ID: the name for the Segment. Some sample Segments and Codes are shown below.
Some example Segments for METALS could be:
- FL – Flat
- RD – Round
- SQ – Square
- WR – Wire
- AL – Aluminum
- BR – Brass
- CU – Copper
- FE – Iron
- ST – Steel
Segment Type: either LIST or INCREMENTING. Most segments will be List, as they will contain a list of Codes for the Segment. If you want to have each segment separated by a dash (or other character), add a separator segment (i.e. the Segment ID would be DASH, and would contain one code, “-“). As shown below, the Segment ID called DASH1 has one code (the dash), with no description. When a Mask is used to create an ID, the Code Description fields from each segment will be used to build the Item Description. If you use separator segments, leave the description blank, unless you want some kind of “separator” in the Item Description.
List Type segments that are marked as Required, and have only one Code, will default into the new ID without the user having to select them.
Each Segment ID must be unique. If you use separator segments, call them something like DASH1, DASH2, DASH3, and so on.
Example of Segment Codes for the Metals TYPE Segment
An Incrementing Segment is an integer that increments by one for each new ID generated. A Mask can have only one incrementing Segment, but it can be in position (i.e. it does not have to be in the last position). If the Segment Type is Incrementing, the Required box will be marked automatically, and it is not allowed to be Variable Length.
Make sure the Length is long enough to support all future needs. If the length is 2, you will only be able to generate 99 IDs with that mask. Set the starting value for the Incrementing Segment in the Segment Codes window:
The Code for an Incrementing Segment could begin with non-numeric characters. For example, AB00005 would also be a valid Incrementing Code. The AB section will NOT increment, but the numeric portion will.
Required: If marked, the user must make a selection for this Segment when creating a new Item Number. A new ID will be built out of whatever Codes are selected from the Segments. If a required Segment is present, a Code must always be used from that Segment. Incrementing Segments will be automatically set to Required, and cannot be unmarked. If a List Type segment has only one Code, and the Segment is required, the segment will automatically default into the ID without the user having to select it.
Var. Len. (Variable Length): one segment in the Mask can be defined as Variable Length. This will be a “free entry” field where the user can manually enter characters for the Item Number. If a variable length segment is included, it is best to put it as the last segment. SmartParts will know how long them Item Number is, the length of the entered segments, and how much is remaining for the variable length segment. An Incrementing Segment cannot be set as Variable Length.
Length: The number of characters to allow for the Segment. The maximum length of an Item Number is 30-characters, so the total of all Segments cannot exceed 30. When using an Incrementing Segment be sure to make the segment long enough to address all future IDs. For example, a length of 2 will only allow 99 IDs.
Copy: The Copy button opens a new window where you can select a Source Mask, and enter a name for a New Mask. It then copies all of the Segments and Codes to the New Mask. Use this utility when creating additional Masks that are similar.
Segment Codes: It is easier to enter all of the Segments first, then enter the Codes for each Segment. To enter Codes for a Segment, click into the row to which you want to Add/Edit Codes, then click the expansion button (circled below):
The Segment Maintenance window is used to add/edit/delete Codes for a Segment.
If the Segment Length is 4, all Codes must contain 4 characters. The Description for each code will be used to create the Item Description. Leave this blank if you do not want to populate the Item Description.
It is common to separate some portion of an ID with a character, such as a dash, between segments. To add a Dash create a Segment called DASH, make it required, 1-character long, and then enter a dash as the “code” in the Segment Maintenance window.
It is a good idea to try to arrange the segments from most general to more specific. In the example above for METALS, the first two Segments of TYPE and MATERIAL might be followed by more specific Segments for HARDNESS and DIMENSION.
You can create a new Mask by copying an existing Mask. From the SmartParts Setup window, if an existing Mask is displayed, save it, then click the COPY button.
Select the Source Mask, then enter a name for the New Mask.
Navigation: The SmartParts ID Generator is available from the Extras menu on:
- Item Maintenance
- Customer Maintenance
- Vendor Maintenance
- WennSoft Job Maintenance
Navigation: SmartParts Lookup is available from the Extras menu on:
- Sales Transactions Entry
- Sales Item Detail Entry
- Purchase Order Entry
- Purchasing Item Detail Entry
The SmartParts Lookup is assigned the hot-key CTRL+K.
Creating an Item Number
The steps below for creating an Item Number are identical to those for Customer Numbers, Vendor IDs, and WennSoft Job Numbers.
From Item Maintenance, select Additional >> SmartParts-New Item (or press CTRL+K)
Select a Mask ID from the Mask ID dropdown list. The bottom section of the window will fill with the Segments, and dropdown boxes for picking Codes. Any Segments which have one Code and are marked as Required will default in automatically, and the dropdown list will be disabled, such as the separator segments (the dashes) shown above.
The Codes defined for each Segment are provided in drop-down lists for each Segment. As you make selections for each Segment the Item Number and Item Description will be built and displayed in the fields at the top of the window.
Click Create to generate the ID. It will automatically populate back into the Item Maintenance window, along with the Description. NOTE: clear the Item Maintenance window BEFORE opening SmartParts. SmartParts will not generate the new ID if the Item Maintenance window is displaying a record.
The instructions below are for using SmartParts Item Lookup from Sales Transaction Entry. The Lookup will work the same way from the other SmartParts Lookup locations.
Click into a new line on Sales Transaction Entry, then press CTRL+K to open the SmartParts Item Lookup.
If a Mask contains an Incrementing Segment it will NOT be available in the Lookup.
Select a Code for each Segment, then click the SELECT button. SmartParts Lookup does not confirm whether or not the Item Number exists, it just returns the ID to Sales Transaction Entry.
If Sales has been set up to allow non-inventory items, it will accept any Item Number. If you create Sales Orders on the fly using non-inventory Items, SmartParts can be used to help ensure users create meaningful, consistent part numbers. If non-inventory items are not allowed, and an Item Number is generated that does not exist, GP will ask if you want to create it.